libnice

The GLib ICE implementation

It provides a GLib-based library, libnice, as well as GStreamer elements.

ICE is useful for applications that want to establish peer-to-peer UDP data streams. It automates the process of traversing NATs and provides security against some attacks. It also allows applications to create reliable streams using a TCP over UDP layer.