An implementation of Interactive Connectivity Establishment (ICE, RFC 5245) for Node.js.
ICE solves the problem of establishing a UDP based connection between two peers potentially behind NATs without them having to muck around with their router's port forwarding settings. Without ICE, it's highly likely for UDP connections given between two random peers to fail.
For those of you who have read the spec(s). This is a full implementation (not a lite implementation), with full trickle (as opposed to half trickle), and aggressive nomination (as opposed to regular nomination).
This module was seperated from my Node.js RTCPeerConnection implementation for reusability. As such, that library drives the interface to this library.
- TURN candidate support
- Peer Reflexive candidate support
...
- RFC 5245 - ICE (Interactive Connectivity Establishment)
- RFC 5389 - STUN (Session Traversal Utilities for NAT)
- RFC 5766 - TURN (Traversal Using Relays around NAT)
- RFC 7064 - STUN URI Scheme
- DRAFT ICE-BIS - ICE (Interactive Connectivity Establishment)
- DRAFT ICE-Trickle - Incremental Provisioning for ICE