[asterisk-commits] blanchet: branch blanchet/v6 r60448 -
/team/blanchet/v6/README-IPV6.txt
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Fri Apr 6 09:00:53 MST 2007
Author: blanchet
Date: Fri Apr 6 11:00:53 2007
New Revision: 60448
URL: http://svn.digium.com/view/asterisk?view=rev&rev=60448
Log:
initial cut on IPv6 port information
Added:
team/blanchet/v6/README-IPV6.txt (with props)
Added: team/blanchet/v6/README-IPV6.txt
URL: http://svn.digium.com/view/asterisk/team/blanchet/v6/README-IPV6.txt?view=auto&rev=60448
==============================================================================
--- team/blanchet/v6/README-IPV6.txt (added)
+++ team/blanchet/v6/README-IPV6.txt Fri Apr 6 11:00:53 2007
@@ -1,0 +1,43 @@
+IPv6 Port of Asterisk Information
+ Marc Blanchet, marc.blanchet at viagenie.ca
+ Copyright (C) 2007 Marc Blanchet
+ All modifications to Asterisk are distributed under the terms of the
+ GNU General Public License Version 2.
+
+Warning
+ This is preliminary code. No garantee, use at your own risk. Viagenie uses this code in our production Asterisk server, but it is a small office and we take the risks to improve the code. However, you might not want to use this code in production.
+
+Design considerations
+ The first and most important design consideration while starting this project is to minimize as much as possible the impact on the actual logic within asterisk, at almost any cost. As any choice, there are drawbacks....
+
+ The second consideration was to enable incremental code modification within asterisk. This was implemented so that one channel can be converted to IPv6 without having any change at all to other channels. As any choice, there are drawbacks....
+Because multiple channels share RTP and UDPTL code, the rtp udptl code was duplicated, then a different namespace was used (ast_virtp instead of ast_rtp, ast_viudptl instead of ast_udptl) so that converted channels will use the new routines, while other channels will see no impact. Drawback is that the duplicated code is not automatically synched by svn when changes are made to rtp code.
+
+The netsock library has been significantly updated to have IP version independent routines. This new library is extensively used in the IPv6-enabled chan_sip.
+All code is made IP version independent: it supports both IPv4 and IPv6 at the same time.
+
+Current status
+ v6 branch is synched from 1.4 branch. This is because the initial port was done on august 2006 trunk, which is pretty near to 1.4. Moreover, given the significant changes in the code to make it v6, 1.4 branch being more stable than trunk, there is more chance that, for now, the diffs will keep in sync on the "small" modificatiosn on the 1.4 branch than on the trunk. Later, merging back into trunk or start from scratch will have to be contemplated...
+ Currently, only chan_sip supports IPv6. RTP has been tested with IPv6, however, UDPTL (T.38) has not been tested at all (neither IPv4 or IPv6). So it is possible that T.38 does not work even over IPv4 using this code.
+
+Changes in sip.conf
+by default, if bindaddr is not specified, * will bind to both address family wildcards: i.e. 0.0.0.0 for IPv4 and :: for IPv6. Moreover, it now integrates the port with the IP address. It supports RFC2732 (which was then folded into RFC3986).
+bindaddr now supports the following formats:
+bindaddr=1.2.3.4
+bindaddr=1.2.3.4:5061
+bindaddr=2001:db8::1
+bindaddr=[2001:db8::1]
+bindaddr=[2001:db8::1]:5061
+
+bindaddr can be used multiple times to support multiple sockets. However, there is a current limitation (not in the parsing of bindaddr) to only one socket per address family.
+
+If no bindaddr is specified, it binds to both IPv4 and IPv6 wildcards (i.e.: 0.0.0.0 and ::).
+
+TODO:
+- flag to disable/enable IPv6.
+- other channels to be ported to IPv6
+- support ANAT, ICE, ...
+- multiple sockets
+- improvement in DNS to fully support going through the whole list of addresses.
+- many many bug fixes
+- many many many others.
Propchange: team/blanchet/v6/README-IPV6.txt
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: team/blanchet/v6/README-IPV6.txt
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Propchange: team/blanchet/v6/README-IPV6.txt
------------------------------------------------------------------------------
svn:mime-type = text/plain
More information about the asterisk-commits
mailing list