<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="https://reviewboard.asterisk.org/r/3343/">https://reviewboard.asterisk.org/r/3343/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">We really should NOT add this code. Instead, we should clean up the code so all of Asterisk use the same resolver and relies on the system configuration. Having a separate DNS resolver, maybe even using a separate DNS server in the PJSIP channel is not a good solution and should be avoided at all cost. 

The good thing with this review is that it opened my eyes of some stuff in PJSIP that should not be there in the way we use it.</pre>
 <br />









<p>- Olle E Johansson</p>


<br />
<p>On March 13th, 2014, 11:42 a.m. CET, Joshua Colp wrote:</p>








<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By Joshua Colp.</div>


<p style="color: grey;"><i>Updated March 13, 2014, 11:42 a.m.</i></p>







<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://issues.asterisk.org/jira/browse/ASTERISK-23435">ASTERISK-23435</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
Asterisk
</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This change adds a configuration option for setting nameservers to be used by the PJSIP DNS client. If this option is not set then the system nameservers are retrieved and used instead.

This also allows the nameservers to be changed by doing a reload.

In case others are wondering as Olle was:

PJLIB-Util (part of pjproject) provides a DNS client which can optionally (but is highly suggested) to be used with PJSIP. It provides asynchronous DNS, SRV lookups, multiple record support, etc. Right now this isn't enabled so we are simply doing A/AAAA record lookups. The reason it's not enabled is that explicit nameservers *must* be provided to it when enabling it. It will not use the system ones by itself. The change up on reviewboard enables it by default using the system nameservers it finds, but with the ability to override or completely disable it if a user wants. The reason I also provide reload functionality is that people in #asterisk-dev expressed a concern that users may change nameservers but don't want to restart Asterisk, which is understandable. </pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Explicitly set nameservers and confirmed they were used by PJSIP. Disabled it and confirmed that the DNS client was disabled. Set to auto (explicitly and by default) and confirmed that the system nameservers were used.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>/branches/12/res/res_pjsip/pjsip_configuration.c <span style="color: grey">(410470)</span></li>

 <li>/branches/12/res/res_pjsip/include/res_pjsip_private.h <span style="color: grey">(410470)</span></li>

 <li>/branches/12/res/res_pjsip/config_global.c <span style="color: grey">(410470)</span></li>

 <li>/branches/12/res/res_pjsip.c <span style="color: grey">(410470)</span></li>

 <li>/branches/12/main/dns.c <span style="color: grey">(410470)</span></li>

 <li>/branches/12/include/asterisk/dns.h <span style="color: grey">(410470)</span></li>

 <li>/branches/12/configs/pjsip.conf.sample <span style="color: grey">(410470)</span></li>

 <li>/branches/12/CHANGES <span style="color: grey">(410470)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/3343/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>