15.1. "candidate" Attribute
候选地址就是一个媒体属性而已,他包含一个用于连接检测的传输地址。 地址的基本语法如下:
candidate=candidate-attribute = "candidate" ":" foundation SP component-id SP
transport SP
priority SP
connection-address SP ;from RFC 4566
port ;port from RFC 4566
SP cand-type
[SP rel-addr]
[SP rel-port]
*(SP extension-att-name SP
extension-att-value)
foundation,由1到32个字符组成。用于标志和区分来自同一个stun的2个candidate。同时也用于算法优化。
cand-type:
对候选类型进行编码。values "host", "srflx", "prflx", and "relay" for host, server reflexive, peer reflexive, and relayed candidates, respectively。
priority:Candidate的优先级,是介于1和(2**31-1)之间的正整数。表示优先级,越大越好.如果考虑延时,带宽资源,丢包的因素,Type优先级高低一般建议如下顺序:host> srvflx > prflx > relay
component_id:是介于1和256之间的正整数。传输媒体的类型,1代表RTP;2代表RTCP。。它必须从1开始,并且必须以1递增
对于特定候选对象的每个组成部分。对于媒体流基于RTP,实际RTP介质的候选对象必须具有组件ID为1,RTCP的候选项必须具有组件ID为2。其他类型的媒体流需要多个组件必须开发定义映射的规范组件到组件ID。更多信息见第14节关于将ICE扩展到新媒体流的讨论。WebRTC采用Rtcp-mux方式,也就是RTP和RTCP在同一通道内传输,减少ICE的协商和通道的保活。
Base
是指candidate 的基础地址。Srvflx address 的base 是本地host address。host address和 relayedaddress 的base 是自身。