
Sie haben ISDN und eine ISDN-Karte in ihrem PC?
Immer wenn sie angerufen werden erscheint die Telefonnummer ihres
Anrufers im Display des Telefons?
Wie wärs, wenn Linux Sie vorwarnt, wer da gerade anruft!
| (K)Ein Schwein ruft mich an |
Eine ISDN-Karte zu installieren kann schon manche Probleme bereiten
(aber damit beschäftigne wir uns (noch) nicht). Wenn sie dann funktioniert,
will man sie auch so gut wie möglich ausnutzen.
Zum Beispiel erscheint bei jedem Anruf in der /var/log/messages
die Telefonnummer der Gegenstelle, wenn diese denn auch ISDN unterstützt.
Nun sollte es doch möglich sein diese Information aszunutzen
und sich anzeigen zu lassen wer sich hinter dieser Nummer befindet. Man
könnte möglicherweise per Script jede neue Message auf eine Telefonnummer
hin untersuchen und diese dann per Datenbank zu einem Namen aufschlüsseln.
Aber es geht auch viel leichter, denn die Programmierer von isdn4linux
haben schon gleich an diese Möglichkeit gedacht, so daß man
keine großartigen Programmierkünste aufwenden muß um etwas
derartiges zu erhalten.
| Die hier gezeigte Lösung ist rein programmiertechnisch
nicht originell, jedoch schnell fertiggestellt und bedarf keinerlei Scriptkenntnisse.
Ist also bestens für Einsteiger geeignet. |
Benachrichtigen lassen wir uns per JPEG-Bild, welches nicht zu groß
sein sollte, damit es später schnell geladen werden kann.
(etwa 512x246, ca. 6KB)
(originellere Entwürfe sind willkommen)
Für jede Gegenstelle über die man informiert werden
möchte, erstellt man nun ein jeweiliges Bild. Somit ist es auch möglich
ein Foto der Person einzuscannen und sich bei einem Anruf zeigen zu lassen.
Diese Bilder sammeln wir dann im Verzeichnis /etc/isdn/jpeg
>> mkdir /etc/isdn/jpeg
Nun müssen wir isdn4linux noch beibringen, welches Bild er bei
welcher Telefonnummer anzeigen soll. Dies geschieht in der Datei
/etc/isdn/callerid.conf .
Dort solle schon ein Eintrag stehen wie
[MSN]
NUMBER = 5551234
ALIAS = Ich
ZONE = 1
Damit wird jeder Telefonnummer (NUMMER)
ein Name (ALIAS) zugordnet. ZONE
gibt
an, in welcher Tarifzone die Gegenstelle liegt. (Die Telefonnummer ist
ohne
Vorwahl einzutragen!)
Nun nehmen wir mal an, wir hätten einen Freund Thorsten S., der
uns häufig anruft. Dann erstellen wir als erstes ein JPEG-Bild für
diese Gegenstelle (s.o.), und speichern dieses in /etc/isdn/jpeg/
. Nun müssen wir seine Daten noch in die /etc/isdn/callerid.conf
eintragen. Dies sieht dann folgendermaßen aus:
[MSN]
NUMBER = 555333
ALIAS = ThorstenS
Zone = 1
START = {
[FLAG]
FLAGS = I|R
PROGRAM=/usr/X11R6/bin/xli -fit \
/etc/isdn/jpeg/callThorstenS.jpg\
- geometry 512x256-350+250 -display
:0 &
}
Das Neue und Wichtige an diesem Eintrag steht hinter der VariablenSTART.
Hier steht geschrieben, was bei einem Anruf der genannten Nummer gemacht
werden soll.
FLAG interessiert uns erstmal
nicht. Stattdessen gehört unsere Aufmerksamkeit PROGRAM.
Zum Anzeigen des Bildes benutzen wir das Programm xli (sollte
bei jeder Distribution dabei sein. Muß notfalls nachinstalliert werden.)
Man könnte auch xv, oder ein andres Programm benutzen, allerdings
ist xli sehr klein und läd die Bilder recht schnell.
Die Option -fit ist dafür
gedacht, daß das Bild auch auf Servern mit 8 Bit Bildtiefe korrekt
dargestellt wird. Der Zweite Pfad gib das Bild an, welches geladen werden
soll. 512x256-350+250 gibt die
Größe
und Position an, wie das Bild angezeigt werden soll (Dieser wert ist
an die jeweilige Bildschirmauflösung anzupassen, oder kann auch weggelassen
werden, wenn man das Bild nicht in der Mitte des Monitors haben
will).
-display :0 teilt dem Programm
dann noch mit, auf welchem Bildschirm das Bild dargestellt werden soll.
Ein derartiger Eintrag ist für jede bekannte Gegenstelle einzurichten,
was schnell getan ist.
Mit diesen Einstellungen sollte eigentlich schon alles funktionieren
(Der ISDN-Treiber muß allerdings erst neu gestartet werden,
damit er die neue callerid.conf einliest).
Nun ist es allerdings läßtig, das das Bild immer mit Fensterrahmen
geladen wird, und somit nicht wie eine Message, sondern eben wie ein geladenes
Bild aussieht, was es ja auch ist. Um dies zu änder, muß man
die Eigenschaften des Fensters beim Windowmanager anders anmelden
(Die folgende Konfiguration bezieht sich auf fvwm2).
Dafür muß ein Eintrag in die Datei ~/.fvwm2rc geschrieben
werden:
Style "/etc/isdn/jpeg/*" NoTitle, Sticky,
StaysOnTop (eine Zeile!)
Dieser Eitrag kann irgendwo stehen, sollte allerdings der Übersicht
halber bei den anderen Style Einträgen plaziert werden.
Diese Zeile macht es nun möglich, daß das geladene Bild
keine Fensterleiste mehr besitzt, "sticky" ist, d.h. auf
jeden virtuellen Desktop mitwandert und immer über allen anderen
Fenstern plaziert ist (StaysOnTop).
Damit wäre unsere Telefon-Vorwarnanlage fertig.
Platz für Kommentare & Fragen:
(selbst eintragen)
|