[asterisk-dev] [Code Review] 4603: pjsip: Add external PJSIP resolver implementation using core DNS API

Joshua Colp reviewboard at asterisk.org
Wed Apr 8 14:37:06 CDT 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4603/
-----------------------------------------------------------

Review request for Asterisk Developers.


Bugs: ASTERISK-24947
    https://issues.asterisk.org/jira/browse/ASTERISK-24947


Repository: Asterisk


Description
-------

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.


Diffs
-----

  /trunk/tests/test_dns_query_set.c PRE-CREATION 
  /trunk/res/res_pjsip_session.c 434446 
  /trunk/res/res_pjsip/pjsip_resolver.c PRE-CREATION 
  /trunk/res/res_pjsip/include/res_pjsip_private.h 434446 
  /trunk/res/res_pjsip.c 434446 
  /trunk/main/dns_srv.c 434446 
  /trunk/main/dns_recurring.c 434446 
  /trunk/main/dns_query_set.c 434446 
  /trunk/main/dns_naptr.c 434446 
  /trunk/main/dns_core.c 434446 
  /trunk/include/asterisk/dns_query_set.h 434446 
  /trunk/include/asterisk/dns_internal.h 434446 
  /trunk/include/asterisk/dns_core.h 434446 
  /trunk/include/asterisk/autoconfig.h.in 434446 
  /trunk/configure.ac 434446 
  /configure UNKNOWN 

Diff: https://reviewboard.asterisk.org/r/4603/diff/


Testing
-------

Ran unit tests, they pass. Ran testsuite tests, they pass. Did spot checking using my own domains. They resolve as expected.


Thanks,

Joshua Colp

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150408/dd7bc6d8/attachment.html>


More information about the asterisk-dev mailing list