linphone-developers
[Top][All Lists]
Advanced

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

[Linphone-developers] Re: Linphone and IPv6 - Important... please respon


From: Jamey Hicks
Subject: [Linphone-developers] Re: Linphone and IPv6 - Important... please respond
Date: Thu, 20 May 2004 11:06:45 -0400
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:1.6) Gecko/20040115

Frederick Lefebvre wrote:

Simon, Jamey,

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 think Option 2 is probably better. But to open multiple sockets on the same port with Linux we'll have to bind to the v4 and v6 addresses, right? Otherwise second socket will fail because the address is already in use. The code that is added to deal with multiple SIP sockets should also help make it possible to support transport=tcp in addition to current transport=udp and eventually to support sips. Assuming people want that.

Thanks for tracking down this problem.  I'm looking forward to your patch.

Jamey





reply via email to

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