--- title: 'eturnal' date: 2024-02-25T19:46:23+01:00 weight: 1 --- As issues with coturn[^1] rendered it unusable most of the time, I researched another solution as drop-in service for STUN[^2] and TURN[^3]. [eturnal](https://eturnal.net/) is a modern, straightforward and written in Erlang[^4]. Clients can connect using UDP, TCP, or TLS over IPv4 or IPv6. It supports the mechanism described in an IETF draft[^5] for authentication. {{< figure src="img/stun-turn-server.svg" alt="STUN/TURN server symbol" width="25%" >}} ## Basic setup The [eturnal — UberLab 7 documentation](https://lab.uberspace.de/guide_eturnal/) is used in addition to the [official documentation](https://eturnal.net/doc/) to setup a basic service. Further adjustments are specified in the `eturnal.yml` file. ## Logging level To investigate configuration errors, I can change the `log_level` setting value to `debug`, for example. Afterwards the eturnal service has to be restarted. [^1]: [Issue #844](https://github.com/Uberspace/lab/issues/844) at GitHub [^2]: Session Traversal Utilities for NAT ([STUN](https://en.wikipedia.org/wiki/STUN)) in the Wikipedia [^3]: [Traversal Using Relays arount NAT](https://en.wikipedia.org/wiki/Traversal_Using_Relays_around_NAT) (TURN) in the Wikipedia [^4]: [Erlang](https://erlang.org/)/OTP website [^5]: [REST API for Access to TURN Services](https://datatracker.ietf.org/doc/html/draft-uberti-behave-turn-rest-00) specification as IETF draft