问题标签 [jssip]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
4810 浏览

audio - 本地网络中没有音频/// WebRTC + Asterisk + jsSIP

非常感谢您对这个问题的帮助。我正在使用 jsSIP 用户代理运行一个非常基本的 JS 脚本,该用户代理使用本地 Asterisk 服务器进行语音呼叫。一切都在专用网络上,我没有从 Asterisk CLI 收到任何警告或错误,但是当我拨打旧版 SIP 电话或测试分机时,尽管有响铃,但任何一侧都没有音频,电话可以接听,而且永远不会掉线。我的 Asterisk 12 是用 SRTP 和 pjproject 编译的。

我在 Asterisk WebRTC Wiki ( https://wiki.asterisk.org/wiki/display/AST/Asterisk+WebRTC+Support ) 上读到:“从 Asterisk 12 开始,您需要安装 pjproject 库,否则您很可能会赢在您的 WebRTC 呼叫中没有音频,也没有任何警告!” 我正确安装了它并选择了它用于 Asterisk 编译,但我想知道我是否做错了,我该如何检查它......

这些是我的星号文件:

这是我的 jsSIP 客户端的 JS 脚本:

在这里,我留下 jsSIP 的调试,显示与订阅我的 UA 和拨打测试分机 200('hello-world' 录音)相关的 SIP 消息:

1.订阅:

2. 拨打分机 200(hello-world):

最后,这就是 Asterisk CLI 所说的:当我订阅时:

当我打电话时:

我错过了什么明显的东西吗?先谢谢了

0 投票
3 回答
5159 浏览

javascript - 使用 Jssip 的 Webrtc 客户端 - 使用 Free switch 和 chrome 两种方式都没有音频

我正在使用 JsSip 0.7x api 来制作 webrtc 的客户端。使用 chrome 进行测试。使用网关终止 pstn 上的呼叫。使用 index.html 中的音频元素并在事件“addstream”上添加远程流初始注册邀请等消息交换并收到 200 ok。

日志显示已添加远程流但双方都没有音频,甚至没有响铃。媒体流活动:真,结束:假

有人可以提出可能的问题吗

  • index.html <audio id='remoteVideo' 控制 autoplay = "autoplay" > 不支持

-testjssip.js

0 投票
1 回答
1054 浏览

webrtc - JsSIP Firefox - InvalidSessionDescriptionError:当报价未设置发送时,答案尝试设置接收

我最近在使用 JsSIP。我们尝试使用单向(传入)音频流连接会议,但 Firefox 无法正常工作。

火狐错误信息:

InvalidSessionDescriptionError:当报价未设置发送时,答案尝试设置接收

所以我们的JsSIP配置是:

这是报价正文

这是答案正文:

PS在Chrome上,这个配置很好用

0 投票
1 回答
960 浏览

javascript - JsSip 客户端通过 https 使用非安全 websocket

我一直在 Firefox 中使用 jssip 进行测试。我能够加载http://tryit.jssip.net。虽然现在这被重定向到https://tryit.jssip.net上的安全通道。这进一步不允许 ws:// 连接。

以下是jssip客户端错误:

JsSIP:传输连接到 WebSocket ws://abcd:p +2s jssip.js:23543 混合内容:“ https://tryit.jssip.net/ ”处的页面是通过 HTTPS 加载的,但尝试连接到不安全的WebSocket 端点 'ws://abcd:p/'。此请求已被阻止;此端点必须可通过 WSS.W3CWebSocket @ jssip.js:23543Transport.connect @ jssip.js:19149(匿名函数)@ jssip.js:20215 jssip.js:22841 JsSIP:ERROR:Transport error connection to WebSocket ws:/ /abcd:p: SecurityError: 无法构造“WebSocket”:可能无法从通过 HTTPS 加载的页面启动不安全的 WebSocket 连接。+0ms jssip.js:22666 JsSIP:UA 传输 ws://abcd:p 失败 | 连接状态设置为 2 +1ms

有什么方法可以以非安全方式使用还是强制使用?如果是这样,我努力搜索,但在 jssip 版本或版本说明中找不到任何地方。

0 投票
2 回答
5459 浏览

node.js - 如何使用非 websockets 传输来使用 JS SIP 库?

Quora上有人问了这个问题,没有答案。除了更改 jsSip 的源代码之外,是否有任何解决方案?

问题是大多数与 webRTC 一起使用的 JS SIP 库都是通过 websockets (RFC 7118) 来实现的。此外,Chrome 现在要求 getUserMedia 接口在 https 上运行,这对 SIP 服务器端施加了额外的要求。SIP 服务器还必须支持 websockets、SRTP、DTLS 等。

如果 SIP 呼叫是通过浏览器进行的,所有这些都是有意义的,无论是作为 webRTC 的信令机制还是通过网页的非 webRTC 电话呼叫。

但是,当 SIP 服务器在本地网络上并且必须从应用服务器发起 SIP 呼叫时,所有这些要求都不再适用。应该可以通过普通 UDP 进行 JS SIP 调用,而无需使用 SIP 服务器运行 http 服务器,因为在我的例子中,http 服务器与应用程序服务器本身集成在一起。

0 投票
1 回答
318 浏览

node.js - 浏览器化 - JsSip

我有一个新项目,我正在使用 browserify 将节点模块转换为可以在浏览器中运行的 sdk。

我需要一些其他的 npm 包,比如:

运行良好并且在浏览器中没有给我任何问题,但是 JsSip 不会合作。当我做

我明白了

plivowebsdk.js:2 未捕获的错误:找不到模块'../../package.json'

查看代码,很明显当它进行此调用时

是它爆炸的地方。显然它找不到用于提取版本信息的 package.json 文件。我知道 JsSip 实际上是用 browersify 本身(或曾经是)构建的,因此它可以在节点或浏览器中运行。这会引起冲突吗?

browserify 仍然有点新,它们是我可以执行的配置选项或转换来解决这个问题吗?

0 投票
1 回答
575 浏览

webrtc - 将 sipjs 迁移到 jssip

我将 lib sipjs 更改为 jssip。我在会话转移上有问题。在 sipjs 这看起来像这样

我怎么能在jssip上做到这一点?

0 投票
1 回答
3236 浏览

javascript - 为什么我在尝试与 JSSip 连接时得到“WebSocket 开放握手被取消”?

我正在尝试使用已经运行的 SIP 服务器与 JSSip 建立连接。我遵循了文档并提出了以下代码。这是我的代码。

我的服务器分机号是 4051,我正在尝试拨打 4050 我的同事。但是,如果我打开 Chrome 的控制台,我会看到以下错误:

0 投票
1 回答
510 浏览

javascript - JsSIP:刷新浏览器时用户已注销

我有一个简单的浏览器 SIP 电话。它是一个基于 JsSIP 库的单页应用程序。它有两个输入字段登录名和密码。身份验证后,它向我显示了一个拨号面板。当我刷新页面时,它再次向我显示身份验证表单。

如何在页面刷新后恢复会话并保持用户登录?

0 投票
3 回答
1411 浏览

webrtc - 在项目中使用 jsSIP

我们在我们的项目中使用 jsSIP,我试图在接到来电时获取来电者的电话号码。我在 jsSIP文档中找不到答案。

在此处输入图像描述

在上图中,我想取“1004”电话号码。我怎样才能做到这一点?