<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/2405/">https://reviewboard.asterisk.org/r/2405/</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, opticron and Matt Jordan.</div>
<div>By David Lee.</div>


<p style="color: grey;"><i>Updated March 22, 2013, 3:15 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;">Bit more cleanup, as suggested by opticron</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;">This patch builds upon the work in https://reviewboard.asterisk.org/r/2381/.

This moves the NewCallerid, HangupRequest and SoftHangupRequest events to be
based off of Stasis events.

HangupRequest and SoftHangupRequest are now ast_channel_blob Stasis messages,
with the cause code as an optional field in the blob.

NewCallerid now simply watches for changes in the callerid information in
channel snapshots, and creates the AMI event appropriately.

Since the original NewCallerid event honored the channelvars setting in
manager.conf, the channel variables configured there had to become a part of the
channel snapshot. These are now a part of every snapshot based event, making the
configuration description &quot;every time a channel-oriented event is emitted&quot; less
of a lie.

There a a few other changes wrapped up in here as well.

When ast_channel_topic() is given NULL for a channel, it returns the
ast_channel_topic_all() topic instead of NULL. This can clean up a lot of NULL
checking we&#39;re doing currently.

Additionally, the fields Cause and Cause-txt were removed from the base channel
information and put only on the Hangup events, since those fields are
meaningless outside of a Hangup event.

Oh, yeah, and I removed the pipe-delimiter processing of the channelvars field,
since that&#39;s been deprecated forever.</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;">Manually verified events looked compatible with original events.</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-21096">ASTERISK-21096</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/CHANGES <span style="color: grey">(383612)</span></li>

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

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

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

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

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

</ul>

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




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




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