|
STUN library
The STUN library is a C-based implementation of client and server side of
RFC3489 - STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs).
It permits an application to obtain information about the NAT configuration between a client and a server through a
simple request/response exchange with a server on the public Internet.
The STUN library is designed to be easy-to-use, portable, extensible, efficient, and configurable. Its API
includes well-defined interfaces and methods hiding appreciable amount of complexity to allow fast integration
in systems and applications.
Key features:
- Client & Server Implementation: STUN offers both a client and server stack for a complete solution.
- Simple API: Provides a single entry point for the configuration and the request.
- Efficient resources usage: Runs on a single thread.
- Public address: Allows the discovery of the public address bound to a specific socket.
- NAT type: Allows the discovery of the most restrictive type of NAT/Firewall between the STUN client and the STUN server.
The STUN library is available for Microsoft Windows, Mac OS X, NetBSD, and Linux.
A C++-based ICE library is also available. The Interactive Connectivity Establishement (ICE) algorithm is used by VoIP clients and endpoints to detect the optimal media route through the network. The algorithms is heavily based on STUN. ICE can be used to detect symmetric NATs and fall-back to a media relay if required. ICE is also widely used in VoIP endpoints inside the enterprize.
|