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




<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 Nov. 6, 2013, 1:46 p.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;">Address Matt's concerns with sanitization callbacks.</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-22744">ASTERISK-22744</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  (updated)</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 prevents channels used as implementation details from leaking out to ARI. It does this by preventing creation of JSON blobs of channel snapshots created from those channels and sanitizing JSON blobs of bridge snapshots as they are created. This introduces a framework for excluding information from output targeted at Stasis applications on a consumer-by-consumer basis using channel sanitization callbacks which could be extended to bridges or endpoints if necessary.

This results in NULL inputs to ast_json_pack calls which generate unhelpful error messages, so that has been dealt with as well.

This also corrects a bug I noticed while investigating the issue where BridgeCreated events would not be created.</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;">Manual testing with bridges and channels.</pre>
  </td>
 </tr>
</table>


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

 <li>branches/12/res/stasis/app.c <span style="color: grey">(402347)</span></li>

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

 <li>branches/12/res/ari/resource_endpoints.c <span style="color: grey">(402347)</span></li>

 <li>branches/12/res/ari/resource_channels.c <span style="color: grey">(402347)</span></li>

 <li>branches/12/res/ari/resource_bridges.c <span style="color: grey">(402347)</span></li>

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

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

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

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

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

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

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

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

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

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

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

</ul>

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







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




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