Login
Newsletter
Werbung

So, 1. April 2007, 00:00

Luxusanrufbeantworter unter Linux - Teil 2

Ein Anruf kommt an - Theoretische Funktionsweise und Konfiguration

vboxrc

Bis jetzt haben wir einen »normalen« Anrufbeantworter, der sich von Standardgeräten nur dadurch unterscheidet, dass Sie über ankommende Anrufe per Email benachrichtigt werden. Nun geht es aber ans Eingemachte - der Anrufbeantworter soll ankommende Anrufer erkennen und eine entsprechende Begrüßung abspielen. Leider kommen wir nicht darum herum, die Funktionsweise unseres Systems ein wenig zu erklären. Falls Sie es nicht interessiert, dann können Sie natürlich den Abschnitt überspringen. Bei Problemen sollten Sie aber auf jeden Fall diese Zeilen lesen.

vboxrc stellt die erste Steuerungsdatei des vbox-Systems dar und wird zuerst abgearbeitet. Die Datei besteht prinzipiell aus zwei verschiedenen Sektionen - den Sektionen [CALLERID] und [DEFAULT]. Ferner kann die Datei noch weitere Sektionen aufweisen, die aber nicht zwingend notwendig sind und nur durch Ihre Erweiterungen entstehen.

Sektion [CALLERID]

In dieser Sektion findet die Verknüpfung zwischen der Nummer des Anrufers, der ausgeführten Sektion und dem Namen des Teilnehmers statt. Typischerweise sieht eine Zeile des Sektion wie folgt aus:

123456 demon Mirko
* default *** Unbekannt ***

Die erste Spalte enthält die Telefonnummer des Anrufers. In der zweiten finden Sie die auszuführende Sektion. Die dritte beinhaltet dagegen den Namen des Anrufers im Klartext. Ruft nun ein Teilnehmer an, dessen Nummer Sie eingetragen haben, springt das Skript in die eingetragene Sektion und führt das dort eingetragene Skript aus. Findet sich keine Telefonnummer, wird das Default-Script ausgeführt.

Sektion [DEFAULT]

In dieser Sektion wird bestimmt, was mit einem Anruf passieren soll, der gerade angekommen ist. Typischerweise sieht die Sektion folgendermaßen aus:

* * raccess4vbox3.tcl 90 5 5

Die Spalten enthalten: Zeit, Wochentag, Skript, Aufnahmedauer, Klingelzahl, Max. Klingelzahl.

Wollen Sie also, dass sich Ihr Anrufbeantworter zu verschiedenen Zeiten und Tagen anders verhält, können Sie das nun in dieser Datei einstellen. Für jeden Eintrag müssen Sie dabei eine separate Zeile erstellen.

Folgendes Szenario hilft Ihnen, die Funktionsweise zu verstehen. Unseren Wünschen entsprechend soll der Anrufbeantworter während der Geschäftszeiten Werktags von 7:00 bis 12:30 und von 15:00 bis 18:00 Uhr sich erst nach 5 Klingelzeichen einschalten. An den restlichen Tagen und zu späterer Stunde soll der Anrufbeantworter bereits nach dem 2. Klingelton seine Arbeit aufnehmen. Da am Mittwoch das Büro nur am Vormittag besetzt ist, soll an diesem Tag nachmittags der Anrufbeantworter ebenfalls nach 2 Klingelzeichen aktiviert werden. Eine entsprechende Konfiguration der Default-Sektion für unser fiktives Beispiel sieht wie folgt aus:

7-12:30,15:00-18:00 MO,DI,DO,FR raccess4vbox3.tcl 90 5 5
7-12:30 MI raccess4vbox3.tcl 90 5 5
* * raccess4vbox3.tcl 90 2 5

Weitere Sektionen

Neben den Sektionen [CALLERID] und [DEFAULT] kann die Datei auch weitere Sektionen aufweisen. Wie Sie oben in unserem Beispiel unter [CALLERID] bereits gesehen haben, haben wir der Telefonnummer 123456 eine Sektion demon zugewiesen. Ruft der Teilnehmer nun an, wird nicht mehr die Defaultsektion angesprungen, sondern die eigens für ihn eingerichtete Sektion [DEMON]. In dieser können Sie definieren, wie sich der Anrufbeantworter bei diesem Teilnehmer verhalten soll und welche Skripte ausgeführt werden sollen. Kann die zuvor angegebene Sektion allerdings nicht gefunden werden, kommt es zu einer Fehlermeldung - also Vorsicht.

Anbei noch einmal die komplette Konfigurationsdatei mit unserem fiktiven Beispiel und einer eigenen Sektion für den Anrufer »demon«. Ruft er nun an, soll der Anrufbeantworter erst gar nicht eingeschaltet werden. Dazu wurde die Zahl der Klingelzeichen auf 99 gesetzt.

[CALLERID]
123456 demon Mirko
222222 default Freundin
333333 default Hund
* default *** Unbekannt ***
[DEFAULT]
7-12:30,15:00-18:00 MO,DI,DO,FR raccess4vbox3.tcl 90 5 5
7-12:30 MI raccess4vbox3.tcl 90 5 5
* * raccess4vbox3.tcl 90 2 5
[DEMON]
* * raccess4vbox3.tcl 90 99 99

raccess.conf

Ruft ein Teilnehmer an, ermittelt das System aus der Datei vboxrc die Daten des Anrufers und startet das Skript, das in seiner Sektion eingetragen wurde. In unserem Fall ist es nun das Skript raccess4vbox3.tcl.

Das Skript liest nun eine eigene Konfigurationsdatei, die Datei »raccess.conf«. Die Datei dient der Konfiguration der globalen Variablen des raccess4vbox3.tcl-Skripts und besteht ebenfalls aus verschiedenen Sektionen. Diese hier zu erklären, würde im Rahmen des Workshops zu diesem Zeitpunkt ein wenig ungelegen kommen, so dass wir uns nun auf die wichtigsten konzentrieren wollen.

Sektion [tuning]

In dieser Sektion finden die Einstellungen zur Sprachsynthese statt. Da wir noch die Funktion nicht benötigen, interessieren uns vorerst die Variablen nicht. Einzig »callhandler« dürfte für uns von Relevanz sein. Der Parameter legt fest, wo sich unser Skript zur Versendung von Emails befindet. Sie erinnern sich noch an die Datei vboxmail? Sollte also Ihre Datei sich in einem anderen Ordner befinden, müssen Sie den Pfad ändern.

Interessant an dieser Sektion ist überdies die Tatsache, dass alle Einträge der Sektion global exportiert werden, so dass Sie dort auch Ihre eigenen Variablen eintragen können.

Sektion [dtmf]

Auch diese Sektion überspringen wir. Sie dient der Zuweisung von DTMF-Tastentönen, wie sie zum Beispiel bei einer Fernabfrage des Anrufbeantworters zum Einsatz kommen. Da wir diese Funktionalität noch nicht benötigen, belassen wir die Sektion, wie sie ist, und kommen auf sie zu gegebener Zeit wieder zurück.

Sektion [run]

In dieser Sektion wird festgelegt, welche Aktionen nach einem Anruf eingeleitet werden sollen. Standardmäßig finden Sie in dieser Sektion die Anweisung run answeringmachine, was zu bedeuten hat, dass das System die Konfigurationsdatei answeringmachine im Verzeichnis raccess abarbeiten soll.

answeringmachine

Die Konfigurationsdatei answeringmachine stellt das eigentliche Kontrollzentrum für alle ankommenden Anrufe dar und ist ebenfalls in verschiedene Sektionen unterteilt.

Sektion [run]

Die Sektion [run] definiert das Verhalten des Anrufbeantworters bei allen ankommenden Anrufen. Das System führt Schritt für Schritt die dort eingetragenen Anweisungen durch. Typischerweise sieht die Sektion folgendermaßen aus:

[run]
record on
play @standard.ulaw & @beep.ulaw
wait 120

In unserem Beispiel würde also der Anrufbeantworter bei einem ankommenden Anruf die Aufnahme starten (record on). Im nächsten Schritt spielt das System die Ansage standard.ulaw, gefolgt von einem Piepston (play @standard.ulaw & @beep.ulaw). Zu allerletzt wartet das System 120 Sekunden, bevor es die Verbindung zum Anrufer automatisch kappt (wait 120).

Wollen Sie nicht, dass das System bereits beim Abspielen der Ansage aufnimmt, so müssen Sie wie bereits oben beschrieben die Reihenfolge der Ausführung ändern und die Zeile record hinter play stellen.

Interessant an dieser Sektion ist ebenfalls die Tatsache, dass play nicht nur eine Ansage abspielen kann, was dem System durch das Zeichen »@« signalisiert wird, sondern in der Regel das Dahinterstehende zu »sprechen« versucht. Gibt also ein Skript eine Fehlermeldung aus, wird sie dem Anrufer vorgelesen. Ferner kann hinter play auch ein Skript eingetragen werden.

Sektion [dtmf]

Die Sektion dtmf widmet sich der Fernabfrage des Systems und sieht wie folgt aus:

[dtmf]
*1234# "remote access mode" {run remoteaccess}
*2233# "accept" {run sysinfo}
*4433# "accept" {run dialup}

Die erste Spalte legt die Reihenfolge der zu drückenden Tasten, um eine bestimmte Aktion auszuführen, fest. Werden nacheinander die Tasten »*«, »1«, »2«, »3«, »4« und »#« gedrückt, wird die Konfigurationsdatei remoteaccess ausgeführt. Die Struktur der nachfolgenden Dateien ist ähnlich der answeringmachine. Da wir die Funktionalität noch nicht brauchen, werden wir uns mit den Funktionen allerdings erst später beschäftigen.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung