asterisk ami originate 多个变量如何写

来源:互联网 发布:电脑桌面整理软件 编辑:程序博客网 时间:2024/05/16 17:07

用ami指令Originate自动呼叫时,传递两个变量一直不正确。

 

从网上的文档查到,利用ami自动呼叫可以用一下命令格式:

Action: Originate
Channel: SIP/101test
Context: default
Exten: 8135551212
Priority: 1
Callerid: 3125551212
Timeout: 30000
Variable: var1=23|var2=24|var3=25   (这是错误的)
ActionID: ABC45678901234567890

 

向Asterisk发送动作数据包时,应按照以下格式:

Action: <action type><CRLF>
< Key 1>: <Value 1><CRLF>
< Key 2>: <Value 2><CRLF>
...
Variable: <Variable 1>=<Value 1><CRLF>
Variable: <Variable 2>=<Value 2><CRLF>
...
< CRLF>

明白了问题所在,看了phpagi-asmanager.php源文件,需要变通一下变量发送的代码:

        $t = $ami->Originate("sip/$trunk/$mobile",
                        $queue,'ext-queues','1',
                        NULL, NULL, 30000, $callid,
                        "REALCALLERIDNUM=${mobile}\r\nVariable: CALLERID(name)=${mobile}",
                        NULL,true,$id);

这样写之后就正常了。

0 0
原创粉丝点击