Telefonkonferenzen ermöglichen
Asterisk kann virtuelle Konferenzräume bereitstellen. Die Anzahl der Teilnehmer ist standardmäßig nicht begrenzt, kann aber auf Wunsch limitiert werden.
Für die Nutzung von Konferenzräumen ist es erforderlich, dass Asterisk über einen exakten Takt zum Mischen der Channels verfügt. Dieses Timing-Device kann von einer verbauten Hardware-Karte oder dem dahdi_dummy-Kernelmodul bereitgestellt werden. Der folgende Befehl überprüft, ob dieses Modul geladen ist:
debian:~# lsmod | grep dahdi_dummy
dahdi_dummy 3204 0
dahdi 184616 1 dahdi_dummy
debian:~#
Die Voraussetzungen sind erfüllt. Jetzt können virtuelle Konferenzräume definiert und über den dialplan zugänglich gemacht werden.
Konferenzräume definieren
Im Verzeichnis /etc/asterisk
liegt die Datei meetme.conf
. Bevor die Datei neu erstellt wird, verschiebe ich die Vorlage in das Sicherungsverzeichnis:
debian:/etc/asterisk# mv meetme.conf /backup/asterisk/etc/asterisk/
Die Datei besteht aus den Abschnitten [general[
und [rooms]
, wobei nur der Abschnitt [rooms]
erforderlich ist. Hier wird in jeder zeile ein Konferenzraum definiert, der später über seine Nummer aus dem Dialplan heraus angesprochen werden kann. Es gilt die folgende Syntax:
conf => Raumnummer[,PIN][,Admin-PIN]
Ein Konferenzraum kann also mit einer PIN vor unberechtigtem Zugang geschützt und mit einer PIN für den Administrator abgesichert werden. Diese angaben sind allerdings nicht zwingend erforderlich. Die folgende Datei definiert die Räume 1111
und 1234
für den allgemeinen Zugang. Der Konferenzraum mit der Nummer 7424
enthält zwar keine Zugangs-PIN, definiert aber eine PIN für den Administrator:
[rooms]
conf => 1111
conf => 1234
conf => 7424,,57879
Änderungen an der Datei werden automatisch erkannt, da diese immer eingelesen wird, wenn im Dialplan die meetme
-Applikation verwendet wird.
Einen Konferenzraum betreten
Nun muss der Dialplan so angepasst werden, dass die definierten Räume auch betreten werden können. Dazu fügen wir in der Konfigurationsdatei extensions.ael
dem Context intern
die Extension 1234
hinzu. Ruft man diese Nummer an, nimmt Asterisk den virtuellen hörer ab, wartet eine Sekunde und schickt den Anrufer in den Konferenzraum mit der Nummer 1234
.
Die Extension sieht wie folgt aus:
1234 => {
Answer();
Wait(1);
MeetMe(1234);
Hangup();
}
Damit die Änderungen am Dialplan wirksam werden, ist im Asterisk CLI der Befehl dialplan reload
auszuführen.
Ruft man nun aus dem Context intern
die Nummer 1234
an, wird man in den Konferenzraum gestellt.
Die Anzahl der Teilnehmer ansagen
Durch zahlreiche Optionen kann das Verhalten der MeetMe
-Applikation beeinflusst werden. Die Option c
sagt beim Betreten des Raumes die Anzahl der Teilnehjmer an. Um diese Funktion für die oben gezeigte Extension zu aktivieren, sieht der Aufruf der MeetMe
-Applikation so aus:
MeetMe(1234,c);
Den gewünschten Raum erfragen
Soll der Anrufer die Nummer des gewünschten Raumes eingeben, wird MeetMe
ohne weitere Argumente aufgerufen:
MeetMe();
Weitere Informationen über die Optionen der MeetMe
-Applikation liefert das Kapitel im Asterisk-Buch.
Interessante CLI Befehle zu Telefonkonferenzen
Wenn man sich mit dem Asterisk Commandline-Interface verbindet, können verschiedene Befehle zur Steuerung der Konferenzen verwendet werden. Hier ein paar Beispiele:
meetme list – Teilnehmer auflisten
Wenn man im CLI meetme list
eingibt und auf die Tabulatortaste drückt, greift die automatische Vervollständigung. Hier werden die gerade aktiven Konferenzräume aufgelistet oder – falls es nur einen gibt – dieser eingefügt.
Dem Beispiel kann man entnehmen, dass sich drei Teilnehmer in der Konferenz 1234
befinden und die Aufenthaltsdauer der Teilnehmer ablesen:
debian*CLI> meetme list 1234
User #: 01 7424 Simon Channel: SIP/7424-08c3c408 (unmonitored) 00:03:16
User #: 02 6228 MaxMu Channel: SIP/6228-08c88df8 (unmonitored) 00:02:19
User #: 03 5255 KarlK Channel: SIP/5255-08c4d458 (unmonitored) 00:00:47
3 users in that conference.
debian*CLI>
meetme mute/unmute – Teilnehmer stummschalten
Mit dem Befehl meetme mute
können Teilnehmer stummgeschalten und die sperre mit unmute
aufgehoben werden:
debian*CLI> meetme mute 1234 3
meetme kick – Teilnehmer aus der Konferenz entfernen
Ein Teilnehmer kann auch aus dem Raum entfernt werden:
debian*CLI> meetme kick 1234 1
Datum der Veröffentlichung: Sonntag, 29.11.2009