[asterisk-users] Asterisk not using common codec between (SIP) endpoints

Joshua C. Colp jcolp at digium.com
Thu Oct 3 09:24:06 CDT 2019

On Thu, Oct 3, 2019, at 11:10 AM, Andreas Wehrmann wrote:
> On 03.10.19 15:08, Administrator TOOTAI wrote:
> > Before calling the gatreway add
> >
> > same = n,set(SIP_CODEC=alaw)
> >
> > [...]
> >
> Hey there,
> that doesn't work as it seems to be implemented for chan_sip only;
> I'm using chan_pjsip; sorry if I didn't explain myself properly.
> Anyway, in my case that would not really be an acceptable solution anyway,
> because I need the called party to be able to pick from the range of 
> codecs presented to it
> because the codec chosen by the destination might change (my example is 
> a simplified version).
> I don't think putting the burden of worrying about audio codecs on the 
> dialplan writer is a good idea,
> since this should be dealt with automatically with respect to what is 
> configured and negotiated.
> This is also because in the systems I have to work with, the 'engineers' 
> usual provide the configuration (endpoints, NAT config and the like)
> while the technicians implement the dialplan (or the business logic so 
> to speak) according to customer needs.
> They (the technicians) usually don't know (much) about codecs or how the 
> channels techs work exactly...

In PJSIP there is the PJSIP_MEDIA_OFFER dialplan function[1] but ultimately codec negotiation is not written or implemented in the way you need. There are some hints provided internally for outgoing legs but the result is still ultimately independent. That is: Each leg is negotiated from Asterisk to the endpoint, not endpoint to endpoint via Asterisk. This works for the vast majority of users as they have media flowing through Asterisk (by choice or via use of features) and are fine with transcoding (generally using codecs which aren't that costly or low channel count).

Asterisk 16 has some of the foundational work to improve this through the implementation of streams but noone has worked on extending the codec negotiation support.

[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+17+Function_PJSIP_MEDIA_OFFER

Joshua C. Colp
Digium - A Sangoma Company | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - US
Check us out at: www.digium.com & www.asterisk.org

More information about the asterisk-users mailing list