[Asterisk-Users] SER vs STUND with Asterisk..

Olle E. Johansson oej at edvina.net
Thu Oct 16 13:17:44 MST 2003


Chris Albertson wrote:

> --- John Todd <jtodd at loligo.com> wrote:
> 
>>>WipeOut wrote:
>>>
>>>
>>>>One for the gurus..
>>>
>>>Obviously not for me, but I'll dare to give it a shot anyway ;-)
>>>
>>>
>>>>Anyway, I decided to go and have a quick read through the SER docs 
>>>>and in the section about NAT they say that the best way to address 
>>>>NAT is to use STUN or uPNP..
>>>
>>>STUN is helpful, but as I understand it analyzes the situation and
>>
>>reports
>>
>>>the configuration of a NAT. It doesn't help you keeping the NAT
>>
>>session open,
>>
>>>as SER module nathelper or the FWD/Jasomi solution.
>>>Check here http://www.voip-info.org/wiki-SER+module+nathelper
>>
>>[snip]
>>
>>You could do this with Asterisk via the existing "qualify=500" syntax
>>
>>or similar in sip.conf to keep a packet going between Asterisk and 
>>the SIP device every 45 seconds (or whatever you hacked the timer to 
>>use, if you don't like that value.)  This keeps the mapping open just
>>
>>fine for any NAT device I've ever seen.  It works fine with dynamic 
>>hosts, even behind NAT - I just triple-checked and it does do what I 
>>expected it to do.
>>
>>STUN is useful and works well for those clients that support it, but 
>>should not be a part of Asterisk at this time.  The NAT trick that 
>>Ciscos (and others) use to determine outside NAT address in the Via: 
>>header is almost always sufficient, and is already part of Asterisk's
>>
>>handling of registering agents.  All that is missing is the ability 
>>for the Asterisk server to implement one or both methods of NAT 
>>traversal for outbound REGISTER requests, and then (in an optional 
>>and slightly different functionality mode) to proxy all SIP requests 
>>outbound through some particular host for those sites that may choose
>>
>>an external method of handling SIP NAT translations.
>>
>>For anyone who wants further information as to Asterisk's use behind 
>>a NAT or firewall, pleaase check these two bugnotes:
>>
>>NAT trick: http://bugs.digium.com/bug_view_page.php?bug_id=0000104
>>Proxy:     http://bugs.digium.com/bug_view_page.php?bug_id=0000359
>>
>>
>>There continues to be a great deal of confusion about how Asterisk 
>>works with NATs using SIP.  It works quite well.  Your SIP client 
>>needs to have some method of understanding that it's behind a NAT, 
>>but pretty much any modern client written by someone with half a clue
>>
>>will do that.  STUN or the Via: header trick have worked in every 
>>situation that I've come across.  There are still some problems with 
>>NAT, but they are for the most part overblown - most of the problem 
>>lies in the confusing explanations and half-understood problems by 
>>SIP system administrators.
> 
> 
> 
> "Overblown?"  I've get to see one example of Asterisk placing
> and acepting SIP call through a NAT firewall.
> 
> Here s the problem:
> 
> I have an Asterisk server in back of a NAT
> fire wall and I want users to be able to dial a SIP number at
> fwd.pulver.com. by first dialing "97"
> 
> So in extension.conf
> I have something like this:
> exten => _97.,3,Dial(SIP/${EXTEN:2}@fwd.pulver.com,r)
> 
> What goes in sip.conf?
> 
> The problem I see is that the SER server at pulver.com complains
> about the 192.168.x.x address it is getting from me.
> 
> I know you CAN get SIP calls through my firewal because X-Lite
> can do it just fine.  But Asterisk can't, or I can't get it to.
> 
> I'm about ready to hack Asterisk so that it sends _all_ SIP
> requiests to some fixed, (set at compile time) IP address.
> I'll run SER at that address and have SER "mangle" the
> packets.
Chris,
Look in the bug report/feature request I submitted and John
referenced (see above). What you want is exactly what I have requested,
support for an outbound SIP proxy. If you're on the verge of doing it,
I will stand by for testing and applause!

What John stated was that Asterisk as a SIP server handles clients behind
a NAT well. You're problem is Asterisk as a SIP client behind a NAT,
a different problem that requires another solution.

I apologize if I've been unclear in this thread, but I've tried to
separate the two roles.

/Olle




More information about the asterisk-users mailing list