[Asterisk-Users] Known SIP - NAT Solutions?

Bill Jordan wjordan1 at optonline.net
Wed Mar 5 16:55:03 MST 2003


Matthew Farley wrote:

>     I have recently begun experimenting with Asterisk, and have been
>mightily impressed by its capabilities and flexibility. I have run
>across one problem, however, that challenges my ability to use it as a
>production system.
>
>     My Asterisk box has a public Internet IP, and works great with SIP
>(ATA 186) clients that also have public IP addresses. Unfortunately,
>most of the locations that I would like to put these SIP phones into are
>behind NAT. Calls placed from behind NAT are consistantly unsuccessful.
>I have read in several places that there are software solutions to this
>problem, though I have found no specific references to precisely what
>software to use, or how it should be configured to hand these calls off
>to Asterisk.
>
>     Has anyone on the list successfully overcome this limitation? If
>so, any advice you might be able to provide would be greatly
>appreciated.
>
>Thanks!
>
>Sincerely,
>Matthew Farley
>asterisk at wheatstate.net
>
>_______________________________________________
>Asterisk-Users mailing list
>Asterisk-Users at lists.digium.com
>http://lists.digium.com/mailman/listinfo/asterisk-users
>
>  
>
There are basically two ways of doing SIP-through-NAT.  The first is to 
configure the firewall to forward ports 5060 and 10000-10100 or whatever 
the IP phone uses for SIP and RTP.  Then configure the IP phone and set 
its NAT IP address.

The second way is to use a RTP Proxy.  The way vonage handles 
SIP-through-NAT is to have their SIP Proxy modify the sdp packets for 
the INVITE, 183, and 200 OK messages and put the RTP Proxy's IP address 
and ports into the sdp portion of the message.  That way each endpoint 
sends RTP packets to the RTP Proxy.  The RTP Proxy waits for the first 
packet from each endpoint, then it knows which port to send the RTP 
packets to.

There is an open source project siproxd at 
http://sf.net/projects/siproxd which has a basic implementation of RTP 
Proxy.

Bill





More information about the asterisk-users mailing list