[asterisk-dev] [Code Review] res_stun_monitor module

Simon Perreault simon.perreault at viagenie.ca
Wed Aug 11 13:46:11 CDT 2010


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/854/#review2568
-----------------------------------------------------------



/trunk/res/res_stun_monitor.c
<https://reviewboard.asterisk.org/r/854/#comment5652>

    There is no need to use SO_REUSEADDR.



/trunk/res/res_stun_monitor.c
<https://reviewboard.asterisk.org/r/854/#comment5655>

    You should call connect() on the socket with the address of the STUN server. This will have two advantages:
    
    - It will ensure that you only receive replies from that server, without the need to check in user-space. Let the kernel do the job! ;)
    
    - It will allow other connected UDP sockets to share the same source address. It can be useful when running low on ports...


- Simon


On 2010-08-11 11:46:41, David Vossel wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/854/
> -----------------------------------------------------------
> 
> (Updated 2010-08-11 11:46:41)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> The res_stun_monitor module monitors the perceived external ip/port provided by a STUN server and sends out an event when that perceived ip/port changes in any way.  This patch adds chan_sip and chan_iax as listeners to this event.  Both of these channel drivers react to the event by regenerating all outbound registers in order to alert the endpoints being registered with to the new address location.  This feature's primary use case is when Asterisk is behind a NAT in which the external ip address is dynamic or the port mappings of the NAT device are subject to change.
> 
> I will update the CHANGES file before committing this.  That is not included within this review though.
> 
> 
> Diffs
> -----
> 
>   /trunk/channels/chan_iax2.c 281758 
>   /trunk/channels/chan_sip.c 281758 
>   /trunk/configs/iax.conf.sample 281758 
>   /trunk/configs/res_stun_monitor.conf.sample PRE-CREATION 
>   /trunk/configs/sip.conf.sample 281758 
>   /trunk/include/asterisk/event_defs.h 281758 
>   /trunk/res/res_stun_monitor.c PRE-CREATION 
> 
> Diff: https://reviewboard.asterisk.org/r/854/diff
> 
> 
> Testing
> -------
> 
> I tested all the res_stun_monitor.conf options to verify functionality.
> I tested the channel driver's event listening by triggering an address change and verifying registrations are sent via wireshark.
> 
> 
> Thanks,
> 
> David
> 
>




More information about the asterisk-dev mailing list