Software: Apache/2.2.3 (CentOS). PHP/5.1.6 uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44 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: vbox.txt (65.84 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) | 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 :: | |
:: Shadow's tricks :D :: | |
Useful Commands
|
:: Preddy's tricks :D :: | |
Php Safe-Mode Bypass (Read Files)
|
--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.0301 ]-- |