跟 ICE-lite 对应的就是 ICE-Full
ICE-lite 仅在 offer 时设置,四选一:
- forward
- backward
- both
- off
测试 backward (后向)
RTPEngine 收到的 offer SDP 为
o=- 1545997027 1 IN IP4 172.17.0.5
s=tester
t=0 0
c=IN IP4 172.17.0.5
m=audio 4024 RTP/AVP 0
a=ice-pwd:bd5dfhdfddd8e1bc6
a=ice-ufrag:q25293
a=candidate:1 1 UDP 2130706303 172.17.0.5 4024 typ host
a=candidate:1 2 UDP 2130706302 172.17.0.5 4025 typ host
a=rtcp-mux
调用 rtpengine_offer("ICE=remove ICE-lite=backward rtcp-mux=demux")
得到的是:
o=- 1545997027 1 IN IP4 172.17.0.5
s=tester
t=0 0
m=audio 32958 RTP/AVP 0
c=IN IP4 203.0.113.1
a=rtpmap:0 PCMU/8000
a=sendrecv
a=rtcp:32959
在收到 answer 之后,调用 rtpengine_anwer("无flag")
得到的 sdp 为:
o=- 1545997027 1 IN IP4 172.17.0.5
s=tester
t=0 0
a=ice-lite
m=audio 32566 RTP/AVP 0
c=IN IP4 203.0.113.1
a=rtpmap:0 PCMU/8000
a=sendrecv
a=rtcp:32566
a=rtcp-mux
a=ice-ufrag:TMZC0F2C
a=ice-pwd:wPEWJVJ9KNrWH0YhcOpw53isGN
a=candidate:RDdGWrjNTEEe18Df 1 UDP 2130706431 203.0.113.1 32566 typ host
a=candidate:Mdk7jX69EgZEGFkD 1 UDP 2130706175 2001:db8:4321::1 35040 typ host
返回给主叫
我们注意到 主叫offer 没有 ice-lite 属性,主叫 answer 有 ice-lite 属性
文档是这样描述 backward (后向)的
backward to enable "ICE lite" mode towards the peer that has sent this offer.
ice=>RTPEngine(ice lite)=>rtp
forward 应该是这样:
RTPEngine 收到这样的 offer
o=- 1545997027 1 IN IP4 172.17.0.5
s=tester
t=0 0
c=IN IP4 172.17.0.5
m=audio 4026 RTP/AVP 0
调用 rtpengine_offer("ICE=force ICE-lite=forward")
也就是说
RTP =>RTPEngine (ice lite) =>ice
不知道我讲的对不对
ice-full vs ice-lite
可参考这里:
https://groups.google.com/g/rtpengine/c/cyD2f-hd6sE/m/Fch3_YZpAAAJ