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 https://github.com/asterisk/asterisk/blob/master/apps/app_amd.c

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.