在扩展名为星号时执行命令

时间:2016-07-10 12:15:11

标签: asterisk

我使用这些命令在数据库中保存CallerID:

exten => s,1,MYSQL(Connect connid localhost root 123456 CallerID) 
exten => s,2,Set(idcaller=${CALLERID(name)})
exten => s,3,MYSQL(Query resultid ${connid} INSERT INTO CallerID SET Num="${idcaller}")
exten => s,4,MYSQL(Disconnect ${connid})

现在我想在扩展响铃时执行这些命令... 这意味着第一个IVR工作然后拨号扩展ID,然后这些命令必须工作... 我必须把命令放在哪里? 非常感谢。

2 个答案:

答案 0 :(得分:0)

您无法对振铃状态执行任何操作,但未在星号

中实施

在拨号前输入分机时可以这样做 - 只需在拨号命令之前输入

exten => 100,1,MYSQL(Connect connid localhost root 123456 CallerID) 
exten => 100,2,Set(idcaller=${CALLERID(name)})
exten => 100,3,MYSQL(Query resultid ${connid} INSERT INTO CallerID SET Num="${idcaller}")
exten => 100,4,MYSQL(Disconnect ${connid})
exten => 100,n,Dial(SIP/100,,ro)

注意,MYSQL命令已被删除。用户func_odbc或实时。

答案 1 :(得分:0)

要在扩展振铃时执行某些操作,您必须使用AMI接口并使用它编写自己的应用程序来检测振铃状态并将其写入数据库(或执行您喜欢的任何其他操作)。

https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=4817239