首页 > 解决方案 > 如何在 SIPML5 WebRTC 中配置 REFER 呼叫?

问题描述

我正在尝试为我的 SIP 呼叫请求创建一个 Web 客户端。我已经从浏览器成功完成了邀请呼叫。但是,我不知道如何通过 Javascript 引用 3rd 方调用。我正在使用 WebRTC 和 SIPML5。

在尝试session.transfer(),成功推荐后,指向推荐人的链接被破坏......但是,我能够听到来自推荐人的音频。'我没有收到通知。只需参考 ACK sip 消息,然后 1 边呼叫。

例如: AB. 成功推荐后,我无法从A. 但是,我可以从B. 所以,B说话的时候,A能听见。但是,反之亦然。

SIP 参考通过 SIPP 完美运行。并提供 2 路数据包。

PS:我不想转接电话。

如果 SIPML5 不支持这个,我可以通过 Java 做同样的事情吗?我在哪里向 SIP serverlet 发送引用请求,它通过什么来处理它doRefer()

这些是我提到的链接:

标签: javascriptwebrtcsipml5

解决方案


我自己找到的。

SIPML5 不支持呼叫转接,但不支持呼叫转移。因此,它使用 REFER 来转移呼叫,但随后,被叫方断开连接。

因此,找到一种解决方法,我在 session.send() 中将 REFER 消息详细信息作为字符串发送。我必须解析字符串以获取数据,这当然不是 SIP 消息,而是一个简单的字符串。

在处理参考时,我能够接收来自被调用者和调用者的数据包。

问题依然存在,

问题是邀请呼叫的会话属于“呼叫”类型,而消息会话属于“消息”类型。

因此,我将呼叫会话的 CALL-ID 添加到消息会话中并对其进行解析。从而成功地在同一通道上获取数据包。


推荐阅读