Anrufmonitor mit Samba: Dateien editieren
Viele von uns haben einen Linux Server zur Einwahl ins Internet stehen. Ich natürlich auch. Was mich schon immer tierisch genervt hat: Eingehende Anrufe werden zwar von Linux registriert und man kann auch Aliase vergeben aber wenn man während der Zeit keinen Blick auf die Konsole oder den Linux Rechner an sich hat, merkt man vom Anruf überhaupt nichts. Aber es gibt einen Weg den Anruf auf jedem beliebigen SMB Client anzeigen zu lassen, das ganze ist gar nicht so schwer wie ich feststellen musste.
Alles was man benötigt ist im Prinzip bereits im Linux (speziell in diesem Fall SuSE Linux) enthalten. Man benötigt i4l und Samba, die nötigen Scripte kann man selbst mit einem Editor erstellen.
Als erstes muss man in der Datei In der Datei /etc/isdn/isdnlog.isdnctrl0.options die Variable “start” auf “yes” setzen. Diese Datei ist Teil des i4l Paketes und sollte eigentlich überall vorhanden sein. Der Parameter sorgt dafür das auch wirklich das isdn.log und die callerid.conf ausgewertet werden.
Alle Nachrichten werden über den WinPopUp Service von Win9x oder den Nachrichtendienst im Windows NT/2K/XP versendet. Man sollte also sicher sein das der jeweilige Dienst auch wirklich bereits läuft. Somit stellt man die nächste Option also auch in der smb.conf von Samba ein. Dort muss nun eine Zeile für die WinPopUp Nachricht eingetragen werden. Bei mir sieht die Zeile in etwa so aus (Achtung! Alles in einer Zeile!):
message command = mv %s %s.working; echo WinPopup-Message from %f@%m for %t: > %s; cat %s.working >> %s; wall %s; rm %s %s.working &
Wichtig ist das & Zeichen am Ende sonst könnte unter unglücklichen Umständen die Kiste abstürzen ! Die %Parameter sind normale Parameter die auch sonst in Samba verwendet werden, eine genaue Beschreibung dafür gibt’s im Manual zu Samba. Hiernach Samba neu starten nicht vergessen !
Als nächstes muss die callerid.conf bearbeitet werden. Zuerst muss jede eigene MSN eingetragen werden, bei mir sieht das für die Haupt MSN in etwa so aus:
[MSN]
NUMBER = 21051
ALIAS = Hauptnummer
ZONE = 1
START = {
[FLAG]
FLAGS = I|R
PROGRAM = /etc/isdn/RING $2 $19 $20
}
NUMBER ist dort die MSN Nummer ohne Vorwahl (mit Vorwahl geht aber auch). Alias ist der Name, welcher anstatt der Telefonnummer im Log angezeigt wird. Es dürfen Leerzeichen verwendet werden, Sonderzeichen sollte man maskieren. Umlaute kann man glaub ich auch angeben evtl. funktioniert hier aber nur der ASCII Code.
ZONE wird eigentlich nicht mehr ausgewertet, sprich: kann man auch weglassen. Neu und nicht in der Datei erklärt ist der Parameter START. Hiermit können bei einer Aktion auf dem NTBA bestimmte Programme ausgeführt werden, vom abspielen eines Soundfiles bis hin zum starten der Waschmaschine wie die Doku so schön formuliert J. Hier in diesem Fall wir das Script RING gestartet und übergibt gleich noch ein paar der Parameter aus der callerid.conf (Telefonnummer, Aliasname, Zielnummer).