Title : High quality / low latency VOIP server with umurmur/Mumble on OpenBSD
Author: Solène
Date  : 04 July 2019
Tags  : openbsd68


I **HATE** Discord.

Discord users keep telling about their so called **discord server**, which is
not dedicated to them at all. And Discord has a very bad quality and a lot of
voice distorsion.

Why not run **your very own mumble server** with high voice quality and low
latency and privacy respect? This is very easy to setup on OpenBSD!

Mumble is an open source voip client, it has a client named Mumble (available
on various operating system) and at least Android, the server part is murmur
but there is a lightweight server named umurmur. People authentication is done
through certificate generated locally and automatically accepted on a server,
and the certificate get associated with a nickname. Nobody can pick the same
nickname as another person if it's not the same certificate.

### How to install?

    # pkg_add umurmur
    # rcctl enable umurmurd
    # cp /usr/local/share/examples/umurmur/umurmur.conf /etc/umurmur/

We can start it as this, you may want to tweak the configuration file to add a
password to your server, or set an admin password, create static channels,
change ports etc....

You may want to increase the `max_bandwidth` value to increase audio quality,
or choose the right value to fit your bandwidth. Using umurmur on a DSL line is
fine up to 1 or 2 remote people. The daemon uses very little CPU and very
little memory. Umurmur is meant to be used on a *router*!

    # rcctl start umurmurd

If you have a restrictive firewall (I hope so), you will have to open the ports
TCP and UDP 64738.

### How to connect to it?

The client is named Mumble and is packaged under OpenBSD, we need to install it:

    # pkg_add mumble

The first time you run it, you will have a configuration wizard that will take
only a couple of minutes.

Don't forget to set the sysctl kern.audio.record to 1 to enable audio
recording, as OpenBSD did disable audio input by default a few releases ago.

You will be able to choose a push-to-talk mode or voice level to activate and
quality level.

Once the configuration wizard is done, you will have another wizard for
generating the certificate.  I recommend choosing "Automatically create a
certificate", then validate and it's done.

You will be prompted for a server, click on "Add new", enter the name server so
you can recognized it easily, type its hostname / IP, its port and your
nickname and click OK.

Congratulations, you are now using your own private VOIP server, for real!