libnice

libnice

Simplifying Peer-to-peer Collaboration

Connecting a device to the Internet brings a lot of possibilities, but also a lot of challenges. For features such as video calling, file transfer and similar, being able to connect through both professional and home router firewalls in a transparent manner is critical. Collabora is the leading source of expertise in libnice, a NAT traversal library implementing the RFC for Interactive Connectivity Establishment (ICE).

Why libnice?

One of the main hurdles with the NAT infrastructures used widely on the Internet today is to establish direct connection between two users. This is essential for tasks like VoIP, file transfers and collaborative applications. Libnice solves this problem by implementing the ICE protocol in a small and efficient C library.

How can Collabora help you with libnice?

Our engineering team can help you integrate and test libnice for your device or application. The biggest challenge with technologies such as NAT traversal is dealing with the huge amount of applications out there. Different applications have different needs, and although libnice is flexible, the right expertise is often needed to get the most out of it. Collabora have been deploying libnice into real world applications for a long while and can help you ensure that your applications work smoothly in real world scenarios.

Some background on Collabora and libnice

Collabora started the libnice project in 2006 to create the first open source library implementing the ICE specification. With the help of the community, libnice quickly evolved into a multi-standard-compatible library not only implementing the standards, but also offering modes capable of replacing Google's libjingle library.

Software developers at Collabora later refactored the library to provide both STUN and ICE APIs. Collabora made the library compatible with libjingle's ICE specification, as well as ICE Draft 19, MSN 8.x and WLM 2009 ICE specifications. Collabora also enhanced libnice to support proxies and TURN relays. More recently, Collabora have improved TCP-like connections over libnice to support encryption with TLS, contributing new features to the underlying GLib utility library in order to achieve this. Collabora also implemented new methods for integrating libnice with poll loops in programs.

As part of our work on libnice, Collabora added Internet Gateway Device (IGD) support to the GUPnP project, which is the leading implementation of the UPnP specification for Linux and Unix systems.

More information

To read API documentation, download releases, or read the Libnice mailing list, refer to the project wiki. The source tree includes a TODO file, in case you want to get involved in the development of this library, or learn more about its future.

libnice

Open Source Projects

Click below to learn more about the various Open Source projects we're actively involved in.

About Collabora

Whether writing a line of code or shaping a longer-term strategic software development plan, we'll help you navigate the ever-evolving world of Open Source.

한국어 버전의 Collabora.com 보기한국어 버전의 Collabora.com 보기

Acesse Collabora.com em PortuguêsAcesse Collabora.com em Português

Open Since 2005

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2017. All rights reserved. Website sitemap.