home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 3 Comm
/
03-Comm.zip
/
isdnco.zip
/
ISDNCOM.ASC
next >
Wrap
Text File
|
1994-06-03
|
56KB
|
1,275 lines
micado ISDNCOM/2
ISDN Software-COM-Port-Emulation für OS/2
(c) Copyright micado SoftwareConsult GmbH 1992-1994
Editorisches Datum: 3. Juni 1994
1.Einleitung
Durch Bereitstellung der hohen Transferrate (64 KBps pro Datenkanal) stellt ISDN - das digitale
Leitungsnetz der Telekom - das ideale Medium zum Transfer von großen Datenmengen dar.
Durch Emulation der COM-Schnittstelle ermöglicht es ISDNCOM/2, die klassischen Async-
Anwendungen, wie z.B. Terminal-Programme, Mailbox-Systeme, Mailrouter oder auch komplexe
Applikationen wie Lotus Notes über ISDN-Verbindungen zu betreiben und somit die
Übertragungszeiten erheblich zu reduzieren.
Durch weitgehende Emulation des COM.SYS-Verhaltens (OS/2 Async-Treiber) kann die
Kompatibilität zu einer Vielzahl von OS/2-Applikationen gewährleistet werden, die ansonsten nur
über Modem-Verbindungen betreibbar sind. Hierzu zählen unter anderem Lotus Notes, micRC/2,
PolyPM, TCP/IP-Implementierungen, die das SLIP-Protokoll verwenden.
Durch Einsatz von ISDNCOM/2 ergeben sich folgende Vorteile
* Je nach Protokoll bis 64000 (X.75) bzw. 38400 (V.110) Baud, dadurch erhöhte
Leitungskapazität und verminderte Kosten gegenüber asynchron
* verbesserte Leitungsqualität durch digitale Netzübergänge
* Zwei B-Kanäle pro S0-Anschluß
* Automatischer Verbindungsauf- und -abbau
* Zeigesteuertes Trennen der Verbindung in der Ruhephase (Idle-Watchdog)
* Zugangsschutz durch Rufnummerntabelle; dadurch werden die GBG-Gebühren der Telekom
(DM 30,- pro Monat und Teilnehmer) gespart
* B2-Protokoll einstellbar (X.75/V.110/X.75-BTX/MODEM)
* Unterstützung des ITK-Modemprotokolls zum Übergang in die Analogwelt
* Datenkompression und Verschlüsselung (je nach Adapter)
* Anzeige der ISDN-Causecodes zur Fehleranalyse
* mehrere Ports pro System möglich
* Devicename konfigurierbar (z.B. COM3, COM9, ISDN1 etc.)
* Kein physischer COM-Port nötig
zusätzlich geplant sind:
* herstellerunabhängige B-Kanalbündelung zur Steigerung des Durchsatzes (> 64 KB)
* lastgesteuerte B-Kanalbündelung
* D-Kanal-X.25-Verbindungen, sobald diese von der Telekom freigegeben werden
* Unterstützung der AVM-B1- und Diehl DIVA (ISA/MCA, PCMCIA)-Adapter
1.1.Einsatzumgebungen
1.1.1.Lotus Notes
Der Betrieb von Lotus Notes-Servern und -Clients erfolgt in der Regel im LAN. Zur Vernetzung
von Lotus Notes-Servern oder Heimarbeitsplätzen müssen Remote-Zugänge geschaffen werden.
Dies geschieht in der Regel über Telefonstrecken, die jedoch erhebliche Nachteile aufweisen:
* Geschwindigkeit (je nach Modem bis 19200 Baud)
* hohe Gebühren (Orts-/Nah-/Fernbereich)
* erhöhte "Dokument-/Mail-Laufzeiten" durch "langsame" Replikationswege
* komplizierte Installation bei mehr als zwei Leitungen (extra Karte, Treiber)
Zur Lösung dieser Probleme hat die micado den Treiber ISDNCOM/2 entwickelt, der es ermöglicht,
Lotus Notes-Stationen (Server und Clients) über ISDN-Strecken miteinander zu verbinden.
Mit Hilfe der Kapazität einer ISDN-Leitung wird eine wesentlich erhöhte Leitungskapazität
geschaffen, die gerade bei Replikationen von größeren Lotus Notes-Datenbanken sehr willkommen
ist.
ISDNCOM/2 unterstützt sowohl das Weiterleiten von Mail als auch das Replizieren von
Datenbanken (sowohl zwischen Servern als auch zwischen Server und Workstation). Die Replikation
einer oder aller gemeinsamen Datenbanken kann dabei im Vorder- oder Hintergrund erfolgen. Auch
stehen die Funktionen zum manuellen oder automatischen Verbindungsabbau (∩Verbindung trennen,
wenn fertig∩-Option) zur Verfügung.
Durch die Einbindung als COM-Port-kompatiblen Treiber bleibt die vollständige Konfigurierbarkeit
innerhalb Notes gewährleistet. Die Einbindung in Lotus Notes erfolgt analog dem Hinzufügen neuer
Modems zum Server. Eine entsprechende .MDM-Datei wird mitgeliefert (siehe Anhang).
1.1.2.Fernwartung
Durch die erhöhte Übertragungsgeschwindigkeit eignet sich ISDN auch hervorragend zur
Fernbedienung/-wartung von PCs. Die wenigsten Produkte in diesem Bereich bieten jedoch, anders
als micRC/2, die Möglichkeit ISDN-Verbindungen zu diesem Zweck aufzubauen.
Durch Emulation der COM-Schnittstelle kann diesen Anwendungen jedoch das Verhalten eines
HAYES-kompatiblen Modems vorgetäuscht werden (Konfiguration, Anwahl, Trennen der
Verbindung etc.). Nach Herstellung der Verbindung arbeitet ISDNCOM/2 dann für die Applikation
völlig transparent, so daß keinerlei Anpassungen der Applikation notwendig sind und der Benutzer in
den Genuß der wesentlich erhöhten Transferrate kommt. Erst bei der von ISDN gebotenen
Übertragungsleistung ist eine Fernbedienung der PM-Oberfläche sinnvoll, da ansonsten die
anfallenden Grafikdaten nicht bewältigt werden können.
1.1.3.Netzwerk
Im TCP/IP-Bereich bieten diverse Hersteller (u.a. IBM und FTP) die Möglichkeit, ihre TCP/IP-
Implementierungen auch über Modemverbindungen (mittels SLIP-Protokoll) zu betreiben. Wechselt
man nun den Modem-Port gegen einen ISDNCOM/2-Port aus, kann die gleiche Konfiguration auch
über ISDN-Strecken genutzt werden.
IBM LAN Distance/2 bitet die Möglichkeit, Verbindungen zum IBM OS/2 LAN Server über
Telefonleitung auzubauen. Durch die Nachbildung eines COM-Ports kann LAN-Distance/2 in
Verbindung mit ISDNCOM/2 auch über ISDN-Verbindungen betrieben werden, ohne teure
Hardware (IBM ISDN Coprocessor) einsetzen zu müssen.
1.1.4.Terminal-/Mailbox-Betrieb, Mail-Router
Klassisches Anwendungsgebiet der Modemverbindungen ist die Mailboxwelt. In den verschiedenen
Systemen (BBS, Fidonet, Internet etc.) werden täglich gigantische Datenmengen transferiert, die
aufgrund der langsamen Verbindungen (mittlerweile i.d.R. zumindest 9600 oder 19200 Baud)
erhebliche Zeit in Anspruch nehmen und somit hohe Kosten verursachen. Trotz Kompression auf
Modemebene (MNP5, V42bis) reichen die gebotenen Kapazitäten bei weitem nicht, so daß
zusätzliche Leitungen angemietet werden müssen, um die Verfügbarkeit des Systems gewährleisten
zu können.
Durch Umstellung oder Erweiterung dieser Systeme auf/um ISDN-Zugänge können erhebliche
Kosteneinsparungen erzielt werden (Transferzeit sinkt drastisch bei 64000 Baud), bei gleichzeitiger
Steigerung des Benutzerkomforts (Wer wartet schon gerne auf seinen Download 15 Minuten, wenn
es auch in 2 Minuten geht).
Der große Vorteil von ISDNCOM/2 ist, daß die Erweiterung dieser Systeme um ISDN ohne neue
Treiber etc. (die für die meisten Systeme derzeit nicht zur Verfügung stehen) vonstatten gehen kann,
da sich der ISDNCOM/2-Port wie ein normaler Async-Port verhält.
Mail-Router/Gateways nehmen im Zeitalter steigender Vernetzung immer größere Stellung ein. So
ist es heute möglich, weltweit Nachrichten über das Internet zu verschicken oder Daten über immer
größere MHS- und Lotus-Notes-Kopplungen zu verschicken. Durch den Einsatz von ISDN läßt sich
hier eine erhebliche Reduzierung der Übertragungszeit erzielen, wodurch mit weniger Anschlüssen
mehr Daten übertragen werden können. Somit kann sich die Weiterleitungszeit einer Mail vom
Absender zum Adressaten erheblich verkürzen.
1.2.GBG-Funktion
Zur Erhöhung der Sicherheit eines Systems, das über ISDN zugänglich ist, bietet die Telekom die
Möglichkeit, Anschlüsse zu geschlossenen Benutzergruppen zusammenfassen zu lassen. Dies hat den
Vorteil, daß ein ISDN-Teilnemher, der nicht Mitglied der GBG ist, keine Möglichkeit hat, eine
Verbindung mit einem System (z.B. Großrechner) innerhalb der GBG herzustellen, d.h. der Zugang
wird bereits vor der ersten Sicherheitsstufe des Betreibers (Passwort, XID etc.) verweigert.
Nachteile der Telekom-GBG sind:
* Hohe Kosten: Pro Monat verlangt die Telekom 30,- DM pro Mitglied, sodaß bei einer GBG mit
mehreren hundert Mitgliedern schnell einige tausend Mark für die erhöhte Sicherheit anfallen
* Schwerfälligkeit bei der Pflege: Soll ein Mitglied in die GBG aufgenommen oder ausgeschlossen
werden, so muß dies jedesmal beantragt werden. Die Aktivierung des neuen GBG-Umfangs
kann dann einige Zeit in Anspruch nehmen
* Die GBG-Funktion ist nicht Bestandteil von EuroISDN - dem kommenden ISDN-Standard in
Europa. Die Telekom hat zwar die Nachbildung dieses Dienstes zugesagt, jedoch kommt es
bereits jetzt (die Umstellung auf EuroISDN ist in vollem Gange) zu erheblichen Problemen.
* Fehleranfälligkeit: Erfahrungen aus der Vergangenheit (insbesondere seit die Umstellung der
Zentralen auf EuroISDN im Gange ist) haben gezeigt, daß es immer wieder zu Problemen in der
Form kam, daß Mitglieder trotz Definition in der GBG von heute auf morgen nicht mehr
anrufen konnten, eine GBG für Dienste geschaltet war, für die keine beantragt wurde, oder ein
Mitglied einer GBG überhaupt keinen Anschluß mehr außerhalb der GBG anwählen konnte.
Diese Probleme lassen sich mit einer PC-seitig implementierten Rufnummernprüfung lösen, wie sie
ISDNCOM/2 und andere micado-Produkte bieten. Hieraus ergeben sich folgende Vorteile:
* Pflege durch den Systembetreiber vor Ort
* Keine anfallenden Kosten
* Mitglieder können sofort aufgenommen oder ausgeschlossen werden
* Verwaltung im eigenem Haus (solange nicht geändert wird, kann man davon ausgehen, daß sich
das Verhalten auch nicht von heute auf morgen ändert)
* einfache Pflege (z.Zt. per ASCII-Datei, in Kürze auch über Verwaltungsprogramm)
* Mitglieder können temporär aufgenommen und z.B. nach erfolgtem Test wieder entfernt
werden
* Keine umständlichen Auftragswege zur Telekom
1.3.ISDNCOM/2 - Hard- und Softwarevoraussetzungen
* S0-Hauptanschluß oder Nebenstellenanschluß mit ISDN
* IBM OS/2 ab Version 2.1
* ISDN OS/2-Treiber mit CAPI-Schnittstelle und IDC-Unterstützung
Je nach verwendetem ISDN-Adapter ist darauf zu achten, daß die OS/2-Treiber die IDC-
Schnittstelle implementiert haben. Dies ist z.B. bei Diehl erst ab Version 4.26, bei ITK ab Version
1.02 der Fall. Sollten Sie nicht im Besitz der OS/2-Treiber sein oder eine ältere Version haben, ist
Ihnen die micado Hotline gerne bei der Beschaffung einer für ISDNCOM/2 geeigneten Version
behilflich.
1.3.1.Unterstützte ISDN-Karten:
Durch Nutzung der OS/2-CAPI-Schnittstelle ist die Lauffähigkeit auf allen Adaptern, die diese
Schnittstelle unter OS/2 bieten, gewährleistet. ISDNCOM/2 setzt die volle Implementierung der
CAPI-Schnittstelle für OS/2 - einschließlich der IDC-Schnittstelle - voraus. Diese Anforderung
erfüllen derzeit folgende ISDN-Adapter:
* Diehl ISDN SX, SXn und SCOM-Adapter (ISA+MCA)
* Diehl ISDN S2M Adapter
* High Soft Tech/Janussoft S0-Adapter (8 Bit, 16 Bit, Parralel-Port)
* ITK ixEins basic
* Diehl DIVA (2. Quartal '94)
* Diehl DIVA PCMCIA (2. Quartal '94)
* AVM B1/2.0 (2. Quartal '94)
1.3.2.Kompatibilität
ISDNCOM/2 wurde bisher mit folgenden Softwareprodukten getestet:
* OS/2 2.0, 2.0.1 (XR6055), 2.1, 2.11 (XR6200)
* Lotus Notes 2.11, 3.0, 3.0a, 3.0b
* IBM, FTP TCP/IP for OS/2 mit SLIP-Protokoll
* micRC/2, Terminal/2 ab Version 3.0
* PolyPM/2
* Maximus BBS f. OS/2 V2.01, Binkley OS/2 V2.50 EE Beta
* TE/2 Version 1.22, PMComm32 Beta
* ZOC Version 1.2.1 deutsch, englisch
2.Installation
Die Installation von ISDNCOM/2 gliedert sich in folgende Schritte:
2.1.Kopieren/Update der ISDN-Treiber.
* Sollte es sich um eine Neuinstallation handeln, ist darauf zu achten, daß die CAPI.DLL in ein
Verzeichnis kopiert wird, das im LIBPATH enthalten ist, oder daß das Verzeichnis mit dem OS/2-
ISDN-Treiber in den LIBPATH der CONFIG.SYS aufgenommen wird.
* Die Treiber für den ISDN-Adapter müssen in jedem Fall vor ISDNCOM/2 geladen werden, da
ansonsten eine Anmeldung bei der CAPI nicht möglich ist.
* Näheres zur Installation der ISDN-Treiber können Sie der README-Datei und. der Adapter-
Dokumentation des Herstellers entnehmen.
* Kopieren der Datei ISDNCOM.SYS auf die Festplatte und eintragen in die CONFIG.SYS (nach
den ISDN Kartentreibern): Für mögliche Ladeoptionen siehe "ISDNCOM/2-Ladeoptionen".
ODER
2.2.Installation mittels DDINSTAL
* Aufruf der OS/2-Systemeinstellungen
* Aufruf von "Device-Driver Install"
* Quell-/Zielpfad einstellen
* INSTALL anwählen
* ISDNCOM anwählen und bestätigen
Anschließend werden die Dateien nach \OS2\DRIVERS\micado kopiert und der entsprechende
Eintrag in der CONFIG.SYS erzeugt.
* System neu starten
3.Konfiguration
3.1.ISDNCOM/2-Ladeoptionen
Optional können beim Laden von ISDNCOM.SYS in der Datei CONFIG.SYS
(DEVICE=ISDNCOM.SYS ...) die Voreinstellungen durch Angabe von Parameter überschrieben
werden:
DEVICE=C:\ISDN\ISDNCOM.SYS [-n<Device>] [-o<EAZ>] [-w<Window>] [-m<MaxData>][-f<GBG-Datei>]
-n<Name>: Device-Name ändern
Default: COM3
Mittels des -n-Parameters kann der
Device-Name geändert werden. Dies ist notwendig, wenn bereits mehr als 2
serielle Anschlüsse im System vorhanden sind.
Anmerkung:
Lotus Notes unterstützt für das XPC-Protokoll nur Devices, deren Name COMxx
lautet (z.B. COM3, COM5 etc.). Soll ISDNCOM/2 nicht für den Aufbau von
Notes-Verbindungen genutzt werden, kann auch ein anderer Device-Name (z.B.
ISDN1) gewählt werden.
-o<EAZ>: Endgeräteauswahlziffer (1...9; siehe Erläterungen zum S14-Register)
Default: 2
-w<Window>: Größe des Ebene 2-Fenster (2...7; siehe Erläterungen zur Windowsize)
Default: 2
-m<MaxData>: maximale Größe eines Ebene 3-Datenblocks (<= 2048 Bytes)
Default: 2048
-f<Datei>: Gibt den kompletten Dateinamen (einschließlich Laudwerk und Pfad) der GBG-
Definition an (siehe "GBG-Funktion")
Default: Keine GBG
3.2.Allgemein
3.2.1.Flußkontrolle
Die verwendete Applikation sollte prinzipiell in der Lage sein, den erhöhten Datendurchsatz (bis zu
8000 cps) zu bewältigen. Um hier der Anwendung eine Flußkontrolle zu ermöglichen, bildet
ISDNCOM/2 das RTS-/CTS-Handshake nach. Hierdurch kann ein "Überrennen" der Leitung
vermieden werden, indem ISDNCOM/2 bei erreichen von 2/3 des Sendepuffers das CTS-Signal
löscht und somit der Applikation signalisiert, daß alle Sendepuffer gefüllt sind und derzeit keine
weiteren Daten mehr angenommen werden können. Unterschreitet die Belegung 1/3 des Puffers,
wird das CTS-Signal wieder gesetzt und die Applikation kann weitere Daten an den Treiber
übergeben. Je nach verwendeter Applikation muß die RTS-/CTS-Steuerung konfiguriert werden.
3.2.2.V.110: z.B. CompuServe, Datex-P20i, CPV Stollman TA
ISDNCOM/2 unterstützt bei Verwendung eines geeigneten ISDN-Adapters (z.B. ITK) den
Verbindungsaufbau mittels V.110-Protokoll. Dieses kommt z.B. bei den meisten Terminal-Adaptern
(z.B. Elsa, CPV Stollmann) zum Einsatz, die eine Umsetzung von asynchron auf ISDN ermöglichen
(s.a. Erläuterungen V.110). Je nach verwendetem (Terminal-)Adapter auf der Gegenseite, kann es
notwendig sein, den additional Service-Indikator bei ausgehenden Rufen auf 0 zu setzten. Da
ISDNCOM/2 normalerweise den Service-Indikator anhand der eingestellten Baudrate kodiert kommt
hier keine Verbindung zustande. Durch Löschen des Bit 0 im Modemregister 24 (ATS24.0=0) kann
das Setzen des additional-Service-Indikators für ausgehende Rufe unterdrückt werden.
Die Einstellung der notwendigen Parameter für eine V.110-Verbindung vereinfacht der ATB-Befehl
erheblich (s. Erläterung AT-Befehlssatz->ATB).
Beispiel:
Anwahl CompuServe
ATZ
ATS24.0=0
ATB3V2
ATDT08966530130
(nach CONNECT 9600 [Return] drücken, um Prompt zu erhalten)
Anwahl Datex-P20I Köln (V.110, 19200 Baud)
ATZ
ATS24.0=0
ATB2V2
ATDT02219210280
(nach CONNECT 19200 [Return] drücken, um Prompt zu erhalten)
3.3.Lotus Notes ab Version 3.0
3.3.1.Anschluß definieren
* ISDNCOM.MDM in Notes-Datenverzeichnis kopieren
* Notes aufrufen und im Menü Extras->Konfiguration->Anschlüsse wählen.
* "Anschluß hinzufügen" wählen und die Parameter COM3, XPC, 3 und 2000 angeben,
anschließend mit OK bestätigen.
* Im Dialog "Anschlußkonfiguration" die Option "Anschluß aktivieren" selektieren und
"Zusätzliche Konfiguration" wählen:
3.3.2.Anschlußparameter
* Folgende Anschlußparameter sind einzutragen:
* Modem-Typ: micado ISDNCOM/2
* Max. Geschwindigkeit: 38400 Baud (s. Erläuterung "Baudrate")
* RTS/CTS-Flußkontrolle
* Bei Bedarf:: Modem E/A aufzeichnen
* Wähl-Zeitsperre: mindestens 10
* Verbindung trennen, wenn <n> Minuten frei:
Das ISDN-Netz kennt derzeit tagsüber folgende Tarifierungen:
Ortsbereich 6 Minuten, Regionalbereich 60 und Fernbereich 21 Sekunden.
* Mit "OK" bestätigen und die Anschluß-Konfiguration verlassen
* Nun ist noch im persönlichen Adressbuch eine Verbindung mit Rufnummer einzutragen, die
über COM3 hergestellt werden soll:
* Benutzeradressbuch öffnen
* Erstellen->Entfernte Verbindung wählen
* Verbindungsparameter eintragen:
Es ist unbedingt darauf zu achten, daß die EAZ in der letzten Stelle der Rufnummer
angegeben wird, da ansonsten die Gegenstelle nicht abnimmt.
3.3.3.EAZ festlegen
Beim Laden des Treibers in der CONFIG.SYS (siehe "ISDNCOM/2 Ladeoptionen"), oder später im
S14-Register, kann die zu verwendende EAZ für die Entgegennahme von Rufen eingestellt werden.
Voreingestellt ist die EAZ 2.
Ist die eingestellte EAZ bereits von einem anderen Endgerät belegt, (anderes Endgerät am S0-Bus
belegt bereits die EAZ 2, oder Server und Client, beziehungsweise beide Systeme sollen am selben
S0-Bus betrieben werden) kann dies durch Hinzufügen der Anweisung S14=n zum SETUP-String in
der .MDM-Datei geschehen, z.B.
SETUP=ATZV1Q0S0=0S14=3
um die EAZ von 2 auf 3 zu ändern.
Achtung:
Beim Betrieb von ISDNCOM/2 an einer Nebenstellenanlage, die keine EAZ-Unterstützung bietet,
muß S14 auf 0 gesetzt werden, um ein "Global Listen" zuzulassen. In diesem Fall werden ALLE
eingehenden Rufe, die 64K-Datendienst anfordern, von ISDNCOM/2 entgegengenommen. Der
Betrieb von mehreren Endgeräten an einem S0-Anschluß ist in diesem Falle nicht möglich.
Für nähere Informationen zum Thema Endgeräteauswahlziffer (EAZ) siehe Erläuterungen zu "S14-
Register - EAZ festlegen".
3.4.micRC/2 ab Version 3.0
3.4.1.Modemprofil
Zum Betrieb von micRC/2 über eine ISDNCOM/2-Verbindung muß ein neues Modemprofil erzeugt
werden (Profile->Modem->Neu):
Zum Aktivieren des so erzeugten Profiles, muß der "Leitungsparameter"-Dialog aufgerufen werden
(Einstellungen->Leitung/Gerät). Im Dialogfeld "Geräteeinheit" ist der verwendete DEVICE-Name
des ISDNCOM/2-Ports einzutragen. Wurde dieser nicht mittels des -n-Parameters überschrieben, ist
hier COM3 anzugeben. Das soeben erstellte Modemprofil wird im Dialogfeld "Modem" eingetragen.
Die anderen Parameter wie Anzahl Daten-, Start-, und Stopbits, sowie Parität und FIFO-Puffer sind
für ISDNCOM/2-Verbindungen derzeit nicht relevant:
3.4.1.1.Terminal/2 ab Version 3.0
3.4.2.Telefonbucheintrag
ISDNCOM/2 wird auch durch Terminal/2 ab Version 3.0 unterstützt. Zum Herstellen einer ISDN-
Verbindung, wird zunächst ein Eintrag im Telefonbuch (Datei->Telefonbuch->Neu wählen) erstellt
und die Verbindungsparameter (ISDN-Rufnummer, Port, RTS/CTS etc.) eingetragen:
Anschließend kann der so erzeugte Eintrag angewählt und der Verbindungsaufbau durch "Wahl"
angestoßen werden. Kommt die Verbindung nicht zustande, zeigt ISDNCOM/2 den vom Netz
übermittelten Cause-Code an (siehe "ISDN Cause Codes"). Mittels des ATI2-Befehls können die
verwendeten Verbindungsparameter und der Cause-Code im Klartext ausgegeben werden.
4.AT-Befehlssatz
Zur Konfiguration von ISDNCOM/2 können alle wesentlichen Parameter modifiziert werden. Einige
der Parameter können beim Laden auf der Befehlszeile angegeben werden (siehe "Installation"),
andere können nur mit Hilfe der Modemregister geändert werden.
Zur Konfiguration, Verbindungsauf- und -abbau, sowie zur Anzeige von Statistiken wurde ein
Befehlssatz implementiert, der sich am HAYES-Standard (AT-Befehle) orientiert. Hiermit ist eine
weitgehende Anpassung für den Betrieb von Async-Anwendungen möglich.
Nach Initialisierung des Ports und Öffnen durch die Anwendung befindet sich ISDNCOM/2 im
Befehlsmodus. Nach Herstellung einer Verbindung wechselt der Treiber in den Datenmodus und
nimmt keinerlei Befehle mehr entgegen. Die Rückkehr in den Befehlsmodus erfolgt in der Regel erst
nach Trennung der Verbindung oder mit Hilfe der Escape-Sequenz. Hierbei handelt es sich um eine
spezielle Zeichenabfolge, die es dem Modem ermöglicht, die Anforderung "wechsle vom Daten- in
den Befehlsmodus" zu erkennen. Die Sequenz ist wie folgt aufgebaut:
<Pause>∩+++∩<Pause>
Die Länge der einzuhaltenden Pause beträgt normalerweise eine Sekunde, läßt sich aber durch
Ändern des S12-Registers einstellen (siehe ∩Modem-Registersatz∩). Auch der ∩Escape-Character∩
läßt sich durch Setzen des S2-Registers ändern. Dies ist jedoch in der Regel nicht sinnvoll, da solche
Änderungen meist nicht von Applikationen unterstützt werden.
4.0.1.AT-Übersicht
AT? Befehlssatz ausgeben
ATA eingehenden Ruf annehmen
ATBn Protokollmodus wählen:
ATB0 X.75, 64000 Baud (Default)
ATB1 V.110, 38400 Baud
ATB2 V.110, 19200 Baud
ATB3 V.110, 9600 Baud
ATB4 X.75, 64000 Baud, Frame-Size = 256
ATB5 X.75-BTX, 64000 Baud
ATB6 X.75-BTX, 64000 Baud, BTX-ISDN-Handling
ATB8 Analog-Modem, Auto-Bauding (nur ITK)
ATB9 SDLC-Secondary, X.21-Dienst
Default: 0 - X.75, 64 Kbps
ATB? alle vordefinierten Protokollprofile ausgeben
ATH Verbindung trennen
ATD<Rufnummer> ISDN-Anwahl starten (T/P-Präfix werden ignoriert).
ATDL letzte Rufnummer nochmals anwählen
ATEn Lokales Echo an/ausschalten
ATE1 Echo einschalten
ATE0 Echo ausschalten (default)
ATIn Version/Statistik abfragen:
ATI Version des Treibers und der CAPI anzeigen
ATI2 Informationen der letzten Verbindung
ATI3 E/A-Statistik
ATI4 CAPI-Statistik
ATO Rückkehr vom Befehls- in den Datenmodus nach Break-Sequenz
ATQn Resultcodes (OK, ERROR etc.) ein-/ausschalten
ATQ1 Resultcodes ausschalten
ATQ0 Resultcodes einschalten (default)
ATVn Resultcodes im Text- oder Zahlenformat
ATV0 Resultcodes im Zahlenformat
ATV1 Resultcodes als Klartext (default)
ATXn CONNECT-String mit oder ohne Baudrate ausgeben
ATX0 Keine Baudrate ausgeben (nur ∩CONNECT∩)
ATX1 Baudrate mit ausgeben (z.B. ∩CONNECT 64000∩)
ATX2 Rufnummer+Cause-Codes ausgeben (default)
ATX3 Verbindungsparameter beim Wählen ausgeben+Cause dekodieren
ATX4 B2+B3-Protokoll ausgeben
ATZ selektierten Port auf Defaultwerte zurücksetzen (Verbindung ggf. trennen)
4.0.2.Erweiterter Befehlssatz:
AT&F alle Ports initialisieren, Reinitialisierung der CAPI
AT&Ln Eingehende Rufe unterdrücken/zulassen
AT&L0 eingehende Rufe werden nicht angenommen
AT&L1 eingehende Rufe werden angenommen
Default: Rufe werden angenommen
AT&On Legt die EAZ für eingehende Rufe fest (siehe "S14 - EAZ festlegen")
Default: 2
AT&V alle Registerwerte anzeigen
AT&D reserviert (DTR-Modus)
AT&H reserviert (Flußkontrolle)
AT&R reserviert (RTS-Modus)
AT&S reserviert (DSR-Modus)
4.1.Modem-Registersatz
Alle wichtigen Parameter zur Modem-Steuerung und Anpassung der Verbindungsparameter lassen
sich mit Hilfe von sog. Modem-Registern steuern. Die Belegung des Registersatzes orientiert sich bei
den wichtigsten Registern an denen der Hayes-Modems.
S0 Klingelzähler zur automatischen Anrufannahme (Default: 0 = keine automatische Annahme)
Durchen des S0-Registers kann die automatische Anrufannahme aktiviert werden. In diesem
Falle werden so viele RING-Meldungen ausgegeben, wie im S0-Register eingetragen sind.
Wrd die maximale Anzahl erreicht, bevor die Verbindung mit ATH getrennt wird, so wird der
Ruf ohne weiteres Zutun angenommen.
Mit der Einstellung S0=1 kann der Ruf ohne manuelles Eingreifen angenommen werden.
Mit der Einstellung S0=0 wirddie automatische Rufannahme unterdrückt. In diesem Fall muß
der Ruf manuell mittels des ATA-Befehls angenommen werden.
S1 Klingelzähler (nur Ausgabe)
Bei eingehenden Rufen wird das S1-Register nach jeder RING-Meldung um 1 erhöht.
S2 Escape-Zeichen (Default: '+')
Zeichen zur Erkennung der Escape-Sequenz (s. Beschreibung der Escape-Sequenz)
S3 Carrage return character (Default: 0x0D)
Jeder Befehl, der an das Modem gesendet werden soll, muß mit diesem Zeichen abgeschlossen
werden. Je nach verwendeter Applikation kann es notwendig sein, dieses zu ändern (z.B. auf
0x0A = Line feed).
S4 Line feed character (Default: 0x0A)
Das im S4-Register eingetragene Zeichen wird zur Bildschirmansteuerung bei Modem-
Antworten (Resultcodes, Versionen, Statistik etc.) verwendet.
S5 Backspace character (Default: 0x08)
Durch das im S5-Register eingetragene Zeichen wird der Befehlsinterpreter angewiesen, das
letzte eingegebene Zeichen zu ignorieren. Hierdurch ist eine Minimal-Editierfunktion möglich.
S6 Wartezeit vor der Anwahl (reserviert)
Anzahl der Sekunden, die das Modem vor dem Wählen wartet.
S7 Wartezeit auf Herstellung der B2-Verbindung
Anzahl der Sekunden, die das Modem auf den Aufbau der B2-Verbindung wartet, bevor "NO
ANSWER" gemeldet und der Verbindungsaufbau abgebrochen wird.
S8 Verzögerungszeit für ∩,∩-Befehl (wird ignoriert)
S9 Wartezeit für die Erkennung der Verbindung (wird ignoriert)
S10 Verzögerung für Abbau der ISDN-Verbindung (reserviert)
S10 gibt an, wie lange der Abbau der D-Kanal-Verbindung verzögert wird, nachdem die B3-
Ebene von der Gegenstelle abgebaut wurde.
S11 Wählgeschwindigkeit für Pulswahl in ms (wird ignoriert)
S12 Länge der Pause vor und nach der Escape-Sequenz in 20 ms-Einheiten (Default: 50 = 1 sec)
Legt die Länge der Pause in 20-ms-Schritten fest, die vor und nach Senden der Escape-
Sequenz (i.d.R. ∩+++∩) eingehalten werden muß, bevor das Modem vom Daten- in den
Befehlsmodus wechselt. Hierdurch wird das Senden von Daten ermöglicht, die zufällig die
Break-Sequenz beinhalten.
S13 Kanalnummer für ausgehende Rufe (Default 0 = automatische Zuordnung)
Die CAPI erlaubt die feste Vorgabe des zu verwendenden B-Kanals (ein S0-Anschluß bietet
zwei B-Kanäle) oder automatische Vergabe.
S13 = 0 fordert automatische Vergabe an
S13 = 1: fordert B-Kanal 1 an
S13 = 2 fordert B-Kanal 2 an
S14 EAZ für eingehende Rufe (Default: 2)
S14 bestimmt die EAZ (siehe auch "Endgeräteauswahlziffer"), auf denen eingehende Rufe
gemeldet werden. Bei S14=0 wird ein "Global LISTEN" (siehe auch "Service Indicator")
zugelassen, was zur Meldung aller Rufe führt, deren Service-Indicator einen Dienst anfordert,
der im S16-Registers zugelassen ist.
S15 SIN+add. SIN (0x0700 - X75 64 Kbps)
S15 legt den SIN und additional SIN (siehe auch "Service Indicator") für abgehende Rufe fest.
Im Highbyte des S15-Registers wird der SIN kodiert, im Lobte der additional SIN.
S16 ISDN SI-Mask (0x0080 - 64 Kbps Datendienst)
Service-Indikator-Maske für eingehende Rufe. Über die Maske im S16-Register werden
eingehende Rufe ausgefiltert (siehe auch "Service-Indicator")
S17 B2-, B3-Protokoll für den Verbindungsaufbau (Default: 0x0104 - X75, TRANSPARENT)
S17 bestimmt das zu verwendende B2- und B3-Protokoll. Im Highbyte wird das B2-Protokoll,
im Lobte das B3-Protokoll kodiert.
S18 V110/V.120-Optionen gemäß 1TR6 Spezifikation (Reserviert)
S19 B2-Framegröße für Verbindungsaufbau
S20 B2-Fenstergröße für Verbindungsaufbau
S21 Reserviert
S22 Reserviert
S23 Reserviert
S24 Optionen für den Verbindungsaufbau (siehe Erläterung)
S25 PAD-Puffergröße (64 Byte-Einheiten, Default: 2 = 128 Byte)
Gibt die Größe des Puffers an, der für die PAD-Funktion benutzt werden soll.
S26 PAD-Weiterleitungszeit (in 10 ms -Einheiten, Default: 10 = 100 ms)
Gibt die Verzögerung an, die maximal gewartet werden soll, bevor der Inhalt des PAD-Puffers
gesendet wird.
S27 PAD-Weiterleitungszeichen (Default: 0x0D = CR)
Gibt ein Zeichen an (0x00-0xFF), das in jedem Fall zum Senden der gepufferten Daten führt,
auch wenn der Puffer noch nicht voll ist (S25) oder die Weiterleitungszeit (S26) noch nicht
überschritten ist.
S28 Watchdog-Timer für automatischen Verbindungsabbau in Sekunden (Default 0)
Der im S28-Register angegebene Wert wird zum zeitgesteuerten Abbau der Verbindung
verwendet. Wird die im S28-Register angegebene Zeit überschritten, ohne daß Daten
übertragen werden, wird die Verbindung automatisch getrennt.
4.1.1.Setzen und Lesen von S-Registern
Das Setzen und Lesen der Modemregister erfolgt mittels des Befehls ATS. Dieser dient sowohl zum
Auslesen eines Registers, als auch zum Setzen des kompletten Registers, als auch von Teilen
(Hibyte/Lobyte, einzele Bits). Optional kann beim Setzen der Register das Zahlenformat vorgegeben
werden.
Syntax:
ATSr? Auslesen des durch r angegebenen Registers, Anzeige in deziimal und hex
ATSr=n Setzen des Registers r mit dem Wert n.
Das Zahlenformat des Wertes n läßt sich durch voranstellen eines Präfixes
beeinflussen:
'x': Hexadezimal (Beispiel: ATS15=x0500)
ATSr.b=n Erlaubt das Setzten/Löschen einzelner Bits eines Registers r. Das zu modifizierende
Bit wird durch b angegeben, der Wert <n> bestimmt, ob das Bit gesetzt (1), oder aber
gelöscht (0) werden soll.
Beispiel: ATS24.0=0 löscht das unterste Bit des Registers S24
ATSrh=n Setzen des Hibytes eines Registers r auf den Wert n, das Lobyte wird beibehalten
ATSrl=n Setzen des Lobytes eines Registers r auf den Wert n, das Hibyte wird beibehalten
4.1.2.Erläuterungen zu den Modemregistern
4.1.2.1.S14 - EAZ für eingehende Rufe
ISDN ermöglicht es, an einem S0-Anschluß mehrere Anschlüsse zu einem S0-Bus
zusammenzufassen. Um die an diesen S0-Bus angeschlossenen Endgeräte direkt ansprechen zu
können, wurde die Endgeräteauswahlziffer (EAZ) eingeführt.
Die EAZ ermöglicht es, bei gleicher Rufnummer bis zu 8 verschiedene Endgeräte an einem S0-Bus
zu betreiben und diese von außen direkt anzuwählen. Die EAZ wird als letzte Stelle in der
Rufnummer angegeben. So wählt z.B. die Rufnummer 0228/950335 das Endgerät mit der EAZ 5
direkt an.
Eine Sonderstellung nimmt die EAZ 0 ein. Wird im obigen Beispiel in der letzten Stelle der
Rufnummer eine 0 anstelle der 5 angegeben, so handelt es sich um einen sogenannten "Global Call".
Ein "Global Call" wird von dem Endgerät angenommen, das den erforderlichen Dienst (z.B. Sprache,
FAX oder 64 Kbps-Daten) implementiert und angemeldet hat, "Global Calls" entgegennehmen zu
wollen. Somit hat man die Möglichkeit, ein Default-Endgerät zu bestimmen, das den Ruf
entgegennehmen soll, auch wenn keine EAZ in der letzten Stelle der Rufnummer angegeben sein
sollte.
Die Vergabe der EAZ ist wahlfrei mit Ausnahme der EAZ 9 (reserviert) und Sonderstellung der 0.
Leider gibt es es keinerlei Empfehlungen, wie EAZs vergeben werden sollen (Mit Ausnahme der
EAZ 2, die sich mittlerweile als Standard für die Datenübertragung eingebürgert hat). Somit ist vor
dem ersten Anruf immer zu klären, welche EAZ mit welchem Dienst verknüpft wird, da es auch
verschiedene Endgeräte geben kann die z.B. Datenverbindungen verwenden.
Bei Telefonanlagen, die keine EAZ-Unterstützung bieten, kann es notwendig sein, ISDNCOM/2 auf
die Annahme von "Global Calls" zu konfigurieren (S14=0), da ansonsten der Ruf nicht anhand der
eingehenden EAZ erkannt wird.
4.1.2.2.S15, S16 - Service-Indicator
Jeder Ruf, der im ISDN-Netz übermittelt wird, muß (sollte) im CONNECT-Request den Dienst, der
genutzt werden soll (z.B. Sprache, FAX, Bildtelefon, BTX, Datendienste) angeben. Diese
Information wird in dem sog. Service-Indicator - SIN kodiert. Neben dem Dienst können optional
Zusatzinformationen übertragen werden, der z.B. die Baudrate für den angeforderten Dienst
bestimmt. So wird eine 64KB-Datenverbindung mit dem SIN 0x07 und add SIN 0x00 angefordert.
Eine V.110-Verbindung 38400 Baud (8N1) wird mit dem gleichen SIN (0x07), aber anderem
additional SIN (0x40) angefordert.
Die Angabe des Dienstes im CONNECT-Request ermöglicht es dem Netzwerkzugang (NT) zu
erkennen, ob der Dienst überhaupt von einem Endgerät unterstützt wird. Die Prüfung erfolgt mit
Hilfe der SIN-Maske, die bitcodiert die unterstützten Dienste angibt. Kommt ein ISDN-Ruf herein,
so wird geprüft, ob für die angeforderte EAZ ein LISTEN aussteht (Anrufe können angenommen
werden), und, ob der angeforderte Dienst in der SIN-Maske enthalten ist. Ist dies nicht der Fall, dann
wird der Anruf umgehend abgewiesen, da kein adäquates Endgerät zur Verfügung steht mit dem eine
Verbindung sinnvoll zustande kommen kann.
Die Kodierung des SIN, add. SIN und SIN-Maske können der 1TR6-Beschreibung entnommen
werden. Für den ISDNCOM/2-Betrieb gibt es einige relevante SINs:
0x0700 64 KB-Datendienst
0x0740 64 KB-Datendienst, jedoch V.110-async 38400 Baud, n, 8, 1
0x07C7 64 KB-Datendienst, jedoch V.110-async 19200 Baud, n, 8, 1
Zu beachten ist, daß die Protokolle des Anrufers mit denen des angerufenen Endgerätes
übereinstimmen müssen ! Bei V.110 (siehe auch "V.110-Protokoll") müssen i.d.R. auch die
Baudrate und anderen Async-Parameter (Parity, Daten- und Stoppbits) übereinstimmen.
Eine automatische Erkennung der Protokolle bei eingehenden Rufen ist nur bedingt möglich. Da die
Information über das gewählte B2- und B3-Protokoll nicht im CONNECT-Request enthalten ist,
verwndet man hierzu in der Regel das additional Service-Octett.
Das additional Service-Octett (add. Service-Indicator) steht jedoch nicht immer zur Verfügung, da es
einige Telefonanlagen gibt (z.B. HiCom), die dieses nicht weiterleiten. Somit ist eine Erkennung des
Protokolls nicht mehr eindeutig möglich. Desweiteren gehört das additional Service-Octett nicht zum
EuroISDN-Standard, so daß es in Zukunft vermehrt vorkommen kann, daß dieses bei eingehenden
Rufen fehlt.
Um einen gesicherten Verbindungsaufbau gewährleisten zu können, sollte pro EAZ nur eine B2/B3-
Protokollkombination verwendet werden. Durch mehrfaches Laden von ISDNCOM/2 kann pro Port
ein Protokoll ausgewählt, und durch Vergabe verschiedener EAZs dem Anrufer eine direkte Anwahl
des betreffenden Ports ermöglicht werden.
Beispiel:
Port 1: COM3, EAZ 2: X.75
Port 2: COM4, EAZ 3: V.110, 38400,n,8,1
Port 3: COM5, EAZ 4: V.110, 19200,n,8,1
Der Anrufer kann nun durch Angabe der EAZ in der letzten Stelle der Rufnummer den
entsprechenden Port anwählen und eine Verbindung aufbauen.
4.1.2.3.S17 - B2+B3-Protokoll für Verbindungsaufbau
Die Kodierung der Protokolle erfolgt gemäß CAPI-Spezifikation:
B2-Protokoll B3-Protokoll
0x01 = X.75 0x01 = T70NL
0x02 = FRAME-TRANSPARENT 0x02 = ISO8208
0x03 = BIT-TRANSPARENT 0x03 = T90NL
0x04 = SDLC 0x04 = TRANSPARENT
0x05 = X.75-BTX 0x05 = T30
0x06 = T30-L2
0x07 = LAPD
0x08 = V.110-TRANSPARENT
0x09 = V.110-SDLC
0x0A = V.110-X.75
S17=0x0404 wählt zum Beispiel B2- und B3-Ebene ohne Protokoll an (transparent). Je nach
Hersteller werden nicht alle Protokolle unterstützt Eine CAPI-kompatible ISDN-Karte muß
zumindest das X.75-Protokoll implementiert haben.
4.1.2.4.S24 - Optionen für den Verbindungsaufbau
Im S24-Register können einige Optionen für den Verbindungsaufbau eingestellt werden. Das
Register ist bit-codiert und hat folgende Kodierung:
Bit Beudeutung
0 1: additional Serviceindicator für V.110-Verbindungen anhand der Budrate setzten
0: additional Service-Indicator wird aus dem Lobyte des S15-Registers genommen
1-7 reserviert
8 1: ISDNCOM/2 versucht anhand des SIN und add. SIN B2 und B3-Protokoll bei
eingehenden Rufen zu selektieren
0: Das über ATBn gwählt B2+B3-Protokoll wrd für den Verbindungsaufbau verwendet
9-15 reserviert
4.1.2.5.S25, S26, S27 - PAD-Funktion
Zur Optimierung des Datentransfers für Applikationen, die nicht darauf ausgelegt sind mit Paketen
zu arbeiten (z.B. Terminal-Emulationen etc.), besteht die Möglichkeit, die ausgegebenen Daten lokal
zu sammeln und paketweise auszugeben. Dieser Mechanismus ist bereits aus dem X.25-Netz
bekannt, wo dieser Dienst mit Hilfe des Post-PacketAssemblerDisassembler (PAD) genutzt werden
kann (Datex-P20). Hierdurch wird vermieden, daß pro Zeichen ein Paket gesendet wird, was zu
erheblichen Performanceeinbußen führen kann.
Eine solche Funktion steht auch mit ISDNCOM/2 zur Verfügung und ist wie folgt realisiert:
Im S25-Register kann die Größe des lokalen Puffers vorgegeben werden, der benutzt wird, um die
ausgegebenen Daten der Applikation lokal zwischenzuspeichern. Erreicht oder überschreitet die
Puffergröße den im S25-Register angegebenen Wert, so werden die Daten auf die ISDN-Leitung
ausgegeben.
Wird die Größe des Puffers innerhalb der im S26 angegebenen Zeit nicht erreicht, werden die Daten
nach Überschreiten dieser Timeoutgrenze gesendet. Somit ist sichergestellt, daß z.B.
Benutzereingaben, die aus ein oder zwei Zeichen bestehen, gesendet werden, und nicht im Puffer
verbleiben, nur weil der Schwellwert noch nicht erreicht ist.
Zur Optimierung des Dialogbetriebs kann im S27-Register noch ein Zeichen definiert werden, bei
dessen Erscheinen der Puffer sofort gesendet wird. In ASCII-orientierten Umgebungen (z.B. UNIX-
Systeme) ist dies die Datenfreigabetaste (CR). Somit wird nicht gewartet, bis die im S26-Register
angegebene Weiterleitungszeit verstrichen ist.
5.Begriffserklärungen
Es existiert eine verwirrende Vielfalt von Begriffen im ISDN-Bereich. Hier ein Versuch einer
Erklärung:
5.1.Baudrate
An einem ISDN-S0-Anschluß stehen 3 Kanäle zur Verfügung:
* Ein D-Kanal zur Steuerung der ISDN-Rufe und Übermittlung von Gebühren- und
Zeitinformationen etc. Der D-Kanal besitzt eine Kapazität von 16 KBaud bei So-Anschlüssen,
64 KBaud bei S2m-Anschlüssen, und steht in der Regel derzeit für eigene Anwendungen nicht
zur Verfügung. Ausnahme: Senden/Empfangen von USER-USER-Information-Frames (UI-
Frames), was jedoch nicht von jeder CAPI-Implementierung unterstützt wird.
Mit der Einführung von EuroISDN plant die Telekom die Möglichkeit zu schaffen, das X.25-
Protokoll für Datenverbindungen im D-Kanal zu ermöglichen. Hieraus ergibt sich zwar ein
geringerer Durchsatz als bei X.25-B-Kanalverbindungen, jedoch sind die Kosten verglichen mit
einem Datex-P-Hauptanschluß (9600 Baud) wesentlich geringer. Genaue Informationen über
Verfügbarkeit und Tarifierung dieses Dienstes liegen jedoch noch nicht vor.
* Zwei B-Kanäle mit einer Kapazität von maximal je 64000 Baud. Die B-Kanäle dienen der
Nutzdatenverbindungen und können gleichzeitig genutzt werden, d.h. an einem S0-Anschluß
können gleichzeitig zwei Verbindungen aktiv sein.
Sowohl D-Kanal als auch B-Kanal bieten die Möglichkeit, verschiedene Protokolle (X.75, V.110,
SDLC etc). beim Verbindungsaufbau zu wählen. Der erzielbare Durchsatz hängt dabei vom
verwendeten Protokoll ab. Neben dem Protokolloverhead beschränkt das V.110-Protokoll den
Durchsatz durch die eingestellte Baudrate (38400, 19200, 9600 etc.).
ISDNCOM/2 verwendet bei Wahl des X.75-Protokolls die volle Kapazität des B-Kanals, also 64000
Baud, auch wenn der CONNECT-String eine andere Baudrate ausgibt. Dies erleichtert die
Kompatibilität zu Anwendungen, die keinen CONNECT 64000 erkennen können.
Bei V.110-Verbindungen richtet sich ISDNCOM/2 nach der eingestellten Baudrate. D.h. wenn das
Terminalprogramm auf 38400 Baud eingestellt ist, versucht ISDNCOM/2, eine 38400 Baud-
Verbindung aufzubauen, bei 19200 entsprechend etc. Die richtigen V.110-Einstellungen (Baudrate,
SIN, add. SIN) lassen sich am besten per ATBn (siehe "AT-Befehle") setzen.
5.2.B2-Framelength
Daten werden im ISDN auf Ebene 2 in 'Frames', also paketweise, verschickt. Diese Frames (Pakete)
haben eine maximale Länge, die als B2-Framelength bezeichnet wird.
Die Spezifikation des CAPI erlaubt eine maximale B2-Framelength von 2048 Bytes. Werden
größere Frames empfangen, kann es zu Datenverlusten und Abbruch der Verbindung kommen !
Damit sind ISDN-Karten, die mit größerer B2-Framelength senden, zur CAPI-Spezifikation
inkompatibel !!!
5.3.B3-Framelength
Auch auf Ebene 3 werden Daten in Frames verschickt. Wenn Ebene 3 transparent ist (also kein
Protokoll hat), dann sind die B3-Frames genauso groß wie die B2-Frames.
Wenn allerdings auf Ebene 3 ein Protokoll verwendet wird, wie z.B. T70-NL (CAPI default, aber
nicht 'ISDNCOM/2' default), dann benötigt dieses Protokoll noch ein paar Bytes Overhead. Diese
Bytes sind allerdings aus der Sicht des B2-Protokolls normale Nutzdaten und somit in einem
entsprechenden Puffer zu speichern.
Die B3-Framelength ist übrigens die maximale Anzahl von Bytes, deren Empfang durch ein
eingehendes B3-Datenpaket (DATA_B3_IND) von der CAPI signalisiert werden kann.
Wenn also B2 = X.75 und B3 = T70-NL eingestellt ist, dann benötigt das CAPI bei einer
gewünschten max. B3-Framelength von 128 Bytes und 2 Byte Overhead, eine B2-Framelength von
130 Bytes und somit 130 Bytes für einen Paketpuffer.
Man kann versuchen, durch möglichst große B3-Datenblöcke die Geschwindigkeit zu erhöhen.
Allerdings ist das nicht unbedingt von Erfolgt gekrönt. Die Ursache liegt in der Art und Weise, wie
bei X.75 Daten verschickt werden.
5.4.B2-Windowsize
Die B2-Windowsize ist die maximale Anzahl von B2-Datenblöcken, die das CAPI senden darf, ohne
daß ein Empfang der Daten von der Gegenseite bestätigt werden muß. Um "full-streamed"
Datenübertragung (d.h. die Datenblöcke werden ohne Verzögerung durch Warten auf die
Empfangsbestätigung kontinuierlich verschickt) zu ermöglichen, sollte die B2-Windowsize auf
mindestens zwei stehen, sofern sich dies bei der Gegenseite auch einstellen läßt (ist dies nicht
möglich, kann u.U. die Gegenseite "überrannt" werden).
5.5.Windowsizes, der ultimative Durchsatz !
Die B2-Windowsize ist, wie oben bereits erwähnt, die Anzahl der Frames, die gesendet werden
dürfen, ohne daß eine Bestätigung der Gegenseite für diese empfangen wurde. Das heißt, bei einer
Windowsize von drei können drei B2-Datenblöcke hintereinander (ohne Pause!) verschickt werden,
ohne daß auf die Bestätigung der Gegenseite gewartet werden muß.
Bei einer Windowsize von 1 hingegen muß jeder Block von der Gegenseite bestätigt werden, bevor
der nächste gesendet werden darf. Nun werden aber wiederum die Bestätigungen erst dann
gemeldet, wenn die Applikation auf der Gegenseite der dortigen ISDN-Karte (genauer der CAPI)
den Datenblock abgenommen hat. Das ist sehr sinnvoll, da man so eine Art Flow-Control zwischen
den beiden Teilnehmern hat, denn im ISDN gibt es kein RTS/CTS-Handshake. Hierdurch erhält man
beim ISDN-Transfer ein vergleichbares Zeitverhalten wie beim X-Modem Filetransfer.
Bei einer Windowsize von 2 hingegen kann 'ISDNCOM/2', während gerade ein Block verschickt
wird, schon den zweiten an die CAPI übergeben, und die Gegenseite, während der zweite noch
empfangen wird, schon den ersten Block bestätigen. Auf diese Weise können die Datenblöcke
nahezu ununterbrochen verschickt werden.
Wir haben bei unseren Tests bei einer durchschnittlichen Blockgröße von 2048 Bytes mehr als 7600
Bytes pro Sekunde (bei theoretischen 8000) erreicht. Als Transferprotokoll wurde Z-Modem
verwendet. Eine Erhöhung der Windowsize auf 3 war wirkungslos.
5.5.1.Empfehlungen
Aus Kompatibilitätsgründen sollte man auf die volle Ausnutzung der Features des eingesetzten
ISDN-Adapters (Frames > 2048 Bytes, Windowsize > 2 o.ä.) verzichten. Überträgt man zwei
Megabyte Daten mit 7600 cps (characters per second) statt mit 7800 cps, macht das einen
Unterschied von 15 sec. aus, kostet also im Inland im schlimmsten Fall eine Einheit mehr.
Ein weiterer Faktor bei den Übertragungsraten ist der Protokoll-Overhead (den man allerdings nicht
überbewerten sollte - viel kritischer ist das oben beschriebene Zeitverhalten beim Senden). Um diesen
zu minimieren, empfehlen wir B3-Protokoll = 1, also X.75. Zwar könnte der B2-Overhead durch
Wahl des Protokolls TRANSPARENT ganz eliminiert werden, jedoch muß hier die Datensicherung
durch die Applikation erfolgen und kann nicht bereits vom ISDN-Treiber (der ja auch als Microcode
auf einer intelligenten Karte eigenständig arbeiten kann) abgewickelt werden.
Um ebenfalls den B2-Protokoll Overhead zu minimieren, empfehlen wir eine B2-Framelength von
2048 Bytes. Mit dieser Framelength sollten alle ISDN-Karten beim Empfang zurechtkommen, allein
schon um zu anderen CAPI-Implementierungen kompatibel zu sein.
Wenn es beim Senden von Daten oft zu CRC Fehlern kommt, kann dies daran liegen, daß die ISDN-
Leitung erhebliche Störungen aufweist. Ein anderer Grund kann darin liegen, daß die Gegenseite nur
mit Windowsize 1 empfängt. In diesem Fall kann man bei 'ISDNCOM/2' mit dem -w-Parameter zur
Not auch auf eine Windowsize 1 "herunterschalten". Die meisten Karten können aber mit einer
Windowsize von 2 arbeiten.
Wir empfehlen deshalb eine Windowsize von 2 !
5.5.2.Vorschlag für sinnvolle Verbindungsparameter:
B2-Protokoll X.75 (gesicherte Übertragung, geringer Overhead)
B2-Framelength 2048 (s. obige Erläuterung)
Link-Address A 3 (CAPI default)
Link-Address B 1 (CAPI default)
Modulo Mode 8 (CAPI default)
Windowsize 2 (s. obige Erläuterung)
B3-Protokoll 4 transparent, also keines (B3-Overhead = 0)
Bei Verwendung des X.75-Protokolls mit obigen Einstellungen sollte auch ein beliebiges Mischen
von ISDN-Adaptern verschiedener Hersteller möglich sein, da X.75das einzige Protokoll ist, das die
CAPI zwingend vorsieht. Andere Protokolle (V.110, SDLC, X.25) etc. sind optional zu
implementieren. Zudem bietet X.75 bei einer gesicherten Datenübertragung einen relativ geringen
Overhead (2 Byte pro Frame).
5.6.V.110-Protokoll
Das V.110-Protokoll stellt einer Alternative zum X.75-Protokoll für die ISDN-Ebene 2 dar. V.110
wurde geschaffen, um Datenendgeräte, die bisher über asynchrone Modem-Verbindungen
angeschlossen waren, mit Hilfe einer Modembox (z.B. ELSA ELINK) an das digitale ISDN-Netz
anschließen zu können. Die Modembox übernimmt dabei die Umsetzung des Asynchron-
Datenstroms auf der eingehenden und ISDN auf der abgehenden Seite. Damit für zeitkritische
Anwendungen exakt das gleiche Timingverhalten gewährleistet werden kann, werden mit Hilfe des
V.110-Protokolls physische Pausen in den Datenstrom eingefügt. So wird die ursprüngliche
Geschwindigkeit von 64000 Baud auf die benötigte Baudrate (z.B. 9600) reduziert. Mit diesem
Verfahren ist es möglich, Asynchron-Endgeräte ans ISDN-Netz anzuschließen, ohne daß diese mit
der erheblich erhöhten Baudrate Probleme bekommen.
ISDN-V.110-Modemboxen finden auch in der Anbindung von PCs ans ISDN-Netz Verwendung.
Dies hat jedoch einen entscheidenden Nachteil: Die maximale Baudrate für V.110-Verbindungen
ist auf 38400 Baud begrenzt. Hinzu kommt, daß pro Byte, wie bei asynchron üblich, 10 Bits (Start-
, 8 Daten, Stopbit) übertragen werden. Die Investition in solche Modemboxen kann als wenig
zukunftssicher betrachtet werden, da die wenigsten Boxen über eine CAPI-Schnittstelle im PC
verfügen und somit nicht von CAPI-kompatiblen Anwendungen benutzt werden können, auch wenn
diese über entsprechende Treiber verfügen.
Auch unter Verwendung des V.110-Protokolls ist es nicht möglich, von einem Analog-Modem
eine Verbindung mit einem ISDN-Anschluß herzustellen. Diese Möglichkeit bietet die Telekom
derzeit nur für den Sprach- und den FAX-Dienst an. Einige ISDN-Kartenhersteller (u.a. ITK)
ermöglichen es, unter Verwendung eines speziellen Modemprotokolls, den Sprachübergang zu
nutzen, um darüber Modemverbindungen mit bis zu 14.400 Baud herzustellen.
6.Anhänge
6.1.Notes-MDM-Datei - Beispiel
; micado ISDNCOM/2
; (c) micado SoftwareConsult GmbH 1993
; Last Revision date: 06/25/93 (update this date each time you edit).
; Refer to file TEMPLATE.MDM (A Sample Modem Command File) for a
; description of modem command files.
[attributes]
MODELS=micado ISDNCOM/2
NULL MODEM=0
; If X.75 is selected (default) ISDNCOM/2 returns the CONNECT string
; indicating the baud rate previously set by the application.
; However the full 64000 Baud are used.
;
MAXIMUM SPEED=57600
DEFAULT SPEED=57600
FIXED SPEED=1
[commands]
ESCAPE=+++
ATTENTION=ATV1Q0E0
SETUP=ATZV1Q0S0=0
AUTO PULSE DIAL=ATDP
AUTO TONE DIAL=ATDT
ANSWER=ATA
HANGUP=ATH
[responses]
OK=OK
OK=0
RING=RING
RING=2
NO CARRIER=NO CARRIER
NO CARRIER=3
ERROR=ERROR
ERROR=4
NO DIALTONE=NO DIALTONE
NO DIALTONE=6
BUSY=BUSY
BUSY=7
NO ANSWER=NO ANSWER
NO ANSWER=8
CONNECT,64000=CONNECT 64000
CONNECT,64000=28
CONNECT,56000=CONNECT 57600
CONNECT,57600=CONNECT 57600
CONNECT,57600=27
CONNECT,48000=CONNECT 48000
CONNECT,48000=26
CONNECT,38400=CONNECT 38400
CONNECT,38400=21
CONNECT,19200=CONNECT 19200
CONNECT,19200=14
CONNECT,14400=CONNECT 14400
CONNECT,14400=17
CONNECT,12000=CONNECT 12000
CONNECT,12000=16
CONNECT,9600=CONNECT 9600
CONNECT,9600=12
CONNECT,7200=CONNECT 7200
CONNECT,7200=15
CONNECT,4800=CONNECT 4800
CONNECT,4800=11
CONNECT,2400=CONNECT 2400
CONNECT,2400=10
CONNECT,1200=CONNECT 1200
CONNECT,1200=5
6.2.DDINSTL-Script
:TITLE
micNotesConnect/2 - ISDN driver
:CONFIG
*** Default device name = COM3
DEVICE=\os2\drivers\micado\isdncom.sys -nCOM3
:FILES
isdncom\isdncom.sys \os2\drivers\micado\isdncom.sys
isdncom\isdncom.doc \os2\drivers\micado\isdncom.doc
isdncom\isdncom.mdm \os2\drivers\micado\isdncom.mdm
6.3.ISDN Layer 3 cause codes (0x34xx)
80: Unexpected error
81: Invalid call reference
83: Bearer service not implemented
86: Channel unacceptable
87: Call identity does not exist
88: Call identity in use
8A: No channel available
90: Requested facility not implemented
91: Requested facility not subscribed
A0: Outgoing call barred
A1: User access busy
A2: GBG check failed
A5: SVP not allowed
B0: Reverse charging not allowed at originating end
B1: Reverse charging not allowed at destination end
B5: Destination not obtainable
B8: Number changed
B9: Out of order
BA: No user responding
BB: User busy
BD: Incoming calls barred
BE: Call rejected
D8: Incompatible destination
D9: Network congestion
DA: Remote user initiated
F0: Local procedure error
F1: Remote procedure error
F2: Remote user suspended
F3: Remote user resumed
FF: User info discarded locally
6.4.CAPI Fehler-Codes gemäß Spezifikation
API-Fehler
0x1001: Error on API_REGISTER
0x1002: Illegal application-id
0x1003: Illegal message
0x1004: Illegal command or subcommand
0x1005: Queue is full
0x1006: Queue is empty
0x1007: Queue overflow
0x1008: Deinstall error
0x1009: Windows address error
Kodierungsfehler
0x2001: wrong controller
0x2002: wrong PLCI
0x2003: wrong NCCI
0x2004: wrong identifier
Parameter-Fehler
0x3101: wrong B channel
0x3102: wrong INFO mask
0x3103: wrong EAZ mask
0x3104: wrong SI mask
0x3105: wrong B2 protocol
0x3106: wrong DLPD
0x3107: wrong B3 protocol
0x3108: wrong NCPD
0x3109: wrong NCPI
0x310A: wrong FLAGS
Schicht 2-Fehler
0x3201: General controller error
0x3202: application conflict
0x3203: wrong function
0x3204: PLCI not active
0x3205: NCCI not active
0x3206: unsupported B2 protocol
0x3207: B2 protocol switch failed
0x3207: wrong DLPD
0x3208: B3 protocol not supported
0x3209: B3 protocol switch failed
0x320A: invalid DLPD parm
0x320B: invalid NCPD parm
0x320C: invalid NCPI parm
0x320D: invalid DATA length
Verbindungsafehler
0x3301: D channel layer 1 SETUP failed
check cable/NT
0x3302: D channel layer 2 SETUP failed
0x3303: B channel layer 1 SETUP failed
0x3304: B channel layer 2 SETUP failed
0x3305: D channel layer 1 aborted
0x3306: D channel layer 2 aborted
0x3307: D channel layer 3 aborted
0x3308: B channel layer 1 aborted
0x3309: B channel layer 2 aborted
0x330A: B channel layer 3 aborted
0x330B: B channel layer 2 reestablished
0x330C: B channel layer 3 reestablished
0x330D: B channel layer 3 reestablished ?
6.5.Datex-P20I.
Deutsche Bundespost Telekom
BTX *200003401452#
Stand 01/∩94
Der neue Multifunktionszugang DATEX-P20I erlaubt auf der Basis einer kostengünstigen ISDN-
PC-Adapterkarte oder eines ISDN-V.24-Adapters (Modembox) sich über ISDN in DATEX-P
einzuwählen. Voraussetzung bei den o.g. Adapterkarten bzw. Adaptern ist, daß sie die 64 kbit/s des
ISDN auf die vom PAD unterstützte Übertragungsgeschwindigkeit von 9600 bit/s (später 19,2 kbit/s
- Siehe Ergänzung *) ) anpassen, also das V.110-Protokoll verwenden.
Bisher sind Einwählmöglichkeiten DATEX-P20I nur in den alten Bundesländern eingerichtet.
Die Schaffung einheitlicher Rufnummern (ONKZ + 195540) für ISDN-Einwählzugänge wird für die
Zukunft angestrebt. Zur Zeit gibt es davon noch abweichende unterschiedliche Rufnummern.
BTX *200003401461#
6.5.1.Telefonnummern für Multifunktionszugang DATEX-P20I.
Aachen 0241 9 10 01 90
Augsburg 0821 24 67 70
Berlin 030 19 55 40
Bielefeld 0521 59 09 10
Braunschw. 0531 2 40 08 80
Bremen 0421 1 67 08 80
Chemnitz 0371 -
Cottbus 0355 -
Darmstadt 06151 33 88 00
Dortmund 0231 9 12 18 00
Dresden 0351 -
Düsseldorf 0211 1 33 74 90
Erfurt 0361 -
Essen 0201 2 43 17 20
Frankfurt/M 069 92 08 13 50
Frankfurt/O *1) -
Freiburg 0761 1 55 00 20
Gera 0365 -
Gießen 0641 9 70 10 00
Halle/Saale 0345 -
Hamburg 040 19 55 40
Hannover 0511 5 44 02 10
K'lautern 0631 3 10 04 00
Karlsruhe 0721 9 37 30 30
Kassel 0561 19 55 40
Kempten 0831 5 21 07 30
Kiel 0431 1 49 12 90
Koblenz 0261 4 06 45 40
Köln 0221 9 21 71 20
Leipzig 0341 -
Lingen 0591 9 11 12 90
Magdeburg *2) -
Mannheim 0621 4 22 55 20
München 089 29 08 51 10
Münster 0251 4 18 17 90
Neubranden. 0395 -
Nürnberg 0911 9 66 35 20
Oldenburg 0441 9 21 96 00
Passau 0851 19 55 40
Potsdam 0331 -
Ravensburg 0751 3 51 09 80
Regensburg 0941 7 81 03 60
Rostock 0381 -
Rottweil 0741 19 55 40
Saarbrücken 0681 9 82 04 00
Schwerin 0385 -
Siegen 0271 3 35 99 90
Stuttgart 0711 9 50 81 80
Suhl 03681 -
Trier 0651 14 71 60
Ulm 0731 19 55 40
Wiesbaden 0611 3 33 00 00
Würzburg 0931 3 53 03 50
Anmerkungen
*1)nur erreichbar aus Bereich Ff/O
*2)nur erreichbar aus Bereich Magdeb.
Zug um Zug erfolgt Umstellung auf die einheitliche Ruf-Nummer 195540.
*) Wichtige Ergänzung:
Die Telekom hat in Köln einen Test gestartet,in dem der Knoten mit 19200 bps angewählt
werden kann. Den Knoten erreichen Sie über die Nummer 0221/9210280 mit dem Protokoll
V110.
micado ISDNCOM/2
Inhaltsverzeichnis
1.Einleitung 2
1.1.Einsatzumgebungen 3
1.1.1.Lotus Notes 3
1.1.2.Fernwartung 3
1.1.3.Netzwerk 4
1.1.4.Terminal-/Mailbox-Betrieb, Mail-Router 4
1.2.GBG-Funktion 5
1.3.ISDNCOM/2 - Hard- und Softwarevoraussetzungen 6
1.3.1.Unterstützte ISDN-Karten: 6
1.3.2.Kompatibilität 6
2.Installation 7
2.1.Kopieren/Update der ISDN-Treiber. 7
2.2.Installation mittels DDINSTAL 7
3.Konfiguration 8
3.1.ISDNCOM/2-Ladeoptionen 8
3.2.Allgemein 9
3.2.1.Flußkontrolle 9
3.2.2.V.110: z.B. CompuServe, Datex-P20i, CPV Stollman TA 9
3.3.Lotus Notes ab Version 3.0 10
3.3.1.Anschluß definieren 10
3.3.2.Anschlußparameter 11
3.3.3.EAZ festlegen 12
3.4.micRC/2 ab Version 3.0 13
3.4.1.Modemprofil 13
3.4.2.Telefonbucheintrag 14
4.AT-Befehlssatz 15
4.0.1.AT-Übersicht 16
4.0.2.Erweiterter Befehlssatz: 17
4.1.Modem-Registersatz 18
4.1.1.Setzen und Lesen von S-Registern 20
4.1.2.Erläuterungen zu den Modemregistern 21
4.1.2.1.S14 - EAZ für eingehende Rufe 21
4.1.2.2.S15, S16 - Service-Indicator 21
4.1.2.3.S17 - B2+B3-Protokoll für Verbindungsaufbau 23
4.1.2.4.S24 - Optionen für den Verbindungsaufbau 23
4.1.2.5.S25, S26, S27 - PAD-Funktion 24
5.Begriffserklärungen 25
5.1.Baudrate 25
5.2.B2-Framelength 26
5.3.B3-Framelength 26
5.4.B2-Windowsize 26
5.5.Windowsizes, der ultimative Durchsatz ! 27
5.5.1.Empfehlungen 27
5.5.2.Vorschlag für sinnvolle Verbindungsparameter: 28
5.6.V.110-Protokoll 28
6.Anhänge 30
6.1.Notes-MDM-Datei - Beispiel 30
6.2.DDINSTL-Script 32
6.3.ISDN Layer 3 cause codes (0x34xx) 33
6.4.CAPI Fehler-Codes gemäß Spezifikation 34
6.5.Datex-P20I. 35
6.5.1.Telefonnummern für Multifunktionszugang DATEX-P20I. 35
38