summaryrefslogtreecommitdiff
path: root/index.mdwn
blob: 5cb735e38eb4bc58058ff7131321b369a888cf25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# libnice


## The GLib ICE implementation

Libnice is an implementation of the IETF's Interactive Connectivity Establishment (ICE) standard (RFC 5245) and the Session Traversal Utilities for NAT (STUN) standard (RFC 5389).

It provides a GLib-based library, libnice and a Glib-free library, libstun as well as [[GStreamer|http://www.gstreamer.net]] 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.

Existing standards that use ICE include Session Initiation Protocol (SIP) and XMPP Jingle.

There is full [[API documentation|http://nice.freedesktop.org/libnice/]] and a page explain how to use it with [[GStreamer]].

Releases can be downloaded at <http://nice.freedesktop.org/releases/> and you can browse the source code at: <http://cgit.freedesktop.org/libnice/libnice>

Mailing list: <http://lists.freedesktop.org/mailman/listinfo/nice>


#### Relevant Standards

* [[ICE RFC 5245|http://tools.ietf.org/html/rfc5245]]
* [[STUN RFC 3489|http://tools.ietf.org/html/rfc3489]]
* [[STUN (bis) RFC 5389|http://tools.ietf.org/html/rfc5389]]
* [[TURN RFC 5766|http://tools.ietf.org/html/rfc5766]]

[[Farstream|http://freedesktop.org/wiki/Software/Farstream]] is a complete streaming implementation, build for peer-to-peer audio and video, that uses libnice.