Hi Leonid,


as an idea how you can solve this problem you can take a look at the config of plusnet SBCOS (Kamailio and rtpengine based) 

They use an privat to public selector in a smart way.

The dispatcher use the attrs with socket parameter as selector (your routing problem solved) and the address module to select ids for selector of rtpengine ips. 

https://github.com/voiceboys/sbcOS/tree/master/SbcOS/configs/voice/kamailio


https://github.com/voiceboys/sbcOS/blob/master/DOC/TRUNKING_TRUNK

Cheers 
Karsten 


Leonid Fainshtein <leonid.fainshtein@xorcom.com> schrieb am Mi., 22. Apr. 2020, 17:18:
Hi,
My server has several external IP interfaces and one internal interface. For some calls I would like to handle RTP via Ext1<->Int interfaces and for other calls: via Ext2<->Int.
In order to achieve this,  I don't define the '-l' rtpproxy parameter, and depending on the call, I set the required IP address as a parameter of rtpproxy_manage(). 
I didn't succeed to get the desired result.
On my testbed, I have the following interfaces:
Ext1: 192.168.0.31
Ext2: 192.168.0.32
Int:     10.159.65.1

When I try to create Ext2<->Int (192.168.0.32<-> 10.159.65.1), the packets that accepted on the internal interface are sent out from the Ext1(192.168.0.31) instead of Ext2 (192.168.0.32). It looks like the decision about the source address is made based on the IP routing table information (?).
Also, I would like to have an advertised address for at least one external interface.

Is it achievable with just one instance of rtpproxy? Or, it is necessary to run two rtpproxies in the bridged mode wit configured advertize addresses?

Thank you in advance,
Leonid

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users