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