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(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users