Hello, I'm just beginning to experiment with SFLphone and kamailio, and have hit an immediate problem.
Both my client machines and the SIP registrar are dual-stacked IPv4 and
IPv6.
For the moment, I need all SIP/RTP packets to route over global IPv6
addresses (because I'm not ready to deal with NAT issues on IPv4).
The registrar has DNS records with both A and AAAA records.
When I configure SFLphone (sflphone-client-gnome) to use the DNS
hostname, it always uses IPv4:
sipaccount.cpp:898:0x19c0: SIPAccount::registerVoIPLink sip.example.com
sipaccount.cpp:902:0x19c0: --- 2222:3333::4444
sipaccount.cpp:902:0x19c0: --- 11.22.33.44
sipaccount.cpp:907:0x19c0: TLS is enabled for account Account:1184504791
sipaccount.cpp:1059:0x19c0: Using 46 ciphers
siptransport.cpp:294:0x19c0: Get new tls transport/listener from transport
manager to 11.22.33.44:5061
siptransport.cpp:259:0x19c0: Creating Listener on 0.0.0.0:5061...
siptransport.cpp:260:0x19c0: CRT file : /etc/ssl/certs/snakeoil-ca.pem
siptransport.cpp:261:0x19c0: PEM file :
sip_utils.cpp:94:0x19c0: Adding route sip.example.com
sipaccount.cpp:898:0x19c0: SIPAccount::registerVoIPLink
sipvoiplink.cpp:2185:0x19c0: SIP registration failed, status=503 (Connection
refused)
When I configure with an IPv6 address instead of DNS hostname, it fails
with "Unsupported transport":
sipaccount.cpp:898:0xd9c0: SIPAccount::registerVoIPLink 2222:3333::4444
sipaccount.cpp:902:0xd9c0: --- 2222:3333::4444
sipaccount.cpp:907:0xd9c0: TLS is enabled for account Account:1184504791
sipaccount.cpp:1059:0xd9c0: Using 46 ciphers
siptransport.cpp:294:0xd9c0: Get new tls transport/listener from transport
manager to [2222:3333::4444]:5061
siptransport.cpp:259:0xd9c0: Creating Listener on [::]:5061...
siptransport.cpp:260:0xd9c0: CRT file : /etc/ssl/certs/snakeoil-ca.pem
siptransport.cpp:261:0xd9c0: PEM file :
siptransport.cpp:312:0xd9c0: Could not create new TLS transport
sip_utils.cpp:260:0xd9c0: 171060: Unsupported transport
(PJSIP_EUNSUPTRANSPORT)
sipvoiplink.cpp:738:0xd9c0: Could not create TLS connection
sipaccount.cpp:946:0xd9c0: UserAgent: VoipLinkException occured: Could not
create or acquire SIP transport
I began investigating how SFLphone chooses address family and got
distracted by the 'interface' dialog being based on SIOCGIFCONF, which
is unfortunate as this ioctl enumerates IPv4 addresses only on Linux. I
even tried patching it to use glibc 'getifaddrs' inside
ip_utils::getAllIpInterfaceByName(), since I do have an interface that
is IPv6-only, which is missing from the dialog without the patch,
however this results in weird behavior ("Creating Listener on
[::c750:ae00:0:0]:5061..." - what?).
I'm using the Debian jessie 1.4.1-0.1 packages. Is there a configure
flag that the Debian package is missing to enable IPv6 support?
--
Gerald Turner <[email protected]> Encrypted mail preferred!
OpenPGP: 4096R / CA89 B27A 30FA 66C5 1B80 3858 EC94 2276 FDB8 716D
pgp3Ir4QANQj1.pgp
Description: PGP signature
_______________________________________________ SFLphone mailing list [email protected] http://lists.savoirfairelinux.net/mailman/listinfo/sflphone
