我希望拥有的数据: 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);
});
});
答案 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