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





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">With the advent of Stasis, it becomes trivial to write unit tests that push Stasis messages through and test application logic that depends on those messages. While MWI is relatively straight forward, device state is not.

In particular, it feels like we could have unit tests that check device state caching, aggregation (both completely internal as well as internal/external), and subscription for internal/external device states.
</pre>
 <br />







<p>- Matt</p>


<br />
<p>On March 14th, 2013, 1:48 p.m., opticron wrote:</p>






<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.</div>
<div>By opticron.</div>


<p style="color: grey;"><i>Updated March 14, 2013, 1:48 p.m.</i></p>




<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;">In the move from Asterisk&#39;s event system to Stasis, this makes distributed device state aggregation always-on, removes unnecessary task processors where possible, and collapses aggregate and non-aggregate states into a single cache for ease of retrieval. This also removes an intermediary step in device state aggregation.</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 change was run against the queue integration tests, the generic_ccss test, the device_state_notification test, and the non_digium_state_change test with no ill effects.</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-21101">ASTERISK-21101</a>


</div>


<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_queue.c <span style="color: grey">(383038)</span></li>

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

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

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

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

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

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

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

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

</ul>

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




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








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