From 6ecaa764d35b4f53fe51c2cf117fbd14456914a8 Mon Sep 17 00:00:00 2001
From: David Vossel <dvossel@digium.com>
Date: Tue, 22 Dec 2009 21:53:46 +0000
Subject: [PATCH] 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
---
 channels/chan_iax2.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

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
-- 
GitLab