javascript - 如何在 SIPML5 WebRTC 中配置 REFER 呼叫?
问题描述
我正在尝试为我的 SIP 呼叫请求创建一个 Web 客户端。我已经从浏览器成功完成了邀请呼叫。但是,我不知道如何通过 Javascript 引用 3rd 方调用。我正在使用 WebRTC 和 SIPML5。
在尝试session.transfer()
,成功推荐后,指向推荐人的链接被破坏......但是,我能够听到来自推荐人的音频。'我没有收到通知。只需参考 ACK sip 消息,然后 1 边呼叫。
例如:
A
指B
. 成功推荐后,我无法从A
. 但是,我可以从B
. 所以,B
说话的时候,A
能听见。但是,反之亦然。
SIP 参考通过 SIPP 完美运行。并提供 2 路数据包。
PS:我不想转接电话。
如果 SIPML5 不支持这个,我可以通过 Java 做同样的事情吗?我在哪里向 SIP serverlet 发送引用请求,它通过什么来处理它doRefer()
?
这些是我提到的链接:
解决方案
我自己找到的。
SIPML5 不支持呼叫转接,但不支持呼叫转移。因此,它使用 REFER 来转移呼叫,但随后,被叫方断开连接。
因此,找到一种解决方法,我在 session.send() 中将 REFER 消息详细信息作为字符串发送。我必须解析字符串以获取数据,这当然不是 SIP 消息,而是一个简单的字符串。
在处理参考时,我能够接收来自被调用者和调用者的数据包。
问题依然存在,
问题是邀请呼叫的会话属于“呼叫”类型,而消息会话属于“消息”类型。
因此,我将呼叫会话的 CALL-ID 添加到消息会话中并对其进行解析。从而成功地在同一通道上获取数据包。
推荐阅读
- ruby-on-rails - 无法确定此 rails 错误消息到我的产品 form.html.erb 文件的语法错误的原因?
- java - 怎么可能只有在第一次启动应用程序时才显示插页式广告
- java - Java ZonedDateTime 不会将 UTC 调整为本地区域
- powerbi - Power BI 按钮 - 可调整大小的工具提示框?
- python - Flask 1.1.2 应用程序中的错误:/ [GET] 上的异常
- c++ - 为什么非可变 lambda 中的字段在捕获 const 值或 const 引用时使用“const”?
- google-sheets - 我如何 1:将数据的水平线提取到带有标题的垂直范围内。2:表示数据的垂直范围,只显示选中的项目
- heroku - HEROKU 无法获取 /*任何页面*
- javascript - DOM顶部的D3 div?
- java - 使用 Dropwizard JDBI