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

Attachment: pgp3Ir4QANQj1.pgp
Description: PGP signature

_______________________________________________
SFLphone mailing list
[email protected]
http://lists.savoirfairelinux.net/mailman/listinfo/sflphone

Reply via email to