Services “Practical open source design and delivery.”

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 draft 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 methodology 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. The biggest challenge with technologies such as NAT traversal is dealing with the huge amount of devices out there, many which doesn't implement the relevant standards in a 100% correct manner. Collabora have been deploying libnice into real world devices for a long while and can help you ensure that your device works smoothly in real world scenarios.

Some background on Collabora and libnice

Collabora developer Dafydd Harries started the libnice project in 2006 to create the first open source library implementing the ICE specification. Libnice quickly evolved into a multi-standard-compatible library capable of replacing Google's libjingle library.

Youness Alaoui, a software developer at Collabora, is the current maintainer of libnice. He has refactored the library to provide both STUN and ICE APIs. Collabora developers 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.

As part of our work on libnice, Collabora added igd support to the GUPnP project, which is the leading implementation of the upnp specification for linux and Unix systems.

More information

We have an interview with Youness Alaoui about his work on libnice here.

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.

Developer biography

Youness Alaoui

Youness Alaoui

Youness Alaoui is the lead developer on libnice and its current maintainer. He lives in Montréal, Canada. His work at Collabora concentrates on libnice, but includes development for the Farstream and papyon projects as well.