linphone-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Linphone-developers] Linphone and IPv6 - Important... please respond


From: Frederick Lefebvre
Subject: [Linphone-developers] Linphone and IPv6 - Important... please respond
Date: Thu, 20 May 2004 10:37:03 -0400

Simon, Jamey,

Last week, I sent both of you a patch to fix and IPv6 related problem in linphone. I haven't heard back from any of you but I saw that it was included in the latest ARM package available form handhelds.org. The problem was that the code to support IPv6 in oRTP was never used because of a missing define in mediastreamer. Well, to make a long story short, I just figured a few minutes ago that the IPv6 related code in linphone has a more fundamental problem. Problems occur when using linphone over an IPv4 network if IPv6 was enabled at compile time. The following explanation assume that linphone was compiled with "--enable-ipv6":

Linphone only uses one socket (UDPv6:5060) to listen for incoming IPv4 and IPv6 requests. This 'works' because when an IPv4 packet is received, it is seen by the system as an IPv4-mapped IPv6 address. This is were it gets complicated... The SIP session still works fine so, the RTP socket is opened (UDPv6:7078). But the sendto/recvfrom are done with the address taken from the SIP exchange which was an IPv4 address... you see the picture? Internally the packets receive on the RTP socket are seen as having an IPv6 address (something like 0:0:0:0:0:FFFF:192.168.1.1) which really do not match the parameter given to sendto/recvfrom... so that the RTP session do not work.

2 fixes are possible for this situation:
1- Add logic to deal with IPv4-mapped addresses
2- Open 2 SIP sockets (one V4 and one V6)

Solution '2' is usually seen as better and is more portable because the default behavior in Kame (BSD) is to disable IPv4-mapped addresses support (V6 only socket option) on IPv6 socket.

I will be travelling next weekend and so, I should have some time to work on a patch. I will be happy to submit/commit it as soon as possible. In the meantime, IPv6 support is best left disable in Linphone for users that use is with IPv4.

I hope my explanation was clear as it is sometime hard to explain that stuff in writing. Let me know if you have any questions.

Regards,

Frederick Lefebvre
--
System and Network administrator
Hexago Inc.

------------------------------------------------
http://www.freenet6.net : Free IPv6 Connectivity
------------------------------------------------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]