[Home]

Summary:ASTERISK-25565: DNS: System resolver only returns 1 record per result
Reporter:George Joseph (gjoseph)Labels:
Date Opened:2015-11-16 11:36:04.000-0600Date Closed:2015-11-17 06:45:38.000-0600
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/DNS
Versions:SVN Frequency of
Occurrence
Constant
Related
Issues:
Environment:Attachments:
Description:Orignally reported by Daniel Tryba

With the following records,
{noformat}
host -t NAPTR sip.itco.nl
sip.itco.nl has NAPTR record 100 1 "s" "SIP+D2T" "" _sip._tcp.sip.itco.nl.
sip.itco.nl has NAPTR record 10 1 "s" "SIP+D2U" "" _sip._udp.sip.itco.nl.
{noformat}

The following results are produced...

{noformat}
[Nov 16 10:26:34] DEBUG[22911]: res_pjsip/pjsip_resolver.c:460 sip_resolve: Performing SIP DNS resolution of target 'sip.itco.nl'
[Nov 16 10:26:34] DEBUG[22911]: res_pjsip/pjsip_resolver.c:487 sip_resolve: Transport type for target 'sip.itco.nl' is 'Unspecified'
[Nov 16 10:26:34] DEBUG[22911]: res_pjsip/pjsip_resolver.c:530 sip_resolve: [0x7f123000f308] Created resolution tracking for target 'sip.itco.nl'
[Nov 16 10:26:34] DEBUG[22911]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f123000f308] Added target 'sip.itco.nl' with record type '35', transport 'Unspecified', and port '0'
[Nov 16 10:26:34] DEBUG[22911]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f123000f308] Added target '_sip._tcp.sip.itco.nl' with record type '33', transport 'TCP', and port '5060'
[Nov 16 10:26:34] DEBUG[22911]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f123000f308] Added target '_sip._udp.sip.itco.nl' with record type '33', transport 'UDP', and port '5060'
[Nov 16 10:26:34] DEBUG[22911]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f123000f308] Added target 'sip.itco.nl' with record type '1', transport 'UDP', and port '5060'
[Nov 16 10:26:34] DEBUG[22911]: res_pjsip/pjsip_resolver.c:582 sip_resolve: [0x7f123000f308] Starting initial resolution using parallel queries for target 'sip.itco.nl'
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:272 sip_resolve_callback: [0x7f123000f308] All parallel queries completed
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:360 sip_resolve_callback: [0x7f123000f308] NAPTR record received on target 'sip.itco.nl'
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f123000f308] Added target '_sip._tcp.sip.itco.nl' with record type '33', transport 'TCP', and port '5060'
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:344 sip_resolve_callback: [0x7f123000f308] SRV record received on target '_sip._tcp.sip.itco.nl'
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f123000f308] Added target 'sip0.itco.nl' with record type '1', transport 'TCP', and port '5060'
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:344 sip_resolve_callback: [0x7f123000f308] SRV record received on target '_sip._udp.sip.itco.nl'
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f123000f308] Added target 'sip0.itco.nl' with record type '1', transport 'UDP', and port '5060'
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:308 sip_resolve_callback: [0x7f123000f308] A record being skipped on target 'sip.itco.nl' because NAPTR or SRV record exists
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:396 sip_resolve_callback: [0x7f123000f308] New queries added, performing parallel resolution again
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:272 sip_resolve_callback: [0x7f123000f308] All parallel queries completed
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:344 sip_resolve_callback: [0x7f123000f308] SRV record received on target '_sip._tcp.sip.itco.nl'
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f123000f308] Added target 'sip0.itco.nl' with record type '1', transport 'TCP', and port '5060'
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:308 sip_resolve_callback: [0x7f123000f308] A record being skipped on target 'sip0.itco.nl' because NAPTR or SRV record exists
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:308 sip_resolve_callback: [0x7f123000f308] A record being skipped on target 'sip0.itco.nl' because NAPTR or SRV record exists
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:396 sip_resolve_callback: [0x7f123000f308] New queries added, performing parallel resolution again
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:272 sip_resolve_callback: [0x7f123000f308] All parallel queries completed
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:321 sip_resolve_callback: [0x7f123000f308] A record received on target 'sip0.itco.nl'
[Nov 16 10:26:34] DEBUG[22891]: res_pjsip/pjsip_resolver.c:402 sip_resolve_callback: [0x7f123000f308] Resolution completed - 1 viable targets
[Nov 16 10:26:34] DEBUG[22911]: res_pjsip/pjsip_resolver.c:201 sip_resolve_invoke_user_callback: [0x7f123000f308] Address '0' is 109.235.32.55:5060 with transport 'TCP'
[Nov 16 10:26:34] DEBUG[22911]: res_pjsip/pjsip_resolver.c:207 sip_resolve_invoke_user_callback: [0x7f123000f308] Invoking user callback with '1' addresses
[Nov 16 10:26:35] WARNING[22911]: res_pjsip_outbound_registration.c:833 handle_registration_response: Fatal response '401' received from 'sip:sip.itco.nl' on registration attempt to 'sip:tryba@sip.itco.nl', stopping outbound registration
[Nov 16 10:26:38] DEBUG[22911]: res_pjsip/pjsip_resolver.c:460 sip_resolve: Performing SIP DNS resolution of target 'sip.itco.nl'
[Nov 16 10:26:38] DEBUG[22911]: res_pjsip/pjsip_resolver.c:487 sip_resolve: Transport type for target 'sip.itco.nl' is 'Unspecified'
[Nov 16 10:26:38] DEBUG[22911]: res_pjsip/pjsip_resolver.c:530 sip_resolve: [0x7f12300074b8] Created resolution tracking for target 'sip.itco.nl'
[Nov 16 10:26:38] DEBUG[22911]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f12300074b8] Added target 'sip.itco.nl' with record type '35', transport 'Unspecified', and port '0'
[Nov 16 10:26:38] DEBUG[22911]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f12300074b8] Added target '_sip._tcp.sip.itco.nl' with record type '33', transport 'TCP', and port '5060'
[Nov 16 10:26:38] DEBUG[22911]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f12300074b8] Added target '_sip._udp.sip.itco.nl' with record type '33', transport 'UDP', and port '5060'
[Nov 16 10:26:38] DEBUG[22911]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f12300074b8] Added target 'sip.itco.nl' with record type '1', transport 'UDP', and port '5060'
[Nov 16 10:26:38] DEBUG[22911]: res_pjsip/pjsip_resolver.c:582 sip_resolve: [0x7f12300074b8] Starting initial resolution using parallel queries for target 'sip.itco.nl'
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:272 sip_resolve_callback: [0x7f12300074b8] All parallel queries completed
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:360 sip_resolve_callback: [0x7f12300074b8] NAPTR record received on target 'sip.itco.nl'
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f12300074b8] Added target '_sip._udp.sip.itco.nl' with record type '33', transport 'UDP', and port '5060'
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:344 sip_resolve_callback: [0x7f12300074b8] SRV record received on target '_sip._tcp.sip.itco.nl'
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f12300074b8] Added target 'sip1.itco.nl' with record type '1', transport 'TCP', and port '5060'
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:344 sip_resolve_callback: [0x7f12300074b8] SRV record received on target '_sip._udp.sip.itco.nl'
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f12300074b8] Added target 'sip0.itco.nl' with record type '1', transport 'UDP', and port '5060'
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:308 sip_resolve_callback: [0x7f12300074b8] A record being skipped on target 'sip.itco.nl' because NAPTR or SRV record exists
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:396 sip_resolve_callback: [0x7f12300074b8] New queries added, performing parallel resolution again
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:272 sip_resolve_callback: [0x7f12300074b8] All parallel queries completed
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:344 sip_resolve_callback: [0x7f12300074b8] SRV record received on target '_sip._udp.sip.itco.nl'
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:177 sip_resolve_add: [0x7f12300074b8] Added target 'sip1.itco.nl' with record type '1', transport 'UDP', and port '5060'
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:308 sip_resolve_callback: [0x7f12300074b8] A record being skipped on target 'sip1.itco.nl' because NAPTR or SRV record exists
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:308 sip_resolve_callback: [0x7f12300074b8] A record being skipped on target 'sip0.itco.nl' because NAPTR or SRV record exists
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:396 sip_resolve_callback: [0x7f12300074b8] New queries added, performing parallel resolution again
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:272 sip_resolve_callback: [0x7f12300074b8] All parallel queries completed
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:321 sip_resolve_callback: [0x7f12300074b8] A record received on target 'sip1.itco.nl'
[Nov 16 10:26:38] DEBUG[22891]: res_pjsip/pjsip_resolver.c:402 sip_resolve_callback: [0x7f12300074b8] Resolution completed - 1 viable targets
[Nov 16 10:26:38] DEBUG[22911]: res_pjsip/pjsip_resolver.c:201 sip_resolve_invoke_user_callback: [0x7f12300074b8] Address '0' is 109.235.32.56:5060 with transport 'UDP'
[Nov 16 10:26:38] DEBUG[22911]: res_pjsip/pjsip_resolver.c:207 sip_resolve_invoke_user_callback: [0x7f12300074b8] Invoking user callback with '1' addresses
[Nov 16 10:26:38] WARNING[22911]: res_pjsip_outbound_registration.c:833 handle_registration_response: Fatal response '401' received from 'sip:sip.itco.nl' on registration attempt to 'sip:tryba@sip.itco.nl', stopping outbound registration
{noformat}

TCP is tried first even though UDP has a lower order.  This is actually because the system DNS resolver only returns 1 record per NAPTR query so there's nothing to sort.  It works OK with unbound as the resolver.


Comments:By: Asterisk Team (asteriskteam) 2015-11-16 11:36:06.532-0600

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].