mirror of https://github.com/coturn/coturn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
3.3 KiB
126 lines
3.3 KiB
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) SHA512 support added (experimental).
|
|
|
|
Things to be implemented in future (the development roadmap)
|
|
are described in the TODO file.
|
|
|