Login


 
Newsletter
Werbung
So, 1. April 2007, 00:00

Luxusanrufbeantworter unter Linux - Teil 2

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.

Personalisierte Ansage für verschiedene Anrufer

Genug Theorie. Nun soll unser Anrufbeantworter »mit Leben gefüllt« werden. Öffnen Sie dazu die Datei vboxrc und tragen bekannte Teilnehmer in die Sektion [CALLERID] ein. Zwecks leichterer Pflege erstellen wir noch keine neuen Sektionen und wickeln alles über die Defaultsektion [DEFAULT] ab. Ein Beispiel:

[CALLERID]
111111 default Freundin
222222 default Finanzamt
333333 default Hund
* default *** Unbekannt ***

Sind unsere Teilnehmer eingetragen worden, widmen wir uns der Personalisierung der Anrufer. Das System kann ab sofort eine Nummer einem bestimmten Anrufer zuordnen, was Sie nun auch daran erkennen, dass in Ihren Emails im Betreff nun der Name des Anrufers stehen wird. Nun wird es an der Zeit, ausgewählten Teilnehmern eine eigene Ansage zu präsentieren.

Dazu müssen wir uns wieder einer eigenen Entwicklung bedienen. Theoretisch wäre es möglich, für jeden Anrufer eine eigene Sektion zu eröffnen und für jeden Anrufer ein eigenes raccess4vbox3.tcl-Skript zu erstellen. Dies würde allerdings vor allem bei vielen Anrufern sehr schnell unübersichtlich werden und darüber hinaus eine Menge an Anpassungen bedeuten. Wir bedienen uns deshalb der Funktion von play, die es ermöglicht, Skripte zu starten, und erstellen dazu eine eigene Lösung.

Ein fertiges Skript finden sie ebenfalls in unserer Archiv-Datei unter dem Namen »>select-caller.sh«. Die Funktionsweise des Skripts ist recht simpel. Wir übermitteln dem Skript den Namen des Anrufers und prüfen die Verfügbarkeit einer persönlichen Begrüßungsdatei. Ist sie vorhanden, wird sie anstelle der Standardansage abgespielt. Dazu wird ein Link auf die eigentliche Meldung gesetzt. Liegt für den Anrufer keine personalisierte Datei vor, wird ein Link auf die Standardansage gelegt.

Nun geht es an die Konfiguration. Kopieren Sie zuerst das neue Skript in das bin-Verzeichnis Ihrer Installation und vergeben dem Skript die Rechte zum Ausführen. In unserem Beispiel ist es das Verzeichnis /usr/share/isdn/vbox/bin.

cp select-caller.sh /usr/share/isdn/vbox/bin
chmod 755 /usr/share/isdn/vbox/bin/select-caller.sh

Jetzt sollten Sie Ihr Userverzeichnis in der Datei raccess.conf definieren. Fügen Sie dazu der Sektion [tuning] die Zeile user_home VERZEICHNIS hinzu. In unserem Fall wäre es das Verzeichnis /var/spool/vbox/phone:

/var/spool/vbox/phone/raccess.conf

[tuning]
...
user_home /var/spool/vbox/phone
...

Im nachfolgenden Schritt müssen Sie nun dem System beibringen, als erstes unser Skript auszuführen und erst dann eine Nachricht abzuspielen. Öffnen Sie dazu die Datei answeringmachine und ändern die [run]-Sektion wie folgt ab:

/var/spool/vbox/phone/raccess/answeringmachine

[run]
play "|/usr/share/isdn/vbox/bin/select-caller.sh $vbxv_callername $tuning(user_home)"
play @message.ulaw & @beep.ulaw
record on
wait 120

Sollten Sie das Skript select-caller.sh an einer anderen Stelle abgelegt haben, so ist es zwingend notwendig, dass Sie das Verzeichnis anpassen.

Nur ein letzter Schritt fehlt noch. Jetzt wäre es an der Zeit, eine persönliche Nachricht für einen Teilnehmer aufzunehmen, den Sie auch in der Datei /var/spool/vbox/phone/vboxrc eingetragen haben. In unserem obigen Beispiel picken wir uns den Teilnehmer »Freundin« heraus und sprechen für sie eine persönliche Nachricht auf. Vergessen Sie nicht, die Nachricht in das µ-law-Format zu konvertieren und kopieren Sie sie in das Verzeichnis msg in Ihrem Userverzeichnis. Beachten Sie bei der Namensgebung, dass Sie denselben Namen verwenden (auf Groß- und Kleinschreibung achten), wie er auch in der Datei vboxrc steht. Haben Sie also einen Teilnehmer unter dem Namen »Meine Freundin« eingetragen, so muss Ihre Datei Meine Freundin.ulaw heißen und im msg-Verzeichnis liegen.

sox freundin.wav -r8000 -c1 -t ul freundin.ulaw
cp freundin.ulaw /var/spool/vbox/phone/msg/Freundin.ulaw

Von nun an sollte der Teilnehmer »Freundin« bei unserem Projekt mit einer persönlichen Ansage begrüßt werden. Testen Sie es ruhig. Tragen Sie dazu in die Datei vboxrc ihre eigene Telefonnummer (oder Ihre Handynummer) ein und als Teilnehmernamen den Namen des neuen Nutzers, für den Sie eine personalisierte Nachricht hinterlegt haben. Rufen Sie sich selbst an. Sie sollten beobachten können, dass der Link message.ulaw auf Ihre persönliche Datei zeigt. Zeigt der Link immer noch auf die Datei standard.ulaw, so haben Sie bei Ihren Schritten einen Fehler begangen. Wird keine Nachricht abgespielt, überprüfen Sie die Zugriffsrechte im Verzeichnis msg. Gehören die Dateien wirklich Ihrem Nutzer? In unserem Beispiel müssen sie dem User »phone« zugewiesen sein.

Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Gewinnspiel
Neue Nachrichten
Werbung