我正在尝试使用星号ARI来观看与桥梁相关的事件。我使用的是星号13.6.0。
具体来说,我想知道何时创建或销毁了一个网桥,何时用户(频道)加入或离开了网桥。在我的服务器上,网桥在有人拨入时动态创建,在最后一个成员离开网桥时自动销毁。
使用
node-ari-client
Asterisk项目中的库,并遵循他们的一些示例代码,这就是我目前所拥有的。
var client = require("ari-client");
var util = require("util");
client.connect("http://localhost:8088", "username", "password")
.then(function (ari) {
ari.once("StatisStart", channelJoined);
function channelJoined (event, incoming) {
incoming.on("BridgeCreated", function(event, bridge) {
console.log(util.format("Bridge created: %s", bridge.id));
});
incoming.on("BridgeDestroyed", function(event, bridge) {
console.log(util.format("Bridge destroyed: %s", bridge.id));
});
incoming.on("ChannelEnteredBridge", function(event, channel) {
console.log(util.format("Bridge was joined by: %s", channel.id));
});
incoming.on("ChannelLeftBridge", function(event, channel) {
console.log(util.format("Bridge was joined by: %s", channel.id));
});
}
ari.start("bridge-watcher");
})
.done();
我希望
.on()
当各种事件发生时,处理程序将打印到控制台。然而,呼叫进入桥接器,离开桥接器时,控制台永远不会打印任何内容。
如果重要的话,下面是
npm ls
显示我正在使用的版本。节点为v0.10.36。
ââ⬠ari-client@0.5.0
â âââ backoff-func@0.1.2
â âââ bluebird@2.9.34
â âââ node-uuid@1.4.1
â ââ⬠swagger-client@2.0.26
â â âââ btoa@1.1.1
â â ââ⬠shred@0.8.10
â â âââ ax@0.1.8
â â âââ cookiejar@1.3.1
â â âââ iconv-lite@0.2.11
â â âââ sprintf@0.1.1
â âââ underscore@1.6.0
â ââ⬠ws@0.4.31
â âââ commander@0.6.1
â âââ nan@0.3.2
â âââ options@0.0.5
â âââ tinycolor@0.0.1
âââ bluebird@3.1.1
ââ⬠util@0.10.3
âââ inherits@2.0.1