Hello,

following situation.
I have a Kamailio (5.4) using rtpengine to loadbalance calls.

If a call from Alice comes in, Kamailio decides to send the call to Carrier B from Bob.
Bobs Phone is ringing and the carrier B send a 183 Session Progress with SDP and To-tag=abcd. The SDP has G722 as codec and port 1234.
A few moments later carrier B send a second 183 Session Progress with SDP and TO-tag=fghi. The SDP has G711 as codec and port 5678. This is done, to play some funky music as ringtone -.-
If Bob answers the call, carrier B sends a 200 OK WITHOUT SDP and TO-tag=abcd. So this should instruct our Kamailio to switch to the first G722 and port 1234.

But sadly, this is just not working as expected.

We tried to set the flags media-handover and port-latching for the rtpengine options and additionally set a to-tag when using rtpenging_manage.
But this doesn't solve the codec change, so we have only audio when Bob answers the call, but no ringtone-music. If we allow G711 only in the outgoing INVITE to Bob, we have also tha ringtone-muisic, because there is no codec-change.

Carrier B tells us, they are using a fork-mechanism.

Is there something we can do, to support the codec change in 183? Or enforce carrier B to send SDP in 200 OK? Or anything else?

Carrier B can not change anything in the ringtone-music-backend. They are stuck on G711.

Thanks!