【发布时间】:2016-02-09 06:10:45
【问题描述】:
我一直在测试的场景是尝试在远程应答之前取消请求的会话启动。我在两台运行 Android 6.0 的 Nexus 7 设备之间使用设置。
我引入了一个会话启动取消选项,在发出会话启动请求且远程用户尚未应答(例如,处于用户警报状态)期间,该选项可供用户使用。当用户请求会话取消时,发起端的 RTC 对等连接信令状态为“have-local-offer”。在启动取消时,我在对等连接上调用关闭,并看到随着 RTC 信令状态(如我所料)变为“关闭”,在启动端发生了信令状态更改。
然而,在接收会话发起请求的一方,RTC 信令状态按预期进入状态“have-remote-offer”,但来自发起方的关闭事件似乎没有传播到接收方,并且接收方保持“have-remote-offer”状态。
我已经查看了标准,并且似乎应该在接收方生成事件(即,在“有本地报价”状态下关闭时应该发送关闭)。
显然,我可以围绕这种情况进行构建并通过会话服务器信号通道生成终止 - 但想了解我是否做错了什么或误解了规范?
谢谢,
【问题讨论】:
-
您在规范中究竟在哪里找到了对正在生成的接收方事件的支持?
-
好点 - 我假设在处理关闭时,达到任何状态('将对象的 RTCPeerConnection 信号状态设置为关闭。')该状态是对等连接的状态并反映了一种状态在连接的两端,如果状态变为关闭,则相应的远程也变为关闭。如果正确,则在稳定状态下传播关闭,从状态机的角度来看,似乎远程会发生某些事件 - 无论如何,在没有进入实际的底层实现的情况下,你能指出处理这个问题的讨论吗?谢谢!