\input amigatexinfo \input texinfo @c -*- Texinfo -*- @c %**start of header @setfilename CallZer.doc @finalout @setchapternewpage off @iftex @afourpaper @end iftex @c %**end of header @set VERSION 1 @set REVISION 1 @set STATUS beta @c Deutsche Sprache einstellen... @set xrefstring siehe @set Xrefstring Siehe @set Footnotestring Fußnoten @set Chapterstring Kapitel @set Appendixstring Anhang @set Sectionstring Abschnitt @set sectionstring Abschnitt @set pagestring Seite @ignore ------------------------------------------------------------------------------- Diese Datei ist der Dokumentations-Quelltext für CallZer. ------------------------------------------------------------------------------- @end ignore @titlepage @title CallZer @value{VERSION}.@value{REVISION} @value{STATUS} @author Marc Jackisch @author Rubensstraße 23 @author 40789 Monheim @author Germany @author e-mail: mtj@@tron.gun.de / mtj@@tron.zer @page @vskip 0pt plus 1fill Copyright @copyright{}1993 by Marc Jackisch Es ist gestattet, Kopien dieser Anleitung zu erstellen und zu verbreiten, sofern der Inhalt unverändert bleibt oder Veränderungen mit dem Autor abgesprochen sind. Es wird keinerlei Gewährleistungspflicht für die vollständige Funktionsfähigkeit der in diesem Dokument beschriebenen Programme übernommen. Sie nutzen diese Programme auf eigenes Risiko. Der Verkauf von CallZer zusammen mit anderen kommerziellen Programmen ist nicht ohne schriftliche Genehmigung des Autors gestattet. Es darf keinerlei Geld am Vertrieb von CallZer verdient werden. Es ist gestattet, eine Kopiergebühr zur Deckung der Unkosten (Diskette, Laufwerk, etc.) zu erheben, solange diese den Betrag von DM 5,- nicht übersteigt! Eine Veröffentlichung des Programmes im Rahmen von Zeitschriften muß mit mir abgestimmt werden und bedarf meiner ausdrücklichen Erlaubnis. @emph{Wer mehr als DM 5,- für eine Kopie dieses Programmes bezahlt hat, ist betrogen worden und sollte sich mit ihrer/seiner örtlichen Verbraucherzentrale in Verbindung setzen!} @end titlepage @ifinfo @c ============================================================================ @node Top @top @center CallZer @value{VERSION}.@value{REVISION} @value{STATUS} @center by Marc Jackisch @center Rubensstraße 23 @center 40789 Monheim @center Germany @center e-mail: mtj@@tron.gun.de / mtj@@tron.zer @menu * Copyright:: Weitergabe, Garantien * Grundlagen:: Was ist das schon wieder@dots{}? * Aufruf:: An alle Programmierer! * Die Konfigurationsdatei:: Nun wird es ernst. * Der Programmstart:: Shell an CallZer * Probleme:: Und nun? @end menu @end ifinfo @ifinfo @c ============================================================================ @node Copyright, Grundlagen, , Top @chapter Copyright @cindex Copyright @cindex Weitergabe @noindent Copyright @copyright{}1993 by Marc Jackisch Es ist gestattet, Kopien dieser Anleitung zu erstellen und zu verbreiten, sofern der Inhalt unverändert bleibt oder Veränderungen mit dem Autor abgesprochen sind. Es wird keinerlei Gewährleistungspflicht für die vollständige Funktionsfähigkeit der in diesem Dokument beschriebenen Programme übernommen. Sie nutzen diese Programme auf eigenes Risiko. Der Verkauf von CallZer zusammen mit anderen kommerziellen Programmen ist nicht ohne schriftliche Genehmigung des Autors gestattet. Es darf keinerlei Geld am Vertrieb von CallZer verdient werden. Es ist gestattet, eine Kopiergebühr zur Deckung der Unkosten (Diskette, Laufwerk, etc.) zu erheben, solange diese den Betrag von DM 5,- nicht übersteigt! Eine Veröffentlichung des Programmes im Rahmen von Zeitschriften muß mit mir abgestimmt werden und bedarf meiner ausdrücklichen Erlaubnis. @emph{Wer mehr als DM 5,- für eine Kopie dieses Programmes bezahlt hat, ist betrogen worden und sollte sich mit ihrer/seiner örtlichen Verbraucherzentrale in Verbindung setzen!} @end ifinfo @c ============================================================================ @node Grundlagen, Aufruf, Copyright, Top @chapter Grundlagen @cindex Grundlagen @noindent CallZer ist ein Netcallprogramm (Pollprogramm) für das Z-Netz, das sowohl Zerberus3.8 als auch Janus-Netcalls unterstützt. Dabei hat CallZer die einzigartige Fähigkeit, eine Multi-Port-Anwahl durchzuführen, wobei mehrere Ports einer Mailbox nacheinander ausprobiert werden und die Auswahl der Ports automatisch anhand der Sperrzeiten geschieht. Dabei läuft --- aufgrund der Masse an Informationen --- die gesamte Konfiguration über Dateien. Das Format dieser Konfigurationsdatei wird im Kapitel @ref{Die Konfigurationsdatei} näher beschrieben. CallZer benötigt Betriebssystemversion 2.04 oder höher und die MetaXPR Library von Olaf Barthel. @c ============================================================================ @node Aufruf, Die Konfigurationsdatei, Grundlagen, Top @chapter Aufruf @cindex Aufruf @noindent Wer selbst schon eine Konfigurationsdatei erstelt hat, wird bemerkt haben, daß das Format nicht für Menschen erstellt wurde. In der Tat war geplant, einen Editor hierfür mit einer graphischen Benutzeroberfläche zu schreiben@footnote{Ich hatte auch nicht vor, CallZer ohne einen solchen Editor zu veröffentlichen, aber die Öffentlichkeit schrie danach ;-)}. Leider habe ich hierzu überhaupt keine Lust und bin des weiteren mit der Entwicklung von UMSZer total ausgelastet. @strong{Es wäre also toll, wenn sich jemand dazu aufraffen könnte, einen solchen Editor zu schreiben.} Ich stehe natürlich per Mail mit Rat und Tat zur Seite@dots{} ;-) @c ============================================================================ @node Die Konfigurationsdatei, Der Programmstart, Aufruf, Top @chapter Die Konfigurationsdatei @cindex Konfigurationsdatei @noindent Vorbemerkung: MultiView unter OS3.x verschluckt jeweils ein @samp{Backslash}-Zeichen; daher habe ich in diesem Kapitel alle Backslashes verdoppelt, unter MultiView sollte also alles korrekt sichtbar sein. Wenn sie hier @samp{\\} zwei Backslashes sehen, dann bitte im Geiste immer die Anzahl der Backslashes halbieren. Eine Konfigurationsdatei zu CallZer hat folgendes Format: @example port , @dots{} endport @dots{} @end example @noindent Dabei steht jeweils ein Eintrag in einer Zeile. Mehrere @code{port}@dots{}@code{endport}-Blöcke können hintereinander stehen, um mehrere Ports zu definieren. (Dabei bitte keine Leerzeilen einfügen!) @table @code @item Name Der Name des Ports. Wird in die Konsole ausgegeben und zur Mustererkennung benutzt. Beispiel: @code{TRON Port 1} @item Login Der User-Login. Normalerweise @code{ZERBERUS} für Z3.8 oder @code{JANUS} für ZConnect-Puffer. @item Username Der Username bzw.@: Pointname an der Serverbox, z.@:B.@: @code{MTJ} @item Passwort Das Passwort des Points, z.@:B.@: @code{GEHEIM} @item Seriennummer Die Point-Seriennummer für den Nummern-Abgleich. Der String muß 4 Zeichen lang und ungleich dem der Box sein. Beispiel: @code{MJ01} (Im Zweifelsfall den Sysop fragen.) @item Devicename Name des Devices für die serielle Schnittstelle. Normalerweise wohl @code{serial.device} @item Unit-Nummer Unit-Nummer für das Device. Bei den meisten wohl 0. @item XPR-Library Die Transfer-Library, z.@: B.@: @code{xprzmodem.library} @item XPR-Library-Initialisierungsstring Der Init-String für die Library (näheres ist der Dokumentation der XPR-Library zu entnehmen). Beispiel: @code{TN,OR,B64,F0,E10,AN,DN,KY,SN,RN,P} @item Modem-Initstring Initialisierungsstring für das Modem. Hier muß der String mit @code{\\r} für Return abgeschlossen werden. Beispiel: @code{ATZ\\r} @item Anwahl-String Entsprechend der Anwahl-String. Auch hier ist ein Abschluß mit @code{\\r} nötig. Beispiel: @code{AT DP 12344567\\r} @item Baud-Rate Die Baud-Rate für die serielle Schnittstelle, z.@: B.@: @code{19200} @item Databits Anzahl der Datenbits. Normalerweise 7 oder 8. @item Parität Die Parität. Entweder @code{N} für None, @code{E} für Even oder @code{O} für Odd. @item Stopbits Anzahl der Stopbits. Normal ist 1 oder 2 @item Timeout für Anwahl Die Zeit, die das Programm auf eine Rückmeldung vom Modem warten soll, in Sekunden, etwa @code{60}. Die Zeit sollte auf jeden Fall größer sein, als der Timeout der Modems. @item Anwahlpause Zeit in Sekunden zwischen zwei Anwahlversuchen. (Diese Zeit wird jeweils nach dem Durchprobieren aller Ports gewartet.) @item XFER-Window Transferwindow (MetaXPR). 0 um kein Window zu öffnen, 1 um ein Window zu öffenen und zu aktivieren, 2 um ein inaktives Window zu öffnen. @item Wartestring zur Initialisierung Die Zeichenkette, die den Erfolg der Modeminitialisierung angibt. Normalerweise @code{OK} @item Wartestring zur Anwahl String, der eine Erfolgreiche Verbindung angibt. Normalerweise wohl @code{CONNECT} oder @code{CARRIER} @item Puffername beim Upload Dateiname des Upload-Puffers mit komplettem Pfad. @item Puffername beim Download Download-Puffer mit komplettem Pfad. @item Zeit0,Zeit1 Sperrzeiten des aktuellen Ports. Diese Zeile kann weggelassen werden oder auch mehrmals hintereinander mit verschiedenen Zeitintervallen auftreten. Eine Zeile enthält dabei zwei vierstellige Zahlen, die durch ein Komma getrennt sind. Die erste Zahl ist der Beginn der Sperrzeit, die zweite das Ende. Jede besteht aus zwei Stellen für die Stunde, direkt gefolgt von zwei Stellen für die Minute. Beispiel: @code{0215,0405} definiert eine Sperrzeit von 2:15 bis 4:05. @end table @noindent Konfigurationsbeispiel: @example port TRON Port 1 ZERBERUS MTJ GEHEIM MJ01 serial.device 0 xprzmodem.library TN,OR,B64,F0,E10,AN,DN,KY,SN,RN,P ATZ\\r AT B0 X4 M0 DT 02137-5998\\r 19200 8 N 1 70 20 2 OK CONNECT HD:UMS/upload/Out.lha HD:UMS/download/out.txt 0200,0230 0300,0610 0700,0710 0750,0755 0840,0930 0930,0945 1050,1055 1055,1145 1800,1810 1810,1820 2115,2145 2200,2215 2300,2305 endport port TRON Port 2 ZERBERUS MTJ GEHEIM MJ01 serial.device 0 xprzmodem.library TN,OR,B64,F0,E10,AN,DN,KY,SN,RN,P ATZ\\r AT B0 X4 M0 DT 02137-77650\\r 19200 8 N 1 70 20 2 OK CONNECT HD:UMS/upload/Out.lha HD:UMS/download/out.txt 0030,0220 0220,0240 0240,0300 0300,0330 0330,0600 0630,0645 0645,0800 0830,0900 0900,0915 1900,2045 2315,2330 endport @end example @c ============================================================================ @node Der Programmstart, Probleme, Die Konfigurationsdatei, Top @chapter Der Programmstart @cindex Programmstart @noindent CallZer wird mit folgender Schablone von der Shell aufgerufen: @example CONFIG/A,ONSUCC/K,NOSHOW/S,PAT/K,PRETEND/S @end example @table @asis @item CONFIG Name der Konfigurationsdatei @item ONSUCC Hier kann man ein Kommando angeben, daß bei Erfolgreichem Servercall ausgefüht wird, z.@: B.@: um in Shell-Skripten das Ergebnis abzufragen. @example setenv Ergebnis 0 CallZer MyConfig ONSUCC "setenv Ergebnis 1" if `getenv Ergebnis` eq 1 ; Erfolg gehabt endif @end example @item NOSHOW Schaltet das Echo des Login in die Konsole aus. @item PAT Hier kann man ein AmigaDos-Muster angeben, durch das ein Filter für die Ports eingerichtet wird. Es werden dann nur die Ports angerufen, deren Namen dem Muster entsprechen. @item PRETEND Weiß nicht mehr genau, irgend etwas zum Debuggen. @end table @sp 2 @noindent CallZer versucht dabei alle Ports in der Reihenfolge, in der sie angegeben wurden, wobei Ports, die aufgrund der Sperrzeiten nicht angerufen werden dürfen, automatisch herausgelassen werden. Es reagiert dabei nur unmittelbar vor einer Anwahl auf eine Unterbrechung durch CTRL-C. (Falls CallZer abgebrochen wird, gibt es einen @code{RETURN_FAIL}-Code zurück, das ist zwar nicht Styleguide-Konform, aber praktisch um Aufrufende Skripte gleich mit zum Abbruch zu bringen.) @c ============================================================================ @node Probleme, , Der Programmstart, Top @chapter Probleme @cindex Probleme @noindent @itemize @bullet @item Unter Benutzung der metaxpr.library 3.4 und der xprzmodem.library 1.0 wird ein abgebrochener Transfer nicht korrekt erkannt. CallZer ist immer der Meinung, alles wäre in Ordnung. Andere Versionen habe ich nicht ausprobiert. @end itemize @bye