WebRTC在关闭中的对等连接时出现问题,具有本地提供状态



我一直在测试的场景是试图在远程应答之前取消请求的会话启动。我正在使用两台运行Android 6.0的Nexus 7设备之间的设置。

我介绍了一个会话启动取消选项,该选项在发出会话启动请求而远程用户尚未回答(例如,处于用户警报状态)期间对用户可用。当用户请求取消会话时,发起侧的RTC对等连接信令状态为"具有本地优惠"。在发起取消时,我在对等连接上调用关闭,并看到当RTC信号状态变为(正如我所期望的)"关闭"时,在发起侧发生信号状态变化。

然而,在接收会话发起请求的一侧,RTC信令状态如预期的那样变为"具有远程要约"状态,但来自发起侧的关闭事件似乎没有传播到接收侧,并且接收侧保持在"具有远程提议"状态。

我已经审查了标准,似乎事件应该在接收方生成(即,在"有本地报价"的状态下关闭时应该发送关闭)。

显然,我可以围绕这种情况进行构建,并通过会话服务器信令通道生成一个终止,但我想了解我是做错了什么还是错误地解释了规范?

谢谢,

您尚未成功协商连接,因此RTCPeerConnection与另一方的唯一通信方式是通过您提供的信令信道。

为了在close上进行通信,必须在类似于onicecandidate的API中显示该内容,而不存在这样的内容。

记住,你的代码是两端的,所以你可以很容易地自己发出信号。

撇开规范中的一个小错误不谈(希望很快就会消失),对等连接不会自行关闭。

最新更新