[asterisk-dev] [Code Review] 2660: Add IPv6 Support To chan_iax2

Matt Jordan reviewboard at asterisk.org
Mon Aug 5 10:37:44 CDT 2013


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


First, thanks for IPv6-ifying chan_iax2. It's been a long time coming, and I think *every* AstriDevCon we talk about it, try to make it a priority, and it never seems to quite get done. Or even started, really. So - thanks!

Olle mentioned on the asterisk-dev mailing list (http://lists.digium.com/pipermail/asterisk-dev/2013-July/061189.html) that this does suffer from a lack of support for the happy eyeballs RFC - see http://tools.ietf.org/html/rfc6555. I didn't see the branch he was referring to in his branch index (http://svn.asterisk.org/svn/asterisk/team/oej/00INDEX/branch-directory.txt) - but I could be missing it.

So, I'm not sure how much the lack of happy eyeball support impacts this work. I would hope that the management of the dual stack would occur at a lower layer than the chan_iax driver - having each of the channel drivers attempt to manage the IPv6/IPv4 fallback would get messy very quickly. At the same time, given that chan_iax tracks a peer based on its current address, there may be some ripple effects back up into chan_iax2. I'm not sure if this would have to change given Olle's patches.

Olle - what patches are you referring to? And can that work occur at a lower layer than the channel drivers?



/trunk/channels/chan_iax2.c
<https://reviewboard.asterisk.org/r/2660/#comment18372>

    While you're here, put a space between if and (!peer):
    
    if (!peer && realtime) {



/trunk/channels/chan_iax2.c
<https://reviewboard.asterisk.org/r/2660/#comment18373>

    I'm not sure if this matters, but this is a little bit different than the previous code.
    
    Given an address, ast_sockaddr_cmp_addr will compare the entire sin_addr/sin6_addr field between the two addresses; it will not check the sin_port/sin6_port.
    
    I'm not sure if the loss of the port comparison is important here or not. If not, feel free to close this issue - otherwise, a new "address/port" comparison function may be appropriate. 



/trunk/channels/chan_iax2.c
<https://reviewboard.asterisk.org/r/2660/#comment18374>

    Same address/port matching finding here.



/trunk/channels/chan_iax2.c
<https://reviewboard.asterisk.org/r/2660/#comment18376>

    Address/port comparison here as well



/trunk/channels/chan_iax2.c
<https://reviewboard.asterisk.org/r/2660/#comment18377>

    A few red blobs through here



/trunk/channels/chan_iax2.c
<https://reviewboard.asterisk.org/r/2660/#comment18378>

    Remove?



/trunk/channels/chan_iax2.c
<https://reviewboard.asterisk.org/r/2660/#comment18379>

    Check for the return of ast_parse_arg. Without PARSE_RANGE_DEFAULTS, a range error will not set the value to low/high and will return an error. If they provide an invalid port, we shouldn't set it on addr.



/trunk/channels/chan_iax2.c
<https://reviewboard.asterisk.org/r/2660/#comment18380>

    Remove



/trunk/channels/chan_iax2.c
<https://reviewboard.asterisk.org/r/2660/#comment18382>

    I'd throw some spaces between ADDR and PORT:
    
    PARSE_ADDR | PARSE_PORT_IGNORE


- Matt Jordan


On July 6, 2013, 1:54 a.m., Michael Young wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2660/
> -----------------------------------------------------------
> 
> (Updated July 6, 2013, 1:54 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-22025
>     https://issues.asterisk.org/jira/browse/ASTERISK-22025
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> This patch adds the ability to bind and communicate over IPv6 addresses using chan_iax2.
> 
> 
> Diffs
> -----
> 
>   /trunk/main/netsock.c 393737 
>   /trunk/main/acl.c 393737 
>   /trunk/include/asterisk/acl.h 393737 
>   /trunk/contrib/realtime/mysql/iaxfriends.sql 393737 
>   /trunk/channels/iax2/parser.c 393737 
>   /trunk/channels/iax2/include/parser.h 393737 
>   /trunk/channels/iax2/include/iax2.h 393737 
>   /trunk/channels/chan_iax2.c 393737 
>   /trunk/CHANGES 393737 
> 
> Diff: https://reviewboard.asterisk.org/r/2660/diff/
> 
> 
> Testing
> -------
> 
> Successfully made calls using iax2 over IPv6 between two dev machines.  SIP Softphone -> dev vm (iax2 ipv6) -> (iax2 ipv6) dev box -> SIP ITSP -> mobile phone
> 
> 
> Thanks,
> 
> Michael Young
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20130805/654d7149/attachment-0001.htm>


More information about the asterisk-dev mailing list