I used examples/alg.cfg to set-up SER between two subnets (both private at this stage) and had the UA (end points) connected directly to SER machine, one to each interface. This all worked fine, but the problem I've found is that when I started putting UA onto other subnets I would loose the rtp packets. It seems rtpproxy uses one IP addresses and not both for sending rtp, when in bridge mode. This causes problems when the two subnets are non-routable except through SER and rtpproxy.
UA (10.0.10.212) ----- (10.0.10.1) Router (10.0.100.1) ---- (10.0.100.2) SER (10.0.11.2) ---- UA (10.0.11.150)
From packet captures I can see that UA 10.0.10.212 tries to send RTP packets to 10.0.11.2 which the router knows nothing about and doesn't route to 10.0.100.2, but the SIP packets seem to have the correct src and dest. I know I can put static routes in etc for the router. We hope to deploy this where the private IP address will be replaced by public ones, and there will be routers connected to one of SER machine's interface that we have no control over. Any ideas on how I can force rtpproxy to use 10.0.100.2 when going to 10.0.10.212 and still use 10.0.11.2 for 10.0.11.150 or is this limitation of rtpproxy ?
netstat when UA 10.0.11.150 calls UA 10.0.10.212: udp 0 0 10.0.11.2:8016 0.0.0.0:* 19347/rtpproxy udp 0 0 10.0.11.2:8017 0.0.0.0:* 19347/rtpproxy udp 0 0 10.0.11.2:8018 0.0.0.0:* 19347/rtpproxy udp 0 0 10.0.11.2:8019 0.0.0.0:* 19347/rtpproxy udp 0 0 127.0.0.1:7000 0.0.0.0:* 19347/rtpproxy
I have also tried swapping the -l ip address around, but still lost audio in one direction on calls. rtpproxy -l 10.0.100.2 10.0.11.2 -s udp:127.0.0.1 7000
Thanks in advance