[Asterisk-Users] Answering Machine Detection

Steve Underwood steveu at coppice.org
Wed Oct 29 05:24:30 MST 2003


Alastair Maw wrote:

> On 27/10/03 21:57, DUSTIN WILDES wrote:
>
>> Does anyone have any recommendations on implementing Answering
>> Machine detection for call generation programs?
>
>
> There's obviously no nice way of doing this.
> If you're doing telemarketing, and you're playing pre-recorded audio, 
> which of course is a nasty thing to do, the algorithm is something like:
>
> 1. Dial out.
> 2. Wait for answer.
> 3. Start playing audio.
> 4. If you hear something that sounds like a beep, either hang up
>    and try again later, or stop the audio, pause for two seconds
>    and start playing it again.
> 5. Hang up when finished playing audio.
>
> Step 4 is accomplished by doing a FFT on the incoming audio into 
> frequency buckets and taking a rolling average of the mean and 
> standard deviation, such that you can detect when a fixed monotone 
> beep occurs at the other end. 

How very inefficient. Looking for peaks in the autocorrelation function 
requires much less compute.

> If you don't want to play audio files and wait for beeps, and want to 
> connect real humans to each other, then there's no decent way to do 
> this, as the only difference between humans and arbitrary answering 
> machines is that the answering machines give you a beep prompt to 
> record your message.

Right. Dialogic and others make a big fuss of the super detection 
algorithms, and quote 90+% accuracy. In the real world they are utterly 
useless. Call answering just doesn't fall into a sufficient redular patterm.

Regards,
Steve





More information about the asterisk-users mailing list