[asterisk-commits] dvossel: branch 1.6.0 r177698 - in /branches/1.6.0: channels/ include/asterisk/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Feb 20 14:27:45 CST 2009
Author: dvossel
Date: Fri Feb 20 14:27:45 2009
New Revision: 177698
URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=177698
Log:
Fixes issue with undefined audio codecs in chan_iax2
During iax2 call negotiation, supported codecs are passed in an Information Element containing a 2 byte field where each bit correlates to a specific codec. In 1.6 only audio codec bits 0-12 and 15 are defined, leaving bits 13-14 undefined. By default all bits are enabled unless specified otherwise. Since its a 2 byte field and 13-14 are not defined, these bits are never turned off. In trunk, bits 13-14 are defined, which means 1.6 is advertising support for codecs it does not have when talking to trunk. I fixed this by adding #define for undefined audio codec bits. These bits are then removed from iax2's full bandwidth capabilities.
(closes issue #14283)
Reported by: jcovert
Modified:
branches/1.6.0/channels/chan_iax2.c
branches/1.6.0/include/asterisk/frame.h
Modified: branches/1.6.0/channels/chan_iax2.c
URL: http://svn.digium.com/svn-view/asterisk/branches/1.6.0/channels/chan_iax2.c?view=diff&rev=177698&r1=177697&r2=177698
==============================================================================
--- branches/1.6.0/channels/chan_iax2.c (original)
+++ branches/1.6.0/channels/chan_iax2.c Fri Feb 20 14:27:45 2009
@@ -185,7 +185,7 @@
int (*iax2_regfunk)(const char *username, int onoff) = NULL;
/* Ethernet, etc */
-#define IAX_CAPABILITY_FULLBANDWIDTH 0xFFFF
+#define IAX_CAPABILITY_FULLBANDWIDTH (0xFFFF & ~AST_FORMAT_AUDIO_UNDEFINED)
/* T1, maybe ISDN */
#define IAX_CAPABILITY_MEDBANDWIDTH (IAX_CAPABILITY_FULLBANDWIDTH & \
~AST_FORMAT_SLINEAR & \
Modified: branches/1.6.0/include/asterisk/frame.h
URL: http://svn.digium.com/svn-view/asterisk/branches/1.6.0/include/asterisk/frame.h?view=diff&rev=177698&r1=177697&r2=177698
==============================================================================
--- branches/1.6.0/include/asterisk/frame.h (original)
+++ branches/1.6.0/include/asterisk/frame.h Fri Feb 20 14:27:45 2009
@@ -267,6 +267,8 @@
#define AST_FORMAT_G726 (1 << 11)
/*! G.722 */
#define AST_FORMAT_G722 (1 << 12)
+/*! Unsupported audio bits */
+#define AST_FORMAT_AUDIO_UNDEFINED ((1 << 13) | (1 << 14))
/*! Raw 16-bit Signed Linear (16000 Hz) PCM */
#define AST_FORMAT_SLINEAR16 (1 << 15)
/*! Maximum audio mask */
More information about the asterisk-commits
mailing list