Hi,
I have exactly the same scenario; no NAT involved. Just trying to bridge between these two interfaces.
Now, to clarify better what I have done;
As I understand it, force_rtp_proxy / rtpproxy_offer needs to be used to inform RTP proxy that it will have to relay the packets.
So, that pretty much makes it necessary to use that call. As I understand it, you can't call both fix_nated_sdp and force_rtp_proxy, as the SDP will be mangled (two IP addresses, one after the other). However, I can't get the SDP rewritten properly without using fix_nated_sdp.
No matter how I call force_rtp_proxy, I can't specify my own IP address. It works as expected when using fix_nated_sdp though. Here's how I call it:
force_rtp_proxy("coe","10.252.1.8");
I've tried multiple variants of flags, c, co, o, coe, coi, i, no flags, etc etc, but no matter what I do, the public interface IP address does not change to the one supplied in the function, and remains the public IP address.
So, to summarize; I can change all the headers to be correct with the fix_nated_sdp function. When using that function, RTPProxy does not relay the RTP streams. When I use force_rtp_proxy / rtpproxy_offer, RTPProxy does indeed relay the streams, but does not alter the SDP IP address information to the required specifications.
Is there something that I'm missing in the usage of the force_rtp_proxy function, or is it not working as documented?
Best regards, Örn
2009/10/14 Alex Balashov abalashov@evaristesys.com:
Örn Arnarson wrote:
Oh, I forgot one thing;
I'm using fix_nated_sdp, as previously mentioned. I have a hunch that because I'm not using force_rtp_proxy/rtpproxy_offer it's not being relayed (a hunch, because I don't fully understand how rtpproxy works). Problem is though, I can't get the IP addresses correct by using rtpproxy_offer.
On behalf of Joe (same company) I will add that there is no NAT scenario here. Both the private and public network are directly routable from the rtpproxy box; there is no IP address oversubscription, and no reason to ignore ports or addresses in SDP and replace them with received parameters. This is not a far-end NAT traversal solution.
What is basically being asked here is how to bridge between two interfaces (internal, external) without NAT using rtpproxy, and if anyone can provide a canonical implementation or example.
We've got it running in bridge mode, e.g.
rtpproxy -F -s udp:10.x.x.x:5050 -l 10.x.x.x/89.y.y.y
... and basically, are just wondering how to get this to work on the Kamailio side using rtpproxy_offer()/rtpproxy_answer().
The RTP proxy machine is a dedicated host; the SIP proxies are virtual.
-- Alex Balashov - Principal Evariste Systems Web : http://www.evaristesys.com/ Tel : (+1) (678) 954-0670 Direct : (+1) (678) 954-0671