Login
Newsletter
Werbung

So, 1. April 2007, 00:00

Luxusanrufbeantworter unter Linux - Teil 2

Die Verteilung der Nachrichten und die Standardansagen werden in diesem Artikel optimiert.

Einleitung

Im ersten Teil unseres Workshops richteten wir eine Basisinstallation von vbox3 ein und können nun eingehende Anrufe aufzeichnen. Die Verteilung der Nachrichten erweist sich allerdings für unsere Belange als zu unbequem und auch die Standardansagen befriedigen uns nicht. Nun wird es Zeit, den Anrufbeantworter ein wenig feiner einzustellen und unseren Wünschen entsprechend anzupassen. Ferner wollen wir ausgewählten Teilnehmern eine persönliche Nachricht hinterlassen.

Nachrichten versenden - aber richtig

Einrichtung der Skripte

Wie bereits im ersten Teil des Workshops erwähnt, werden angekommene Anrufe standardmäßig nicht nur im Verzeichnis des Nutzers abgelegt, sondern auch an dessen Email-Adresse verschickt. Für das Versenden der Emails ist das Skript »vboxmail« zuständig, das im Verzeichnis /usr/share/isdn/vbox/bin zu finden ist. Als Speicherformat nutzt das Skript das µ-law-Format, das allerdings von den wenigsten Playern abgespielt werden kann. Die angekommenen Anrufe werden darüber hinaus in englischer Sprache angekündigt. Was liegt also näher, als das Skript an unsere Bedürfnisse anzupassen und zu internationalisieren?

Glücklicherweise wurde diese Aufgabe bereits von diversen Nutzern durchgeführt, sodass wir das Rad nicht komplett neu erfinden müssen. Dazu greifen wir auf ein Skript von Malte J. Wetz zurück, das wiederum auf eine Arbeit von Lars Wessels aufsetzt. Die von uns veränderte Version enthält neben Korrekturen des Textes auch diverse Sicherheitsänderungen und unterstützt neben WAV auch die OGG- und MP3-Formate. Das neue Skript kann entweder in unserem Archiv oder separat von dieser Stelle heruntergeladen werden.

Bevor wir die alte Version allerdings überschreiben, sollten wir uns noch über das Format klar werden. Wie bereits erwähnt, unterstützt das neue Skript sowohl WAV- als auch OGG- und MP3-Formate. Je nachdem, zu welchem Format Sie greifen, werden unterschiedliche Tools benötigt. Anbei eine Auflistung der Werkzeuge und der Möglichkeit, sie zu überprüfen:

Checkliste für WAV
# mimencode -v
# sox -h
Checkliste für OGG
# mimencode -v
# sox -h
# ogginfo -h
Checkliste für MP3
# mimencode -v
# sox -h
# lame --help
# mpg123 --version

Sollten Sie auf Ihrem System mimencode nicht finden, dann werfen Sie einen Blick auf das Paket »Metamail«. Oftmals versteckt sich das Tool in diesem Paket. Ogginfo ist dagegen oftmals im Paket »vorbis-tools« zu finden.

Ist die Verfügbarkeit der Tools für das gewünschte Format sichergestellt, öffnen Sie bitte das Skript und passen die grundlegenden Variablen an. Zu allererst sollten sie das gewünschte Format in die Variable MSGFORMAT eintragen. Folgende Möglichkeiten stehen Ihnen zur Auswahl: WAV, OGG, MP3. Desweiteren sollten Sie die Pfade für den Aufruf der benötigten Applikationen überprüfen. Wollen Sie, dass ein gemeldeter Anruf grundsätzlich an eine bestimmte Adresse geschickt wird, so können Sie auch die Variable »MAILCC« setzen. Schlussendlich können Sie auch noch optional die »PAGER«-Variable setzen, damit neue Anrufe automatisch auf einen Pager oder per SMS mitgeteilt werden. Anbei ein Beispiel für eine Konfiguration für WAV-Nachrichten:

vboxmail

...
MAILCC=""
PAGER=""
MSGFORMAT="WAV"
MTA="/usr/sbin/sendmail -t"
MMENCODE=/usr/bin/mimencode
SOX=/usr/bin/sox
BASETMP="/tmp"
...

Haben Sie das Skript angepasst, können Sie das alte »vboxmail«-Skript durch das neue ersetzen. Vergessen Sie nicht, dem Skript Ausführungsrechte zu geben. Sollten Sie der Meinung sein, dass unser Skript noch weiterer Änderungen bedarf und um weitere Funktionen ergänzt werden sollte, so steht es Ihnen frei, es zu ändern.

Emails versenden

Eine Sache bleibt allerdings noch zu erledigen: Die Festlegung der Nutzer, an die unsere Nachrichten verschickt werden sollen. Unser Skript sendet standardmäßig alle ankommenden Nachrichten an den Nutzer, den Sie in vboxgetty.conf eingetragen haben. In unserem Fall also an den Nutzer »phone«.

Durch die Tatsache, dass wir einen separaten »Anwender« für unseren Anrufbeantworter angelegt haben, können wir ziemlich leicht die Empfänger festlegen. Neben der Möglichkeit, den Nutzer direkt in das Skript einzutragen (Sie erinnern sich an die Variable MAILCC), können Sie auch einen Alias anlegen oder eine .forward-Datei erstellen. In unserem Beispiel sollen alle Nachrichten an die Adresse demon@localhost verschickt werden.

Möglichkeit 1 - Eintrag in aliases

Öffnen Sie dazu die Datei /etc/aliases und tragen einen Alias für Ihren Benutzer ein. Alle Emails, die diesen Nutzer erreichen, werden ab sofort an den oder die festgelegten Benutzer verschickt:

/etc/aliases

...
phone: demon
phonepriv: demon, freundin, hund
...

Nach der Änderung von /etc/aliases sollten Sie auf keinen Fall das Kommando newaliases vergessen, da ansonsten Ihre Änderungen nicht berücksichtigt werden.

Möglichkeit 2 - Eintrag in .forward

Eine weitere Möglichkeit, alle Emails des Nutzers an andere Empfänger umzuleiten, stellt die .forward-Datei dar. Legen Sie eine solche Datei an, um eine Weiterleitung zu erreichen:

cd HEIMVERZEICHNIS_VON_PHONE
echo 'demon@localhost' > .forward

Möglichkeit 3 - Skript ändern

Nicht unerwähnt soll auch eine weitere Möglichkeit bleiben. Wie bereits besprochen, ist für die Versendung der Emails unser Skript »vboxmail« verantwortlich. Das Skript erhält als vierten Parameter beim Aufruf den Namen des Users, an den die neue Nachricht verschickt werden soll. Da das Skript als zweiten und dritten Parameter den Namen und die Nummer des Anrufers übermittelt bekommt, können Sie auch in »vboxmail« direkt Versandregeln erstellen. Erreicht Sie zum Beispiel eine Nachricht von einer bestimmten Nummer, können Sie den Namen des Empfängers ändern.

Anbei ein Codebeispiel, wie so etwas aussehen könnte:

[...]
LOCALPHONE="${5}"
+ if [ $CALLID == "123456" ]; then
+ MAILTO="neue_email"
+ fi
if ! [ -e "$BASETMP" ]; then
[...]

Eleganter würde so etwas natürlich mit entsprechenden Konfigurationsdateien funktionieren. Eine solche Beschreibung würde aber den Rahmen des Artikels sprengen und wir verzichten auf eine ausführliche Erklärung.

Nun können Sie sich wieder selbst anrufen. Ab sofort sollten Ihre Emails in deutscher Sprache sein und das Format der Nachricht Ihren Einstellungen ensprechen.

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