是否有可能取消Asterisk AMI的原始呼叫? 我可以在挂断或开始拨号时获取呼叫状态。但是,由于我在发起呼叫时没有获得频道,因此我无法发送Hangup Action。 我已经检查了这个链接,它没有回答这个问题。
答案 0 :(得分:0)
您可以使用本地频道并发送到频道的应用ID。
您可以将任何变量(包括数据库ID)发送到频道/拨号方案
Action: Originate
Channel: Local/12345@out
Context: default
Exten: 8135551212
Priority: 1
Callerid: 3125551212
Timeout: 30000
Variable: var1=23|var2=24|var3=25
ActionID: ABC45678901234567890
http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+Originate
您可以使用asterisk realtime / func_odbc来读取/更新db。
在Originate制作完成后,您将获得具有状态的actionid。这可以抓住阅读事件。
因此,如果您正确组织拨号,您可以获取频道名称并停止播放。
ps非常不推荐非专家写拨号核心。检查vicidial.org或其他拨号器是否可用。开发拨号器核心时可能会出现很多问题。