Costa Dinoteli
2007-Oct-24 14:15 UTC
[asterisk-users] How to tune Asterisk AMD - Answering Machine Detection "hacks"
Hello Everyone, Can someone point me to reliable links on how to tweak Asterisk AMD I am calling a number and have to two files to play depending if it is a real person or an answering machine. Most everytime Asterisk calls it thinks it is an Answering Machine and it starts playing the AMD message, instead of the delivering the "1st real message" Any hints? Thanks in advance, -C -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20071024/b161d02c/attachment.htm
James FitzGibbon
2007-Oct-24 15:15 UTC
[asterisk-users] How to tune Asterisk AMD - Answering Machine Detection "hacks"
On 10/24/07, Costa Dinoteli <javmob at gmail.com> wrote:> > Most everytime Asterisk calls it thinks it is an Answering Machine and it > starts playing > the AMD message, instead of the delivering the "1st real message" >Why is it thinking that it's a machine? If you're on the console at verbose 3 or higher, you'll see what thresholds were tripped. You can also get the reason in the ${AMDCAUSE} variable: [Oct 23 09:58:34] VERBOSE[25147] logger.c: -- AMD: Zap/81-1 416XXXXXXX (null) (Fmt: 4) [Oct 23 09:58:34] VERBOSE[25147] logger.c: -- AMD: initialSilence [2500] greeting [1500] afterGreetingSilence [800] totalAnalysisTime [5000] minimumWordLength [100] betweenWordsSilence [50] maximumNumberOfWords [4] silenceThreshold [256] [Oct 23 09:58:37] VERBOSE[25147] logger.c: -- AMD: ANSWERING MACHINE: silenceDuration:2500 initialSilence:2500 or [Oct 23 09:43:37] VERBOSE[24313] logger.c: -- AMD: Zap/4-1 4166XXXXXXX (null) (Fmt: 4) [Oct 23 09:43:37] VERBOSE[24313] logger.c: -- AMD: initialSilence [2500] greeting [1500] afterGreetingSilence [800] totalAnalysisTime [5000] minimumWordLength [100] betweenWordsSilence [50] maximumNumberOfWords [4] silenceThreshold [256] [Oct 23 09:43:38] VERBOSE[24313] logger.c: -- AMD: Word detected. iWordsCount:1 [Oct 23 09:43:38] VERBOSE[24313] logger.c: -- AMD: Changed state to STATE_IN_SILENCE [Oct 23 09:43:39] VERBOSE[24313] logger.c: -- AMD: HUMAN: silenceDuration:800 afterGreetingSilence:800 Figure out why AMD thinks it's a machine and you can change the thresholds, either in amd.conf or in the call to AMD(). -- j. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20071024/1f38544f/attachment.htm
Matt Riddell
2007-Oct-25 00:59 UTC
[asterisk-users] How to tune Asterisk AMD - Answering Machine Detection "hacks"
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Costa Dinoteli wrote:> Hello Everyone, > > Can someone point me to reliable links on how to tweak Asterisk AMD > I am calling a number and have to two files to play depending if it is a > real person or an > answering machine. > Most everytime Asterisk calls it thinks it is an Answering Machine and it > starts playing > the AMD message, instead of the delivering the "1st real message"Heh, two critical things that affect it: 1) The threshold - just play with this till its right - bear in mind that calls to cellphones may need a higher threshold as the noise is often read as talking. 2) Call setup time once answered. This is a really easy one to prove and has had me pulling my hair out (what's left) on a few occasions. Basically do the following: exten => s,1,Answer() exten => s,n,Background(beep) exten => s,n,AMD() What this will do is that when the call is bridged to the remote end (i.e. someone answered the phone) you will hear a beep once Asterisk has answered the channel. Bear in mind that most people will say hello pretty quickly after answering the phone. Make a call to yourself (send one end to you and the other end to the above snippet) and try to respond in a way that you think a normal user would. If you say hello before you hear the beep then there is no way that AMD is going to be able to hear it, and you will fall into the initial_silence territory. I.E. The AMD will think that it is a machine because it missed the initial hello and then the person was silent. You may find that this bridging time varies between providers (and most people using AMD are also trying to use the cheapest providers). I have a system with 3000 concurrent lines running which now has no problems, but required a direct connection to Qwest. - -- Kind Regards, Matt Riddell Director _______________________________________________ http://www.venturevoip.com (Great new VoIP end to end solution) http://www.venturevoip.com/news.php (Daily Asterisk News - html) http://feeds.venturevoip.com/AsteriskNews (Daily Asterisk News - rss) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHH+pgDQNt8rg0Kp4RAsfpAKCEi7/TRt4PThcMe8tFAF8bMzeoPACfceMz mbt6Aw11YSyPebrCvEQzg5Y=1p7H -----END PGP SIGNATURE-----