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/TCP network engine (`NEV_UDP_SOCKET_PER_THREAD`) optimized for modern kernels; all previous engine variants removed.

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 consolidated into `NEV_UDP_SOCKET_PER_THREAD` (see item 30).

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

56) TLS1.3 support (with openssl-1.1.1+)

57) openssl-3.0 support

58) Windows build support, MSVC and MinGW

59) Add support to Prometheus as metrics interface

60) Sanitize DB connection strings before printing to log

61) Syslog facility support as an additional logging mechanism provider

62) Support LibreSSL

63) CMake as an alternative build system
 
Things to be implemented in future (the development roadmap) 
are described in the TODO file.
