diff options
author | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-12-22 21:53:46 +0000 |
---|---|---|
committer | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-12-22 21:53:46 +0000 |
commit | 7f1f41f518e452e6470d1496118bbbfd0f36f752 (patch) | |
tree | 3b6578c2c8940830a8841020418f1fd0442da13e /channels/chan_iax2.c | |
parent | a845ce2e73ff2469fe8fb3aad489aaca11288459 (diff) |
fixes iax "can't compress subclass 4294967295" error
(closes issue #16456)
Reported by: dvossel
Tested by: dvossel
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@236144 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_iax2.c')
-rw-r--r-- | channels/chan_iax2.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 9c344cd33..ce32bbf0f 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -6248,10 +6248,15 @@ static int iax2_send(struct chan_iax2_pvt *pvt, struct ast_frame *f, unsigned in if (!transfer) pvt->aseqno = fr->iseqno; fh->type = fr->af.frametype & 0xFF; - if (fr->af.frametype == AST_FRAME_VIDEO) + + if (fr->af.frametype == AST_FRAME_VIDEO) { fh->csub = compress_subclass(fr->af.subclass.codec & ~0x1LL) | ((fr->af.subclass.codec & 0x1LL) << 6); - else + } else if (fr->af.frametype == AST_FRAME_VOICE) { fh->csub = compress_subclass(fr->af.subclass.codec); + } else { + fh->csub = compress_subclass(fr->af.subclass.integer); + } + if (transfer) { fr->dcallno = pvt->transfercallno; } else |