[SR-Users] Manage multiple RTP streams with different TO-tags (forking)

B. Tietz benjamin.tietz at berlin.de
Fri Aug 27 11:18:13 CEST 2021


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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20210827/98da4082/attachment.htm>

More information about the sr-users mailing list