Dieser Abschnitt enthält einen Rundumschlag über die wichtigsten Begriffe und Konzepte, die man kennen muß, um ISDN unter Linux richtig zu nutzen.
ISDN steht für Integrated Services Digital Network.
Fangen wir von hinten an: Es handelt sich um ein Netzwerk. Über die beiden Kupferdrähte wird also z.B. nicht nur eine Point-To-Point Verbindung aufgebaut, sondern es können mehrere Verbindungen gleichzeitig bestehen.
Die Daten werden alle digital ausgetauscht. Analogdienste wie z.B. Fax der Gruppe 3 sind hierüber daher potentiell schwieriger zu handeln. Normalerweise werden Analogdienste über Spezialgeräte wie a/b-Wandler oder TK-Anlagen an ISDN angeschlossen.
Integrated Services deutet an, daß verschiedene Dienste über dieses Netzwerk behandelt werden können. Typische Services sind Analoge-Sprache (SI=0) oder ISDN-Daten (SI=7), was uns hier interessiert.
Der Endpunkt der Telekom-Leitung ist der NTBA (kurz auch NT), der Network Terminator Basis-Anschluß. Das ist der kleine graue Kasten, an dem für die Telekom das Netzwerk aufhört.
An einem NTBA können normalerweise zwei Kabel herausgeführt werden, diese bilden gemeinsam ein Bus-System, den sogenannten S0-Bus.
An den S0-Bus können acht Endgeräte angeschlossen werden. Typische Endgeräte sind ISDN-Telefone, TK-Anlagen G4-Fax-Geräte, ISDN-Terminaladapter und ISDN-Karten.
Der S0-Bus bietet drei Kanäle: einen Steuerkanal, der D-Kanal genannt wird, und zwei Datenkanäle, die Nutzkanäle oder B-Kanäle genannt werden. Über die B-Kanäle werden die eigentlichen Daten übertragen. Jeder B-Kanal bietet eine Geschwindigkeit von 64 kbit/s, wobei die beiden B-Kanäle für Verbindungen zu zwei unterschiedlichen Partnern und für unterschiedliche Dienste genutzt werden können.
Auf dem D-Kanal können verschiedene Protokolle gefahren werden. Üblich sind 1TR6 (altes nationales ISDN), DSS1 (Euro-ISDN, der Quasi-Standard in 24 Ländern) und N1 in den USA. Der D-Kanal dient u.a. zur Übermittlung des Wunsches eines Verbindungsauf- und abbaus, der Übermittlung der Telefonnummern und der Gebühren. Bei einem falsch eingestellten Protokoll klappt also sehr wenig.
Die Art und Weise, wie die Telefonnummer gemeldet und genannt wird, hängt vom D-Kanal-Protokoll ab:
EAZ (Endgeräte-Auswahl-Ziffer): Es handelt sich also nur um eine Ziffer, die Rufnummer des Basisanschlusses wird nicht betrachtet.
MSN (Multiple-Subscribe-Number): Hier ist eine komplette Rufnummer gemeint, also alles hinter der Vorwahl.
Die Bezeichnungen EAZ und MSN sind bei I4L ansonsten
synonym zu benutzen, wenn das richtige Protokoll angegeben
wurde.
Bei einem eingehenden Anruf wird hoffentlich die
Zielrufnummer übertragen, genannt CPN (called party
number). Ist sie nicht bekannt, setzt sie I4L auf 0
.
Bekanntlich können für einen Anschluß mehrere Telefonnummern vergeben werden. Diese signalisiert die Vermittlungsstelle, kurz VSt genannt, auf dem D-Kanal (CPN) zusammen mit dem Service-Indikator (SI). Mehr passiert bei einem ankommenden Anruf erst mal nicht. Es ist danach Aufgabe der Endgeräte, sich entsprechend zu verhalten: ignorieren, abweisen, oder den Anruf annehmen.
Da der SI zusammen mit der Nummer auf dem D-Kanal übermittelt wird, kann dieselbe Telefonnummer mehrfach genutzt werden. So reagiert z.B. das Telefon nur auf SI=0, der PC nur auf SI=7.
Bei einem ausgehenden Call muß das Endgerät die MSN angeben; diese wird dann auch dem Partner übermittelt. Wird keine MSN gesetzt, was I4L nicht zuläßt, setzt die VSt die Nummer ein; wird eine falsche MSN gesetzt, bekommt man keine Verbindung (Erfahrungswerte).
Mehr zu ISDN-Grundlagen findet sich auf:
http://www.dtag.de/angebot/isdn/lexikon/right.htm
Wer die Wahl hat zwischen einem direkten Anschluß am NTBA und einem internen S0-Bus an einer TK-Anlage, sollte sich für den direkten Anschluß entscheiden. Der Betrieb über TK-Anlagen birgt immer gewisse Überraschungen.
Wenn man eine TK-Anlage am selben NTBA (S0-Bus) wie die ISDN-Karte angeschlossen hat, gibt es keine Probleme. Die TK-Anlage verhält sich wie ein normales ISDN-Endgerät. Welche Dienste die TK-Anlage den an sie angeschlossenen Endgeräten anbietet, spielt hier keine Rolle.
Das Verhalten der TK-Anlage hängt unter anderem vom Typ, von der installierten Software und vor allem von deren Konfiguration und damit vom entsprechenden Service-Techniker ab.
Bei älteren Anlagen wird oft entgegen allen Aussagen 1TR6 anstatt DSS1 gefahren. Die Verbindungstypen können abhängig vom Service-Indikator konfiguriert werden, wobei oft nur Voice-Calls konfiguriert sind. Weiterhin besteht die Schwierigkeit, herauszufinden, welche MSN/EAZ man zu benutzen hat.
Bevor man sich auf andere verläßt, sollte man den Praxistest Selbstanruf machen, siehe Abschnitt Hardware testen. Ein wesentlicher Unterschied ist, daß man nicht mit allen anderen lokalen Teilnehmern an einem Bus angeschlossen ist, sondern die TK-Anlage für jeden einzelnen Anschluß einen eigenen S0-Bus nach außen führt, an den meist nur ein Endgerät angeschlossen wird. Dieser Anschluß bekommt eine eigene Durchwahl zugewiesen, oft 2-stellig.
Die beste Veranschaulichung ist die, daß man sich seine TK-Anlage als eine eigene Vst vorstellt.
Beispiel: In Ortsnetz 321 ist eine TK-Anlage mit der Rufnummer 654 an einem Primärmultiplex-Anlagenanschluß installiert. Es gibt also mehr als zwei Amtsleitungen, alternativ könnte dies auch ein Bündelanschluß sein; dieses spielt aus dieser Sicht keine Rolle. Es sind 20 interne Leitungen vorhanden, wobei die ersten 10 für Telefone und die zweiten 10 für ISDN-Karten vorgesehen sind. Die Durchwahlnummern seien 10-19 für die Telefone und 20-29 für die ISDN-Karten. Die S0-Busse für die ISDN-Karten seien auf DSS1 konfiguriert.
Dann ist als MSN jeweils 20 bis 29 zu benutzen, denn das sind
die MSNs im Ortsnetz Firma (=321654).
Weiterhin ist zu beachten, daß man zusätzlich eine
0
wählen muß, um aus dem Ortsnetz Firma erst mal
herauszukommen. Um z.B. die Nummer 987 im Ortsnetz
654 anzurufen, muß man 0987
wählen, wobei der
Gegenstelle als Rufnummer 65420
angezeigt wird.
Will man in Berlin anrufen, wählt man selbst die
0030....
an und dort wird 32165420
übermittelt.
Will man selber eine Benutzerauthenifizierung beim Dial-In über die
Telefonnummer machen, gibt es nur eine sinnvolle
Herangehensweise: anrufen lassen. Die in /var/log/messages
angezeigte Nummer kann man dann mittels Cut&Paste in die
entsprechende Konfigurationsdatei übernehmen.
Wie oben erwähnt, muß man bei I4L immer die MSN setzen, um wählen zu können. Die Angabe der MSN ist wichtig, da ansonsten meist nichts funktioniert. Die erste Frage ist dabei immer, ob man direkt am NTBA oder an einer TK-Anlage angeschlossen ist.
Man kann sich eine der drei oder mehr zugewiesenen MSNs aussuchen. Diese MSN wird der Gegenstelle übermittelt. Wird die MSN zur Überprüfung des Partners benutzt (z.B. bei rawip), muß man sich mit der Gegenstelle natürlich fest auf eine einigen. Ansonsten hat man die freie Wahl, man kann durchaus seine normale Voice-Nummer benutzen.
Man ist auf die Konfiguration der TK-Anlage angewiesen. Die einfachste Methode ist der Selbsttest, siehe Abschnitt Hardware testen.
Das Protokoll auf dem D-Kanal erlaubt es, Meldungen zu verschicken, die über den Grund bei einem Verbindungsabbruch und bei nicht erfolgreichem Verbindungsaufbau informieren.
Die Meldungen werden in /var/log/messages
vom
i4l-Subsystem als sogenannte cause
-Meldungen gespeichert.
Die Art der Meldung hängt vom verwendeten Protokoll
ab (1TR6 oder DSS1). Bei DSS1 wird ein E
(für Euro-ISDN)
vorangestellt, dahinter folgen vier hexadezimale Ziffern.
Die ersten beiden geben Auskunft darüber, wo diese
Meldung generiert wurde (bei welcher VSt); die letzten
beiden Ziffern geben den eigentlichen Grund an.
Der isdnlog
übersetzt uns freundlicherweise die Meldungen
in Klartext; wenn der nicht läuft, z.B. bei aktiven ISDN-Karten,
kann man die Meldungen mittels man isdn_cause
auflösen.
Nicht alle Meldungen müssen dramatisch sein und auf einen Fehler hinweisen.
Bei folgendem Beispiel ist die Ursache, daß der andere Teilnehmer normal, vermutlich wegen einem Timeout, aufgelegt hat:
kernel: isdn: hisax1,ch0 cause: E0010
kernel: ippp0: remote hangup
Bei dem zweiten Beispiel wird die Meldung dadurch verursacht, daß die VSt des anderen Teilnehmers uns mitteilt, daß dort der Anschluß besetzt ist:
kernel: isdn: hisax1,ch0 cause: E0511
isdnlog: Mar 19 20:00:32 tei 70 calling Leibnitz with
Kfr User busy (Private network serving remote user)
Wenn alle Kanäle belegt sind, bekommt man folgende Meldung:
kernel: isdn: hisax1,ch0 cause: E0022
isdnlog: Mar 19 21:37:16 tei 70 calling Klein with +49 911/
333, N|rnberg No circuit/channel available (User)
Die nachfolgende Meldung erhält man immer dann, wenn die Zielrufnummer nicht zugewiesen ist:
kernel: isdn0: dialing 1 1111111111...
isdnlog: Apr 13 15:05:18 * tei 84 calling +49 911/111111111,
N|rnberg with Kfr RING (Data)
kernel: isdn: hisax1,ch0 cause: E0201
isdnlog: Apr 13 15:05:19 * tei 127 calling ? with ? Unallocated
(unassigned) number (Public network serving local user)