Hi to all,
please could somevody help me with more complicated rtpproxy scenario? I still cannot understand how to make it working.
We have SBC based on kamailio 3.2.3. Everything seems to work until I want to translate all SDP messages by SBC IP address (for both sides). Moreover, I need to translate ipv4 to ipv6 and vice versa too.
I found some example script how to achieve ipv4 to ipv6 and vice versa and I am tryinf to use it. It is relatively easy to translate all RFC addresses to one public IP, but I need to translate even our public IPS into SBC IP.
I made some rtpproxy sets:
modparam("rtpproxy", "rtpproxy_sock", "1 == udp:127.0.0.1:7722") (EXTRA_OPTS="-l SBC_IP") for internal net to external
modparam("rtpproxy", "rtpproxy_sock", "2 == udp:127.0.0.1:7723") (EXTRA_OPTS="-l /SBC_IP -6 SBC_IP6") for ipv4 to ipv6
modparam("rtpproxy", "rtpproxy_sock", "3 == udp:127.0.0.1:7724") (EXTRA_OPTS="-l SBC_IP -6 /SBC_IP6") for ipv6 to ipv4
modparam("rtpproxy", "rtpproxy_sock", "4 == udp:127.0.0.1:7725") (EXTRA_OPTS="-l SBC_IP/SBC_IP) for external to internal
but I cannot make it working. Either there are problems with "incorrect port 0 in reply from rtp proxy" or SDP gets malformed because of more times rtpproxy_manage().
Please can you help me with some basic hint, where into routing logic put rtpproxy_manage() and set_rtpproxy_set() ? Moreover, how to check if rtpproxy was already forced?
I could not find any example of forcing RTP proxy for all calls for both sides. I need this because entire RTP traffic has to go across SBC. And my internal IPs are not private.
Thank you for any hint, Lukas Macura
Hi!
Some hints:
Do not try to put several RTP proxies in a row - only one instance per call should be used.
Consider this simple example (I do not know the details of your network): - internal LAN: IPv4 only - external: IPv4 + IPv6 - the SBC handles only int<->ext calls (no int<->int and no ext<->ext)
Then create 2 rtpproxy sets. rtpproxy's first interface is the internal, the second is the external: 1) IPv4(int)-IPv4(ext): rtpproxy -l int.ip.add.ress/ext.ip.add.ress [-6 addr1[/addr2]] 2) IPv4(int)-IPv6(ext): rtpproxy -l int.ip.add.ress -6 /ext.ipv6.add.ress
For requests from extern-v4 to intern use: set_rtp_proxy_set("1"); rtpproxy_manage("ei") and for the respective responses use: set_rtp_proxy_set("1"); rtpproxy_manage("ie")
For requests from intern to extern-v4 use: set_rtp_proxy_set("1"); rtpproxy_manage("ie") and for the respective responses use: set_rtp_proxy_set("1"); rtpproxy_manage("ei")
For requests from extern-v6 to intern use: set_rtp_proxy_set("2"); rtpproxy_manage("ei") and for the respective responses use: set_rtp_proxy_set("2"); rtpproxy_manage("ie")
For requests from intern to extern-v6 use: set_rtp_proxy_set("2"); rtpproxy_manage("ie") and for the respective responses use: set_rtp_proxy_set("2"); rtpproxy_manage("ei")
Of course you need some ways to find out if the target is IP4 or IP6 before calling set_rtp_proxy_set().
If you use IPv6 also internally, then add another proxy set with internal and external IPv6 address.
regards Klaus
On 23.05.2012 01:53, Lukas Macura wrote:
Hi to all,
please could somevody help me with more complicated rtpproxy scenario? I still cannot understand how to make it working.
We have SBC based on kamailio 3.2.3. Everything seems to work until I want to translate all SDP messages by SBC IP address (for both sides). Moreover, I need to translate ipv4 to ipv6 and vice versa too.
I found some example script how to achieve ipv4 to ipv6 and vice versa and I am tryinf to use it. It is relatively easy to translate all RFC addresses to one public IP, but I need to translate even our public IPS into SBC IP.
I made some rtpproxy sets:
modparam("rtpproxy", "rtpproxy_sock", "1 == udp:127.0.0.1:7722") (EXTRA_OPTS="-l SBC_IP") for internal net to external
modparam("rtpproxy", "rtpproxy_sock", "2 == udp:127.0.0.1:7723") (EXTRA_OPTS="-l /SBC_IP -6 SBC_IP6") for ipv4 to ipv6
modparam("rtpproxy", "rtpproxy_sock", "3 == udp:127.0.0.1:7724") (EXTRA_OPTS="-l SBC_IP -6 /SBC_IP6") for ipv6 to ipv4
modparam("rtpproxy", "rtpproxy_sock", "4 == udp:127.0.0.1:7725") (EXTRA_OPTS="-l SBC_IP/SBC_IP) for external to internal
but I cannot make it working. Either there are problems with "incorrect port 0 in reply from rtp proxy" or SDP gets malformed because of more times rtpproxy_manage().
Please can you help me with some basic hint, where into routing logic put rtpproxy_manage() and set_rtpproxy_set() ? Moreover, how to check if rtpproxy was already forced?
I could not find any example of forcing RTP proxy for all calls for both sides. I need this because entire RTP traffic has to go across SBC. And my internal IPs are not private.
Thank you for any hint, Lukas Macura
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users