<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/2497/">https://reviewboard.asterisk.org/r/2497/</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.</div>
<div>By Matt Jordan.</div>








<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-21462">ASTERISK-21462</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 patch does the following:

 * Refactors the name of our MWI topics/message types to be prefixed with ast_. This was done to keep the naming conventions consistent with channel objects moving through Stasis.
 * Adds a blob type for MWI messages, and a blob message type
 * Adds a channel snapshot to the ast_mwi_state object. This is optional, but a lot of times AMI needs to know what channel just changed the MWI state. This is actually really useful, as it enables consumers of MWI state to know the channel that is manipulating the voicemail mailbox (as an exercise for the reader, come up with awesome features based on this...)
 * Refactors the one existing MiniVoiceMail event to use the MWI + JSON blob. While this is a bit overkill, if someone took app_minivm and ran with it, this would be a useful addition (and app_voicemail or other voicemail related applications would want the JSON).

Note that documentation for shared VM events is done in manager_mwi.c, while documentation for AMI events that are only raised by a single application are documented in the source file of the application that raises those events (even if the formatting is still done in manager_mwi.c).</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;">Ran the voicemail Test Suite tests. Checked logs; saw events; rejoiced.</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/apps/app_minivm.c <span style="color: grey">(387611)</span></li>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

</ul>

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







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




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