diff options
author | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-02-20 20:34:11 +0000 |
---|---|---|
committer | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-02-20 20:34:11 +0000 |
commit | f8e44a9881b33ce61e0e8992c6ca73fd70ad247c (patch) | |
tree | c5900d9cecb14c8decbb284765308a034d9c0fc9 /channels | |
parent | 524625a2643c949cdf1a0775dd6c4ff1e8b1c68c (diff) |
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 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
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@177700 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_iax2.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 83c33ee0b..9a65680c8 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -184,7 +184,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 & \ |