TK-Tools Version 1.20

Tools zum Auswerten des Protokolls der ISDN TK-Anlage Ferrari Netphone

Es folgt eine Kurzbeschreibung der Programme, ihrer jeweiligen Funktion und
Installationshinweisen. Bitte vollstaendig lesen! Einige nette features sind
nur in den CHANGES erlaeutert, die jetzt in einer eigenstaendigen Datei
enthalten sind.

netphd ist der daemon, der das Protokoll von der Anlage annimmt und mit dem
aktuellen Datum zusammen in einer Datei loggt. Er reagiert auch auf bestimmte
Ereignisse und startet dann events, wenn naemlich ein Anrufer mit einer
bestimmten Nummer es auf einer bestimmten Nebenstelle klingeln laesst. Man
kann damit z.B. folgende Probleme loesen:
- wenn man im Mobilnetz einen Tarif hat, bei dem keine Auslandsgespraeche
  moeglich sind; Callback-Anbieter haben jedoch nur auslaendische
  Zugangsnummern.  Loesung: man ruft bei sich zu Hause an, und das netphone
  ruft dann die auslaendische Zugangsnummer an, der callback-rechner ruft
  dann am Handy zurueck.
- man kann durch kurzen Anruf den Rechner veranlassen, das letzte empfangene
  Fax ans Mobilfax nachzusenden o.ae.

tkstat ist das Programm, das den aktuellen Status anzeigt. Es hat einen
continuous mode, womit man das Programm immer laufen lassen kann, die Anzeige
wird dann aktuell gehalten.

tkrech ist ein Programm, um bei Verwendung der Nebenstellenanlage in einer WG
oder aehnlichem automatisiert Rechnungen den anderen Benutzern zu erstellen.
Bislang sind allerdings meine eigenen Konfigurationssachen da drin hardcoded,
ich muss dazu erst noch eine config-file Unterstuetzung basteln. Die TeX-Ausgabe
kommt auch so ohne weiteres nicht ohne meinen speziellen mletter.sty klar.
Kommt noch...

Ein Install-Script hab ich leider noch nicht gemacht, ich beschreib aber hier,
welche Datei wo welche Funktion erfuellt.


tkstat, netphd und tkrech sind executables und gehoeren in /usr/bin
oder vergleichbar.

autorech, lastfaxresend und notifyhandy sind shell scripts.
autorech ist um tkrech herumgebaut. tkrech erzeugt eine Rechnung in LaTeX-
Quelltext, autorech bringt das dann auf dem Drucker raus und versorgt zuvor
tkrech mit den richtigen Eingabedaten.
lastfaxresend ist mein script, um die Faxe ans Eplus zu senden (benutzt
flexfax als Software).
notifyhandy klingelt kurz mit einem Ring am Handy an als Zeichen, dass ein Fax
eingetroffen ist. Muss man in das faxrcvd von Flexfax einbauen.

rc.netphone sollte in /etc/rc.d plaziert werden und von rc.S oder rc.local mit
aufgerufen werden. Das startet den logging daemon. Bitte anpassen, was die
Schnittstelle angeht.

netphnums ist ein Beispielfile fuer die Datenbank, nach der tkstat die Telefon-
nummern durch Namen ersetzt. Gehoert in /etc
Die Nummern am Ort muessen ohne Vorwahl rein (mir faellt grad nicht ein, obs
auch mit Vorwahl geht). Die Vorwahl wird in tkstat.cfg angegeben.

In netphdenynums (/etc) kann man eine Liste von Nummern angeben, die nicht in
die Tabelle der nicht angenommenen Anrufe mit aufgenommen werden soll
(sinnvoll fuer Steueranrufe). Kann man mit -y einschalten.

tkstat.cfg ist ein Configfile fuer tkstat, gehoert auch in /etc

Die neue Option -i ermoeglicht, die Ausgabe des tools isdnlog 2.0b (die man
dazu mit sowas wie isdnlog -m63 /dev/isdnctrl0 | tee /var/adm/isdnlog.out
umleiten muss) zu beruecksichtigen und unter der sonstigen Ausgabe damit
auch ISDN-Datentransfers anzuzeigen. Eventuell werde ich auch mal was
einbauen, um direkt /tmp/isdnctrl0 auszuwerten, dann kann man gleich die
Kanalbelegung usw. sehen. Die Ausgabe in isdnlog.out ist nicht mit dem
file isdn.log zu verwechseln, dass das Programm selbst erstellt! tkstat
wertet das aus, was isdnlog an stdout rausgibt.

Uebrigens gibts ein tcl/tk Programm namens addressbook, dass wirklich wunderschoen
gemacht ist und sehr einfach das Waehlen per Mausklick ueber das Netphone
unterstuetzt. Einfach als Waehlstring /bin/echo ATD%number > /dev/cua2 eintragen
bzw. natuerlich cua? anpassen. Das Programm ist bei der suse-Distribution dabei.

Beispiel fuer eine tkstat-Ausgabe mit Erklaerung:

* 02:43 **********|******************|******************|********** 45:11 *|
 N1         Buero | N2          Maik | N3         Felix | N4      Faxmodem |
                  |                  |                  |                  |
 Idle             | Idle             | Idle             | Extern mit       |
                  |                  |                  | Uni-Kaskade81    |
                  |                  |                  |                  |
1212 22:53  13,57 |1212 12:23   4,37 |1312 16:31  22,54 |1312 05:25  37,03 |
00:01:38 00,23  1 |00:00:20 00,23  1 |00:11:57 00,46  2 |00:01:23 00,92  4 |
 @ Gabi_Chimainsk | @ Wolfgang       | @ Wolfgang       | @ 0177992407502  |
******************|******************|******************|******************|
I Dec 13 19:40:01 |I Dec 13 19:40:30 |I Dec 13 19:33:12 |I Dec 01 03:07:07 |
E Dec 13 10:11:36 |E Dec 13 20:27:03 |E Dec 10 19:24:51 |E Dec 13 18:59:34 |
E= (unknown)      |E= (unknown)      |E= (unknown)      |E= (unknown)      |
******************|******************|******************|******************|
130454 Maik_Eplus |131308 BS-Archiv  |                  |                  |
130457 Maik_Eplus |131454 787418     |                  |                  |
130506 Maik_Eplus |131506 BS-Archiv  |                  |010049 (unknown)  |
130524 Maik_Eplus |131752 (unknown)  |                  |010050 (unknown)  |
131011 (unknown)  |131838 787413     |                  |021053 (unknown)  |
******************|******************|******************|******************|

Oben links die Nebenstellennummer, dahinter der Name. Drunter der Status (Idle,
Besetzt, Nicht erreichbar, Ruf vom Amt, Ruf von Intern, Anwahl, Interngespraech,
Extern mit Amt, Extern von Amt). Darunter evtl. die Telefonnummer bzw. der
Name, wenn der im netphnums steht.

Drunter der letzte rausgegangene Anruf, der gekostet hat. Datum, Uhrzeit und
Gesamtbetrag der Nebenstelle; Dauer, Kosten und Einheitenzahl des Gespraechs,
sowie Zielnummer bzw. -name.

Naechstes Feld die letzten Anrufe von Intern und Extern, egal ob angenommen wurde
oder nicht. Bei externen steht noch die Nummer dabei, wenn die mitgeteilt wurde.

Ganz links oben steht die aktuelle Uhrzeit, rechts oben steht immer die aktuelle
Dauer des aktuellen Gespraechs, wenn gerade eines laeuft.

Die Liste ganz unten ist eine Liste der Anrufe, die nicht angenommen wurden,
mit Datum und Uhrzeit (131838 = 13. des Monats, 18:38 Uhr) sowie Nummer, wenn
die mitgeteilt wurde.

Wenn ein Anklopfgespraech angenommen wurde, gibt die Anlage leider keinen Code
aus, aus dem man das entnehmen koennte. Daher steht dann nur Ruf von Extern
im Statusfeld, und die Uhr laeuft auch nicht mit.

Zu Tkrech kann man noch in einer Extradatei weitere Fixkosten anfuehren. Wenn
etwa noch eine Telefonmiete an den Benutzer einer Nebenstelle weitergegeben
werden soll, kann das damit geschehen. Syntax der Datei:

Nebenstelle Monat Betrag_in_Pfennig Beschreibung

Beispiel:
5 12 500 Telefonmiete Lombard 01.12.95--31.12.95

Zu beachten: LaTeX-Notationen verwenden. Umlaute etwa mit "a, von-bis Strich
als -- usw. Statt der Monatszahl kann auch eine 0 angegeben werden, dann wird
der Eintrag in jedem Monat beruecksichtigt.

Ab Version 0.93 kann tkrech auch einen zweiten Benutzer einer bestimmten
Nebenstelle abrechnen. Derjenige muss sich zu erkennen geben, indem er kurz
abhebt (Amt mit 0 muss eingestellt sein), eine Nebenstelle mit der Nummer
6 bis 8 anruft und wieder auflegt. Danach kann er seine entgueltige Nummer
anwaehlen. Das muss direkt hintereinander passieren. Dieser Anruf wird dann
auf das Konto des Zweitbenutzers gebucht.
Dieses Feature funktioniert beim Netphone, von der ZweiAcht erbitte ich
Resonanz, was geloggt wird, wenn man Nebenstelle 9 anwaehlt.

Die Konfiguration von tkrech geschieht jetzt ueber ein Konfig-File, Beispiel
liegt bei und sollte selbsterklaerend sein. Die b-Eintraege sind fuer
Zweitbenutzer gedacht. Alles, was nach der Anweisung texheader kommt, wird
als Kopf in die .tex Datei geschrieben.



tkstat hat verschiedene Optionen, zu sehen mit tkstat -?

netphd legt die Datei /var/adm/netphone an, darin findet sich dann das
Protokoll der Anlage. Netphd liest aus /etc/netphd.cfg eine Liste von
events ein, auf die reagiert wird, wenn er eintritt. Etwa das Weiterleiten
eines Faxes aufgrund eines Trigger-Anrufs vom Mobiltelefon oder aehnliches.
Mit 'kill -1 [pid]' kann man den netphd veranlassen, dieses file waehrend
des laufenden Betriebs neu einzulesen.

In Planung ist noch eine Option fuer tkstat, das dann nur noch einen
errorwert ausgibt wenn man nach bestimmten Bedingungen fragt, etwa ob
die Nebenstelle soundso gerade frei ist.

Wenn jemand ncurses in der Version 1.9.x verwendet, dann gibt es
wahrscheinlich die Datei /usr/include/ncurses/ncurses.h nicht mehr.
Stattdessen findet sich in dem Verzeichnis nur ein curses.h. Das muss mit
einem symbolischen Link dann auch als ncurses.h verfuegbar gemacht werden
(cd /usr/include/ncurses;ln -s curses.h ncurses.h).

Siehe auch Datei CHANGES fuer die neueren Features.

-- 
Maik Musall, November 1995 - Juni 2000
maik@musall.de
