ICE is RFC 8445, which obsoletes RFC 5245. Candidates are host, srflx, prflx, and relay.
ICE is RFC 8445, which obsoletes RFC 5245. The RFC Editor status banner is the authority for that status. Each side gathers candidates and puts them in SDP, then both sides run connectivity checks and nominate a pair that actually passes packets.
The candidate types are host, srflx, prflx, and relay, and each one names a different place the media address came from. A host candidate is a local interface, srflx is the server-reflexive address from STUN in RFC 8489, and relay is the TURN address from RFC 8656. A prflx, or peer-reflexive, candidate appears when a check arrives from an address that was not already in the list.
A higher-priority candidate is not used until a check succeeds. ICE can nominate a relay even when a host candidate is listed first, if the host candidate cannot receive packets from the peer.
c= remains in the SDP for agents that do not do ICE, and ICE agents still follow the check result for media. Do not delete the candidate lines and keep only c= when you meant to run ICE.
Room: ICE candidate types
© 2026 CypherMonkeyLabs 🐒