PC`s verfügen heute üblicherweise über einen 500 bis
1000 MHz Prozessor. 64 bis 128 Mbyte Hauptspeicher und eine 20 bis 30 Gbyte
Festplatte. Ich denke es genügt wenn Sie einen PC mit 200 MHz Prozessor,
mindestens 64 Mbyte Hauptspeicher, sowie etwa eine 8 Gbyte Festplatte besitzen.
Allerdings müssen Sie eine SuSE 7.0 (oder höher) installiert
haben. Sodann sollte ihr Rechner mit einer ISDN-Karte vom Typ Arowana
PCI (mit HFC-Chip), TELES 16.3c ISA PnP (mit HFC-Chip), oder
Teles PCMCIA (mit HFC-Chip) bestückt sein.
Dabei wird die Arowana-Karte (weil PCI) vom System leichter installiert.
Leider ist die Teles PCMCIA Karte (mit HFC-Chip) die einzige unter Linux
auf einem LapTop betreibbare Karte dieser Art. Die Intec GmbH baut zwar
auch ISDN-Karten mit HFC-Chip aber vertreibt sie nur mit ihrem Analyzertool
Argus.
Man kann auch anstelle von einer Karte mit HFC-Chip, zwei ISDN-Karten
ohne HFC-Chip einsetzen, z.B. Fritz-Karten, das wird von Alexander Kool
im unten genannten README beschrieben. An dieser Stelle soll aber nur das
Vorgehen beim Einsatz einer Arowana-Karte beschrieben werden.
Die Installation haben Sie mit YAST2 vorgenommen, der die ISDN-Karte
automatisch erkannt und konfiguriert hat. Sie haben zwar den ppp-Zugang
zu Ihrem Provider konfiguriert, aber sie haben "manuelle" Anwahl eingestellt.
Wenn Sie "kinternet" anklicken, wird die ppp-Verbindung zu Ihrem Povider
hergestellt.
1.) Als "Werkzeug", zur Kontrolle was passiert, lassen Sie in einer Konsole das Kommando "tail -f /var/log/messages" laufen. Ich stelle für dieses Fenster, zur leichteren Orientierung auf dem Bildschirm, immer die Option->Schema->Green on Black ein.
2.) Sie müssen nun den isdnlog von Alexander Kool, nach
dessen Vorschrift, veranlassen, den D-Kanal zu monitoren und das Ergebnis
nach /tmp/isdnctrl0 zu schreiben. Nun ist der isdnlog ein kleines
Wunderwerk, mit dem man "least cost routen" kann, oder den man beauftragen
kann den D-Kanal nach bestimmten Ereignissen zu überwachen, usw. All
das kann man in /usr/share/doc/packages/i4l/isdnlog/README nachlesen.
Da die vorliegenden Zeilen ein Kochbuch darstellen sollen, will ich
direkt zur Sache kommen. Der isdnlog muß mit den im nachstehenden
Script aufgeführten Schaltern aufgerufen werden (4. Zeile). Wenn Sie
das tun, bekommen Sie in Ihrem (grün-schwarzen) Statusfenster den
Hinweis, daß bereits ein isdnlog in Betrieb ist, denn Sie haben ja
die ISDN-Karte automatisch installiert, gleichzeitig wird Ihnen dessen
Prozessnummer mitgeteilt. Sie können nun diesen Prozess löschen
und anschließend den neuen isdnlog mit den in Zeile 4 aufgeführten
Argumenten starten.
ps -x|grep /usr/sbin/isdnlog|awk '{a = $1
system("kill -9 "a" ") }'
rm /tmp/isdnctrl0
isdnlog -ns -v9 -t2 -w1 -l7 -h7:5 -H5 -21 -1 /dev/isdnctrl0&
hisaxctrl HiSax 1 4
hisaxctrl HiSax 10 1
hisaxctrl HiSax 12 1
Die erste und zweite Zeile des o.a. Scripts besorgt das Löschen des vorhandenen isdnlogs automatisch. Ehe der isdnlog seine Ergebnisse in die Datei /tmp/isdnctrl0 schreibt, sollte man die alte Datei aus Platzgründen löschen (Zeile 3). Dann legt der isdnlog eine neue Datei an.
3.) Damit der isdnlog seine Arbeit verrichten kann, muß dem Treiber der ISDN-Karte noch mitgeteilt werden, welche Informationen er durchreichen soll. Das wird mit Karsten Keils hisaxctrl erledigt, In der fünften Zeile des Scripts wird festgelegt, dass die D-Kanal Informationen in Hexformat, wie in der Q.931 festgelegt, ausgegeben werden sollen. Die sechste Zeile schränkt die benutzbaren B-Kanäle auf einen ein. Das ist der Preis für die Anweisung der sechsten Zeile, das Echo-Bit abzufragen.
4.) Wenn Sie das Script von Hand abgearbeitet oder die Zeilen als Shellscript
ausführbar gemacht haben, nennen wir das Kommando "startilog" oder
kurz "Stai", so können Sie damit jederzeit nach Hochfahren
Ihres Linux Ihre ISDN-Karte in den Monitormode versetzen.
Wenn Sie in einer Konsole in das Verzeichnis /tmp wechseln, dann können
Sie das Kommando tail -f isdnctrl0 eingeben (das dazugehörige
Shellscript sollte "tail -f /tmp/isdnctrl0" lauten und könnte
Rtrace heißen). Sie sehen daraufhin im Terminalfenster Zeilen,
wie als Beispiel nachfolgend dargestellt. Das sind RR's im "arbeitslosen"
D-Kanal.
Sat Dec 09 20:42:53 2000 0 HEX: 00 FB 01 A1
Sat Dec 09 20:43:02 2000 1 HEX: 02 FB 01 E9
Sat Dec 09 20:43:12 2000 1 HEX: 00 FB 01 E9
Sat Dec 09 20:43:21 2000 0 HEX: 02 FB 01 A1
Die Ziffer in der siebenden Spalte stellt die Richtung dar, in der der
D-Kanal-String ausgesendet ("1"), oder empfangen ("0") wird.
Wenn Sie disziplierte:-)ISDN-Endgeräte besitzen, sehen Sie im
ersten Moment ggf. nichts, da die Schicht 2 des D-Kanals nach Beendigung
der Verbindung abgebaut wird. Die obigen Zeilen wurden von der Teles.iLCR
2S0 Box des Autors verursacht.
5.) Es ist natürlich informativer ein Shellscript unter Verwendung von awk zu schreiben, und den Live-trace teilweise zu entschlüsseln. Es sollte mit dem Namen Atrace aufgerufen werden.
snd 21:19:26 TEI:125 L2: RR
snd 21:19:26 TEI:125 Meldg: SETUP CRW: 01 BC: CCITT
Sprache CAPN: 29821 HLC: Telefonie
rcv 21:19:26 TEI:125 L2: RR
rcv 21:19:27 TEI:125 Meldg: SETUP ACKNOWLEDGE CRW:
81
snd 21:19:27 TEI:125 L2: RR
snd 21:19:29 TEI:125 Meldg: DISCONNECT
rcv 21:19:29 TEI:125 L2: RR
rcv 21:19:30 TEI:125 Meldg: RELEASE CRW: 81
snd 21:19:30 TEI:125 L2: RR
snd 21:19:30 TEI:125 Meldg: RELEASE COMPLETE
rcv 21:19:30 TEI:125 L2: RR
Das Kommando lautet
tail -f /tmp/isdnctrl0|awk -f /tmp/awktr
worin awktr ein File in der Programmiersprache awk ist. Wie soetwas aussieht kann der Leser am gelinkten Beispiel ablesen, das sicherlich von erfahrenen awk-Programmierern leicht zu verbessern ist:-)
6.) Nun besteht sicherlich der Wunsch einzelne "Traceepisoden" aufzuzeichnen, z.B. zu analysieren, welche Informationen bei Inanspruchnahme des Dienstmerkmals "Call Deflection" auf dem D-Kanal ausgetauscht werden. Um die Datei trace.alz zu generieren bastelt man sich wieder ein einfaches Kommando. Nennen wir es Gtrace, womit wie nachstehend dargestellt
rm /tmp/trace.alz
tail -f /tmp/isdnctrl0>/tmp/trace.alz&
eine bereits bestehende Datei trace.alz gelöscht und die
D-Kanal-Rahmen ab sofort in derDatei trace.alz gesammelt werden.
Wollen Sie die Datei trace.alz nicht generieren, sondern nur
verfolgen welche D-Kanal-Rahmen bei verschiedenen Manipulationen am ISDN-Endgerät
mit dem Netz ausgetauscht werden, so genügt es, am Prompt des Xfensters
das Kommando Trace einzugeben
tail -f /tmp/trace.alz
Sie sehen die D-Kanal-Rahmen dann solange, bis Sie das Telnetfenster schließen, oder den Prozess durch Eingabe von ^C (Strg+C) beenden.
Mit dem Kommando Kt
ps -x|grep "tail -f /tmp/isdnctrl0"|awk '{a = $1
system("kill -9 "a" ") }'
wird der Prozess, der für das Sammeln der D-Kanal-Rahmen in die
Datei trace.alz verantwortlich ist, beendet . Die Datei trace.alz bleibt
bestehen und kann mit unterschiedlichen Methoden ausgewertet werden.
7.) Warum wurde nun, wie im Abschnitt 6 beschrieben, die erzeugte Tracedatei trace.alz genannt? Das ist dem Zusammenwirken mit der CBT-CD "Der ISDN-D-Kanal Transparent" geschuldet, deren Inhalt im Link "Über das Projekt" beschrieben ist . In dieser CD werden Übungen aus Powerpointfolien gestartet. Die Rohtrace werden dann automatisch mit dem Programm TelesViewG übersetzt, was dann so aussieht:
-----[ 4 ]---[ S ]---[ 11:31:32 ]--------------------------------------
00 df 00 00 08 01 03 05 a1 04 02 88 90 6c 07 01 80 32 39 38 32 31 70 0d
81 30 33 30 36 37 37 36 38 33 30 37 32 7c 02 88 90
00 SAPI=0 C/R=0 E/A=0
df TEI=111 E/A=1
00 I-B N=0 00: N(R)=0 P=0
08 E-DSS1, PD=08
01 CRL=1 03: CRW=3 Ursprungsseite
05 SETUP
a1 ---> sending complete
04 ---> bearer service indication
02 length=2
88 CCITT uneingeschraenkte digitale Informationen
90 Leitungs Mode 64 kbit/s
6c ---> calling party number
07 length=7
01 Nummerntyp unbekannt
ISDN-Telefonie Nummerierungsplan
80 Darstellung der Nummer erlaubt
vom Endgeraet generiert, nicht geprueft
32..31 29821
70 ---> called party number
0d length=13
81 Adresstyp unbekannt
Nummerierungsplan ISDN-Telefonie
30..32 030677683072
7c ---> low layer compatibility
02 length=2
88 CCITT uneingeschraenkte digitale Informationen
90 Leitungs Mode 64 kbit/s
-----[ 5 ]---[ R ]---[ 11:31:32 ]--------------------------------------
.......
8.) Damit aus Windows auf die Datei trace.alz im LINUX zugegriffen werden kann, muß SAMBA eingerichtet werden. Bei mir funktioniert folgende Datei /etc/smb.conf:
;
; /etc/smb.conf
;
; Copyright (c) 1999 SuSE GmbH Nuernberg, Germany.
;
[global]
workgroup = arbeitsgruppe
guest account = <IhrName>
keep alive = 30
os level = 2
security = share
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
interfaces = <Die ip-Nummer Ihres Netzes>/24testparm
wins support = no
[tmp]
path = /tmp
comment = tracedatei
browseable = yes
read only = no
create mode = 0750
public = yes
Wenn Sie SAMBA das erste Mal einrichten, sollten Sie sich in der SuSE 7.0 /usr/share/doc/howto/en/html/smb-howto-1.html anschauen.
9.) Ist das erledigt, können Sie aus jedem Windows-Rechner in Ihrem Netz auf die Datei \\<NameDesLinuxRechners\tmp\trace.alz zugreifen. Wenn Sie die das Tracetool
TelesViewG besitzen (siehe Bild), können Sie im Menü
Optionen. Den Pfad zu /tmp/trace.alz einstellen.
Bei mir sieht das (zusammen mit vmware) aus, wie nachstehend
dargestellt.
Wenn Sie vmware nicht installiert haben, sieht der Pfad so aus:
\\<NameDesLinuxRechners\tmp\trace.alz.
Sobald Sie TelesViewG mit diesen Einstellungen in einem Windows-Rechner
in Ihrem Netz aufrufen startet das Tracetool mit der zuletzt im Linux aufgezeichneten
Datei /tmp/trace.alz.
10.) Natürlich können Sie auch vmware installieren,
dazu sollte Ihr Rechner aber etwas leistungsfähiger sein Diese Zeilen
schreibe ich in Microsoft Word unter vmware auf einem Rechner mit
800 MHz CPU, 30 Gbyte Platte und 128 Mbyte RAM Hauptspeicher. Das oben
dargestellte Fenster TelesViewG habe ich im Windows98 Fenster auf meinem
LINUX-Rechner aufgerufen. Der Fensterinhalt zeigt den Inhalt meines letzten
Traces.
11.) Nun sind folgende Scenarien denkbar :
11.1 Wenn Sie mit vmware arbeiten, starten Sie den Tracevorgang mit Stai in einer Linux-Konsole und in der gleichen Konsole darauf Atrace. Sie sehen jetzt live (Teilkodiert) was sich auf dem D-Kanal abspielt. Diese Monitoring können Sie nun stundenlag durchführen. Sie besitzen damit (mit /tmp/isdnctrl0) ein genaues Protokoll aller D-Kanal-Aktivitäten über einen längeren Zeitraum. Auf /tmp/isdnctrl0 lässt sich allerdings mit TelecViewG nicht zugreifen, da das Unixformat nicht interpretiert wird. Soll das gesamte /tmp/isdnctrl0 analysiert werden, kopiert man sich (über "Netzwerkumgebung") diese File auf den Desktop und konvertiert es im DOS-Fenster mit dem Kommando unix2dos
C:\WINDOWS\Desktop>unix2dos isdnct~1 isdnctrl.alz
Das File isdnctrl.alz läßt sich mit TelesViewG übersetzen
und mit den eingebauten Suchfunktionen analysieren.
Eine Traceepisode, d.h. ein bestimmtes Verhalten (oder Fehlverhalten)
einer ISDN-Schaltung untersucht man besser indem man in einer zweiten Linux-Konsole
Gtrace
startet,
dh das File trace.alz erzeugt. In der gleichen Konsole kann man
dann das Kommando Trace ausführen und so die Rahmen des Rohtraces
beobachten, die in trace.alz gespeichert werden. Mit
TelesViewG
kann
man nun (über das Netzwerk) jederzeit /tmp/trace.alz
übersetzen
und analysieren.
Es empfiehlt sich jedoch mit dem Kommando Kt die Generierung
von
trace.alz abzubrechen, damit man nur die interesierenden Elemente
der TraceEpisode konserviert.
11.2 Sie sind Lehrer und demonstrieren bestimmte TraceEpisoden von
Ihrem Arbeitsplatz aus, ggf. mit einem Beamer gekoppelt an der Tafel.
Dann kann auf die Datei /tmp/trace.alz natürlich
auch aus dem Netz einer Lehrklasse heraus zugegriffen werden.
Selbstverständlich muß dann von den Schülerarbeitsplätzen
(WindowsRechner) auf denen das TraceTool läuft auch der Trace im Linuxrechner
gestartet werden können. Das geschieht (solange bis ein geeigneter
Client zur Verfügung steht) unter Verwendung des TELNET-Clienten,
den man sich als Verknüpfung aus dem Verzeichnis c:\windows auf den
Desktop holt. Man öffnet TELNET, gibt den Namen des Linuxrechners
an und loggt sich als gast ein, (der Nutzer den Sie ohne Passwort
eingerichtet haben). Durch Auswahl der Zugriffsrechte wird nun vermieden,
dass die Schüler Gtrace oder Kt aufrufen können.
Nurdas
Kommando Trace gestattet den Schülern in Ihrem Telnetfenster
die TraceEpisode zu verfolgen. Natürlich kann
trace.alz auf
jedem Arbeitsplatz mit TelesViewG übersetzt werden.
11.3 Sie arbeiten ohne vmware und benutzten den Linuxrechner (sogar
ohne KDE) nur zum Fangen der D-Kanal-Rahmen.
Wenn Sie von Ihrem PC mit Telnet im Linux eingeloggt sind, nehmen
Sie sich die Rechte des Superusers, durch Eingabe von su am Prompt
. Danach werden Sie aufgefordert das SuperuserPasswort einzugeben.
Ist das erfolgt können Sie die oben beschriebenen Kommandos von Ihren
Telnet Fenster aus eingeben. Auch den livetrace, der mit atrace gestartet
wird (beschrieben in Pkt 5) können Sie sich (ggf. in einem separaten
Telnetfenster) auf die Windowsoberfläche holen. Sodann führen
Sie alle Operationen aus wie in 11.1 und 11.2 beschrieben
Nachstehend ist eine Powerpoint Folie aus der
der CBT-CD "Der ISDN-D-Kanal transparent" dargestellt, aus der
Sie direkt auf /tmp/trace.alz zugreifen können. Die Demo-CD dieser
CBT-CD enthält eine Demoversion von TelesViewG, die alle Q.931
Nachrichten und Informationselemente außer Facility übersetzt.
Die Demo-CD erhalten Sie für 10,- DM bei:
Elektronik-Praktiker-Verlagsgesellschaft
mbH
Postfach 1163 - 37107 Duderstadt