12. Die Konfigurationsdatei

Contents of this section

Die Datei besteht aus verschiedenen Zeilentypen, die frei gemischt werden können. Der erste auf ein Problem passende Eintrag wird verwendet; auf eine passende Zeile folgende solche werden bei manchen Zeilentypen ebenfalls ausgewertet.

12.1 Vorgehensweise des Masterprogramms beim Aufbau einer Verbindung

Nummern und ISDN-Karten werden im Rotationsverfahren durchprobiert; dadurch werden mehrere lokale und entfernte Nummern gleichberechtigt verwendet. Alle anderen Zeilen werden von oben nach unten durchsucht; die erste passende Zeile wird verwendet. (Beim Scannen der P-Zeilen werden Daten aus passenden Folgezeilen ebenfalls berücksichtigt -- siehe unten.)

Bei Problemen (Gegenstelle besetzt...) wird bei permanenten Verbindungen ein paarmal probiert, dann werden anstehende Daten weggeworfen und die Verbindung eine bestimmte (exponentiell wachsende (ja, das muß sein) Zeit auf Eis gelegt. Ein ankommender Anruf weckt diese Verbindung selbstverständlich wieder auf.

12.2 Die Zeilentypen

Zueinander passende Zeilen haben jeweils gleiche oder via Shell-Pattern- matching zusammenpassende <Art>-, <Partner>- und <Karte- Felder>, in mindestens einem Zeichen übereinstimmende <Key>-Felder, und zur aufzubauenden Verbindung passende Zeichen im <Mod>-Feld etc.; siehe die unten folgenden Detailbeschreibungen.

Strings in spitzen Klammern sind Platzhalter. Ein Doppelpunkt mit zwei folgenden Buchstaben ist ein Parameter, dem eine vom Parameter abhängige Anzahl Werte folgen kann.

Zeilenparameter

Anmerkung: Zeilen ohne Parameter sind nicht besonders sinnvoll.

Zeilenübersicht

P-Zeile - Protokoll

ML-Zeile - Modulliste

Hiermit wird angegeben, wie die Karte eingestellt und welche Streams-Module für einen B-Kanal verwendet werden müssen, um zwischen diesem und einer Anwendung zu vermitteln. Die Beschreibung der verfügbaren Module folgt weiter unten; als erstes "Modul" wird der Modus angegeben, in den der B-Kanal beim Verbindungsaufbau geschaltet werden soll. Konzeptuell sind diese Module gestapelt; "unten" ist die Karte, "oben" das Anwendungsprogramm. Zwischen diesem und dem letzten Modul in der obigen Liste wird stets ein Spezialmodul namens " proto " eingeschoben, das die Meldungen zum Verbindungsaufbau etc. so verarbeitet, daß die Anwendung davon nichts mitbekommt. " proto " darf nie in einer ML-Zeile erscheinen.

MP-Zeile - Modulparameter

Mit dieser Zeile können Module parametrisiert werden, um ihre interne Arbeitsweise so einzustellen, daß sie korrekt mit der Gegenseite zusammen- arbeiten. Die möglichen Parameter sind unter den einzelnen Modulen, unten, beschrieben.

D-Zeile - Dial

Angabe der Telefonnummer, unter der eine Gegenstelle erreichbar ist bzw. mit der sie sich bei ankommenden Rufen meldet. Festverbindungen haben natürlich keine Nummer.

TM-Zeile - Time

Schlüssel für Zeiten. Zu der angegebenen Zeit werden nur Verbindungen zugelassen, deren <Key>-Parameter mit dem angegebenen Key kompatibel ist.

Achtung: es wird immer der erste gefundene TM-Eintrag verwendet!

DL-Zeile - Dial Local

Eigene Telefonnummer.

Diese Zeile wird verwendet, um die kürzestmögliche Rufnummer für abgehende Verbindungen zu finden und um die verwendeten Protokolle zu spezifizieren.

DP-Zeile - Dial Prefix

Definition von Nummernpräfixen, um Vermittlungsbereiche erreichen zu können.

R-Zeile - Run

Hiermit wird ein Programm (plus Parameter) angegeben, das bei ankommenden oder abgehenden Gesprächen aufgerufen wird.

CL-Zeile - Connection Limit

Begrenzt die Zahl der für einen gegebenen Verbindungstyp verwendbaren B-Kanäle. Ueber das Limit hinausgehende Anrufe werden mit BUSY abgelehnt, es sei denn in der entsprechenden P-Zeile steht der entsprechende Parameter.

LF-Zeile - Load File

Lädt die Datei auf die (aktive) Karte. Mehrere LF-Zeilen können angegeben werden (in der richtigen Reihenfolge! Doku beachten!). Die maximal mögliche Segmentgröße ist 4096. Der Delay gibt an, wie lange das Programm nach dem Laden dieser Datei mit dem nächsten Schritt warten soll (Karte macht Speichertest über 8 MB, und ähnliche Feinheiten).

RP-Zeile - Run Program

Hiermit wird ein Programm (plus Parameter) angegeben, das bei Eintreten eines bestimmten Zustands einer Verbindung gestartet wird.

12.3 Module

Für alle Module gilt:

:XX <Wertbereich> <Default> Funktion eines Parameters mit Wertangabe
:YY                         Dito, ohne Wertangabe

Modulübersicht

alaw - A-Law-Coder

Wandelt einen A-Law-Datenstrom in einen 8-Bit-Datenstrom. Dabei werden nur die Bytes umkodiert, die Daten aber nicht auf 12 Bit aufgeblasen. Gibt nach oben Bytes _mit_ Vorzeichen weiter. Zusätzlich können für beide Richtungen Schwellwerte definiert werden, unterhalb derer keine Uebertragung zugelassen wird, um Gesprächspausen herauszufiltern.

Hierzu muß man wissen, daß dieses Modul nicht "alaw" (vom ISDN) in linear codiertes PCM um, wie man vielleicht annehmen möchte. Es erzeugt signed 8-bit, logarithmisch codierte Werte. Zur Wandlung von/zu normalem, linearem PCM sind in jedem Fall tosnd und toalaw zu verwenden.

proto - Befehlsinterpreter

Sitzt immer automatisch zuoberst auf dem durch den ISDN-Treiber definierten Stream. Interpretiert im Befehlsmodus die eingetippten Zeichen und schickt sie zeilenweise an das Managementprogramm.

str_if - Streams->IP-Wandler

Implementiert ein TCP/IP-Modul. Daten werden nicht in Richtung Anwenderprogramm, sondern in das TCP/IP-Networking des Kernels umgeleitet.

fakeh - Cisco-HDLC-Modul

Verwendet das Cisco-eigene "HDLC"-Protokoll. Auf der Gegenseite muß (noch... hat jemand Doku zu den Tieren?) "no keepalives" konfiguriert werden. Die Option für das Paketformat muß genauso wie bei str_if eingestellt sein!

ipmon - IP-Monitor

Loggt IP-Pakete mit. Das Programm "monitor" liest dieses Protokoll aus dem Kernel. Die Option für das Paketformat muß genauso wie bei str_if eingestellt sein!

reconn - Verbindungshalter

Verhindert (in Zusammenarbeit mit korrekten P - und R -Zeilen, siehe oben), daß eine Verbindungstrennung sich auf eine Anwendung auswirkt; die Verbindung wird automatisch neu aufgebaut, sobald wieder Daten anstehen.

timer - Zeitbegrenzer

Bricht die Verbindung ab, wenn eine bestimmte Zeit lang keine Daten übertragen wurden.

t70 - T.70

Implementiert das T-70-Minimalprotokoll -- spaltet abgehende Dateneinheiten auf, wenn sie zu groß sind, und faßt ankommende zusammen, wenn das entsprechende Bit im T70-Header gesetzt ist.

fakecept - CEPT

Erzeugt das von T-Online erwartete, vom T70-Standard abweichende Protokoll. Abgehende Dateneinheiten werden wie bei T.70 aufgespalten, bei ankommenden Dateneinheiten wird nur der Protokollheader entfernt.

v110 - V.110

Implementiert V.110 im 38400-Baud-Modus. Mehr oder weniger ungetestete Experimentierversion. Warnung: Exzessive Kernelbelastung durch Bitschieberei etc. Für ernsthafte Anwendungen braucht es einen entsprechenden Wandler in Firmware / Hardware auf der Karte.

buffer - Datenpuffer

Die meisten Module haben einen ziemlich kleinen Datenpuffer (ca. 200 Bytes). Wenn das zuwenig ist, zB beim Empfangen von Audiodaten oder beim Weiterleiten von IP-Paketen, kann ein Puffer zwischengeschaltet werden.

rate - Datenrate

Begrenzt die mögliche Übertragungsrate.

vanj - Van-Jacobsen-Kompression

Komprimiert TCP-IP-Header. Option für das Paketformat muß genauso wie bei str_if eingestellt sein!

x75 - X.75

Implementiert Ebene 2 des X75-Protokolls. Das Framing (Prüfsumme, 1-Stopfen, Interframezeichen etc.) wird von der Hardware auf der Karte erledigt.

pr_on

Spezialmodul, um die "Verbindung hergestellt"-Kennung auf einem Stream abzusenden, der nicht über ISDN arbeitet. Wird zB vom slipto -Programm verwendet.

12.4 Beispielkonfigurationen

Diese Beispielkonfigurationen dienen in erster Linie dem Verständniss von einzelnen speziellen Konfigurationsfällen.

In den Konfigurationen sind lediglich die für diesen speziellen Fall notwendigen Zeilen vorhanden.

Standardkonfiguration

Die Standardkonfiguration ist bei den Sourcen dabei und befindet sich in dem Verzeichnis "tools" als Datei "isdn.conf".

X.75

Die Nutzung der folgenden Konfiguration ist in Terminal beschrieben.

#Beispielkonfiguration fuer einen X.75-Eintrag in der Konfigurationsdatei
#Protokoll: DSS1/Euro-ISDN
#erstellt von: Kai Dupke, dupke@koma.han.de
#am Tue Jan 30 19:24:58 MET 1996
#
#R  <Art> <Partner> <Key>  <Karte> <Benutzer> <Mod> <Programm> <Argumentliste...>
R   login  *         *     *       root      TSUDi /bin/login

#P  <Art> <Partner>  <Key> <Karte> <Mod>  <Programm>
P   login  *         *     *       RXio   :vB 8890

#ML <Art> <Partner>  <Key> <Karte> <Mod>  <Module...>
ML  login  *         *     *       -,3    frame buffer x75

#MP <Art> <Partner>  <Key> <Karte> <Mod>  <Modul> <Parameter...>
MP  login  *         *     *       -      x75      :nk 6 
MP  login  *         *     *       -      proto    :sg 0 :ca 2 :bk 1

# Remote phone numbers.
# The "unknown" entry is used when no number is transmitted.
#D  <Art> <Partner>  <Key> <Karte> <Mod>  <Nr>
D   login  hbb       *     *       -      +49=511-9630173
D   login  unknown   *     *       -      +*

# Local numbers.
#DL <Key> <Karte> <Nummer>       <Protokolle>
DL  *     Tel0    +49=511-499770 :pr 0 :sp 8 :pr 63

BTX/XCept

Die Nutzung der folgenden Konfiguration ist in BTX/XCept beschrieben.

Beispiel

#Beispielkonfiguration fuer einen BTX/XCept
#Protokoll: DSS1/Euro-ISDN
#erstellt von: Edmund Mergl, mergl@sls.s.bawue.de
#


#P  <Art> <Partner>  <Key> <Karte> <Mod>  <Programm>
P   cept  cept       *     Tel0    RFX    :vB 8890 :vL 8090A9D1E7 :vH 91D2

#ML <Art> <Partner>  <Key> <Karte> <Mod>  <Module...>
ML  cept  *          *     Tel0    -,0    frame x75 fakecept

#MP <Art> <Partner>  <Key> <Karte> <Mod>  <Modul> <Parameter...>
MP  cept   *         *     Tel0    -      x75     :nk 1

#D  <Art> <Partner>  <Key> <Karte> <Mod>  <Nr>
D   cept  cept       *     *       o      -01910

# Local numbers.
#DL <Key> <Karte> <Nummer>       <Protokolle>
DL  *     Tel0    +49=511-499770 :pr 0 :sp 8 :pr 63

Niederlande

In den Niederlanden wird ein spezieller Eintrag in der Konfigurationdatei gebraucht, da die 'Dutch telecom compagny KPN/PTT-Telecom' die Gebühreninformation in einer speziellen Form überträgt.

Hierbei ist in der DL-Zeile der Parameter :b2 einzutragen.

Beispiel

# Local numbers and dialout prefixes.
#
# Use :de for debugging and :b2 for PTT-NL "features"
#
#DL <Key> <Karte> <Nummer>       <Protokolle>
DL  *     Tel0    +31=53-43415   :pr 0 :sp 8 :b2 :pr 63 :de

Anmerkung des Setzers: Vielen Dank an Renee Teunissen für diesen Abschnitt.

Semipermanente Verbindung - SPV

siehe auch SPV-Anwendung .

Die Konfigurationen sind jeweils als Ergänzung der normalen TCP-Konfiguration gedacht, wie sie in der Standard-Konfiguration enthalten ist.

Anmerkung:Wenn hier noch ein timer -Modul eingesetzt wird, kann der 2. Kanal des 1TR6 auch genutzt werden. Vorsich: In diesem Fall kann es sein, daß die SPV nicht aufgebaut werden kann, weil gerade beide Kanäle belegt sind.

Konfiguration für rausgehend

# Konfiguration von U-ISDN zum betreiben einer 
# rausrufenden Semi Permanenten Verbindung (SPV) zum Provider
# Dirk Sommerfeld Prima e.V.
# E-Mail dirk@prima.ruhr.de oder dirk@nwu.de

#R  <Art> <Partner>  <Key> <Karte> <Benutzer> <Mod> <Programm> <Argumentliste...>
R   tcp   ins        *     Tel0    root       RUB   slipto -d 194.XXX.XXX.2 192.XXX.X

#P  <Art> <Partner>  <Key> <Karte> <Mod>  <Programm>
P   tcp   ins        *     Tel0    RFX    :sv 0700 :pv 

Konfiguration für reinkommend

# Konfiguration fuer eine Rufreinkommende Semi Permanente Verbindung (SPV) zum 
# Provider mit U-ISDN und Teles 16Bit Karte (Creatix) ISDN Anschluss 1TR6
# Dirk Sommerfeld  Prima e.V.
# E-Mail dirk@prima.ruhr.de oder dirk@nwu.de

#R  <Art> <Partner>  <Key> <Karte> <Benutzer> <Mod> <Programm> <Argumentliste...>
R   tcp   ins        *     Tel0    root       RUp   slipto -d 193.141.111.1 192.129.5


Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter