ICE lite
Also written ice-lite, a=ice-lite, lite implementation
An ICE agent that only ever answers checks. It gathers one host candidate on a public address, sends nothing of its own, and is always the controlled agent.
A lite agent skips almost all of ICE. It gathers exactly one candidate per component, its own public address, and it never sends a connectivity check. It waits, and when a check arrives it responds. That is the whole state machine.
This only works if the agent is already reachable from the public internet, which is why it is the normal choice for an SFU or a gateway and never the choice for a browser. The spec says a lite agent is always the controlled agent when its peer is a full one, so the browser drives nomination and the server follows.
The practical consequence is that the server has no opinion about which path to use. It sends media back to whichever address the last valid check came from. If you want the path to change, your client has to make it change.
Signalled at session level as a=ice-lite. Two lite agents cannot connect to each other, because neither side would ever send a check.
See also
Read more
- Fast WebRTC reconnection without a full ICE restartWhen a phone moves from Wi-Fi to cellular, an ICE restart costs a full offer/answer. Against your own SFU there are faster ways to move the call.
- WebRTC DTLS handshake failed: how to find out whyICE says connected, then connectionState goes to failed. That is the DTLS handshake, and RTCDtlsTransport's error event names the exact cause.