Page 400 - Asterisk™: The Future of Telephony
P. 400

AMD()                                                  Answering machine detection
               AMD([initialSilence[,greeting[,afterGreetingSilence[,totalAnalysisTime
               [,minimumWordLength[,betweenWordsSilence[,maximumNumberOfWords
               [,silenceThreshold]]]]]]]])

               This application attempts to detect an answering machine, based on the timing pat-
               terns. This application is usually used by outbound calls originated from either call files
               or from the Asterisk manager Interface. This application sets AMDSTATUS variable is set
               to one of the following, to show what type of call was detected:

               MACHINE
                   The called party is believed to be an answering machine.
               HUMAN
                   The called party is believed to be a human being, and not an answering machine.
               NOTSURE
                   The application was unable to tell whether the called party was a human or an
                   answering machine.

               HANGUP
                   A hangup occurred during the detection.
               The AMD() application also sets a channel variable named AMDCAUSE with the cause that
               lead to the conclusion stated in the AMDSTATUS variable. The AMDCAUSE variable will be
               set to one of the following values:
                   TOOLONG-total_time
                   INITIALSILENCE-silence_duration-initial_silence
                   HUMAN-silence_duration-after_greeting_silence
                   MAXWORDS-word_count-maximum_number_of_words
                   LONGGREETING-voice_duration-greeting
               The parameters to this application all help tune it so that it can more effectively tell the
               difference between a human and an answering machine. If the parameters are not
               passed  to  this  application,  Asterisk  will  read  the  default  values  as  configured  in
               amd.conf. The parameters are:

               initialSilence
                   The maximum silence duration before the greeting. If exceeded, then the AMDSTA
                   TUS variable will be set to MACHINE.

               greeting
                   The maximum length of the greeting. If exceeded, then the AMDSTATUS variable will
                   set to MACHINE.
               afterGreetingSilence
                   The maximum silence after detecting a greeting. If exceeded, then the AMDSTATUS
                   variable will be set to MACHINE.




               372 | Appendix B: Application Reference
   395   396   397   398   399   400   401   402   403   404   405