summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorDavid Vossel <dvossel@digium.com>2009-12-22 21:53:46 +0000
committerDavid Vossel <dvossel@digium.com>2009-12-22 21:53:46 +0000
commit6ecaa764d35b4f53fe51c2cf117fbd14456914a8 (patch)
tree3b6578c2c8940830a8841020418f1fd0442da13e /channels
parentb74201f2b6bd8cfe724b576ac47417f0d9b0519d (diff)
fixes iax "can't compress subclass 4294967295" error
(closes issue #16456) Reported by: dvossel Tested by: dvossel git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@236144 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_iax2.c9
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