Skip to main content

STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)

Posted by hbaastrup on June 11, 2010 at 9:22 AM PDT
Project URL

Go see Project Homepage

Summary

Implementation of the STUN protocol as described in RFC 3489. STUN is a technique (protocol) there allow an application behind a Network Address Translators (NAT) Firewall to discover its public Internet address and the type of the NAT scenario used between the application and the Internet. STUN use a client/server scenario and the goal of this project is to implement a client API there are easy to use, plus the necessary classes to set-up a server.

Community: 

PublishedImplementation of the STUN protocol as described in RFC 3489 (STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)).
STUN is a lightweight protocol there allow an application to discover the presence and types of NATs and firewalls between them and the public Internet. It also provides the ability for applications to determine the public Internet Protocol (IP) addresses allocated to them by the NAT.
NAT is typical used by applications there risk to exist behind a NAT or firewall and need to communicate there public Internet address to some other part, such as real-time voice, video, messaging, and other interactive IP communications.

Objectives for the project:

  1. The project will contain a client class there permit the consuming application to do Discovery, Obtaining a Shared Secret, do Binding Request and Processing Binding Responses.
  2. The project will contain a class there permit the consuming application to act as a STUN server supporting Shared Secret and Binding Request.
Further more, the project will contain a small DNS resolving class to do the Discovering process.

If someone is interested to participate please contact me, the project need testers, writers, reviewers and of-cause programmers! As the STUN is a network protocol good network programming skills would be appreciated.

STATUS:
  1. The client class is written but Shared Secret still need to be tested up against an existing server for comparability.
  2. The server classes are under development

License: 

Lesser General Public License (LGPL)
Related Topics >>