Package: libexosip2-11
Version: 4.1.0-2
Severity: important

Dear maintainers,

I experience problems calling certain SIP URIs with linphone. If the
callee's domain doesn't have a NAPTR entry, libexosip2-11 erroneously
uses the domain's A/AAAA record with port 5060 instead of doing SRV
lookups as it should (RFC 3263, Section 4.1). I confirmed this by both
looking at both the packet capture and the output of `linphonec -d 6`:

ortp-message-eXosip_dnsutils_naptr_lookup: About to ask for 'example.com NAPTR'
ortp-error-eXosip_dnsutils_naptr_lookup: res_query failed ('example.com NAPTR')
ortp-message-DNS resolution with example.com:5060

(The packet capture confirms that after the NAPTR query no further DNS
queries are sent out.)


When trying to debug the problem I read in the README of the source tree
of the libexosip2-11 package: "You should install c-ares before for much
better DNS management!"

After installing libc-ares-dev and rebuilding the package linphone works
as expected. The debug output now shows:

ortp-error-_naptr_callback: example.com DNS server returned answer with no data
ortp-message-_naptr_callback: NO NAPTR DNS // SRV record created manually 
->49/49/_sips._udp.example.com
ortp-message-eXosip_dnsutils_srv_lookup: About to ask for 
'_sip._udp.example.com SRV'
ortp-message-eXosip_dnsutils_srv_lookup: About to ask for 
'_sip._tcp.example.com SRV'
ortp-message-eXosip_dnsutils_srv_lookup: About to ask for 
'_sips._tcp.example.com SRV'
ortp-message-eXosip_dnsutils_srv_lookup: About to ask for 
'_sips._udp.example.com SRV

The packet capture also confirms that the SRV lookups are done after the
NAPTR lookup. So if using c-ares is an option, that would work around
the problem. I wasn't able to find the bug that's causing the wrong
behavior in libexosip when c-ares isn't used.

Thank you
Lukas Schwaighofer

Attachment: pgpvzdG_saA7u.pgp
Description: OpenPGP digital signature

Reply via email to