From 5e2339d951823a04d755ef3d145b651751096277 Mon Sep 17 00:00:00 2001 From: dvossel Date: Fri, 20 Feb 2009 20:17:37 +0000 Subject: 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.4 only audio codec bits 0-12 are defined, leaving bits 13-15 undefined. By default all bits are enabled unless specified otherwise. Since its a 2 byte field and 13-15 are not defined, these bits are never turned off. In trunk, bits 13-15 are defined, which means 1.4 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 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@177696 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_iax2.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'channels/chan_iax2.c') diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 82afa17e9..25c227c75 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -175,7 +175,7 @@ static int defaultsockfd = -1; 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 & \ -- cgit v1.2.3