aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_iax2.c
diff options
context:
space:
mode:
authordvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-12-22 21:53:46 +0000
committerdvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2009-12-22 21:53:46 +0000
commit7f1f41f518e452e6470d1496118bbbfd0f36f752 (patch)
tree3b6578c2c8940830a8841020418f1fd0442da13e /channels/chan_iax2.c
parenta845ce2e73ff2469fe8fb3aad489aaca11288459 (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.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