[SR-Users] Question about more complicated rtpproxy scenario

Klaus Darilion klaus.mailinglists at pernau.at
Thu May 24 09:30:05 CEST 2012


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



More information about the sr-users mailing list