Hello!
As Asterisk doesn't care about destinations used for each request if there is a DNS SRV set given by the DNS resolution (more than one server in the response) I would like to shrink the used destinations received from DNS SRV query to one server (as the SRV list is unchanged since years now regarding German Telekom).
I can do this like in the attached patch - but I didn't find any way so far to bring in a (new) option of transport configuration e.g. to this callback. Isn't there any way?
Thanks for any hint. Michael
--- 1/res/res_pjsip/pjsip_resolver.c 2021-03-11 18:23:06.000000000 +0100 +++ 2/res/res_pjsip/pjsip_resolver.c 2021-04-02 10:32:35.541203000 +0200 @@ -273,6 +273,7 @@ static void sip_resolve_callback(const s int idx, address_count = 0, have_naptr = 0, have_srv = 0; unsigned short order = 0; int strict_order = 0; + unsigned short enoughSrvRecords = 0; ast_debug(2, "[%p] All parallel queries completed\n", resolve); @@ -347,6 +348,11 @@ static void sip_resolve_callback(const s /* SRV records just create new queries for AAAA+A, nothing fancy */ ast_debug(2, "[%p] SRV record received on target '%s'\n", resolve, ast_dns_query_get_name(query)); + if (enoughSrvRecords) { + /* we prefer to have only one SRV record */ + continue; + } + enoughSrvRecords++; /* If an explicit IPv6 target transport has been requested look for only AAAA records */ if ((target->transport & PJSIP_TRANSPORT_IPV6) &&
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev