< Previous by Date Date Index Next by Date >
  Thread Index  

[reSIProcate] reTurn project Announcement!


I am pleased to announce that the new reTurn project has recently been
added to the resiprocate opensource projects.

reTurn is an open-source, free STUN/TURN server and client library. It
is an implementation of the latest STUN/TURN drafts: RFC3489bis-15,
and draft-ietf-behave-turn-07.

What is STUN?  (taken from RFC3489bis-15 )
Session Traversal Utilities for NAT (STUN) is a protocol that serves
as a tool for other protocols in dealing with NAT traversal. It can be
used by an endpoint to determine the IP address and port allocated to
it by a NAT. It can also be used to check connectivity between two
endpoints, and as a keep-alive protocol to maintain NAT bindings. STUN
works with many existing NATs, and does not require any special
behavior from them.

What is TURN? (taken from draft-ietf-behave-turn-07)
If a host is located behind a NAT, then in certain situations it can
be impossible for that host to communicate directly with other hosts
(peers) located behind other NATs. In these situations, it is
necessary for the host to use the services of an intermediate node
that acts as a communication relay. This specification defines a
protocol, called TURN (Traversal Using Relays around NAT), that allows
the host to control the operation of the relay and to exchange packets
with its peers using the relay. The TURN protocol can be used in
isolation, but is more properly used as part of the ICE (Interactive
Connectivity Establishment) approach to NAT traversal.

Key Features
-Correct and comprehensive implementation of the relevant standards
from the SIP working groups
-Support for UDP/TCP/TLS protocols over both IPv4 and IPv6
-Synchronous and asynchrounous client APIs provided
-Designed for high scalability
-Platforms: Win32, Linux, Mac OS X
-RFC3489 backwards compatibility support
-Shared secret with short term credentials (checking username for
expiry and correct HMAC is not completed)
-Shared secret with long term credentials (implementation currently
only accepts one hardcoded username/password - not implement on client
side sync sockets)
-Finger Print Insertion and Validation
-Turn Allocation
-Requested Props (Even, Pair)
-Turn Permissions
-Asynchronous Client APIs
-Channel Binding

 For more information on this project please see the overview page on
the resiprocate wiki:
https://www.resiprocate.org/ReTurn_Overview

Regards,
Scott Godin