【问题标题】:STUN connection not completingSTUN 连接未完成
【发布时间】:2018-10-31 17:39:10
【问题描述】:

我正在编写一个 RTP 中继,但遇到了一个问题。

基于 libnice 线程示例我已经编写了软件的一部分 使用 STUN 连接到在 chrome 中运行的 javascript。

基本上这就是我的软件方面发生的事情:

等待状态 READY 或 FAILED 信号... 信号:状态改变 1 1 已连接[3] 状态现在已连接 信号:状态改变 1 1 就绪[4] 状态现已准备就绪

所以 cleary libnice 正在触发我的回调,指出连接是 根深蒂固

wireshark 显示绑定指示包

但那是笨蛋

这是来自 chrome 在 webrtc 内部的日志:

Time    Event
29/10/2018, 19:59:11    setRemoteDescription
29/10/2018, 19:59:11    signalingstatechange
29/10/2018, 19:59:11    receiverAdded
29/10/2018, 19:59:11    setRemoteDescriptionOnSuccess
29/10/2018, 19:59:11    createAnswer
29/10/2018, 19:59:11    createAnswerOnSuccess
29/10/2018, 19:59:11    setLocalDescription
29/10/2018, 19:59:11    iceconnectionstatechange
29/10/2018, 19:59:11    signalingstatechange
29/10/2018, 19:59:11    setLocalDescriptionOnSuccess
29/10/2018, 19:59:11    icegatheringstatechange
29/10/2018, 19:59:11    icecandidate (host)
29/10/2018, 19:59:11    icegatheringstatechange

永远不会触发具有牢固连接的 iceconnectionstatechange。 这意味着chrome之后从未检测到已建立的连接 最后的涓涓细流,而我的程序确实如此。

在 chrome 中触发的最后一个 iceconnectionstatechange 是“检查”

我该如何调试???

非常感谢任何帮助

谢谢

/帕特里克

【问题讨论】:

    标签: c browser webrtc stun


    【解决方案1】:

    您可能需要stun consent,它使用绑定请求/响应而不是绑定指示。还可以尝试通过将 a=ice-lite 添加到 SDP 来将您的对等节点声明为 lite 实现。

    【讨论】:

    • 感谢您的及时回答,我不知道 libnice 如何以及是否确实实现了 stun 同意。我曾尝试将 a=ice-lite 添加到 sdp,但没有帮助。
    • 附录:libnice 没有实现 RFC 7675,我正在与 Janus.js 交谈,所以基本上它应该可以工作,但它没有。
    猜你喜欢
    • 2018-12-06
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    相关资源
    最近更新 更多