AMD([initialSilence,greeting,afterGreetingSilence,totalAnalysisTime,miniumWordLength,betweenWordSilence,maximumNumberOfWords,silenceThreshold,maximumWordLength,audioFile])
Dialplan Builder
-- build your AMD() command
Is maximum initial silence duration before greeting.
is the maximum length of a greeting.
Is the silence after detecting a greeting.
Is the maximum time allowed for the algorithm
Is the minimum duration of Voice considered to be a word
Is the minimum duration of silence after a word to consider the audio that follows to be a new word
Is the maximum number of words in a greeting
What is the average level of noise from 0 to 32767 which if not exceeded, should be considered silence?
Is the maximum duration of a word to accept.
Is an audio file to play to the caller while AMD is in progress.
Full arguments reference
initialSilence- Is maximum initial silence duration before greeting.greeting- is the maximum length of a greeting.afterGreetingSilence- Is the silence after detecting a greeting.totalAnalysisTime- Is the maximum time allowed for the algorithmminiumWordLength- Is the minimum duration of Voice considered to be a wordbetweenWordSilence- Is the minimum duration of silence after a word to consider the audio that follows to be a new wordmaximumNumberOfWords- Is the maximum number of words in a greetingsilenceThreshold- What is the average level of noise from 0 to 32767 which if not exceeded, should be considered silence?maximumWordLength- Is the maximum duration of a word to accept.audioFile- Is an audio file to play to the caller while AMD is in progress.
Description
This application attempts to detect answering machines at the beginning 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 the calling AMD with parameters.
This application sets the following channel variables:
- AMDSTATUS - This is the status of the answering machine detection
MACHINEHUMANNOTSUREHANGUP
- AMDCAUSE - Indicates the cause that led to the conclusion
TOOLONG- Total Time.INITIALSILENCE- Silence Duration - Initial Silence.HUMAN- Silence Duration - afterGreetingSilence.LONGGREETING- Voice Duration - Greeting.MAXWORDLENGTH- Word Length - max length of a single word.MAXWORDS- Word Count - maximum number of words.
Arguments
initialSilence- Is maximum initial silence duration before greeting.greeting- is the maximum length of a greeting.afterGreetingSilence- Is the silence after detecting a greeting.totalAnalysisTime- Is the maximum time allowed for the algorithmminiumWordLength- Is the minimum duration of Voice considered to be a wordbetweenWordSilence- Is the minimum duration of silence after a word to consider the audio that follows to be a new wordmaximumNumberOfWords- Is the maximum number of words in a greetingsilenceThreshold- What is the average level of noise from 0 to 32767 which if not exceeded, should be considered silence?maximumWordLength- Is the maximum duration of a word to accept.audioFile- Is an audio file to play to the caller while AMD is in progress.
User Notes
Know a tip or gotcha for this topic? Share it below and help others.
Contribute a note
Share a tip, gotcha, or practical example. Keep it under 2000 characters. No questions (use the Asterisk community forums for support). Wrap code in backticks.
Related
Applications
ConfBridge()
MusicOnHold()
StartMusicOnHold()
StopMixMonitor()
ADSIProg()
AELSub()
AGI()
AMD()
AddQueueMember()
AgentLogin()
AgentRequest()
AlarmReceiver()
Answer()
AttendedTransfer()
AudioSocket()
Authenticate()
Background()
BackgroundDetect()
BlindTransfer()
Bridge()
BridgeAdd()
BridgeWait()
Broadcast()
Busy()
CELGenUserEvent()
CallCompletionCancel()
CallCompletionRequest()
ChanIsAvail()
ChanSpy()
ChangeMonitor()
ChannelRedirect()
ClearHash()
ConfKick()
Congestion()
ContinueWhile()
ControlPlayback()
DAHDIAcceptR2Call()
DAHDIRAS()
DAHDIScan()
DAHDISendCallreroutingFacility()
DAHDISendKeypadFacility()
DBdeltree()
DISA()
DateTime()
DeadAGI()
Dial()
Dictate()
Directory()
DumpChan()
EAGI()
Echo()
Else()
ElseIf()
EndIf()
EndWhile()
Exec()
ExecIf()
ExecIfTime()
ExitIf()
ExitWhile()
ExtenSpy()
ExternalIVR()
Festival()
Flash()
FollowMe()
ForkCDR()
GetCPEID()
Gosub()
GosubIf()
Goto()
GotoIf()
GotoIfTime()
Hangup()
HangupCauseClear()
IAX2Provision()
ICES()
IVRDemo()
If()
ImportVar()
Incomplete()
JACK()
JabberJoin()
JabberLeave()
JabberSend()
JabberSendGroup()
JabberStatus()
Log()
MP3Player()
MSet()
Macro()
MacroExclusive()
MacroExit()
MacroIf()
MailboxExists()
MeetMe()
MeetMeAdmin()
MeetMeChannelAdmin()
MeetMeCount()
MessageSend()
Milliwatt()
MinivmAccMess()
MinivmDelete()
MinivmGreet()
MinivmMWI()
MinivmNotify()
MinivmRecord()
MixMonitor()
Monitor()
Morsecode()
NBScat()
NoCDR()
NoOp()
ODBCFinish()
ODBC_Commit()
ODBC_Rollback()
OSPAuth()
OSPFinish()
OSPLookup()
OSPNext()
Originate()
PJSIPHangup()
PJSIPNotify()
Page()
Park()
ParkAndAnnounce()
ParkedCall()
PauseMonitor()
PauseQueueMember()
Pickup()
PickupChan()
PlayTones()
Playback()
PrivacyManager()
Proceeding()
Progress()
Queue()
QueueLog()
QueueUpdate()
RaiseException()
Read()
ReadExten()
ReceiveFAX()
ReceiveMF()
ReceiveSF()
ReceiveText()
Record()
Reload()
RemoveQueueMember()
ResetCDR()
RetryDial()
Return()
Ringing()
SIPAddHeader()
SIPDtmfMode()
SIPRemoveHeader()
SIPSendCustomINFO()
SLAStation()
SLATrunk()
SMS()
SayAlpha()
SayAlphaCase()
SayCountedAdj()
SayCountedNoun()
SayDigits()
SayMoney()
SayNumber()
SayOrdinal()
SayPhonetic()
SayUnixTime()
SendDTMF()
SendFAX()
SendImage()
SendMF()
SendSF()
SendText()
SendURL()
Set()
SetAMAFlags()
Signal()
SkelGuessNumber()
SoftHangup()
SpeechActivateGrammar()
SpeechBackground()
SpeechCreate()
SpeechDeactivateGrammar()
SpeechDestroy()
SpeechLoadGrammar()
SpeechProcessingSound()
SpeechStart()
SpeechUnloadGrammar()
StackPop()
Stasis()
StatsD()
StopMonitor()
StopMusicOnHold()
StopPlayTones()
StoreDTMF()
StreamEcho()
System()
TestClient()
TestServer()
ToneScan()
Transfer()
TryExec()
TrySystem()
UnpauseMonitor()
UnpauseQueueMember()
UserEvent()
VMAuthenticate()
VMSayName()
Verbose()
VoiceMail()
VoiceMailMain()
VoiceMailPlayMsg()
Wait()
WaitDigit()
WaitExten()
WaitForCondition()
WaitForNoise()
WaitForRing()
WaitForSignal()
WaitForSilence()
WaitForTone()
WaitUntil()
While()
Zapateller()