XTurn for WebRTC
XTurn
The World's Simplest TURN Server
Understanding WebRTC can be a challenge, even for seasoned web developers. The main reason for this is the complexity of the transport mechanism and the integration of STUN and TURN. The XTurn project is a TURN server written in Elixir. It was developed not to be a fast, all-singing, all-dancing TURN server, but to be easy to understand. The idea is; if a developer can understand what XTurn is doing, then the mystery of STUN and TURN will disappear.
Built With Elixir
Elixir, which itself is built on Erlang, is a language and platform designed specifically for creating servers such as this. Erlang was built in the late 1980's for use in the Telecom's industry. It is a tried and tested platform able to handle media throughput at high speed with incredible reliability. What's more, it's in-built binary pattern matching capabilities make it super easy to write binary parsers which, in turn, are easy to read and understand.
Full WebRTC Specification Capabilities
XTurn provides full support for each of the RFC specifications supported by WebRTC. This includes channel-binding. However, some features are written in a simple and lightweight manner, so that they can be extended to suit the needs of the adopter, such as the authentication mechanism.