jquery - JsSIP 实现

标签 jquery websocket webrtc jssip

我在一家电信公司工作。我们想要开发一个带有 JsSIP 库的 SIP 电话。但我们做不到。我们创建一个基本的测试表单,如下所示:

var socket = new JsSIP.WebSocketInterface('*****');
var configuration = {
  sockets  : [ socket ],
  uri      : '*****',
  password : '*****'
};

var ua = new JsSIP.UA(configuration);

ua.start();

// Register callbacks to desired call events
var eventHandlers = {
  'progress': function(e) {
    console.log('call is in progress');
  },
  'failed': function(e) {
    console.log('call failed with cause: '+ e.data.cause);
  },
  'ended': function(e) {
    console.log('call ended with cause: '+ e.data.cause);
  },
  'confirmed': function(e) {
    console.log('call confirmed');
  }
};

var options = {
  'eventHandlers'    : eventHandlers,
  'mediaConstraints' : { 'audio': true, 'video': true }
};

var session = ua.call('680', options);

以上代码有效。我们可以在任何地方打电话,但调用用户的声音却传不到我们这里。我怎样才能做到这一点?我们必须做什么?有人有这个项目的示例代码吗?

最佳答案

如果调用已建立,但没有音频路径,则调用者/被调用者的 SDP 端点可能无法相互访问。

在这种情况下,调用将因“RTP 超时”原因而断开连接。

这里有一些提示:

  1. 通过运行 JsSIP.debug.enable('JsSIP:*'); 打开 JSSIP 控制台调试

  2. 重新加载页面。

  3. 调用电话并检查浏览器上的控制台日志以获取更多详细信息。

更多信息:http://jssip.net/documentation/3.0.x/api/debug/

如果您看到出入的 SDP IP 地址集错误,则 ICE 候选地址不正确或顺序不正确。

在这种情况下,需要调整 STUN 和其他配置设置。 http://jssip.net/documentation/0.3.x/api/ua_configuration_parameters/

另外,请参阅jssip演示页面,查看源代码,并了解附加配置的应用内容/方式。 https://tryit.jssip.net/

关于jquery - JsSIP 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43202109/

相关文章:

jquery - 将类(class)添加到我的导航栏

java - Okhttp android Websocket 和 Jetty 服务器与 SSL 的连接

android - 使用自定义捕获器(webrtc)从 Canvas 创建流

javascript - 一种方式流式传输 - 在添加候选项之前 ICE 连接失败

swift - 如何在使用 Callkit 时播放声音,例如铃声?

jquery - 使单选按钮避免通过键盘导航进行选择?

javascript - 使用 Jquery if 和 else 函数禁用按钮

jquery - 如何从 jQuery 对话框访问发送者对象或按钮?

javascript - 当我在 Unicorn 服务器上运行时,Websockets 在我的 Rails 应用程序中不起作用,但在瘦服务器上运行

c# - websocket 握手期间 asp.net core signalr 错误