Kef
Kef

Reputation: 73

Asterisk AMD doesn't start on outbound call

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

Answers (1)

arheops
arheops

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

Related Questions