I am working on an IVR application where the script or call flow resides externally from the asterisk box. It communicates with Asterisk using AGI.
I have an odd situation that I have been battling for a few days. When the call is answered by Asterisk in my script, I’m issuing a Dial in order to do a 3 way call. When I answer the phone on the dialed number, both calls are bridged but a few seconds later (after the timeout?), Asterisk issues a HANGUP, while both calls continue to be bridged.
The Dial function never gets to return a result.
I will post next my script, what the CLI is reporting and what the AMI channel is reporting
My script:
EXEC DIAL IAX2/voipms/9544489172,20,a
GET VARIABLE DIALSTATUS
What the CLI is displaying:
<IAX2/voipms-130>AGI Rx << ANSWER
<IAX2/voipms-130>AGI Tx >> 200 result=0
<IAX2/voipms-130>AGI Rx << EXEC DIAL IAX2/voipms/9544480000,20,a
<IAX2/voipms-130>AGI Tx >> 200 result=-1
<IAX2/voipms-130>AGI Tx >> HANGUP
<IAX2/voipms-130>AGI Rx << GET VARIABLE DIALSTATUS
<IAX2/voipms-130>AGI Tx >> 200 result=1 (ANSWER)
<IAX2/voipms-130>AGI Tx >> HANGUP
AMI
Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: IAX2/voipms-1127
CommandId: 1575772709
Command: EXEC DIAL IAX2/voipms/9544480000,20,a
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: DIALSTATUS
Value:
Uniqueid: 1410266197.495
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: DIALEDPEERNUMBER
Value:
Uniqueid: 1410266197.495
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: DIALEDPEERNAME
Value:
Uniqueid: 1410266197.495
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: ANSWEREDTIME
Value:
Uniqueid: 1410266197.495
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: DIALEDTIME
Value:
Uniqueid: 1410266197.495
Event: Newchannel
Privilege: call,all
Channel: IAX2/voipms-14884
ChannelState: 0
ChannelStateDesc: Down
CallerIDNum:
CallerIDName:
AccountCode:
Exten: s
Context:
Uniqueid: 1410266203.496
Event: ChannelUpdate
Privilege: system,all
Channel:
Channeltype: IAX2
IAX2-callno-local: 14884
IAX2-callno-remote: 0
IAX2-peer:
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-14884
Variable: DIALEDPEERNUMBER
Value: voipms/9544480000
Uniqueid: 1410266203.496
Event: NewCallerid
Privilege: call,all
Channel: IAX2/voipms-14884
CallerIDNum: 8287710000
CallerIDName:
Uniqueid: 1410266203.496
CID-CallingPres: 0 (Presentation Allowed, Not Screened)
Event: Newstate
Privilege: call,all
Channel: IAX2/voipms-14884
ChannelState: 5
ChannelStateDesc: Ringing
CallerIDNum: 8287710459
CallerIDName:
ConnectedLineNum: 8285820000
ConnectedLineName: 8285820000
Uniqueid: 1410266203.496
Event: Dial
Privilege: call,all
SubEvent: Begin
Channel: IAX2/voipms-1127
Destination: IAX2/voipms-14884
CallerIDNum: 8285820000
CallerIDName: 8285820000
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
UniqueID: 1410266197.495
DestUniqueID: 1410266203.496
Dialstring: voipms/9544480000
Event: Newstate
Privilege: call,all
Channel: IAX2/voipms-14884
ChannelState: 6
ChannelStateDesc: Up
CallerIDNum: 8287710459
CallerIDName:
ConnectedLineNum: 8285820000
ConnectedLineName: 8285820000
Uniqueid: 1410266203.496
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: DIALSTATUS
Value: ANSWER
Uniqueid: 1410266197.495
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: DIALEDPEERNAME
Value: IAX2/voipms-14884
Uniqueid: 1410266197.495
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: DIALEDPEERNUMBER
Value: voipms/9544480000
Uniqueid: 1410266197.495
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: BRIDGEPEER
Value: IAX2/voipms-14884
Uniqueid: 1410266197.495
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-14884
Variable: BRIDGEPEER
Value: IAX2/voipms-1127
Uniqueid: 1410266203.496
Event: NewAccountCode
Privilege: call,all
Channel: IAX2/voipms-14884
Uniqueid: 1410266203.496
AccountCode:
OldAccountCode:
Event: Bridge
Privilege: call,all
Bridgestate: Link
Bridgetype: core
Channel1: IAX2/voipms-1127
Channel2: IAX2/voipms-14884
Uniqueid1: 1410266197.495
Uniqueid2: 1410266203.496
CallerID1: 8285820000
CallerID2: 8287710000
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: BRIDGEPEER
Value: IAX2/voipms-14884
Uniqueid: 1410266197.495
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-14884
Variable: BRIDGEPEER
Value: IAX2/voipms-1127
Uniqueid: 1410266203.496
Event: Bridge
Privilege: call,all
Bridgestate: Unlink
Bridgetype: core
Channel1: IAX2/voipms-1127
Channel2: IAX2/voipms-14884
Uniqueid1: 1410266197.495
Uniqueid2: 1410266203.496
CallerID1: 8285820000
CallerID2: 8287710000
Event: Bridge
Privilege: call,all
Bridgestate: Link
Bridgetype: core
Channel1: IAX2/voipms-1127
Channel2: IAX2/voipms-14884
Uniqueid1: 1410266197.495
Uniqueid2: 1410266203.496
CallerID1: 8285820000
CallerID2: 8287710000
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: BRIDGEPEER
Value: IAX2/voipms-14884
Uniqueid: 1410266197.495
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-14884
Variable: BRIDGEPEER
Value: IAX2/voipms-1127
Uniqueid: 1410266203.496
Event: Bridge
Privilege: call,all
Bridgestate: Unlink
Bridgetype: core
Channel1: IAX2/voipms-1127
Channel2: IAX2/voipms-14884
Uniqueid1: 1410266197.495
Uniqueid2: 1410266203.496
CallerID1: 8285820000
CallerID2: 8287710000
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: ANSWEREDTIME
Value: 12
Uniqueid: 1410266197.495
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: DIALEDTIME
Value: 27
Uniqueid: 1410266197.495
Event: HangupRequest
Privilege: call,all
Channel: IAX2/voipms-14884
Uniqueid: 1410266203.496
Event: Hangup
Privilege: call,all
Channel: IAX2/voipms-14884
Uniqueid: 1410266203.496
CallerIDNum: 8287710000
CallerIDName: <unknown>
ConnectedLineNum: 8285820000
ConnectedLineName: 8285820667
AccountCode:
Cause: 16
Cause-txt: Normal Clearing
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: DIALSTATUS
Value: ANSWER
Uniqueid: 1410266197.495
Event: Dial
Privilege: call,all
SubEvent: End
Channel: IAX2/voipms-1127
UniqueID: 1410266197.495
DialStatus: ANSWER
Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: IAX2/voipms-1127
CommandId: 1575772709
Command: EXEC DIAL IAX2/voipms/9544489172,20,a
ResultCode: 200
Result: Unknown Result
Event: AGIExec
Privilege: agi,all
SubEvent: Start
Channel: IAX2/voipms-1127
CommandId: 1597418246
Command: GET VARIABLE DIALSTATUS
Event: AGIExec
Privilege: agi,all
SubEvent: End
Channel: IAX2/voipms-1127
CommandId: 1597418246
Command: GET VARIABLE DIALSTATUS
ResultCode: 200
Result: Success
Event: VarSet
Privilege: dialplan,all
Channel: IAX2/voipms-1127
Variable: AGISTATUS
Value: HANGUP
Uniqueid: 1410266197.495
Event: SoftHangupRequest
Privilege: call,all
Channel: IAX2/voipms-1127
Uniqueid: 1410266197.495
Cause: 16
Event: HangupRequest
Privilege: call,all
Channel: IAX2/voipms-1127
Uniqueid: 1410266197.495
Event: Hangup
Privilege: call,all
Channel: IAX2/voipms-1127
Uniqueid: 1410266197.495
CallerIDNum: 8285820000
CallerIDName: 8285820000
ConnectedLineNum: <unknown>
ConnectedLineName: <unknown>
AccountCode:
Cause: 16
Cause-txt: Normal Clearing
Thank you for the help