I’m using RTPproxy for the first time in bridged mode and I can’t get kamailio/rtpproxy to rewrite the c parameter to the correct public ip address of kamailio.


The setup is as following:


Carrier ------[fiber]------ Kamailio ---------[lan]--------- Freeswitch


Kamailio is listening on two interfaces:

1)      Private:

2)      Public: (since we have a dedicated fiber with our carrier, this is its public address)


Freeswitch is listening on:



Carrier is on:



I’ve started an rtpproxy instance on the Kamailio box using:

rtpproxy -s udp: -u rtpproxy rtpproxy -p /var/run/rtpproxy/rtpproxy.pid -l


I’ve played around with rtpproxy_manage() and the various flags (ie, ei), but I can’t get kamailio to set the correct public IP when the 200 OK has to be sent back to the carrier.

It always sets it to its private address, instead of its public address.


I’m using Kamailio 4.2 with sippy/rtpproxy 2.0.


Could someone please point me into the right direction?