Skype<->Mumble-Brücke auf einem dedizierten Server einrichten

skypebotIch rufe gerne bei Massengeschmack Direkt an, um mit dem Moderator über die Sendungen zu reden. Für Anrufe vorgesehen ist eigentlich nur Skype, aber der VoiceChat zum Portal setzt auf Mumble auf. Was tun?

In diesem Beitrag zeige ich Schritt für Schritt, wie man auf einem dedizierten Server ohne Display und Soundkarte beide Programme miteinander verbindet, damit eine Gruppe von Leuten anrufen kann. Das verwendete Betriebssystem ist in diesem Fall Debian 8 (Jessie).

Zunächst benötigen wir beide Programme als Client-Version auf dem Server und einen simplen Fenstermanager, um sie bedienen zu können:

apt-get install openbox vnc4server mumble

Skype ist closed source und daher nicht direkt aus den Paketquellen erhältlich. Es kann anhand der Anleitung des Debian-Wikis installiert werden:

apt-get install gdebi
wget -O skype-install.deb http://www.skype.com/go/getskype-linux-deb
gdebi skype-install.deb

Wir brauchen außerdem pulseaudio und einen Lautstärkeregler, um eine virtuelle Soundkarte nutzen zu können:

apt-get install pulseaudio pulseaudio-utils pavucontrol

Die Oberfläche wird später über VNC gesteuert, also muss die Datei ~/.vnc/xstartup entsprechend bearbeitet werden, damit alle benötigten Programme automatisch starten:

#!/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 &

Wie man sehen kann, werden zwei virtuelle Geräte für Pulseaudio erzeugt: Sink1 und Sink2. Diese übertragen den Ton später jeweils von Mumble zu Skype und umgekehrt.

Da Mumble jedoch aktuell einen Bug hat durch den diese Geräte nicht als Mikrofon ausgewählt werden können, werden zusätzlich ein null-source-Modul (Mikrofon) und ein Loopback-Modul (Brücke zwischen Sink1 und dem Mikrofon) geladen.

Damit ist die Grundeinrichtung abgeschlossen – nun kann der Pulseaudio-Daemon unter Root gestartet werden:

pulseaudio -D --system

Außerdem sollte dem Benutzer auf dem die Mumble- und Skype-Clients laufen, Zugriff auf Pulseaudio gewährt werden:

usermod -aG pulse,pulse-access username

Wenn nun der VNC-Server gestartet wird, werden automatisch auch die Skype- und Mumble-Clients mitgestartet und die virtuellen Audiogeräte eingerichtet:

vncserver -geometry 1280x720 -httpport 5912

Achtung! In der Firewall sollte der Zugriff auf Port 5912 nur für lokale Verbindungen vom Server selbst zugelassen werden. Das VNC-Protokoll ist unverschlüsselt und kann leicht von außen manipuliert werden!

Ist dies erfolgt, kann ein SSH-Tunnel zum Server aufgebaut werden:

ssh -4 -N -L 5912:localhost:5912 root@example.org -p SSHPORT

Solange dieser Tunnel offen ist, ist nun auch die Verbindung auf die grafische Oberfläche möglich, z.B. über RealVNC Viewer und die Adresse „localhost:12“.

Der Pulseaudio-Lautstärkeregler und Mumble müssen nun noch entsprechend dieser Screenshots konfiguriert werden:

mumble1 mumble2 mumble3

Fertig! Jetzt kann ein Anruf gestartet werden – insofern man vorher alle Audiobenachrichtigungen in Skype und Mumble deaktiviert hat – ansonsten wird es sehr schnell ungemütlich während eines Gesprächs.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.