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

Reply via email to