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

Michael Young reviewboard at asterisk.org
Wed Aug 28 17:42:52 CDT 2013



> On Aug. 5, 2013, 11:37 a.m., Matt Jordan wrote:
> > 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?
> >

Yes, it has been on my list of things I wanted to do (don't ask me why) when starting to help IPv6-ify parts of Asterisk.  I started it last year before or around when 11 was released.  Never could get back to debugging it and polishing it up.

I saw Olle's post and wasn't sure either which branch to look at.  I was kind of waiting for someone to respond like you did here.  My initial reaction was "Oh crap.  I hope that it doesn't have to be done in the channel driver.  That should be handled elsewhere."  From a quick look, it would seem that dnsmgr.c and acl.c would need to be changed and then the channel driver would need to be updated to work with those changes.  So, I personally feel it is out of the scope of this work but it is something that needs to be fixed.  I believe this is an overall issue that affects other parts of Asterisk and not just this channel driver.


> On Aug. 5, 2013, 11:37 a.m., Matt Jordan wrote:
> > /trunk/channels/chan_iax2.c, lines 1890-1894
> > <https://reviewboard.asterisk.org/r/2660/diff/1/?file=41166#file41166line1890>
> >
> >     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.

Good catch.  It is probably better to use ast_sockaddr_cmp since that will compare the two structures instead of just the address of those two structures.


- Michael


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


On July 5, 2013, 9:54 p.m., Michael Young wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/2660/
> -----------------------------------------------------------
> 
> (Updated July 5, 2013, 9:54 p.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/20130828/441bf2d2/attachment.htm>


More information about the asterisk-dev mailing list