Reputation: 73
Please can you tell me where I am wrong, I am new on Asterisk. I am trying to detect voicemail on outgoing call (remote provider)
exten => _011225XXXXXXXX,1,Dial(SIP/${EXTEN}@dinstar)
exten => _011225XXXXXXXX,n,AMD()
exten => _011225XXXXXXXX,n,GotoIf($["${AMDSTATUS}" = "HUMAN"]? human:machine)
exten => _011225XXXXXXXX,n(machine),WaitForSilence(2000)
exten => _011225XXXXXXXX,n,Playback(asterisk-friend)
exten => _011225XXXXXXXX,n,Hangup()
exten => _011225XXXXXXXX,n(human),Verbose(3, We've got a human on the line!)
exten => _011225XXXXXXXX,n,Playback(transfer)
exten => _011225XXXXXXXX,n,Dial(SIP/${EXTEN}@dinstar)
exten => _011225XXXXXXXX,n,Playback(im-sorry)
exten => _011225XXXXXXXX,n,Hangup()
Cli print
CLI> == Using SIP RTP CoS mark 5
-- Executing [01122548484444@LocalSets:1] Dial("SIP/mor-00000002", "SIP/01122548484444@dinstar") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/01122548484444@dinstar
-- SIP/dinstar-00000003 is making progress passing it to SIP/mor-00000002
-- SIP/dinstar-00000003 answered SIP/mor-00000002
-- Remotely bridging SIP/mor-00000002 and SIP/dinstar-00000003
== Spawn extension (LocalSets, 01122548484444, 1) exited non-zero on 'SIP/mor-00000002'
Upvotes: 0
Views: 1280
Reputation: 15259
Asterisk AMD in this example will start like you asked - after dial command compleated.
If you want use AMD for provisioning dial answer you should use it in on-answer macro(M param in dial command).
If you want use AMD to detect what happens and route calls, you should implement AMD on other end of call/add that to your dialling core. For examples see vicidial.org or other dialler.
Upvotes: 1