Author: file Date: Tue Apr 7 08:37:24 2015 New Revision: 434214 URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=434214 Log: Fix a bug where the fallback AAAA result would not contain the correct transport selection.
Modified: team/group/dns_pjsip/res/res_pjsip/pjsip_resolver.c Modified: team/group/dns_pjsip/res/res_pjsip/pjsip_resolver.c URL: http://svnview.digium.com/svn/asterisk/team/group/dns_pjsip/res/res_pjsip/pjsip_resolver.c?view=diff&rev=434214&r1=434213&r2=434214 ============================================================================== --- team/group/dns_pjsip/res/res_pjsip/pjsip_resolver.c (original) +++ team/group/dns_pjsip/res/res_pjsip/pjsip_resolver.c Tue Apr 7 08:37:24 2015 @@ -429,11 +429,13 @@ } } - if (sip_available_transports[PJSIP_TRANSPORT_UDP6]) { - res |= sip_resolve_add(resolve, host, ns_t_aaaa, ns_c_in, (type == PJSIP_TRANSPORT_UNSPECIFIED ? PJSIP_TRANSPORT_UDP6 : type), target->addr.port); - } - - if (sip_available_transports[PJSIP_TRANSPORT_UDP]) { + if ((type == PJSIP_TRANSPORT_UNSPECIFIED && sip_available_transports[PJSIP_TRANSPORT_UDP6]) || + sip_available_transports[type + PJSIP_TRANSPORT_IPV6]) { + res |= sip_resolve_add(resolve, host, ns_t_aaaa, ns_c_in, (type == PJSIP_TRANSPORT_UNSPECIFIED ? PJSIP_TRANSPORT_UDP6 : type + PJSIP_TRANSPORT_IPV6), target->addr.port); + } + + if ((type == PJSIP_TRANSPORT_UNSPECIFIED && sip_available_transports[PJSIP_TRANSPORT_UDP]) || + sip_available_transports[type]) { res |= sip_resolve_add(resolve, host, ns_t_a, ns_c_in, (type == PJSIP_TRANSPORT_UNSPECIFIED ? PJSIP_TRANSPORT_UDP : type), target->addr.port); } @@ -496,4 +498,4 @@ { /* Replace the existing PJSIP resolver with our own implementation */ ast_sip_push_task_synchronous(NULL, sip_replace_resolver, NULL); -} +} -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- svn-commits mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/svn-commits