/node-ice

[WIP] Interactive Connectivity Establishment (ICE) (RFC 5245) for Node.js

Primary LanguageJavaScriptOtherNOASSERTION

Node-ICE

An implementation of Interactive Connectivity Establishment (ICE, RFC 5245) for Node.js.

Why is ICE useful?

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.

Implementation Details

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.

What's Missing

  • TURN candidate support
  • Peer Reflexive candidate support

API

...

Relevant Specs