[prev in list] [next in list] [prev in thread] [next in thread]
List: asterisk-dev
Subject: Re: [asterisk-dev] STUN support idea
From: David Vossel <dvossel () digium ! com>
Date: 2011-10-31 15:43:46
Message-ID: 1387900654.204062.1320075826797.JavaMail.root () zimbra
[Download RAW message or body]
----- Original Message -----
> From: "Ian Pilcher" <arequipeno@gmail.com>
> To: asterisk-dev@lists.digium.com
> Sent: Sunday, October 30, 2011 11:19:02 PM
> Subject: [asterisk-dev] STUN support idea
> I am one of many residential Asterisk users who have to deal with NAT
> and a dynamic IP address. I've been looking a res_stun_monitor.c and
> chan_sip.c, and I have an idea for a fairly straightforward (I think)
> enhancement.
>
> The basic idea is that res_stun_monitor.c would provide the new IP
> address as part of the AST_EVENT_NETWORK_CHANGE event that it creates
> when it detects a change. chan_sip.c would then update the externaddr
> before re-registering. (This seems like it would be a simple addition
> to network_change_event_sched_cb.)
>
> Is this as simple as it seems? Will I need to do any locking?
>
> The remaining challenge is to somehow figure out the external IP
> address
> at startup. I could add a separate STUN query to chan_sip, but that
> seems wasteful (not to mention racy). Better to have res_stun_monitor
> generate an event at startup, I think, and somehow defer any SIP
> registrations until that event is processed. Upon reflection, I'll
> also
> have to provide some way for consumers to distinguish a post-startup
> address change from the initial address; should be simple enough to do
> with an IE.
>
> chan_iax2 is the only other consumer of these events, and it doesn't
> have nearly the NAT-sensitivity that SIP does, right?
>
> What do people think of this approach? Are there any enormous
> obstacles
> of which I'm unaware?
>
> (Note that I specifically have no intention of dealing with port
> mapping. Anyone running Asterisk at home should be able to set up
> port forwarding rules in his or her "router".)
>
> Thanks!
>
Hey,
res_stun_monitor was primarily developed as a tool that would force registration \
refreshes anytime a network change occurred that could be detected through stun \
responses. This was for people using Asterisk behind a dynamic IP. The IP changes, \
and then because Asterisk only re-registers possibly once a day then calls are lost \
for hours. With stun monitor we can detect the change immediately and re-register \
early.
What you want to do is a new use case entirely, but I've heard quite a bit of people \
request this functionality. As long as we are explicitly setting the port mappings \
ourselves, and people understand this only resolves the external IP correctly in very \
specific use cases, then I think this would be a good enhancement that 90% of the \
people using the sip externip setting would benefit from.
This should be a new option in chan_sip that defaults to off. Something like, \
update_extern_addr_on_network_change_event = yes/no... or something shorter if you \
can think of it.
--
David Vossel
Digium, Inc. | Software Developer, Open Source Software
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: www.digium.com & www.asterisk.org
The_Boy_Wonder in #asterisk-dev
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic