Set up a Skype<->Mumble bridge on a dedicated server
I like to call in to a German internet portal (Massengeschmack) just to talk about its program with one of the moderators. People calling in are restricted to use Skype but the voice chat where fans meet is using Mumble. So what can you do?
In this article I will show you step by step how to connect both programs on a dedicated server that has no display and no audio cards available, so a bunch of people can call in. The OS used in this case is Debian 8 (Jessie).
First of all, we need both programs in their client version and a simple window manager so we can actually use them:
apt-get install openbox vnc4server mumble
Skype is closed source and therefore not available in the official repositories. It can be installed like described on the debian wiki:
apt-get install gdebi wget -O skype-install.deb http://www.skype.com/go/getskype-linux-deb gdebi skype-install.deb
Additionally, we need pulseaudio and a volume control to be able to use a virtual sound card:
apt-get install pulseaudio pulseaudio-utils pavucontrol
The programs are controlled via VNC later on, so the file ~/.vnc/xstartup has to be edited for all programs to automatically start up:
#!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & x-window-manager & pactl load-module module-null-sink sink_name=sink1 sink_properties=device.description="Sink1" & pactl load-module module-null-source source_name=source1 description="Source1" & pactl load-module module-loopback sink=sink1 source=source1 & pactl load-module module-null-sink sink_name=sink2 sink_properties=device.description="Sink2" & skype & mumble & pavucontrol &
As you can see, two devices will be created for pulseaudio: Sink1 and Sink2. Those transmit audio from Mumble to Skype and vice versa.
Currently, Mumble has an annoying bug that prevents us from choosing these sinks as a microphone source inside the program, so we also need to load a null source module (microphone) and a loopback module (bridge between Sink1 and the microphone).
The basic setup is finished after following these steps – alls that’s needed to do is start up the pulseaudio server as root:
pulseaudio -D --system
The user that’s running the Mumble and Skype clients should also have access rights to pulseaudio:
usermod -aG pulse,pulse-access username
When the VNC server is started now, it also fires up the clients automatically and sets up the virtual audio devices:
vncserver -geometry 1280x720 -httpport 5912
Attention! Access to port 5912 should be restricted to local connections from the server itself in your firewall! The VNC protocol is unencrypted and can be manipulated from outside very easily.
After doing these steps, an SSH tunnel to the server can be established:
ssh -4 -N -L 5912:localhost:5912 root@example.org -p SSHPORT
As long as this tunnel is opened you can connect to the graphical interface; e.g. with RealVNC Viewer and the address “localhost:12”.
Pulseaudio Volume Control and Mumble have to be configured according to these screenshots:
Done! You can start a Skype call now – but bear in mind, that all audio notifications in Mumble and Skype have to be disabled if you don’t want to get annoyed during a call.
This Post Has 0 Comments