ARI JS 客户端静音错误
ARI JS client mute error
我目前正在为 asterisk 开发静音功能,我可以使用 asterisk ARI 从我的 Web 前端 运行。
但每次我尝试 run/call 静音功能时都会出现以下错误:
Error: {
"message": "Channel not in Stasis application"
}
但据我所知,我正在将通道数据直接传递给此函数,但无济于事。
任何人有任何建议或习惯使用 ARI JS 客户端吗?
客户端
单击静音按钮时,将 td 中找到的数据发送到服务器端。
$(document).on('click', '.mute', function () {
var mute = $(this).closest('td').siblings(':first-child').text();
socket.emit('muting', mute);
if ($(this).hasClass('mute')) {
$(this).removeClass('mute').addClass('unmute').find('span').text('Unmute');
} else {
console.log("Error");
}
});
服务器端
将从客户端接收到的数据存储到一个var中,然后调用stasis函数。
io.sockets.on('connection', function (socket) {
updateSip();
socket.on('muting', function (data) {
mute(data);
console.log("Reached listener for muting")
});
});
停滞功能
使用 ARI 客户端命令将您刚刚从客户端传递到服务器端的通道静音,用户将被静音并显示在 stasis 应用程序中。
function mute(mutval) {
console.log("Muting:" + mutval);
client.channels.mute
({
channelId : mutval
},
function (err) {
if (err) {
throw err;
}
});
}
该频道在应用程序中并被传递给静音功能,因此我不确定它目前是否正常工作。
编辑:我有一个以相同方式处理的 hangup/kick 函数,它工作正常。下面是我所有的调试。
频道转储
免费 PBX 日志
Asterisk CLI 调试级别 5
Socket.io 错误
我也试过 运行 通过 socket.io 连接它,没有它,结果是一样的,我有其他功能,它们都工作得很好,它只是静音功能。
事实证明它不会 运行 因为它需要频道 ID 而不是频道名称,但是函数会 运行 带有频道名称。
它与 Asterisk ARI 不一致,因为它应该与频道名称一起使用,而不是像其他功能(例如挂断和发起功能)那样只使用频道 ID。
我目前正在为 asterisk 开发静音功能,我可以使用 asterisk ARI 从我的 Web 前端 运行。
但每次我尝试 run/call 静音功能时都会出现以下错误:
Error: {
"message": "Channel not in Stasis application"
}
但据我所知,我正在将通道数据直接传递给此函数,但无济于事。
任何人有任何建议或习惯使用 ARI JS 客户端吗?
客户端
单击静音按钮时,将 td 中找到的数据发送到服务器端。
$(document).on('click', '.mute', function () {
var mute = $(this).closest('td').siblings(':first-child').text();
socket.emit('muting', mute);
if ($(this).hasClass('mute')) {
$(this).removeClass('mute').addClass('unmute').find('span').text('Unmute');
} else {
console.log("Error");
}
});
服务器端
将从客户端接收到的数据存储到一个var中,然后调用stasis函数。
io.sockets.on('connection', function (socket) {
updateSip();
socket.on('muting', function (data) {
mute(data);
console.log("Reached listener for muting")
});
});
停滞功能
使用 ARI 客户端命令将您刚刚从客户端传递到服务器端的通道静音,用户将被静音并显示在 stasis 应用程序中。
function mute(mutval) {
console.log("Muting:" + mutval);
client.channels.mute
({
channelId : mutval
},
function (err) {
if (err) {
throw err;
}
});
}
该频道在应用程序中并被传递给静音功能,因此我不确定它目前是否正常工作。
编辑:我有一个以相同方式处理的 hangup/kick 函数,它工作正常。下面是我所有的调试。
频道转储
免费 PBX 日志
Socket.io 错误
我也试过 运行 通过 socket.io 连接它,没有它,结果是一样的,我有其他功能,它们都工作得很好,它只是静音功能。
事实证明它不会 运行 因为它需要频道 ID 而不是频道名称,但是函数会 运行 带有频道名称。
它与 Asterisk ARI 不一致,因为它应该与频道名称一起使用,而不是像其他功能(例如挂断和发起功能)那样只使用频道 ID。