![Stefan Luethje](/assets/img/avatar_default.png)
- improved performance for read files for vbox files and mgetty files. - it is possible to decide via config if you want to use avon or areacode.
431 lines
18 KiB
Text
431 lines
18 KiB
Text
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 klein 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)
|