From: David Vossel Date: Tue, 22 Dec 2009 21:53:46 +0000 (+0000) Subject: fixes iax "can't compress subclass 4294967295" error X-Git-Tag: 11.0.0-beta1~3703 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ecaa764d35b4f53fe51c2cf117fbd14456914a8;p=thirdparty%2Fasterisk.git 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 --- diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 9c344cd333..ce32bbf0fc 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