I am looking at adding IPv6 support to Ekiga. It appears this partial support for IPv6 in opal and pwlib, but none in Ekiga itself. I have also heard mention of IPv6 with gnomemeeting, did it ever have working IPv6? Well, as an experiment I decided to play with the gconf configuration and change the auto-detected interface from "eth0 [192.168.1.37]" to "eth0 [fe80::1]" and discovered the first problem in endpoints/sip.cpp in StartListener which loops around the interfaces looking for an address match. It calls GetAddress which returns an IPv4 address only. My question is what the best way is to solve this, make GetAddress support returning both kinds of addresses, possibly something like IPv4 embedded in IPv6. This might simplify some somethings, but also cause more headaches than it's worth. Another option it to just duplicate all checks with the similar code for IPv6 using GetIP6Address instead. Another problem appears to be with this loop is that it assumes each interface only has 1 address, where IPv6 alone can easily get up to 4 addresses or more. When the function finds a match, it generates a listen_to string starting with udp$ which as far as I can tell is only internal to ekiga and has nothing to do with the SIP protocol. When IPv6 support is added, should it generate a different prefix like udp6$ to differentiate it from the existing IPv4 addresses. This could also help tracking down errors when debugging. Just a few thoughts I had about IPv6... -- Loren M. Lang lorenl north-winds org http://www.north-winds.org/ Public Key: ftp://ftp.north-winds.org/pub/lorenl_pubkey.asc Fingerprint: CEE1 AAE2 F66C 59B5 34CA C415 6D35 E847 0118 A3D2
Attachment:
pgpoxSrzrkPMT.pgp
Description: PGP signature