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 GESCHWINDIGKEITDie 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 DEVICEName des Devices, das als Modem benutzt werden soll. Das Device braucht vorher nicht mit setserial eingestellt zu werden.
Beispiel: vboxgetty -d /dev/ttyI5
-u BENUTZERNAMEvboxgetty 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-KOMMANDOKommando 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 PROGRAMMName 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 ADRESSEAdresse (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.
-hGibt eine Liste mit allen verfügbaren Optionen aus.
-vGibt 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:
michaelmichael/incomingmichael/messagesIm 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.msgWird als normaler Ansagetext gespielt. Dieser kann in der Datei
`.vboxrc' (siehe Kapitel
vboxrc) für
jeden Anrufer individuell eingestellt werden.
beep.msgWird nach dem Ansagetext kurz vor der Aufnahme gespielt und sollt den Anrufer darauf aufmerksam machen, daß er jetzt seine Nachricht aufsprechen kann.
timeout.msgWird gespielt, wenn die maximale Aufzeichnungszeit abgelaufen ist. Hier
könnte z.B. der Text "Vielen Dank für Ihren Anruf" gesprochen
werden.
panic.msgWird 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.msgWird 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 DEVICEName des Devices für die Bildschirm Ein- und Ausgabe. Fehlt diese Angabe,
wird `/dev/tty' (aktueller Bildschirm) benutzt.
Beispiel: vbox -d /dev/tty12
-u BENUTZERNAMEName 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 SEKUNDENDiese 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
-mVeranlasst vbox alle Anzeigen in Schwarz/Weiß anzuzeigen.
Beispiel: vbox -m
-oSchaltet 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
-tVeranlasst vbox alle neuen Nachrichten in einem zweistelligen
LED-Display anzuzeigen. Dieser Anzeigemodus kann mit der Taste
`L' aus- oder eingeschaltet werden.
Beispiel: vbox -t
-qSperrt die Taste `Q', sodaß vbox nicht mehr beendet
werden kann.
Beispiel: vbox -q
-v LAUTSTÄRKEStellt 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
-hZeigt 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, --adpcm2Erzeugt einen RAW MODEM DATA HEADER mit der Kompression
ADPCM-2.
-3, --adpcm3Erzeugt einen RAW MODEM DATA HEADER mit der Kompression
ADPCM-3.
-4, --adpcm4Erzeugt einen RAW MODEM DATA HEADER mit der Kompression
ADPCM-4.
-u, --ulawErzeugt einen RAW MODEM DATA HEADER mit der Kompression
ULAW.
-a, --alawErzeugt einen RAW MODEM DATA HEADER mit der Kompression
ALAW.
-i, --linuxisdnTrä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-23 - Kompression ADPCM-34 - Kompression ADPCM-45 - Kompression ALAW6 - 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.