[Serusers] rtpproxy but no nat translation needed

Bernie Hoeneisen bhoeneis at switch.ch
Wed Feb 18 18:18:04 CET 2004


Hi!

I have such a setup because in my scenario only the Media Proxy has the
rights to receive connections coming from the Internet. Direct traffic to
all other hosts (UAs) is blocked.

It might be that you have to insert one more line,
 i.e.  setflag(1)   (don't ask me why...:-) )

Below a cut-past from my testing configuration, which seems to work fine

----

[...]
        # force RTP-proxy
        if (method=="INVITE") {
               record_route();
               setflag(1);
               force_rtp_proxy();
               /* set up reply processing */
               t_on_reply("1");
        };

        # forward to current uri now; use stateful forwarding; that
        # works reliably even if we forward from TCP to UDP
        if (!t_relay()) {
                sl_reply_error();
        };

}

# RTP-proxy
# all incoming replies for t_onrepli-ed transactions enter here
onreply_route[1] {
      if (status=~"[12][0-9][0-9]")
               force_rtp_proxy();
}

---


Be prepared on the following possible issues:

- Clients, which do not support symetric media (sender port==receiver
  port) will probably not work. (Most of those anyway do not work behind
  NAT.)

- If you have more than one media (e.g. Audio and Video) in the same
  sesssion, only one media (the first m= line) is proxied correctly. The
  other media probably won't work (general issue).

- if there are two or more Media Proxies in a row in your session, you
  might end up in a deadlock situation, resulting in no media transmitted
  (general issue).


Have fun!

 T: Bernie


On Wed, 18 Feb 2004, CURRO_DOMINGUEZ wrote:

> Hello,
>
> thanks all the list for help me (and others) with nathelper and rtpproxy.
>
> I want to test rtpproxy on my network, but without nat translation. It
> means, udp streams have to go through my server.
>
> I'm not sure what functions from nathelper module I have to use. My idea
> is something like this:
>
> if (method=="INVITE"){
>           force_rtp_proxy();
>           t_on_reply("1");
> }
> ....
>
> onreply_route[1]{
>           force_rtp_proxy();
> }
>
> I don't know whether this code is enough, or I have to use another
> functions like fix_nated_contact() or fix_nated_sdp() to rewrite Contact
> an SDP headers.
>
> Thanks for your help.
>
>
>
>
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>




More information about the sr-users mailing list