<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/3858/">https://reviewboard.asterisk.org/r/3858/</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 Tyler Austin Cambron.</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-24028">ASTERISK-24028</a>
</div>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
testsuite
</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 is a directory of two tests that verify the StopMixMonitor and MuteMixMonitor actions.
The StopMixMonitor Test creates a Local channel that starts a playback of tt-monkeys. When the playback begins, MixMonitor is triggered to begin recording through a headermatch. The same headermatch is used to trigger the StopMixMonitor, but the action is delayed for 4 seconds before sending the stop message to ensure that the file actually began recording to begin with and therefore StopMixMonitor actually had something to stop. When the playback is finished and the channel playing the audio hangs up, the hangup event is used to trigger the SoundChecker pluggable module to check and ensure the file has the correct size and energy.
The MuteMixMonitor Test also creates a Local channel that starts a playback of tt-monkyes. When the event for answering of the channel to play tt-monkeys occurs, a headermatch triggers both a message for MixMonitor and MuteMixMonitor to occur. This will mute the audio stream but continue the recording. When the Local channel is hung up, then a headermatch will trigger the SoundChecker pluggable module to check the file and ensure that the file has the correct size but does not have energy. This will show that the mute feature worked properly.
The SoundChecker module is included in the diff file because it has not been committed yet and I want to clarify how the pluggable module interacts with the test.</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;">Both tests show the correct AMI messages being sent and the actions registering. I also manually went to check where the sound files would be and each file contained the correct amount of sound and energy as specified in the Test.
There may be a better way to shorten the recording for the MuteMixMonitor test rather than use StopMixMonitor, but I needed the test to complete before 30 seconds so that I would not get a reactor timeout. The recording is still 10 seconds long, which I figured would be ample time to ensure that MuteMixMonitor had properly muted the recording. The test finishes in 28 seconds.</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>/asterisk/trunk/tests/apps/mixmonitor_interrupt/tests.yaml <span style="color: grey">(PRE-CREATION)</span></li>
<li>/asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_stop/test-config.yaml <span style="color: grey">(PRE-CREATION)</span></li>
<li>/asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_stop/stop_mix.py <span style="color: grey">(PRE-CREATION)</span></li>
<li>/asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_stop/configs/ast1/extensions.conf <span style="color: grey">(PRE-CREATION)</span></li>
<li>/asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_mute/test-config.yaml <span style="color: grey">(PRE-CREATION)</span></li>
<li>/asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_mute/mix_mute.py <span style="color: grey">(PRE-CREATION)</span></li>
<li>/asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_mute/configs/ast1/extensions.conf <span style="color: grey">(PRE-CREATION)</span></li>
<li>/asterisk/trunk/lib/python/asterisk/pluggable_modules.py <span style="color: grey">(5315)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/3858/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>