Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/shadeslayer/libnice

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 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.
https://github.com/shadeslayer/libnice

Last synced: 16 days ago
JSON representation

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 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.

Awesome Lists containing this project

README

        

Nice: GLib ICE library
======================

Copyright
---------

(C) 2006-2011 Collabora Ltd.
(C) 2006-2011 Nokia Corporation

License
-------

See the file COPYING.

Requirements
------------

glib >= 2.10
pkg-config
gupnp-igd >= 0.1.2 (optional)
gstreamer-0.10 >= 0.10.0 (optional)

Build instructions
------------------

To build on Linux and Mac, you only need to type the usual commands :
./configure && make && sudo make install
Please refer to the INSTALL file for more details.
If you are building from git, you must first run the ./autogen.sh script
to generate the configure file for you.

To build on Windows, please refer to the README.win32 file for build instructions
using Microsoft Visual Studio.

Structure
---------

agent/ - ICE agent
docs/ - Design and API documentation
gst/ - Gstreamer elements
nice/ - libnice library
random/ - random number generation
socket/ - Socket abstraction layer
stun/ - STUN implementation
tests/ - Unit tests

Relevant standards
------------------

These standards are relevant to nice's current implementation.

ICE draft 15
http://tools.ietf.org/html/rfc5245
STUN
http://tools.ietf.org/html/rfc3489
http://tools.ietf.org/html/rfc5389
TURN
http://tools.ietf.org/html/rfc5766
RTP
http://tools.ietf.org/html/rfc3550
XMPP Jingle ICE transport
http://www.xmpp.org/extensions/xep-0176.html

In future, nice may additionally support the following standards.

NAT-PMP
http://files.dns-sd.org/draft-cheshire-nat-pmp.txt