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:
CALLERID
des Anrufers.-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:
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.
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).
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:
[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.
[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.
S
' oder `s
'
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.
P
' oder `p
'
Schaltet in den PARKMODE
. Dazu wird im Homeverzeichnis des
Benutzers eine Datei mit dem Namen `.vboxpark
' erzeugt, die
vboxgetty veranlaßt, den bereits angenommenen Anruf wieder
zurück auf die Telefonleitung zu legen. Der PARKMODE
beendet
sich nach 90 Sekunden automatisch, oder wird von vboxgetty
aufgehoben, sobald der Anruf umgelenkt ist.
Bemerkung: Das Feature PARKMODE
wird zur Zeit noch
nicht von isdn4linux unterstützt.
H
' oder `h
'
Zeigt ein Fenster mit allen verfügbaren Funktionen an.
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
.
-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.
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:
2
- Kompression ADPCM-2
3
- Kompression ADPCM-3
4
- Kompression ADPCM-4
5
- Kompression ALAW
6
- Kompression ULAW
Alle anderen Rückgabewerte bedeuten unbekannte Kompression oder eine Fehler beim einlesen und untersuchen des Headers.
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.
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.