星号11活动呼叫AMI上的事件

时间:2013-05-03 09:47:33

标签: node.js asterisk asteriskami

我希望拥有的数据: Num From,Num To,Duration,Codec,Context,Hold status

ofc in realtime update

我使用node.js + nami

获取此信息的最佳方式是什么?

尝试使用动作Status(),但是这不会给我提供关于调用的完整信息,如果我每隔一秒浏览器就会运行它。

这就是我所拥有的:

updateCallList();
function updateCallList() {
    socket.emit('GET_ACTIVE_CALLS', function(calls) {
        $("#callsList").find("tr:gt(0)").remove();
        if (calls.response != 'Success') return;
        var calls = calls.events;
        for (call in calls) {
            if (calls[call].privilege == 'Call') {

            var callFrom     = calls[call].calleridnum + '<' + calls[call].calleridname + '>';
            var callTo       = calls[call].extension;
            var callDuration = calls[call].seconds;
            var callRoute    = calls[call].context;

            var tmpRow = '<tr>';
            tmpRow = tmpRow + '<td>' + callFrom     + '</td>';
            tmpRow = tmpRow + '<td>' + callTo       + '</td>';
            tmpRow = tmpRow + '<td>' + callDuration + '</td>';
            tmpRow = tmpRow + '<td>' + callRoute    + '</td>';
            tmpRow = tmpRow + '</tr>';

            $('#callsList tr:last').after(tmpRow);
        }
    }
    setInterval(function(){
        updateCallList();
    },1000);
});

}

服务器端

socket.on('GET_ACTIVE_CALLS', function (callback) {
    action = new namiLib.Actions.Status();
    nami.send(action, function (response) {
        callback(response);
    });
});

1 个答案:

答案 0 :(得分:1)

您需要启动守护程序,它将收集NewExten,Link,Unlink,Hangup事件并创建频道列表。 http://www.voip-info.org/wiki/view/asterisk+manager+events

此外,您可以使用“核心节目频道”“核心节目频道XXXXX”执行动作命令,但如果你做了很多,星号会死掉。

http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+Command