[Asterisk-Dev] answering machine detection

Scott Stingel scott at evtmedia.com
Fri Mar 4 13:03:13 MST 2005


Preston-

You might want to try just using the length of the answer as a guide to 
whether it's a person or machine, and run your own tests.  I tried it a 
lot recently for an outbound customer, and it worked very well.

I think you'll find that greetings over about 2.5 seconds are very 
likely an answering machine.

Also, you can do this with the standard Background application, just 
playing 30 seconds of silence for the background.  This application sets 
a variable which allows you to determine how long it was before the 
speech occurred.  Something like this in your outbound application:

....your own stuff......., then:

exten => s,4,BackgroundDetect(24SecSilence|1200|80|15000)   <- using the 
recording of silence

; Test for no voice - TALK_DETECTED will not be defined:
exten => s,5,GotoIf($[BLAH${TALK_DETECTED} = BLAH]?40:6)

; Check length of voice detected:
exten => s,6,Noop,${TALK_DETECTED}
exten => s,7,GotoIf($[${TALK_DETECTED} > 2500]?31:21)

; If greeting <= 2.5 seconds, it's a person
exten => s,21,....something...
exten => s,22,....something...
exten => s,23,Goto(s,40)

; If greeting > 2.5 seconds, it's an answering machine
exten => s,31,.....something....
exten => s,32,.....something...

exten => s,40,Playback(Goodbye)
exten => s,41,Hangup


Regards
Scott Stingel

www.evtmedia.com





Preston Garrison wrote:

> How did you end up doing reliable detection?
>
>
> Preston Garrison
> direct: 877-748-4142
> fax: 310-774-3901
> cell: 623-748-4140
>
> -----Original Message-----
> From: Steve Underwood <steveu at coppice.org>
> To: Ben Hencke <brainstar at gmail.com>; Asterisk Developers Mailing List 
> <asterisk-dev at lists.digium.com>
> Sent: Sat, 05 Mar 2005 02:23:03 +0800
> Subject: Re: [Asterisk-Dev] answering machine detection
>
> Pretty useless, but Dialogic made lots of money doing the same thing. :-)
>
>  Depending on your application the success rate is somewhere between 
> zero and 100% - really. For example, it will declare most switchboard 
> operators to be answering machines, as they usually give a long 
> welcome with a company name and so on. If your application is mostly 
> calling companies the success rate could be close to zero. Been there. 
> Done that with Dialogic.
>
> Regards,
> Steve
>
> Ben Hencke wrote:
>
> >Check out my machine detection app. It is listed on the voip wiki and
> >you can get it from here:
> >
> >http://www.thenetbrain.com/files/app_machinedetect.c
> >
> >Just add it to the makefile in the apps directory. The documentation
> >for it is available in * console by doing "show application
> >machinedetect".
> >
> >It works by detection the length of the greeting. Most answering
> >machines have a greeting that is much longer than a "hello". Not 100%
> >but better than nothing.
> >
> >If you check it out, please let me know how it works for you.
> >
> >- Ben
> >
> >
>  >On Thu, 03 Mar 2005 07:47:28 +0800, Steve Underwood 
> <steveu at coppice.org> wrote:
> > >
> >>Preston Garrison wrote:
> >>
> >> >>
>  >>>Has anyone worked on any code or have any experience doing answering
>  >>>machine detection. Someone I was talking to was telling me something
> >>>like normal callers do more mhz? :) Which I assume maybe they mean
> >>>that a normal caller sends higher frequencies since its not
> >>>pre-recorded. However I am wonder if the codec compression would
> >>>remove that. Anyone out there have any experience with coding such
> >>>things or using them?
> >>> >>>
> >>Search the mailing lists. This issue comes up regularly.
> >>
> >>Regards,
> >>Steve
> >> >>
>
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-dev
>  
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-dev
>
> .
>




More information about the asterisk-dev mailing list