Asterisk AMI始发呼叫跟踪事件

时间:2016-01-03 02:23:17

标签: asterisk phone-call ami outbound

我正在编写一个C应用程序,使用带有originate命令的AMI接口控制星号上的出站调用。目的是建立一个警告机器"提醒用户警报系统。我编写例程来登录AMI服务器并放置成功排队的始发呼叫。当选择本地分机时,拨号计划后会启动对外线的呼叫;我需要做的是跟踪外拨电话上的事件(摘机,响铃,接听,挂机),但我无法跟踪它们。我在记录到AMI服务器时启用了EVENTS,但是只有在用户挂断外线时才会获取事件。在调用结束之前,看起来Dial应用程序会锁定任何消息。这里有起源命令:

sprintf(buffer, "ACTION:ORIGINATE\r\nCHANNEL:SIP/201\r\nCONTEXT:from-internal\r\nEXTEN:7number to dial\r\nASYNC:YES\r\nVariable: __SIPADDHEADER51=Call-Info: <sip:192.168.100.231>\\;answer-after=0\r\nPRIORITY:1\r\nACTIONID:98765\r\n\r\n");

send(socktAMI, buffer, strlen(buffer),0);

并且拨号方案是:

[from-internal]
exten => _7.,1,Dial(SIP/${EXTEN:1}@pstnbo,60,rM(callscript))

[ext-local]
exten => s,1,AGI(agi:async)


[macro-callscript]
exten => s,1,Wait(1)
 same => n,AGI(agi:async)

如何成功跟踪外拨电话? 非常感谢您的帮助 马可

0 个答案:

没有答案