Previous Next Contents

4. Programme

4.1 vboxgetty

vboxgetty ist das eigentliche Hauptprogramm, welches die Anrufe entgegennimmt, Ansagetexte abspielt und die Nachrichten der Anrufer aufzeichnet.

Beim Start von vboxgetty können dem Programm folgende Argumente übergeben werden:

-s GESCHWINDIGKEIT

Die Geschwindigkeit, mit der vboxgetty das Modem ansprechen soll. Die Voreinstellung von 38400 sollte in den meisten Fällen ausreichend sein und ist auch für ADPCM-4 geeignet.

Beispiel: vboxgetty -s 38400

-d DEVICE

Name des Devices, das als Modem benutzt werden soll. Das Device braucht vorher nicht mit setserial eingestellt zu werden.

Beispiel: vboxgetty -d /dev/ttyI5

-u BENUTZERNAME

vboxgetty muß beim Start der Name eines Benutzers angegeben werden, für den die Nachrichten aufgezeichnet werden sollen.

Der angegebene Benutzer muß in der `/etc/passwd' eingetragen sein und auf dem System existieren.

Beispiel: vboxgetty -u michael

-i MODEM-INIT-KOMMANDO

Kommando zum Initialisieren des Modems. Hier sollte unter anderem die Telefonnummer angegeben werden, auf die vboxgetty - also der Anrufbeantworter - reagieren soll.

Benutzer, die den iprofd von isdn4linux benutzen, sollten hier mindestens immer die Telefonnummer angeben, auf die reagiert werden soll.

Beispiel: vboxgetty -i "ATZ&E7850413"

-p PROGRAMM

Name eines Programms, das nach dem Aufzeichnen einer Nachricht gestartet werden soll. Dem Programm werden folgende Argumente beim Start übergeben:

  1. Der volle Name der Datei die aufgezeichnet wurde.
  2. Die CALLERID des Anrufers.
  3. Der Name des Benutzers, für den die Nachricht aufgezeichnet wurde. Dieser kann mit der Option -a überschrieben werden.

-a ADRESSE

Adresse (Name oder eMail) des Benutzers, für den die Nachrichten aufgezeichnet werden (diese Angabe wird von den Zusatzskripts vboxnotify und vboxmime benutzt, um eine eMail an diese Adresse zu senden).

Bemerkung: Diese Angabe muß nicht unbedingt eine Adresse darstellen. Es kann im Prinzip angegeben werden was man will. Wenn die Option angegeben ist, wird sie als drittes Argument dem Programm der Option -p übergeben; wenn nicht, wird der Name der Option -u benutzt.

-h

Gibt eine Liste mit allen verfügbaren Optionen aus.

-v

Gibt die aktuelle Versionsnummer aus.

Ein normaler Aufruf von vboxgetty sollte in etwa so aussehen:

$ vboxgetty -d /dev/ttyI6 -i "ATZ&E7850413" -u michael

Für den in diesem Beispiel angegebenen Benutzer `michael' werden im Spoolverzeichnis folgende Verzeichnisse angelegt, falls diese noch nicht existieren:

Im Incoming-Verzeichnis werden alle Nachrichten abgelegt, die bei einem Anruf aufgezeichnet werden. Die Dateinamen dieser Nachrichten haben folgendes Format:

<Jahr><Monat><Tag><Stunde><Minute><Sekunde>-<CallerID>

Wenn die Rufnummer eines Anrufers (sprich die CallerID) nicht ermittelt werden konnte (z.B. weil der Anrufer keinen ISDN-Anschluß besitzt), wird für das Feld <CallerID> der Wert 0 eingesetzt.

Beispiel eines Incoming-Verzeichnisses:

-rw-------   1 michael  users       24592 Jun 10 11:02 960610110220-9317850413
-rw-------   1 michael  users      131292 Jun 10 11:14 960610111408-9317850413
-rw-------   1 michael  users       28104 Jun 10 11:16 960610111612-0

Wenn vboxgetty eine Nachricht aufzeichnet, wird diese nur mit den Zugriffsrechten `--w-------' geöffnet. Sobald die Nachricht zu Ende aufgenommen wurde, werden die Zugriffsrechte zu `-rw-------' geändert.

Programme, welche dem Benutzer eine Liste der eingegangenen Nachrichten anzeigen, sollten nur solche Dateien aufnehmen, bei denen das r-Bit (Lesbar) gesetzt ist, um sicher zu sein, daß die Nachricht zu Ende aufgezeichnet wurde (siehe Kapitel vbox).

Im Messages-Verzeichnis müssen sich alle Ansagetexte befinden, die von vboxgetty gespielt werden sollen. Es existieren folgende voreingestellte Namen:

standard.msg

Wird als normaler Ansagetext gespielt. Dieser kann in der Datei `.vboxrc' (siehe Kapitel vboxrc) für jeden Anrufer individuell eingestellt werden.

beep.msg

Wird nach dem Ansagetext kurz vor der Aufnahme gespielt und sollt den Anrufer darauf aufmerksam machen, daß er jetzt seine Nachricht aufsprechen kann.

timeout.msg

Wird gespielt, wenn die maximale Aufzeichnungszeit abgelaufen ist. Hier könnte z.B. der Text "Vielen Dank für Ihren Anruf" gesprochen werden.

panic.msg

Wird gespielt, wenn die Nachricht des Anrufers nicht aufgezeichnet werden konnte. Hier könnte z.B. der Text "Ihr Anruf konnte leider nicht aufgezeichnet werden. Bitte versuchen Sie es zu einem späteren Zeitpunk noch einmal" gesprochen werden.

parkline.msg

Wird gespielt, wenn ein bereits von vboxgetty angenommener Anruf wieder zurück auf die Telefonleitung umgelenkt werden soll, um dort wieder entgegengenommen zu werden. Die Nachricht soll den Anrufer darauf aufmerksam noch nicht aufzulegen, da der Angerufene ihn gleich entgegennimmt.

Bemerkung: Dieses Feature wird z.Z. von isdn4linux noch nicht unterstützt.

Einige Beispielansagen befinden sich im Verzeichnis `samples/messages'.

Bemerkung: vboxgetty sollte am besten aus der `/etc/inittab', aus `/etc/rc.d/rc.local' oder vom Benutzer root gestartet werden. Wenn vboxgetty von einem anderen Benutzer gestartet werden soll, ist eine Anpassung der Zugriffsrechte für einige Dateien nötig (z.B. die Devices oder die Logdateien).

4.2 vbox

vbox ist eine auf ncurses basierende Benutzeroberfläche zum Ansehen und Abspielen der aufgezeichneten Nachrichten.

Beim Programmstart können folgende Argumente angegeben werden:

-d DEVICE

Name des Devices für die Bildschirm Ein- und Ausgabe. Fehlt diese Angabe, wird `/dev/tty' (aktueller Bildschirm) benutzt.

Beispiel: vbox -d /dev/tty12

-u BENUTZERNAME

Name des Benutzers, dessen Nachrichten eingesehen werden sollen. Diese Option kann nur benutzt werden, wenn vbox vom Benutzer root gestartet wird. vbox läuft dann im sogenannten VIEWMODE, in dem alle Funktionen gesperrt sind und nur die Liste der aufgezeichneten Nachrichten angezeigt wird.

Sofort nach dem Start setzt vbox die Rechte auf den angegebenen Benutzer zurück.

Beispiel: vbox -u michael

-r SEKUNDEN

Diese Option ist eigentlich nur im Zusammenhang mit `-u' sinnvoll und gibt an, nach wievielen Sekunden die Nachrichtenliste neu eingelesen werden soll.

Beispiel: vbox -r 60

-m

Veranlasst vbox alle Anzeigen in Schwarz/Weiß anzuzeigen.

Beispiel: vbox -m

-o

Schaltet vbox in den sogenannten VIEWMODE, in dem nur einige wenige Kommandos zugelassen werden. Die Nachrichten können in diesem Modus z.B. angezeigt, aber nicht gespielt werden. Auch das Löschen von Nachrichten ist nicht erlaubt.

Wenn die Option -u angegeben ist, wird vbox automatisch in den VIEWMODE geschaltet.

Beispiel: vbox -o

-t

Veranlasst vbox alle neuen Nachrichten in einem zweistelligen LED-Display anzuzeigen. Dieser Anzeigemodus kann mit der Taste `L' aus- oder eingeschaltet werden.

Beispiel: vbox -t

-q

Sperrt die Taste `Q', sodaß vbox nicht mehr beendet werden kann.

Beispiel: vbox -q

-v LAUTSTÄRKE

Stellt die voreingestellte Lautstärke ein. Es können Werte zwischen 0 und 100 übergeben werden.

Die Lautstärke wird dem Kommando, das zum abspielen der Nachrichten angegeben wurde, als zweites Argument beim Start übergeben.

Beispiel: vbox -v 10

-h

Zeigt eine Liste mit allen verfügbaren Optionen an.

Beim booten des Rechners könnte vbox z.B. wie folgt aufgerufen werden:

$ vbox -d /dev/tty12 -u michael -r 60 &

In diesem Beispiel würde vbox alle Nachrichten des Benutzers `michael' auf `/dev/tty12' (Konsole 12) anzeigen und alle 60 Sekunden prüfen, ob sich die Liste geändert hat.

Wenn vbox von einem normalen Benutzer (also nicht von root) aufgerufen und nicht in den VIEWMODE geschaltet wurde, stehen folgende Funktionen zur Verfügung:

vbox nimmt nur Nachrichten in die Liste auf, die ein gesetztes r-Bit (Lesbar) haben. Gelesene Nachrichten werden mit dem x-Bit (Ausführbar) versehen.

4.3 rmdcutheader

Das Programm rmdcutheader entfernt den RAW MODEM DATA HEADER einer Voicedatei.

Der Aufruf ist denkbar einfach:

$ rmdcutheader <DATEI_MIT_HEADER >DATEI_OHNE_HEADER

Um zum Beispiel Nachrichten, die im Format ULAW aufgezeichnet wurden, nach `/dev/audio' zu spielen, kann man wie folgt vorgehen:

$ rmdcutheader <VOICEMESSAGE >/dev/audio

4.4 rmdcatheader

Mit rmdcatheader kann ein RAW MODEM DATA HEADER für die Formate ADPCM-2, ADPCM-3, ADPCM-4, ALAW oder ULAW erzeugt werden.

Folgende Argumente können übergeben werden:

-2, --adpcm2

Erzeugt einen RAW MODEM DATA HEADER mit der Kompression ADPCM-2.

-3, --adpcm3

Erzeugt einen RAW MODEM DATA HEADER mit der Kompression ADPCM-3.

-4, --adpcm4

Erzeugt einen RAW MODEM DATA HEADER mit der Kompression ADPCM-4.

-u, --ulaw

Erzeugt einen RAW MODEM DATA HEADER mit der Kompression ULAW.

-a, --alaw

Erzeugt einen RAW MODEM DATA HEADER mit der Kompression ALAW.

-i, --linuxisdn

Trägt als Modemkennung `ISDN4Linux' in den Header ein (Voreinstellung ist `ZyXEL 1496'). Der mit -i erzeugt Header kann von den pvftools oder vgetty nur erkannt werden, wenn das mgetty Paket mit dem Patch aus den neusten Utilties von isdn4linux erzeugt wurde.

4.5 rmdgetheader

Das Programm rmdgetheader ermittelt die Art der Kompression einer Voice-Audio-Datei und gibt diese als Returncode zurück. Dem Programm muß beim Start der Name der Datei übergeben werden, die untersucht werden soll.

Folgende Returncodes sind möglich:

Alle anderen Rückgabewerte bedeuten unbekannte Kompression oder eine Fehler beim einlesen und untersuchen des Headers.

4.6 xvboxled

xvboxled wurde von Jan Schoenepauck (schoenep@wrcs3.urz.uni-wuppertal.de) und Joachim Gassen (gassen@uni-muenster.de) geschrieben. Es zeigt in einem Fenster die Anzahl der Nachrichten als zweistellige LED an.

Zur Konfiguration und Installation bitte die entsprechenden Dateien im Verzeichnis `tools/xvboxled' lesen.

4.7 mam

mam (Motif Answering Machine) wurde von Chris Benndorf (chrisb@ganzfix.duew.eunet.de) geschrieben. Es zeigt in einem Fenster alle von vboxgetty aufgezeichneten Nachrichten an und stellt Funktionen zum Abspielen und Bearbeiten bereit.

mam benötigt Motif und die Xmt Library. Eine statisch gelinkte Version von mam befindet sich auf

ftp://ftp.franken.de/pub/isdn4linux/contributions/

Zur Konfiguration und Installation bitte die entsprechenden Dateien im Verzeichnis `tools/mam' lesen.


Previous Next Contents