gpt4 book ai didi

javascript - ARI JS 客户端静音错误

转载 作者:数据小太阳 更新时间:2023-10-29 04:49:24 27 4
gpt4 key购买 nike

我目前正在为 asterisk 开发静音功能,我可以使用 asterisk ARI 从我的 Web 前端运行它。

但每次我尝试运行/调用静音函数时,都会出现以下错误:

Error: {
"message": "Channel not in Stasis application"
}

但据我所知,我将 channel 数据直接传递给此函数但无济于事。

有任何建议或习惯于使用 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 客户端命令将您刚刚从客户端传递到服务器端的 channel 静音,用户将被静音并显示在 stasis 应用程序中。

function mute(mutval) {
console.log("Muting:" + mutval);
client.channels.mute
({
channelId : mutval
},
function (err) {
if (err) {
throw err;
}
});

}

该 channel 在应用程序中并被传递给静音功能,所以我不确定它目前是否正常工作。

编辑:我有一个以相同方式处理的挂断/踢功能,它工作正常。下面是我所有的调试。

channel 转储 Channel Dump

免费 PBX 日志 enter image description hereAsterisk CLI 调试级别 5 enter image description here

Socket.io 错误 enter image description here

我也试过通过 socket.io 运行它,没有它,结果是一样的,我有其他功能,它们都工作得很好,它只是静音功能。

最佳答案

事实证明它不会运行,因为它需要 channel ID 而不是 channel 名称,但函数会使用 channel 名称运行。

它与 Asterisk ARI 不一致,因为它应该与 channel 名称一起使用,而不是像其他功能(例如挂断和发起功能)那样只使用 channel ID。

关于javascript - ARI JS 客户端静音错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33211069/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com