当前位置: 首页 > 知识库问答 >
问题:

ARI JS客户端静音错误

夏炎彬
2023-03-14

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

但每次我尝试运行/调用静音功能时,它都会给我以下错误:

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

但是,据am所知,am将信道数据直接传递给该功能,但没有任何效果。

有人对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中,然后调用静态函数。

    io.sockets.on('connection', function (socket) {
    updateSip();
    socket.on('muting', function (data) {
        mute(data);
        console.log("Reached listener for muting")
    });
});

停滞功能

使用ARI客户端命令将刚刚从客户端传递到服务器端的通道静音,用户将被静音并显示在应用程序中。

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

}

通道在应用程序中,正在传递给静音功能,因此我不确定其当前不工作的方式。

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

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

共有1个答案

经炜
2023-03-14

结果表明它不会运行,因为它需要通道ID而不是通道名称,但函数将使用通道名称运行。

它与星号ARI不一致,因为它应该与频道名称一起使用,而不仅仅是频道ID,就像其他函数(如挂断和发起函数)一样。

 类似资料:
  • 我们试图对cadence设置进行基准测试(目前在2个EC2实例上运行:m5a.xlarge ),发现了许多cadence客户端错误: cadence_service:cadence_matching,操作:历史记录重新记录活动任务已启动

  • 常规八股+项目拷打 手写线程池 力扣hard 一眼kpi

  • 我正在尝试使用第三方组织提供的web服务。 服务的URL如下 有几个帖子带有相同的错误消息。我在这里阅读了这篇文章,并通过向客户端添加这些设置来尝试它: 之后,服务器根本没有响应! 所以,我有点被困在这里了。有人能把我推到正确的方向吗?

  • 我不确定这是否可能,我已经配置了一个icecast服务器并流媒体音乐,我想使用Java(或grails)创建一个web播放器。我设法让java web应用程序播放icecast正在流式播放的音乐,使用如下所示: 几句台词后,音乐开始播放,问题是,如果我用web应用程序关闭选项卡,音乐就会继续播放,我必须停止应用程序才能停止播放,但当我再次启动它并尝试再次播放时,这就像icecast服务器在后台继续

  • null Twilio真的支持VoIP推送吗?如果是,这个设置会有什么问题? 谢谢,古文。 在Viktor的指导下编辑:我现在手动创建Voicegrant。我将key属性的值设置为。下面是赠款的样子: 编辑2:我实际上已经升级到twilio-node 2.11.0,但仍然得到错误。下面是生成JWT之前的访问令牌。

  • 我的服务器上再次收到错误。 { “错误”: “invalid_client” } 我已经编码到base64并将域列入了白名单,但仍然得到相同的错误。我会感激任何帮助,这让我发疯了,哈哈。