[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