向Asterisk呼叫管理器发送操作

时间:2015-05-20 16:48:58

标签: php curl http-post asterisk telnet

我正在尝试制作一个检查脚本来检查IP星号是否有Asterisk呼叫管理器。

我是通过make php脚本和使用curl来做到的 - 结果和响应是

Asterisk Call Manager/1.3
Response: Error
Message: Missing action in request

现在很好,这是预期的。

另一个预期是按摩说我应该按要求发送动作。那么我该如何发送这样的动作:

action: login
user:admin
secret:admin

2 个答案:

答案 0 :(得分:0)

我强烈建议您使用已经写过的库

对于php是phpagi libs。

http://phpagi.sourceforge.net/

在此示例中,您不尊重协议。议定书说是行动。

http://www.voip-info.org/wiki/view/Asterisk+manager+API

答案 1 :(得分:0)

我在php中构建了一个click 2调用脚本并且它正常工作但是我无法找到一个沿着调用文件发送到AMI的变量,该变量应该在特定时间后断开调用。即我想将5分钟设置为任何呼叫发生的最大窗口,如果呼叫仍在星号,则应断开呼叫。

我的代码是:我正在寻找一个与socket一起添加的变量,如果长度超过5分钟,可以断开呼叫。

function serializeParams (object) {
    return Object.keys(object)
        .reduce((query, key) =>
            Array.isArray(object[key])
                ? query.concat(object[key].map(value => key + '=' + encodeURIComponent(value)))
                : query.concat(key + '=' + encodeURIComponent(object[key]))
        , [])
        .join('&');
}