Einen Konferenzraum, bitte!

Mit den Mitarbeitern der nächsten Jugendfreizeit noch schnell ein paar organisatorische Dinge klären? Die nächste Tagung mit Verantwortlichen aus ganz Deutschland planen? Oder vielleicht einfach nur mit ein paar Freunden Ideen für die nächste Predigt besprechen?

Konferenzraum
Konferenzraum – Bildquelle: elschy, flickr.com, lizenziert unter einer Creative Commons Namensnennung 2.0 Generic Lizenz.

Für viele solche Fälle kann eine Telefonkonferenz ein nützliches Medium sein, auch wenn die Kirchengesetze vermutlich (noch) keine Gemeindekirchenratssitzung ohne räumliche Anwesenheit der Teilnehmer zulassen werden. Doch besonders für spontane Termine, bei großer räumlicher Distanz, oder wenn sich sonst einfach kein Raum oder Termin finden lässt, ist ein Telefonkonferenzraum ein Hilfsmittel für eine schnelle Lösung.

Für viele Fälle wird für so eine Konferenz via „Telefon“ eher der Computer und eine proprietäre Software wie Skype das Mittel der Wahl sein. Seit dem Bekanntwerden der Piratenpartei ist vielen auch die freie Software „Mumble“ (http://mumble.sourceforge.net) ein Begriff. Beide Lösungen sind bewährt und weit verbreitet, doch sie haben – gerade für den Gemeindealltag – ein gewichtiges Problem: Man benötigt einen Computer, muss die Software installieren und mit ihr umgehen können, sollte einen halbwegs schnellen Breitband-Zugang zum Internet und dann noch ein ordentlich funktionierendes Headset oder Mikrofon/Kopfhörer haben.

Telefonkonferenz für alle und einfach

telephone boxes
telephone boxes – Bildquelle: Rich, flickr.com, lizenziert unter einer Creative Commons Namensnennung 2.0 Generic Lizenz.

Mag die IT-versierte Gehirnhälfte des Bloglesers hier noch denken „Alles kein Problem!“, so wird die gemeinde-erprobte Gehirnhälfte vielleicht wissen: „Da gibt es sicher so einige, die das nicht haben oder hinbekommen!“

Eine Lösung wäre sicher einer der kostenpflichtigen Telefonkonferenz-Anbieter, die sich zahlreich im Internet finden: Dort müssen sich die Teilnehmer nur mit einem gängigen Festnetz-Telefon bei einer Nummer melden und schon läuft die Telefonkonferenz und die Cents rieseln – im Minutentakt bei jedem Teilnehmer.

Doch warum viel Geld investieren, wenn eine kostenlose und einfache Variante mit Hilfe von freier Software und etwas KnowHow zu haben ist? Das KnowHow liefert hierbei ein kundiges Mitglied der Piratenpartei Hessen, das praktische alle erforderlichen Informationen im entsprechenden Wiki (http://wiki.piratenpartei.de/HE:Telefonkonferenz) versammelt hat. Ein herzliches Dankeschön für die Veröffentlichung! Hier zeigt sich m.E. schön, wie frei zugängliche Informationen einen (gesamt-)gesellschaftlichen Nutzen entfalten können.

Asterisk
„Asterisk“ – Bildquelle: Steve Snodgrass, flickr.com, lizenziert unter einer Creative Commons Namensnennung 2.0 Generic Lizenz.

Asterisk zum Laufen bringen

Doch genug der Vorrede, nun geht‘s ans Eingemachte! Als Software für den Telefonkonferenz-Dienst, den wir einrichten wollen, verwenden wir „Asterisk“. Asterisk ist eine sehr mächtige Software, die mit ihrem Funktionsumfang auch für große Telefonanlagen verwendet wird. Uns interessiert jedoch nur ein kleiner Teil dieses mächtigen Softwarepaketes, nämlich derjenige, der über einen SIP-Provider eine anwählbare Festnetznummer bereitstellt. Unter dieser Festnetznummer wird dann unser Telefonkonferenzserver (das Asterisk-Modul dazu heißt „MeetMe“) erreichbar sein.

Als Ausgangssystem verwende ich eine frische Xubuntu 12.04-Installation, die bei mir in der VirtualBox (auch mit 512MB RAM problemlos) läuft. Eine beliebige andere Ubuntu- oder Linux-Distribution wird es in den meisten Fällen auch tun.

Um Asterisk zum Laufen zu bekommen, müssen wir über den Ubuntu-Paketmanager Synaptic nur zwei Pakete installieren: Zuerst „Asterisk-DAHDI“. Dabei werden alle benötigten Abhängigkeiten direkt mit installiert. Darunter ist auch das Kernel-Modul „dahdi-dkms“. Dessen Installation kann je nach Systemleistung durchaus einige Minuten in Anspruch nehmen, weil das Kernel-Modul aus den Quellen kompiliert wird.

Als zweites ist dann noch das Paket „asterisk-prompt-de“ zu installieren. Dies liefert uns Ansagen in deutscher Sprache für die Anmeldung am Konferenzserver via Telefon.

Erst die Nummer bitte

Telefonkabel
„Wires“ – Bildquelle: greg westfall, flickr.com, lizenziert unter einer Creative Commons Namensnennung 2.0 Generic Lizenz.

Bevor wir Asterisk nun konfigurieren und nutzen können, benötigen wir zunächst eine ordentliche Festnetznummer von einem SIP-Anbieter. Diese liefert uns in Deutschland der Anbieter sipgate.de frei Haus. Dort kann man sich schon im kleinsten „Basic“-Tarif völlig kostenlos* von mehreren Teilnehmer gleichzeitig aus anrufen lassen, ohne dass einer der Teilnehmer ein „Besetzt“-Zeichen erhält. Dies ist genau das Feature, das wir für unseren Telefonkonferenzserver brauchen.

Ist die Registrierung bei sipgate erfolgt, kann Asterisk nach den Vorgaben des Piratenpartei-Wikis konfiguriert werden. Dafür verwende ich den vorinstallierten Texteditor leafpad, den ich im Terminal mittels

sudo leafpad

mit root-Rechten starte.

Die Konfiguration im Einzelnen

Zu den einzelnen Dateien:

/etc/asterisk/asterisk.conf, /etc/asterisk/musiconhold.conf:

Diese Dateien sind bei der Ubuntu-Installation bereits fertig konfiguriert und bedürfen keiner Änderung.

/etc/asterisk/extensions.conf

Diese Datei kann wie im Piratenpartei-Wiki angegeben einfach via Copy & Paste übernommen werden.

/etc/asterisk/meetme.conf

In dieser Datei werden die Räume definiert. Im Normalfall reicht vermutlich ein einzelner Raum. Mit nur einem Raum könnte diese Datei so aussehen:

[rooms]
conf => 1000,0,1234

Dadurch gibt es einen Raum „1000“ mit dem Admin-PIN „1234“.

/etc/asterisk/modules.conf

Der Asterisk-Server funktioniert einwandfrei, wenn man die Konfiguration aus dem Wiki einfach übernimmt. Allerdings tauchten bei mir noch eine Reihe von Warn- und Fehlermeldungen im Log auf, sodass ich mit der Option „noload“ noch einige nicht benötigte Module deaktiviert habe:

[modules]
 autoload = yes
 preload = chan_sip
 noload => chan_alsa.so
 noload => chan_oss.so
 noload => chan_console.so
 noload => chan_skinny.so
 noload => chan_vpb.so
 noload => cel_pgsql.so
 noload => cel_tds.so
 noload => cdr_sqlite.so
 noload => res_config_pgsql.so
 noload => res_config_ldap.so
 noload => res_smdi.so
 noload => res_ais.so
 noload => pbx_ael.so
Kabelsalat
Kabelsalat – Bildquelle: Jessica Spengler, flickr.com, lizenziert unter einer Creative Commons Namensnennung 2.0 Generic Lizenz.

Verbindung zum SIP-Provider

/etc/asterisk/sip.conf

In dieser Datei muss nun die Verbindung zum SIP-Provider konfiguriert werden. Dazu müssen die sipgate-Zugangsdaten in der entsprechenden Zeile bei „register“ und in der Rubrik [sipgate] eingetragen werden. Wichtig ist hier, nicht Benutzernamen und Passwort für den allgemeinen sipgate-Zugang zu verwenden, sondern die Zugangsdaten, die sipgate auf der Homepage unter „Einstellungen“ bei „SIP-Accountdaten“ speziell für das SIP-Protokoll zur Verfügung stellt.

Die übrigen Zeilen, die mit „register“ beginnen und die weiteren Rubriken außer [general] können gelöscht werden. In der Rubrik [general] muss noch (wegen einer neueren verwendeten Version von Asterisk) die Zeile

nat=no

eingetragen werden. Außerdem muss in der Rubrik [sipgate] die Zeile

username=*username*

durch

defaultuser=*username*

ersetzt werden, wobei *username* natürlich durch den SIP-Benutzernamen ersetzt werden muss.

Abschließend können wir in dieser Datei noch einen Eintrag für einen lokalen SIP-User vornehmen. Dadurch kann man sich im LAN mit einem beliebigen SIP-Client bei Asterisk einwählen. Das ist z.B. nützlich, wenn man den Server bei sich Zuhause betreibt, aber keine Telefonleitung blockieren will, um an einer Konferenz teilzunehmen. Der Eintrag kann etwa so aussehen:

[johannes]
 type=friend
 defaultuser=johannes
 secret=meinPasswort
 host=dynamic
 canreinvite=no
 qualify=30 ; Qualify peer is no more than 30ms away

Um weitere Fehler abzustellen, kommentieren wir in der Datei

/etc/asterisk/users.conf

alle Zeilen außer

[general]

mittels Semikolon aus.

Damit ist die Konfiguration auch schon abgeschlossen und wir können Asterisk starten:

sudo /etc/init.d/asterisk start

Wir überprüfen noch die Logdatei:

sudo tail /var/log/asterisk/messages

Hier sollten möglichst keine Warnungen und Fehlermeldungen erscheinen. Eine Zeile wie diese signalisiert uns, dass die Verbindung zum SIP-Provider erfolgreich hergestellt wurde:

NOTICE[2646] 
chan_sip.c: Peer 'sipgate' is now Reachable. (16ms / 2000ms)

Verbunden ohne Änderung am Router

Nun können wir uns über die zugeteilte Telefonnummer bei dem Konferenzserver einwählen. Nach dem Sprachprompt geben wir über die Telefontastatur „1000#“ ein, um in den angelegten Konferenzraum zu gelangen. Dieses Vorgehen wird durch den Sprachprompt erklärt und ist vermutlich von den meisten Durchschnitts-Telefonbenutzern zu bewältigen.

Bei der Verwendung eines SIP-Clients stellen wir die Verbindung zur IP-Adresse des Server-Rechners bzw. der virtuellen Maschine her und wählen dann „500“, um mit dem Konferenzmodul verbunden zu werden.

Abschließend noch ein paar technische Anmerkungen und ein Angebot:

Edit
Edit – Bildquelle: Matt Hampel, flickr.com, lizenziert unter einer Creative Commons Namensnennung 2.0 Generic Lizenz.

Da Asterisk die IP-Verbindung zu dem SIP-Provider herstellt und nicht umgekehrt, sind keine Veränderungen am Router bezüglich NAT und Port-Forwarding nötig.

Für die Auslastung der Bandbreite des Internet-Anschlusses kann man grob mit 100kbit/s pro Teilnehmer rechnen. Bei einer Upload-Bandbreite von 1Mbit/s, den viele DSL- oder Kabelanschlüsse bieten, können also gut und gerne 10 Personen miteinander sprechen.

Bei dem Betrieb einer virtuellen Maschine (in meinem Beispiel unter VirtualBox) darf u.U. die CPU-Geschwindigkeit nicht von Seiten des Hosts reduziert werden. In meinem Fall führte das zu einer stark gestörten Sprachausgabe. Die CPU-Nutzung durch Asterisk ist in unserem Anwendungsfall jedoch minimal, auch ältere Rechner sollten damit problemlos fertig werden.

Zu dem Angebot:

Gegen eine kleine Aufwandsentschädigung stelle ich gerne eine fertig konfigurierte (VirtualBox-)VM zur Verfügung.

* Dies setzt natürlich voraus, dass alle Teilnehmer einen kostenlosen Zugang zum deutschen Festnetz (Flatrate) haben. Ohne Flatrate fallen die üblichen Gebühren für Orts- und Ferngespräche an.

Johannes Brakensiek

Johannes Brakensiek ist Vikar und lebt mit seiner Familie in Essen. Er ist überzeugt davon, dass Geben seliger ist als Nehmen. Deswegen setzt er freie Software ein und unterstützt freie und transparente Ressourcen, wo nur möglich.

More Posts - Website

Follow Me:
Twitter

9 Gedanken zu „Einen Konferenzraum, bitte!

  1. @Thomas:
    Kannst du verraten mit welchem SIP-Provider, mit welchem Produkt du g’rade Asterisk im Test hast?

  2. Ich kann mir vorstellen, dass vom Konzept her die Asterisk-Funktionalität in die Hubzila-Landschaft https://hubzilla.org passen würde. Perfekt wäre, wenn es möglich ist, den Asterisk-Server als eine App auf einem Hubzilla-Knoten einzubinden.

  3. Danke nochmal für die Unterstützung, Johannes!
    Ich hatte angesichts der guten Tuts gedacht, dass man so einen asterisk-Server auch ohne tiefe Kenntnisse aufsetzen kann, aber das ist definitiv nicht so.
    Man muss die verschiedenen Teil-Tuts abarbeiten und sorgfältig die log-Files auswerten. Dass ich Quellen kompilieren muss, hätte ich mir nicht gedacht.
    Ich hatte letztlich Erfolg, indem ich vom Modul MeetMe zu ConfBridge gewechselt habe. Jetzt funktionieren mal die Grundfunktionen. Die Zeit ist mir ein bisschen ausgegangen, restliche Experimente wie verschiedene Konferenzräume und ähnliches müssen also erstmal warten.

  4. Hallo Thomas,

    ich habe die Software lange nicht mehr benutzt, habe aber noch so grob im Hinterkopf, dass ich das Problem auch einmal hatte. Ich weiß allerdings nicht mehr genau, woran es lag. Wenn du eine Fehlermeldung in der Logdatei findest, hilft das vermutlich schon weiter.

  5. Hallo,
    Danke erstmal für das Tut! Ich kann mich zwar einwählen, den Raum wählen und bekomme den auch angesagt, dann fliege ich aber raus.
    Was geht da schief?

  6. Gerne. Ich kann dir ggf. gerne helfen, wenn sich Probleme bei der Einrichtung ergeben.
    Das Angebot mit der VM ist nun allerdings auch schon 3 Jahre alt. 😉 Das kann ich leider nicht mehr anbieten.

  7. Danke für die schnelle Rückmeldung! Bei einem drei Jahre alten Blogartikel ist so eine schnelle Reaktion nicht selbstverständlich ;-).

    > Hier muss man sich anfangs etwas darauf einstellen, gut auf die anderen zu achten
    > und der Reihe nach zur reden bzw. auf eine „Redegenehmigung“ zu warten, damit so
    > eine Konferenz funktioniert.
    Ich habe bereits einige Erfahrungen gesammelt als Teilnehmer von Telefonkonferenzen auf Mumble-Basis und habe die Tücken kennengelernt ;-).

    > Es gibt inzwischen auch ein neueres Modul für Konferenzen bei Asterisk.
    Meine Linux-Kenntnisse sind sehr bescheiden ;-|.

    > Gegen eine kleine Aufwandsentschädigung stelle ich gerne eine fertig konfigurierte (VirtualBox-)VM zur Verfügung.

    Zum Verständnis: Meinst du, dass diese VM auf deinem Server läuft und von dir administriert wird?

  8. Lieber Gustav,

    die hier beschriebene Lösung wurde mehrfach in der Praxis erprobt. Bei einer Leitung mit 1MBit/s Upstream funktioniert eine Konferenz mit etwa 10 Teilnehmern wunderbar. Schwieriger als die Technik ist die Kommunikations-Situation. Also, dass die Teilnehmer sich nicht sehen. Hier muss man sich anfangs etwas darauf einstellen, gut auf die anderen zu achten und der Reihe nach zur reden bzw. auf eine „Redegenehmigung“ zu warten, damit so eine Konferenz funktioniert.

    Es gibt inzwischen auch ein neueres Modul für Konferenzen bei Asterisk. Das wurde hier in den Kommentaren auch mal erwähnt. Leider scheint der Kommentar verloren gegangen zu sein.

    Herzliche Grüße!
    Johannes

  9. Moin,

    Ich bin auf der Suche nach genau so einer Lösung für die Kommunikation in gemeinnützigen Projekten. Mich interessiert, ob die hier beschriebene Lösung in der Praxis erprobt wurde. Ggf. mit welchenl Ergebnissen?

Schreibe einen Kommentar

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