Versucht bei ausgehenden Telefonaten Anrufbeantworter bei der Gegenstelle zu erkennen (Answering Machine Detection).
AMD([initialSilence
[,greeting
[,afterGreetingSilence
[,totalAnalysisTime
[,minWordLength
[,betweenWordsSilence
[,maxNumberOfWords
[,silenceThreshold
]]]]]]]])
Wird z.B. über ein CallFile ein ausgehender Anruf initiiert, so
kann in der aufgerufenen Extension die Applikation AMD()
benutzt werden, um bei der Gegenstelle einen Anrufbeantworter zu erkennen.
Default-Parameter können in der Datei amd.conf
eingestellt werden.
initialSilence
${AMDSTATUS}
auf MACHINE
gesetzt.greeting
${AMDSTATUS}
auf MACHINE
gesetzt.afterGreetingSilence
${AMDSTATUS}
auf HUMAN
gesetzt.totalAnalysisTime
HUMAN
oder MACHINE
zu
treffen.minWordsSilence
betweenWordsSilence
maxNumberOfWords
${AMDSTATUS}
auf MACHINE
gesetzt.silenceThreshold
Diese Applikation setzt als Ergebnis die Channel-Variablen
AMDSTATUS
und AMDCAUSE
.
AMDSTATUS
kann die folgenden Werte
bekommen:
MACHINE
Auf der Gegenseite ist ein Anrufbeantworter.
HUMAN
Auf der Gegenseite ist ein Mensch.
NOTSURE
Es kann keine genaue Aussage getroffen werden.
HANGUP
Die Gegenseite hat aufgelegt.
AMDCAUSE
kann die folgenden Werte
bekommen:
TOOLONG-
<%d
total_time>
INITIALSILENCE-
<%d
silenceDuration>
-
<%d
initialSilence>
HUMAN-
<%d
silenceDuration>
-
<%d
afterGreetingSilence>
MAXWORDS-
<%d
wordsCount>
-
<%d
maximumNumberOfWords>
LONGGREETING-
<%d
voiceDuration>
-
<%d
greeting>
; Von einem CallFile wird diese Extension aufgerufen: exten => 10,1,AMD() exten => 10,n,Goto(Status-${AMDSTATUS}) exten => 10,n(Status-HUMAN),Playback(spam) exten => 10,n,Hangup() exten => 10,n(Status-MACHINE),Hangup() exten => 10,n(Status-NOTSURE),Hangup() exten => 10,n(Status-HANGUP),Hangup()
Interner Hilfetext zu dieser Applikation in Asterisk 1.4: -= Info about application 'AMD' =- [Synopsis] Attempts to detect answering machines [Description] AMD([initialSilence][|greeting][|afterGreetingSilence][|totalAnalysisT ime] [|minimumWordLength][|betweenWordsSilence][|maximumNumberOfWords] [|silenceThreshold]) This application attempts to detect answering machines at the beginnin g of outbound calls. Simply call this application after the call has been answered (outbound only, of course). When loaded, AMD reads amd.conf and uses the parameters specified as default values. Those default values get overwritten when calling AMD with parameters. - 'initialSilence' is the maximum silence duration before the greeting. If exceeded then MACHINE. - 'greeting' is the maximum length of a greeting. If exceeded then MACHI NE. - 'afterGreetingSilence' is the silence after detecting a greeting. If exceeded then HUMAN. - 'totalAnalysisTime' is the maximum time allowed for the algorithm to d ecide on a HUMAN or MACHINE. - 'minimumWordLength'is the minimum duration of Voice to considered as a word. - 'betweenWordsSilence' is the minimum duration of silence after a word to consider the audio that follows as a new word. - 'maximumNumberOfWords'is the maximum number of words in the greeting. If exceeded then MACHINE. - 'silenceThreshold' is the silence threshold. This application sets the following channel variable upon completion: AMDSTATUS - This is the status of the answering machine detection. Possible values are: MACHINE | HUMAN | NOTSURE | HANGUP AMDCAUSE - Indicates the cause that led to the conclusion. Possible values are: TOOLONG-<%d total_time> INITIALSILENCE-<%d silenceDuration>-<%d initialSilence> HUMAN-<%d silenceDuration>-<%d afterGreetingSilence> MAXWORDS-<%d wordsCount>-<%d maximumNumberOfWords> LONGGREETING-<%d voiceDuration>-<%d greeting> Differenz zum internen Hilfetext in Asterisk 1.2: -- in Version 1.2 nicht vorhanden -- |
Siehe auch. „Call Files“