2022-02-17 07:12:51 +00:00
|
|
|
|
DOKU zum ISDN-Paket. R 7. // TEXT ohne Tabs //
|
1995-09-18 18:26:39 +00:00
|
|
|
|
Basiert auf Linuxkernel 1.2.13, 1.3.26.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Dies ist eine Betaversion.
|
|
|
|
|
|
|
|
|
|
Dieses Programmpaket ist (c) 1994,1995 Matthias Urlichs <urlichs@noris.de>.
|
|
|
|
|
Es darf ohne meine Zustimmung _nicht_ weitergegeben werden. Kommerzielle
|
|
|
|
|
Verwertung jedweder Art bedarf meiner Zustimmung. Das Anbieten auf
|
|
|
|
|
FTP-Servern, in Mailboxen, etc.pp. ist ohne meine Zustimmung nicht
|
|
|
|
|
gestattet.
|
|
|
|
|
|
|
|
|
|
Obige Parameter gelten f<>r diese Betaversion. Die Vollversion wird
|
|
|
|
|
unter der GPL bzw. ihrem deutschen <20>quivalent verf<72>gbar sein.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Achtung:
|
|
|
|
|
=======
|
1995-09-12 03:07:18 +00:00
|
|
|
|
|
1995-10-22 10:59:20 +00:00
|
|
|
|
Version 14: Die CL- und DL-Zeilen haben sich ge<67>ndert (erweitert um
|
|
|
|
|
<Key>-Parameter). Intelligente Karten funktionieren NOCH NICHT.
|
|
|
|
|
|
1995-09-18 18:26:39 +00:00
|
|
|
|
In der Version 11 lagen noch ein paar .depend-Dateien und anderer Kram rum,
|
|
|
|
|
die den Buildproze<7A> gest<73>rt haben. Abhilfe: "make clean".
|
|
|
|
|
|
|
|
|
|
|
1995-09-12 03:07:18 +00:00
|
|
|
|
Mit der Version 11 ist das OK am Ende des statischen Teils der AT/L-Ausgabe
|
1995-09-18 18:26:39 +00:00
|
|
|
|
weggefallen, weil das zu viele Leute irritiert hat. (Schlie<69>lich folgt noch
|
|
|
|
|
was nach.)
|
1995-09-12 03:07:18 +00:00
|
|
|
|
|
|
|
|
|
Mit der Version 11 hat sich die Installationsprozedur fuer ISDN-Karten
|
|
|
|
|
geaendert. Vorher: Config.c editieren, Modul bauen. Jetzt: d_teles.o
|
|
|
|
|
laden, dann fuer jede Karte "insmod -o Tel0 teles.o name=$(cardname Tel0)
|
|
|
|
|
mem=0xD6000 irq=5" ausfuehren. Daten anpassen! Unterschiedliche Namen
|
|
|
|
|
verwenden! Das rc-Skript in tools/ wurde entsprechend angepasst.
|
|
|
|
|
16-Bit-Karten: Zusaetzlich "ipl=X" (X=1..3) fuer die erste bis dritte Karte.
|
|
|
|
|
Damit sollte es problemlos sein, zwischen verschiedenen Systemen (mit
|
|
|
|
|
einigerma<EFBFBD>en identisch konfigurierten Kernels) die Treiber auszutauschen.
|
|
|
|
|
|
|
|
|
|
Mit der Version f<>r 1.2.0 hat sich die Syntax der cf-Datei leicht ge<67>ndert:
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Der :ea-Parameter in der P-Zeile wurde durch den :lr-Parameter ersetzt:
|
1995-09-12 03:07:18 +00:00
|
|
|
|
- verwende ":lr /X" statt ":ea X".
|
|
|
|
|
- h<>nge an die DL-Zeile an die Nummer einen / an und danach ":pr 0 :sp 65
|
|
|
|
|
:pr 63" f<>r 1TR6 oder :sp 8 f<>r Euro-ISDN.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
Generell steht nun "/" f<>r EAZs und so; "." steht f<>r Nebenstellennummern.
|
|
|
|
|
Bei externen Nummern verwende ich generell ".", aber das ist
|
|
|
|
|
Geschmackssache.
|
|
|
|
|
|
|
|
|
|
Einige Konfigzeilen haben als zus<75>tzlichen Parameter das ISDN-Interface
|
|
|
|
|
verpa<EFBFBD>t bekommen.
|
|
|
|
|
|
|
|
|
|
Die Parameter :pr und :sp stehen nun in der DL-Zeile und nicht mehr in
|
1995-09-12 03:07:18 +00:00
|
|
|
|
der P-Zeile.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Die I- und O-Flags werden nun klein geschrieben.
|
|
|
|
|
|
|
|
|
|
Die Verz<72>gerung beim Auflegen (ML-Zeile) wird nun mit einem Komma an die
|
|
|
|
|
Flags angeh<65>ngt anstatt als Extraparameter.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Einen leicht genervten Dank an den einen von ca. 30 Leuten, die den Fehler
|
|
|
|
|
in der letzten DOKU-Ausgabe nicht nur bemerkt haben, sondern der sogar auf
|
|
|
|
|
die unheimlich neuartige Idee gekommen ist, mir eine entsprechende Mail zu
|
|
|
|
|
schreiben. (You know who you are.) Und zwar nicht eine Mail "Du da pa<70>t
|
|
|
|
|
was nicht zusammen, ey boah ey", sondern sogar mit der anscheinend (wenn
|
|
|
|
|
ich mir die anderen Mails so ansehe) absolut unn<6E>tigen Info, _was_ nicht
|
|
|
|
|
stimmt. Echt goil ey.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Geldmangel
|
|
|
|
|
==========
|
|
|
|
|
|
|
|
|
|
Die Entwicklung so eines Treibers kostet Zeit. Zeit ist Geld. :-(
|
|
|
|
|
|
|
|
|
|
Wer sich an den Entwicklungskosten des Treibers beteiligen will:
|
|
|
|
|
Konto 2040206135, Hypo-Bank N<>rnberg (BLZ 760 202 14). F<>r den <20>berwiesenen
|
|
|
|
|
Betrag kann ich eine Rechnung schreiben, wenn n<>tig inkl. M<>rchen...<2E>h,
|
|
|
|
|
Mehrwertsteuer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Bekannte Fehler
|
|
|
|
|
===============
|
|
|
|
|
|
|
|
|
|
Die Konfigurationsdatei ist manchmal etwas undurchsichtig.
|
|
|
|
|
_Ich_ werde das nicht <20>ndern, keine Zeit; wenn jemand ein Frontend
|
|
|
|
|
schreiben will -- nur zu!
|
|
|
|
|
|
|
|
|
|
Login <20>ber ISDN macht noch leichte Probleme.
|
|
|
|
|
|
|
|
|
|
Die Doku liegt nur auf deutsch vor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Fragen? Probleme? (Gleich am Anfang, damit es keiner <20>bersieht...)
|
|
|
|
|
=================
|
|
|
|
|
|
|
|
|
|
Bitte per Mail, und zwar an isdn-problem@smurf.noris.de.
|
|
|
|
|
Wenn ohne Internetanschlu<6C>: Bitte per Fax, an 0911/5980150.
|
|
|
|
|
Telefonanrufe von Nichtkunden sehe ich ziemlich ungern, weil sehr
|
|
|
|
|
zeitaufwendig.
|
|
|
|
|
|
|
|
|
|
Vollst<EFBFBD>ndige Konfigdatei und genaues Protokoll dessen, was man gemacht hat,
|
|
|
|
|
was im Syslog oder auf der Konsole ausgegeben wurde, etc.pp., mitschicken.
|
|
|
|
|
|
|
|
|
|
Probleme mit der Doku? DIES IST noch KEINE ENDVERSION. Also bitte selber
|
|
|
|
|
nachdenken, in den Sourcen w<>hlen, rausfinden wo es hakt, und mir entweder
|
|
|
|
|
genauere Fragen stellen oder einen L<>sungsvorschlag, zB erg<72>nzte Doku,
|
|
|
|
|
schicken. Oder mich da<64>r bezahlen, da<64> ich den Kram supporte -- das ist
|
|
|
|
|
n<EFBFBD>mlich der eigentliche Grund, weshalb der Treiber nicht schon vor einem
|
|
|
|
|
halben Jahr fertig wurde... N<>heres zu meinem Supportangebot f<>r Linux via
|
|
|
|
|
Mail -> info@smurf.noris.de.
|
|
|
|
|
|
|
|
|
|
Bei Systemcrashs und <20>hnlichen Widrigkeiten: Problem reproduzieren;
|
|
|
|
|
Konfiguration, genaue Infos was wann wie, Fehlermeldungen in eine Mail
|
|
|
|
|
verpacken und mir schicken.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Support
|
|
|
|
|
=======
|
|
|
|
|
|
|
|
|
|
Support gibt es bei mir zu kaufen. N<>here Informationen und Preise -> Mail.
|
|
|
|
|
|
|
|
|
|
Einen Treiberupdate gibts fuer DM 30 plus Medium. Fuer kommerzielle Kunden
|
|
|
|
|
gibts dasselbe fuer DM 250, Erstsupport bis zur erfolgreichen Installation
|
|
|
|
|
inbegriffen.
|
|
|
|
|
|
|
|
|
|
Fuer Privatleute etc. gibts den Support auch kostenlos, in Massen, via Mail
|
|
|
|
|
oder via Usenet: de.comp.os.linux.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Systemvoraussetzungen
|
|
|
|
|
=====================
|
|
|
|
|
|
|
|
|
|
Linux. GCC 2.5.8, Libraries 2.6.4, oder neuere.
|
|
|
|
|
Passive ISDN-Karte mit Hardware-Doku, oder Teles-8 oder -16 / Creatix.
|
|
|
|
|
Support fuer BSC- und AVM A1-Karten ist in Vorbereitung, Source liegt bei,
|
|
|
|
|
funktioniert aber noch nicht so ganz (BSC: B-Kan<61>le; beide: Interrupts?) --
|
|
|
|
|
wer kann und will, m<>ge sich dransetzen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Kernelpatches
|
|
|
|
|
=============
|
|
|
|
|
|
1995-09-12 03:07:18 +00:00
|
|
|
|
Die Patches basieren auf dem in der Versionsnummer bezeichneten Kernel.
|
|
|
|
|
Fr<EFBFBD>here bzw. sp<73>tere Kernels auf eigene Gefahr bzw. Bastelei.
|
|
|
|
|
|
2022-02-17 07:12:51 +00:00
|
|
|
|
Was die einzelnen Patches machen und ob sie ben<65>tigt werden,
|
1995-10-02 05:46:04 +00:00
|
|
|
|
steht in den einzelnen Dateien am Anfang. Lesen, bevor der Kernel ver<65>ndert
|
|
|
|
|
wird!
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
1995-10-02 05:46:04 +00:00
|
|
|
|
Der Kernel sollte mit CONFIG_MODVERSIONS gebaut werden.
|
|
|
|
|
Das modutils-1.2.8-Paket wird in jedem Fall ben<65>tigt, um Parameter an die
|
|
|
|
|
einzelnen Module zu <20>bergeben.
|
1995-09-12 03:07:18 +00:00
|
|
|
|
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Grundstruktur
|
|
|
|
|
=============
|
|
|
|
|
|
|
|
|
|
Das Modul "compat" stellt ein paar Funktionen zur Verf<72>gung, wie sie aus
|
|
|
|
|
anderen Unixkernelumgebungen bekannt sind.
|
|
|
|
|
|
|
|
|
|
"streams" implementiert minimale Streamsunterst<73>tzung. Wegen der
|
|
|
|
|
tty-Verwaltung unter Linux gibt es keinen clone-Treiber (die ist nicht
|
|
|
|
|
darauf ausgelegt).
|
|
|
|
|
|
|
|
|
|
Der ISDN-Treiber "isdn_2" ist die Low-Level-Schnittstelle zwischen den
|
1995-10-02 05:46:04 +00:00
|
|
|
|
ISDN-Karten und dem Steuerprogramm (bin/master). Dieses <20>ffnet /dev/isdnmon,
|
2022-02-17 07:12:51 +00:00
|
|
|
|
liest eine Konfigdatei (siehe unten) etc. Der Treiber meldet dem
|
|
|
|
|
Steuerprogramm, welche Karten sich bei ihm angemeldet haben.
|
|
|
|
|
Es gibt _keine_ Devices f<>r einzelne Karten.
|
|
|
|
|
|
|
|
|
|
Der Treiber managt das Q.921-Protokoll f<>r die Karten. Alles andere ist
|
|
|
|
|
Sache des Steuerprogramms (D-Kanal) bzw. anderer Streams-Module (B-Kan<61>le).
|
|
|
|
|
|
|
|
|
|
Ein kommunikationswilliges Programm <20>ffnet einen freien ISDN-Port
|
|
|
|
|
(/dev/isdn/isdnX, X von 1 bis 99 oder so) und sendet einen Verbindungs-
|
1995-09-12 03:07:18 +00:00
|
|
|
|
wunsch an das Steuerprogramm ("atd/subnet/login", <20>ffnen einer Verbindung
|
2022-02-17 07:12:51 +00:00
|
|
|
|
zum System "subnet" im Protokollmodus "login"). Das Steuerprogramm schiebt
|
|
|
|
|
diesem Kanal nun automatisch die notwendigen B-Kanal-Module unter (X.75,
|
|
|
|
|
T.70, V.110, was-auch-immer), baut die Verbindung auf, meldet den Zustand
|
|
|
|
|
der Verbindung ("RRING", "CONNECT") und verbindet schlie<69>lich B-Kanal und
|
|
|
|
|
Programm. Es erscheint das login:-Prompt des Systems "subnet".
|
|
|
|
|
|
|
|
|
|
Umgekehrt wird das Steuerprogframm bei einem ankommenden Anruf selbst einen
|
|
|
|
|
freien Port <20>ffnen und das zust<73>ndige Programm auf diesem Port starten.
|
|
|
|
|
Dasselbe passiert bei abgehenden Anrufen, die auf das zust<73>ndige Programm
|
|
|
|
|
beschr<EFBFBD>nkt sind, zB TCP/IP.
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
1995-09-12 03:07:18 +00:00
|
|
|
|
% cu -l isdn/isdn22
|
2022-02-17 07:12:51 +00:00
|
|
|
|
beliebig, mu<6D> nur frei sein.
|
|
|
|
|
AT
|
|
|
|
|
OK
|
|
|
|
|
Der Interpreter im Kontrollprogramm tut so, als w<>re er ein Modem mit
|
|
|
|
|
Hayes-Befehlssatz, und schickt ein OK zur<75>ck.
|
|
|
|
|
Hinweis: Das Ding ist minimal und kann nichtmal ATEx oder ATVx.
|
|
|
|
|
ATD/subnet/login
|
|
|
|
|
[ Virtuelles Rappeln einer W<>hlscheibe ]
|
|
|
|
|
RRING
|
|
|
|
|
CONNECT
|
|
|
|
|
login:
|
1995-09-12 03:07:18 +00:00
|
|
|
|
Die Verbindung steht. Viel Spa<70> beim Hacken eines Pa<50>worts. ;-)
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
BETA-BEMERKUNG: Loginverbindungen sind in der jetztigen Version nicht allzu
|
|
|
|
|
gut getestet. Was sehr gut tut, ist TCP/IP; siehe dazu die Beispielkonfi-
|
1995-09-12 03:07:18 +00:00
|
|
|
|
guration. Ein Anrufbeantworter existiert ebenfalls (leider noch ohne
|
|
|
|
|
DMTF-Erkennung).
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
1995-10-02 05:46:04 +00:00
|
|
|
|
Statt ATD/name funktioniert auch ATDnummer; /login ist der Default f<>r das
|
|
|
|
|
Protokoll.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Installation
|
|
|
|
|
============
|
|
|
|
|
|
1995-10-02 05:46:04 +00:00
|
|
|
|
### Wer noch nie einen eigenen Kernel gebaut hat, lese zun<75>chst
|
|
|
|
|
### das entsprechende HOWTO-Dokument.
|
|
|
|
|
#
|
2022-02-17 07:12:51 +00:00
|
|
|
|
cd /usr/src
|
1995-10-02 05:46:04 +00:00
|
|
|
|
tar xfvz /wo/auch/immer/isdn-xx.tar.gz
|
|
|
|
|
cd isdn-xx
|
2022-02-17 07:12:51 +00:00
|
|
|
|
cd patches
|
1995-10-02 05:46:04 +00:00
|
|
|
|
for i in biglog more_free setnoswap ; do
|
|
|
|
|
patch -p0 -d /usr/src/linux < $i
|
|
|
|
|
done
|
|
|
|
|
# Andere Patche in diesem Verzeichnis ansehen, evtl. ebenfalls installieren.
|
|
|
|
|
#
|
2022-02-17 07:12:51 +00:00
|
|
|
|
# Kernel installieren und booten.
|
|
|
|
|
# (alten Kernel unbedingt zu Backupzwecken erhalten!)
|
|
|
|
|
# Danach:
|
|
|
|
|
|
|
|
|
|
vi config/config.data
|
1995-10-22 10:59:20 +00:00
|
|
|
|
# Zeile "PROTOCOLS" und "SUBPROTOCOLS" ansehen. Siehe unten "DL-Zeile".
|
2022-02-17 07:12:51 +00:00
|
|
|
|
make.isdn
|
1995-09-18 18:26:39 +00:00
|
|
|
|
# Als Superuser:
|
|
|
|
|
make.isdn
|
|
|
|
|
Editiere /lib/modules/modules.isdn:
|
1995-10-02 05:46:04 +00:00
|
|
|
|
-o Tel0 isdn/teles.o name=$(cardname Tel0) mem=0xD6000 irq=5 ipl=1
|
1995-09-18 18:26:39 +00:00
|
|
|
|
anstatt
|
|
|
|
|
isdn/teles.o
|
|
|
|
|
eintragen. N<>heres siehe "Treiberparameter" weiter unten.
|
1995-10-02 05:46:04 +00:00
|
|
|
|
cd /usr/local/isdn/bin-Kernelversion # also zB .../bin-1.3.29
|
1995-09-12 03:07:18 +00:00
|
|
|
|
vi /etc/isdn.conf # ISDN-Nummern, Dienste, etc. eintragen
|
1995-09-18 18:26:39 +00:00
|
|
|
|
/etc/rc.d/rc.isdn # geht automatisch in den Hintergrund
|
1995-10-02 05:46:04 +00:00
|
|
|
|
# Wenn das alles funktioniert, rc.isdn via rc.local starten.
|
1995-09-12 03:07:18 +00:00
|
|
|
|
|
|
|
|
|
S<EFBFBD>mtliche Ger<65>tedateien werden automatisch angelegt.
|
|
|
|
|
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
1995-09-18 18:26:39 +00:00
|
|
|
|
Treiberparameter:
|
|
|
|
|
-----------------
|
|
|
|
|
|
|
|
|
|
Die Treiber f<>r einzelne Karten werden wie folgt geladen:
|
|
|
|
|
- Zun<75>chst wird ein generischer Treiber installiert (d_XXX.o).
|
|
|
|
|
- Dann wird pro Interface ein Modul (XXX.o) geladen, das diesem Treiber
|
|
|
|
|
genau eine Karte nennt, die er erkennen soll. Karte nicht erkannt ->
|
|
|
|
|
Laden schl<68>gt fehl.
|
|
|
|
|
|
|
|
|
|
Alle Treiber verstehen:
|
|
|
|
|
- name=XXXX
|
|
|
|
|
XXXX ist eine Zahl. Die Zahl wird durch Aufruf des Programms "cardname"
|
|
|
|
|
aus dem 'eigentlichen' Namen der Karte gewonnen; ich wollte mich nicht
|
|
|
|
|
darauf verlassen, da<64> insmod korrekt Strings in den Treiber einbaut.
|
|
|
|
|
|
|
|
|
|
Treiber mit Adressen im Speicher verstehen;
|
|
|
|
|
- mem=0xZZZZZ
|
|
|
|
|
Lage der Karte im Hauptspeicher.
|
|
|
|
|
|
|
|
|
|
Treiber mit I/O-Adre<72>bereich verstehen;
|
|
|
|
|
- io=0xZZZ
|
|
|
|
|
Lage der Karte im I/O-Adre<72>bereich.
|
|
|
|
|
|
|
|
|
|
Treiber f<>r Karten mit Interrupt verstehen:
|
|
|
|
|
- irq=XX
|
|
|
|
|
Interrupt der Karte.
|
|
|
|
|
|
|
|
|
|
Treiber f<>r softkonfigurierbare Karten verstehen:
|
|
|
|
|
- ipl=X
|
|
|
|
|
F<>r softwarekonfigurierte Karten: Verwende die Xte Karte.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Beispiel: insmod d_teles.o
|
|
|
|
|
insmod -o Tel0 teles.o name=$(cardname Tel0) mem=0xD8000 irq=5
|
|
|
|
|
Zum Entfernen des Treibers:
|
|
|
|
|
rmmod Tel0 ; rmmod d_teles.o
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Alle Treiber k<>nnen vor oder nach Start des Masterprogramms geladen oder
|
|
|
|
|
wieder entfernt werden. Aktive Verbindungen werden (unsauber) abgebrochen.
|
|
|
|
|
|
|
|
|
|
|
2022-02-17 07:12:51 +00:00
|
|
|
|
Testen:
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
|
|
% cu -l isdn/isdn59
|
|
|
|
|
AT/L
|
|
|
|
|
|
|
|
|
|
sollte die konfigurierten TCP-Verbindungen auflisten.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AT-Befehle
|
|
|
|
|
==========
|
|
|
|
|
Alle Schl<68>sselbuchstaben k<>nnen gro<72> oder klein geschrieben werden.
|
|
|
|
|
Das "AT" mu<6D> entweder vollst<73>ndig gro<72> oder vollst<73>ndig klein
|
|
|
|
|
geschrieben werden. Zeichen vor dem "AT" werden ignoriert.
|
|
|
|
|
|
|
|
|
|
AT/Bn
|
|
|
|
|
Schaltet Verbindung <n> von "off" auf "down" um. Siehe AT/L.
|
|
|
|
|
AT/K
|
|
|
|
|
Beendet alle laufenden Verbindungen.
|
|
|
|
|
Kann nur vom Superuser ausgef<65>hrt werden.
|
|
|
|
|
AT/Kn
|
|
|
|
|
Beendet die Verbindung <n>, beendet das betreffende Programm.
|
|
|
|
|
AT/L
|
|
|
|
|
Listet den momentanen Status aller Verbindungen.
|
1995-09-12 03:07:18 +00:00
|
|
|
|
<[minor:]id> <Art> <Partner> <Key> <pid> <Modus/Karte> <UnitNow> <UnitAll> <Status>
|
|
|
|
|
<minor> Nummer der Verbindung, f<>r AT/K o.<2E>.
|
|
|
|
|
<n> interne Folgenummer der Statusmeldung; Meldungen, die einen
|
|
|
|
|
alten Status ersetzen, bekommen dieselbe Nummer.
|
|
|
|
|
<pid> PID des Prozesses, der f<>r die Verbindung gestartet wurde.
|
|
|
|
|
<Modus>
|
2022-02-17 07:12:51 +00:00
|
|
|
|
off Verbindung nicht aktiv, wird bei ankommendem Ruf reaktiviert.
|
|
|
|
|
down Standby; sobald ein Datenpaket ansteht, wird die Verbindung
|
|
|
|
|
aufgebaut.
|
|
|
|
|
up Verbindung steht
|
1995-09-12 03:07:18 +00:00
|
|
|
|
->down
|
|
|
|
|
->up Verbindung wird gerade ab- bzw. aufgebaut.
|
|
|
|
|
<UnitNow> Einheiten in der aktuellen Verbindung.
|
|
|
|
|
<UnitAll> Einheiten insgesamt seit Start des Prozesses.
|
1995-09-18 18:26:39 +00:00
|
|
|
|
<Flags> interner Zustand der Verbindung, komma remote-Nummer,
|
1995-09-12 03:07:18 +00:00
|
|
|
|
strichpunkt lokale-Nummer (jeweils wenn bekannt/vorhanden)
|
|
|
|
|
<Status> Text; Meldung der Vermittlung (Gro<72>/Kleinschreibung) oder
|
|
|
|
|
interner Zustand (Gro<72>schreibung).
|
|
|
|
|
Ein Ausrufezeichen an erster Stelle bedeutet, da<64> die Verbindung intern
|
2022-02-17 07:12:51 +00:00
|
|
|
|
nicht mehr bekannt ist, der Zustand aber noch eine Zeitlang angezeigt wird.
|
|
|
|
|
|
|
|
|
|
Bis zum n<>chsten AT-Befehl bleibt der Kanal im Monitormodus und meldet
|
|
|
|
|
alle Zustands<64>nderungen automatisch.
|
|
|
|
|
AT/I
|
|
|
|
|
Listet den internen Zustand. In der ersten Zeile stehen die erkannten
|
|
|
|
|
ISDN-Karten, die zweite Zeile enth<74>lt den internen Zustand des ISDN-
|
1995-09-12 03:07:18 +00:00
|
|
|
|
Systems. Zum Debuggen.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
AT/M foo
|
|
|
|
|
Sendet den Systembefehl "foo" nach unten. Gef<65>hrlich.
|
|
|
|
|
Kann zum Online-Rekonfigurieren von Modulen verwendet werden. Beispiel:
|
|
|
|
|
AT/M pr :mi 2 ::ms :ms timer :tr 30 :tw 30 :ti 10
|
|
|
|
|
w<>rde auf Verbindung 2 den automatischen Verbindungsabbau dazu <20>berreden,
|
|
|
|
|
alle 10 Sekunden nachzusehen, ob in den letzten 30 Sekunden keine Daten
|
|
|
|
|
<20>bertragen wurden, und die Verbindung gegebenenfalls beenden.
|
|
|
|
|
AT/Q
|
|
|
|
|
Programmende. Kann nur vom Superuser ausgef<65>hrt werden.
|
|
|
|
|
AT/R
|
|
|
|
|
Reload der Konfigdatei. Kann nur vom Superuser ausgef<65>hrt werden.
|
1995-10-22 10:59:20 +00:00
|
|
|
|
Alle wegen eines Fehlers deaktivierten Programme werden wieder aufgeweckt.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
AT/Xn
|
|
|
|
|
Abbruch der Verbindung <n>. Kann nur vom Superuser ausgef<65>hrt werden.
|
|
|
|
|
ATD/sys/proto
|
|
|
|
|
Sucht Nummer und Protokoll in der Konfigdatei, w<>hlt, macht Verbindung auf.
|
|
|
|
|
ATH
|
|
|
|
|
trennt die Verbindung.
|
|
|
|
|
<BREAK>
|
|
|
|
|
wechselt vom Online- in den Befehlsmodus, falls erlaubt. Der Interpreter
|
|
|
|
|
antwortet mit OK.
|
|
|
|
|
(zum Verbieten: entsprechenden Konfigurationsbefehl f<>r das PROTO-Modul
|
|
|
|
|
verwenden.)
|
|
|
|
|
"+++" zum Wechseln funktioniert _nicht_.
|
|
|
|
|
|
|
|
|
|
Diverse andere Befehle sind 100% ungetestet. <BREAK> habe ich seit Ewigkeiten
|
|
|
|
|
nicht mehr ausprobiert.
|
1995-09-12 03:07:18 +00:00
|
|
|
|
ATA existiert nicht; stattdessen Konfigdatei <20>ndern.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Einschub: Was ist dieser Streams-Kram eigentlich?
|
|
|
|
|
======== Was ist auf dem B-Kanal los, da<64> man sowas braucht?
|
|
|
|
|
|
|
|
|
|
Nimm an, du willst TCP/IP-Pakete verschicken. Du packst also jedes dieser
|
|
|
|
|
Pakete in einen Datenblock und schickst sie auf die Reise ... halt, so einfach
|
|
|
|
|
geht das nicht. Normalerweise wird auf dem B-Kanal sowas wie eine gesicherte
|
|
|
|
|
Verbindung gefahren. (Man kann sich streiten, ob das bei IP-Paketen, die
|
|
|
|
|
eigentlich sowieso beliebig verlorengehen d<>rfen, Sinn macht.) Au<41>erdem k<>nnen
|
|
|
|
|
manche ISDN-Implementierungen nur ziemlich kleine Pakete verarbeiten; um
|
|
|
|
|
zu vermeiden, da<64> die IP-Pakete fragmentiert werden (Overhead: ca. 20 Bytes
|
|
|
|
|
pro Fragment) oder von der Gegenseite weggeschmissen werden (Overhead:
|
|
|
|
|
unendlich ;-) , mu<6D> man sie so kennzeichnen, da<64> die Gegenseite sie direkt
|
|
|
|
|
wieder zusammensetzen kann (Overhead: 2 Bytes; braucht aber besagte gesicherte
|
|
|
|
|
Verbindung, um vern<72>nftig zu funktionieren). BTX beispielsweise arbeitet
|
1995-09-12 03:07:18 +00:00
|
|
|
|
so. Au<41>erdem ist ISDN bytesynchrton, d.h. irgendjemand mu<6D> kennzeichnen, wo
|
|
|
|
|
ein Datenpaket aufh<66>rt und wo/wann das n<>chste anf<6E>ngt. Daf<61>r gibt es, wie
|
|
|
|
|
<EFBFBD>blich, mehrere Methoden...
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Streams sind nun eine M<>glichkeit, mehrere speziell geschriebene Module
|
1995-09-12 03:07:18 +00:00
|
|
|
|
auf einem ebenfalls speziell geschriebenen Treiber so zu stapeln, da<64> jedes
|
|
|
|
|
Modul eine Einzelaufgabe dieser Arbeit erledigt. Im Idealfall sind die
|
|
|
|
|
einzelnen Module recht klein und damit debugbar, lassen sich vielseitig
|
2022-02-17 07:12:51 +00:00
|
|
|
|
zusammenst<EFBFBD>pseln, etc.pp. In der Praxis ist die Sache nat<61>rlich nicht ganz
|
|
|
|
|
so einfach; insbesondere ist der Overhead, die Pakete von einem Modul zum
|
|
|
|
|
n<EFBFBD>chsten zu schaufeln, nicht zu vernachl<68>ssigen. Er ist aber tolerierbar,
|
1995-09-12 03:07:18 +00:00
|
|
|
|
vor allem wenn man auf die ganzen <20>berfl<66>ssigen "Features" (von manchen
|
|
|
|
|
Menschen als "Bugs" oder "Designfehler" bezeichnet...) verzichtet, die
|
|
|
|
|
USL und Co. in Sys5 Release 4 dazuerfunden haben.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Die einzelnen Module m<>ssen parametrisiert werden. Im Normalfall spricht
|
|
|
|
|
man sich mit der Gegenseite vorher ab, ob beispielsweise X.75 verwendet
|
|
|
|
|
wird und in welchem Modus. Alternativ, und wenn man die Normen auswendig
|
1995-09-12 03:07:18 +00:00
|
|
|
|
wei<EFBFBD>, schaltet man ein Monitor-Modul zuunterst auf den Datenstrom, l<><6C>t
|
|
|
|
|
sich von der Gegenseite anrufen, beobachtet genau was da passiert, und
|
|
|
|
|
richtet die Konfiguration entsprechend ein. (Das klingt nicht nur
|
|
|
|
|
kompliziert, das ist es auch. Au<41>erdem gibt es ein paar Details, die sich
|
|
|
|
|
nicht ohne weiteres beobachten lassen.) Zum Gl<47>ck haben sich ein paar
|
|
|
|
|
"normale" Betriebsarten herauskristallisiert, an die sich die meisten
|
|
|
|
|
Systeme halten.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
1995-10-22 10:59:20 +00:00
|
|
|
|
Paketformate
|
|
|
|
|
------------
|
|
|
|
|
Im einfachsten Fall werden IP-Pakete direkt auf die Leitung geschickt. Wer
|
|
|
|
|
zus<EFBFBD>tzlich noch Appletalk oder IPX oder so machen will, kann diese entweder
|
|
|
|
|
in IP einpacken (Overhead, kein Kernelsupport unter Linux) oder ein paar
|
|
|
|
|
Bytes vor die Daten stellen, die angeben, um was f<>r Daten es sich handelt.
|
|
|
|
|
|
|
|
|
|
Die Bytes k<>nnen entweder genauso aussehen wie im Ethernet, oder so wie der
|
|
|
|
|
Pakettyp von PPP. Wer PPP macht, braucht offensichtlich letzteres (PPP
|
|
|
|
|
selber wird auch bald kommen...); normale Leute nehmen die Ethernet-Codes.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
2022-02-17 07:14:30 +00:00
|
|
|
|
Noch ein Einschub: TCP-IP-Routing
|
|
|
|
|
=================================
|
|
|
|
|
|
|
|
|
|
So ein TCP/IP-Draht <20>ber ISDN mag ja ganz nett sein, aber irgendwie m<>ssen
|
|
|
|
|
andere wissen, wie sie vom lokalen Netz zum IP-Rechner zur Gegenstelle
|
|
|
|
|
k<EFBFBD>nnen. Und umgekehrt.
|
|
|
|
|
|
|
|
|
|
Das ganze Thema ist zu kompliziert, um es hier abzuhandeln. Man lese ein
|
|
|
|
|
gutes Buch <20>ber den Kram, zB Stevens.
|
|
|
|
|
|
|
|
|
|
Wichtige Spezialf<6C>lle:
|
|
|
|
|
- Das Gro<72>e Internet ist auf der anderen Seite der ISDN-Leitung.
|
|
|
|
|
slipto mit -d starten und auf den ganzen anderen Rechnern im lokalen Netz
|
|
|
|
|
eine Defaultroute zum ISDN-Rechner eintragen. ACHTUNG! ALLE LOKALEN
|
|
|
|
|
RECHNER BRAUCHEN OFFIZIELL ZUGETEILTE IP-NUMMERN. Das Weiterleiten von
|
1995-09-12 03:07:18 +00:00
|
|
|
|
Nummernbereichen nach RFC 1597 mu<6D> unterbunden werden (wenn diese lokal
|
|
|
|
|
verwendet werden: unbedingt IP-Firewall in den Kernel einbauen und
|
|
|
|
|
rausfiltern); andere unzul<75>ssige Netznummern m<>ssen durch einen zweiten
|
|
|
|
|
Gatewayrechner mit zwei Ethernetkarten o.<2E>. abgeschottet werden.
|
2022-02-17 07:14:30 +00:00
|
|
|
|
|
|
|
|
|
- Ein System, das eigentlich Teil des lokalen Netzes w<>re, sitzt am anderen
|
|
|
|
|
Ende der Leitung. Am einfachsten ist hier Proxy-ARP; der ben<65>tigte Befehl
|
|
|
|
|
beim Booten lautet "arp -s IP_der_entfernten_Kiste Ether_des_ISDN_-
|
|
|
|
|
_Rechners pub". Die Ethernetadresse spuckt "ifconfig eth0" aus.
|
|
|
|
|
|
1995-09-12 03:07:18 +00:00
|
|
|
|
diplogin (f<>r IP <20>ber serielle Leitung) kann den arp-Eintrag automatisch
|
|
|
|
|
setzen. Wenn jemand entsprechende Patches f<>r slipto macht -> her zu mir.
|
|
|
|
|
|
2022-02-17 07:14:30 +00:00
|
|
|
|
- Ein Netz mit stupidem ISDN-Router, der ein Transfernetz sehen will, ist
|
|
|
|
|
auf der anderen Seite. Einfachste Methode: Vom lokalen Netzbereich wird
|
|
|
|
|
ein 4-Adressen-Bereich abgezwackt und als Transfernetz mi<6D>braucht. Sei
|
|
|
|
|
die lokale Adresse 129.130.131.x, so wird zum Beispiel der Bereich x =
|
1995-09-12 03:07:18 +00:00
|
|
|
|
[224..227] verwendet (die beiden untersten Bits des unteren Endes des
|
2022-02-17 07:14:30 +00:00
|
|
|
|
Adressbereichs, hier 224, m<>ssen(!!!) 00 sein). Die n<>chste Adresse
|
1995-09-12 03:07:18 +00:00
|
|
|
|
(hier: 225) wird die lokale Adresse (entweder als lokale Adresse im
|
|
|
|
|
slipto, oder via dummy-Interface: "ifconfig dummy0 129.130.131.225; route
|
|
|
|
|
add -host 129.130.131.225 dev lo" -- in der Konfigdatei wird in diesem
|
|
|
|
|
Fall die normale Ethernetadresse des Rechners als lokale Adresse
|
|
|
|
|
verwendet). Danach (hier; .226) kommt die entfernte Adresse (eintragen
|
|
|
|
|
via Proxy-ARP).
|
2022-02-17 07:14:30 +00:00
|
|
|
|
|
|
|
|
|
Auf der Gegenstelle wird dann das Transfernetz mit einer Netmask von
|
|
|
|
|
255.255.255.252 konfiguriert, die ..225 wird dort die entfernte
|
|
|
|
|
Adresse und die Defaultroute an der Gegenstelle zeigt darauf.
|
|
|
|
|
(Au<41>erdem mu<6D> manchmal eine Route f<>r das Netz, hier 129.130.131.0,
|
1995-09-12 03:07:18 +00:00
|
|
|
|
eingetragen werden, die auf die Gegenseite, hier .225, zeigt.)
|
2022-02-17 07:14:30 +00:00
|
|
|
|
|
1995-09-12 03:07:18 +00:00
|
|
|
|
Diese Methode verschwendet 75% des Adressbereichs (die Nummern .224,
|
|
|
|
|
.225 und .227 werden im Internet nie in Erscheinung treten) und einer der
|
|
|
|
|
Rechner auf der Gegenseite verwendet dummerweise eine Nummer aus dem
|
|
|
|
|
lokalen Netz, f<>r die ein funktionierender Nameserver-Eintrag gepflegt
|
|
|
|
|
werden mu<6D>, hat aber den Vorteil, da<64> sie funktioniert.
|
2022-02-17 07:14:30 +00:00
|
|
|
|
|
|
|
|
|
Es f<>llt au<61>erdem auf, da<64> die lokale Adresse und Konfiguration des
|
1995-09-12 03:07:18 +00:00
|
|
|
|
ISDN-Links nichts mit dem zu tun haben mu<6D>, was die Gegenseite von uns
|
|
|
|
|
denkt. Das ist auch total egal -- im Gegensatz zu PPP werden die Adressen
|
|
|
|
|
nicht mit der Gegenstelle abgeglichen. Das einzige, auf das es ankommt,
|
|
|
|
|
ist, da<64> die jeweils lokalen Adressen auch als lokal angesehen werden und
|
|
|
|
|
_nicht_ irgendwie wieder zur Gegenseite geroutet werden. Pingpongpakete
|
|
|
|
|
haben auf einer ISDN-Leitung nichts verloren! (Und auch nirgends anders.)
|
2022-02-17 07:14:30 +00:00
|
|
|
|
|
|
|
|
|
Es f<>llt au<61>erdem auf, da<64> ich nichts von routed und <20>hnlichen Programmen
|
|
|
|
|
gesagt habe. Das ist Absicht. Konfiguriert eure Routen lieber statisch,
|
|
|
|
|
das ist ges<65>nder...
|
|
|
|
|
|
|
|
|
|
|
2022-02-17 07:12:51 +00:00
|
|
|
|
Die Konfigurationsdatei
|
|
|
|
|
=======================
|
|
|
|
|
|
|
|
|
|
Die Datei besteht aus verschiedenen Zeilentypen, die frei gemischt werden
|
|
|
|
|
k<EFBFBD>nnen. Der erste auf ein Problem passende Eintrag wird verwendet; auf eine
|
|
|
|
|
passende Zeile folgende solche werden bei manchen Zeilentypen ebenfalls
|
|
|
|
|
ausgewertet.
|
|
|
|
|
Strings in spitzen Klammern sind Platzhalter. Ein Doppelpunkt mit zwei
|
|
|
|
|
folgenden Buchstaben ist ein Parameter, dem eine vom Parameter abh<62>ngige
|
|
|
|
|
Anzahl Werte folgen kann.
|
|
|
|
|
|
1995-10-02 05:46:04 +00:00
|
|
|
|
|
|
|
|
|
Vorgehensweise des Masterprogramms beim Aufbau einer Verbindung:
|
|
|
|
|
--------------
|
|
|
|
|
Das Zielsystem wird ausgew<65>hlt (D- und P-Zeile: ankommende Verbindung;
|
|
|
|
|
R-Zeile, bei Programmstart).
|
|
|
|
|
Das in der R-Zeile angegebene Programm wird gestartet.
|
|
|
|
|
Die in der ML-Zeile angegebenen Module werden zwischen den ISDN-Treiber und
|
|
|
|
|
das Programm geschoben.
|
|
|
|
|
Die Module werden mit Parametern (in MP-Zeilen angegeben) versorgt.
|
|
|
|
|
Eine freie Karte (Liste der installierten Karten, DL-Zeile, CL-Zeile) wird
|
|
|
|
|
gesucht.
|
|
|
|
|
Eine Nummer des Zielsystems wird gew<65>hlt (D- und P-Zeile: abgehende
|
|
|
|
|
Verbindung).
|
|
|
|
|
Ein freier B-Kanal (welcher, sagt uns die Vermittlung) wird der Verbindung
|
|
|
|
|
zugeordnet.
|
|
|
|
|
Die Module (und optional das Programm, via Signal) werden informiert, da<64>
|
|
|
|
|
die Verbindung steht.
|
|
|
|
|
<Datenaustausch>
|
|
|
|
|
|
|
|
|
|
Zueinander passende Zeilen haben jeweils gleiche oder via Shell-Pattern-
|
|
|
|
|
matching zusammenpassende <Art>-, <Partner>- und <Karte>-Felder, in
|
|
|
|
|
mindestens einem Zeichen <20>bereinstimmende <Key>-Felder, und zur
|
|
|
|
|
aufzubauenden Verbindung passende Zeichen im <Mod>-Feld etc.; siehe die
|
|
|
|
|
unten folgenden Detailbeschreibungen.
|
|
|
|
|
|
|
|
|
|
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<65>cksichtigt -- siehe unten.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Konfigurationsdatei: Details
|
|
|
|
|
-------------------
|
|
|
|
|
|
2022-02-17 07:12:51 +00:00
|
|
|
|
Alle Zeilentypen:
|
|
|
|
|
|
|
|
|
|
<Key> ist jeweils ein beliebiger String. Alle f<>r eine Verbindung verwendeten
|
|
|
|
|
Zeilen in der Konfigdatei m<>ssen zueinander passende Keys haben, d.h.
|
|
|
|
|
mindestens ein Zeichen mu<6D> in allen Keys <20>bereinstimmen. "*" pa<70>t zu
|
|
|
|
|
allen anderen Zeichen.
|
1995-10-22 10:59:20 +00:00
|
|
|
|
Der resultierende String ist also die Schnittmenge aller Zeichen in
|
|
|
|
|
den <Key>-Parametern aller verwendeter Konfigurationszeilen.
|
|
|
|
|
<Key>-Zeilen mit einem Pluszeichen an erster Stelle werden nur auf
|
|
|
|
|
Vorhandensein eines Zeichens gepr<70>ft, aber die Menge wird nicht
|
|
|
|
|
eingeschr<68>nkt. Beispiel:
|
|
|
|
|
"ab" "cd" -> leere Menge
|
|
|
|
|
"ab" "xay" -> "a"
|
|
|
|
|
"ab" "+x" -> leere Menge
|
|
|
|
|
"ab" "+bx" -> "b"
|
|
|
|
|
"ab" "+bx" "a" -> leere Menge
|
|
|
|
|
Damit l<><6C>t sich sehr flexibel einstellen, wer auf welcher Leitung /
|
|
|
|
|
Nummer mit welchen Parametern anrufen kann.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
<Mod> sind einzelne Buchstaben, der der betreffenden Zeile eine Sonder-
|
|
|
|
|
behandlung verpassen.
|
2022-02-17 07:14:30 +00:00
|
|
|
|
<Parameter...> ist eine Folge von einem oder mehr Parameter-Wert-Angaben.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
(Manche Parameter haben keine Wertangabe.)
|
1995-10-22 10:59:20 +00:00
|
|
|
|
Merke: Zeilen ohne Parameter sind nicht besonders sinnvoll.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
P-Zeile ("Protokoll")
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
|
|
Form:
|
|
|
|
|
P <Art> <Partner> <Key> <Karte> <Mod> <Parameter...>
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
1995-09-12 03:07:18 +00:00
|
|
|
|
P login * * R :sv 0700 :nr .2 :lr /2
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Parameter:
|
|
|
|
|
:Ft Bei Festverbindungen angeben. (Erzwingt das Laden des
|
|
|
|
|
"Verbindungs"handlers.)
|
|
|
|
|
:dI Eine Verbinung dieses Typs soll persistent sein, d.h. zwischen zwei
|
|
|
|
|
Verbindungen wird das handhabende Programm nicht unterbrochen.
|
|
|
|
|
Ein "reconn"-Streamsmodul stellt sicher, da<64> das Programm davon nichts
|
|
|
|
|
mitbekommt, au<61>er wenn der Wiederaufbau der Verbindung nicht klappt.
|
|
|
|
|
:bc Zu verwendender B-Kanal, 1 oder 2. Nur f<>r Festverbindungen
|
|
|
|
|
interessant; im normalen ISDN managt die Vermittlung B-Kan<61>le f<>r uns.
|
1995-09-12 03:07:18 +00:00
|
|
|
|
:nj Kann der Ruf nicht angenommen werden, wird BUSY statt CallRejected
|
|
|
|
|
gesendet.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
:xi Wenn ankommende und abgehende Anrufe kollidieren, soll der an-
|
|
|
|
|
kommende abgewiesen werden. (Default: Der abgehende Ruf wird
|
1995-10-22 10:59:20 +00:00
|
|
|
|
abgebrochen.)
|
2022-02-17 07:12:51 +00:00
|
|
|
|
:yi Bei einem ankommeden Ruf wird automatisch ein abgehender gestartet und
|
1995-10-22 10:59:20 +00:00
|
|
|
|
der ankommende wird abgewiesen.
|
1995-10-02 05:46:04 +00:00
|
|
|
|
:bi Bei einem ankommenden Ruf, der nicht angenommen werden kann (belegt?),
|
1995-10-22 10:59:20 +00:00
|
|
|
|
wird automatisch auf einer anderen Leitung zur<75>ckgerufen.
|
1995-10-02 05:46:04 +00:00
|
|
|
|
:fr ebenfalls zu setzen ist meist sinnvoll.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
:il Die CL-Zeile wird ignoriert.
|
|
|
|
|
:fX Ankommende Anrufe, die (zB wegen besetzt) abgewiesen werden, werden
|
1995-10-22 10:59:20 +00:00
|
|
|
|
"schnell" abgelehnt. (Andere Ger<65>te am Bus k<>nnen nicht abheben, da die
|
|
|
|
|
Vermittlung nicht abwartet, ob sich noch jemand meldet.)
|
2022-02-17 07:12:51 +00:00
|
|
|
|
:fr Abgehende Anrufe, die nicht durchkommen, werden "sofort" und "oft"
|
|
|
|
|
wiederholt.
|
1995-10-22 10:59:20 +00:00
|
|
|
|
:ib Wenn ankommend kein B-Kanal mitgeliefert wird, wird die Verbindung
|
|
|
|
|
abgewiesen. (zB wenn man dich den Anschlu<6C> mit einem anderen ger<65>t
|
|
|
|
|
teilt.) Fehlt :ib, h<>rt die Gegenseite in diesem Fall ein normales
|
|
|
|
|
Rufzeichen ("Anklopfen"); die Verbindung wird nach 40 Sekunden
|
|
|
|
|
ausgel<65>st, wenn bis dahin kein B-Kanal frei wird..
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Logischerweise darf :xi oder :yi nicht auf beiden Seiten angegeben
|
|
|
|
|
sein..!
|
|
|
|
|
|
1995-10-22 10:59:20 +00:00
|
|
|
|
Spezifisch f<>r 1TR6 und CAPI:
|
2022-02-17 07:12:51 +00:00
|
|
|
|
:sv Dienstkennung; zwei Bytes in Hex. Telefon ist 0101 und 0102; DF<44> ist
|
|
|
|
|
07xx (xx ist <20>blicherweise 00).
|
1995-10-22 10:59:20 +00:00
|
|
|
|
:pv Semipermanente Verbindung bei abgehenden Rufen. (Noch nicht bei CAPI.)
|
2022-02-17 07:12:51 +00:00
|
|
|
|
Ankommend werden SPVs automatisch unterst<73>tzt.
|
|
|
|
|
|
|
|
|
|
Spezifisch f<>r Euro-ISDN:
|
|
|
|
|
:vB Bearer Capability. Hexstring, evtl. mit Maske.
|
|
|
|
|
:vL Lower Layer Compatibility. Hexstring, evtl. mit Maske.
|
|
|
|
|
:vU Upper Layer Compatibility. Hexstring, evtl. mit Maske.
|
1995-10-02 05:46:04 +00:00
|
|
|
|
Was diese Dinger bedeuten, steht in der Norm Q.931.
|
|
|
|
|
Die wichtigsten Codes f<>r :vB stehen am Ende dieser Anleitung.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Spezifisch f<>r die Bearbeitung von Telefonnummern:
|
|
|
|
|
:nr Entfernte Telefonnummer. Siehe unten unter Telefonnummernverarbeitung.
|
|
|
|
|
:lr Lokal angew<65>hlte Telefonnummer, bzw. deren variabler Teil.
|
|
|
|
|
:om Die folgenden Nummernteile sind zum Rausw<73>hlen bestimmt, d.h. eindeutig.
|
|
|
|
|
:im Die folgenden Nummernteile sind zum Einw<6E>hlen bestimmt, d.h. Muster.
|
|
|
|
|
:bm Die Nummernteile werden sowohl ankommend als auch abgehend verwendet
|
|
|
|
|
(Default).
|
1995-10-02 05:46:04 +00:00
|
|
|
|
:vr Ankommend: bei fehlender externer Nummer wird die Zeile <20>bersprungen.
|
|
|
|
|
:vl Dito, fehlende lokale Nummer.
|
|
|
|
|
:Vr Ankommend: bei mitgelieferter externer Nummer wird die Zeile <20>bersprungen.
|
|
|
|
|
:Vl Dito, mitgelieferte lokale Nummer.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Hierbei gilt: Angegeben werden nur die Nummernteile, die nicht in den
|
|
|
|
|
D- bzw. DL-Zeilen stehen. Das System destilliert aus den verschiedenen
|
1995-10-02 05:46:04 +00:00
|
|
|
|
Angaben lokale und entfernte Nummern.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Mod:
|
1995-09-12 03:07:18 +00:00
|
|
|
|
R Die Zeile wird prim<69>r f<>r einen Verbindungsaufbau verwendet.
|
|
|
|
|
M Die Zeile wird nur dann analysiert, wenn eine <20>ber ihr gefundene P-Zeile
|
2022-02-17 07:12:51 +00:00
|
|
|
|
"pa<70>t".
|
|
|
|
|
X Wenn diese Zeile (oder eine dar<61>berliegende) "pa<70>t", wird das Scannen
|
|
|
|
|
nach weiteren passenden Angaben hier abgebrochen.
|
|
|
|
|
i f<>r ankommende Verbindungen
|
|
|
|
|
o f<>r abgehende Verbindungen
|
|
|
|
|
f f<>r Festverbindungen
|
|
|
|
|
d f<>r W<>hlverbindungen
|
|
|
|
|
p f<>r Verbindungsaufbau nach Bedarf
|
|
|
|
|
|
1995-10-22 10:59:20 +00:00
|
|
|
|
Der Suchalgorithmus findet zun<75>chst eine zur Verbindung passende Zeile mit
|
|
|
|
|
R-Flag und h<>ngt an deren Parameterliste alle ebenfalls passenden Zeilen
|
|
|
|
|
mit M-Flag an (dabei werden bereits angegebene Werte beibehalten, die
|
|
|
|
|
spezifischen Eintr<74>ge also nach oben!), bis er auf eine Zeile mit X-Flag
|
|
|
|
|
trifft.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ML-Zeile ("Modulliste")
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
Form:
|
|
|
|
|
ML <Art> <Partner> <Key> <Karte> <Mod> <Modus> <Module...>
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
|
|
|
|
ML login * * * - frame x75 t70
|
|
|
|
|
|
|
|
|
|
Hiermit wird angegeben, wie die Karte eingestellt und welche Streams-Module
|
|
|
|
|
f<EFBFBD>r einen B-Kanal verwendet werden m<>ssen, um zwischen diesem und einer
|
|
|
|
|
Anwendung zu vermitteln. Die Beschreibung der verf<72>gbaren Module folgt
|
|
|
|
|
weiter unten; der Modus wird <20>ber "CM"-Zeilen (auch unten) in eine Zahl
|
|
|
|
|
<EFBFBD>bersetzt, die der Kartentreiber verstehen mu<6D>.
|
|
|
|
|
|
|
|
|
|
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<64> die Anwendung
|
|
|
|
|
davon nichts mitbekommt."proto" darf nie in einer ML - Zeile erscheinen.
|
|
|
|
|
|
|
|
|
|
Mod:
|
|
|
|
|
i f<>r ankommende Verbindungen
|
|
|
|
|
o f<>r abgehende Verbindungen
|
|
|
|
|
f f<>r Festverbindungen
|
|
|
|
|
d f<>r W<>hlverbindungen
|
|
|
|
|
p f<>r Verbindungsaufbau nach Bedarf
|
|
|
|
|
,# Verz<72>gerung bei Verbindungsende, in Sekunden, f<>r sauberes
|
|
|
|
|
Herunterfahren des B-Kanalprotokolls.
|
|
|
|
|
|
2022-02-17 07:14:30 +00:00
|
|
|
|
Die Modulliste ist nach dem Start eines Programms festgelegt und wird durch
|
|
|
|
|
AT/R nicht veraendert.
|
|
|
|
|
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
MP-Zeile ("Modulparameter")
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
Form:
|
|
|
|
|
MP <Art> <Partner> <Key> <Karte> <Mod> <Modul> <Parameter...>
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
|
|
|
|
MP login * * * - proto :bk 0 :sg 0
|
|
|
|
|
MP login * * * - x75 :cm 3
|
|
|
|
|
|
|
|
|
|
Mit dieser Zeile k<>nnen Module parametrisiert werden, um ihre interne
|
|
|
|
|
Arbeitsweise so einzustellen, da<64> sie korrekt mit der Gegenseite zusammen-
|
|
|
|
|
arbeiten. Die m<>glichen Parameter sind unter den einzelnen Modulen, unten,
|
|
|
|
|
beschrieben.
|
|
|
|
|
|
|
|
|
|
Mod:
|
|
|
|
|
i f<>r ankommende Verbindungen
|
|
|
|
|
o f<>r abgehende Verbindungen
|
|
|
|
|
f f<>r Festverbindungen
|
|
|
|
|
d f<>r W<>hlverbindungen
|
|
|
|
|
p f<>r Verbindungsaufbau nach Bedarf
|
2022-02-17 07:14:30 +00:00
|
|
|
|
u f<>r Parameter, die nur beim Programmstart gesetzt werden (x75-Kram zB)
|
|
|
|
|
a f<>r Parameter, die bei Neueinlesen der Konfigdaten gesetzt werden
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D-Zeile ("Dial")
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
|
|
Form:
|
|
|
|
|
D <Art> <Partner> <Key> <Karte> <Mod> <Nr>
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
|
|
|
|
D * subnet * * - +49=721-961252.
|
|
|
|
|
D * Any-D * * I +49=*
|
|
|
|
|
D * Any * * I +*
|
|
|
|
|
D tcp xlink * Tel2 L
|
|
|
|
|
|
|
|
|
|
Angabe der Telefonnummer, unter der eine Gegenstelle erreichbar ist bzw.
|
|
|
|
|
mit der sie sich bei ankommenden Rufen meldet. Festverbindungen haben
|
|
|
|
|
nat<EFBFBD>rlich keine Nummer.
|
|
|
|
|
|
|
|
|
|
Mod:
|
|
|
|
|
i f<>r ankommende Verbindungen
|
|
|
|
|
o f<>r abgehende Verbindungen
|
|
|
|
|
f f<>r Festverbindungen (der zu verwendende B-Kanal steht in der P-Zeile)
|
|
|
|
|
d f<>r W<>hlverbindungen
|
|
|
|
|
p f<>r Verbindungsaufbau nach Bedarf
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
DL-Zeile ("Dial Local")
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
Form:
|
1995-10-22 10:59:20 +00:00
|
|
|
|
DL <Key> <Karte> <Nummer> <Protokolle>
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Beispiel:
|
1995-10-22 10:59:20 +00:00
|
|
|
|
DL * Tel? +49=911-995962. :pr 0 :sp 65 :pr 63
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Eigene Telefonnummer. Im Beispiel sind alle Karten, auf die "Tel?"
|
|
|
|
|
pa<EFBFBD>t, an einer ISDN-Leitung mit dieser Nummer angeschlossen.
|
|
|
|
|
|
|
|
|
|
Diese Zeile wird verwendet, um die k<>rzestm<74>gliche Rufnummer f<>r
|
|
|
|
|
abgehende Verbindungen zu finden und um die verwendeten Protokolle zu
|
1995-10-22 10:59:20 +00:00
|
|
|
|
spezifizieren. Hat eine Karte mehrere Rufnummern (MSNs), werden die
|
|
|
|
|
Protokolle nur in der ersten DL-Zeile angegeben.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
1995-10-22 10:59:20 +00:00
|
|
|
|
Zus<EFBFBD>tzlich werden in der DL-Zeile die Protokolle beschrieben, mit denen der
|
|
|
|
|
ISDN-Treiber mit der Karte redet. Diese Protokolle m<>ssen nat<61>rlich auch in
|
|
|
|
|
den Treiber eingebaut werden, und zwar in der Datei config/config.data,
|
|
|
|
|
Eintrag PROTOCOLS (spitze Klammer) und SUBPROTOCOLS (eckige Klammer).
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
1995-10-22 10:59:20 +00:00
|
|
|
|
Beispiel 1TR6: <phone tei> [german]
|
|
|
|
|
DL * Tel0 +49=911-23456. :pr 0 :sp 65 :pr 63
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
1995-10-22 10:59:20 +00:00
|
|
|
|
Beispiel Euro-ISDN: <phone tei> [euro]
|
|
|
|
|
DL * Tel0 +49=911-34567. :pr 0 :sp 8 :pr 63
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
1995-10-22 10:59:20 +00:00
|
|
|
|
Beispiel Festverbindung: <fixed>
|
|
|
|
|
DL * Tel2 - :pr 64
|
|
|
|
|
|
|
|
|
|
Beispiel intelligente Karte mit CAPI: <capi> [bintec]
|
|
|
|
|
DL * Bin0 +49=911-45678. :pr 65 :sp 0
|
1995-09-12 03:07:18 +00:00
|
|
|
|
|
2022-02-17 07:12:51 +00:00
|
|
|
|
Bedeutung der Spezialzeichen in der Nummer: Siehe "DP" unten.
|
|
|
|
|
|
1995-10-22 10:59:20 +00:00
|
|
|
|
|
1995-09-12 03:07:18 +00:00
|
|
|
|
Protokolle und Flags in der DL-Zeile:
|
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
|
|
Die Reihenfolge ist wichtig.
|
|
|
|
|
|
|
|
|
|
:pp Punkt-zu-Punkt-Verbindung, feste TEI (0x00). :kl ebenfalls
|
|
|
|
|
angeben!
|
|
|
|
|
:mp Verbindung am Bus, variabler TEI-Identifier. Bei manchen 1TR6-
|
|
|
|
|
Vermittlungen und Nebenstellenanlagen sinnvoll.
|
|
|
|
|
:mf Verbindung am Bus, fester TEI-Identifier. Default.
|
|
|
|
|
:mt Verbindung am Bus, feste TEI(0x12). In Spezialf<6C>llen notwendig.
|
|
|
|
|
|
|
|
|
|
:ud XX Verz<72>gerung zwischen dem Verbindungsaufbau (D-Kanal) und dem
|
|
|
|
|
eigentlichen Datenaustausch (B-Kanal). Zehntelsekunden; max.
|
|
|
|
|
2 Sekunden; Default 1/4 Sekunde. Mit :ud 0 geht der Verbindungs-
|
|
|
|
|
aufbau entweder etwas schneller, oder das erste Paket wird
|
|
|
|
|
verschluckt, oder die Vermittlung kommt durcheinander und die
|
|
|
|
|
Verbindung ist tot. :-(
|
|
|
|
|
|
|
|
|
|
:pr 0 Normaler ISDN-D-Kanal, angeschlossen am Netz oder an einer
|
|
|
|
|
Telefonanlage. Darf nur zusammen mit TEI-Handler (:pr 63)
|
1995-10-22 10:59:20 +00:00
|
|
|
|
verwendet werden. <phone>
|
1995-09-12 03:07:18 +00:00
|
|
|
|
:kl Level-2-Verbindung zur Vermittlung nicht trennen. Bei Punkt-
|
|
|
|
|
zu-Punkt-Verbindungen und bei entsprechend konfigurierten
|
1995-09-18 18:26:39 +00:00
|
|
|
|
ISDN-Anschl<68>ssen ("Dauer<65>berwachung oder sowas <20>hnliches")
|
|
|
|
|
notwendig.
|
|
|
|
|
:cl Level-2-Verbindung zur Vermittlung trennen, wenn keine
|
|
|
|
|
Verbindung besteht. Default.
|
1995-09-12 03:07:18 +00:00
|
|
|
|
|
1995-10-22 10:59:20 +00:00
|
|
|
|
:sp 8 DSS1, Euro-ISDN. [euro]
|
|
|
|
|
:sp 65 1TR6, deutscher Standard. [german]
|
1995-09-18 18:26:39 +00:00
|
|
|
|
Entweder :sp 8 oder :sp 65 mu<6D> angegeben werden, NICHT beides!
|
1995-09-12 03:07:18 +00:00
|
|
|
|
|
|
|
|
|
:ai Ankommenden Anruf mit dem ISDN-<2D>quivalent von "RINGING"
|
|
|
|
|
beantworten, dann pr<70>fen ob der Anruf angenommen werden kann.
|
|
|
|
|
Notwendig bei langsamen Rechnern.
|
|
|
|
|
:ad Ankommende Anrufe erst pr<70>fen, dann annehmen (oder auch nicht).
|
|
|
|
|
Default.
|
1995-10-22 10:59:20 +00:00
|
|
|
|
:pr 63 TEI-Handler (Transport Endpoint Identifier). <tei>
|
1995-09-12 03:07:18 +00:00
|
|
|
|
:ti TEI sofort zuordnen lassen. Notwendig bei langsamen / sehr
|
|
|
|
|
besch<63>ftigten Rechnern und bei manchen Telefonanlagen.
|
|
|
|
|
:td TEI beim ersten Verbindungsaufbau zuordnen lassen. Default.
|
1995-10-22 10:59:20 +00:00
|
|
|
|
:pr 64 Festverbindung: kein D-Kanal. <fixed>
|
|
|
|
|
:pr 65 Intelligente Karte mit CAPI-1.x-Schnittstelle. (Noch nicht!)
|
|
|
|
|
In der Konfiguration verh<72>lt sich eine CAPI-Karte ansonsten wie
|
|
|
|
|
der 1TR6-Treiber, und zwar AUCH DANN WENN DAS TEIl AM EURO-ISDN
|
|
|
|
|
H<>NGT. <capi>
|
1995-10-25 12:36:04 +00:00
|
|
|
|
:pb Verwendet die CAPI wie eine Nebenstellenanlage, d.h. ankommend
|
|
|
|
|
Akkumulation ankommender Ziffern, abgehend dynamisches Mapping
|
|
|
|
|
EAZ->Nebenstellennummer. (Teilweise implementiert: ankommend
|
|
|
|
|
funktioniert nur Blockwahl.)
|
1995-10-22 10:59:20 +00:00
|
|
|
|
:sp 0 Bintec-Karte. [bintec]
|
|
|
|
|
Auf diese Karte mu<6D> zun<75>chst boot.68k und dann entweder bri.68k,
|
1995-10-25 12:36:04 +00:00
|
|
|
|
bri_4.68k oder pmx.68k geladen werden (LF-Zeile).
|
1995-10-22 10:59:20 +00:00
|
|
|
|
:lp X X X CAPI-Bitmasken f<>r EAZ, Service, Infos. Hexadezimal.
|
1995-10-25 12:36:04 +00:00
|
|
|
|
Default: 03FF E7BF 003F.
|
1995-10-22 10:59:20 +00:00
|
|
|
|
:st XXXXX Protokollstack XXXXX laden. Siehe Handbuch zur Karte.
|
|
|
|
|
Default ist u_dss1_pmp.
|
|
|
|
|
:ea N NNN EAZ N auf (lokale) Endnummer NNN mappen.
|
|
|
|
|
Default ist die letzte Ziffer der Nummer.
|
1995-10-25 12:36:04 +00:00
|
|
|
|
Nicht bei :pb verwenden.
|
1995-09-12 03:07:18 +00:00
|
|
|
|
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
DP-Zeile ("Dial Prefix")
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
Form:
|
|
|
|
|
DP <Karte> <Pr<50>fixe-Dialout> <Pr<50>fixe-Dialin>
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
|
|
|
|
DP Tel? +00=0- +00=0-
|
|
|
|
|
|
|
|
|
|
Definition von Nummernpr<70>fixen, um Vermittlungsbereiche erreichen zu k<>nnen.
|
|
|
|
|
|
|
|
|
|
Das erste Pr<50>fix ist f<>r abgehende, das zweite (das weggelassen werden kann)
|
|
|
|
|
f<EFBFBD>r ankommende Verbindungen; 1TR6-Nebenstellenanlagen wollen beim W<>hlen
|
|
|
|
|
typischerweise eine vorgestellte Null o.<2E>. sehen, die aber bei ankommenden
|
|
|
|
|
Gespr<EFBFBD>chen nicht mit angezeigt wird.
|
|
|
|
|
|
1995-10-02 05:46:04 +00:00
|
|
|
|
Die Zeichen sind _immer_ "+" f<>r internationale Verbindungen, "=" f<>r
|
1995-09-12 03:07:18 +00:00
|
|
|
|
nationale Verbindungen, "-" f<>r Ortsverbindungen, "." oder "/" f<>r
|
|
|
|
|
Verbindungen innerhalb einer Nebenstellenanlage oder EAZs/MSNs etc. Der
|
|
|
|
|
Unterschied ist, da<64> Nummern einer Nebenstellenanlage direkt angerufen
|
1995-10-02 05:46:04 +00:00
|
|
|
|
werden k<>nnen, w<>hrend man f<>r eine Verbindung zu einer anderen MSN am
|
|
|
|
|
gleichen Basisanschlu<6C> die Teilnehmernummer mitw<74>hlen mu<6D>.
|
1995-09-12 03:07:18 +00:00
|
|
|
|
|
|
|
|
|
Beispiel: Eine Konfiguration
|
2022-02-17 07:12:51 +00:00
|
|
|
|
D ... -1234/[456]
|
|
|
|
|
DL... -23456
|
|
|
|
|
DP... -
|
|
|
|
|
MP... :nr /5
|
|
|
|
|
w<EFBFBD>rde die Nummer 12345 w<>hlen.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R-Zeile ("Run")
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
|
|
Form:
|
2022-02-17 07:14:30 +00:00
|
|
|
|
R <Art> <Partner> <Key> <Karte> <Benutzer> <Mod> <Programm> <Argumentliste...>
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Beispiel:
|
2022-02-17 07:14:30 +00:00
|
|
|
|
R login * * * root IDUST /bin/login
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Hiermit wird ein Programm (plus Parameter) angegeben, das bei ankommenden
|
|
|
|
|
oder abgehenden Gespr<70>chen aufgerufen wird. Ein Dialout zu einem System
|
|
|
|
|
mit "R"-Zeile ist also direkt nicht m<>glich, da der Datenaustausch zum
|
|
|
|
|
betreffenden Programm geht.
|
|
|
|
|
|
1995-09-12 03:07:18 +00:00
|
|
|
|
Eine R-Zeile wird ignoriert, sobald das betreffende Programm einen Fehler
|
|
|
|
|
gemeldet hat (Exitstatus != 0) oder bei der Verbindungssteuerung ein Fehler
|
|
|
|
|
aufgetreten ist.
|
|
|
|
|
|
1995-10-02 05:46:04 +00:00
|
|
|
|
Im Environment dieses Programms werden folgende Variablen abgelegt, wenn
|
|
|
|
|
die Parameter bekannt sind:
|
2022-02-17 07:12:51 +00:00
|
|
|
|
SITE <Partner>
|
|
|
|
|
PROTOCOL <Art>
|
|
|
|
|
CLASS <Key>
|
|
|
|
|
PHONE Telefonnummer der Gegenstelle, so wie sie ankam bzw. gew<65>hlt wurde
|
1995-10-02 05:46:04 +00:00
|
|
|
|
LPHONE Lokale Nummer bzw. deren Endteil
|
2022-02-17 07:12:51 +00:00
|
|
|
|
DIRECTION "IN" oder "OUT"
|
|
|
|
|
DEVICE im Normalfall: /dev/ttyiXX
|
|
|
|
|
|
|
|
|
|
Mod:
|
|
|
|
|
.n Die Antwort wird um n Sekunden verz<72>gert, beispielsweise um einen Anruf-
|
|
|
|
|
beantworter nicht sofort abheben zu lassen.
|
|
|
|
|
,n Wenn eine automatische Verbindung nicht hergestellt werden konnte, wird
|
|
|
|
|
nach n Sekunden der Verbindungsaufbau wieder erlaubt. (Noch nicht
|
|
|
|
|
implementiert)
|
|
|
|
|
$ Die Befehlszeile wird nicht direkt ausgef<65>hrt, sondern der Shell <20>bergeben.
|
1995-09-12 03:07:18 +00:00
|
|
|
|
E Beim Auftreten eines Fehlers wird dieses Programm deaktiviert.
|
1995-10-22 10:59:20 +00:00
|
|
|
|
(Reaktivieren: AT/R.)
|
2022-02-17 07:12:51 +00:00
|
|
|
|
D /dev/ttyiXX wird angelegt und nach Programmende gel<65>scht.
|
|
|
|
|
F Das Programm wird sofort gestartet, und die Verbindung wird aufgebaut.
|
|
|
|
|
Interessant insbesondere bei Festverbindungen und SPVs.
|
|
|
|
|
L nur der angegebene Benutzer kann die Verbindung aktivieren.
|
|
|
|
|
Q strace(1) wird automatisch auf den neuen Proze<7A> losgelassen.
|
|
|
|
|
R kein Dialout via ATD m<>glich.
|
|
|
|
|
S stderr des Programms liegt auf ISDN (sonst: stderr des Treiberprogramms)
|
|
|
|
|
T Verbindung im Terminalmodus (ankommend, also zB beim Start von /bin/login).
|
|
|
|
|
U ein Eintrag in /etc/utmp wird angelegt (wichtig zB f<>r login).
|
|
|
|
|
B Die Verbindung wird beim Hochfahren des Managers automatisch aufgebaut.
|
|
|
|
|
i f<>r ankommende Verbindungen
|
|
|
|
|
o f<>r abgehende Verbindungen
|
|
|
|
|
f f<>r Festverbindungen. "B" wird hier normalerweise ebenfalls angegeben.
|
|
|
|
|
d f<>r W<>hlverbindungen
|
|
|
|
|
p f<>r Verbindungsaufbau nach Bedarf ("reconn"-Modul nicht vergessen!);
|
|
|
|
|
wird beim Programmstart automatisch mitgestartet. Die eigentliche
|
1995-09-12 03:07:18 +00:00
|
|
|
|
ISDN-Verbindung wird hierdurch _nicht_ aufgebaut, daf<61>r ist "B" gedacht.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CM-Zeile ("Card Mode")
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
Form:
|
|
|
|
|
CM <Karte> <Zahl> <Modus>
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
|
|
|
|
CM Tel? 2 transalaw
|
|
|
|
|
CM Tel? 3 transv110
|
|
|
|
|
CM Tel? 4 trans
|
|
|
|
|
CM Tel? 10 frame
|
|
|
|
|
CM Tel? 14 frame16
|
|
|
|
|
|
|
|
|
|
Assoziiert einen Modus einer Karte mit einem Schl<68>sselwort in der "ML"-Zeile.
|
|
|
|
|
Die Nummern sind im Kartentreiber fest eingebaut.
|
|
|
|
|
Momentan gibt es folgende Modi:
|
|
|
|
|
|
|
|
|
|
trans volltransparente Verbindung. Es wird st<73>ndig ein synchroner
|
|
|
|
|
64-kBit-Datenstrom <20>bertragen. Wenn nichts gesendet wird,
|
|
|
|
|
werden 1-Bits <20>bertragen. (Der Zustand "wenn nichts empfangen
|
|
|
|
|
wird" kann nicht vorkommen!)
|
|
|
|
|
transalaw wie oben, aber statt Einsen wird 0xAA gesendet ("Ruhepegel" bei
|
|
|
|
|
A-Law-Sprachkodierung). Das Senden von Rauschen, wie auf
|
|
|
|
|
gemultiplexten Satellitenleitungen, habe ich mir erspart...
|
|
|
|
|
transv110 wie oben, aber statt Einsen werden leere V.110-Frames (38.4 kBaud)
|
|
|
|
|
gesendet.
|
|
|
|
|
frame Standardmodus f<>r Daten<65>bertragung; die Karte interpretiert den
|
|
|
|
|
B-Kanal als HDLC-Datenstrom, inkl. 0-Bit-Einschieben nach 5
|
|
|
|
|
1-Bits, Pr<50>fsumme, etc.
|
|
|
|
|
frame16 16-bit breite Daten<65>bertragung auf entsprechenden
|
|
|
|
|
Festverbindungen. Funktioniert nur auf dem ersten B-Kanal
|
|
|
|
|
(der Modus greift sich einfach beide Kan<61>le) und (unter anderem
|
|
|
|
|
wegen m<>glichen Laufzeitunterschieden) nicht bei zwei
|
|
|
|
|
W<>hlverbindungen zur gleichen Zielstation.
|
|
|
|
|
/* die folgenden Modi sind noch nicht implementiert, bzw. nicht getestet */
|
|
|
|
|
frame0 Wie 'frame', aber zus<75>tzlich wird 1-Bit-Einschieben nach 7 0-Bits
|
|
|
|
|
aktiviert. F<>r Leitungen in manche Ecken der USA, die keine
|
|
|
|
|
Nulloktetts auf der Leitung zulassen (weil sie keinen externen
|
|
|
|
|
Takt verwenden).
|
|
|
|
|
framehi wie 'frame', nur werden nur die oberen 7 Bits verwendet.
|
|
|
|
|
framelo ... oder die unteren Bits. Sinnvoll dann, wenn jemand den Daten-
|
|
|
|
|
strom auf eine 56-kBaud-Leitung umsetzt.
|
|
|
|
|
|
|
|
|
|
|
1995-10-25 12:36:04 +00:00
|
|
|
|
CL-Zeile ("Connection Limit")
|
2022-02-17 07:12:51 +00:00
|
|
|
|
--------
|
|
|
|
|
|
1995-10-25 12:36:04 +00:00
|
|
|
|
Form: CL <Art> <Partner> <Key> <Karte> <Zahl>
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Beispiel>
|
1995-10-25 12:36:04 +00:00
|
|
|
|
CL * * * Tel? 2
|
|
|
|
|
|
|
|
|
|
Begrenzt die Zahl der f<>r einen gegebenen Verbindungstyp verwendbaren
|
|
|
|
|
B-Kan<61>le. Ueber das Limit hinausgehende Anrufe werden mit BUSY abgelehnt,
|
|
|
|
|
es sei denn in der entsprechenden P-Zeile steht der entsprechende
|
|
|
|
|
Parameter.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
1995-09-12 03:07:18 +00:00
|
|
|
|
LF-Zeile ("Load File")
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
Form: LF <Karte> <Segmentgr<67><72>e> <Dateiname>
|
|
|
|
|
|
|
|
|
|
L<EFBFBD>dt die Datei auf die (aktive) Karte. Mehrere LF-Zeilen k<>nnen angegeben
|
1995-10-22 10:59:20 +00:00
|
|
|
|
werden (in der richtigen Reihenfolge!). Die maximal m<>gliche Segmentgr<67><72>e
|
|
|
|
|
ist 4096.
|
1995-09-12 03:07:18 +00:00
|
|
|
|
|
|
|
|
|
|
2022-02-17 07:12:51 +00:00
|
|
|
|
RP-Zeile ("Run Program")
|
|
|
|
|
--------
|
1995-10-02 05:46:04 +00:00
|
|
|
|
|
|
|
|
|
Form:
|
|
|
|
|
RP <Art> <Partner> <Key> <Karte> <Benutzer> <Mod> <Programm> <Argumentliste...>
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
|
|
|
|
RP login * * * root IDUST$u echo "Login von $PHONE auf $DEVICE" >>/var/log/isdn.use
|
|
|
|
|
|
|
|
|
|
Hiermit wird ein Programm (plus Parameter) angegeben, das bei Eintreten
|
|
|
|
|
eines bestimmten Zustands einer Verbindung gestartet wird. Parameter siehe
|
|
|
|
|
R-Zeile; zus<75>tzliche Flags sind
|
|
|
|
|
u Start nach erfolgtem Aufbau der Verbindung
|
|
|
|
|
d Start bei Abbau einer Verbindung
|
|
|
|
|
f Start nach erfolglosem Verbindungsversuch (abgehend)
|
|
|
|
|
x Start bei tempor<6F>rer Deaktivierung eines Interface (zu viele Versuche),
|
|
|
|
|
anstehende Datenpakete werden weggeworfen
|
|
|
|
|
y Start bei Reaktivierung des Interface
|
|
|
|
|
i Start bei Aufruf des Verbindungshandlers (zB "des slipto"-Programms)
|
|
|
|
|
r Start bei abgelehntem Anruf
|
|
|
|
|
t Start nach Tod des Verbindungshandlers
|
|
|
|
|
c Stdin/out des Programms wird auf ein freies ISDN-Device gelegt.
|
|
|
|
|
(Sonst: /dev/null.)
|
|
|
|
|
s schicke keine Signale
|
|
|
|
|
|
|
|
|
|
Ein mit "u" gestartetes Programm bekommt SIGHUP gesendet, wenn es bei
|
|
|
|
|
Verbindungsende noch l<>uft; dito ein mit "d" gestartetes Programm zu
|
|
|
|
|
Beginn des m<>chsten Verbindungsaufbaus. Einem Programm, das kontinuierlich
|
|
|
|
|
l<EFBFBD>uft, wird bei jedem Statuswechsel SIGUSR1 gesendet. SIGQUIT wird an alle
|
|
|
|
|
Programme gesendet, die laufen, wenn die zugeordnete Verbindung beendet
|
|
|
|
|
wird.
|
|
|
|
|
|
|
|
|
|
Vorsicht: Mehrere Programme unter demselben Flag laufen zu lassen
|
|
|
|
|
funktioniert nur dann sicher, wenn sich alle (m<>glicherweise bis auf eines)
|
|
|
|
|
ziemlich schnell wieder beenden, sonst gibt es Probleme (mehrfach oder
|
|
|
|
|
nicht gestartete Programme).
|
|
|
|
|
|
|
|
|
|
Im Environment finden sich zus<75>tzlich:
|
|
|
|
|
|
|
|
|
|
COST f<>r die laufende Verbindung angefallene Kosten
|
|
|
|
|
CCOST insgesamt angefallene Kosten
|
|
|
|
|
CAUSE Aktueller Fehlerzustand (bei
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Module und deren Konfiguration
|
|
|
|
|
==============================
|
|
|
|
|
|
|
|
|
|
:XX <Wertbereich> <Default> Funktion eines Parameters mit Wertangabe
|
|
|
|
|
:YY Dito, ohne Wertangabe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A-Law-Coder "alaw"
|
|
|
|
|
-----------
|
|
|
|
|
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<EFBFBD>tzlich k<>nnen f<>r beide Richtungen Schwellwerte definiert werden,
|
1995-10-02 05:46:04 +00:00
|
|
|
|
unterhalb derer keine Uebertragung zugelassen wird, um Gespr<70>chspausen
|
|
|
|
|
herauszufiltern.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
1995-09-12 03:07:18 +00:00
|
|
|
|
:ro 0-127 Ansprechschwelle beim Empfang. Null schaltet permanent auf
|
|
|
|
|
"Durchgang".
|
|
|
|
|
:rx 0-127 Abschaltschwelle. T<>ne werden blockiert, wenn mehr als ..:
|
|
|
|
|
:rc 1-32767 aufeinanderfolgende Samples unterhalb der :rx-Schwelle liegen.
|
|
|
|
|
:xo :xx :xc wie :ro :rx :rc, aber f<>r den Sendeteil.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Befehlsinterpreter "proto"
|
|
|
|
|
------------------
|
|
|
|
|
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.
|
|
|
|
|
Im Online-Modus wird keine Spezialzeichenfolge wie etwa "+++" gesondert
|
|
|
|
|
interpretiert; stattdessen wird ein _BREAK_ zum Zur<75>ckschalten verwendet.
|
|
|
|
|
|
|
|
|
|
:cr 0-255 0x13 ASCII Carriage return
|
|
|
|
|
:lf 0-255 0x10 ASCII line feed
|
|
|
|
|
:bs 0-255 0x08 ASCII Backspace
|
|
|
|
|
:cc 0-255 0x03 Zeile l<>schen (Abbruch, ^C)
|
|
|
|
|
:ca 0-2 2 0: kein Hangup
|
|
|
|
|
1: Hangup bei NO CARRIER
|
|
|
|
|
2: Hangup bei CONNECT...NO CARRIER
|
|
|
|
|
:bk 0-1 1 BREAK bewirkt R<>ckkehr in den Befehlsmodus.
|
|
|
|
|
:sg 0-1 0 wenn 1, sende SIGUSR1 beim Aufbau der Verbindung und
|
|
|
|
|
SIGUSR2 beim Abbau der Verbindung
|
|
|
|
|
|
|
|
|
|
Die folgenden Codes werden normalerweise vom L4-Treiberprogramm gesendet:
|
|
|
|
|
:on schaltet auf Daten<65>bertragung
|
|
|
|
|
:of schaltet auf Befehlsmodus
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Streams->IP-Wandler (str_if)
|
|
|
|
|
-------------------
|
|
|
|
|
Implementiert ein TCP/IP-Modul. Daten werden nicht in Richtung Anwender-
|
|
|
|
|
programm, sondern in das TCP/IP-Networking des Kernels umgeleitet.
|
|
|
|
|
|
1995-10-02 05:46:04 +00:00
|
|
|
|
:mt 120-4096 512 MTU des Treibers. (Die MRU h<>ngt vom ISDN-
|
|
|
|
|
Kartentreiber ab.)
|
|
|
|
|
Paketformat:
|
|
|
|
|
:.N TCP/IP (Default).
|
|
|
|
|
:.E Ethernet-Paketheader.
|
|
|
|
|
:.P PPP-Paketheader.
|
1995-10-22 10:59:20 +00:00
|
|
|
|
:eT xxxx xxxx: hexadezimal. Angabe des <20>bertragenen Pakettyps (:.N).
|
|
|
|
|
TCP/IP ist 0800 (Default). Damit k<>nnen zB statt
|
|
|
|
|
"nackter" IP-Pakete ebensolche Appletalk-Pakete
|
|
|
|
|
<20>bertragen werden.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
ioctl(x,SIOCGETU,int) ioctl-Aufruf zur Uebertragung der Unit-Nummer ("strX",
|
|
|
|
|
0 <= X <= 15) an ein Anwenderprogramm. Das Programm kann damit die IP-
|
|
|
|
|
Adressen auf beiden Seiten des Links konfigurieren. Ein einfaches
|
|
|
|
|
Treiberprogramm, "slipto", dem lokale und entfernte IP-Adresse <20>bergeben
|
|
|
|
|
werden, ist im Verzeichnis str_if.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cisco-HDLC-Modul "fakeh"
|
|
|
|
|
----------------
|
|
|
|
|
Verwendet das Cisco-eigene "HDLC"-Protokoll. Auf der Gegenseite mu<6D>
|
|
|
|
|
(noch... hat jemand Doku zu den Tieren?) "no keepalives" konfiguriert
|
1995-10-02 05:46:04 +00:00
|
|
|
|
werden. Die Option f<>r das Paketformat mu<6D> genauso wie bei str_if
|
|
|
|
|
eingestellt sein!
|
|
|
|
|
|
|
|
|
|
:.N TCP/IP (Default).
|
|
|
|
|
:.E Ethernet-Paketheader.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IP-Monitor "ipmon"
|
|
|
|
|
----------
|
|
|
|
|
Loggt IP-Pakete mit. Das Programm "monitor" liest dieses Protokoll aus dem
|
|
|
|
|
Kernel. Die Option f<>r das Paketformat mu<6D> genauso wie bei str_if
|
|
|
|
|
eingestellt sein!
|
|
|
|
|
|
|
|
|
|
:.N TCP/IP (Default).
|
|
|
|
|
:.E Ethernet-Paketheader.
|
|
|
|
|
:.P PPP-Paketheader.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Zeitbegrenzer "timer"
|
|
|
|
|
-------------
|
|
|
|
|
Bricht die Verbindung ab, wenn eine bestimmte Zeit lang keine Daten
|
|
|
|
|
<EFBFBD>bertragen wurden.
|
|
|
|
|
Alle Zeitangaben sind in Sekunden.
|
|
|
|
|
|
|
|
|
|
:ti 60 Abstand zwischen den m<>glichen Abbruchpunkten (zB Geb<65>hrenzeittakt)
|
|
|
|
|
:to 55 Zeit zwischen Verbindungsaufbau und erster Messung
|
|
|
|
|
:tw 0 wenn zum Me<4D>zeitpunkt soviele Sekunden nichts gesendet wurde,
|
|
|
|
|
wird die Verbindung abgebrochen
|
|
|
|
|
:tr 0 dto., gelesen; eine der beiden Bedingungen reicht aus.
|
|
|
|
|
:tI die Verbindung wird unterbrochen. Dazu mu<6D> <20>ber dem timer-Modul
|
|
|
|
|
ein reconn-Modul sitzen und die Verbindung mu<6D> mit ":dI" markiert
|
|
|
|
|
sein. (Ja ich wei<65>, das sollte das Programm selber managen...
|
|
|
|
|
kommt alles noch.)
|
|
|
|
|
:tD die Verbindung wird beendet.
|
|
|
|
|
:li unterbrochen wird nur bei ankommenden Verbindungen.
|
|
|
|
|
:lo dto, bei abgehenden Verbindungen
|
|
|
|
|
:lb dto, beide Verbindungsarten (Default).
|
|
|
|
|
|
1995-09-12 03:07:18 +00:00
|
|
|
|
Vorsicht: Es macht absolut keinen Sinn, den Timer unterhalb von
|
|
|
|
|
<EFBFBD>bertragungssichernden Modulen wie x.75 oder gar Datenstrom-Modulen wie
|
|
|
|
|
v110 anzuordnen.
|
|
|
|
|
|
|
|
|
|
Der Timeout sollte mindestens dreimal so gro<72> sein wie die Zeit, die
|
|
|
|
|
typischerweise zum Verbindungsaufbau ben<65>tigt wird, weil es sonst
|
|
|
|
|
scheu<EFBFBD>liche Interaktionen mit den TCP-Retryalgorithmen gebenb kann.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
T.70 "t70"
|
|
|
|
|
----
|
|
|
|
|
Implementiert das T-70-Minimalprotokoll -- spaltet abgehende Dateneinheiten
|
|
|
|
|
auf, wenn sie zu gro<72> sind, und fa<66>t ankommende zusammen, wenn das ent-
|
|
|
|
|
sprechende Bit im T70-Header gesetzt ist.
|
|
|
|
|
|
|
|
|
|
:mt 1-4096 1024 Maximale Datenblockgr<67><72>e.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
V.110 "v110"
|
|
|
|
|
-----
|
|
|
|
|
Implementiert V.110 im 38400-Baud-Modus. Ungetestete Experimentierversion.
|
|
|
|
|
Warnung: Exzessive Kernelbelastung durch Bitschieberei etc. F<>r ernsthafte
|
|
|
|
|
Anwendungen braucht es einen entsprechenden Wandler in Hardware auf der Karte.
|
|
|
|
|
In der jetztigen Version ungetestet.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Van-Jacobsen-Kompression "vanj"
|
|
|
|
|
------------------------
|
|
|
|
|
Komprimiert TCP-IP-Header.
|
|
|
|
|
Sollte nur auf einer gesicherten Verbindung verwendet werden.
|
1995-10-02 05:46:04 +00:00
|
|
|
|
Option f<>r das Paketformat mu<6D> genauso wie bei str_if eingestellt sein!
|
|
|
|
|
|
|
|
|
|
:sz tx rx 16 16 Zahl der gleichzeitig gecachten Verbindungen.
|
|
|
|
|
Zwischen 16 und 128; jeweils Sende- und Empfangsrichtung.
|
|
|
|
|
(noch nicht implementiert)
|
1995-09-12 03:07:18 +00:00
|
|
|
|
:ac Aktiv komprimieren. (Default bei abgehenden Verbindungen.)
|
|
|
|
|
:pa Komprimieren nur, nachdem ein komprimiertes Paket ankam.
|
|
|
|
|
(Default bei ankommenden Verbindungen.)
|
1995-10-02 05:46:04 +00:00
|
|
|
|
:.N TCP/IP (Default).
|
|
|
|
|
:.P PPP-Paketheader.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
X.75 "x75"
|
|
|
|
|
----
|
|
|
|
|
Implementiert Ebene 2 des X75-Protokolls. Das Framing (Pr<50>fsumme, 1-Stopfen,
|
|
|
|
|
Interframezeichen etc.) wird von der Hardware auf der Karte erledigt.
|
|
|
|
|
|
|
|
|
|
:nk 1-7 (127) 1 Parameter "k" -- Anzahl der maximal ausstehenden
|
|
|
|
|
Datenbl<62>cke. (Die L<>nge dieser Bl<42>cke wird nicht
|
|
|
|
|
begrenzt -- siehe T70-Modul)
|
|
|
|
|
:wd 2-Byte-Befehlsw<73>rter: SABME, max(k) 127.
|
|
|
|
|
:nw 1-Byte-Befehlsw<73>rter: SABM, max(k) 7.
|
|
|
|
|
:n1 1-100 3 Parameter "N1" -- Anzahl der Wiederholungen von Poll-Frames,
|
|
|
|
|
bis ein Fehler angenommen wird.
|
|
|
|
|
:t1 1-100 10 Parameter "t1" -- Timeout f<>r unbest<73>tigte Daten- und
|
|
|
|
|
Poll-Frames in Zehntelsekunden.
|
|
|
|
|
:t3 1-1000 100 Parameter "t3" -- Timer f<>r Test, ob die Verbindung noch
|
|
|
|
|
aktiv ist. In Zehntelsekunden, mu<6D> > 2*t1 sein.
|
|
|
|
|
:ad 0-255 0-255 (dieser Parameter braucht zwei Wertangaben!)
|
|
|
|
|
1 3 Adre<72>bytes f<>r Befehls- und Meldungsframes. Sollten
|
|
|
|
|
das niederwertige Bit gesetzt haben und verschieden sein.
|
|
|
|
|
Wegen Abw<62>rtskompatibilit<69>t mit dummen Implementierungen
|
|
|
|
|
werden "falsche" Einstellungen akzeptiert.
|
|
|
|
|
:po Pollmodus -- l<>st beim Empfang einer RNR-Meldung sofort
|
|
|
|
|
einen RR/RNR-Befehl aus. F<>r Kompatibilit<69>t mit dummen
|
|
|
|
|
Gegenstellen, die vergessen, sich mit RR bereit zu melden,
|
|
|
|
|
nachdem sie RNR gesendet hatten.
|
|
|
|
|
:np schaltet den Pollmodus ab (Default).
|
|
|
|
|
:cm 012348 1 wann die X75-"Verbindung" aufgebaut wird
|
|
|
|
|
0 gar nicht -- es wird angenommen, die Verbindung existiert.
|
|
|
|
|
Zur Kompatibilit<69>t mit dummen Gegenstellen, die sich
|
|
|
|
|
auf die Steuerung im D-Kanal verlassen.
|
|
|
|
|
1 Baldm<64>glichst (abgehend)
|
|
|
|
|
2 Baldm<64>glichst (ankommend)
|
|
|
|
|
3 Baldm<64>glichst (an- und abgehend)
|
|
|
|
|
4 wenn der erste Datenblock zur <20>bertragung ansteht.
|
|
|
|
|
8 gar nicht -- es werden UI-Frames verwendet.
|
|
|
|
|
|
1995-09-12 03:07:18 +00:00
|
|
|
|
pr_on
|
|
|
|
|
-----
|
|
|
|
|
Spezialmodul, um die "Verbindung hergestellt"-Kennung auf einem Stream
|
|
|
|
|
abzusenden, der nicht <20>ber ISDN arbeitet. Wird zB vom slipto-Programm
|
|
|
|
|
verwendet.
|
|
|
|
|
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Verzeichnisstruktur der Sourcen
|
|
|
|
|
===================
|
|
|
|
|
|
|
|
|
|
alaw/ Streamsmodul f<>r alaw-Coder.
|
|
|
|
|
bin/ fertige Programme (Symlinks)
|
|
|
|
|
cards/ Treiber f<>r Karten.
|
|
|
|
|
dumb/ .. f<>r dumme Karten (mit Siemens-Chipsatz).
|
|
|
|
|
config/ Konfigurationsteil.
|
1995-10-02 05:46:04 +00:00
|
|
|
|
fakeh/ "Cisco-HDLC"-Modul.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
final/ Installationsteil; final/Makefile wird als letztes aufgerufen
|
|
|
|
|
include/ Includedateien (was sonst...)
|
|
|
|
|
ip_mon/ TCP/IP-Monitorprogramm nebst Streamstreiber/Modul.
|
|
|
|
|
isdn_2/ Schicht-2-Treiber f<>r ISDN (D-Kanalsteuerung, B-Kanal-Routing).
|
|
|
|
|
isdn_3/ Schicht-3-Treiber (1TR6 etc.).
|
|
|
|
|
isdn_4/ Steuerprogramm (besagter wilder Hack).
|
1995-09-12 03:07:18 +00:00
|
|
|
|
ksupport/ Supportkram f<>r den Kernel, diverse Streamsmodule,
|
|
|
|
|
Supportcode f<>r die ISDN-Protokollhandler.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
reconnect/ Streamsmodul zum dynamischen Wiederaufbau einer Verbindung.
|
|
|
|
|
strslip/ Streamsmodul f<>r SLIP-Framing.
|
|
|
|
|
str_if/ Streamsmodul f<>r Anbindung an TCP/IP.
|
|
|
|
|
support/ Supportkram f<>r Anwendungsprogramme.
|
|
|
|
|
t70/ Streamsmodul f<>r T-70.
|
|
|
|
|
timer/ Streamsmodul zum Trennen einer Verbindung (Timeout).
|
|
|
|
|
v110/ Streamsmodul f<>r V.110. Momentan ungetestet.
|
|
|
|
|
van_j/ Streamsmodul f<>r VanJ-TCP/IP-Headerkompression. Funktioniert
|
|
|
|
|
momentan nur auf gesicherten Verbindungen 100%ig.
|
|
|
|
|
x75/ Streamsmodul f<>r X.75-Handling.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Programme und -Optionen
|
|
|
|
|
=======================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
isdn_4/master alias bin/isdn
|
|
|
|
|
----------------------------
|
|
|
|
|
|
|
|
|
|
Steuerprogramm f<>r den gesamten ISDN-Kram.
|
|
|
|
|
|
|
|
|
|
-d Debugging; verhindert da<64> das Programm sich selber in den
|
|
|
|
|
Hintergrund setzt.
|
|
|
|
|
-f dev Steuerdevice anstelle von /dev/isdnmon.
|
|
|
|
|
-I Debugbefehle werden von stdin gelesen.
|
|
|
|
|
-t Testflag. Nicht verwenden.
|
|
|
|
|
-l setzt ein strlog-Modul auf die Steuerverbindung. Debugging.
|
|
|
|
|
-L setzt ein qinfo-Modul auf die Steuerverbindung. Debugging.
|
|
|
|
|
-w setzt ein strlog-Modul auf die programminterne Verbindung zwischen
|
|
|
|
|
dem eigentlichen Programm und dem ISDN-Level-3-Code. Debugging.
|
|
|
|
|
-x file Datei mit (internen) Steuerbefehlen, die nach dem vollst<73>ndigen Start
|
|
|
|
|
des ISDN-Krams ausgef<65>hrt wird. Ungetestet.
|
|
|
|
|
file... Steuerdateien.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
monitor
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
|
|
Protokolliert die vom ip_mon-Modul gemeldeten IP-Daten.
|
|
|
|
|
-a numerische Angabe der lokalen IP-Adressen.
|
|
|
|
|
-b numerische Angabe der entfernten IP-Adressen.
|
|
|
|
|
-c numerische Angabe der IP-Protokolle.
|
|
|
|
|
-l Debugging; setzt strlog-Modul ein.
|
1995-10-02 05:46:04 +00:00
|
|
|
|
-n Die network/services-Dateien werden nicht permanent offengehalten.
|
|
|
|
|
-h Die hosts-Dateien werden nicht permanent offengehalten.
|
|
|
|
|
Das gilt auch f<>r die Verbindung zum Nameserver.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
1995-10-02 05:46:04 +00:00
|
|
|
|
Monitor kann auch zum Blockieren von IP-Paketen verwendet werden. Das ist
|
|
|
|
|
allerdings ungetestet; besser ist es, Firewall-Support in den Kernel
|
|
|
|
|
einzubauen.
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
slipto
|
|
|
|
|
------
|
|
|
|
|
|
|
|
|
|
Kontrollprogramm f<>r den TCP/IP-Kram. Macht bei Verwendung mit ISDN _kein_
|
|
|
|
|
"slip"; wenn jemand (zB ein Amiga mit KA9Q) auf SLIP besteht, mu<6D> das
|
|
|
|
|
"slip"-Modul via ML-Zeile explizit eingesetzt werden.
|
|
|
|
|
|
|
|
|
|
-d eine "Default"-Route zur Gegenseite wird eingerichtet.
|
|
|
|
|
-m mtu setzt die MTU auf den angegebenen Wert. (Die MRU ist auf 4000 Bytes
|
|
|
|
|
begrenzt.)
|
|
|
|
|
-R ip die IP-Nummer "ip" wird zur Gegenseite geroutet. (route -host)
|
|
|
|
|
-r ip Das IP-Netz "ip" wird zur Gegenseite geroutet. (route -net)
|
|
|
|
|
-r ip:nm Das IP-Netz "ip" wird mit der Netmask "nm" zur Gegenseite geroutet.
|
1995-10-02 05:46:04 +00:00
|
|
|
|
-A arpaddr setzt Proxy-ARP-Adresse f\ur alle Routen zur Gegenstelle.
|
|
|
|
|
Die korrekte "arpaddr" wird von "ifconfig eth0" ausgegeben.
|
|
|
|
|
(Vorsicht beim Wechsel der Ethernetkarte!)
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
1995-09-12 03:07:18 +00:00
|
|
|
|
Die folgenden Optionen werden _nicht_ im ISDN-Betrieb verwendet, sondern im
|
1995-10-02 05:46:04 +00:00
|
|
|
|
Standalonebetrieb mit anderen Streams-Treibern. Im ISDN-Betrieb werden
|
|
|
|
|
diese Optionen nicht verwendet; stattdessen werden die entsprechenden
|
|
|
|
|
Module auf der ML-Konfigurationszeile eingetragen.
|
1995-09-12 03:07:18 +00:00
|
|
|
|
|
|
|
|
|
-L protokolliert den Dialog zum Modem.
|
|
|
|
|
-l Debugging: setzt qinfo-Modul ein.
|
|
|
|
|
-ll zus<75>tzlich count-Modul.
|
|
|
|
|
-lll zus<75>tzlich strlog-Modul.
|
|
|
|
|
-M setzt IP-Monitor-Modul ein.
|
|
|
|
|
-S Betrieb auf synchroner Leitung: verwende kein "slip"-Modul.
|
|
|
|
|
-E Autoenable; wenn slipto auf einer bestehenden Verbindung gestartet
|
|
|
|
|
wird.
|
|
|
|
|
-o schickt ATA zur Leitung und wartet auf CONNECT.
|
|
|
|
|
-p dev <20>ffnet Device "dev". (Man verwende "/dev/tty" f<>r stdin/out.)
|
|
|
|
|
-v verwende Van-Jacobsen-Headerkompression.
|
|
|
|
|
-f verwende Cisco-HDLC-Header.
|
|
|
|
|
|
|
|
|
|
Die folgenden Parameter m<>ssen immer angegeben werden:
|
|
|
|
|
|
|
|
|
|
ip_loc lokale IP-Nummer.
|
|
|
|
|
Kann auch auf anderen Interfaces (Ethernet) verwendet werden!
|
|
|
|
|
ip_rem IP-Nummer der Gegenstelle.
|
|
|
|
|
Die beiden Nummern muessen nicht im gleichen Netz sein!
|
2022-02-17 07:12:51 +00:00
|
|
|
|
|
|
|
|
|
Hackers Corner
|
|
|
|
|
==============
|
|
|
|
|
|
|
|
|
|
Debuggingoptionen:
|
|
|
|
|
Das Masterprogramm schickt Debugkram nach stdout. Umleiten nach /dev/null
|
|
|
|
|
wenn's st<73>rt.
|
|
|
|
|
|
|
|
|
|
In isdn/cards/dumb/Config.c stehen ein paar DEBUG_*-Flags.
|
|
|
|
|
|
|
|
|
|
In isdn/config/config.data finden sich die Konstanten CONF_DEBUG und
|
|
|
|
|
CONF_MOD2, die das Verhalten von isdn_2/isdn_2.c kontrollieren.
|
|
|
|
|
|
|
|
|
|
Hinweis: Wenn alles funktioniert, kann man die Debuggerei getrost
|
|
|
|
|
abschalten. Allerdings ist dann die Fehlersuche so gut wie unm<6E>glich...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Module
|
|
|
|
|
======
|
|
|
|
|
|
|
|
|
|
strlog
|
|
|
|
|
------
|
|
|
|
|
|
|
|
|
|
protokolliert absolut alles mit, was <20>ber dieses Modul an Daten l<>uft.
|
|
|
|
|
|
|
|
|
|
"xstrlog" macht dasselbe wie "strlog", nur werden DATA-Pakete (also die
|
|
|
|
|
eigentlichen <20>bertragenen Informationen) nicht mitgeschrieben.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
qinfo
|
|
|
|
|
-----
|
|
|
|
|
|
|
|
|
|
Gibt alle N Sekunden eine Meldung <20>ber den aktuellen Zustand des
|
|
|
|
|
Datenstroms vom ISDN-Modul zum Anwendungsprogramm aus. N<>tzlich, wenn
|
|
|
|
|
man sehen will, wo die Daten h<>ngenbleiben.
|
|
|
|
|
:tm Zeit zwischen Meldungen, in Sekunden.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
count
|
|
|
|
|
-----
|
|
|
|
|
|
|
|
|
|
Z<EFBFBD>hlt mit, wieviele Datenpakete durchlaufen und wie lang diese sind.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Systemmeldungen
|
|
|
|
|
===============
|
|
|
|
|
Diese werden zwischen dem "proto"-Modul und dem ISDN-Treiber ausgetauscht
|
|
|
|
|
und informieren diese und die dazwischenliegenden Module vom Zustand einer
|
|
|
|
|
Verbindung.
|
|
|
|
|
"->L2" und "->Cmd" deuten an, dass die Meldung in Richtung ISDN-Treiber oder
|
|
|
|
|
"proto"-Modul gesendet werden.
|
|
|
|
|
|
|
|
|
|
in die Verbindung wird ankommend sein (->Cmd)
|
|
|
|
|
ou die Verbindung wird abgehend sein (->Cmd)
|
|
|
|
|
os X Reserviert zus<75>tzlichen Pufferplatz am Anfang von Datenbl<62>cken.
|
|
|
|
|
(Separat f<>r beide Richtungen, wird automatisch initiiert.)
|
|
|
|
|
Module inkrementieren X, um die Zahl der Bytes, die sie selbst maximal
|
|
|
|
|
als Header vor die Daten stellen, und reservieren eine entsprechende
|
|
|
|
|
Anzahl beim Anfordern eines neuen Datenblocks.
|
|
|
|
|
"os" signalisiert au<61>erdem, da<64> der Aufbau des Modulstacks abge-
|
|
|
|
|
schlossen ist. Module k<>nnen sich also nach der Weitergabe dieser
|
|
|
|
|
Meldung untereinander unterhalten, wenn n<>tig.
|
|
|
|
|
li B-Kanal ankommend geschaltet, zB W<>hlton beim Telefon (->Cmd)
|
|
|
|
|
hl B-Kanal-Durchschaltung akzeptiert (->L2)
|
|
|
|
|
co B-Kanal bidirektional geschaltet (->Cmd)
|
|
|
|
|
hc Verbindung hergestellt (->L2)
|
|
|
|
|
|
|
|
|
|
wi Befehl zur Herstellung einer Unterbrechung (->Cmd)
|
|
|
|
|
is Verbindung unterbrechen (->L2)
|
|
|
|
|
is Verbindung ist unterbrochen (->Cmd)
|
|
|
|
|
hi R<>ckmeldung: Verbindung unterbrochen(->L2)
|
|
|
|
|
wd Befehl zum "sauberen" Abbau der Verbindung(->Cmd)
|
|
|
|
|
di Verbindung abbauen (->L2)
|
|
|
|
|
di Verbindung ist abgebaut (->Cmd)
|
|
|
|
|
hd R<>ckmeldung: Verbindung ist getrennt, evtl wird NO CARRIER gemeldet.
|
|
|
|
|
|
|
|
|
|
Wer beobachten will, wie genau diese Meldungen transpoortiert werden,
|
|
|
|
|
verwende ein xstrlog-Modul.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Euro-ISDN: Bearer Capability und andere Feinheiten
|
|
|
|
|
=========
|
|
|
|
|
|
|
|
|
|
Die Informationselemente sind in mehrere Bl<42>cke aufgeteilt. Jeder Block
|
|
|
|
|
wird dadurch begrenzt, da<64> das h<>chstwertige Bit auf 1 steht. Die
|
|
|
|
|
weggelassenen Bytes haben Defaultwerte. Ich f<>hre hier die wichtigsten
|
|
|
|
|
Codierungen auf; der Rest steht in der Q.931.
|
|
|
|
|
|
|
|
|
|
1 1AABBBBB AA Codierungsstandard
|
|
|
|
|
00 CCITT
|
|
|
|
|
BBBBB Datenformat
|
|
|
|
|
00000 Sprache
|
|
|
|
|
01000 digitale Daten
|
|
|
|
|
10000 Audio, 3.1 kHz
|
|
|
|
|
2 1AABBBBB AA Modus
|
|
|
|
|
00 Standard
|
|
|
|
|
BBBBB <20>bertragungsgeschwindigkeit
|
|
|
|
|
10000 64 kBit
|
|
|
|
|
3 x01AAAAA AAAAA Schicht-1-Protokoll
|
|
|
|
|
00001 V.110
|
|
|
|
|
00011 A-law Audio
|
|
|
|
|
01000 V.120
|
|
|
|
|
01001 X.31 mit HDLC-Flags.
|
|
|
|
|
|
|
|
|
|
Hinter einem Hexstring kann ein weiterer String angegeben werden, der als
|
|
|
|
|
Maske dient, welche Bits bei ankommenden Rufen beachtet werden. Die h<>chst-
|
|
|
|
|
wertigen Bits haben dieselbe Bedeutung wie oben und k<>nnen zum Abk<62>rzen
|
|
|
|
|
verwendet werden. Siehe support/vectcmp.c.
|
|
|
|
|
|
|
|
|
|
Beispiel:
|
|
|
|
|
:vB 9090A3 EFFFFF -- Sprache oder 3.1kHz Audio, f<>r den Anrufbeantworter
|
|
|
|
|
:vB 8890 -- (alle Bits signifikant) entspricht :sv 0700, f<>r
|
|
|
|
|
Datenverbindungen aus dem 1TR6-Raum
|
|
|
|
|
|
|
|
|
|
[ Falls jemand anders den Rest der relevanten Teile der Q.931 abtippen
|
|
|
|
|
will, nur zu... ]
|
|
|
|
|
|
|
|
|
|
Ansonsten: Sich von der Gegenstelle anrufen zu lassen und die betreffenden
|
|
|
|
|
Daten einfach einzutragen ist wohl die einfachste Methode.
|
|
|
|
|
|
1995-10-22 10:59:20 +00:00
|
|
|
|
|
|
|
|
|
Karten mit CAPI: Die CAPI ist doof...
|
|
|
|
|
===============
|
|
|
|
|
|
|
|
|
|
Im Internet hei<65>t es in so gut wie jedem RFC, da<64> reservierte Bits beim
|
|
|
|
|
Senden auf Null zu setzen und beim Empfangen zu ignorieren sind. Nicht so
|
|
|
|
|
in der CAPI 1.1, dort sind gesetzte reservierte Bits ein Grund f<>r eine
|
|
|
|
|
Fehlermeldung. Da aber nirgends definiert oder abfragbar ist, welche Bits
|
|
|
|
|
eigentlich erlaubt sind, ist es so gut wie unm<6E>glich, ohne Ratespiel neue
|
|
|
|
|
Features zu unterst<73>tzen...
|
|
|
|
|
|
|
|
|
|
Wie dem auch sei, die Infobits haben folgende Bedeutung:
|
|
|
|
|
00000001 Geb<65>hreneinheiten
|
|
|
|
|
00000002 Datum
|
|
|
|
|
00000004 Display
|
|
|
|
|
00000008 User-User Info
|
|
|
|
|
00000010 Cause
|
|
|
|
|
00000020 Status des gerufenen Teilnehmers
|
|
|
|
|
00000040...
|
|
|
|
|
80000000 reserviert
|
|
|
|
|
|
|
|
|
|
Die EAZ-Bits:
|
|
|
|
|
0001 Null ("Global Call", wird aber nicht besonders behandelt)
|
|
|
|
|
0002 Eins ...
|
|
|
|
|
0200 Neun
|
|
|
|
|
0400...
|
|
|
|
|
8000 reserviert
|
|
|
|
|
|
|
|
|
|
Die Dienstkennungen, entsprechend :sv 00xx ... 0Fxx:
|
|
|
|
|
0001 Bildtelefon
|
|
|
|
|
0002 Telefonie
|
|
|
|
|
0004 a/b-Dienste
|
|
|
|
|
0008 X.21-Dienste
|
|
|
|
|
0010 Telefax Gruppe 4
|
|
|
|
|
0020 BTX, 64 KBit/sec
|
|
|
|
|
0040 ?
|
|
|
|
|
0080 DF<44>
|
|
|
|
|
0100 X.25
|
|
|
|
|
0200 Teletext
|
|
|
|
|
0400 Mixed Mode
|
|
|
|
|
0800 ?
|
|
|
|
|
1000 ?
|
|
|
|
|
2000 Fernwirken
|
|
|
|
|
4000 Grafiktelefon
|
|
|
|
|
8000 BTX (CEPT-Standard)
|
|
|
|
|
|
|
|
|
|
Ankommende Rufe, die zu diesen EAZs und Diensten passen, werden
|
|
|
|
|
durchgereicht (und die angeforderten Informationen werden gemeldet, wenn
|
|
|
|
|
die Vermittlung sie sendet(!)); andere Rufe werden ignoriert.
|
|
|
|
|
|