AMD Parameters Clarification

Hello Everyone,

Just checking if all of the parameters are in seconds or milliseconds? especially for the 5th to 8th parameters.

exten => 8387,n,AMD(2000,2000,1000,5000,120,50,4,256)

  1. 2000 - maximum initial silence duration before greeting. If exceeded then MACHINE. (2 Seconds)
  2. 2000 - the maximum length of a greeting. If exceeded then MACHINE. (2 Seconds)
  3. 1000 - the silence after detecting a greeting. If exceeded then HUMAN. (1 Second)
  4. 5000 - maximum time allowed for the algorithm to decinde on whether the audio presents a HUMAN or MACHINE. (5 Seconds)
  5. 120 - minimum duration of voice considered to be a word
  6. 50 - minimum duration of silence after a word to consider the audio that follows to be a new word
  7. 4 - maximum number of words in a greeting. If exceeded then MACHINE.
  8. 256 - average level of noise which if not exceeded should be considered silence?

Thanks in advance.

Also may I know the calculation or algorithm that allows the system decides whether it is an answering machine or not.

I appears the “miniumWordLength” parameter (#5) is also in milliseconds. The “silenceThreshold” parameter (#8), from what I can tell, doesn’t look like a time measurement, but instead one of magnitude.

Sure, Asterisk is open source so you are allowed to peruse it: app_amd.c

Hello Kharwell,

Thanks. Hmm may I know the computation on how AMD detects an answering machine or human?

It looks to me that the CLI help for AMD should tell you most of the answer/ The full algorithm, in C, can be found at

Nonted on that. Thank you so much david551.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.