Choosing a TURN server

There are several TURN servers you can choose from. Any TURN server works for SIP, TURN, WebRTC and other protocols.

reTurnServer is the TURN server from the reSIProcate project. It is easy to set up using the packages, instructions are below.

CoTurn evolved from the rfc5766-turn-server project. See the CoTurn web site for instructions and then come back to this document to continue setting up your RTC environment.

TurnServer.org comes from the Jitsi team. See the TurnServer.org web site for instructions and then come back to this document to continue setting up your RTC environment.

restund is another option. See the restund web site for details.

There are various factors to consider when choosing a TURN server.

Scalability: if you need to support thousands of users or more, you will want to test each of the servers for performance and evaluate the clustering capabilities.

Authentication: where do you store your user credentials? TURN servers use the same HA1 hashed passwords that HTTP DIGEST and SIP authentication uses so if you have such passwords in a database or LDAP server already you will want to evaluate which TURN servers can use that database or look at options for exporting the credentials into a file format for the TURN server.

Packaging: is the TURN server supported in a package on common Linux distributions? Most of those on the list above can be installed using official packages on Debian, Ubuntu and Fedora. Many people prefer to use packages so they don't have to spend time building from source code.

IPv6: do you need IPv6 support?