<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/1859/">https://reviewboard.asterisk.org/r/1859/</a>
     </td>
    </tr>
   </table>
   <br />


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

<div>Review request for Asterisk Developers.</div>
<div>By wdoekes.</div>


<p style="color: grey;"><i>Updated April 11, 2012, 2:11 a.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">Changes:
* Removed some red blobs.
* Added LFs to log warnings.
* Fixed inverted logic that broke global outboundproxy in r1.</pre>
  </td>
 </tr>
</table>


<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;">As you can see in the bug report, I have trouble using the //IPorHost syntax in the SIP dial string.

This is an attempt at fixing it: I create a temporary outboundproxy for the dialog instead of just setting p-&gt;sa once.

Unfortunately I had to touch (remove) a call to set_destination(). That&#39;s where it gets hairy, because other proxy bugs were created and fixed in the vicinity. 

I left some debug code in that you might find useful if you&#39;re going to play with this.

Things this patch does:
* Revert parts of r256485.
* Make IPorHost work by using a temporary outboundproxy instead.
* Replace thread-unsafe usage of strtok with strtok_r when parsing outboundproxy.
* Remove duplicate code for parsing outboundproxy.
* Fix memory leak that would occur when discarding an unparsable peer-specific outboundproxy.
* Consistently pass TRUE and FALSE as create_addr newdialog argument.
* Update the documentation above sip_request_call about all the possible SIP dial strings.</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;">My test calls work fine now, with and without the //IPorHost proxy. But I suspect that removing the set_destination must cause a problem for someone somewhere.

NOTE: my patch was actually against 10.3.0-rc3. But looking through the SVN log (for the 10 branch) did not reveal any related fixes.</pre>
  </td>
 </tr>
</table>



<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-19677">ASTERISK-19677</a>


</div>


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

 <li>/trunk/channels/chan_sip.c <span style="color: grey">(361906)</span></li>

 <li>/trunk/channels/sip/config_parser.c <span style="color: grey">(361906)</span></li>

 <li>/trunk/channels/sip/include/sip.h <span style="color: grey">(361906)</span></li>

</ul>

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




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




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