One way audio during outgoing calls

Hello, we are using an asterisk system which is running on version 18.8.0.

During some outgoing calls we are experiencing the issue of one-way audio. We can hear the callee, but the callee can not hear us.

We then took a capture of a flawed call and noticed that the issue seems to originate from a carrier-side codec switch. Our carrier is sending the 180 ringing SPD packet as g722, in which case our asterisk sends RTP as g722, but the following 200 OK SPD packet is sent as g711A from our carrier. Our asterisk does not seem to pick up on the codec switch and is still sending RTP as g722 to our carrier, thus the callee is not able to hear us. A screenshot of the flow sequence of the capture is attached for reference.

image

Is there a specific pjsip flag / parameter that we can change and allow asterisk to switch the codec?

You’d need to provide an actual full SIP trace and not just this snapshot, as well as the PJSIP configuration.

What, if you only offer the a-law codec?

Thank you for your quick response.

PJSIP-conf: rgi DataCloud
SIP-Trace: rgi DataCloud

This is our workaround right now, but we do not see this as the “optimal” solution, as this could lead to codec mismatch issues in the future, as g722 is often used.

You could try enabling the accept_multiple_sdp_answers option[1]. Do note per the option, it also needs to be enabled in the system section[2].

[1] asterisk/pjsip.conf.sample at master · asterisk/asterisk · GitHub
[2] asterisk/pjsip.conf.sample at master · asterisk/asterisk · GitHub

I doubt that g722 is used frequently in Germany, :). It would make more sense to support the special speech codecs that are used for mobile communication.

Supporting mobile phone codecs would only make sense if they reach the ITSP. If the ITSP has a traditional ISDN interface, they won’t.

Some ITSPs like the Telekomedians in Germany pass long the mobile phone codes. There’s even an Asterisk patch out there somewhere for some of these guys. I don’t know what the situation is in other countries as I have only Sipcapture/Homer servers (GitHub - sipcapture/homer: HOMER - 100% Open-Source SIP / VoIP / RTC Packet Capture & Monitoring) running in Germany (which allows to check these things easily).