[Kamailio-Devel] About usage of multiple RtpProxies

Iñaki Baz Castillo ibc at aliax.net
Thu Apr 16 21:38:01 CEST 2009

Hi, I wonder how to manage various RtpProxies. rtpproxy module already allows 
using various of them but AFAIK there is a limitation since there is no easy 
way to reuse the same rtpproxy when handling re-INVITE's, I mean:

- Initla INVITE arrives and our Kamailio invokes "force_rtpproxy()".

- rtpproxy module selects RtpProxy node 1 (random).

- 180/200 arrives, how to force the same RtpProxy? I expect that transaction 
data already contains the used node so it's applied to the reply.

- But later a re-INVITE (on hold) arrives. How to re-use the same RtpProxy? I 
don't like/want solutions based on From domain and so.

If I'm wrong in the above please tell me. If not, I'd like to propose/code a 
feature in rtpproxy module:

- When the initial INVITE arrives, we run "force_rtpproxy()" (I think there is 
now a new/other similar function). 

- After running this function, rtpproxy module sets a pseudo-variable with the 
id of the selected node (randomly), i.e:
     $rtpproxy_id => 3

- Then we can append a parameter to Record-Route headers:
     Record-Route: <sip:myip>;rtpproxy-node=3

- In this way, when receiving a re-INVITE we can inspect that parameter from 
Route header and invoke "force_rtpproxy" passing as parameter the value 3 (to 
force the usage of the third node).

Do you consider this a good idea? any suggestion?

BTW: I think that for SIP-Router there is a new RtpProxy project using the 
Kernel conntrack to manage sockets and connections (as MediaProxy 2 does). Is 
it true?  will it require a different rtpproxy module for SIP-Router?


Iñaki Baz Castillo <ibc at aliax.net>

More information about the Devel mailing list