STATUS 3.4 KB

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