[Kamailio-Users] force_rtp_proxy() usage with IP that is not natively homed

Klaus Darilion klaus.mailinglists at pernau.at
Mon Nov 2 08:09:53 CET 2009


Hi Alex!

This sounds like you need fix_nated_sdp("2","4.4.4.4") after 
force_rtp_proxy(). With K1.5 this is not possible (probably a crash will 
happen as both functions mangle the SDP).

I 3.0 you could use msg_apply_changes() between the two function calls:
http://sip-router.org/docbook/sip-router/branch/master/modules_k/textops/textops.html#id2996272


regards
klaus

Alex Balashov schrieb:
> Greetings,
> 
> Please excuse the apparent silliness of this request, but I am curious 
>  if there is a combination of flags passed to force_rtp_proxy() and/or 
> rtpproxy invocation options that can allow force_rtp_proxy() to 
> substitute an SDP endpoint IP that is not a physical device/interface on 
> the host on which rtpproxy is running?
> 
> Let me explain further:
> 
> 1. I have a host with a single network interface that has private IP 
> 192.168.1.254.
> 
> 2. I am receiving an inbound call from outside the network, coming in on 
> a public IP address 4.4.4.4 that is a 1-to-1 DNAT/SNAT to 192.168.1.254.
> 
> 3. The call is forwarded to a PBX on the same LAN as the native 
> interface, e.g. 192.168.1.250.
> 
> 4. I would like to set up SDP in such a way that 192.168.1.250 
> sendsmedia to the 192.168.1.254 interface while the outside host 
> initiating the call sends its media to 4.4.4.4.
> 
> 
> Under normal circumstances in which both the public and private 
> interface were physically present on the machine, this would call for 
> the use of "bridging" mode (rtpproxy invoked with -l 
> 4.4.4.4/192.168.1.254 and use of "ie" and "ei" flags with 
> force_rtp_proxy() - we have previously established that 
> rtpproxy_offer/answer do not actually seem to work as advertised).
> 
> But is it possible to "bridge" to an IP that is not routed to the box?
> 
> I expected that force_rtp_proxy()'s second parameter - ip_address - 
> would do this.  However, this does not appear to let me override the SDP 
> endpoint with any IP address I want;  it seems that I am still limited 
> to choosing from those IPs physically available on the rtpproxy host.  I 
> would guess that this is because ip_address is passed as a parameter 
> through rtpproxy's control API socket and is validated by rtpproxy 
> itself, and if it is not a local existing address, is overridden with 
> one that is.
> 
> Is there a clever combination of flags that can be used to accomplish 
> this, or is it a lost cause?
> 
> Thanks!
> 



More information about the Users mailing list