诊断WebRTC ICE故障

时间:2017-02-06 19:01:58

标签: javascript webrtc sdp

在过去三年中,无论何时我使用WebRTC,在某处或其他地方,我都会遇到以下错误:

ICE Failed, see about:webrtc for more details

错误似乎已经出现在各个地方:如果任何一个对等网络关闭,导致WebRTC失败(这是预期的);如果收到答案或提议SDP在收到答案或提议后过早;而且,似乎在信号发送期间的随机时间没有特别的原因。

每当发生这种情况并且无法解释时,我会转向:webrtc并尝试找出错误的方法,但因为我不知道我在寻找什么(并且没有“因为这件事而失败的ICE”),我永远无法弄清楚出了什么问题。结果,我经常注定要对我的代码进行测试。

显然,这不是最好的方法。所以,我的问题是,如何诊断WebRTC中的ICE Failed错误?我应该在about:webrtc中查找什么,我的代码中可能导致的常见错误是什么?这个,还有我应该知道的诊断工具吗?

2 个答案:

答案 0 :(得分:5)

在Chrome中,如果所有连接都超时,将在15秒内未收到成功的STUN响应,则会达到ICE故障状态。

本机日志中有很多ICE调试消息:https://webrtc.org/native-code/logging/

但是如果不熟悉代码,这些日志语句很难解释。如果您认为ICE已达到失败状态且不应该,我建议filing a bug并包含本机日志。

答案 1 :(得分:1)

我想在这里很难做出完整的答案。

最好的方法是查看chrome:// webrtc-internals并遵循API跟踪。有关于要查找的内容以及常见错误的详细说明:http://testrtc.com/webrtc-api-trace/