<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/2383/">https://reviewboard.asterisk.org/r/2383/</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.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers and David Lee.</div>
<div>By Matt Jordan.</div>


<p style="color: grey;"><i>Updated March 29, 2013, 10:33 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;">This patch has been significantly updated:

1. Dial messages on Stasis Core now use an ast_multi_channel_blob payload. A multi-channel blob is what it sounds like - it&#39;s an object that can contain any number of ast_channel_snapshots along with its own ast_json blob.
2. The publishing of dial information has been expanded to dial.c in anticipation of the early bridging work. Note that this means there is a small duplication of code between dial.c and app_dial.c, it is anticipated that as app_dial.c is refactored to use dial.c, this code duplication will be cease to exist. (It&#39;s useful for now, however, as it let&#39;s us build up tests for app_dial)
3. Stasis-Core data structures/messages regarding channels have been refactored into their own separate file stasis_channels.c
4. Unit tests for the construction of common Stasis-Core channel data objects (ast_channel_blob; ast_multi_channel_blob) have been created</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-21196">ASTERISK-21196</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;">As part of the CDR work for Asterisk 12 (see https://wiki.asterisk.org/wiki/display/AST/Asterisk+12+CDR+Specification), we need Dial information published over Stasis-Core. This patch refactors app_dial to publish the necessary events.

The Dial based events are slightly different in Asterisk 12 than in other previous versions:
 * Dial is now two events, DialBegin and DialEnd. This matches the nomenclature of other AMI events. See https://wiki.asterisk.org/wiki/display/AST/AMI+1.4+Specification for more information.
 * Dial events now occur at the beginning of a dial operation and when the status of the dial operation is known. Previously, it occurred on application exit, which occurred after bridging.

Note that other applications will need refactoring as well (such as the Dial Framework, Queue, FollowMe, etc.) - however, in order to limit the scope of the work, I&#39;ve kept it only to app_dial at this point.</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>/trunk/apps/app_dial.c <span style="color: grey">(384376)</span></li>

 <li>/trunk/apps/app_userevent.c <span style="color: grey">(384376)</span></li>

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

 <li>/trunk/include/asterisk/stasis_channels.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/trunk/main/channel.c <span style="color: grey">(384376)</span></li>

 <li>/trunk/main/channel_internal_api.c <span style="color: grey">(384376)</span></li>

 <li>/trunk/main/dial.c <span style="color: grey">(384376)</span></li>

 <li>/trunk/main/features.c <span style="color: grey">(384376)</span></li>

 <li>/trunk/main/manager_channels.c <span style="color: grey">(384376)</span></li>

 <li>/trunk/main/pbx.c <span style="color: grey">(384376)</span></li>

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

 <li>/trunk/pbx/pbx_realtime.c <span style="color: grey">(384376)</span></li>

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

</ul>

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







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




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