Permalink
Fetching contributors…
Cannot retrieve contributors at this time
132 lines (75 sloc) 3.41 KB
Currently implemented functionality:
1) RFC5389 (new STUN protocol) full server and client
implementations. We do not maintain strict compatibility
with the obsolete RFC 3489 "old STUN" protocol.
2) RFC5766 TURN protocol full server and client
implementations. We support file-based long term
user credentials, for now. We added experimental DTLS
protocol, too.
3) RFC6156 TURN IPv6 extension.
4) We support the following client-to-server
network transports for TURN messages:
a) UDP
b) TCP
c) TLS
d) DTLS
5) Performance tested.
6) Torture and stability tests.
7) Multiple *NIX platforms tested and supported.
8) TTL field handling implemented for all platforms, preferred behavior in RFC5766.
9) TOS (DiffServ and ECN) field handling (preferred behavior of RFC 5766) implemented,
for Linux. Other platforms support the alternative behavior of RFC 5766.
10) DF field alternative behavior of RFC 5766 implemented.
11) Bandwidth limitation per session implemented.
12) RFC 5769 test vectors implemented (where applicable).
13) RFC 5780 STUN extension: NAT behavior discovery.
14) C++ mapping implemented.
15) RFC 6062 TCP relaying implemented.
16) Users can be stored in PostgreSQL database.
17) Users can be stored in MySQL database.
18) TURN Server REST API implemented.
19) Short-term credentials mechanism implemented.
20) Simple load-balancing with ALTERNATE-SERVER implemented.
21) Redis database support added.
22) RFC3489 backward compatibility.
23) Multithreaded TCP relay processing (UDP relay has been
multithreaded from the beginning).
24) Networking engine 2.0 implemented, with more scalable approach
to the UDP sockets handling.
25) DOS attack prevention logic added to the server; DOS attack client
emulation implemented.
26) Linux UDP sockets workaround added to counter RFC 1122 behavior.
27) DTLS sockets re-implemented for better scalability and for Cygwin
compatibility.
28) A number of TLS/DTLS improvements added: multiple protocols support, certificate check option.
29) SHA256 support added (experimental).
30) UDP network engine optimized for the new Linux kernels (3.9+).
31) ICE Mobility draft implemented (experimental).
32) CLI implemented.
33) DH and EC TLS ciphers added.
34) HTTP "keep alive" request supported.
35) Optimized (for thousands and more sessions) timers implementation.
36) TCP network engine optimized for the new Linux kernels (3.9+).
37) telnet-based monitor implemented.
38) Package memory copy eliminated in traffic routing.
39) Congestion avoidance implemented, for all protocols.
40) Coturn project forked from rfc5766-turn-server.
41) Multi-tenant server implemented (ORIGIN support).
42) Bandwidth draft support added.
43) MongoDB support added.
44) Double (dual) allocation added (SSODA draft).
45) Secure MySQL connection implemented.
46) Third-party security mechanism (through oAuth) implemented.
47) SQLite support added as default database.
48) DTLS1.2 supported.
49) ALPN stun.turn and stun.nat-discovery supported.
50) SSLv2 support cancelled.
51) The short-term credentials server-side support cancelled (still
supported in the client library).
52) Web HTTPS admin interface implemented.
53) SHA384 and SHA512 support added (experimental).
54) native SCTP experimental support.
55) Multi-tenant implementation based upon third-party authorization
(oAuth).
Things to be implemented in future (the development roadmap)
are described in the TODO file.