isdn4k-utils/HOWTO

431 lines
18 KiB
Plaintext

isdn4k-utils - HOWTO - Andreas Kool - 31-Mar-97 - 23:53
***************************************************************************
** Dieses Dokument wendet sich z.Zt. vor allem an all diejenigen, die es **
** nicht abwarten koennen, und sich die neuen isdn4k-utils ->PRE ALPHA ! **
** aus dem CVS-Baum ausgecheckt haben. **
** **
** Es handelt sich um ein gerade entstehendes Programmpaket - daher **
** sind alle Fehlerhinweise, Verbesserungsvorschlaege etc. sehr gerne **
** gesehen, Anfragen bzgl. "ich bekomme das nicht kompiliert" jedoch **
** koennen in diesem Fruehstadium leider *nicht* beantwortet werden! **
***************************************************************************
Dieses Dokument versucht, jedem den Einstieg in die neuen isdn4k-utils
so einfach wie moeglich zu machen.
Fuer alte isdnlog-Hasen wirkt die neue Version sicherlich erst einmal
wie ein Kulturschock ... soo schlimm wird es aber gar nicht!
Um die Benutzung aller Utilities rund um isdn4linux auch fuer Neueinsteiger
so einfach wie irgend moeglich zu machen, haben wir versucht, alle
Tools ineinander zu verzahnen, und ueber eine einzige, gemeinsame
Konfigurationsdatei steuerbar zu machen.
Mit folgenden Schritten kommt man in den Genuss von isdnlog-2.99.2:
1. Es sollten als Vorbedingung Linux-2.0.29 nebst isdn4kernel-2.0.29.5
installiert werden. isdnlog-2.99.2 arbeitet zwar auch mit aelteren
Versionen von isdn4linux zusammen, jedoch entgehen einem dadurch
viele neue Features, und ausserdem wurde isdnlog-2.99.2 primaer
in dieser Umgebung getestet - daher koennen Probleme mit
frueheren Versionen nicht ausgeschlossen werden.
2. Die isdn4k-utils auspacken:
$ cd /usr/src
$ tar xzf isdn4k-utils.tar.gz
3. Die grundsaetzlichen Betriebsmodi einstellen:
$ cd isdn4k-utils
$ make config
Es erscheint nun ein interaktives Konfigurationsmenue, in dem die
gewuenschten Programme/Optionen angewaehlt werden koennen.
Besonderes Augenmerk sollte (neben dem Freischalten von isdnlog ;-)
folgenden Einstellungen gelten:
#define I4LCONFDIR "/etc/isdn"
hier wird angegeben, in welchem Verzeichnis alle Configurations-
Dateien untergebracht werden sollen. Wer alles wie frueher
belassen will, traegt hier "/etc/isdnlog" ein.
Die Developer von isdn4linux haben sich jedoch auf das
zukuenftige Verzeichnis "/etc/isdn" geeinigt.
# export LIBAREA=1
isdnlog soll mit dem neuen AVON-Verzeichnis von
Ullrich von Bassewitz (uz@musoftware.com)
arbeiten. Dies sollte _immer_ eingeschaltet werden.
# export POSTGRES=1
isdnlog soll alle Verbindungsinformationen auch in
eine SQL-Relation eintragen. Dies darf nur eingeschaltet werden,
wenn postgres95 einsatzbereit installiert ist!
Zur Zeit sind die naechsten beiden Schalter ueberfluessig, da der
xisdn voruebergehend aus der Distribution genommen wurde!!!!
# export NEED_GDBM=1
Falls man _nicht_ LIBAREA=1 eingeschaltet hat, und zudem
keine Datei "/usr/lib/libdbm.a", dafuer aber "/usr/lib/libgdbm.a"
besitzt, muss dieser Schalter aktiviert werden.
# export NEED_ICE=1
Wer sich das X11-Frontend "xisdn" erstellen moechte, kann hiermit
steuern, ob auch die Bibliotheken "libICE.so" sowie "libSM.so"
hinzugelinkt werden muessen
# export OLD_I4L=1
Wer nicht bereit ist, den aktuellen Stand von isdn4linux
einzusetzen, kann hiermit die Unterstuetzung fuer isdn4linux
_kleiner_ Rev: 1.31/1.24/1.33 freischalten.
Dadurch wird u.a. CHARGEINT unmoeglich!
# export ISDN_NL=1
Hiermit wird die gesamte Gebuehrenauswertung auf die Niederlande
umgeschaltet. Dieser Schalter muss also in den Niederlanden
eingeschaltet werden.
# export ISDN_CH=1
Hiermit wird die gesamte Gebuehrenauswertung auf die Schweiz
umgeschaltet. Dieser Schalter muss also in der Schweiz
eingeschaltet werden.
4. Nun kann alles kompiliert und installiert werden:
$ make
$ make install
Waehrend der Compiler arbeitet bietet sich die Wartezeit geradezu
an, um ein wenig im README von isdnlog zu schmoeckern ;-)
ACHTUNG: Der Schritt "make install" terminiert einen evtuell gerade
aktiven alten isdnlog! Um nicht zu viele Verbindungsinformationen
zu verlieren, sollten daher die folgenden Schritte zuegig
durchgefuehrt werden!
5. Vorbereiten des ersten Start des neuen isdnlog:
Einige wenige Command-Line-Switches von isdnlog wurden erweitert:
- Das Argument von "-v" wurde erweitert
- Bei "-m", "-l" sowie "-x" wurden marginale Aenderungen durchgefuehrt
- Das Argument von "-h" wurde geaendert
Wer diese Schalter verwendet, sollte sich daher die entsprechende
Beschreibung im "isdnlog/README" durchlesen, und seine
Angaben entsprechend korrigieren.
Der neue isdnlog arbeitet mit einer vollstaendig anderen
Konfigurationsdatei.
Diese wird automatisch aus der bestehenden generiert.
Es wird das alte Verzeichnis "etc/isdnlog" nach "etc/isdn" umkopiert.
isdnlog-2.99.2 versucht daher beim ersten Start, die alte
Konfigurationsdatei "isdnlog.conf" in die neue Syntax umzuwandeln.
Dieses passiert automatisch mit make install
Es werden in dieser Version alle Telefonnummern in der Datei callerid.conf
ausgelagert, so dass die isdn.conf sehr klien wird.
6. Erster Start des neuen isdnlog:
Nach diesen Vorbereitungen kann isdnlog-2.99.2 nun endlich gestartet
werden.
Im folgenden unterstelle ich mal, das isdnlog folgendermassen
aufgerufen wird (so betreibe ich isdnlog hier):
isdnlog -nsS -v13 -t2 -w1 -m0x17f7 -l7 -h5:3 -H5 -22 /dev/isdnctrl0
isdnlog sollte sich - je nach eingestelltem Ausgabekanal - auf
der Konsole oder dem syslog in etwa folgendermassen melden:
isdnlog Version 2.99.2 loaded
(ISDN subsystem with ISDN_MAX_CHANNELS > 16 detected - x active channels
(Data versions: iprofd=0x04 net_cfg=0x02 /dev/isdninfo=0x01)
Nun sollte als erste Funktionspruefung z.b. der Hoerer des Telefons
abgenommen, und wieder aufgelegt werden.
Es sollte die Meldung
(HiSax driver detected)
auftauchen. Ist dies nicht der Fall, muss geprueft werden, ob mittels
$ telesctrl ID 1 4
das D-Kanal logging des Hisax-Treibers eingeschaltet wurde.
Kurz danach sollten die D-Kanal-Meldungen erscheinen:
22.Feb 12:26:53 * Calling ? with ? BEARER: Speech, CCITT standardized coding
22.Feb 12:26:53 * Calling ? with ? 64 kbit/s, Circuit mode
22.Feb 12:26:53 * Calling ? with ? G.711 A-law
22.Feb 12:26:53 * Calling ? with Phone HLC: CCITT
22.Feb 12:26:53 * Calling ? with Phone HLC: Telefonie
22.Feb 12:26:53 * Calling ? with Phone CHANNEL: BRI, B1 gefordert
22.Feb 12:26:53 * Calling ? with Phone PROGRESS: Location: Local:public net
22.Feb 12:26:53 * Calling ? with Phone PROGRESS: Inband Information available
22.Feb 12:26:56 Calling ? with Phone Normal call clearing
22.Feb 12:26:56 Calling ? with Phone HANGUP
Die angezeigten Informationen koennen je nach Telefon, Telefonanlage
sowie isdnlog-Konfigurationsdatei von obigem Beispiel abweichen,
aber irgend etwas in dieser Art muss auftauchen - sonst stimmt
etwas grundlegendes nicht!
Neben diesen direkten Meldungen muss isdnlog-2.99.2 sowohl einen
Eintrag in der "/var/log/isdn.log" vorgenommen, als auch
die Protokolldatei "/tmp/isdnctrl0" fortgeschrieben haben.
7. Nachbearbeitung der neuen Konfigurationsdatei
Nachdem isdnlog-2.99.2 nun offensichtlich arbeitet, ist es an der Zeit,
die gerade automatisch neu erstellte Konfigurationsdatei zu ueberarbeiten.
Die Syntax erschliesst sich einem eigentlich von alleine, eine naehere
Beschreibung findet sich im "isdnlog/README"
Die Umwandlung von alte auf neue Syntax ist leider ausser Stande,
die eingestreuten Kommentare (-> Zeilen mit "#") zu uebernehmen.
Daher muessen diese von Hand uebernommen werden.
In der Section [GLOBAL]
werden automatisch mit make install die beiden Eintraege
COUNTRYCODE = +49
AREACODE = xxxx
eingefuegt, wenn vorher diese Daten im Menue eingegeben wurden.
Nachdem die neue Konfigurationsdatei fuer gut befunden wurde, sollte
die alte Konfigurationsdatei "isdnlog.conf" geloescht werden, da
isdnlog sonst staendig versuchen wuerde, die alte in die neue
Syntax umzustellen (allerdings nur, wenn die alte Datei ein neueres
Datum hat, als die neue)
Wer bis hier gekommen ist, kann ein lautes "puuuh, geschafft!"
ausstossen! Nun ist es endlich an der Zeit,
7.1 Es gibt nun zwei (oder sogar drei!?!) neue Konfigurationsdateien:
/etc/isdn/isdn.conf
/etc/isdn/callerid.conf
~/.isdn
Wobei sich in der "isdn.conf" nur noch die rein auf isdnlog beziehenden
Eintraege befinden, und in der "callerid.conf" die von isdnlog und
(bald!?!) vbox gemeinsam verwendeten Eintraege!
8. Die neuen Features von isdnlog erkunden
- mit dem ersten neuen Feature, der neuen Konfigurationsdatei
wurde man ja bereits ausgiebig konfrontiert.
Dazu gibt es nun ein neues Programm "isdnconf" zur komfortablen
Beauskunftung - siehe dazu "isdnlog/README"
- isdnlog arbeitet nun durchgaengig mit "full qualified" Telefonnummern,
d.h. alle Telefonnummern werden _nur_noch_ in der Form
<Internationale Vorwahl> <Vorwahl> <Rufnummer>
behandelt. Zum Beispiel wuerde die Nummer "4711" in Frankfurt,
Deutschland so "+49 69 4711" dargestellt werden.
- isdnlog arbeitet nun mit der neuen Library "areacode-1.01" von
Ullrich von Bassewitz (uz@musoftware.com)
Eine ausfuehrliche Beschreibung dazu findet sich in
"areacode/areacode.doc"
Diese Library ersetzt das alte "AVON" Verzeichnis der frueheren
isdnlog-Versionen. Sie bietet folgende Vorteile:
- sehr aktuelle Ortsnetz-Daten
- Daten fuer Deutschland, Schweiz, Oesterreich, Funknetze, 0180-
0190- usw. enthalten
- wesentlich schneller
- eine einzige, UNIX-weit gemeinsame Bibliothek fuer Vorwahlen.
Per heute unterstuetzen
- isdnlog
- vbox
- ESTIC
diese Library, weitere Applikationen werden sicherlich folgen!
Wer unbedingt auf seine AVON besteht, kann diese natuerlich
weiterverwenden. Dieses muss dann allerdings im Menu angegeben werden.
- chargeint (auflegen kurz vor dem naechsten Gebuehrenimpuls) ist
mittlerweile offizieller Bestandteil von isdn4linux, und damit
aus dem "Patch" Stadium heraus. Die Steuerung durch isdnlog
wurde verfeinert - siehe dazu den "-h" Schalter
- isdnlog-2.99.2 bietet 4 verschiedene Moeglichkeiten, die Kosten
gegenueber der .T... sowie dem jeweiligen Internet-Provider
zu begrenzen:
- Watchdog:
isdnlog-2.99.2 erkennt Fehlverhalten von isdn4linux, und
terminiert es rechtzeitig.
(Neuer Schalter "-Hx" -> wenn seit mehr als "x"
Gebuehreneinheiten kein Datentransfer mehr feststellbar ist,
wird isdn4linux abgewuergt - wenn es sein muss, mit einem
Reboot der ganzen Maschine)
- CHARGEMAX:
Hiermit kann definiert werden, wieviel Geld (in DM) man
maximal gewillt ist, pro Tag zu vertelefonieren.
Wird diese Grenze ueberschritten, wird isdn4linux
abgewuergt (neuer Eintrag CHARGEMAX in der "isdn.conf")
- CONNECTMAX:
Hiermit kann definiert werden, welche maximale Verbindungszeit
man pro Monat haben moechte (ich habe dort die Freistunden
meines Provider's eingetragen)
Wird diese Grenze ueberschritten, wird isdn4linux
abgewuergt (neuer Eintrag CONNECTMAX in der "isdn.conf")
- BYTEMAX:
Hiermit kann definiert werden, wieviel Byte man pro Monat
maximal saugen will (fuer Provider, die ein maximales
Kontingent in Byte definieren).
Wird diese Grenze ueberschritten, wird isdn4linux
abgewuergt (neuer Eintrag BYTEMAX in der "isdn.conf")
- isdnlog-2.99.2 besitzt eine Anbindung an die SQL-Datenbank postgres95.
Wird diese freigeschaltet, traegt isdnlog-2.99.2 jede Verbindung nicht
nur in die "/var/log/isdn.log", sondern auch in eine SQL-Relation ein.
Beschreibung dazu siehe "isdnlog/README"
- isdnlog-2.99.2 unterstuetzt nun den neuen "City Weekend Tarif"
Wer das bei der .T... beantragt hat, muss isdnlog mit der neuen
Option "-F" starten
ACHTUNG: Im "City Weekend Tarif" sind die AOC-D / AOC-E Meldungen
(Gebuehreninfos) der VSt *definitiv* falsch!
(Siehe Kleingedrucktes auf dem Antrag ...)
Daher sind die Aussagen von "isdnrep" hierzu natuerlich
auch "falsch" !
Die Steuerung des "CHARGEINT" von seiten isdnlog ist
jedoch richtig!
- isdnlog kann nun (incl. "ChargeInt" Feature) in den Niederlanden
eingesetzt werden, da Ad Aerts (ad@aasup.nl) isdnlog _vollstaendig_
an die Niederlande angepasst hat.
- isdnlog-2.99.2 versteht eine Menge neuer D-Kanal-Frames, von denen einige
in den vergangenen Monaten Bestandteil manchmal heftiger Diskussionen
waren:
- COLP
- CLIP
- Rufumleitung
Wie mir leider erst in den letzten Tagen bekannt wurde, kann isdnlog-2.99.2
mit dem neuen Feature "Rueckruf bei besetzt" noch _nicht_ umgehen.
Hierzu werde ich einen Patch nachliefern, sofern mir die VSt Giessen
dieses Feature *endlich* freischaltet!
Entgegen frueheren Versionen verbucht isdnlog-2.99.2 jedoch ihm unbekannte
FACILITY-Frames nicht mehr mit teilweise astronomischen Gebuehren.
Daneben dekodiert isdnlog-2.99.2 nun vollstaendig die Elemente
- Bearer capability
- Channel identification
- Progress indicator
- Notification indicator
- High layer compatibility
aus, und kann die zahlreichen neuen Informationen bei Bedarf anzeigen.
- isdnlog-2.99.2 zeigt nun die exakte Dauer (in Sekunden) bis zum naechsten
berechneten (also genauen - fuer chargeint verwendeten) Gebuehrenimpuls
an:
Calling EUnet with HDLC I=883,1Kb 5,8Kb/s O= 40,5Kb 272,6 b/s H#7= 12s
------------------------------------------------------------------^^^^^^^^
Bedeutet: Wir befinden uns gerade in dem 7. Gebuehrentakt, noch exakt
12 Sekunden bis zum faellig werden der naechsten DM 0,12
- isdnlog-2.99.2 bietet nun den neuen Schalter "-Axxx" an. Hiermit
kann angegeben werden, welche Ziffern oder Zahlen man an einer
Telefonanlage vorwaehlen muss, um "ein Amt" zu bekommen.
Dadurch wird isdnlog in die Lage versetzt, diese wieder
herauszurechnen, womit die Falschmeldungen bzgl. den Vorwahlen
vermieden werden koennen.
- Unterstuetzung einer zweiten, falsch angeschlossenen Teles-Karte
Wie mittlerweile allgemein bekannt, konnte isdnlog bislang die
Informationen von anderen Geraeten am S0-Bus (Telefon, Fax, Modem)
nicht mitbekommen.
Dagegen wurde mittlerweile eine Loesung erarbeitet:
Falls man sich eine zweite Teles-Karte entsprechend dem
Schaltbild in "isdnlog/README" einbaut, und isdnlog mit
dem neuen Schalter "-2x" startet, bekommt isdnlog nun
alle D-Kanal-Frames mit, und kann daher auch alle Informationen
lueckenlos anzeigen.
Wird fuer "x" 2 eingesetzt, also "isdnlog -22", zeigt isdnlog
sogar direkt jede Ziffer an, die man z.b. an einem Telefon
eintippt.
Um Missverstaendnissen vorzubeugen:
- diese zweite Karte kann *nicht* zur Kommunikation eingesetzt
werden - sie spielt *nur* noch Monitor
- die "-2" Option bedeutet nicht, das isdnlog nun mit mehr
als 2 B-Kanaelen umgehen kann! isdnlog arbeitet nach wie
vor nur mit einem Basis-Anschluss (BRI) zusammen.
Gleichwohl koennen nun mehrere isdnlog's parallel betrieben
werden (pro Basis-Anschluss einer), da sich die einzelnen
isdnlog's nun nicht mehr gegenseitig in's Gehege kommen.
- isdnlog-2.99.2 haelt die Log-Datei "/var/log/isdn.log" nun nicht
mehr staendig offen. Daher kann diese nun zu einem beliebigen
Zeitpunkt verschoben oder geloescht werden. Danach _muss_ diese
Datei jedoch wieder leer angelegt werden
(cp /dev/null /var/log/isdn.log) !
So, nun wuensche ich allen viel Spass mit dem neuen isdnlog-2.99.2 - nicht
ohne mich bei den Leuten zu bedanken, die viele freie Stunden in die
Weiterentwicklung von isdnlog gesteckt haben:
Stefan Luethje (luethje@sl-gw.lake.de)
Karsten Keil (isdn4@temic-ech.spacenet.de)
Fritz Elfert (fritz@wuemaus.franken.de)
Ullrich von Bassewitz (uz@musoftware.com)
Hardy Buchholz (hardy@Kool.f.EUnet.de)
Ad Aerts (ad@aasup.nl)
Markus Leist (markus@hal.dirnet.com)
und ganz besonders bei Dr.-Ing. Joachim Goeller, der mich beim
Verstehen des ISDN-D-Kanal's unzaehlige Male beraten hat!
Abschliessend nochmals die Bitte: Wer Probleme mit isdnlog-2.99.2
hat, sollte zu allererst dieses HOWTO, das "isdnlog/README"
sowie die einschlaegigen FAQ's zu isdn4linux studieren.
Nur wer so nicht weiterkommt, schreibe uns eine email an
isdnlog@Kool.f.EUnet.de
Diese sollte auf jeden Fall als Mindestausstattung:
- die "isdn.conf"
- die Aufruf-Parameter von isdnlog
- die Versionen von Linux, isdn4linux, HiSax-Treiber
- einen Ausschnitt der "/tmp/isdnctrl0"
enthalten.
Bitte bedenkt, das wir auf dieser Mailing-Liste mittlerweile taeglich
eine Unzahl von Anfragen erhalten, und auch unser Tag leider nur 24 Stunden
hat!
Andreas Kool (akool@Kool.f.EUnet.de)