[asterisk-dev] New codec support in Asterisk 10

Tilghman Lesher tilghman at meg.abyt.es
Fri Oct 14 13:10:02 CDT 2011


On Fri, Oct 14, 2011 at 12:28 PM, Simon Perreault
<simon.perreault at viagenie.ca> wrote:
> On 2011-10-14 13:15, Tilghman Lesher wrote:
>> On Fri, Oct 14, 2011 at 11:53 AM, Jason Parker <jparker at digium.com> wrote:
>>> In Asterisk 10, we've changed the way codecs are defined, to expand the number
>>> of codecs that we can support.  However, due to protocol limitations, many
>>> channel drivers (pretty much everything but chan_sip) can only support a limited
>>> number of codecs.  As an example, chan_iax2 uses a 32-bit bitfield on the wire,
>>> which means the codec list on each side can never change.
>>
>> One small correction:  chan_iax2 uses a 64-bit bitfield on the wire,
>> with approximately
>> 30 of those bits unallocated.  (Testlaw can be removed; it's just a
>> duplicate of ulaw.)
>
> (just trolling a little bit)
>
> So chan_iax2 doesn't follow the RFC?
>
>   While IAX is very effective, addressing many of today's
>   communications needs, it does have a few limitations.  For instance,
>   IAX uses a point-to-point codec negotiation mechanism that limits
>   extensibility because every IAX node in a call path must support
>   every used codec to some degree.  In addition, the codec definition
>   is controlled by an internally defined 32-bit mask, so the codecs
>   must be defined in the protocol, and the maximum number of
>   simultaneous codecs is, therefore, limited.
>
> http://tools.ietf.org/html/rfc5456#section-1.2

For interoperability reasons, chan_iax2 actually sends both a 32-bit
codec mask AND a 64-bit codec mask.  So in answer to your question,
yes, it's backwards-compatible.

-Tilghman



More information about the asterisk-dev mailing list