What is ICE?
From draft-ietf-mmusic-ice-19.txt draft:
This document describes a protocol for Network Address Translator (NAT) traversal for UDP-based multimedia sessions established with the offer/answer model. This protocol is called Interactive Connectivity Establishment (ICE). ICE makes use of the Session Traversal Utilities for NAT (STUN) protocol and its extension, Traversal Using Relay NAT (TURN). ICE can be used by any protocol utilizing the offer/answer model, such as the Session Initiation
Protocol (SIP).
Protocol (SIP).
Draft specification
- https://datatracker.ietf.org/drafts/draft-ietf-mmusic-ice Latest Draft specification
Implementations
- PJNATH library from pjsip.org project is an Open Source NAT traversal library supporting ICE, STUN-bis, and TURN.
- AnyFirewall Engine NAT traversal (SDK). Incorporates the most comprehensive implementation of the IETF standards STUN, TURN and ICE, this implementation is not Free or Open
- VoipObjects ICE library implements ICE full mode (lite mode is not supported yet). GPL, C++, Win32 and POSIX systems.