123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- 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.
|