LIBNAT Columbia NAT and firewall detection and traversal library in C++
NAT/firewall detection and traversal library This API defines the classes and methods for various NAT and firewall detection and traversal functions. In particular, we implement the basic ICE, STUN and TURN functionality. See the ICE (Interactive connectivity establishment), STUN (simple traversal of UDP through NAT) and TURN (traversal using relay NAT) RFCs and drafts for details on the protocol.
The application should use IceModule (or a sub-class) to use the library. See the API documentation on IceModule. There is a test application to test the ICE functionality, and can also be used as a basic TURN and STUN server. All classes in this library are in namespace NAT.
The primary objectives of the library are as follows:
- Create an object oriented NAT/firewall traversal library for multimedia application.
- Implement ICE for session establishment, TURN and STUN for NAT traversal and detection.
- Usable for various applications such as SIP user agent, standalone STUN or TURN server or client, peer-to-peer SIP user agent.
The library depends on the Columbia RTPLIB++ library for the RTP::NetworkInterface and RTP::NetworkInterfaceListener interfaces.
alphabetic index hierarchy of classes
generated by doc++