Does anyone have any recommendations on implementing Answering Machine detection for call generation programs? What I would like is * to determine what picks up the other line (Answering Machine, Voicemail, or Human) to determine which action to take. For example: If * detects Answering Machine or Voicemail, hangup call & the AGI will log (ANSWERING MACHINE DETECTED) and at that point, don't queue that call to re-dial later. If * detects a Human picks up the call, the AGI will log (PERSON PICK-UP) and log that entry. I'm currently running a cron job everynight that queries a database of records to call select individuals for reminders. A call.<id> file is generated and placed in /var/spool/asterisk/outgoing for dialing. If you need more info - please let me know, any input/suggestions welcome!!!
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. 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. Regards, -- Alastair Maw
Thanks for all the info! So I take it I would need to either build an additional APP to asterisk like (voice_detection) or into an AGI and have that application or AGI run after the call is Answered? Fortunately it's not a telemarketing system! :-) It's an appointment reminder system for some of our employees. Calls them up and reminds them of important tasks like meetings and stuff. -----Original Message----- From: Michiel Betel [mailto:michiel@betel.nl] Sent: Wednesday, October 29, 2003 8:11 AM To: asterisk-users@lists.digium.com Subject: RE: [Asterisk-Users] Answering Machine Detection See http://resource.intel.com/telecom/support/documentation/unix/SR50_linux/html _files/vox_feat/contents.html#TopOfPage chapter 2 for a basic insight on Dialogic does it... -----Original Message----- From: asterisk-users-admin@lists.digium.com [mailto:asterisk-users-admin@lists.digium.com] On Behalf Of Eric Wieling Sent: woensdag 29 oktober 2003 3:12 To: asterisk-users@lists.digium.com Subject: Re: [Asterisk-Users] Answering Machine Detection Humans tend to say "Hello?" (short burst of audio followed by silence), and answering machines tend to say "I'm sorry I'm not here right now, please leave a message after the beep" (long burst of audio followed by a beep and silence). So, basically you need to decide 1) what is audio and what is background noise and 2) how long should there be audio followed by silence. On Tue, 2003-10-28 at 19:25, 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. > > > 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. > > Regards,-- Sample configs, scripts, more : http://www.fnords.org/~eric/asterisk/ BTEL Consulting 504-899-1387 or 850-484-4545 or 877-677-9643 _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users _______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users
Because I need detection for the logging functions. Otherwise I won't get accurate logging results. -----Original Message----- From: Bryan Nolen [mailto:reveng@arc.net.au] Sent: Wednesday, October 29, 2003 8:38 AM To: asterisk-users@lists.digium.com Subject: RE: [Asterisk-Users] Answering Machine Detection Why not just ask them to "press-any-key" ?> -----Original Message----- > From: asterisk-users-admin@lists.digium.com > [mailto:asterisk-users-admin@lists.digium.com] On Behalf Of > DUSTIN WILDES > Sent: Thursday, 30 October 2003 12:30 AM > To: asterisk-users@lists.digium.com > Subject: RE: [Asterisk-Users] Answering Machine Detection > > > Thanks for all the info! > So I take it I would need to either build an additional APP > to asterisk like (voice_detection) or into an AGI and have > that application or AGI run after the call is Answered? > > Fortunately it's not a telemarketing system! :-) > It's an appointment reminder system for some of our > employees. Calls them up and reminds them of important tasks > like meetings and stuff. > > > > > -----Original Message----- > From: Michiel Betel [mailto:michiel@betel.nl] > Sent: Wednesday, October 29, 2003 8:11 AM > To: asterisk-users@lists.digium.com > Subject: RE: [Asterisk-Users] Answering Machine Detection > > > See > http://resource.intel.com/telecom/support/documentation/unix/S > R50_linux/html > _files/vox_feat/contents.html#TopOfPage chapter 2 for a basic > insight on > Dialogic does it... > > -----Original Message----- > From: asterisk-users-admin@lists.digium.com > [mailto:asterisk-users-admin@lists.digium.com] On Behalf Of > Eric Wieling > Sent: woensdag 29 oktober 2003 3:12 > To: asterisk-users@lists.digium.com > Subject: Re: [Asterisk-Users] Answering Machine Detection > > > Humans tend to say "Hello?" (short burst of audio followed by > silence), and > answering machines tend to say "I'm sorry I'm not here right > now, please > leave a message after the beep" (long burst of audio followed > by a beep and > silence). > > So, basically you need to decide 1) what is audio and what is > background > noise and 2) how long should there be audio followed by silence. > > On Tue, 2003-10-28 at 19:25, 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. > > > > > > 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. > > > > Regards, > -- > Sample configs, scripts, more : http://www.fnords.org/~eric/asterisk/ > > BTEL Consulting 504-899-1387 or 850-484-4545 or 877-677-9643 > > _______________________________________________ > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users > > > _______________________________________________ > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users > _______________________________________________ > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users >_______________________________________________ Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users
> Why not just ask them to "press-any-key" ? >And if any of them get confused you can refer them to Compaq frequently asked question #2859 http://web14.compaq.com/falco/detail.asp?FAQnum=FAQ2859 :)
some information can be found here about algorithm and descriptions of method being used. http://citeseer.nj.nec.com/393112.html Regards, Alexander ******************************************************************* XVOIP network is lunched, get your +1 777 number today. registry@xvoip.com ******************************************************************* Unofficial Asterisk Forums ******************************************************************* URL : http://asterisk.xvoip.com Registration is : http://asterisk.xvoip.com/profile.php?mode=register ******************************************************************* ----- Original Message ----- From: "Ray Burkholder" <ray@oneunified.net> To: <asterisk-users@lists.digium.com> Sent: Wednesday, October 29, 2003 9:17 AM Subject: RE: [Asterisk-Users] Answering Machine Detection> Might want to write a new > > "energy detector" algorithm in dsp.c though based on a wideband/low Q > > resonator approach (move the pole way in towards the origin) > > as opposed to > > narrow band goertzels (pole on the unit circle). More robust > > for this type > > of work. > > Where does one go to learn this terminology and the math to implement it? > > > -- > Scanned for viruses and dangerous content at > http://www.oneunified.net and is believed to be clean. > > _______________________________________________ > Asterisk-Users mailing list > Asterisk-Users@lists.digium.com > http://lists.digium.com/mailman/listinfo/asterisk-users >
Did you mistype or something. That link is about power profiling the consumption of DSPs :-) Regards, Steve Asterisk online forums wrote:>some information can be found here about algorithm and descriptions of >method being used. >http://citeseer.nj.nec.com/393112.html > >Regards, >Alexander > >******************************************************************* >XVOIP network is lunched, get your +1 777 number today. registry@xvoip.com >******************************************************************* >Unofficial Asterisk Forums >******************************************************************* >URL : http://asterisk.xvoip.com >Registration is : http://asterisk.xvoip.com/profile.php?mode=register >******************************************************************* > >
Ray Burkholder wrote:>Might want to write a new > > >>"energy detector" algorithm in dsp.c though based on a wideband/low Q >>resonator approach (move the pole way in towards the origin) >>as opposed to >>narrow band goertzels (pole on the unit circle). More robust >>for this type >>of work. >> >> > >Where does one go to learn this terminology and the math to implement it? >Apparantly not to this source. :-) A Goertzel filter finds one output bin of a DFT. Since the width of the bins in a DFT is directly related to the number of samples you include in a processed block, the width of the Goertzel is too. A Geortzel is as wide or as narrow as you want it to be. Oh, and k does not need to be an integer, unless you are trying to evaluate phase. That is a common misconception. There is a sliding window version of a Goertzel filter, but this has the same characteristics as the standard version, as it is just a trick for calculating a continuous stream of Goertzels efficiently. Regards, Steve
Hi all, I would like to have basic answering machine detection for a notification service (not spam, not telemarketing) so that I know when I get a machine, and also to avoid starting the message during the machine greeting. I have found the WaitForSilence app in CVS, and this seems like it would do exactly what I need, but does not seem to work in my setup. I am making the call over VoIP (tryed AIX and SIP with GSM), but keep getting errors where it calls app_waitfor(). I get these messages on the console: "One waitfor failed. " "No audio available on <channel>??" If I use IAX, the progress will wait for some silence, but still display the error after it gets some silence. If I use SIP, it will never wait more than a few seconds and doesn't seem to wait for any silence at all. Does anyone know of some other ways (ie applications) to detect answering machines? Thanks in advance, Ben
Anyone aware if Digium or Sangoma, or possibly a function of Asterisk, supports answering machine detection on an outbound call? -- Cory J Andrews Partner / Purchasing +++++++++++++++ VOIPSupply.com - Everything you need for VOIP 454 Sonwil Drive Buffalo, NY 14225 +++++++++++++++ tf voice - 800-398-VOIP X22 l voice - 716.630.1555 X22 f - 716.630.1548 e - Cory@VOIPSupply.com AIM - b2Cory
It's already built in. AMD. -----Original Message----- From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of steve@daviesfam.org Sent: Wednesday, October 05, 2005 4:05 PM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [Asterisk-Users] Answering Machine Detection On Wed, 5 Oct 2005, Cory Andrews wrote:> Anyone aware if Digium or Sangoma, or possibly a function of Asterisk,> supports answering machine detection on an outbound call?I'll post a detector on Mantis tomorrow (honestly!) Steve _______________________________________________ --Bandwidth and Colocation sponsored by Easynews.com -- Asterisk-Users mailing list Asterisk-Users@lists.digium.com http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users The contents of this email message and any attachments are confidential and are intended solely for addressee. The information may also be legally privileged. This transmission is sent in trust, for the sole purpose of delivery to the intended recipient. If you have received this transmission in error, any use, reproduction or dissemination of this transmission is strictly prohibited. If you are not the intended recipient, please immediately notify the sender by reply email and delete this message and its attachments, if any.
I just checked the 1.2 source. It looks like app_AMD is gone. All references to it on the Wiki are also gone. Can someone please tell me why AMD was removed? I am using it in 1.07 for several production applications. ________________________________ From: asterisk-users-bounces@lists.digium.com [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Matt Florell Sent: Thursday, October 06, 2005 7:13 AM To: Asterisk Users Mailing List - Non-Commercial Discussion Subject: Re: [Asterisk-Users] Answering Machine Detection I've read about app_amd and asterisk but there doesn't seem to be much info about it out there. Is it called something else? and where do I look for it? MATT--- On 10/5/05, Adam Robins <arobins@pharmacentra.com> wrote: It's already built in. AMD. On Wed, 5 Oct 2005, Cory Andrews wrote: > Anyone aware if Digium or Sangoma, or possibly a function of Asterisk, > supports answering machine detection on an outbound call? I'll post a detector on Mantis tomorrow (honestly!) Steve The contents of this email message and any attachments are confidential and are intended solely for addressee. The information may also be legally privileged. This transmission is sent in trust, for the sole purpose of delivery to the intended recipient. If you have received this transmission in error, any use, reproduction or dissemination of this transmission is strictly prohibited. If you are not the intended recipient, please immediately notify the sender by reply email and delete this message and its attachments, if any. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20051006/7b3bdf35/attachment.htm
Trixter http://www.0xdecafbad.com/
2005-Oct-06 18:19 UTC
[Asterisk-Users] Answering Machine Detection
I don?t use app_amd but use waitforring to see if someone picked up, if not voicemail... Exten => s,1,wautforring(16) ; abiut 4 rings Exten => s,2,voicemail(1234) Waitforring waits upto N seconds if phone is ringing, if not ringing it returns -1. Dunno if this helps, but that works in my parents asterisk box with zap chan... -----Original Message----- From: "Matt Florell"<astmattf@gmail.com> Sent: 10/6/05 5:48:09 PM To: "Adam Robins"<arobins@pharmacentra.com> Cc: "Asterisk Users Mailing List - Non-Commercial Discussion"<asterisk-users@lists.digium.com> Subject: Re: [Asterisk-Users] Answering Machine Detection If you have a copy that was released before it was wiped from existance would you be willing to post it for download or email it to me along with some description of how it works? Thanks, MATT--- On 10/6/05, Adam Robins <arobins@pharmacentra.com> wrote: > > I just checked the 1.2 source. It looks like app_AMD is gone. All > references to it on the Wiki are also gone. Can someone please tell me why > AMD was removed? I am using it in 1.07 for several production > applications. > [Message truncated. Tap Edit->Mark for Download to get remaining portion.]
i m using asterisk 1.12. and i have followed all the steps define in scratch installation for answering machine detection, but when i m making a call i m getting a lot of answering machine is there any thing i have to change to my extension file . can any one help me out Raj Ahmed -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20061005/57665dee/attachment.htm
Are you possibly using GnuDialer or VICIDIAL? If so, you would probably get a better response by posting to their forums rather than the general asterisk-users list: GuDialer Forum: http://forum.acmcllc.com/ VICIDIAL Forum: http://www.eflo.net/VICIDIALforum One more thing, there is no Asterisk 1.12. MATT--- On 10/5/06, Raj <softwares@worldbizconsultant.com> wrote:> > > > > i m using asterisk 1.12. and i have followed all the steps define in scratch > installation for answering machine detection, but when i m making a call i > m getting a lot of answering machine is there any thing i have to change to > my extension file . can any one help me out > > > > Raj Ahmed > > > _______________________________________________ > --Bandwidth and Colocation provided by Easynews.com -- > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > > http://lists.digium.com/mailman/listinfo/asterisk-users > > >