Version 2.00  10-Jan-96  20:11 akool

 - 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!

   In dieser neuen "Flags" 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!

 - Neuimplementation, basierend _nur_ noch auf der call reference

 - Das externe Info-Programm ("-i" Option) wird nun sofort aufgerufen,
   wenn z.b. jemand anruft - nicht erst, wenn man auch abgenommen hat
   (es also zum CONNECT kam)
   Daher wird das Info-Programm nun absolut Zeitgleich mit dem Klingeln
   des Telefon's gestartet, und kann daher die Telefon-Klingel 100%-tig
   ersetzen.
   Wer dieses Verhalten micht mag, kann mit der neuen Option "isdnlog -c"
   das alte Verhalten beibehalten.

 - Alle, die nicht (wie ich) an einem X11-Terminal sitzen, und daher die
   Ausgaben von "isdnlog -m" auf eine andere Linux-Console umleiten
   wollen, koennen dies nun (mit korrekten Zeilenumbruechen!) mit der
   neuen Option "isdnlog -Cx" (mit "x" == gewuenschte Console-Nummer) tun.
   D.h. will man diese Ausgaben z.b. auf der 3. virtuellen Console ausgeben,
   lautet der Befehl:

      isdnlog -m63 -C3

 - Die Optik der "isdnlog -m" Option wurde vollkommen neu gestaltet, und
   ist nun hoffentlich noch informativer. Unter anderem wird bei Anrufen
   auch die Telefonnummer der Gegenstelle angezeigt. Dies ist ganz
   praktisch, wenn man z.b. jemanden zurueckrufen will.

 - Die Optik des "isdnrep" wurde vollkommen umgestaltet:
    - bei jeder Verbindung werden nun beide beteiligten Telefonnummern
      angedruckt. Hier bedeutet

        ISDN <- mar       =  man wird angerufen
        ISDN -> gold	  =  man ruft raus

    - nicht zustande gekommene Verbindungen werden - mit dem Grund dafuer -
      angedruckt. Die dabei wohl am haeufigsten auftauchenden Meldungen
      sind:
        "No user responding"              - Gegner hat nicht abgenommen
        "No circuit/channel available"    - Gassenbesetzt
	"User busy"	    	          - Gegner besetzt
        "Unallocated (unassigned) number" - falsche Telefonnummer

    - Am Schluss wird nun eine Aufteilung nach Gebuehren-Zonen (entsprechend
      der Telekom-Rechnung) ausgegeben.

    - isdnlog/isdnrep erkennen nun selbst, ob jemand Gebuehreninfo erhaelt,
      oder nicht. _Nur_ noch dann, wenn jemand keine Gebuehreninfo bekommt,
      berechnet isdnlog die angefallenen Gebuehren selbst (anhand der
      Tarifzonen in der "/etc/isdnlog.conf"), und markiert diese Eintraege
      mit einem "*" (fuer "geschaetzt")

    - Bei dieser Selbstberechnung unterstellt isdnrep weiterhin, das alle
      Unbekannten Gegenstellen (also solche, die entweder nicht in der
      "/etc/isdnlog.conf" eingetragen sind, oder solche, bei der isdnlog
      keine Telefonnummern uebermittelt werden) grundsaetzlich in der
      Fernzone liegen. Das diese Annahme *fast* immer falsch ist, haben
      mir unzaehlige Leute geschrieben, mir ist jedoch bislang keiner
      sinnvollerer Ansatz eingefallen - bis auf den Vorschlag von
      Gernot Zander, bei UNKNOWN's gaenzlich auf eine Berechnung zu
      verzichten. Dies werde ich bald als Command-Line-Option nachliefern.

    - Die Summary am Ende des Report's ist nun aufgeteilt in eine
      DIALOUT- sowie eine DIALIN-Statistik.

    - Wo immer eine Zeitdauer angedruckt wird, geschieht dies nun in der
      "hh:mm:ss" Notation entsprechend des "Einzelverbindungsnachweises" der
      Telekom. Daher sollte es dort keine Ueberlaeufe mehr geben.

    - Diverse Erweiterungen an "isdnrep" von
      Stefan Luethje (luethje@konstanz.netsurf.de) sowie
      Friedemann Baitinger (baiti@herrenberg.netsurf.de)


Version 1.25  19-Nov-95  20:54 akool

 - Auch die AOC-D Meldungen bei Anrufen auf 0130-xxx Nummern (gebuehrenfrei)
   werden nun korrekt ausgewertet


 - Die "-m1" Option zeigte auch bei Dialin's stets "DIALOUT" an - wurde
   korrigiert

 - Mit der neuen Option "-c" berechnet "isdnrep" nun die Gebuehren (wieder)
   selbst - fuer Leute, die nicht mal AOC-E (Gebuehreninfo am Ende) bekommen.

 - Mit dem neuen Eintrag

      AOCD=/var/isdn/sounds/ddloo.au

   kann nun pro Gebuehrentakt (AOC-D Meldung) eine Aktion gestartet werden.
   (siehe "-i" Option) - Z.b. ein Sound-File abspielen (Tick-Tick-Tick ...)

 - Die State-Machine wurde vollkommen neu geschrieben, und basiert nun
   neben der "tei" auf der "call reference".
   Damit sollten asynchron entstehende Verbindungen einwandfrei auseinander
   gehalten werden koennen!


Version 1.24  12-Nov-95  11:07 akool

 - Die Formatfelder von "isdnrep" wurden vergroessert
   (Danke seidl@rcs.urz.tu-dresden.de fuer den Hinweis!)

 - mit "isdnlog -m32" wird die von der VSt uebermittelte Uhrzeit angezeigt

 - mit "isdnlog -t" wird die Systemzeit bei jedem selbst verursachten
   Verbindungsaufbau auf die der VSt gesetzt

 - Die Auswertung der AOC-D Meldungen wurde verbessert (Danke der .T....
   Giessen, die mir die Gebuehreninfo-A endlich eingeschaltet hat!)

 - Die Optik aller "-m" Ausgaben wurde verbessert (?)


Version 1.23  06-Nov-95  18:00 akool

 - isdnrep bringt nun (wie die Telekom-Rechnung) auch eine Aufschluesselung
   der Einheiten nach Tarif-Zonen

 - mit "-m16" wird am Ende die Cause angezeigt

 - Auch Gebuehreneinheiten > 255 werden korrekt ausgewertet


Version 1.22  22-Oct-95  15:34 akool

 - Alle in der Mailing-List oder mir direkt gemeldete Bug's
   (vertauschte Nummern etc.) wurden behoben

 - "make install" installiert "isdnrep" nun in "/usr/sbin", nicht mehr in
   "/usr/local/bin"

 - Alle in isdnlog/isdnrep verwendeten Pfade koennen nun im Makefile beliebig
   umdefiniert werden:

     CONFFILE = /etc/isdnlog.conf     # Konfigurations-File
     LOGFILE  =	/var/adm/isdn.log     # Logbuch
     PIDFILE  = /var/run/isdnlog.pid  # Process-ID von isdnlog
     ETCDIR   =	/sbin                 # Heimat von "isdnlog"
     BINDIR   =	/usr/sbin             # Heimat von "isdnrep"
     TMPDIR   =	/tmp                  # Wo soll "isdnctrl0" (-v Option) landen

 - Die "$LOGFILE/isdn.log" wurde um eine zusaetzliche Spalte erweitert:
     Oct 13 20:28:50 1995| | | 41| 4100| 813612530|    1|O
                                                        ^^^
   Hier steht nun
    "I" fuer incoming call
    "O" fuer outgoing call

 - Auch nicht zustande gekommene Verbindungen (also jemand ruft an, man
   nimmst aber nicht ab, oder sowas) wird nun in die "$LOGFILE/isdn.log"
   eingetragen:
     Oct 18 22:06:25 1995| | |4|400|814050385|0|I|No user responding
       						  ^^^^^^^^^^^^^^^^^^
   An's Ende solch einer Zeile schreibt isdnlog nun den vom "Amt" gemeldeten
   Grund fuer das nicht zustande kommen ("Cause")

 - Die "-m" Option wurde massiv erweitert.
   Sie dient dazu, auf "stderr" der Console, von der aus "isdnlog" gestartet
   wurde, alle Vorgaenge auf dem S0-Bus "in Realtime" anzuzeigen.

   Ab sofort muss die "-m" Option um ein Argument erweitert werden. Hierbei
   handelt es sich um eine Zahl, die die gewuenschte Summe der folgenden
   moeglichen Optionen angeben sollte:

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

          DIALIN  ? Oct 21 20:40:22 bun   -> Phone

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

          DIALOUT 1 Oct 21 20:40:22 Phone -> bun     AOCD=4

      	Dies funktioniert natuerlich nur, wenn man Gebuehreninfo "A"
   	(Charging-Info's during call's) bestellt hat.

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

          DIALIN  1 Oct 21 20:40:22 bun   -> Phone   CONNECT

    8 = Sobald diese Verbindung beendet wurde, wird dies angezeigt
      	(mit x = Anzahl Sekunden fuer die Verbindung, und y = Gesamtzahl
         Gebuehreneinheiten - AOCE)

          DIALOUT 1 Oct 21 20:40:22 Phone -> bun     HANGUP (x s y EH)

   D.h. falls alle obigen Optionen gewuenscht werden, muss "isdnlog" nun
   mit "isdnlog -m15" gestartet werden

   Jede dieser Zeilen beginnt mit "DIALIN", falls man angerufen wurde, oder
   "DIALOUT", 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.

 - Die "/etc/isdnlog.conf" wurde erweitert:
   Es kann nun pro Telefonnummer in einer neuen, vierten Spalte ein Argument
   fuer das Info-Programm ("-i" Option von isdnlog) angegeben werden.
   Diese Spalte ist Optional - muss also nicht gefuellt werden.

   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
   #################################################################
   nnnnnnnnnnn    EUnet           3      /var/isdn/sounds/dial.au
   nnnnnnnnnn     mar             2      /var/isdn/sounds/ring.au
   nnnnnnnnnnn    seneca	  4      /var/isdn/sounds/shark.au
   nnnnnnnnnnn    gold            4      /var/isdn/sounds/wzzz.au
   nnnnnnnnnnn    bun             3      /var/isdn/sounds/4phone.wav
   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 neue 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.

 - Die Tarifberechnung fuer 1996 wurde entsprechend echter Telekom-
   Unterlagen korrigiert ("Preisinformation Teil 2, Allgemeine Uebersicht
   der Preisaenderungen im Telefondienst zum 1.1.96")
   Ich bedanke mich bei Peter Adebahr (adsys@bruck.geophysik.uni-muenchen.de)
   fuer die Uberlassung dieser Unterlagen!
