mirror of
				https://github.com/coturn/coturn.git
				synced 2025-10-30 22:40:59 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			132 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			132 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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.
 |