Software: Apache/2.0.54 (Fedora). PHP/5.0.4 uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /usr/share/doc/isdn4k-utils-3.2/ drwxr-xr-x | |
| Viewing file: Select action/file-type: VBOX
Michael 'Ghandi' Herold <michael@abadonna.mayn.de>
Version 2.0.0BETA5 (17-NOV-98)
Diese Dokumentation beschreibt die Konfiguration und Installation von
_v_b_o_x Version 2.0.0BETA5, einem Softwarepaket zum Betrieb eines Anruf
beantworters mit _i_s_d_n_4_l_i_n_u_x.
______________________________________________________________________
Table of Contents:
1. Copyright
2. Vorwort
3. Erste Schritte
3.1. vboxgetty
3.2. vboxd
4. Konfiguration
4.1. vboxgetty.conf
4.2. vbox.conf
4.3. vboxd.conf
4.4. ~/.vboxrc
4.5. Zeitangaben
4.6. Tagesangaben
5. Skriptsprache
6. Programme
6.1. vboxgetty
6.2. vboxd
6.3. vbox
6.4. vboxbeep
6.5. vboxtoau
6.6. autovbox
6.7. vboxmode
7. Verschiedenes
7.1. Format der vbox Dateien
7.2. Die Library libvbox.a
7.3. Neue Dokumentation erzeugen
8. Bezugsquellen
9. Danksagungen
______________________________________________________________________
11.. CCooppyyrriigghhtt
Copyright © 1996, 1997 Michael 'Ghandi' Herold
Das Paket _v_b_o_x ist freie Software und kann unter den Bedingungen der
_G_N_U _G_e_n_e_r_a_l _P_u_b_l_i_c _L_i_c_e_n_s_e veröffentlicht oder verändert werden.
Die Dokumentation sowie alle Programme von _v_b_o_x wurden mit großer
Sorgfalt erstellt. Dennoch sind Fehler nicht ganz auszuschließen. Aus
diesem Grund sind die in der vorliegenden Dokumentation enthaltenen
Angaben mit keiner Verpflichtung oder Garantie irgendeiner Art
verbunden. Sowohl Michael Herold als auch die in Kapitel
``Danksagungen'' genannten Personen übernehmen keine Verantwortung
oder sonstige Haftung für Schäden, die auf irgendeine Art aus der
Benutzung der Dokumentation oder den darin beschriebenen Programmen
entstehen oder entstanden sind.
Die Funktionen zum Konvertieren von ADPCM-2, ADPCM-3, ADPCM-4 und ULAW
stammen aus dem Paket _m_g_e_t_t_y_-_0_._9_8_._t_a_r_._g_z und sind Copyright © von
Marc Eberhard <Marc.Eberhard@Uni-Duesseldorf.DE> und Gert Doering
<gert@greenie.muc.de>.
22.. VVoorrwwoorrtt
Das Paket _v_b_o_x ist ein Ansammlung von Programmen zum Betrieb eines
Anrufbeantwortets unter _i_s_d_n_4_l_i_n_u_x.
Ab Version 2.0.0 wird die DTMF-Erkennung von _i_s_d_n_4_l_i_n_u_x und eine
Skriptsprache (_T_c_l mit erweitertem Kommandosatz) unterstützt. Zudem
läuft die komplette Kommunikation der meisten Programme über Netzwerk
ab.
Folgende Softwarepakete müssen ffuunnkkttiioonnssffäähhiigg installiert sein:
· Kernel 2.0.x mit _H_i_S_a_x 2.0 (mit den Patches 1-4) oder _H_i_S_a_x 2.1.
Der Kernel muß mit Audiosupport für ISDN übersetzt werden. Der
originale Telestreiber der im Kernel integriert ist funktioniert
nicht mehr, da _v_b_o_x einige der neuen Features von _H_i_S_a_x
unterstützt, die in diesem Treiber nicht vorhanden sind.
· _T_c_l ab der Version 7.6b1. Von den momentan existierenden Versionen
8.0a1 und 8.0a2 rate ich ab, da diese noch Alpha sind und sehr
viele Fehler enthalten.
· _n_c_u_r_s_e_s ab der Version 1.9.9g.
Die folgenden Pakete sind ooppttiioonnaall:
· Die _p_v_f_t_o_o_l_s aus dem _m_g_e_t_t_y Paket zum nachbearbeiten der mit _v_b_o_x
aufgezeichneten Nachrichten.
· Die _s_g_m_l_-_t_o_o_l_s zum Umwandeln der Dokumentation in andere Formate.
Für Anregungen, Diskussionen und Fehlermeldungen existiert eine eigene
Mailingliste. Um in diese Liste aufgenommen zu werden, muß eine Mail
an
majordomo@abadonna.mayn.de
mit der Zeile
subscribe vbox <youraddress>
im Body der Nachrichten geschrieben werden, wobei _<_y_o_u_r_a_d_d_r_e_s_s_> durch
die eigene eMail-Adresse ersetzt werden muß.
Die Mailingliste ist hauptsächlich in deutsch, anderssprachige
Anfragen werden aber nach besten Kräften beantwortet.
33.. EErrssttee SScchhrriittttee
Das Kapitel EErrssttee SScchhrriittttee beschreibt die Einbindung der einzelnen
Programme in das System. Ich möchte jeden bitten, wenigstens ddiieesseess
Kapitel aufmerksam zu lesen, um spätere Probleme zu vermeiden!
33..11.. vvbbooxxggeettttyy
Das Programm _v_b_o_x_g_e_t_t_y ist das eigentliche Herz von _v_b_o_x. Es
überwacht die Leitung, nimmt eingehende Anrufe entgegen, spielt
Ansagetexte ab und zeichnet die Nachrichten auf.
_v_b_o_x_g_e_t_t_y sollte am besten aus der '/etc/inittab' gestartet werden.
Wenn lieber ein Startskript verwenden werden soll ist darauf achten,
daß es völlig normal ist, daß _v_b_o_x_g_e_t_t_y sich während der Laufzeit von
alleine beendet; z.B. dann, wenn das Modemdevice nicht initialisiert
werden konnte.
_v_b_o_x_g_e_t_t_y mmuußß vom Benutzer _r_o_o_t gestartet werden!
BBeeiissppiieell ffüürr eeiinneenn EEiinnttrraagg iinn ''/etc/inittab':
I6:2345:respawn:/usr/sbin/vboxgetty -d /dev/ttyI6
I7:2345:respawn:/usr/sbin/vboxgetty -d /dev/ttyI7
Das Argument -d oder --device mmuußß angegeben werden (siehe Kapitel
``Programme'' unter ``vboxgetty''). Es gibt an welches Modemdevice und
welcher Teil von '/etc/isdn/vboxgetty.conf' für diesen _v_b_o_x_g_e_t_t_y
verwendet werden soll.
Für jeden Benutzer oder jede Benutzergruppe muß in '/var/spool/vbox' ein
Verzeichnis angelegt werden, in welches die Konfigurationsdatei
'vbox.conf' kopiert werden muß.
Das angelegte Verzeichnis und alle sich darin befindlichen
Unterverzeichnisse oder Dateien müssen mit den richtigen Rechten
versehen werden, sodaß der Benutzer oder die Gruppe, die in
'/etc/isdn/vboxgetty.conf' eingestellt wurden diese benutzen
dürfen!
Für die weitere Einrichtung und Konfiguration von _v_b_o_x_g_e_t_t_y kann im
Kapitel ``Konfiguration'' unter ``vboxgetty'' nachgeschlagen werden.
BBeeiissppiieell::
Dieses Beispiel zeigt die Einrichtung eines einzelnen Benutzers
Namens _m_i_c_h_a_e_l.
$ mkdir /var/spool/vbox/michael
$ mkdir /var/spool/vbox/michael/incoming
$ mkdir /var/spool/vbox/michael/messages
$ cp ./examples/vbox.conf.example /var/spool/vbox/michael/vbox.conf
$ cp ./examples/standard.tcl.example /var/spool/vbox/michael/standard.tcl
$ cp ./examples/standard.msg.example /var/spool/vbox/michael/messages/standard.msg
$ cp ./examples/beep.msg.example /var/spool/vbox/michael/messages/beep.msg
$ cp ./examples/timeout.msg.example /var/spool/vbox/michael/messages/timeout.msg
$ chown michael.users /var/spool/vbox/michael -Rv
$ chmod o-rwx,g-rwx /var/spool/vbox/michael -Rv
Die Dateien '/var/spool/vbox/michael/vbox.conf' und
'/var/spool/vbox/michael/standard.tcl' müssen jetzt nur noch auf die
eigenen Bedürfnisse angepasst werden...
33..22.. vvbbooxxdd
_v_b_o_x_d ist der zweitwichtigste Teil von _v_b_o_x. Mit diesem Daemon ist es
möglich, Nachrichten über Netzwerk zu manipulieren und zu laden. Die
Programme _v_b_o_x und _v_b_o_x_b_e_e_p benötigen _v_b_o_x_d.
Bevor der Daemon gestartet werden kann, muß in der Datei
'/etc/services' ein neuer Service eingetragen werden (nur falls dieser
noch nicht enthalten ist).
BBeeiissppiieell ffüürr ''/etc/services':
20012 vboxd/tcp
20012 vboxd/udp
Danach muß _v_b_o_x_d in der '/etc/inetd.conf' eingetragen werden, damit
dieser bei Bedarf gestartet wird. _v_b_o_x_d kann nnuurr mit _i_n_e_t_d benutzt
werden, er ist alleine nicht lauffähig!
BBeeiissppiieell ffüürr ''/etc/inetd.conf':
vboxd stream tcp nowait root /usr/sbin/tcpd /usr/sbin/vboxd
Wenn jetzt _i_n_e_t_d mit einem SIGHUP dazu veranlaßt wurde seine
Konfiguration neu einzulesen, kann mit
$ telnet localhost vboxd
getestet werden, ob _v_b_o_x_d reagiert.
Auf manchen Systemen ist es evtl. noch nötig, die Dateien
'/etc/hosts.deny' und '/etc/hosts.allow' sowie die Firewall-Rules
anzupassen :-)
_v_b_o_x_d benutzt die Konfigurationsdatei '/etc/isdn/vboxd.conf', die
noch an die lokalen Gegebenheiten angepaßt werden muß (siehe Kapitel
``Konfiguration'' unter ``vboxd'').
44.. KKoonnffiigguurraattiioonn
Dieses Kapitel beschäftigt sich mit der Konfiguration der einzelnen
Komponenten von _v_b_o_x. Es ist ratsam, dieses Kapitel aufmerksam zu
lesen, da sehr viele Änderungen seit den letzten Versionen gemacht
wurden.
44..11.. vvbbooxxggeettttyy..ccoonnff
Die Datei 'vboxgetty.conf' dient zum Einstellen von _v_b_o_x_g_e_t_t_y und
befindet sich nach der Installation im Verzeichnis '/etc/isdn'.
Alle Angaben nach einem '#' und alle leere Zeilen werden ignoriert.
Die Argumente müssen von den Parametern mit Leerzeichen oder Tabulator
voneinander getrennt werden. In den Argumenten darf kein Leerzeichen
vorkommen!
port <string>
Modemdevice für das alle Einstellungen bis zum nächsten ppoorrtt-
Kommando gelten sollen. Die Einstellungen werden nur benutzt,
wenn das Modemdevice das _v_b_o_x_g_e_t_t_y übergeben wurde mit dem des
ppoorrtt-Kommandos übereinstimmt. Alle Einstellungen vor dem ersten
ppoorrtt-Kommando sind global und werden von allen Modemdevices
benutzt.
BBeeiissppiieell::
port /dev/ttyI7
modeminit <string>
Kommando zum initialisieren des Modems. In diesem Kommando
sollte u.a. die MSN/EAZ angegeben werden, auf welcher _v_b_o_x_g_e_t_t_y
eingehende Anrufe überwachen soll. Die Voreinstellung ist ATZ.
BBeeiissppiieell::
modeminit ATZ&E7850414&B512
user <string>
Name des Benutzers unter dessen Rechten _v_b_o_x_g_e_t_t_y laufen soll.
Der Benutzer muß auf dem System existieren und in '/etc/passwd'
eingetragen sein. Dieser Parameter mmuußß angegeben werden!
BBeeiissppiieell::
user michael
group <string>
Name der Gruppe unter dessen Rechten _v_b_o_x_g_e_t_t_y laufen soll. Die
Gruppe muß auf dem System existieren und in '/etc/group'
eingetragen sein. Es ist nicht erforderlich, daß der
eingestellte Benutzer Mitglied dieser Gruppe ist. Dieser
Parameter mmuußß angegeben werden!
BBeeiissppiieell::
group users
umask <number>
Numerische umask, die von _v_b_o_x_g_e_t_t_y zum anlegen von Dateien
verwendet werden soll. Die umask muß als Oktalzahl angegeben
werden (siehe chmod(1)). Die Voreinstellung ist 077.
BBeeiissppiieell::
umask 077
dropdtrtime <number>
Anzahl der Millisekunden welche die DTR-Leitung auf LOW gesetzt
werden soll um das Modem aufzulegen. Voreinstellung ist 800.
BBeeiissppiieell::
dropdtrtime 1000
initpause <number>
Anzahl der Millisekunden die nach dem Initialisieren des Modems
gewartet werden sollen. Die Einstellung dient zum Ausgleich von
Verzögerungen bei der Meldung NO CARRIER. Voreinstellung ist
1500.
BBeeiissppiieell::
initpause 2500
badinitsexit <number>
Maximale Anzahl von Fehlschlägen bei der Modeminitialisierung.
Ist diese Anzahl erreicht, beendet _v_b_o_x_g_e_t_t_y sich selbst.
Voreinstellung ist 0.
BBeeiissppiieell::
badinitsexit 10
ringtimeout <number>
Zeit in Sekunden die maximal auf ein RING vom Modem gewartet
wird. Konnte in diesem Zeitraum kein RING empfangen werden, wird
die Entgegennahme des Anrufs abgebrochen. Voreinstellung ist 5.
BBeeiissppiieell::
ringtimeout 4
echotimeout <number>
Zeit in Sekunden die auf das Echo eines Modemkommandos gewartet
wird. Voreinstellung ist 4.
BBeeiissppiieell::
echotimeout 3
commandtimeout <number>
Zeit in Sekunden die auf eine Antwort eines Modemkommandos
gewartet wird. Voreinstellung ist 4.
BBeeiissppiieell::
commandtimeout 4
alivetimeout <number>
Anzahl Sekunden nach deren Ablauf geprüft wird ob das Modem noch
auf Kommandos antwortet. Zudem wird die Existens von einigen
Kontrolldateien überprüft. Bei Angabe von 0 wird die Überprüfung
umgangen. Voreinstellung ist 1800.
BBeeiissppiieell::
alivetimeout 300
compression <string>
Audiocompression die zum Aufzeichnen von Nachrichten benutzt
werden soll. Folgende Angaben sind möglich:
· ADPCM-2
· ADPCM-3
· ADPCM-4
· ULAW
Die Kompression ALAW wird nicht mehr unterstützt! Voreinstellung
ist ADPCM-4.
BBeeiissppiieell::
compression ulaw
spooldir <string>
Spoolverzeichnis das benutzt werden soll. Dieses Verzeichniß mmuußß
immer existieren und vor dem ersten Start von _v_b_o_x_g_e_t_t_y angelegt
werden. Dort werden u.a. die Kontrolldateien für die
verschiedenen Programme abgelegt. Voreinstellung ist
/var/spool/vbox/<user>.
BBeeiissppiieell::
spooldir /var/spool/vbox/michael
vboxconfig <string>
Vollständiger Pfad zur Konfigurationsdatei von _v_b_o_x.
Voreinstellung ist <spooldir>/vbox.conf.
BBeeiissppiieell::
/var/spool/vbox/michael/vbox.conf
freespace <number>
Anzahl der Bytes die auf der Partition mit dem Spoolverzeichnis
frei sein müssen, damit ein Anruf entgegengenommen wird. Bei
Angabe von 0 wird die Überprüfung umgangen. Voreinstellung ist
0.
BBeeiissppiieell::
freespace 2000000
debuglevel <string>
Debuglevel der benutzt werden soll. Der Level muß mit einzelen
Buchstaben angegeben werden. Voreinstellung ist FEW.
Folgende Buchstaben können angegeben werden:
· FF - Fehler die nicht behoben werden können
· EE - Fehler die evtl. behoben werden können
· WW - Warnungen
· II - Informationen
· DD - Debugging Ausgaben
· JJ - Noch mehr Debugging Ausgaben.
BBeeiissppiieell::
debuglevel FEWID
BBeeiissppiieell ddeerr DDaatteeii ''/etc/isdn/vboxgetty.conf':
# Global settings for all ports
compression adpcm-4
umask 077
badinitsexit 10
dropdtrtime 400
initpause 2500
commandtimeout 4
echotimeout 4
ringtimeout 5
alivetimeout 300
freespace 2000000
debuglevel FEWIDJ
# Settings for port ttyI6
port /dev/ttyI6
modeminit ATZ&B512&E7850055
user nicole
group users
spooldir /var/spool/vbox/nicole
# Settings for port ttyI7
port /dev/ttyI7
modeminit ATZ&B512&E7840414
user michael
group users
spooldir /var/spool/vbox/michael
44..22.. vvbbooxx..ccoonnff
In dieser Datei kann festgelegt werden, welche Anrufe wann und zu
welchen Bedingungen angenommen werden. Ebenso kann hier definiert
werden, welche CALLERID zu welcher Person gehört.
Leere Zeilen und solche die mit einem '#' beginnen werden ignoriert.
Alle Zeichen ab einem '#' werden entfernt.
Die Datei ist in mehrere Sektionen aufgeteilt. Ein Sektionsname
beginnt mit einem '[' - gefolgt vom Namen - und endet mit einem ']'.
Groß- und Kleinschreibung bei den Sektionsnamen wird nicht beachtet.
Eine Sektion endet am Dateiende oder am Beginn einer neuen Sektion.
Folgende Sektionen existieren:
[CALLERIDS]
In dieser Sektion wird definiert, welche CALLERID welcher Person
gehört und welche Einstellungen für diese verwendet werden
sollen.
Bei einem eingehenden Anruf wird die CALLERID des Anrufers
ermittelt und mit denen in der Sektion [CALLERIDS] verglichen.
Die SECTION der ersten Übereinstimmung wird dann für den
weiteren Anruf verwendet...
FFoorrmmaatt:: PATTERN SECTION REALNAME
PATTERN
_U_N_*_X_-_P_a_t_t_e_r_n einer CALLERID. Es dürfen keine Leerzeichen oder
Tabulatoren verwendet werden.
SECTION
Name einer BBeennuuttzzeerrsseekkttiioonn, die verwendet werden soll. Es
dürfen keine Leerzeichen oder Tabulatoren verwendet werden.
Bei '-' wird STANDARD, bei '*' der REALNAME als Sektionsname
benutzt.
REALNAME
Voller Name der Person, der die CALLERID zugeordnet werden
soll. Der Name darf Leerzeichen enthalten.
Am Ende der Sektion [CALLERIDS] sollte immer der Eintrag
* - *** Unknown ***
stehen, damit auch Anrufe behandelt werden, die keine oder keine
bekannte CALLERID übermitteln.
[RINGS]
In dieser Sektion wird eingestellt, wann und nach wievielen
RING's ein Anruf angenommen wird.
Diese Sektion wird bei einem eingehenden Anruf als erste
überprüft um festzustellen, ob dieser zum aktuellen Zeitpunkt
überhaupt angenommen werden soll. Die Anzahl der RING's läßt
sich in den BBeennuuttzzeerrsseekkttiioonneenn überschreiben.
FFoorrmmaatt:: TIME DAYS RINGS
TIME
Zeiten, an denen der Anruf entgehengenommen werden soll. Das
genaue Format von Zeitangaben ist im Kapitel
``Konfiguration'' unter ``Zeitangaben'' beschrieben. Die
Zeitangaben dürfen keine Leerzeichen und keine Tabulatoren
enthalten.
DAYS
Tage, an denen der Anruf entgehengenommen werden soll. Das
genaue Format von Tagesangaben ist im Kapitel
``Konfiguration'' unter ``Tagesangaben'' beschrieben. Die
Tagesangaben dürfen keine Leerzeichen und keine Tabulatoren
enthalten.
RINGS
Anzahl der RING's, nach denen der Anruf entgegengenommen
werden soll.
Ab Version 2.0 von _H_i_S_a_x ist der Intervall zwischen den
RING's länger. Er entspricht jetzt ungefähr dem eines
normalen Telefons, d.h. ein RING bei einmal Klingeln des
Telefons.
BBeennuuttzzeerrsseekkttiioonneenn
Mit Benutzersektionen können individuelle Einstellungen für eine
bestimmte Person gemacht werden. Der Sektionsname einer
Benutzersektion wird genauso angegeben wie bei den normalen
Sektionen. Die Namen CALLERIDS und RINGS sind reserviert!
FFoorrmmaatt: TIME DAYS MESSAGE RECTIME [FLAG] [...]
TIME
Zeiten, zu denen die Einstellungen benutzt werden sollen. Das
genaue Format von Zeitangaben ist im Kapitel
``Konfiguration'' unter ``Zeitangaben'' beschrieben. Die
Zeitangaben dürfen keine Leerzeichen und keine Tabulatoren
enthalten.
DAYS
Tage, an denen die Einstellungen benutzt werden sollen. Das
genaue Format von Tagesangaben ist im Kapitel
``Konfiguration'' unter ``Tagesangaben'' beschrieben. Die
Tagesangaben dürfen keine Leerzeichen und keine Tabulatoren
enthalten.
MESSAGE
Nachricht die als Ansagetext gespielt werden soll. Es muß
entweder der komplette Pfad oder der Name einer Nachricht im
Verzeichnis '/var/spool/vbox/<user>/messages' angegeben werden.
Voreinstellung ist '/var/spool/vbox/<user>/messages/standard.msg'.
Leerzeichen und Tabulatoren sind im Namen nicht erlaubt.
RECTIME
Anzahl der Sekunden die maximal Aufgezeichnet werden sollen.
Voreinstellung ist 60 Sekunden.
FLAG
Zusätzliche Flags die angegeben werden können:
NOANSWER
Anruf soll nicht beantwortet werden. In der Voreinstellung
wird der Anruf beantwortet.
NORECORD
Es soll keine Nachricht aufgezeichnet werden. In der
Voreinstellung wird eine Nachricht aufgezeichnet.
NOTIMEOUTMSG
Es soll keine Timeout-Nachricht gespielt werden. In der
Voreinstellung wird die Timeout-Nachricht gespielt.
NOBEEPMSG
Der Beep soll nicht gespielt werden. In der Voreinstellung
wird der Beep gespielt.
NOSTDMSG
Der Ansagetext soll nicht gespielt werden. In der
Voreinstellung wird der Ansagetext gespielt.
RINGS=
Gibt an nach wievielen RING's der Anruf beantwortet werden
soll. Dieses Flag überschreibt die RING's aus der Sektion
[RINGS] und das Flag TOLLRINGS.
TOLLRINGS=
Gibt an nach wievielen RING's der Anruf beantwortet werden
soll, wenn neue Nachrichten vorhanden sind. Dieses Flag
überschreibt die RING's aus der Sektion [RINGS] und das
Flag RINGS bei neuen Nachrichten.
Das Verzeichnis in dem nach neuen Nachrichten gesucht
werden soll, muß mit dem Flag TOLLCHECK angegeben werden
(oder die Voreinstellung wird benutzt).
TOLLCHECK=
Verzeichnis in dem nach neuen Nachrichten gesucht werden
soll. Die Voreinstellung ist '/var/spool/vbox/<user>/incoming'.
Leerzeichen oder Tabulatoren im Verzeichnisnamen sind
nicht erlaubt.
SCRIPT=
_T_c_l_-_S_k_r_i_p_t das nach der Entgegennahme des Anrufes
gestartet werden soll. Es muß entweder der komplette Pfad
oder der Name eines Skripts im Verzeichnis
'/var/spool/vbox/<user>' angegeben werden. Die Voreinstellung
ist '/var/spool/vbox/<user>/standard.tcl'. Leerzeichen oder
Tabulatoren im Skriptnamen sind nicht erlaubt.
BBeeiissppiieell ddeerr DDaatteeii ''vbox.conf':
# CALLERIDS
#
# Format: PATTERN SECTION REALNAME
[CALLERIDS]
931785041[3-4] HE_I_KNOW_YOU Michael Herold
9317850054 HE_I_KNOW_YOU Nicole Sauvage
* - *** Unknown ***
# RINGS
#
# Format: TIME DAYS RINGS
[RINGS]
20:15-21:14,0-8,23:15,22:30-23 MO,DI,MI,DO,FR,SA,SO 2
* * 5
# [USERSECTIONS]
#
# Format: TIME DAYS STANDARD RECTIME [FLAG] [...]
[STANDARD]
20:15-21:14 DO aktex.msg 90 SCRIPT=standard.tcl RINGS=1
* * standard.msg 90 SCRIPT=standard.tcl RINGS=6
[HE_I_KNOW_YOU]
* * standard.msg 60 SCRIPT=standard.tcl TOLLRINGS=2
44..33.. vvbbooxxdd..ccoonnff
Die Datei 'vboxd.conf' enthält Einstellungen für _v_b_o_x_d und befindet
sich nach der Installation im Verzeichnis '/etc/isdn'.
Die Konfiguration unterteilt sich in zwei Bereiche, dem Loginbereich
(Zeile beginnt mit einem 'L') und dem Zugriffsbereich (Zeile beginnt
mit einem 'A').
Leere Zeilen oder solche die mit einem '#' beginnen werden überlesen.
LLooggiinnbbeerreeiicchh
Der Loginbereich gibt an, welche Hosts sich in _v_b_o_x_d einloggen
dürfen. Bei Hosts denen der Login verweigert wurde wird die
Verbindung umgehend geschlossen.
FFoorrmmaatt:: L:HOSTPATTERN:ACCESS
HOSTPATTERN
_U_N_*_X_-_P_a_t_t_e_r_n eines Hostsnamens oder einer IP-Adresse.
ACCESS
Buchstabe 'Y' wenn ein Login erlaubt ist, oder 'N' wenn
nicht.
BBeeiissppiieell::
L:localhost:Y
L:*:N
ZZuuggrriiffffssbbeerreeiicchh
Im diesem Bereich wird definiert, welcher Benutzer welches
Passwort hat und welche Zugriffsrechte er bekommen soll. Jedem
Benutzer der sich mit dem Kommando LOGIN anmeldet, kann ein
eigener Bereich zugewiesen werden.
FFoorrmmaatt:: A:HOSTPATTERN:MODE:NAME:PASSWORD:SPOOLDIR:INCOMINGDIR
HOSTPATTERN
_U_N_*_X_-_P_a_t_t_e_r_n eines Hostsnamens oder einer IP-Adresse.
MODE
Zugriffsmodus für die Nachrichten und die Kontrolldateien. Es
können die Buchstaben 'R' für Lesezugriff und 'W' für
Schreibzugriff angegeben werden.
Lesezugriff wird benötigt um sich z.B. die Liste der
Nachrichten oder eine Nachricht selbst zu holen.
Schreibzugriff ermöglicht z.B. das Löschen von Nachrichten
oder anlegen von Kontrolldateien.
NAME
Name unter dem sich mit LOGIN angemeldet werden kann.
PASSWORD
Passwort welches zur Anmeldung benötigt wird.
SPOOLDIR
Spoolverzeichnis das für den angemeldeten Benutzer zugänglich
sein soll. Es muß der komplette Pfad angegeben werden. In
diesem Verzeichnis werden die Kontrolldateien abgelegt oder
abgefragt.
INCOMINGDIR
Verzeichnis in dem sich die Nachrichten des angemeldeten
Benutzers befinden. Es kann der komplette Pfad oder ein
Verzeichnis innerhalb von SPOOLDIR angegeben werden. Nur
dieses Verzeichnis wird nach Nachrichten durchsucht!
BBeeiissppiieell::
A:localhost:RW:michael:123:/var/spool/vbox/michael:incoming
A:localhost:RW:nicole:456:/var/spool/vbox/nicole:incoming
BBeeiissppiieell ddeerr DDaatteeii ''vboxd.conf':
# Login access list
L:abadonna.mayn.de:Y
L:localhost:Y
L:*:N
# Full access list
A:abadonna.mayn.de:RW:michael:123:/var/spool/vbox/michael:incoming
A:abadonna.mayn.de:RW:nicole:456:/var/spool/vbox/nicole:incoming
A:localhost:RW:michael:123:/var/spool/vbox/michael:incoming
A:localhost:RW:nicole:456:/var/spool/vbox/nicole:incoming
# Nothing else!
A:*:!:!:!:!:!
44..44.. ~~//..vvbbooxxrrcc
Die Datei '.vboxrc' muß sich im Homeverzeichnis des jeweiligen
Benutzers befinden und steuert das Aussehen von _v_b_o_x. Zudem können in
dieser Datei der Benutzername und das Passwort für _v_b_o_x_d gespeichert
werden.
Leere Zeilen und solche die mit einem '#' beginnen werden überlesen.
Text ab dem Zeichen '#' wird abgeschnitten. Die Argumente müssen von
den Schlüsselworten mit Leerzeichen oder Tabulatoren getrennt werden.
Folgende Schlüsselworte existieren:
USERNAME
PASSWORD
Benutzername und Passwort für die _v_b_o_x_d Logins. Diese Angaben
werden von den Programmen _v_b_o_x und _v_b_o_x_c_t_r_l ausgewertet. Fehlen
sie, muß beim Start dieser Programme der Name und das Passwort
eingegeben werden.
VOLUME
Voreingestellte Lautstärke von _v_b_o_x.
C_BACKGROUND
Farbe für den Bildschirmhintergrund.
C_STATUSBAR
Farbe für den normalen Text in der Statuszeile.
C_STATUSBAR_HL
Farbe für den vorgehobenen Text in der Statuszeile.
C_POWERLED_ON
Farbe für die Power LED an.
C_POWERLED_OFF
Farbe für die Power LED aus.
C_STATUSLED_ON
Farbe für die Status LED's an.
C_STATUSLED_OFF
Farbe für die Status LED's aus.
C_LIST
Farbe für die Nachrichtenliste.
C_LIST_SELECTED
Farbe für einen angewählten Eintrag in der Nachrichtenliste.
C_INFOTEXT
Farbe für den Informationstext über der Nachrichtenliste.
C_HELP
Farbe für das Hilfsfenster.
C_HELP_BORDER
Farbe für den Rahmen des Hilfsfensters.
C_STATUS
Farbe für das Statusfenster.
C_STATUS_BORDER
Farbe für den Rahmen des Statusfensters.
C_INFO
Farbe für das Infofenster.
C_INFO_BORDER
Farbe für den Rahmen des Infofensters.
Alle Farbangaben werden im Format TEXTFARBE:HINTERGRUNDFARBE
angegeben. Es dürfen keine Leerzeichen oder Tabulatoren vorkommen.
Folgende Textfarben sind möglich:
· BLACK
· RED
· GREEN
· BROWN
· BLUE
· MAGENTA
· CYAN
· GRAY
· DARKGRAY
· LIGHTRED
· LIGHTGREEN
· YELLOW
· LIGHTBLUE
· LIGHTMAGENTA
· LIGHTCYAN
· WHITE
Folgende Hintergrundfarben sind möglich:
· BLACK
· RED
· GREEN
· BROWN
· BLUE
· MAGENTA
· CYAN
· GRAY
BBeeiissppiieell ddeerr DDaatteeii ''~/.vboxrc':
# Username & password for vboxd login
USERNAME michael # Username to login
PASSWORD 123 # Password to login
# Default volume (vboxplay)
VOLUME 200 # Default volume (NAS)
# Color definitions for vbox
C_BACKGROUND GRAY:BLACK # Background
C_STATUSBAR GRAY:BLUE # Statusbar
C_STATUSBAR_HL YELLOW:BLUE # Statusbar (highlight)
C_POWERLED_ON GREEN:BLUE # Power led (on)
C_POWERLED_OFF RED:BLUE # Power led (off)
C_STATUSLED_ON YELLOW:BLUE # Status led (on)
C_STATUSLED_OFF BLACK:BLUE # Status led (off)
C_LIST GRAY:BLACK # Message list
C_LIST_SELECTED GRAY:RED # Message list (selected)
C_INFOTEXT GREEN:BLACK # Information
C_HELP GRAY:BLUE # Help
C_HELP_BORDER YELLOW:BLUE # Help (Border)
C_STATUS GRAY:RED # Status
C_STATUS_BORDER YELLOW:RED # Status (Border)
C_INFO GRAY:YELLOW # Info
C_INFO_BORDER YELLOW:YELLOW # Info (Border)
44..55.. ZZeeiittaannggaabbeenn
Ab v2.0.0 von _v_b_o_x können die verschiedenen Zeitzonen (z.B. bei den
Rings) auch mit einer Minutenangabe versehen werden.
Einzelne Zeitangaben werden durch Kommata getrennt, Angaben von Start-
und Endzeit durch ein Minuszeichen. Die Stundenangaben müssen im
24-Stunden-Format - also von 0 Uhr bis 23 Uhr - gemacht werden.
Die Zeitangaben werden intern immer in Start- und Endzeit umgerechnet,
auch dann, wenn nur eine Startzeit angegeben ist.
Nehmen wir zum Beispiel folgende Zeitangaben:
20:15-21:14
Diese Zeit wird intern in 20:15:00-21:14:59 umgerechnet, d.h. Start-
und Endzeit sind iinnkklluussiivvee!
Wenn bei einer Zeitangabe keine Minuten angebenen sind, wird bei der
Startzeit 0 Minuten und bei der Endzeit 59 Minuten benutzt. Intern
werden die Sekunden - die nicht einstellbar sind - nach dem gleichen
Schema behandelt.
BBeeiissppiieell::
· 20 - Umrechnung nach 20:00:00-20:59:59
· 20:15-21:14 - Umrechnung nach 20:15:00-21:14:59
· 08-11 - Umrechnung nach 08:00:00-11:59:59
· 12-15:30 - Umrechnung nach 12:00:00-15:30:59
Eine Zeitzone zählt als zutreffend (match) wenn die aktuelle Zeit
größer/gleich der Startzeit uunndd kleiner/gleich der Endzeit ist.
Ein '*' als eeiinnzziiggee Zeitangabe wird als iimmmmeerr behandelt, ein '-' oder
'!' als eeiinnzziiggee Zeitangabe als nniiee.
44..66.. TTaaggeessaannggaabbeenn
Einzelne Tagesangaben werden durch Kommanta getrennt. Eine Angabe von
Start- und Ende ist hier nicht möglich.
Folgende Tageskürzel können angegeben werden:
· MO, MON - für Montag
· DI, TUE - für Dienstag
· MI, WED - für Mittwoch
· DO, THU - für Donnerstag
· FR, FRI - für Freitag
· SA, SAT - für Samstag
· SO, SUN - für Sonntag
BBeeiissppiieell::
MO,DI,DO,FRI,SAT,SO
55.. SSkkrriippttsspprraacchhee
Ab Version 2.0.0 von _v_b_o_x wird _t_c_l als Skriptsprache benutzt, um
eingegangene Anrufe zu bearbeiten. Eine genaue Beschreibung der
allgemeinen Funktionen von _t_c_l kann der _t_c_l beiliegenden Dokumentation
entnommen werden.
Die Anrufe werden auch weiterhin von _v_b_o_x_g_e_t_t_y entgegengenommen. Die
weitere Bearbeitung nach der Entgegennahme erfolgt dann über das _t_c_l
Skript.
Zusätzlich zu den von _t_c_l bereitgestellten Variablen stehen noch
einige neue zur Verfügung, die von _v_b_o_x_g_e_t_t_y initialisiert werden (die
Angaben in Klammern entsprechen der Voreinstellung):
vbox_var_bindir
Enthält das Verzeichnis, in welches die Programme installiert
wurden, die von normalen Benutzern ausgeführt werden dürfen
('/usr/bin').
vbox_var_savename
Enthält den Dateinamen unter dem die Nachricht gespeichert
werden sollte. Der Name errechnet sich aus dem aktuellen Datum
und der Prozeß-ID. Der vorgegebene Name muß nicht benutzt
werden!
vbox_var_rectime
Enthält die Anzahl der Sekunden die maximal aufgezeichnet werden
soll. Dieser Wert entspricht der Konfiguration des aktuellen
Anrufers.
vbox_var_spooldir
Enthält den Pfad zum Spoolverzeichnis des jeweiligen Benutzers
('/var/spool/vbox/<username>').
vbox_var_checknew
Enthält den Pfad in dem nach neuen Nachrichten gesucht werden
soll ('/var/spool/vbox/<username>/incoming').
vbox_msg_standard
Enthält den Namen der Datei die als Ansage gespielt werden soll
('/var/spool/vbox/<username>/messages/standard.msg').
vbox_msg_beep
Enthält den Namen der Datei die als Beep gespielt werden soll
('/var/spool/vbox/<username>/messages/beep.msg').
vbox_msg_timeout
Enthält den Namen der Datei die bei einem Timeout gespielt
werden soll ('/var/spool/vbox/<username>/messages/timeout.msg').
vbox_caller_id
Enthält die CALLERID des aktuellen Anrufers. Ist diese nicht
bekannt, wird 0 eingetragen.
vbox_caller_phone
Enthält die vollständige Telefonnummer des aktuellen Anrufers.
Ist diese nicht bekannt, wird "*** Unknown ***" eingetragen.
vbox_caller_name
Enthält den Namen des aktuellen Anrufers. Ist dieser nicht
bekannt, wird "*** Unknown ***" eingetragen.
vbox_user_name
Enthält den Namen des Benutzers, unter dessen Rechte der
aktuelle _v_b_o_x_g_e_t_t_y läuft.
vbox_user_home
Enthält das Heimatverzeichnis des Benutzers, unter dessen Rechte
der aktuelle _v_b_o_x_g_e_t_t_y läuft.
vbox_flag_standard
Enthält TRUE wenn der Ansagetext gespielt werden soll, oder
FALSE wenn nicht. Der Wert entspricht der Konfiguration des
aktuellen Anrufers.
vbox_flag_beep
Enthält TRUE wenn der Beep gespielt werden soll, oder FALSE wenn
nicht. Der Wert entspricht der Konfiguration des aktuellen
Anrufers.
vbox_flag_timeout
Enthält TRUE wenn die Timeout-Nachricht gespielt werden soll,
oder FALSE wenn nicht. Der Wert entspricht der Konfiguration des
aktuellen Benutzers.
vbox_flag_record
Enthält TRUE wenn eine Nachricht aufgezeichnet werden soll, oder
FALSE wenn nicht. Der Wert entspricht der Konfiguration des
aktuellen Benutzers.
Zusätzlich zu den von _t_c_l bereitgestellten Funktionen stehen noch
einige neue zur Verfügung, mit denen _v_b_o_x_g_e_t_t_y gesteuert werden kann:
vbox_breaklist <add|rem> <sequence> [...]
Mit diesem Befehl kann gesteuert werden, bei welchen Touchtone-
Sequenzen _v_b_o_x_g_e_t_t_y das Abspielen, Aufzeichnen oder Warten
abbricht.
Touchtone-Sequenzen müssen immer in der Form *NUMMER# angegeben
werden, wobei NUMMER einer Folge von Zeichen der Form 0-9 und A-
D enspricht. Auch eeiinnzzeellnnee Zahlen müssen in der Form *NUMMER#
angegeben werden; _v_b_o_x_g_e_t_t_y erkennst selbst, ob die Eingabe vom
Anrufer eine einzelne Zahl oder Teil einer Sequenz ist.
add <sequence> [...]
Fügt die Touchtone-Sequenz(en) sequence zur Abbruchliste
hinzu. Es können maximal 8 Sequenzen auf einmal angegeben
werden.
rem <sequence> [...]
Entfernt die Touchtone-Sequenz(en) sequence aus der
Abbruchliste. Wenn als sequence das Schlüsselwort all
angegeben wird, wird die komplette Abbruchliste gelöscht. Es
können maximal 8 Sequenzen auf einmal angegeben werden.
BBeeiissppiieell::
vbox_breaklist rem all
vbox_breaklist add "*08154711#"
vbox_put_message <message>
Mit dieser Funktion kann eine Nachricht abgespielt werden. Die
Art des Abbruchs wird als Rückgabewert gesetzt.
message
Vollständiger Name der Datei (inkl. Verzeichnis) die gespielt
werden soll.
Folgende Rückgabewerte sind möglich:
ERROR
Das Abspielen wurde wegen eines Fehlers abgebrochen.
HANGUP
Die Verbindung wurde beendet. Das Skript sollte sich bei
dieser Rückgabe beenden.
OK Die Datei wurde vollständig gespielt und durch kein Ereignis
abgebrochen.
Enthält die Rückgabe einen anderen Wert, handelt es sich um eine
Touchtone-Sequenz, die während des Abspielens erkannt wurde.
BBeeiissppiieell::
set RC [ vbox_put_message /var/spool/vbox/michael/messages/standard.msg ]
vbox_get_message <savename> <timelimit>
Zeichnet eine Nachricht auf. Die Art des Abbruchs wird als
Rückgabewert gesetzt.
savename
Vollständiger Name der Datei (inkl. Verzeichnis) unter der
die Nachricht gespeichert werden soll.
timelimit
Maximale Anzahl Sekunden die Aufgezeichnet werden soll.
Folgende Rückgabewerte sind möglich:
ERROR
Das Aufzeichnen wurde wegen eines Fehlers abgebrochen.
TIMEOUT
Die maximale Aufzeichnungszeit wurde erreicht.
HANGUP
Die Verbindung wurde beendet. Das Skript sollte sich bei
dieser Rückgabe beenden.
OK Die Datei wurde vollständig aufgezeichnet und durch kein
Ereignis abgebrochen.
Enthält die Rückgabe einen anderen Wert, handelt es sich um eine
Touchtone-Sequenz, die während des Aufzeichnens erkannt wurde.
BBeeiissppiieell::
set RC [ vbox_get_message /var/spool/vbox/michael/incoming/00000858611291-00022795 90 ]
vbox_wait <seconds>
Wartet eine bestimmte Anzahl von Sekunden auf Eingaben vom
Anrufer. Die Art des Abbruchs wird als Rückgabewert gesetzt.
seconds
Anzahl der Sekunden die gewartet werden sollen.
Folgende Rückgabewerte sind möglich:
ERROR
Das Warten wurde wegen eines Fehlers abgebrochen.
TIMEOUT
Die angegebene Anzahl Sekunden ist abgelaufen.
HANGUP
Die Verbindung wurde beendet. Das Skript sollte sich bei
dieser Rückgabe beenden.
OK Die angegebene Anzahl Sekunden ist abgelaufen.
Enthält die Rückgabe einen anderen Wert, handelt es sich um eine
Touchtone-Sequenz, die während des Aufzeichnens erkannt wurde.
BBeeiissppiieell::
set RC [ vbox_wait 120 ]
vbox_init_touchtones
Dieses Kommando löscht die interne Touchtone-Sequenz.
Normalerweise werden alle erkannten Touchtones an die interne
Touchtone-Sequenz angehängt und auch bei einem Wechsel vom
Abspiel- in den Aufnahmemodus nicht gelöscht. Gelöscht wird
diese nur bei Eingabe von '*', da dieser Touchtone eine neue
Sequenz einleitet.
BBeeiissppiieell::
vbox_init_touchtones
vbox_pause <ms>
Wartet eine bestimmte Anzahl von Millisekunden.
ms Anzahl der Millisekunden die gewartet werden soll.
BBeeiissppiieell::
vbox_pause 1500
vbox_get_nr_new_messages <messagebox>
Ermittelt die Anzahl der neuen Nachrichten in einem Verzeichnis.
Das Ergebnis wird als Rückgabewert gesetzt.
messagebox
Verzeichnis welches untersucht werden soll.
BBeeiissppiieell::
set RC [ vbox_get_nr_new_messages /var/spool/vbox/michael/incoming ]
vbox_get_nr_all_messages <messagebox>
Ermittelt die Anzahl aller Nachrichten in einem Verzeichnis. Das
Ergebnis wird als Rückgabewert gesetzt.
messagebox
Verzeichnis welches untersucht werden soll.
BBeeiissppiieell::
set RC [ vbox_get_nr_all_messages /var/spool/vbox/michael/incoming ]
vbox_message_info <message> <fieldnr>
Gibt ein Feld aus dem Header einer Nachricht zurück. Das
Ergebnis wird als Rückgabewert gesetzt. Bei einem Fehler enthält
der Rückgabewert keine Daten.
message
Vollständiger Pfad und Name der Nachricht, deren Header
abgefragt werden soll.
fieldnr
Nummer des Header-Feldes das abgefragt werden soll. Folgende
Nummern können angegeben werden:
· 11 - Erzeugungsdatum der Nachricht in Sekunden seit dem
1.1.1970,
· 22 - Kompression der Nachricht,
· 33 - Die CALLERID des Anrufers,
· 44 - Der Name des Anrufers,
· 55 - Die vollständige Telefonnummer des Anrufers,
· 66 - Der Wohnort des Anrufers.
BBeeiissppiieell::
set RC [ vbox_messages_info /var/spool/vbox/michael/incoming/00000865241883-00005143 1 ]
66.. PPrrooggrraammmmee
66..11.. vvbbooxxggeettttyy
_v_b_o_x_g_e_t_t_y ist das eigentliche Herz von _v_b_o_x. Er ist für das Erkennen,
Entgegennehmen und Steuern von Anrufen zuständig. Die genaue
Installation von _v_b_o_x_g_e_t_t_y kann im Kapitel ``Erste Schritte'' unter
``vboxgetty'' nachgelesen werden.
BBeennuuttzzuunngg::
vboxgetty [OPTION] [OPTION] [...]
Folgende Optionen können angegeben werden:
-f, --file FILE
Konfigurationsdatei die benutzt werden soll. Voreingestellt
liest _v_b_o_x_g_e_t_t_y die Einstellungen aus der Datei
'/etc/isdn/vboxgetty.conf'.
-d, --device TTY
Modemdevice das benutzt werden soll. Diese Option mmuußß angegeben
werden!
-h, --help
Zeigt den Hilfstext an.
-v, --version
Zeigt die Versionsnummer an.
66..22.. vvbbooxxdd
_v_b_o_x_d ist ein Daemon, der über Netzwerk (TCP/IP oder Sockets)
angesprochen werden und die mit _v_b_o_x aufgezeichneten Nachrichten
abrufen oder ändern kann.
Für Programmautoren existieren in der ``libvbox.a'' bereits einige
Funktionen um mit _v_b_o_x_d zu kommunizieren. Die genaue Installation von
_v_b_o_x_d kann im Kapitel ``Erste Schritte'' unter ``vboxd'' nachgelesen
werden.
BBeennuuttzzuunngg::
vboxd [OPTION] [OPTION] [...]
Folgende Optionen können angegeben werden:
-f, --file FILE
Konfigurationsdatei die benutzt werden soll. Voreingestellt
liest _v_b_o_x_d die Einstellungen aus der Datei
'/etc/isdn/vboxd.conf'.
-t, --timeout SECS
Anzahl der Sekunden die _v_b_o_x_d 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 3300 SSeekkuunnddeenn. Dieser wird erst auf
den mit --timeout eingestellten Wert geändert, nachdem das eerrssttee
KKoommmmaannddoo 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 _v_b_o_x_d 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 "228811 .." ü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:
· 228811 - Server hat sich beendet.
· 558800 - Zugriff verweigert.
· 558833 - Falsche Argumentangabe.
· 558844 - Falsches Passwort.
· 558855 - Falsche Nachricht.
· 558866 - Falsches Kommando.
· 558899 - Temporärer Fehler.
Folgende Kommandos werden vom _v_b_o_x_d 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 228833, 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 eeiinneerr nneeuueenn 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 aalllleerr 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 "118822" gefolgt von der Anzahl
der Zeichen die zu lesen sind. Nach dieser Kennung werden die Daten
übermittelt - gefolgt von der Kennung "118822 .." 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 "118833" gefolgt von der Anzahl
der Zeichen die zu lesen sind. Nach dieser Kennung werden die Daten
übermittelt - gefolgt von der Kennung "118833 .." 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 "118811" 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 "118888" 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 "228877 ..".
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 "228844 11" wenn die Datei
existiert, oder mit "228844 00" 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 "228855 11" wenn die Datei
angelegt werden konnte, oder mit "228855 00" 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 "228866 11" wenn die Datei
entfernt werden konnte, oder mit "228866 00" wenn nicht.
66..33.. vvbbooxx
Das Programm _v_b_o_x dient als Frontend zum Nachrichten lesen, löschen
oder ändern. Zudem können die Kontrolldateien erzeugt oder gelöscht
werden. Es wird _v_b_o_x_d benötigt.
BBeennuuttzzuunngg::
vbox [OPTION] [OPTION] [...]
Folgende Optionen können angegeben werden:
-m, --hostname NAME
Gibt an auf welchem Host mit dem _v_b_o_x_d 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/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 _v_b_o_x 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.
66..44.. vvbbooxxbbeeeepp
Mit _v_b_o_x_b_e_e_p können mehrere Nachrichten-Verzeichnisse überwacht
werden. Wenn sich in einem der Verzeichnisse eine neue Nachricht
befindet, macht sich _v_b_o_x_b_e_e_p mit einem Signalton bemerkbar. _v_b_o_x_b_e_e_p
benutzt kkeeiinneenn _v_b_o_x_d, es können nur lokale Verzeichnisse überwacht
werden.
BBeennuuttzzuunngg::
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 _v_b_o_x_b_e_e_p. Die Option kann nur
vom Benutzer _r_o_o_t angegeben werden.
-v, --version
Zeigt die Programmversion an.
-h, --help
Zeigt den Hilfstext an.
Wird _v_b_o_x_b_e_e_p ohne Argumente aufgerufen, so wird versucht einem
bereits laufenden _v_b_o_x_b_e_e_p mitzuteilen, daß der Signalton beendet
werden soll.
66..55.. vvbbooxxttooaauu
Mit _v_b_o_x_t_o_a_u können _v_b_o_x Dateien (vbox audio header) in .au Dateien
(sun audio format) gewandelt werden. _v_b_o_x_t_o_a_u ist ein Link auf
_v_b_o_x_c_n_v_t.
BBeennuuttzzuunngg::
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 kkeeiinnee 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.
66..66.. aauuttoovvbbooxx
Mit _a_u_t_o_v_b_o_x können .au Dateien (sun audio format) in _v_b_o_x Dateien
(vbox audio header) gewandelt werden. _a_u_t_o_v_b_o_x ist ein Link auf
_v_b_o_x_c_n_v_t.
BBeennuuttzzuunngg::
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.
66..77.. vvbbooxxmmooddee
Das Programm _v_b_o_x_m_o_d_e dient zum ermitteln des Formats einer Audio-
Datei. Es werden Dateien von _v_b_o_x (vbox audio header) und .au Dateien
(sun audio format) erkannt.
BBeennuuttzzuunngg::
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:
· für .au Dateien ein Wert zwischen 128 und 150,
· für _v_b_o_x Dateien ein Wert zwischen 2 und 6,
· für unbekannte Formate oder bei einem Fehler der Wert 255.
77.. VVeerrsscchhiieeddeenneess
77..11.. FFoorrmmaatt ddeerr vvbbooxx DDaatteeiieenn
Ab Version 2.0.0 von _v_b_o_x enthalten die aufgezeichneten Dateien einen
neuen Header, der außer der Kompression und den Verbindungsdaten auch
noch Informationen über denjenigen enthält, der die Nachricht erzeugt
- sprich gesprochen - hat.
Zur Zeit enthält der Header folgende Informationen:
· die Aufzeichnungszeit,
· die Kompression,
· die CALLER ID,
· den Namen,
· die Telefonnummer,
· den Wohnort.
Mit diesen Angaben ist es anderen Programmen (z.B. _m_a_m) möglich, oohhnnee
zusätzlichen Aufwand (in früheren Versionen mußte die Konfiguration
von _v_b_o_x nach der passenden Telefonnummer durchsucht werden) die Daten
einer Nachricht zu ermitteln.
Das genaue Format des Headers ist in der Datei 'libvbox.h' als
Struktur vaheader_t definiert.
77..22.. DDiiee LLiibbrraarryy lliibbvvbbooxx..aa
Die Library 'libvbox.a' und die dazugehörige Include-Datei 'libvbox.h'
enthalten kleinere Funktionen, um es anderen Programmen leichter zu
machen, mit _v_b_o_x_d zu kommunizieren.
iinntt vvbbooxxdd__ccoonnnneecctt((cchhaarr **mmaacchhiinnee,, iinntt ppoorrtt))
Die Funktion stellt eine Verbindung zu mmaacchhiinnee::ppoorrtt her und
liest bei Erfolg die Startup-Message vom Server.
mmaacchhiinnee
Zeiger auf einen String der den Namen oder die IP-Adresse des
Rechners enthält, mit dem eine Verbindung aufgebaut werden
soll.
ppoorrtt
Portnummer, auf der mit der Gegenstelle kommuniziert werden
soll.
Bei Erfolg wird der Wert 0, bei einem Fehler ein Wert kleiner 0
zurückgegeben. Wenn die Verbindung aufgebaut wurde, stehen die
externen Variablen vboxd_r_fd und vboxd_w_fd zum Lesen und
Schreiben zur Verfügung.
vvooiidd vvbbooxxdd__ddiissccoonnnneecctt((vvooiidd))
Sendet dem Server die QUIT Message und schließt die Verbindung.
Die externen Variablen vboxd_r_fd und vboxd_w_fd sind dann nicht
mehr gültig!
iinntt vvbbooxxdd__llooggiinn((cchhaarr **uusseerrnnaammee,, cchhaarr **ppaasssswwoorrdd))
Die Funktion meldet sich unter uusseerrnnaammee mit ppaasssswwoorrdd auf dem
Server als Benutzer an. Erst nach einem erfolgreichen Einloggen
stehen die erweiterten Funktionen vom Server zur Verfügung.
uusseerrnnaammee
Benutzername der Benutzt werden soll.
ppaasssswwoorrdd
Passwort das benutzt werden soll.
Bei Erfolg wird der Wert 0, bei einem Fehler ein Wert kleiner 0
zurückgegeben.
vvooiidd vvbbooxxdd__ppuutt__mmeessssaaggee((cchhaarr **ffmmtt,, ......))
Sendet eine Nachricht an den Server. Der Zeilenabschluß 'CR' und
'NL' wird von der Funktion gesendet und braucht nicht angegeben
zu werden. Der Aufruf von _v_b_o_x_d___p_u_t___m_e_s_s_a_g_e_(_) entspricht der
Funktion _p_r_i_n_t_f_(_).
cchhaarr **vvbbooxxdd__ggeett__mmeessssaaggee((vvooiidd))
Versucht eine Antwort vom Server einzulesen. Die Funktion
benutzt einen Timeout, der in 'libvbox.h' mit
VBOXD_GET_MSG_TIMEOUT definiert ist.
Bei Erfolg wird ein Zeiger auf den erhaltenen Text
zurückgegeben, bei einem Fehler NULL. Die Antwort wird in einen
internen Buffer gelesen und bei einem erneuten Aufruf der
Funktion überschrieben!
iinntt vvbbooxxdd__tteesstt__rreessppoonnssee((cchhaarr **rreessppoonnssee))
Vergleicht die Kennung rreessppoonnssee mit der zuletzt von
_v_b_o_x_d___g_e_t___m_e_s_s_a_g_e_(_) eingelesenen Antwort.
rreessppoonnssee
String mit der Kennung die verglichen werden soll. Die
existierenden Kennungen sind in 'libvbox.h' definiert.
Die Funktion liefert TRUE (1) wenn die Kennungen gleich waren,
oder FALSE (0) falls nicht.
77..33.. NNeeuuee DDookkuummeennttaattiioonn eerrzzeeuuggeenn
Wer auf seinem Rechner selbst die _s_g_m_l_-_t_o_o_l_s installiert hat und die
Dokumentation in andere Formate wandeln möchte, kann das z.B. wie
folgt tun:
$ cd doc/de
$ sgml2html -l vbox.sgml
88.. BBeezzuuggssqquueelllleenn
Bezugsquellen von Programmen die in dieser Dokumentation erwähnt
wurden oder die zum Betrieb von _v_b_o_x nötig sind:
mmggeettttyy
<<ftp://sunsite.unc.edu/pub/Linux/system/serial/mgetty+sendfax-0.98.tar.gz>
Das Archiv enthält u.a. die _p_f_v_t_o_o_l_s, mit denen die Nachrichten
von _v_b_o_x konvertiert und verändert werden können.
ssggmmll <<ftp://sunsite.unc.edu/pub/Linux/utils/text/sgml-
tools-0.99.0.tar.gz>
Die Anleitung zu _v_b_o_x wurde in _s_g_m_l geschrieben, einer Sprache
die es erlaubt Dokumente in verschiedene Formate zu
konvertieren.
ttccll <<http://www.sunlabs.com/research/tcl/>
Auf diesem Server befinden sich u.a. die neusten Versionen vom
_t_c_l.
iissddnn44lliinnuuxx <<ftp://ftp.franken.de/pub/isdn4linux/>
Auf diesem Server finden sich die neusten Versionen von
_i_s_d_n_4_l_i_n_u_x, _H_i_S_a_x und einigen anderen sehr nützlichen
Programmen.
99.. DDaannkkssaagguunnggeenn
Ein Dankeschön geht an...
· _F_r_i_t_z _E_l_f_e_r_t <fritz@isdn4linux.de>,
· _C_a_r_s_t_e_n _K_e_i_l <keil@temic-ech.spacenet.de>,
· _A_n_d_r_e_a_s _K_o_o_l <akool@Kool.f.EUnet.de>,
· _S_t_e_f_a_n _L_ü_t_h_j_e <luethje@sl-gw.lake.de>,
· _M_a_r_c _E_b_e_r_h_a_r_d <Marc.Eberhard@Uni-Duesseldorf.DE>,
· _G_e_r_t _D_o_e_r_i_n_g <gert@greenie.muc.de>,
und an alle anderen die mich bei der Programmierung von _v_b_o_x
unterstützt habe!
|
:: Command execute :: | |
--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0037 ]-- |