我正在尝试为我的SIP呼叫请求创建一个Web客户端。我已经成功地从浏览器完成了邀请电话。但是,我不知道如何通过Javascript引用第三方调用。我正在使用WebRTC和SIPML5。
在尝试session.transfer()
,成功引用后,指向引用的链接已断开...但是,我能够听到裁判对推荐人的音频。"我没有收到通知。只需参考是ACK啜饮消息,然后是1方呼叫。
例如:
A
是指B
。成功引用后,我无法从A
发送/接收 SIP 数据包。但是,我能够从B
做同样的事情.所以,当B
说话时,A
能听到。但是,反之亦然不起作用。
SIP 参考通过 SIPP 完美运行。并且提供 2 路数据包。
PS:我不想转接电话。
如果SIPML5不支持这一点,我可以通过Java做同样的事情吗?我在哪里向通过doRefer()
处理它的 SIP servlet 发送引用请求?
这些是我提到的链接:
-
使用 Sipml5 JavaScript 实现客户端 WebRTC
-
AnonymousClass SIPml.Stack.Configuration
我自己找到了。
SIPML5 不支持呼叫引用,但支持呼叫转移。 因此,它使用 REFERENCE 来转移呼叫,但随后,被调用方断开连接。
因此,找到解决方法, 我在session.send((中以字符串形式发送了REFERENCE消息详细信息。我必须解析字符串才能获取数据,这当然不是 SIP 消息,而是一个简单的字符串。
在处理引用时,我能够接收来自被叫方和调用方的数据包。
不过问题仍然存在,
问题是邀请呼叫的会话类型为"呼叫",而消息会话的类型为"消息"。
因此,我将呼叫会话的 CALL-ID 添加到消息会话中并对其进行了解析。 从而成功在同一通道上获取数据包。