[asterisk-dev] [Code Review] 3858: Tests for verifying StopMixMonitor/MuteMixMonitor AMI action

Tyler Austin Cambron reviewboard at asterisk.org
Fri Aug 29 14:24:13 CDT 2014

This is an automatically generated e-mail. To reply, visit:

(Updated Aug. 29, 2014, 2:24 p.m.)


This change has been discarded.

Review request for Asterisk Developers.

Bugs: ASTERISK-24028

Repository: testsuite


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.


  /asterisk/trunk/tests/apps/mixmonitor_interrupt/tests.yaml PRE-CREATION 
  /asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_stop/test-config.yaml PRE-CREATION 
  /asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_stop/stop_mix.py PRE-CREATION 
  /asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_stop/configs/ast1/extensions.conf PRE-CREATION 
  /asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_mute/test-config.yaml PRE-CREATION 
  /asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_mute/mix_mute.py PRE-CREATION 
  /asterisk/trunk/tests/apps/mixmonitor_interrupt/mixmonitor_mute/configs/ast1/extensions.conf PRE-CREATION 
  /asterisk/trunk/lib/python/asterisk/pluggable_modules.py 5315 

Diff: https://reviewboard.asterisk.org/r/3858/diff/


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.


Tyler Austin Cambron

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140829/1ea0395d/attachment.html>

More information about the asterisk-dev mailing list