mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-13 15:50:59 +00:00
Merge pull request #972 in FS/freeswitch from ~PIOTRGREGOR/freeswitch:feature/FS-9542-process-audio-samples-in-threads to master
* commit '8e189ed2337efd5f10b292476ffabaa8ae750a44': FS-9542 [avmd]: multithreaded
This commit is contained in:
commit
58f12394cc
@ -37,13 +37,16 @@
|
||||
<!-- required number of consecutive elements in the SMA buffer
|
||||
without reset. This parameter helps to avoid false beeps, bigger this value is
|
||||
smaller the probability of getting false detection -->
|
||||
<param name="sample_n_continuous_streak" value="15"/>
|
||||
<param name="sample_n_continuous_streak" value="5"/>
|
||||
|
||||
<!-- define number of samples to skip starting from the beginning
|
||||
of the frame and/or after reset has happened. This serves the purpose of skipping first few
|
||||
estimations on each frame, as these estimations may be inaccurate. This parameter also helps
|
||||
to give more robust detections when it's value is increased (up to scertain limit of about 60). -->
|
||||
<param name="sample_n_to_skip" value="15"/>
|
||||
<param name="sample_n_to_skip" value="0"/>
|
||||
|
||||
<param name="require_continuous_streak_amp" value="1"/>
|
||||
<param name="sample_n_continuous_streak_amp" value="5"/>
|
||||
|
||||
<!-- define/undefine this to enable/disable simplified estimation
|
||||
of frequency based on approximation of sin(x) with (x)
|
||||
@ -55,6 +58,10 @@
|
||||
|
||||
<!-- define/undefine to enable/disable avmd on external channel -->
|
||||
<param name="outbound_channel" value="1"/>
|
||||
|
||||
<!-- determines the mode of detection, default is both amplitude and frequency -->
|
||||
<param name="detection_mode" value="2"/>
|
||||
|
||||
<!-- Per call settings end -->
|
||||
</settings>
|
||||
</configuration>
|
||||
|
@ -39,7 +39,7 @@ extern size_t next_power_of_2(size_t v);
|
||||
{ \
|
||||
(b)->pos++; \
|
||||
(b)->pos &= (b)->mask; \
|
||||
(b)->lpos++; \
|
||||
(b)->lpos + 1 < 2 * (b)->buf_len ? (b)->lpos++ : (b)->lpos = (b)->buf_len; \
|
||||
if ((b)->backlog < (b)->buf_len) (b)->backlog++; \
|
||||
}
|
||||
|
||||
|
@ -63,14 +63,14 @@ avmd_desa2_tweaked(circ_buffer_t *b, size_t i, double *amplitude) {
|
||||
we do simplified, modified for speed version : */
|
||||
|
||||
result = n/d;
|
||||
if (ISINF(result)) {
|
||||
/* if (ISINF(result)) {
|
||||
*amplitude = 0.0;
|
||||
if (n < 0.0) {
|
||||
return -10.0;
|
||||
} else {
|
||||
return 10.0;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
*amplitude = 2.0 * PSI_Xn / sqrt(PSI_Yn);
|
||||
return result;
|
||||
}
|
||||
|
@ -13,9 +13,9 @@
|
||||
#define __AVMD_FIR_H__
|
||||
|
||||
|
||||
#define DESA_MAX(a, b) (a) > (b) ? (a) : (b)
|
||||
#define MEDIAN_FILTER(a, b, c) (a) > (b) ? ((a) > (c) ? \
|
||||
DESA_MAX((b), (c)) : a) : ((b) > (c) ? DESA_MAX((a), (c)) : (b))
|
||||
#define AVMD_MAX(a, b) (a) > (b) ? (a) : (b)
|
||||
#define AVMD_MEDIAN_FILTER(a, b, c) (a) > (b) ? ((a) > (c) ? \
|
||||
AVMD_MAX((b), (c)) : a) : ((b) > (c) ? AVMD_MAX((a), (c)) : (b))
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -46,7 +46,7 @@ typedef struct {
|
||||
|
||||
#define INC_SMA_POS(b) \
|
||||
{ \
|
||||
(b)->lpos++; \
|
||||
((b)->lpos + 1 < 2 * (b)->len) ? ((b)->lpos++) : ((b)->lpos = (b)->len); \
|
||||
(b)->pos = (b)->lpos % (b)->len; \
|
||||
}
|
||||
|
||||
|
@ -37,13 +37,16 @@
|
||||
<!-- required number of consecutive elements in the SMA buffer
|
||||
without reset. This parameter helps to avoid false beeps, bigger this value is
|
||||
smaller the probability of getting false detection -->
|
||||
<param name="sample_n_continuous_streak" value="15"/>
|
||||
<param name="sample_n_continuous_streak" value="5"/>
|
||||
|
||||
<!-- define number of samples to skip starting from the beginning
|
||||
of the frame and/or after reset has happened. This serves the purpose of skipping first few
|
||||
estimations on each frame, as these estimations may be inaccurate. This parameter also helps
|
||||
to give more robust detections when it's value is increased (up to scertain limit of about 60). -->
|
||||
<param name="sample_n_to_skip" value="15"/>
|
||||
<param name="sample_n_to_skip" value="0"/>
|
||||
|
||||
<param name="require_continuous_streak_amp" value="1"/>
|
||||
<param name="sample_n_continuous_streak_amp" value="5"/>
|
||||
|
||||
<!-- define/undefine this to enable/disable simplified estimation
|
||||
of frequency based on approximation of sin(x) with (x)
|
||||
@ -55,6 +58,10 @@
|
||||
|
||||
<!-- define/undefine to enable/disable avmd on external channel -->
|
||||
<param name="outbound_channel" value="1"/>
|
||||
|
||||
<!-- determines the mode of detection, default is both amplitude and frequency -->
|
||||
<param name="detection_mode" value="2"/>
|
||||
|
||||
<!-- Per call settings end -->
|
||||
</settings>
|
||||
</configuration>
|
||||
|
782
src/mod/applications/mod_avmd/conf/avmd_test_dialplan.xml
Normal file
782
src/mod/applications/mod_avmd/conf/avmd_test_dialplan.xml
Normal file
@ -0,0 +1,782 @@
|
||||
|
||||
<extension name="1701">
|
||||
<condition field="destination_number" expression="^1701$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="voicemail/sin1000hz.raw"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="1702">
|
||||
<condition field="destination_number" expression="^1702$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="voicemail/sin1200hz.raw"/>
|
||||
<action application="hangup"/>
|
||||
<action application="avmd" data="stop"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="1703">
|
||||
<condition field="destination_number" expression="^1703$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="voicemail/sin1400hz.raw"/>
|
||||
<action application="hangup"/>
|
||||
<action application="avmd_stop"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="1704">
|
||||
<condition field="destination_number" expression="^1704$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="voicemail/8000/sin1600hz.raw"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
<extension name="503"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(503)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,400,500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="504"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(504)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,500,600)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="505"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(505)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,600,700)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="506"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(506)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,700,800)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="507"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(507)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,800,900)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="508"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(508)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,900,1000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="509"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(509)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1000,1100)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="510"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(510)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1100,1200)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="511"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(511)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1200,1300)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="512"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(512)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1300,1400)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="513"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(513)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1400,1500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="514"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(514)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1500,1600)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="515"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(515)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1600,1700)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="516"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(516)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1700,1800)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="517"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(517)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1800,1900)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="518"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(518)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1900,1950)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="519"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(519)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,200,500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="520"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(520)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,500,700)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="521"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(521)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,100,500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="522"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(522)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1000,1500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="523"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(523)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=0"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1500,2000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
<extension name="603"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(603)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,400,500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="604"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(604)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,500,600)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="605"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(605)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,600,700)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="606"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(606)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,700,800)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="607"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(607)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,800,900)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="608"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(608)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,900,1000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="609"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(609)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1000,1100)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="610"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(610)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1100,1200)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="611"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(611)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1200,1300)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="612"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(612)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1300,1400)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="613"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(613)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1400,1500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="614"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(614)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1500,1600)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="615"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(615)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1600,1700)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="616"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(616)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1700,1800)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="617"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(617)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1800,1900)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="618"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(618)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1900,2000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="619"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(619)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,100,1000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="620"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(620)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1000,2000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="621"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(621)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,100,500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="622"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(622)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1000,1500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="623"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(623)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=1"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1500,2000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
<extension name="703"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(703)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,400,500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="704"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(704)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,500,600)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="705"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(705)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,600,700)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="706"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(706)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,700,800)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="707"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(707)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,800,900)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="708"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(708)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,900,1000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="709"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(709)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1000,1100)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="710"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(710)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1100,1200)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="711"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(711)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1200,1300)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="712"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(712)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1300,1400)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="713"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(713)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1400,1500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="714"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(714)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1500,1600)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="715"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(715)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1600,1700)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="716"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(716)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1700,1800)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="717"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(717)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1800,1900)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="718"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(718)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1900,2000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="719"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(719)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,100,1000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="720"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(720)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1000,2000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="721"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(721)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,100,500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="722"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(722)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1000,1500)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="723"><!-- this BEEP must be DETECETD in detection_mode 1 (FREQ), NOTDETECTED in detection_mode 0 (AMP) and 2 (BOTH) -->
|
||||
<condition field="destination_number" expression="^(723)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,debug=0,detection_mode=2"/>
|
||||
<action application="playback" data="tone_stream://L=1;%(1850,1000,1500,2000)" />
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
<extension name="840531000"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531000)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2086613157-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531001"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531001)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2179185111-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531002"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531002)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2539488697-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531003"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531003)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2565910163-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531004"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531004)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2679091031-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531005"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531005)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2815939138-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531006"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531006)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2819127763-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531007"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531007)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/3157668346-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531008"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531008)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/4064659099-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531009"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531009)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/6062255782-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531010"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531010)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/8477910425-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531011"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531011)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2"/>
|
||||
<action application="playback" data="voicemail/8000/8508497121-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531012"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531012)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/8635280270-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531013"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531013)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2"/>
|
||||
<action application="playback" data="voicemail/8000/9106390422-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531014"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531014)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=2"/>
|
||||
<action application="playback" data="voicemail/8000/9156332150-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
|
||||
<extension name="840531200"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531200)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2086613157-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531201"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531201)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2179185111-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531202"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531202)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2539488697-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531203"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531203)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2565910163-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531204"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531204)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2679091031-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531205"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531205)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2815939138-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531206"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531206)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/2819127763-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531207"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531207)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/3157668346-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531208"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531208)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/4064659099-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531209"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531209)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/6062255782-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531210"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531210)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/8477910425-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531211"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531211)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/8508497121-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531212"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531212)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/8635280270-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531213"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531213)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/9106390422-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
||||
<extension name="840531214"><!-- obscure voicemail -->
|
||||
<condition field="destination_number" expression="^(840531214)$">
|
||||
<action application="avmd_start" data="inbound_channel=1,outbound_channel=0,detection_mode=1,debug=0"/>
|
||||
<action application="playback" data="voicemail/8000/9156332150-18-15-bad.wav"/>
|
||||
<action application="avmd_stop"/>
|
||||
<action application="hangup"/>
|
||||
</condition>
|
||||
</extension>
|
File diff suppressed because it is too large
Load Diff
@ -1,13 +1,17 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
|
||||
#brief Subscribe to avmd events and print them to the console.
|
||||
#author Piotr Gregor <piotrgregor@rsyncme.org>
|
||||
#date 13 Sept 2016 09:44 PM
|
||||
|
||||
|
||||
#!/usr/bin/perl
|
||||
$|++; # turn on autoflush
|
||||
use strict;
|
||||
use warnings;
|
||||
require ESL;
|
||||
|
||||
|
||||
my $host = "127.0.0.1";
|
||||
my $port = "8021";
|
||||
my $pass = "ClueCon";
|
||||
|
90
src/mod/applications/mod_avmd/scripts/avmd_originate.pl
Normal file
90
src/mod/applications/mod_avmd/scripts/avmd_originate.pl
Normal file
@ -0,0 +1,90 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
|
||||
#brief Call single voicemail available in default dialplan
|
||||
# and print detection result to the console.
|
||||
#author Piotr Gregor <piotrgregor@rsyncme.org>
|
||||
#date 15 Sept 2016 02:44 PM
|
||||
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
require ESL;
|
||||
use POSIX;
|
||||
use Time::HiRes;
|
||||
|
||||
my $host = "127.0.0.1";
|
||||
my $port = "8021";
|
||||
my $pass = "ClueCon";
|
||||
my $extension_base = "sofia/internal/1000\@192.168.1.60";
|
||||
|
||||
my $playback = 'local_stream://moh';
|
||||
my $context = 'default';
|
||||
my $endpoint;
|
||||
my $dest;
|
||||
my $callerid;
|
||||
|
||||
|
||||
if ($#ARGV + 1 eq 2) {
|
||||
$dest = $ARGV[0];
|
||||
$callerid = $ARGV[1];
|
||||
print "Dialing [" .$dest ."] as " .$callerid ."]\n";
|
||||
} else {
|
||||
die "Please specify destination number and caller id\n";
|
||||
}
|
||||
|
||||
my $con = new ESL::ESLconnection($host, $port, $pass);
|
||||
if (!$con) {
|
||||
die "Unable to establish connection to $host:$port\n";
|
||||
}
|
||||
if ($con->connected()) {
|
||||
print "OK, Connected.\n";
|
||||
} else {
|
||||
die "Connection failure.\n";
|
||||
}
|
||||
|
||||
print "Subscribing to avmd events...\n";
|
||||
$con->events("plain", "CUSTOM avmd::start");
|
||||
$con->events("plain", "CUSTOM avmd::stop");
|
||||
$con->events("plain", "CUSTOM avmd::beep");
|
||||
|
||||
while($con->connected()) {
|
||||
test_once($dest, $callerid);
|
||||
return 0;
|
||||
}
|
||||
|
||||
print "Disconnected.\n\n";
|
||||
|
||||
sub test_once {
|
||||
my ($dest, $callerid) = @_;
|
||||
my $originate_string =
|
||||
'originate ' .
|
||||
'{ignore_early_media=true,' .
|
||||
'origination_uuid=%s,' .
|
||||
'originate_timeout=60,' .
|
||||
'origination_caller_id_number=' . $callerid . ',' .
|
||||
'origination_caller_id_name=' . $callerid . '}';
|
||||
|
||||
if(defined($endpoint)) {
|
||||
$originate_string .= $endpoint;
|
||||
} else {
|
||||
$originate_string .= 'loopback/' . $dest . '/' . $context;
|
||||
}
|
||||
$originate_string .= ' ' . '&playback(' . $playback . ')';
|
||||
|
||||
my $uuid = $con->api('create_uuid')->getBody();
|
||||
my ($time_epoch, $time_hires) = Time::HiRes::gettimeofday();
|
||||
printf("Calling with uuid [%s] [%s]...\n", $uuid, POSIX::strftime('%Y-%m-%d %H:%M:%S', localtime($time_epoch)), $time_hires);
|
||||
|
||||
$con->bgapi(sprintf($originate_string, $uuid));
|
||||
|
||||
print "Waiting for the events...\n\n";
|
||||
while($con->connected()) {
|
||||
my $e = $con->recvEvent();
|
||||
if ($e) {
|
||||
my $body = $e->serialize('plain');
|
||||
print $body;
|
||||
print "\n\n";
|
||||
}
|
||||
}
|
||||
}
|
@ -4,8 +4,10 @@
|
||||
#brief Test module avmd by calling all voicemails available
|
||||
# in avmd test suite and print detection results to the console.
|
||||
#author Piotr Gregor <piotrgregor@rsyncme.org>
|
||||
#details If you are testing locally - remember to set avmd to inbound mode,
|
||||
# "avmd set inbound" in fs_cli.
|
||||
#details If you are testing serving voicemails from dialplan then avmd
|
||||
# must be set to inbound mode, either globally (by avmd set inbound
|
||||
# in fs_cli) or in dialplan settings (<action application="avmd_start"
|
||||
# data="inbound_channel=1,outbound_channel=0").
|
||||
#date 15 Sept 2016 03:00 PM
|
||||
|
||||
|
||||
@ -19,23 +21,99 @@ use Time::HiRes;
|
||||
|
||||
# Hashtable of <destination number : test result expectation> pairs
|
||||
my %numbers = (
|
||||
400 => "DETECTED",
|
||||
401 => "DETECTED",
|
||||
402 => "DETECTED",
|
||||
403 => "DETECTED",
|
||||
404 => "DETECTED",
|
||||
405 => "DETECTED",
|
||||
406 => "DETECTED",
|
||||
407 => "DETECTED",
|
||||
408 => "DETECTED",
|
||||
409 => "DETECTED",
|
||||
410 => "DETECTED",
|
||||
411 => "DETECTED",
|
||||
412 => "DETECTED",
|
||||
413 => "DETECTED",
|
||||
414 => "DETECTED",
|
||||
500 => "NOTDETECTED",
|
||||
501 => "NOTDETECTED"
|
||||
503 => "NOTDETECTED", # dual frequency (similar to single freq with varying amplitude), mode [0] AVMD_DETECT_AMP
|
||||
504 => "NOTDETECTED",
|
||||
505 => "NOTDETECTED",
|
||||
506 => "NOTDETECTED",
|
||||
507 => "NOTDETECTED",
|
||||
508 => "NOTDETECTED",
|
||||
509 => "NOTDETECTED",
|
||||
510 => "NOTDETECTED",
|
||||
511 => "NOTDETECTED",
|
||||
512 => "NOTDETECTED",
|
||||
513 => "NOTDETECTED",
|
||||
514 => "NOTDETECTED",
|
||||
515 => "NOTDETECTED",
|
||||
516 => "NOTDETECTED",
|
||||
517 => "NOTDETECTED",
|
||||
518 => "NOTDETECTED",
|
||||
519 => "NOTDETECTED",
|
||||
520 => "NOTDETECTED",
|
||||
521 => "NOTDETECTED",
|
||||
522 => "NOTDETECTED",
|
||||
523 => "NOTDETECTED",
|
||||
603 => "DETECTED", # dual frequency (similar to single freq with varying amplitude), mode [1] AVMD_DETECT_FREQ
|
||||
604 => "DETECTED",
|
||||
605 => "DETECTED",
|
||||
606 => "DETECTED",
|
||||
607 => "DETECTED",
|
||||
608 => "DETECTED",
|
||||
609 => "DETECTED",
|
||||
610 => "DETECTED",
|
||||
611 => "DETECTED",
|
||||
612 => "DETECTED",
|
||||
613 => "DETECTED",
|
||||
614 => "DETECTED",
|
||||
615 => "DETECTED",
|
||||
616 => "DETECTED",
|
||||
617 => "DETECTED",
|
||||
618 => "DETECTED",
|
||||
619 => "DETECTED",
|
||||
620 => "DETECTED",
|
||||
621 => "DETECTED",
|
||||
622 => "DETECTED",
|
||||
623 => "DETECTED",
|
||||
703 => "NOTDETECTED", # dual frequency (similar to single freq with varying amplitude), mode [2] AVMD_DETECT_BOTH
|
||||
704 => "NOTDETECTED",
|
||||
705 => "NOTDETECTED",
|
||||
706 => "NOTDETECTED",
|
||||
707 => "NOTDETECTED",
|
||||
708 => "NOTDETECTED",
|
||||
709 => "NOTDETECTED",
|
||||
710 => "NOTDETECTED",
|
||||
711 => "NOTDETECTED",
|
||||
712 => "NOTDETECTED",
|
||||
713 => "NOTDETECTED",
|
||||
714 => "NOTDETECTED",
|
||||
715 => "NOTDETECTED",
|
||||
716 => "NOTDETECTED",
|
||||
717 => "NOTDETECTED",
|
||||
718 => "NOTDETECTED",
|
||||
719 => "NOTDETECTED",
|
||||
720 => "NOTDETECTED",
|
||||
721 => "NOTDETECTED",
|
||||
722 => "NOTDETECTED",
|
||||
723 => "NOTDETECTED",
|
||||
840531000 => "DETECTED", # obscure voicemails, mode AVMD_DETECT_BOTH
|
||||
840531001 => "DETECTED",
|
||||
840531002 => "DETECTED",
|
||||
840531003 => "DETECTED",
|
||||
840531004 => "DETECTED",
|
||||
840531005 => "DETECTED",
|
||||
840531006 => "DETECTED",
|
||||
840531007 => "DETECTED",
|
||||
840531008 => "DETECTED",
|
||||
840531009 => "DETECTED",
|
||||
840531010 => "DETECTED",
|
||||
840531011 => "DETECTED",
|
||||
840531012 => "DETECTED",
|
||||
840531013 => "DETECTED",
|
||||
840531014 => "DETECTED",
|
||||
840531200 => "DETECTED", # obscure voicemails, mode AVMD_DETECT_FREQ
|
||||
840531201 => "DETECTED",
|
||||
840531202 => "DETECTED",
|
||||
840531203 => "DETECTED",
|
||||
840531204 => "DETECTED",
|
||||
840531205 => "DETECTED",
|
||||
840531206 => "DETECTED",
|
||||
840531207 => "DETECTED",
|
||||
840531208 => "DETECTED",
|
||||
840531209 => "DETECTED",
|
||||
840531210 => "DETECTED",
|
||||
840531211 => "DETECTED",
|
||||
840531212 => "DETECTED",
|
||||
840531213 => "DETECTED",
|
||||
840531214 => "DETECTED",
|
||||
);
|
||||
|
||||
my $host = "127.0.0.1";
|
||||
@ -72,7 +150,7 @@ if (!$con) {
|
||||
if ($con->connected()) {
|
||||
print "OK.\n";
|
||||
} else {
|
||||
die "Conenction failure.\n";
|
||||
die "Connection failure.\n";
|
||||
}
|
||||
|
||||
print "Subscribing to avmd events...\t";
|
||||
@ -108,10 +186,12 @@ sub test_once {
|
||||
'originate_timeout=60,' .
|
||||
'origination_caller_id_number=' . $callerid . ',' .
|
||||
'origination_caller_id_name=' . $callerid . '}';
|
||||
my $outcome;
|
||||
my $result;
|
||||
my $event_uuid;
|
||||
my $outcome = "";
|
||||
my $result = "";
|
||||
my $event_uuid = "N/A";
|
||||
my $uuid_in = "";
|
||||
my $freq = "N/A";
|
||||
my $freq_var = "N/A";
|
||||
|
||||
if(defined($endpoint)) {
|
||||
$originate_string .= $endpoint;
|
||||
@ -137,6 +217,10 @@ sub test_once {
|
||||
} elsif (!($uuid_in eq "") && (($avmd_event_type eq 'avmd::beep') || ($avmd_event_type eq 'avmd::stop'))) {
|
||||
$event_uuid = $e->getHeader("Unique-ID");
|
||||
if ($event_uuid eq $uuid_in) {
|
||||
if ($avmd_event_type eq 'avmd::beep') {
|
||||
$freq = $e->getHeader("Frequency");
|
||||
$freq_var = $e->getHeader("Frequency-variance");
|
||||
}
|
||||
$outcome = $e->getHeader("Beep-Status");
|
||||
if ($outcome eq $expectation) {
|
||||
$result = "PASS";
|
||||
@ -150,7 +234,7 @@ sub test_once {
|
||||
}
|
||||
} elsif ($event_name eq 'CHANNEL_HANGUP') {
|
||||
$event_uuid = $e->getHeader("variable_origination_uuid");
|
||||
if ($event_uuid eq $uuid_out) {
|
||||
if ((defined $event_uuid) && ($event_uuid eq $uuid_out)) {
|
||||
$outcome = "HANGUP";
|
||||
$result = "HANGUP";
|
||||
$hanguped++;
|
||||
@ -159,5 +243,6 @@ sub test_once {
|
||||
}
|
||||
}
|
||||
}
|
||||
printf("\t[%s]\t[%s]\t\t[%s]\n", POSIX::strftime('%Y-%m-%d %H:%M:%S', localtime($time_epoch)), $expectation, $result);
|
||||
printf("\t[%s]\t[%s]\t\t[%s]\t[%s]HZ\t[%s]\n", POSIX::strftime('%Y-%m-%d %H:%M:%S', localtime($time_epoch)), $expectation, $result, $freq, $freq_var);
|
||||
Time::HiRes::sleep(0.5); # avoid switch_core_session.c:2265 Throttle Error! 33, switch_time.c:1227 Over Session Rate of 30!
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user