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 FILEKonfigurationsdatei die benutzt werden soll. Voreingestellt liest
vboxgetty die Einstellungen aus der
Datei '@SYSCONFDIR@/vboxgetty.conf'.
-d, --device TTYModemdevice das benutzt werden soll. Diese Option muß angegeben werden!
-h, --helpZeigt den Hilfstext an.
-v, --versionZeigt 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 FILEKonfigurationsdatei die benutzt werden soll. Voreingestellt liest vboxd die Einstellungen aus der Datei '@SYSCONFDIR@/vboxd.conf'.
-t, --timeout SECSAnzahl 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, --versionZeigt die Versionsnummer an.
-h, --helpZeigt 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.
USERNAMEName des Benutzers der angemeldet werden soll.
PASSWORDPasswort des Benutzers.
Bei erfolgreicher Anmeldung enthält die Anwort des Daemons den Rückgabewert
283, gefolgt von einem kurzen Willkommenstext.
LISTZeigt 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 Fgefolgt vom Namen der Datei innerhalb des Incoming-Verzeichnisses.
184 Tgefolgt vom Erzeugungsdatum der Datei. Das Datum wird als Anzahl der Sekunden seit dem 1.1.1970 angegeben.
184 Mgefolgt 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 Cgefolgt von der Kompression. Die Kompression wird als Wert zwischen 2 und 6 angegeben.
184 Sgefolgt von der größe der Datei in Bytes.
184 Ngefolgt vom Namen der Person, welche die Nachricht aufgesprochen
hat. Konnte diese nicht ermittelt werden, wird "*** Unknown ***"
angegeben.
184 Igefolgt von der CALLERID der Person, welche die Nachricht
aufgesprochen hat. Konnte diese nicht ermittelt werden, wird 0
angegeben.
184 Pgefolgt von der Telefonnummer der Person, welche die Nachricht
aufgesprochen hat. Konnte diese nicht ermittelt werden, wird "*** Unknown
***" angegeben.
184 Fgefolgt 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.
MESSAGENAMEName 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.
MESSAGENAMEName 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.
COUNTDieses 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.
MESSAGENAMEName 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.
MESSAGENAMEName 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.
CONTROLNAMEName 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.
CONTROLNAMEName 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.
CONTROLNAMEName 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 NAMEGibt an auf welchem Host mit dem vboxd verbunden werden soll.
Voreinstellung ist localhost.
-p, --port PORTGibt an welcher Port benutzt werden soll. Voreinstellung ist der Eintrag
vboxd/tcp aus '/etc/services'.
-c, --playcmd PROGLegt fest mit welchem Programm die Nachrichten gespielt werden sollen.
Voreinstellung ist '/usr/local/vbox/bin/vboxplay'.
-r, --reload SECSGibt an nach wievielen Sekunden die Nachrichtenliste neu eingelesen werden
soll (neue Darstellung erfolgt nur bei neuen Nachrichten). Die Voreinstellung
ist 60 Sekunden.
-o, --monoErzwingt Schwarz/Weiß Anzeige.
-f, --forceWenn diese Option angegeben ist, wird immer der Loginprompt angezeigt, auch
dann wenn das Passwort und der Benutzername in '~/.vboxrc'
enthalten ist.
-s, --noledstatusNormalerweise 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, --versionZeigt die Programmversion an.
-h, --helpZeigt 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 HOURSStunden 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 DIRVerzeichnis mit Nachrichten das überwacht werden soll. Diese Option kann mehrmals angegeben werden, sodaß mehrere Verzeichnisse überwacht werden können.
-p, --pause SECSPause in Sekunden die zwischen den einzelnen Überprüfungen gemacht werden
soll. Voreinstellung ist 5 Sekunden.
-k, --killBeendet einen bereits laufenden vboxbeep. Die Option kann nur vom Benutzer root angegeben werden.
-v, --versionZeigt die Programmversion an.
-h, --helpZeigt 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 RATESamplerate die in den Header der Datei geschrieben werden soll. Es wird
keine Konvertierung vorgenommen! Voreinstellung ist 8000.
-u, --ulawDatei zu 8-bit ulaw konvertieren.
-1, --linear8Datei zu 8-bit linear konvertieren.
-2, --linear16Datei zu 16-bit linear konvertieren (Voreinstellung).
-v, --versionZeigt die Programmversion an.
-h, --helpZeigt 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-2Datei zu ADPCM 2 konvertieren.
-3, --adpcm-3Datei zu ADPCM 3 konvertieren.
-4, --adpcm-4Datei zu ADPCM 4 konvertieren (Voreinstellung).
-u, --ulawDatei zu ULAW konvertieren.
-n, --name NAMEName der in den Header geschrieben werden soll.
-p, --phone PHONETelefonnummer die in den Header geschrieben werden soll.
-l, --location LOCATIONWohnort der in den Header geschrieben werden soll.
-v, --versionZeigt die Programmversion an.
-h, --helpZeigt 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, --quietNormalerweise werden noch Informationen über die Datei ausgegeben. Bei Angabe dieser Option werden diese unterdrückt.
-v, --versionZeigt die Versionsnummer an.
-h, --helpZeigt den Hilfstext an.
Das Format der Datei wird immer als Fehlernummer zurückgegeben: