vboxgetty ist das eigentliche Herz von vbox. Er ist für das Erkennen, Entgegennehmen und Steuern von Anrufen zuständig. Die genaue Installation von vboxgetty kann im Kapitel Erste Schritte unter vboxgetty nachgelesen werden.
vboxgetty [OPTION] [OPTION] [...]
Folgende Optionen können angegeben werden:
-f, --file FILE
Konfigurationsdatei die benutzt werden soll. Voreingestellt liest
vboxgetty die Einstellungen aus der
Datei '@SYSCONFDIR@/vboxgetty.conf
'.
-d, --device TTY
Modemdevice das benutzt werden soll. Diese Option muß angegeben werden!
-h, --help
Zeigt den Hilfstext an.
-v, --version
Zeigt die Versionsnummer an.
vboxd ist ein Daemon, der über Netzwerk (TCP/IP oder Sockets) angesprochen werden und die mit vbox aufgezeichneten Nachrichten abrufen oder ändern kann.
Für Programmautoren existieren in der libvbox.a bereits einige Funktionen um mit vboxd zu kommunizieren. Die genaue Installation von vboxd kann im Kapitel Erste Schritte unter vboxd nachgelesen werden.
vboxd [OPTION] [OPTION] [...]
Folgende Optionen können angegeben werden:
-f, --file FILE
Konfigurationsdatei die benutzt werden soll. Voreingestellt liest vboxd die Einstellungen aus der Datei '@SYSCONFDIR@/vboxd.conf
'.
-t, --timeout SECS
Anzahl der Sekunden die vboxd auf ein Kommando vom Client
wartet. Wird in diesem Zeitraum kein Kommando empfangen, beendet sich das
Programm. Voreinstellung sind 600
Sekunden.
-v, --version
Zeigt die Versionsnummer an.
-h, --help
Zeigt den Hilfstext an.
Nach dem Start steht der Timeout auf 30 Sekunden. Dieser wird erst
auf den mit --timeout
eingestellten Wert geändert, nachdem das
erste Kommando von einem Client empfangen wurde!
Die nachfolgende Beschreibung befaßt sich mit den internen Kommandos des Daemons und ist eigentlich nur für Programmautoren von Interesse, die in ihren eigenen Programmen mit dem vboxd kommunizieren möchten.
Der Daemon kann mit einer Reihe von Kommandos gesteuert werden, die alle mit einem Text der Form
NUMMER BESCHREIBUNG
beantwortet werden. Einige Kommandos liefern mehrere Antworten hintereinander, jede Antwort beginnt in einer neuen Zeile.
Der Client sollte die aktuelle Verbindung schließen (und evtl. neu aufbauen),
sobald vom Server der Text "281 .
" übermittelt wurde. Dieser
gibt an, daß der Server die Verbindung beendet hat!
Die nachfolgend beschriebenen Kommandos können auch andere Kennungen als angegeben zurückliefern. Die Beschreibung zeigt immer nur die Rückgaben des Kommandos selbst, nicht aber die evtl. Rückgaben des Servers an. Andere Rückgabekennungen als beim jeweiligen Kommando angegeben sind als Fehler zu werten!
Mögliche andere Rückgaben wären:
281
- Server hat sich beendet.580
- Zugriff verweigert.583
- Falsche Argumentangabe.584
- Falsches Passwort.585
- Falsche Nachricht.586
- Falsches Kommando.589
- Temporärer Fehler.
Folgende Kommandos werden vom vboxd unterstützt:
LOGIN <USERNAME> <PASSWORD>
Mit diesem Kommando können sich Clients als reguläre Benutzer beim Daemon anmelden. Einige Kommandos sind nur nach einem erfolgreichen Login möglich! Beim Login wird dem Benutzer ein Spool- und ein Incoming-Verzeichnis zugewiesen, auf die sich alle Kommandos beziehen.
USERNAME
Name des Benutzers der angemeldet werden soll.
PASSWORD
Passwort des Benutzers.
Bei erfolgreicher Anmeldung enthält die Anwort des Daemons den Rückgabewert
283
, gefolgt von einem kurzen Willkommenstext.
LIST
Zeigt eine Liste aller Nachrichten an, die sich im Incoming-Verzeichnis des Benutzers befinden. Dieses Kommando ist nur nach einem erfolgreichen Login möglich. Es wird Lesezugriff benötigt.
Die Antwort des Daemons ist wie folgt aufgebaut:
184 + 184 F 00000858611291-00022795 184 T 858611305 184 M 858611305 184 C 6 184 S 84752 184 N Michael Herold 184 I 9317850413 184 P *** Unknown *** 184 L *** Unknown *** 184 .
184 +
Leitet den Beginn einer neuen Nachricht ein. Eine Liste kann mehrere Nachrichten enthalten - zu Beginn einer jeden Nachricht wird diese Zeile gesendet.
184 F
gefolgt vom Namen der Datei innerhalb des Incoming-Verzeichnisses.
184 T
gefolgt vom Erzeugungsdatum der Datei. Das Datum wird als Anzahl der Sekunden seit dem 1.1.1970 angegeben.
184 M
gefolgt vom Datum der letzten Änderung. Das Datum wird als Anzahl der Sekunden seit dem 1.1.1970 angegeben. Ist dieses 0, wurde die Datei als gelesen markiert.
184 C
gefolgt von der Kompression. Die Kompression wird als Wert zwischen 2 und 6 angegeben.
184 S
gefolgt von der größe der Datei in Bytes.
184 N
gefolgt vom Namen der Person, welche die Nachricht aufgesprochen
hat. Konnte diese nicht ermittelt werden, wird "*** Unknown ***
"
angegeben.
184 I
gefolgt von der CALLERID
der Person, welche die Nachricht
aufgesprochen hat. Konnte diese nicht ermittelt werden, wird 0
angegeben.
184 P
gefolgt von der Telefonnummer der Person, welche die Nachricht
aufgesprochen hat. Konnte diese nicht ermittelt werden, wird "*** Unknown
***
" angegeben.
184 F
gefolgt vom Wohnort der Person, welche die Nachricht aufgesprochen hat.
Konnte diese nicht ermittelt werden, wird "*** Unknown ***
"
angegeben.
184 .
Dieser Text wird am Ende aller Nachrichten gesendet. Er gibt an, daß die komplette Liste übermittelt wurde und kein weiterer Eintrag mehr folgt.
MESSAGE <MESSAGENAME>
überträgt eine Nachricht. Dieses Kommando ist nur nach einem erfolgreichen Login möglich. Es wird Lesezugriff benötigt.
MESSAGENAME
Name der Datei die übermittelt werden soll. Pfadangaben werden abgeschnitten - die Datei muß sich im Incoming-Verzeichnis des eingeloggten Benutzers befinden.
Die Antwort des Daemons schaut in etwa wie folgt aus:
182 34654 [...MESSAGE...] 182 .
Die erste Zeile enthält die Kennung "182
" gefolgt
von der Anzahl der Zeichen die zu lesen sind. Nach dieser Kennung
werden die Daten übermittelt - gefolgt von der Kennung
"182 .
" die das Ende der Übermittlung kennzeichnet.
HEADER <MESSAGENAME>
Übermittelt einen Nachrichtheader. Dieses Kommando ist nur nach einem erfolgreichen Login möglich. Es wird Lesezugriff benötigt.
MESSAGENAME
Name der Datei deren Header übermittelt werden soll. Pfadangaben werden abgeschnitten - die Datei muß sich im Incoming-Verzeichnis des eingeloggten Benutzers befinden.
Die Antwort des Daemons schaut in etwa wie folgt aus:
183 34654 [...HEADER...] 183 .
Die erste Zeile enthält die Kennung "183
" gefolgt
von der Anzahl der Zeichen die zu lesen sind. Nach dieser Kennung
werden die Daten übermittelt - gefolgt von der Kennung
"183 .
" die das Ende der Übermittlung kennzeichnet.
COUNT
Dieses Kommando gibt aus, wieviele neue Dateien sich im Incoming-Verzeichnis des eingeloggten Benutzers befinden. Dieses Kommando ist nur nach einem erfolgreichen Login möglich. Es wird Lesezugriff benötigt.
Die Ausgabe des Daemons ist in etwa wie folgt:
181 100 859281096
Nach der Nummer "181
" wird die Anzahl der neuen Nachrichten
gefolgt vom Datum der neusten Nachricht ausgegeben. Das Datum wird in Anzahl
der Sekunden seit dem 1.1.1970 dargestellt.
TOGGLE <MESSAGENAME>
Wechselt den Status einer Nachricht von gelesen nach ungelesen oder von ungelesen nach gelesen. Dieses Kommando ist nur nach einem erfolgreichen Login möglich. Es wird Schreibzugriff benötigt.
MESSAGENAME
Name der Nachricht deren Status gewechselt werden soll. Pfadangaben werden abgeschnitten - die Datei muß sich im Incoming-Verzeichnis des eingeloggten Benutzers befinden.
Die Antwort des Daemons schaut in etwa so aus:
188 859281096
Nach der Nummer "188
" wird das "modification date" in der
Form Sekunden seit 1.1.1970 ausgegeben. Der Wert 0 heißt das die Nachricht
als gelesen markiert wurde.
DELETE <MESSAGENAME>
Löscht eine Nachricht. Dieses Kommando ist nur nach einem erfolgreichen Login möglich. Es wird Schreibzugriff benötigt.
MESSAGENAME
Name der Nachricht die gelöscht werden soll. Pfadangaben werden abgeschnitten - die Datei muß sich im Incoming-Verzeichnis des eingeloggten Benutzers befinden.
Wenn die Datei gelöscht werden konnte, antwortet der Daemon mit der Kennung
"287 .
".
STATUSCTRL <CONTROLNAME>
Stellt fest, ob sich die angegebene Kontrolldatei im Spoolverzeichnis des Benutzers befindet. Dieses Kommando ist nur nach einem erfolgreichen Login möglich. Es wird Lesezugriff benötigt.
CONTROLNAME
Name der Kontrolldatei die überprüft werden soll. Pfadangaben werden abgeschnitten - die Datei muß sich im Spoolverzeichnis des eingeloggten Benutzers befinden.
Der Daemon antwortet mit der Kennung "284 1
" wenn die
Datei existiert, oder mit "284 0
" wenn nicht.
CREATECTRL <CONTROLNAME>
Erzeugt die angegebene Kontrolldatei im Spoolverzeichnis des Benutzers. Dieses Kommando ist nur nach einem erfolgreichen Login möglich. Es wird Schreibzugriff benötigt.
CONTROLNAME
Name der Kontrolldatei die erzeugt werden soll. Pfadangaben werden abgeschnitten - die Datei muß sich im Spoolverzeichnis des eingeloggten Benutzers befinden.
Der Daemon antwortet mit der Kennung "285 1
" wenn
die Datei angelegt werden konnte, oder mit "285 0
"
wenn nicht.
REMOVECTRL <CONTROLNAME>
Entfernt die angegebene Kontrolldatei im Spoolverzeichnis des Benutzers. Dieses Kommando ist nur nach einem erfolgreichen Login möglich. Es wird Schreibzugriff benötigt.
CONTROLNAME
Name der Kontrolldatei die entfernt werden soll. Pfadangaben werden abgeschnitten - die Datei muß sich im Spoolverzeichnis des eingeloggten Benutzers befinden.
Der Daemon antwortet mit der Kennung "286 1
" wenn
die Datei entfernt werden konnte, oder mit "286 0
"
wenn nicht.
Das Programm vbox dient als Frontend zum Nachrichten lesen, löschen oder ändern. Zudem können die Kontrolldateien erzeugt oder gelöscht werden. Es wird vboxd benötigt.
vbox [OPTION] [OPTION] [...]
Folgende Optionen können angegeben werden:
-m, --hostname NAME
Gibt an auf welchem Host mit dem vboxd verbunden werden soll.
Voreinstellung ist localhost
.
-p, --port PORT
Gibt an welcher Port benutzt werden soll. Voreinstellung ist der Eintrag
vboxd/tcp
aus '/etc/services
'.
-c, --playcmd PROG
Legt fest mit welchem Programm die Nachrichten gespielt werden sollen.
Voreinstellung ist '/usr/local/vbox/bin/vboxplay
'.
-r, --reload SECS
Gibt an nach wievielen Sekunden die Nachrichtenliste neu eingelesen werden
soll (neue Darstellung erfolgt nur bei neuen Nachrichten). Die Voreinstellung
ist 60
Sekunden.
-o, --mono
Erzwingt Schwarz/Weiß Anzeige.
-f, --force
Wenn diese Option angegeben ist, wird immer der Loginprompt angezeigt, auch
dann wenn das Passwort und der Benutzername in '~/.vboxrc
'
enthalten ist.
-s, --noledstatus
Normalerweise holt sich vbox alle 30 Sekunden den Status der Kontrolldateien vom Server, um die LED's neu anzuzeigen. Ist diese Option angegeben, werden die Kontrolldateien nicht abgefragt.
-v, --version
Zeigt die Programmversion an.
-h, --help
Zeigt den Hilfstext an.
Mit vboxbeep können mehrere Nachrichten-Verzeichnisse überwacht werden. Wenn sich in einem der Verzeichnisse eine neue Nachricht befindet, macht sich vboxbeep mit einem Signalton bemerkbar. vboxbeep benutzt keinen vboxd, es können nur lokale Verzeichnisse überwacht werden.
vboxbeep [OPTION] [OPTION] [...]
Folgende Optionen können angegeben werden:
-s, --sound HOURS
Stunden an denen der Signalton gespielt werden soll. Die Angaben müssen im
24-Stunden-Format - also von 0 - 23 Uhr - gemacht werden. Mehrere Stunden
können durch Kommata getrennt angegeben werden. Ein '*
' als einzige
Angabe steht für immer, ein '-
' für nie.
-m, --messagebox DIR
Verzeichnis mit Nachrichten das überwacht werden soll. Diese Option kann mehrmals angegeben werden, sodaß mehrere Verzeichnisse überwacht werden können.
-p, --pause SECS
Pause in Sekunden die zwischen den einzelnen Überprüfungen gemacht werden
soll. Voreinstellung ist 5
Sekunden.
-k, --kill
Beendet einen bereits laufenden vboxbeep. Die Option kann nur vom Benutzer root angegeben werden.
-v, --version
Zeigt die Programmversion an.
-h, --help
Zeigt den Hilfstext an.
Wird vboxbeep ohne Argumente aufgerufen, so wird versucht einem bereits laufenden vboxbeep mitzuteilen, daß der Signalton beendet werden soll.
Mit vboxtoau können vbox Dateien (vbox audio header) in .au Dateien (sun audio format) gewandelt werden. vboxtoau ist ein Link auf vboxcnvt.
vboxtoau [OPTION] [OPTION] [...] <INFILE >OUTFILE
Folgende Optionen können angegeben werden:
-r, --samplerate RATE
Samplerate die in den Header der Datei geschrieben werden soll. Es wird
keine Konvertierung vorgenommen! Voreinstellung ist 8000
.
-u, --ulaw
Datei zu 8-bit ulaw
konvertieren.
-1, --linear8
Datei zu 8-bit linear
konvertieren.
-2, --linear16
Datei zu 16-bit linear
konvertieren (Voreinstellung).
-v, --version
Zeigt die Programmversion an.
-h, --help
Zeigt den Hilfstext an.
Die Datei zum konvertieren wird von Standard Eingabe (stdin) gelesen und nach Standard Ausgabe (stdout) geschrieben.
Mit autovbox können .au Dateien (sun audio format) in vbox Dateien (vbox audio header) gewandelt werden. autovbox ist ein Link auf vboxcnvt.
autovbox [OPTION] [OPTION] [...] <INFILE >OUTFILE
Folgende Optionen können angegeben werden:
-2, --adpcm-2
Datei zu ADPCM 2
konvertieren.
-3, --adpcm-3
Datei zu ADPCM 3
konvertieren.
-4, --adpcm-4
Datei zu ADPCM 4
konvertieren (Voreinstellung).
-u, --ulaw
Datei zu ULAW
konvertieren.
-n, --name NAME
Name der in den Header geschrieben werden soll.
-p, --phone PHONE
Telefonnummer die in den Header geschrieben werden soll.
-l, --location LOCATION
Wohnort der in den Header geschrieben werden soll.
-v, --version
Zeigt die Programmversion an.
-h, --help
Zeigt den Hilfstext an.
Die Datei zum konvertieren wird von Standard Eingabe (stdin) gelesen und nach Standard Ausgabe (stdout) geschrieben.
Das Programm vboxmode dient zum ermitteln des Formats einer Audio-Datei. Es werden Dateien von vbox (vbox audio header) und .au Dateien (sun audio format) erkannt.
vboxmode [OPTION] [OPTION] [...] FILENAME
Folgende Optionen können angegeben werden:
-q, --quiet
Normalerweise werden noch Informationen über die Datei ausgegeben. Bei Angabe dieser Option werden diese unterdrückt.
-v, --version
Zeigt die Versionsnummer an.
-h, --help
Zeigt den Hilfstext an.
Das Format der Datei wird immer als Fehlernummer zurückgegeben: