-
- Downloads
res_pjsip: Add external PJSIP resolver implementation using core DNS API.
This change adds the following: 1. A query set implementation. This is an API that allows queries to be executed in parallel and once all have completed a callback is invoked. 2. Unit tests for the query set implementation. 3. An external PJSIP resolver which uses the DNS core API to do NAPTR, SRV, AAAA, and A lookups. For the resolver it will do NAPTR, SRV, and AAAA/A lookups in parallel. If NAPTR or SRV are available it will then do more queries. And so on. Preference is NAPTR > SRV > AAAA/A, with IPv6 preferred over IPv4. For transport it will prefer TLS > TCP > UDP if no explicit transport has been provided. Configured transports on the system are taken into account to eliminate resolved addresses which have no hope of completing. ASTERISK-24947 #close Reported by: Joshua Colp Change-Id: I56cb03ce4f9d3d600776f36928e0b3e379b5d71e
Showing
- CHANGES 17 additions, 0 deletionsCHANGES
- configure 121 additions, 1 deletionconfigure
- configure.ac 2 additions, 0 deletionsconfigure.ac
- include/asterisk/autoconfig.h.in 4 additions, 0 deletionsinclude/asterisk/autoconfig.h.in
- include/asterisk/dns_core.h 9 additions, 0 deletionsinclude/asterisk/dns_core.h
- include/asterisk/dns_internal.h 52 additions, 0 deletionsinclude/asterisk/dns_internal.h
- include/asterisk/dns_query_set.h 10 additions, 10 deletionsinclude/asterisk/dns_query_set.h
- main/dns_core.c 34 additions, 18 deletionsmain/dns_core.c
- main/dns_query_set.c 182 additions, 19 deletionsmain/dns_query_set.c
- res/res_pjsip.c 3 additions, 2 deletionsres/res_pjsip.c
- res/res_pjsip/include/res_pjsip_private.h 6 additions, 0 deletionsres/res_pjsip/include/res_pjsip_private.h
- res/res_pjsip/pjsip_resolver.c 669 additions, 0 deletionsres/res_pjsip/pjsip_resolver.c
- tests/test_dns_query_set.c 365 additions, 0 deletionstests/test_dns_query_set.c
Loading
Please register or sign in to comment