Mumble

Mumble is a voice over IP (VoIP) application primarily designed for use by gamers and is similar to programs such as TeamSpeak.

Mumble uses a client–server architecture which allows users to talk to each other via the same server (murmur). It has a very simple administrative interface and features high sound quality and low latency. All communication is encrypted to ensure user privacy.


Note

For this guide you should be familiar with the basic concepts of

License

All relevant legal information can be found here

Prerequisites

You’ll need your MySQL credentials. Get them with my_print_defaults:

[isabell@stardust ~]$ my_print_defaults client
--default-character-set=utf8mb4
--user=isabell
--password=MySuperSecretPassword
[isabell@stardust ~]$

You need a database for mumble:

[isabell@stardust ~]$ mysql -e "CREATE  DATABASE ${USER}_mumble"
[isabell@stardust ~]$

Installation

Check the Mumble website or GitHub for the feed and copy the download link to the murmur-static-file. Replace the URL with the one you just copied.

Note

the server for mumble is called murmur

[isabell@stardust ~]$ wget https://github.com/mumble-voip/mumble/releases/download/66.6.6/murmur-static_x86-66.6.6.tar.bz2
--2018-10-06 21:14:34--  https://github.com/mumble-voip/mumble/releases/download/66.6.6/murmur-static_x86-66.6.6.tar.bz2
Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112
Connecting to github.com (github.com)|192.30.253.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/1413319/a7d2b00a-e4a8-11e6-80bb-d224f64df619?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181006%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181006T191435Z&X-Amz-Expires=300&X-Amz-Signature=b2af6f60968f675bb8427af7341716d75a1ee162f822abdd878877514b9205be&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dmurmur-static_x86-66.6.6.tar.bz2&response-content-type=application%2Foctet-stream [following]
--2018-10-06 21:14:35--  https://github-production-release-asset-2e65be.s3.amazonaws.com/1413319/a7d2b00a-e4a8-11e6-80bb-d224f64df619?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181006%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181006T191435Z&X-Amz-Expires=300&X-Amz-Signature=b2af6f60968f675bb8427af7341716d75a1ee162f822abdd878877514b9205be&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dmurmur-static_x86-66.6.6.tar.bz2&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.2.32
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.2.32|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11939824 (11M) [application/octet-stream]
Saving to: ‘murmur-static_x86-66.6.6.tar.bz2’

100%[======================================================================================================================================>] 11,939,824  7.45MB/s   in 1.5s

2018-10-06 21:14:37 (7.45 MB/s) - ‘murmur-static_x86-66.6.6.tar.bz2’ saved [11939824/11939824]

[isabell@stardust ~]$

extract it and rename it to mumble:

[isabell@stardust ~]$ tar xvjf murmur-static_x86-66.6.6.tar.bz2
murmur-static_x86-66.6.6/
murmur-static_x86-66.6.6/murmur.x86
murmur-static_x86-66.6.6/LICENSE
murmur-static_x86-66.6.6/dbus/
murmur-static_x86-66.6.6/dbus/weblist.pl
murmur-static_x86-66.6.6/dbus/murmur.pl
murmur-static_x86-66.6.6/ice/
murmur-static_x86-66.6.6/ice/icedemo.php
murmur-static_x86-66.6.6/ice/Murmur.ice
murmur-static_x86-66.6.6/ice/weblist.php
murmur-static_x86-66.6.6/murmur.ini
murmur-static_x86-66.6.6/README
[isabell@stardust ~]$ mv murmur-static_x86-66.6.6/ mumble/
[isabell@stardust ~]$

Configuration

Configure port

To make the application accessible from the outside, open a port in the firewall:

[isabell@stardust ~] uberspace port add
Port 40132 will be open for TCP and UDP traffic in a few minutes.
[isabell@stardust ~]$

edit config file ~/mumble/murmur.ini to specify the desired port, domain and mysql-database. Minimal config would look like this:

database=<username>_mumble
dbDriver=QMYSQL
dbUsername=<username>
dbPassword=<mysql_password>
dbOpts="UNIX_SOCKET=/var/lib/mysql/mysql.sock"
welcometext="<br />Welcome to this server running <b>Murmur</b>.<br />Enjoy your stay!<br />"
port=<your_port>
serverpassword=
allowping=true
bonjour=false

For more configuration options look at the documentation site.

Setup daemon

Create ~/etc/services.d/mumble.ini with the following content:

[program:mumble]
command=%(ENV_HOME)s/mumble/murmur.x86 -fg -ini %(ENV_HOME)s/mumble/murmur.ini

After creating the configuration, tell supervisord to refresh its configuration and start the service:

[isabell@stardust ~]$ supervisorctl reread
SERVICE: available
[isabell@stardust ~]$ supervisorctl update
SERVICE: added process group
[isabell@stardust ~]$ supervisorctl status
SERVICE                            RUNNING   pid 26020, uptime 0:03:14
[isabell@stardust ~]$

If it’s not in state RUNNING, check your configuration.

Finishing installation

To connect to your server, open mumble on your computer or phone and add a new server:

  • Address: <username>.uber.space
  • Port: your port
  • Username: any username you’d like

Best practices

uberspace already provides letsencrypt certificates. To add them append these lines to your murmur.ini and adjust your username and the domain.

sslCert=/home/isabell/etc/certificates/isabell.uber.space.crt
sslKey=/home/isabell/etc/certificates/isabell.uber.space.key

Last we have to restart the server before expiry. Edit your cron tab using the crontab -e.

@monthly supervisorctl restart mumble > /dev/null

Updates

Note

Check the update feed regularly to stay informed about the newest version.

If there is a new version repeat the Installation and execute:

[isabell@stardust ~]$ supervisorctl restart mumble
mumble: stopped
mumble: started
[isabell@stardust ~]$

Tested with Murmur 1.2.19, Uberspace 7.3.0.0

Written by: stunkymonkey <http://stunkymonkey.de>