<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">See the previous response about our commercial module available if you are looking for something that detects segments of speech/silence. &nbsp;That is exactly what that module does.<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 4, 2016, at 2:42 PM, Piotr Gregor &lt;<a href="mailto:peterg@sytelco.com" class="">peterg@sytelco.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">Hi,<div class=""><span class="im" style="font-size:12.8px"><div class="">"<span style="font-size:12.8px" class="">I looked at the AVMD module documentation at&nbsp;</span><a href="https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd" target="_blank" style="font-size:12.8px" class="">https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd</a><span style="font-size:12.8px" class="">&nbsp;, and it seems to indicate that this simply detects a beep, i.e. it does not use talking / silence heuristics into account to determine if the call is answered by a human or machine.&nbsp;</span></div><div class=""><span style="font-size:12.8px" class="">Am I correct about that?&nbsp;</span><span style="font-size:12.8px" class="">"</span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div></span><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class="">Yes. The AVMD module works by calculating the estimate of the frequency and amplitude of signal using DESA-2 algorithm. It fires amd::beep event when the variance for the frequency estimate is below the threshold.</span></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class="">The event is of form:</span></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div style="font-size:12.8px" class=""><div class=""><span style="font-size:12.8px" class="">Event-Subclass: avmd%3A%3Abeep</span></div><div class=""><span style="font-size:12.8px" class="">Event-Name: CUSTOM</span></div><div class=""><span style="font-size:12.8px" class="">Core-UUID: 36a5b214-8d83-487e-8f8b-50af9a090486</span></div><div class=""><span style="font-size:12.8px" class="">FreeSWITCH-Hostname: home</span></div><div class=""><span style="font-size:12.8px" class="">FreeSWITCH-Switchname: home</span></div><div class=""><span style="font-size:12.8px" class="">FreeSWITCH-IPv4: 128.11.35.8</span></div><div class=""><span style="font-size:12.8px" class="">FreeSWITCH-IPv6: %3A%3A1</span></div><div class=""><span style="font-size:12.8px" class="">Event-Date-Local: 2016-02-04%2016%3A56%3A55</span></div><div class=""><span style="font-size:12.8px" class="">Event-Date-GMT: Thu,%2004%20Feb%202016%2016%3A56%3A55%20GMT</span></div><div class=""><span style="font-size:12.8px" class="">Event-Date-Timestamp: 1454605015915799</span></div><div class=""><span style="font-size:12.8px" class="">Event-Calling-File: mod_avmd.c</span></div><div class=""><span style="font-size:12.8px" class="">Event-Calling-Function: avmd_process</span></div><div class=""><span style="font-size:12.8px" class="">Event-Calling-Line-Number: 556</span></div><div class=""><span style="font-size:12.8px" class="">Event-Sequence: 950</span></div><div class=""><span style="font-size:12.8px" class="">Beep-Status: stop</span></div><div class=""><span style="font-size:12.8px" class="">Unique-ID: 0a6f6df3-cc48-4b8a-93f3-b35ee1b8ef0a</span></div><div class=""><span style="font-size:12.8px" class="">call-command: avmd</span></div></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class="">The AVMD doesn't take into consideration segments of speech and segments of silence. It simply calculates it's estimate of frequency and amplitude.</span></div><span class="im" style="font-size:12.8px"><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class="">"</span><span style="font-size:12.8px" class="">How is this intended to be used, do I assume that the call is answered by a human until this module sends a&nbsp;avmd%3A%3Abeep event to me?&nbsp; How do others use this module or other techniques to determine human / machine answer to outbound calls with Freeswitch? "</span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div></span><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class="">It's use is to detect beep only.</span></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class="">You can test how it works by creating extension that will play a tone of given frequency, e.g:</span></div><div style="font-size:12.8px" class=""><div style="font-size:12.8px" class="">&nbsp; &nbsp; &lt;extension name="10014"&gt;</div><div style="font-size:12.8px" class="">&nbsp; &nbsp; &nbsp; &lt;condition field="destination_number" expression="^10014$"&gt;</div><div style="font-size:12.8px" class="">&nbsp; &nbsp; &nbsp; &nbsp; &lt;action application="playback" data="tone_stream://L=3;%(500,6850,850)" /&gt;</div><div style="font-size:12.8px" class="">&nbsp; &nbsp; &nbsp; &nbsp; &lt;action application="hangup"/&gt;</div><div style="font-size:12.8px" class="">&nbsp; &nbsp; &nbsp; &lt;/condition&gt;</div><div style="font-size:12.8px" class="">&nbsp; &nbsp; &lt;/extension&gt;</div><div style="font-size:12.8px" class="">This plays tone of 500Hz frequency and 6850 ms long, then silence by 850 ms.</div><div style="font-size:12.8px" class=""><br class=""></div><div style="font-size:12.8px" class="">Start avmd on the call with fs_cli:</div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class="">avmd 8c6a6bb1-ec64-4b2c-9e48-93a6a2598b64 start</span><br class=""></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class="">and inspect events by regestering to avmd events with:</span></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class="">events plain CUSTOM avmd::beep</span><br class=""></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class="">Analysing the audio for a presence of the tone is not enough for answering machine detection. You should also analyse at least the length of speech/silence segments. You can do this by subscription to TALK/NOTALK events.</span></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class="">Hope this helps.</span></div><div style="font-size:12.8px" class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class="">cheers,</span></div><div class=""><span style="font-size:12.8px" class="">Piotr</span></div></div></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On 4 February 2016 at 17:50, Piotr Gregor <span dir="ltr" class="">&lt;<a href="mailto:peterg@sytelco.com" target="_blank" class="">peterg@sytelco.com</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">Hi,<span class=""><div class="">"<span style="font-size:12.8px" class="">I looked at the AVMD module documentation at&nbsp;</span><a href="https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd" style="font-size:12.8px" target="_blank" class="">https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd</a><span style="font-size:12.8px" class="">&nbsp;, and it seems to indicate that this simply detects a beep, i.e. it does not use talking / silence heuristics into account to determine if the call is answered by a human or machine.&nbsp;</span></div><div class=""><span style="font-size:12.8px" class="">Am I correct about that?&nbsp;</span><span style="font-size:12.8px" class="">"</span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div></span><div class=""><span style="font-size:12.8px" class="">Yes. The AVMD module works by calculating the estimate of the frequency using DESA-2 algorithm. It fires amd::beep event when the variance for that estimate is below threshold.</span></div><div class=""><span style="font-size:12.8px" class="">The event is of form:</span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><div class=""><span style="font-size:12.8px" class="">Event-Subclass: avmd%3A%3Abeep</span></div><div class=""><span style="font-size:12.8px" class="">Event-Name: CUSTOM</span></div><div class=""><span style="font-size:12.8px" class="">Core-UUID: 36a5b214-8d83-487e-8f8b-50af9a090486</span></div><div class=""><span style="font-size:12.8px" class="">FreeSWITCH-Hostname: home</span></div><div class=""><span style="font-size:12.8px" class="">FreeSWITCH-Switchname: home</span></div><div class=""><span style="font-size:12.8px" class="">FreeSWITCH-IPv4: 128.11.35.8</span></div><div class=""><span style="font-size:12.8px" class="">FreeSWITCH-IPv6: %3A%3A1</span></div><div class=""><span style="font-size:12.8px" class="">Event-Date-Local: 2016-02-04%2016%3A56%3A55</span></div><div class=""><span style="font-size:12.8px" class="">Event-Date-GMT: Thu,%2004%20Feb%202016%2016%3A56%3A55%20GMT</span></div><div class=""><span style="font-size:12.8px" class="">Event-Date-Timestamp: 1454605015915799</span></div><div class=""><span style="font-size:12.8px" class="">Event-Calling-File: mod_avmd.c</span></div><div class=""><span style="font-size:12.8px" class="">Event-Calling-Function: avmd_process</span></div><div class=""><span style="font-size:12.8px" class="">Event-Calling-Line-Number: 556</span></div><div class=""><span style="font-size:12.8px" class="">Event-Sequence: 950</span></div><div class=""><span style="font-size:12.8px" class="">Beep-Status: stop</span></div><div class=""><span style="font-size:12.8px" class="">Unique-ID: 0a6f6df3-cc48-4b8a-93f3-b35ee1b8ef0a</span></div><div class=""><span style="font-size:12.8px" class="">call-command: avmd</span></div></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class="">The AVMD doesn't take into consideration TALK/NOTALK events.</span></div><span class=""><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class="">"</span><span style="font-size:12.8px" class="">How is this intended to be used, do I assume that the call is answered by a human until this module sends a&nbsp;avmd%3A%3Abeep event to me?&nbsp; How do others use this module or other techniques to determine human / machine answer to outbound calls with Freeswitch? "</span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div></span><div class=""><span style="font-size:12.8px" class="">You can test how it works by creating extension that will play a tone of given frequency, e.g:</span></div><div class=""><div style="font-size:12.8px" class="">&nbsp; &nbsp; &lt;extension name="10014"&gt;</div><div style="font-size:12.8px" class="">&nbsp; &nbsp; &nbsp; &lt;condition field="destination_number" expression="^10014$"&gt;</div><div style="font-size:12.8px" class="">&nbsp; &nbsp; &nbsp; &nbsp; &lt;action application="playback" data="tone_stream://L=3;%(500,6850,850)" /&gt;</div><div style="font-size:12.8px" class="">&nbsp; &nbsp; &nbsp; &nbsp; &lt;action application="hangup"/&gt;</div><div style="font-size:12.8px" class="">&nbsp; &nbsp; &nbsp; &lt;/condition&gt;</div><div style="font-size:12.8px" class="">&nbsp; &nbsp; &lt;/extension&gt;</div><div style="font-size:12.8px" class="">This plays tone of 500Hz frequency and 6850 ms long, then silence by 850 ms.</div><div style="font-size:12.8px" class=""><br class=""></div><div style="font-size:12.8px" class="">Start avmd on the call with fs_cli:</div><div class=""><span style="font-size:12.8px" class="">avmd 8c6a6bb1-ec64-4b2c-9e48-93a6a2598b64 start</span><br class=""></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class="">and inspect events by regestering to avmd events with:</span></div><div class=""><span style="font-size:12.8px" class="">events plain CUSTOM avmd::beep</span><br class=""></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class="">Analysing the audio for a presence of the tone is not enough for answering machine detection. You should also analyse at least the length of speech/silence segments.</span></div><div class=""><span style="font-size:12.8px" class="">Hope this helps.</span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class="">cheers,</span></div><div class=""><span style="font-size:12.8px" class="">Piotr</span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div style="font-size:12.8px" class=""><br class=""></div></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8px" class=""><br class=""></span></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br class=""><div class="gmail_quote">On 3 February 2016 at 19:50, Christopher Rienzo <span dir="ltr" class="">&lt;<a href="mailto:cmrienzo@gmail.com" target="_blank" class="">cmrienzo@gmail.com</a>&gt;</span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr" class="">I wouldn't use beep detection in a dialer application, but it could be useful in something like follow me to reduce the occurrence of voicemails being left on subscriber phones.<br class=""></div><div class="gmail_extra"><br class=""><div class="gmail_quote"><div class=""><div class="">On Wed, Feb 3, 2016 at 2:28 PM, Bob Hartwig <span dir="ltr" class="">&lt;<a href="mailto:bobjectsfreeswitch@gmail.com" target="_blank" class="">bobjectsfreeswitch@gmail.com</a>&gt;</span> wrote:<br class=""></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class=""><div class=""><div dir="ltr" class="">I have a client that needs to reliably detect if their outbound calls are answered by a human or voicemail system, so that they can take different actions based on that determination.<div class=""><br class=""></div><div class="">I looked at the AVMD module documentation at&nbsp;<a href="https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd" target="_blank" class="">https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd</a> , and it seems to indicate that this simply detects a beep, i.e. it does not use talking / silence heuristics into account to determine if the call is answered by a human or machine. &nbsp;</div><div class=""><br class=""></div><div class="">Am I correct about that?&nbsp; How is this intended to be used, do I assume that the call is answered by a human until this module sends a&nbsp;avmd%3A%3Abeep event to me?&nbsp; How do others use this module or other techniques to determine human / machine answer to outbound calls with Freeswitch?&nbsp;</div><div class=""><br class=""></div><div class="">Thanks!</div><span class=""><font color="#888888" class=""><div class="">Bob</div><div class=""><br class=""></div><div class=""><br class=""></div></font></span></div>
<br class=""></div></div><span class="">_________________________________________________________________________<br class="">
Professional FreeSWITCH Consulting Services:<br class="">
<a href="mailto:consulting@freeswitch.org" target="_blank" class="">consulting@freeswitch.org</a><br class="">
<a href="http://www.freeswitchsolutions.com/" rel="noreferrer" target="_blank" class="">http://www.freeswitchsolutions.com</a><br class="">
<br class="">
Official FreeSWITCH Sites<br class="">
<a href="http://www.freeswitch.org/" rel="noreferrer" target="_blank" class="">http://www.freeswitch.org</a><br class="">
<a href="http://confluence.freeswitch.org/" rel="noreferrer" target="_blank" class="">http://confluence.freeswitch.org</a><br class="">
<a href="http://www.cluecon.com/" rel="noreferrer" target="_blank" class="">http://www.cluecon.com</a><br class="">
<br class="">
FreeSWITCH-users mailing list<br class="">
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank" class="">FreeSWITCH-users@lists.freeswitch.org</a><br class="">
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank" class="">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br class="">
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank" class="">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br class="">
<a href="http://www.freeswitch.org/" rel="noreferrer" target="_blank" class="">http://www.freeswitch.org</a><br class=""></span></blockquote></div><br class=""></div>
<br class="">_________________________________________________________________________<br class="">
Professional FreeSWITCH Consulting Services:<br class="">
<a href="mailto:consulting@freeswitch.org" target="_blank" class="">consulting@freeswitch.org</a><br class="">
<a href="http://www.freeswitchsolutions.com/" rel="noreferrer" target="_blank" class="">http://www.freeswitchsolutions.com</a><br class="">
<br class="">
Official FreeSWITCH Sites<br class="">
<a href="http://www.freeswitch.org/" rel="noreferrer" target="_blank" class="">http://www.freeswitch.org</a><br class="">
<a href="http://confluence.freeswitch.org/" rel="noreferrer" target="_blank" class="">http://confluence.freeswitch.org</a><br class="">
<a href="http://www.cluecon.com/" rel="noreferrer" target="_blank" class="">http://www.cluecon.com</a><br class="">
<br class="">
FreeSWITCH-users mailing list<br class="">
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank" class="">FreeSWITCH-users@lists.freeswitch.org</a><br class="">
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank" class="">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br class="">
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank" class="">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br class="">
<a href="http://www.freeswitch.org/" rel="noreferrer" target="_blank" class="">http://www.freeswitch.org</a><br class=""></blockquote></div><br class=""></div>
</div></div></blockquote></div><br class=""></div>
_________________________________________________________________________<br class="">Professional FreeSWITCH Consulting Services: <br class=""><a href="mailto:consulting@freeswitch.org" class="">consulting@freeswitch.org</a><br class="">http://www.freeswitchsolutions.com<br class=""><br class="">Official FreeSWITCH Sites<br class="">http://www.freeswitch.org<br class="">http://confluence.freeswitch.org<br class="">http://www.cluecon.com<br class=""><br class="">FreeSWITCH-users mailing list<br class="">FreeSWITCH-users@lists.freeswitch.org<br class="">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users<br class="">UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users<br class="">http://www.freeswitch.org</div></blockquote></div><br class=""></div></body></html>