ICE (Interactive Connectivity Establishment)
ICE gathers all possible addresses for a call, tests them in pairs and picks the best working path, combining STUN and TURN to make media work through NAT.
Published 8 November 2026 · 1 min read · By SpaGreen Creative
Short answer
ICE is the NAT traversal framework, defined in RFC 8445, in which both endpoints collect candidate addresses (local, STUN-reflexive and TURN-relayed), exchange them in SDP and test pairs to find a working media path.
STUN tells a client one public address. TURN gives it a relay. ICE, defined in RFC 8445, puts these together into a procedure that reliably finds a working path for media.
Before a call, each endpoint gathers candidates: its local addresses, the public address learned from STUN, and any relay address obtained from TURN. It lists them in the SDP with a=candidate lines. Once both sides have exchanged candidates, they pair them up and send STUN connectivity checks across every pair. The first pair that succeeds in both directions, weighted by a priority that prefers direct paths over relays, becomes the media path. The endpoints can then switch to it and drop the rest.
The result is that media works whether the two parties are on the same LAN, behind ordinary NAT, or behind the kind of NAT that only a relay can cross. ICE is mandatory in WebRTC and increasingly supported in SIP, though many PBX systems do not implement it and rely on their own NAT handling instead.
In SIPdia the ICE switch is in the Advanced section, next to the STUN server field. Turning both on is the recommended first step when a call has one-way or no audio.
Sources and further reading
- RFC 8445: Interactive Connectivity Establishment (ICE)www.rfc-editor.org
- RFC 8489: Session Traversal Utilities for NAT (STUN)www.rfc-editor.org
This article is published by SpaGreen Creative, the maker of SIPdia. Product names mentioned belong to their owners. Where it describes other software, treat the steps as general guidance and check the official documentation linked above.
