[Serusers] NatHelper & Portaone RTP Proxy

Darren Sessions dsessions at ionosphere.net
Wed Dec 3 22:23:38 CET 2003


Hmm.. I'm having a hard time getting it to work.. Here is the configuration
I've got on my ser box.

# 
# $Id: ser.cfg,v 1.21 2003/06/04 13:47:36 jiri Exp $ 
# 
# simple quick-start config script 
# 
# ----------- global configuration parameters ------------------------ 
debug=7         # debug level (cmd line: -dddddddddd) 
fork=yes 
#log_stderror=no # (cmd line: -E) 

/* Uncomment these lines to enter debugging mode  
debug=7 
fork=no 
log_stderror=yes 
*/ 

check_via=no # (cmd. line: -v) 
dns=no           # (cmd. line: -r) 
rev_dns=no      # (cmd. line: -R) 
port=5060 
children=4 
fifo="/tmp/ser_fifo" 

alias=acme.dom 

# ------------------ module loading ---------------------------------- 

  
loadmodule "/usr/lib/ser/modules/nathelper.so" 
loadmodule "/usr/lib/ser/modules/textops.so" 
loadmodule "/usr/lib/ser/modules/sl.so" 
loadmodule "/usr/lib/ser/modules/tm.so" 
loadmodule "/usr/lib/ser/modules/rr.so" 
loadmodule "/usr/lib/ser/modules/maxfwd.so" 
loadmodule "/usr/lib/ser/modules/usrloc.so" 
loadmodule "/usr/lib/ser/modules/registrar.so" 

  
 # ----------------- setting module-specific parameters --------------- 
 # -- usrloc params -- 
 modparam("usrloc", "db_mode",   0) 


 # -- rr params -- 
 # add value to ;lr param to make some broken UAs happy 
 modparam("rr", "enable_full_lr", 1) 

 # -------------------------  request routing logic ------------------- 

 # main routing logic 

 route{ 

# initial sanity checks -- messages with 
# max_forwards==0, or excessively long requests 

	if (!mf_process_maxfwd_header("10")) { 
		sl_send_reply("483","Too Many Hops"); 
		break; 
	}; 

	if ( msg:len > max_len ) { 
		sl_send_reply("513", "Message too big"); 
		break; 
	}; 

# we record-route all messages -- to make sure that 
# subsequent messages will go through our proxy; that's 
# particularly good if upstream and downstream entities 
# use different transport protocol 

record_route(); 

# loose-route processing 

	if (loose_route()) { 
		t_relay(); 
		break; 
	}; 

# if the request is for other domain use UsrLoc 
# (in case, it does not work, use the following command 
# with proper names and addresses in it) 

	if (uri==myself) { 
		if (method=="REGISTER") { 
			save("location"); 
			break; 
		}; 

# native SIP destinations are handled using our USRLOC DB 

		if (!lookup("location")) { 
			sl_send_reply("404", "Not Found"); 
			break; 
		}; 
	}; 

#inserted by klaus 

	if (method=="INVITE") { 
		record_route(); 
		fix_nated_contact();
		force_rtp_proxy(); 
		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(); 
	}; 

} 

#inserted by klaus 
# all incoming replies for t_onrepli-ed transactions enter here 

onreply_route[1] { 
	if (status=~"[0-9][0-9]") 
		fix_nated_contact();
		force_rtp_proxy();		
} 



-----Original Message-----
From: TeleSIP [mailto:ricvil at telesip.net]
Sent: Wednesday, December 03, 2003 4:15 PM
To: Darren Sessions
Subject: Re: [Serusers] NatHelper & Portaone RTP Proxy


No...All you need to do is to compile it and the run it.

Regards,
Andres

----- Original Message ----- 
From: "Darren Sessions" <dsessions at ionosphere.net>
To: "TeleSIP" <ricvil at telesip.net>
Cc: <serusers at lists.iptel.org>
Sent: Wednesday, December 03, 2003 3:39 PM
Subject: RE: [Serusers] NatHelper & Portaone RTP Proxy


>
> Do I need to do anything special with rtpproxy?
>
> -----Original Message-----
> From: TeleSIP [mailto:ricvil at telesip.net]
> Sent: Wednesday, December 03, 2003 12:44 PM
> To: Darren Sessions
> Cc: serusers at lists.iptel.org
> Subject: Re: [Serusers] NatHelper & Portaone RTP Proxy
>
>
> Take a loot at the nathelper_rtp.cfg file under the modules/nathelper
> directory.   It contains the basics of what you need.
>
> The funcionality is basically determined by these lines:
>
>         if (method=="INVITE") {
>                 record_route();
>                 if (isflagset(1)) { # ATA ?
>                         force_rtp_proxy();
>                 };
>                 /* set up reply processing */
>                 t_on_reply("1");
>         };
> .
> .
> .
> onreply_route[1] {
>         if (status=~"1[0-9][0-9]" && search("Server: Cisco ATA.*"))
>                 fix_nated_contact();
>                 force_rtp_proxy();
> }
>
>
> ----- Original Message ----- 
> From: "Darren Sessions" <dsessions at ionosphere.net>
> To: "TeleSIP" <ricvil at telesip.net>
> Cc: <serusers at lists.iptel.org>
> Sent: Wednesday, December 03, 2003 12:20 PM
> Subject: RE: [Serusers] NatHelper & Portaone RTP Proxy
>
>
> > Hmmm.. You wouldn't by chance have a "scrubbed" version of your
> > configuration file I could look at would you? It would be most helpful.
> >
> > Thanks for everything,
> >
> >  - Darren
> >
> > -----Original Message-----
> > From: TeleSIP [mailto:ricvil at telesip.net]
> > Sent: Wednesday, December 03, 2003 12:18 PM
> > To: Darren Sessions
> > Cc: serusers at lists.iptel.org
> > Subject: Re: [Serusers] NatHelper & Portaone RTP Proxy
> >
> >
> > We have nathelper/rtpproxy/SER all on the same server.  The ser.cfg must
> be
> > configured to invoke the nathelper/rtproxy functions as needed.
> >
> > I cannot comment on SEMS since we don't use it.
> >
> > ----- Original Message ----- 
> > From: "Darren Sessions" <dsessions at ionosphere.net>
> > To: "TeleSIP" <ricvil at telesip.net>
> > Cc: <serusers at lists.iptel.org>
> > Sent: Wednesday, December 03, 2003 12:11 PM
> > Subject: RE: [Serusers] NatHelper & Portaone RTP Proxy
> >
> >
> > > My next questions is then, what configuration changes do I make to the
> > > nathelper server to make it forward requests made from the endpoints
to
> > the
> > > primary ser box? and how does voicemail come into play (using sems)?
> Does
> > > the nathelper server "know" about all the servers or simply does the
> > > signaling traffic and rtp traffic get routed through the nathelper
box?
> > >
> > > Thanks a ton for all the help!
> > >
> > >  - Darren
> > >
> > > -----Original Message-----
> > > From: TeleSIP [mailto:ricvil at telesip.net]
> > > Sent: Wednesday, December 03, 2003 10:46 AM
> > > To: Darren Sessions
> > > Cc: serusers at lists.iptel.org
> > > Subject: Re: [Serusers] NatHelper & Portaone RTP Proxy
> > >
> > >
> > > It works great on RedHat.  We have it running now for about 4 months
on
> > our
> > > production servers and it has never crashed
> > >
> > > ----- Original Message ----- 
> > > From: "Darren Sessions" <dsessions at ionosphere.net>
> > > To: "TeleSIP" <ricvil at telesip.net>
> > > Cc: <serusers at lists.iptel.org>
> > > Sent: Wednesday, December 03, 2003 10:16 AM
> > > Subject: RE: [Serusers] NatHelper & Portaone RTP Proxy
> > >
> > >
> > > > I'm starting over on a Redhat Linux box right now.
> > > >
> > > > I'll let you know how it goes..
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: TeleSIP [mailto:ricvil at telesip.net]
> > > > Sent: Wednesday, December 03, 2003 10:15 AM
> > > > To: Darren Sessions
> > > > Cc: serusers at lists.iptel.org
> > > > Subject: Re: [Serusers] NatHelper & Portaone RTP Proxy
> > > >
> > > >
> > > > Darren,
> > > >
> > > > 3 months ago I tried to get this to work on Solaris 8.  Maxim also
put
> > > some
> > > > time into it but I was never able to get it to compile.  If you have
> > > better
> > > > luck please let us all know.
> > > >
> > > > Thanks,
> > > > Andres.
> > > >
> > > > ----- Original Message ----- 
> > > > From: "Darren Sessions" <dsessions at ionosphere.net>
> > > > To: "Andrei Pelinescu-Onciul" <pelinescu-onciul at fokus.fraunhofer.de>
> > > > Cc: <serusers at lists.iptel.org>
> > > > Sent: Wednesday, December 03, 2003 9:40 AM
> > > > Subject: RE: [Serusers] NatHelper & Portaone RTP Proxy
> > > >
> > > >
> > > > > I am having problems compiling rtpproxy on a Sun Netra 1400t with
> > > Solaris
> > > > 9.
> > > > >
> > > > > root:/export/home/rtpproxy # make all
> > > > > cc  -o main.o -c main.c
> > > > > In file included from main.c:45:
> > > > > myqueue.h:40:23: sys/cdefs.h: No such file or directory
> > > > > main.c:51:17: err.h: No such file or directory
> > > > > main.c: In function `main':
> > > > > main.c:486: structure has no member named `sun_len'
> > > > > make: *** [main.o] Error 1
> > > > >
> > > > > I am new to this stuff, so everyone will have to bear with me.
> > > > >
> > > > > I can't seem to find cdefs.h or err.h. I did however throw the
> > > > Makefile.gnu
> > > > > up as Makefile and uncommented the section labeled "for Solaris".
> > > > >
> > > > > Any help would be appreciated! :)
> > > > >
> > > > > Thanks,
> > > > >
> > > > >  - Darren
> > > > >
> > > > > -----Original Message-----
> > > > > From: Andrei Pelinescu-Onciul
> > > > > [mailto:pelinescu-onciul at fokus.fraunhofer.de]
> > > > > Sent: Tuesday, December 02, 2003 5:36 PM
> > > > > To: Darren Sessions
> > > > > Cc: serusers at lists.iptel.org
> > > > > Subject: Re: [Serusers] NatHelper & Portaone RTP Proxy
> > > > >
> > > > >
> > > > > On Dec 02, 2003 at 17:10, Darren Sessions
<dsessions at ionosphere.net>
> > > > wrote:
> > > > > > Someone correct me if I'm wrong, but is the typical setup for
> > > Nathelper
> > > > > and
> > > > > > Portaone RTP proxy work on seperate servers with dual network
> cards?
> > > > >
> > > > > No. nathelper use unix sockets to communicate with rtprpoxy so
they
> > must
> > > > > be located on the same box (ser runing nathelper and rtproxy).
> > > > >
> > > > > Also it is better to run/configure them on only one interface (to
> > avoid
> > > > >  packets with different source address than the destination of the
> > > intial
> > > > >  packet going back to the nat).
> > > > >
> > > > > >then
> > > > > > talking to another SER box doing registrations and call routing?
> and
> > > the
> > > > > > Portaone RTP taking the voice packets?
> > > > >
> > > > >
> > > > > Andrei
> > > > >
> > > > > _______________________________________________
> > > > > Serusers mailing list
> > > > > serusers at lists.iptel.org
> > > > > http://lists.iptel.org/mailman/listinfo/serusers
> > > > >
> > > > >
> > > >
> >




More information about the sr-users mailing list