[Freeswitch-users] Best practices for determining if originated call is answered by human or voicemail system?

Michael Jerris mike at jerris.com
Fri Feb 5 01:06:25 MSK 2016


See the previous response about our commercial module available if you are looking for something that detects segments of speech/silence.  That is exactly what that module does.

> On Feb 4, 2016, at 2:42 PM, Piotr Gregor <peterg at sytelco.com> wrote:
> 
> Hi,
> "I looked at the AVMD module documentation at https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd <https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd> , 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. 
> Am I correct about that? "
> 
> 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.
> The event is of form:
> 
> Event-Subclass: avmd%3A%3Abeep
> Event-Name: CUSTOM
> Core-UUID: 36a5b214-8d83-487e-8f8b-50af9a090486
> FreeSWITCH-Hostname: home
> FreeSWITCH-Switchname: home
> FreeSWITCH-IPv4: 128.11.35.8
> FreeSWITCH-IPv6: %3A%3A1
> Event-Date-Local: 2016-02-04%2016%3A56%3A55
> Event-Date-GMT: Thu,%2004%20Feb%202016%2016%3A56%3A55%20GMT
> Event-Date-Timestamp: 1454605015915799
> Event-Calling-File: mod_avmd.c
> Event-Calling-Function: avmd_process
> Event-Calling-Line-Number: 556
> Event-Sequence: 950
> Beep-Status: stop
> Unique-ID: 0a6f6df3-cc48-4b8a-93f3-b35ee1b8ef0a
> call-command: avmd
> 
> The AVMD doesn't take into consideration segments of speech and segments of silence. It simply calculates it's estimate of frequency and amplitude.
> 
> 
> "How is this intended to be used, do I assume that the call is answered by a human until this module sends a avmd%3A%3Abeep event to me?  How do others use this module or other techniques to determine human / machine answer to outbound calls with Freeswitch? "
> 
> It's use is to detect beep only.
> You can test how it works by creating extension that will play a tone of given frequency, e.g:
>     <extension name="10014">
>       <condition field="destination_number" expression="^10014$">
>         <action application="playback" data="tone_stream://L=3;%(500,6850,850)" />
>         <action application="hangup"/>
>       </condition>
>     </extension>
> This plays tone of 500Hz frequency and 6850 ms long, then silence by 850 ms.
> 
> Start avmd on the call with fs_cli:
> avmd 8c6a6bb1-ec64-4b2c-9e48-93a6a2598b64 start
> 
> and inspect events by regestering to avmd events with:
> events plain CUSTOM avmd::beep
> 
> 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.
> Hope this helps.
> 
> cheers,
> Piotr
> 
> On 4 February 2016 at 17:50, Piotr Gregor <peterg at sytelco.com <mailto:peterg at sytelco.com>> wrote:
> Hi,
> "I looked at the AVMD module documentation at https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd <https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd> , 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. 
> Am I correct about that? "
> 
> 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.
> The event is of form:
> 
> Event-Subclass: avmd%3A%3Abeep
> Event-Name: CUSTOM
> Core-UUID: 36a5b214-8d83-487e-8f8b-50af9a090486
> FreeSWITCH-Hostname: home
> FreeSWITCH-Switchname: home
> FreeSWITCH-IPv4: 128.11.35.8
> FreeSWITCH-IPv6: %3A%3A1
> Event-Date-Local: 2016-02-04%2016%3A56%3A55
> Event-Date-GMT: Thu,%2004%20Feb%202016%2016%3A56%3A55%20GMT
> Event-Date-Timestamp: 1454605015915799
> Event-Calling-File: mod_avmd.c
> Event-Calling-Function: avmd_process
> Event-Calling-Line-Number: 556
> Event-Sequence: 950
> Beep-Status: stop
> Unique-ID: 0a6f6df3-cc48-4b8a-93f3-b35ee1b8ef0a
> call-command: avmd
> 
> The AVMD doesn't take into consideration TALK/NOTALK events.
> 
> 
> "How is this intended to be used, do I assume that the call is answered by a human until this module sends a avmd%3A%3Abeep event to me?  How do others use this module or other techniques to determine human / machine answer to outbound calls with Freeswitch? "
> 
> You can test how it works by creating extension that will play a tone of given frequency, e.g:
>     <extension name="10014">
>       <condition field="destination_number" expression="^10014$">
>         <action application="playback" data="tone_stream://L=3;%(500,6850,850)" />
>         <action application="hangup"/>
>       </condition>
>     </extension>
> This plays tone of 500Hz frequency and 6850 ms long, then silence by 850 ms.
> 
> Start avmd on the call with fs_cli:
> avmd 8c6a6bb1-ec64-4b2c-9e48-93a6a2598b64 start
> 
> and inspect events by regestering to avmd events with:
> events plain CUSTOM avmd::beep
> 
> 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.
> Hope this helps.
> 
> cheers,
> Piotr
> 
> 
> 
> 
> 
> 
> 
> On 3 February 2016 at 19:50, Christopher Rienzo <cmrienzo at gmail.com <mailto:cmrienzo at gmail.com>> wrote:
> 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.
> 
> On Wed, Feb 3, 2016 at 2:28 PM, Bob Hartwig <bobjectsfreeswitch at gmail.com <mailto:bobjectsfreeswitch at gmail.com>> wrote:
> 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.
> 
> I looked at the AVMD module documentation at https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd <https://freeswitch.org/confluence/display/FREESWITCH/mod_avmd> , 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.  
> 
> Am I correct about that?  How is this intended to be used, do I assume that the call is answered by a human until this module sends a avmd%3A%3Abeep event to me?  How do others use this module or other techniques to determine human / machine answer to outbound calls with Freeswitch? 
> 
> Thanks!
> Bob
> 
> 
> 
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org <mailto:consulting at freeswitch.org>
> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
> 
> Official FreeSWITCH Sites
> http://www.freeswitch.org <http://www.freeswitch.org/>
> http://confluence.freeswitch.org <http://confluence.freeswitch.org/>
> http://www.cluecon.com <http://www.cluecon.com/>
> 
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org <mailto:FreeSWITCH-users at lists.freeswitch.org>
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users>
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users>
> http://www.freeswitch.org <http://www.freeswitch.org/>
> 
> 
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org <mailto:consulting at freeswitch.org>
> http://www.freeswitchsolutions.com <http://www.freeswitchsolutions.com/>
> 
> Official FreeSWITCH Sites
> http://www.freeswitch.org <http://www.freeswitch.org/>
> http://confluence.freeswitch.org <http://confluence.freeswitch.org/>
> http://www.cluecon.com <http://www.cluecon.com/>
> 
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org <mailto:FreeSWITCH-users at lists.freeswitch.org>
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users <http://lists.freeswitch.org/mailman/listinfo/freeswitch-users>
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users <http://lists.freeswitch.org/mailman/options/freeswitch-users>
> http://www.freeswitch.org <http://www.freeswitch.org/>
> 
> 
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services: 
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
> 
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
> 
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20160204/05c384f9/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list