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"
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:
michael
michael/incoming
michael/messages
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.
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).
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
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:
[CURSOR HOCH]
und [CURSOR RUNTER]
Bewegt den Markierbalken in der Liste hoch oder runter. Alle Funktionen beziehen sich immer auf den gerade angewählten Eintrag.
P
', `p
' oder [RETURN]
Spielt den aktuellen Eintrag mit dem in `src/settings.h
' (siehe
Kapitel
Einstellungen in `src/settings.h') unter VBOXPLAYCMD
eingestellten Programm.
Dem Programm wird beim Aufruf als erstes Argument der Name der Datei und als zweites Argument die eingestellte Lautstärke übergeben.
R
' oder `r
'
Liest die Liste der Nachrichten neu ein. Diese wird auf dem Bildschirm nur dann neu dargestellt, wenn Änderungen gefunden werden konnten.
N
' oder `n
'
Markiert einen Eintrag als neu oder als gelesen.
D
' oder `d
'
Markiert einen Eintrag als gelöscht oder hebt diese Markierung auf.
+
' oder `-
'
Setzt die Lautstärke hoch oder runter.
Q
' oder `q
'
Beendet das Programm. Wenn Einträge als gelöscht markiert wurden, erscheint zusätzlich eine Sicherheitsabfrage, ob diese auch auf dem Datenträger gelöscht werden sollen.
O
'
Schaltet die Annahme von Anrufen ein oder aus. Dazu wird im
Homeverzeichnis des Benutzers eine Datei mit dem Namen
`.vboxstop
' erzeugt oder gelöscht. Existiert diese Datei, nimmt
vboxgetty keine Anrufe mehr entgegen.
Die Datei kann auch von Hand angelegt oder gelöscht werden.
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.
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
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
.
Bemerkung: Alle Header haben als Modemtyp `ZyXEL 1496
'
eingetragen.