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



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ship It!</pre>
 <br />









<p>- Joshua Colp</p>


<br />
<p>On January 9th, 2014, 5:34 p.m. UTC, opticron 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 opticron.</div>


<p style="color: grey;"><i>Updated Jan. 9, 2014, 5:34 p.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-21084">ASTERISK-21084</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 adds Path support to chan_pjsip in res_pjsip_path.c with minimal additions in res_pjsip_registrar.c to store the path and additions in res_pjsip_outbound_registration.c to enable advertisement of path support to registrars and intervening proxies.

Path information is stored on contacts and is enabled via Address of Record (AoRs) and Registration configuration sections.

While adding path support, it became necessary to be able to add SIP supplements that handled messages outside of sessions, so a framework for handling these types of hooks was added in parallel to the already-existing session supplements and several senders of out-of-dialog requests were refactored as a result.</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;">This passes the tests covered by the review at https://reviewboard.asterisk.org/r/3051/

These tests were converted to work with chan_pjsip from their chan_sip counterparts.</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>/trunk/res/res_pjsip_t38.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip_session.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip_registrar.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip_refer.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip_path.c <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/res/res_pjsip_outbound_registration.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip_notify.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip_nat.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip_mwi.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip_messaging.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip_header_funcs.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip_diversion.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip_caller_id.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip/pjsip_options.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip/pjsip_distributor.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip/location.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/res/res_pjsip.c <span style="color: grey">(405250)</span></li>

 <li>/trunk/include/asterisk/res_pjsip_session.h <span style="color: grey">(405250)</span></li>

 <li>/trunk/include/asterisk/res_pjsip.h <span style="color: grey">(405250)</span></li>

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

</ul>

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







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








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