Setting codec on originating (calling) channel with chan_pjsip (SIP_CODEC_INBOUND equivalent)

I finally got to look at chan_sip to chan_pjsip migration again. This time I’m having problems with influencing codec selection on originating (calling) channel. It looks like PJSIP_MEDIA_OFFER only works on outbound (called) channel and has no affect on calling channel. My experiments and function documentation (which says “Media and codec offerings to be set on an outbound SIP channel prior to dialing.”) seem to confirm it.
So PJSIP_MEDIA_OFFER is supposed to be (and it works) chan_pjsip’s equivalent of ${SIP_CODEC_OUTBOUND}, but what is chan_pjsip’s equivalent of ${SIP_CODEC_INBOUND}? Or, in other words, what are we supposed to do to influence calling channel codec selection from dialplan?
I’m working with asterisk 20.3.0.
Thank you,


Anyone? I have hard time to believe this is not possible with chan_pjsip.

Anyway, may I ask how people handle the following scenario which I imagine should be quite common:

  • I have internal extensions talk to each other using g722. so their codec setting (with chan_sip now) is “allow=g722,ulaw”
  • I have carriers trunks that handle ulaw only (allow=ulaw)
  • calls between internal extensions naturally happen over g722 as its their preferred codec
  • for external calls I now set SIP_CODEC_INBOUND=ulaw to influence codec selection on calling channel and the calls set up using ulaw end-to-end

Can somebody please advise how to achieve the same with chan_pjsip?


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.