问题标签 [sipjs]

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 投票
2 回答
2646 浏览

sip - 使用 SIP.js 进行有人值守转移

早上好,我需要使用 SIP.js 进行有人值守转移。有人成功完成这项任务吗?我现在只能进行盲转,我发现一篇文章报告说在 0.7.x 版本中支持有人参与的转槽替换命令。

https://www.onsip.com/blog/sipjs-070-adds-fixes-and-support-for-attended-transfer-recommended-upgrade

0 投票
1 回答
616 浏览

sip - SipJS 和 Freeswtch:无法接听电话

尝试使用Freeswitch基于 sipJS 的 SipPhone拨打电话 我在一端使用linphone ,在另一端使用sipjs,lin 电话能够调用基于浏览器的 sipJs 电话作为其振铃但我无法接听电话这是我的日志,似乎是未经授权的 UA成为一个问题

日志:

0 投票
3 回答
1099 浏览

freeswitch - 如何将呼叫者 SIP.JS(wss-binding)的 session.id 放入 CDR 日志文件或拨号计划(Freeswitch Windows)?

如何将呼叫者 SIP.JS(wss-binding)的 session.id 放入 CDR 日志文件或拨号计划(“Freeswitch Windows”)?或者获取会话自由切换到浏览器的UUID?

0 投票
1 回答
575 浏览

webrtc - 将 sipjs 迁移到 jssip

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

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

0 投票
3 回答
1472 浏览

javascript - 在 SIP.js 中接听电话时如何获取 localStream(静音麦克风)

当我想使麦克风静音时,我使用从中获得的媒体流

会话值来自 agent.invite() 方法。

但是当我接到来电时,在 onInvite 事件处理程序中:

我再次尝试在 onaccepted 事件处理程序中附加事件

初始化了 sessionDescriptionHandler 对象,但我认为为时已晚,onUserMediaObtained 没有被触发。

0 投票
1 回答
807 浏览

webrtc - sipjs 0.11.0 的 coturn 或 ice 设置的位置应该在哪里?

在阅读了 Git 问题https://github.com/onsip/SIP.js/pull/426#issuecomment-312065734https://sipjs.com/api/0.8.0之后,我正在从 sipjs 0.7x 迁移到 sipjs 0.11 /会话描述处理程序/

我发现冰选项(coturn,turn,stun)不再在用户代理中,但问题是我不太明白我应该在哪里使用 setDescription(sessionDescription,options,modifiers)

我已经看到冰是在选项中设置的,使用 options.peerConnectionOptions.rtcConfiguration.iceServers

以下是我尝试过的

我已经尝试过了,似乎流量不会流向 coturn 服务器。我已经使用 Trickle Ice“ https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/ ”进行测试,这很好,但我发现没有流量通过 coturn 服务器。你也可以用这个,我不介意。

官方网站上甚至没有演示来展示我们如何使用 setDescription(sessionDescription, options, modifiers)。在这种情况下,我可以请教一些建议吗?

0 投票
0 回答
475 浏览

javascript - 如何修复 WebRTC 发送者跟踪属性返回 null 以存储 localMedia

我正在使用 Angular 和 SIPjs 进行 WebRTC 实现。远程媒体工作正常,但我无法添加本地媒体,因为发送者的 track 属性返回 null 而不是应该正确存储的 MediaStreamTrack 对象。

我正在使用 SIPjs 0.13.6,问题至少发生在 Chrome、版本 73.0.3683.86(官方构建)(64 位)和 Firefox 65.0.2(64 位)中。SIP 服务器是 Docker 中的 Asterisk,

我用以下结果进行了这些测试,问题是轨道应该在那里,但是当我尝试访问时,它是空的......

结果,它似乎是 getSenders() 方法返回的数组的第一个元素内的一个 mediaStreamTrack:

我不能发布图片,因为我需要更多的声誉才能做到这一点,所以我必须这样说:

接下来,我访问该数组的第一个对象:

结果,如您所见,从这里开始(对我而言)奇怪的事情。该对象似乎有一个空轨道,但是当您显示该对象时,MediaStreamTrack 对象似乎在那里......

我做的第三件事是尝试访问轨道的属性值:

它显示为空:

然后,当我尝试遍历 getSenders() 结果以获取每个发件人的跟踪并将其添加到 MediaStream 对象时,它会引发错误,如帖子的第一段代码所示

0 投票
1 回答
1231 浏览

javascript - 使用 SIP.js(版本 0.13.7)的多个呼叫

sip.js (version 0.13.7)用于拨打语音电话。

我得到媒体流并将其附加如下:

它适用于单次通话,但我无法同时拨打多个电话,如果我尝试handleInvite()使用新会话进行通话,则没有音频并且只能听到第一次通话。

在 sip.js 网站上没有关于如何执行此操作的好的文档,并且许多在线可用的解决方案都是以前不兼容的版本。

当我在 Google 上搜索“sip.js 多次调用”时,第一个结果是https://sipjs.com/guides/reuse-mediastreams/,这是一个不存在的页面。

注意: 我可以使用较旧的 sip 版本(即 0.7.0)同时制作两个,但不能使用最新版本。

0 投票
1 回答
260 浏览

javascript - 如何将 html 文件与 node_modules 中的 js 文件连接起来?

我正在尝试将\node_modules\sip.js\dist\sip.min.js, 添加到我的 html 文件中。我尝试像import * as SIP from 'sip.js/dist/sip';在我的 component.ts 中一样导入,但只有当我从中调用某些函数时才有效。但我需要我的 html 文件来阅读这个sip.min.js

我还尝试下载本地此文件并添加到我的 html 文件中

并补充说:

但这不起作用

0 投票
0 回答
240 浏览

javascript - Sip.js - 如何捕捉 MediaStreamError?

当它发生时如何捕捉MediaStreamError(例如,当不上时https):在此处输入图像描述

我想我已经尝试了.on()我在Sip.js 文档中找到的所有事件,但只有"ended"在发生此错误时才有效(但我认为这不适合用作错误处理程序) - 任何想法/想法?

顺便提一句。尝试通过以下方式捕捉它:

即使试图通过它来捕捉它window.onerror也不起作用(例如,bugsnag插件可以正确捕捉它):| 有任何想法吗?