Asterisk hangs up a G711A call when also receiving G729 RTP

Hello,
I’ve met a strange situation here when an Asterisk 16 instance, receive an incoming call from my ITSP.
The PJSIP trunk with this ITSP is configured with:
allow=!all,allow

When the INVITE is received, it includes a G711A offer which is accepted.
Then the G711A RTP flows in and out but for an unknown reason, a G729 RTP flow is also received.
This G729 flow uses the same IP and ports than the G711A one.

As soon as the first G729A packet is received , Asterisk terminates the call with:
No translator path: (ending codec is not valid)

According to me, I should not receive any G729A RTP in the first place (I opened a ticket for this), but as I’m currently receiving one, is there a way to have Asterisk simply ignoring the unexpected flow ?

I can (privately) share a capture file.

Best regards

Typo:
allow=!all,alaw

What version of Asterisk is in use?

Are you using 2 nodes one for signaling and one for rtp media ?

Asterisk 16.2.1 (Debian 10.8)

This was fixed in later versions[1].

[1] [ASTERISK-28139] RTP Stream Incorrect Payload Type Causes Asterisk To Drop Calls - Digium/Asterisk JIRA

Only a single node for both signalling and media

Yes upgrading to Bullseye’s Asterisk 16.16.1 solved it !
Thank you very much Josh for finding this !

For the record, for this call, I exactly got 2 G729 RTP packets from ITSP !
(one was enough to terminate call).

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