ISDNLOG - Version 2.00 - 				10-Jan-96  20:12

1. Einleitung
-------------
Die beiden Programme "isdnlog" sowie "isdnrep" ermoeglichen (in Verbindung
mit isdn4linux ;-) eine Protokollierung aller ISDN-Verbindungen, eine
staendige Zustandsanzeige beider B-Kanaele, sowie eine Gebuehrenabrechnung.

  isdnlog
    lauscht staendig am "/dev/isdnctrl0", und schreibt alle Verbindungen
    nach "/var/adm/isdn.log"

  isdnrep
    erstellt eine Gebuehrenabrechnung aus der "isdn.log"


!! Damit "isdnlog" auch alle Verbindungen, die nicht mit der ISDN-Karte
!! getaetigt werden erfassen kann (Telefon, Fax, Modem  ...) muss der
!! Teles-Treiber Version 0.4d (oder hoeher) installiert sein!
!! Empfohlen wird isdn4linux0.7.3beta!


!! Wer eine isdn4linux Version kleiner 0.7.3 verwendet, muss zuvor den
!! Teles-Treiber patchen:
!!
!! cd /usr/src/isdn
!! patch < ../isdnlog-2.0beta/patch-isdn4linux


!! ACHTUNG: Die "/etc/isdnlog.conf" hat eine neue, 4. Spalte erhalten!
!!
!!   D.h. aus:
!!     # MSN/EAZ     SymName        Zone  Info-arg's
!!     xxxxx         FAX            1     /var/isdn/sounds/dingdong.au
!!     xxxxx         ISDN           1
!!
!!   Ist nun:
!!     # MSN/EAZ     SymName        Zone  Flags  Info-arg's
!!     xxxxx         FAX            1     1      /var/isdn/sounds/dingdong.au
!!     xxxxx         ISDN           1     0
!!
!!  geworden!


Einige Verbindungen werden leider nicht mit Telefonnummer protokolliert.
Dies erklaert am besten Gernot Zander:

: Rausgehende Gespraeche von fremden Geraeten (Teflon, Modem) koennen
: nicht richtig protokolliert werden, weil die Nummer nur ans's Amt
: geschickt, aber nicht _zurueckgeschickt_ wird. Bei eigenen Anrufen weiss der
: Treiber die Nummer zwangslaeufig:-), bei ankommenden wird sie _vom_ Amt
: mitgeteilt.
: Die Karte (und damit teles0.4d) kann nur das mitschreiben, was _vom_
: Amt kommt oder was sie selber _zum_ Amt schickt. Nicht aber, was Fremd-
: geraete _zum_ Amt senden.


2. Erstellung
-------------
Erstellt wird das ganze mittels:

  cd /usr/src
  tar xzf <wo_auch_immer>/isdnlog-<Version>.tar.gz
  cd isdnlog-2.0beta
  make install

Dadurch werden zwei Programme installiert:
  /sbin/isdnlog
  /usr/sbin/isdnrep


3. Die Konfigurationsdatei
--------------------------

Die Konfigurationsdatei "/etc/isdnlog.conf" muss folgendermassen gefuellt
werden:

# @(#)isdnlog.conf   2.00  02-Jan-96  15:37
#
# MSN/EAZ     SymName        Zone  Flags  Info-arg's
#
# (Zonen: 1=City, 2=Region 50, 3=Region 200, 4=Fernzone, 5=angrenzende Laender)
############################################################################
96031         Phone          1     0      /var/isdn/sounds/dingdong.au
*nnnnn        Phone          1     0	  /var/isdn/sounds/dingdong.au
*nnnnn        FAX            1     1	  /var/isdn/sounds/calc.wav
*nnnnn        ISDN           1
nnnnnnnnnnn   EUnet          3     0	  /var/isdn/sounds/dial.au
*nnnnnnnn?    mar            2     0	  /var/isdn/sounds/ring.au
MYMSNS=3
HANGUP=/var/isdn/sounds/hangup.au
AOCD=/var/isdn/sounds/ddloo.au


!! ACHTUNG: Gegenueber isdnlog-1.x ist die neue Spalte "Flags" hinzugekommen,
!! 	    die auf jeden Fall in aeltere Config-Files implementiert werden
!!	    muss!!

Leere Zeilen, sowie Zeilen, die mit einem "#" beginnen, werden als Kommentar
ignoriert.

Ansonsten besteht jede Zeile aus 4 oder 5 - durch mindestens 1 Blank
getrennte - Spalten.

In der ersten Spalte steht eine Telefonnummer. Diese kann die ueblichen
Wildcard-Symbole enthalten, also "?" matched genau ein Zeichen, "*" matched
beliebig viele (also auch "keine") Zeichen, und mit "[]" koennen mehrere
moegliche Zeichen angegeben werden (oder auch eine Range [4-7], oder auch
die Verneinung, also [!6])

In der zweiten Spalte steht eine beliebige Symbolische Beschreibung fuer
diese Nummer ("Mausi", "EUnet" usw.). Diese darf *kein* Blank enthalten!
Weiterhin darf diese Beschreibung maximal 14 Zeichen lang sein.

In der dritten Spalte steht die Tarifzone, in der sich von uns aus gesehen
diese Nummer befindet:

 1 = City (bis 31.12.1995 "Ortszone/Nahzone", bis 20 km)
 2 = Region 50 (bis 31.12.1995 "Regionalzone", bis 50 km)
 3 = Region 200 (bis 31.12.1995 "Weitzone", dann bis 200 km)
 4 = Fernzone (bis 31.12.1995 "Weitzone", dann alles ueber 200 km)
 5 = angrenzende Laender

In der vierten Spalte muss stets "0" eingetragen werden, es sei den, es
handelt sich um den _eigenen_ Fax-Anschluss, d.h. ein Fax-Geraet oder
Fax-Modem ueber eine Telefonanlage oder einen a/b Adapter.

Nur Anhand dieser Zusatzinformation ist isdnlog-2.0beta in der Lage,
das Auflegen von eingehenden Faxen sauber zu erkennen!

In der fuenften Spalte kann ein Argument fuer die "-i" Info-Funktion von
isdnlog stehen (siehe dort).

!! Die ersten Eintraege sollten die eigenen MSN's / EAZ's sein,
!! da die "-i" Option von isdnlog bei unbekannten Gegenstellen die dort
!! hinterlegten Info-Arg's verwendet!


Hat man selber mehr als 3 MSN's, muss dies durch einen Eintrag

    	       MYMSNS=x

(z.b. "MYMSNS=5", falls man 5 MSN's hat) bekannt gemacht werden.
Dieser Eintrag kann in einer beliebigen Zeile der "isdnlog.conf" stehen.
Fehlt dieser Eintrag, werden 3 MSN's angenommen.

!! Aber auch dann gilt weiterhin: ALLE eigenen MSN's sollten als erste
!! Nummern in der "isdnlog.conf" eingetragen werden!

Durch den Eintrag

               HANGUP=xxx

kann fuer die "-i" Option von isdnlog ein Argument fuer jeden Hangup bereit
gestellt werden.

Entsprechend kann durch den Eintrag

               AOCD=xxx

ein Argument fuer jeden Gebuehrenimpuls (AOC-D) bereitgestellt werden.


Falls man sich selbst anrufen moechte, sollten die eigenen Telefonnummern
(diesmal _mit_ Vorwahl, aber ohne vorlaufende "0") wie alle anderen fremden
Gegenstationen eingetragen werden.


4. isdnlog
----------

Vor dem Start von "isdnlog" muss das D channel Q.931 logging des
Teles-Treiber eingeschaltet werden. Bis "isdn4linux0.6.6beta" ist dazu

         telesctrl /dev/isdnctrl0 1 4

einzugeben.

Ab "isdn4linux0.7.0beta" lautet der Befehl

         telesctrl <DriverID> 1 4

wobei "<DriverID>" mit dem String zu ersetzen ist, der beim "insmod teles.o"
als "id=<DriverID>" angegeben wurde.

Beim "telesctrl" koennen auch noch weitere Debug-Flags eingeschaltet werden,
isdnlog benoetigt allerdings auf jeden Fall mindestens die "4"

Nun kann isdnlog (am besten gleich in der "/etc/rc.d/rc.isdn") mittels:

  isdnlog [ -vsprtxc ] [ -mx ] [ -i cmd ] [ -Cx ] [ /dev/isdnctrl0 | - ] [ & ]

gestartet werden.

Die Optionen von isdnlog haben im einzelnen folgende Funktion:

  -v     "verbose" isdnlog schreibt den gesamten Output von "/dev/isdnctrl0",
  	 ergaenzt um Datum/Uhrzeit auch nach "/tmp/isdnctrl0"

  -s     "sync"    fuehrt direkt nach jedem Eintrag in die "/tmp/isdnctrl0"
  	 einen flush() darauf aus (fuer Kisten, die gerne mal zwischendurch
         abstuerzen)

  -p	 "pipe"    reicht den Output von "/dev/isdnctrl0" auf stdout weiter,
  	 falls jemand da noch was anderes rausholen moechte (also z.b.
  	 "isdnlog -p /dev/isdnctrl0 | isdnproto &" oder so)

  -r     "replay"  ermoeglicht, die "/tmp/isdnctrl0" (mit der Option "-v"
  	 erzeugt) nochmals durchrechnen zu lassen.
         Dazu sollte zuvor die "/var/adm/isdn.log" geloescht, und dann
         "isdnlog -r /tmp/isdnctrl0" aufgerufen werden.

  -t     Bei jeder Datum/Uhrzeit-Uebertragung von der VSt wird die eigene
  	 Systemzeit darauf gesetzt.

         !! Dies funktioniert nur, wenn isdnlog als "root" laeuft!

         !! Lt. diversen Aussagen ist diese Uhrzeit sehr ungenau, und enthaelt
         !! nicht mal die Sekunden. Daher kann von dieser Option eigentlich
         !! nur abgeraten werden!

  -m x   bei jedem "Klappern" auf dem S0-Bus taucht auf stderr der
  	 Console, von der isdnlog aus gestartet wurde, eine dem Argument "x"
         entsprechende Anzeige auf.

    	   1 = Sofort, wenn Telefonnummern auf dem S0-Bus auftauchen,
    	       werden diese angezeigt:

	   OUT-? 15:38:32  Phone->seneca


           2 = Bei jedem Gebuehrenimpuls wird die Anzahl der bislang
               aufgelaufenen Gebuehreneinheiten fuer die aktuelle Verbindung
               angezeigt:

	   OUT-1 15:38:32  Phone->seneca  4.EH = DM 0.92 (130 s)

           !! Dies funktioniert natuerlich nur, wenn auf der aktiven
           !! ISDN-Leitung Gebuehreninfo "A" (Charging-Info's during call's -
           !! AOC-D) bestellt wurde!

           Es wird die Anzahl der aufgelaufenen Einheiten sowie diese
           Einheiten umgerechnet in Geld (EH * DM 0,23) angezeigt.
           In Klammern wird angegeben, nach wieviel Sekunden (seit dem
           Verbindungsaufbau) dieser Gebuehrentakt erschien - eigentlich
           mehr, um aufzuzeigen, wie _ungenau_ die Uhr der VSt eigentlich
           laeuft!


   	   4 = Kommt eine Verbindung zustande (Telefon wird abgenommen,
   	       ISDN-Karte akzeptiert den Call etc.) wird dies angezeigt:

	   OUT-1 15:38:32  Phone->seneca  CONNECT


           8 = Sobald diese Verbindung beendet wurde, wird dies angezeigt
      	       (Wie bei -m2 mit Anzahl Einheiten, diese in Geld sowie
      	        Gesamtdauer der Verbindung. Die Anzahl Einheiten stammt hier
                jedoch aus der AOC-E Meldung der VSt)

	   OUT-1 15:57:39  Phone->seneca  HANGUP (4 EH = DM 0.92 = 142 s)


          16 = Der Grund fuer einen Verbindungsabbau/das nicht zustande
               kommen einer Verbindung wird angezeigt

           OUT-1 15:57:39  Phone->seneca  Normal call clearing


          32 = Die von der VSt uebermittelte Uhrzeit wird angezeigt

           OUT-1 15:57:39  Phone->seneca  TIME: 10Nov95  20:11


         Werden mehrere Optionen gewuenscht, muss bei -mx die Summe der
         Optionen angegeben werden, d.h. falls alle obigen Optionen
         gewuenscht werden, muss "isdnlog" nun mit "-m63" gestartet werden.

   	 Jede dieser Zeilen beginnt mit "IN", falls man angerufen wurde,
   	 oder "OUT", falls man rauswaehlt.

   	 Danach folgt "?", "1" oder "2"
   	 1 oder 2 ist der entsprechende eigene B-Kanal, und bei "?" wurde noch
   	 kein B-Kanal zugewiesen.

   	 Sofern die Telefonnummern bekannt sind (Also in der "isdnlog.conf"
   	 stehen) werden anstelle dieser die symbolischen Namen angezeigt.


  -i cmd "info"    startet beim Zustandekommen jeder Verbindung das angegebene
     	 Programm, und uebergibt Ihm dabei als Argument die 4. Spalte aus
         der "isdnlog.conf" fuer die entsprechende Telefonnummer.

   	 Ich persoenlich nutze das hier dafuer, bei jedem rein- oder
   	 rausgehenden Ruf ueber die Soundkarte eine der Nummer entsprechende
   	 Melodie abzuspielen:

   	 Also habe ich in die /etc/isdnlog.conf eingetragen

   	 # MSN/EAZ      SymName         Zone   Info-arg's
   	 #################################################################
   	 nnnnnnnnnn     Phone           1      /var/isdn/sounds/ring.au
   	 nnnnnnnnnnn    EUnet           3      /var/isdn/sounds/dial.au
   	 HANGUP=/var/isdn/sounds/hangup.au


   	 und starte "isdnlog" dann so:

     	   export AUDIOSERVER=ak4:0
     	   isdnlog -i /usr/X11R6/bin/auplay /dev/isdnctrl0

         Dadurch wird hier bei jedem Verbindungsaufbau Richtung EUnet
         folgender Befehl ausgefuehrt:

           /usr/X11R6/bin/auplay /var/isdn/sounds/dial.au

         Das bei der "-i" Option angegebene Programm kann auch einen
         Platzhalter enthalten.
   	 Beispielsweise kann mit der Angabe "isdnlog -i 'cat $1 /dev/audio'
   	 folgender Befehl erreicht werden:

           cat /var/isdn/sounds/dial.au > /dev/audio

   	 Findet der Algorithmus zur Suche des "Info-Args" unter den
   	 in der "isdnlog.conf" eingetragenen Partnern keine passende Zeile,
   	 nimmt es den der entspechenden eigenen MSN zugeordneten Eintrag.

   	 Somit habe ich mir hier Standard-Sound's fuer mir noch unbekannte
   	 Anrufer, Faxe etc. bei meinen MSN's hinterlegt.

   	 Sind beide Telefonnummern leer (z.b. bei rausgehenden Modem-
   	 Verbindungen ueber einen a/b Adapter), wird - falls gefuellt - das
   	 bei der ersten MSN hinterlegte Argument verwandt.

   	 Ist in der "/etc/isdnlog.conf" der Eintrag

           HANGUP=Info-Arg

   	 (hier bei mir "HANGUP=/var/isdn/sounds/hangup.au")
   	 vorhanden, wird bei jedem Verbindungsabbau das Info-Programm mit
   	 diesem Argument aufgerufen.

  -c	 Das Info-Programm ("-i") wird beim Zustandekommen einer Verbindung
  	 aufgerufen (wie in der Version 1.x) - sonst direkt bei der Anwahl

  -x     Aktiviert den bidirektionalen Datentransfer zum/vom X11-Popup

  -C x	 Umleitung der "-m" Ausgabe auf die Linux-Console # x
     	 (Beispiel: Aushabe auf 3. virtuelle Console: "isdnlog -m63 -C3")

!! Bevor der Teles-Treiber entladen wird (rmmod teles), muss unbedingt zuvor
!! "isdnlog" gestoppt werden ( kill `cat /var/run/isdnlog.pid` ) !!


Output der ganzen Geschichte ist die Datei "/var/adm/isdn.log" mit folgendem
Inhalt:

Sep 30 15:24:10 1995|xxxxx|xxxxxx|    3| 344| 812471050|    1|I|0
      (1)             (2)   (3)    (4)   (5)   (6)       (7) (8)(9)

Wobei in den einzelnen Spalten folgendes steht:

 (1) Zeitpunkt des Verbindungsaufbaues (in Local-Time)
 (2) Telefonnummer des Anrufers (oder Blank, falls z.b. Analog-Anschluss)
     (d.h. natuerlich auch die eigene MSN, wenn man selber raus-ruft!)
 (3) Telefonnummer des Angerufenen (d.h. die eigene MSN, wenn man angerufen
     wird)
 (4) Dauer der Verbindung in Sekunden
 (5) Dauer der Verbindung in 1/100 Sekunden
     (im obigen Beispiel: 912 / 100 = 9,12 Sekunden)
 (6) Zeitpunkt des Verbindungsaufbaues in UTC
 (7) Anzahl zu zahlender Gebuehreneinheiten (AOC-D)
 (8) "I" fuer incoming call, "O" fuer outgoing call
 (9) Kam eine Verbindung nicht zustande (d.h. z.b. man wird angerufen, nimmt
     aber nicht ab) taucht hier der Grund fuer das nicht Zustandekommen auf
     ("Cause")


5. isdnrep
----------

Gestartet wird isdnrep mittels:

         isdnrep [ -ancv6t:f:d: ]

Die Optionen von isdnrep haben im einzelnen folgende Funktion:

  -a        "all"     isdnrep druckt alle Verbindungen an, die sich in der
                      "/var/adm/isdn.log" angesammelt haben (sonst nur "heute")

  -n        "numbers" isdnrep druckt anstelle der Symbolischen Namen die
                      Telefonnummern an

  -f file   "file"    Es kann ein anderes Logfile anstelle von /var/adm/isdn.log
	              angegeben werden.

  -t Zeitabschnitt
            "time"    Mit dieser Option kann ein bestimmter Zeitabschnitt vom
                      Logfile angezeigt werden. Z. B. alle Gespraeche vom
                      Monat November '95 oder vom 3.Januar'96 von 3.00 Uhr
                      bis 9.45 Uhr.

	Zeitabschnitt hat folgende Syntax:
		Zeit-Zeit  Es wird der Beginn-Zeitpunkt und der End-Zeitpunkt
			   bestimmt.
		Zeit-      Von 'Zeit' bis jetzt
		-Zeit 	   Von Beginn des Logfiles bis 'Zeit'
		Zeit       Zeigt den aktuellen Monat, Tag, Stunde... an

	Die 'Zeit' kann folgendes Format beinhalten:

		[DD/][M]M/[[YY]YY]	Gibt den Monat oder Tag an

			Beispiele: 7/95   (Juli '95)
				   7/	  (Juli des aktuellen Jahres)
				   8/1996 (August '96)
				   6/6/95 (6. Juni 95)
				   6/6/   (FALSCH: ist NICHT 6.Juni des
					   aktuellen Jahres, sondern
					   Juni 1906)

		[D]D			Gibt den Tag im aktuellen Monat an.

			Beispiele: 5  (5. des aktuellen Monats),
				   15 (15. des aktuellen Monats)

		MMDD[hhmm[[CC]YY][.ss]]
			Gibt einen Genauen Zeitpunkt an. Wenn Stunden, Minuten
			und Sekunden nicht gesetzt sind, dann werden sie
			automatisch auf 0 beim Anfangszeitpunkt und
			auf 23 bzw 59 beim Endzeitpunkt gesetzt.
			Standardgemaess werden mit diesem Format auf den
			Tag Einstellungen vorgenommen. Wenn das Jahr mit
			angegeben werden soll, so MUESSEN auch die Stunden
			und Minuten mitangegeben werden.
			Das Format ist vom date-Befehl uebernommen worden.

			Beispiele: 0107          (7.Januar des akt. Jahres)
				   0107173196.25 (7.Januar'96 17:31:25 Uhr)
				   010717311996  (7.Januar'96 17:31:00 Uhr)
				   12141995	 (FALSCH: Ist NICHT
						  12.Dezember'95, sondern
						  12.Dezember das akt. Jahres
						  19:95 Uhr -> Muell)

	Beispiele fuer die Zeitabschnitte und deren Bedeutung:
		6/95-081214381996.25 (Alle Eintraege zwischen
				      1.Juni'95 0:00:00 Uhr und
				      12.August'96 14:38:25 Uhr)
		0912030495.20-12/95  (Alle Eintraege zwischen
				      12.September'95 3:04:20 Uhr und
				      31.Dezember'95 23:59:59 Uhr)
		7/95		     (Alle Eintraege zwischen
				      1.Juli'95 0:00:00 Uhr und
				      31.Juli'95 23:59:59 Uhr)
		0908		     (Alle Eintraege zwischen
				      8.September des akt. Jahres 0:00:00 Uhr u.
				      8.September des akt. Jahres 23:59:59 Uhr)


-d -Zeit    "delete" Loescht in der Logdatei alle Eintraege ausschliesslich
                     der angegebenen Zeit. Das Zeitformat ist gleich, wie
                     bei Option -t. Das Minus vor der "Zeit" MUSS immer
                     angegeben werden! Es kann auch KEIN von-bis-Zeitraum
                     angegeben werden. Es koennen nur von Anfang des Logfiles
                     bis zu dem angegebenen Zeitpunkt Eintraege geloescht
                     werden.

	Beispiele:
		-7/95    	Loescht alle Calls bis 30.Juni'1995 23:59:59 Uhr
		-0107173196.25	Loescht alle Calls bis 7.Januar'96 17:31:24 Uhr
				ACHTUNG:---------------------------------^^
				Der angegebene Zeitpunkt wird immer
				ausgeschlossen!

	ACHTUNG: Mit dieser Option werden Eintraege aus der Logdatei
		 geloescht. Bei unsachgemaesser Verwendung, kann
		 die gesamte Logdatei geloescht werden!
		 z.B. "isdnrep -d -" loescht ALLE Eintraege.


-v          "verbose" Zeigt alle Verbindungen und Verbindungsversuche auf.
	              Sonst werden nur die "wahren" Gespraeche angezeigt, die
	              ohne Fehler zustande gekommen sind.

Es wird nun auf stdout eine Abrechnung mit folgender Optik generiert:

$ isdnrep -v -t 6/1/96

I S D N  Connection Report  -  Sun Jan  7 22:21:19 1996


Sat Jan  6 1996
  00:54:19                 UNKNOWN -> UNKNOWN        No user responding      (4)
[...]
  16:33:24  0:03:23        UNKNOWN -> UNKNOWN           7 EH      0,84 DM
  17:33:47                 UNKNOWN -> UNKNOWN        Unallocated (unassigned)(5)
                                                     number
  20:02:28  0:02:37     Phone/HDLC <- UNKNOWN                                (1)
  20:09:53  0:07:01     Modem/X.75 -> T-Online          3 EH      0,36 DM    (2)
  21:27:56                 UNKNOWN -> UNKNOWN        User busy               (3)
  22:09:41  0:29:36        UNKNOWN -> UNKNOWN          43 EH      9,89 DM *
=========================================================================
  1 IN= 0:02:37,  13 OUT= 3:40:14,   3 failed         210 EH     25,20 DM
(6)^^^^^^^^^^^^  (7)^^^^^^^^^^^^^  (8)^^^^^^^      (9)^^^^^^ (10)^^^^^^^^


DIALOUT Summary for Sat Jan  6 1996                                         (11)
-----------------------------------------------------------
T-Online         1 call(s)  0:07:01     3 EH    0,36 DM
UNKNOWN         11 call(s)  0:17:00    20 EH    2,40 DM


DIALIN Summary for Sat Jan  6 1996                                          (12)
-----------------------------------------------------------
UNKNOWN          1 call(s)  0:02:37


Zone 1 : City              2 call(s)  2:23:13     50 EH    6,00 DM          (13)
Zone x : UNKNOWN         11 call(s)  0:17:00     20 EH    2,40 DM

Fussnoten:
  (1)  "xxx <- xxx" war ein eingehender Anruf, kostet also nix
  (2)  "xxx -> xxx" ist ein rausgehender Ruf, macht also bei 203 sec,
       Cityzone, Freizeittarif (da Samstag) 3 Gebuehreneinheit = DM 0,36 ;-)
  (3)  Das Telefonat kam nicht zustande, da der angwaehlte Teilnehmer
       besetzt war.
  (4)  Der angwaehlte Teilnehmer hat den Hoerer nicht abgenommen.
  (5)  "Kein Anschluss unter dieser Nummer..."
  (6)  Gesamte Zeit von eingehender Anrufen
  (7)  Gesamte Zeit von rausgehender Anrufen
  (8)  3 Anrufe sind gescheitert (hier: einmal besetzt(3),
       einmal keine Antwort(4) und einmal verwaehlt (5))
  (9)  Die gesamten Einheiten fuer einen Tag
  (10) Das Geld, was man selbst fuer diesen Tag zu zahlen hat
  (11) Aufschluesselung der rausgehenden Rufe nach Nummern
  (12) Aufschluesselung der eingehenden Rufe nach Nummern
  (13) Aufschluesselung der raus- und eingehenden Anrufe nach Bereichszonen

Wurden die Einheiten mit einem "*" markiert, wurden vom "Amt" keine
Einheiten gemeldet (Charging-Info fehlte)
Daher steht dann hier die von isdnrep errechnete Anzahl Einheiten.


6. Dateien
----------

Folgende Files werden von diesem System verwendet:

  /sbin/isdnlog          - Das Protokoll-Programm
  /usr/sbin/isdnrep	 - Das Report-Programm
  /etc/isdnlog.conf	 - Die Config-Datei
  /var/adm/isdn.log	 - Das Logbuch
  /var/run/isdnlog.pid	 - Enthaelt die PID des laufenden isdnlog
  /dev/isdnctrl0	 - Gibt das Q.931 Protokoll des Teles-Treibers aus
  /tmp/isdnctrl0	 - Dasselbe Protokoll als ASCII-Datei


7. Dank
-------

Bedanken moechte ich mich vor allem bei
  Fritz Elfert (fritz@wuemaus.franken.de)
fuer sein tolles isdn4linux!
  Jan den Ouden (denouden@groovin.xs4all.nl)
fuer den prima Teles-Treiber
  Gernot Zander (hifi@scorpio.in-berlin.de)
fuer den goldenen Hinweis, der zu diesem Programm fuehrte
  Beat Doebeli (doebeli@vptt.ch)
fuer den Einbau jeglicher D-Channel Messages
  Michael Bongartz (micha@mubo.saar.de)
fuer die Ermittlung der AOC-D sowie AOC-E Bytes im D-Channel-Protokoll
  Peter Adebahr (adsys@bruck.geophysik.uni-muenchen.de)
fuer die Beschaffung der Gebuehreninformationen '96
  Friedemann Baitinger (baiti@herrenberg.netsurf.de)
fuer die Implementation der "-f" Option in isdnrep
  Stefan Luethje (luethje@konstanz.netsurf.de)
fuer die Implementation der "-t", "-d" sowie "-v" Option in isdnrep
sowie fuer die unzaehligen anderen Hilfestellungen zu isdnlog
  Kai Voelcker (kai@fantaghiro.deceiver.org)
fuer seine unzaehligen Testdaten sowie den Test von isdnlog-2.0beta

Sowie bei
  Martin Stover (mstover@freeway.de)
und vielen anderen aus der isdn4linux Mailing-Liste fuer ihre Muehen
beim Testen von isdnlog sowie staendigen neuen Ideen dafuer.



Viel Spass mit isdnlog wuenscht

Andreas Kool (akool@Kool.f.EUnet.de)
