【问题标题】:ICE protocol what is base?ICE 协议的基础是什么?
【发布时间】:2015-07-03 08:18:36
【问题描述】:

在 ICE 协议中,什么是 Base?

我理解 Base 为,对于服务器自反候选,主机候选是基础,它是否正确?

如何找到候选人的基础?

【问题讨论】:

    标签: webrtc stun turn


    【解决方案1】:

    你是对的。根据 RFC5245:

    Base:服务器反身候选的基础是主机候选 它是从中派生的。据说主持人候选人也有 基数,等于该候选人本身。同样,一个基 中继的候选人就是该候选人本身。

    基础是任意值。您可以在 SDP 中为每个 ICE 候选人找到它。是candidate:之后的第一个值

    例如

    a=candidate:1174096638 1 udp 2122194687 10.191.1.117 57105 typ host generation 0
    a=candidate:2999745851 1 udp 2122129151 192.168.59.1 57106 typ host generation 0
    

    基础是

    1174096638
    2999745851
    

    【讨论】:

    • 对于特定的候选人,我如何获得基础?基础值后的 1 是什么?
    • 我认为您可以通过解析每个候选人的 SDP 来检索基础。 1 是组件的 ID。如果你使用 RTP,你应该有两个值。 1 用于 RTP,2 用于 RTCP。您可以阅读描述该内容的 RFC 5245(第 19 页)。
    • 在RFC 5245(第22页)中,关于foundation解释它是一个标识符,意味着我们可以根据我们的要求选择数字吗?是否正确?在您的示例中,第 0 代是什么?
    • AFAIK,规范中的任何内容都没有准确定义 ID 的范围。但是例如,在 Firefox 中,您的 ID 较小(0,2 等),但在 Chrome 中 ID 较大(1174096638、2999745851 等)对不起,但根据Meta Stack Overflow (meta.*.com/questions/266767/…),它会如果您下次可以打开一个新问题而不是在 cmets 中提问/回答,那就更好了。