Mit TrayMessage werden eingehende Anrufe an der Fritz!Box Fon auf einem oder mehreren an der Box angeschlossenen Windows XP PCs angezeigt. Dazu muss auf der Box ein Skript namens callmessage laufen. Die Firmware auf der Box wird nicht angetastet, es wird lediglich die Datei /var/flash/debug.cfg überschrieben, die vom Werk aus sowieso leer und unbenutzt sein sollte. Mancher hat da evtl. das Starten eines telnet-Servers hinzugefügt. Der wird jetzt sowieso gestartet mitm Login root/meep. TrayMessage kann auf beliebig vielen Windows-XP-PCs im LAN gestartet werden. Wichtig ist dafür, dass jeder die IP per DHCP holt. Ohne Garantie oder sonstwas, keine Verantwortung, falls die Box abraucht. 11. August 2005, http://jbg.swznet.de/zeug/traymessage/ Installation: ------------- 1. callmessage.sh auf der Fritz!Box Hierbei wird die /var/flash/debug.cfg gelöscht! - http://fritz.box aufrufen - System -> Firmware-Update - callmessage-2005-08-11.image auswählen, Update klicken - warten und beten 2. TrayMessage aufm PC - Doppelklick auf TrayMessage.jar - Wenn das nich geht, Java neu installieren, Download unter www.java.com - Neustart und nomma TrayMessage.jar starten Zum Testen zum Beispiel mitm Handy sich selbst anrufen. TrayMessage wird _nicht_ automatisch mit Windows gestartet. Falls das gewünscht ist (natürlich is das gewünscht), einfach ne Verknüpfung auf TrayMessage.jar im Startmenü innen Ordner Autostart reinpacken. Den Rufnummern Namen zuordnen: ------------------------------ Der Texteditor auf der Box is bissi kompliziert. Wenn man irgendwas verhurt, einfach nomma callmessage mitm Firmware-Update neu installieren. - telnet fritz.box - Login root/meep - nvi /var/flash/debug.cfg - ans Ende scrollen - "i" drücken für Einfügemodus - Beispiel: #MSISDN=0123456789:Joe - Einfügemodus mit Esc beenden - Speichern und Editor beenden mit ":wq" - Zeile löschen mit "dd" (aber nicht im Einfügemodus) - Falls Backspace nich geht, strg+h benutzen (falls auch das nich geht, erstmal innen Einfügemodus gehen) Technischer Hintergrund für Geeks und Neugierige: ------------------------------------------------- Bislang gab's drei Möglichkeiten Rufnummern von der Fritz!Box Fon annen PC zu übermitteln: 1. telnet-Verbindung aufbauen, telefon daemon neustarten und seine Ausgabe auswerten 2. syslogd neustarten mit Ausgabe auf Remote-Host, dort Log auswerten 3. Skript callmonitor von modifizierter Firmware mit Windows-Tool yac. Mit callmessage kann die originale Firmware benutzt werden und die Anruf-Nachrichten gehen an alle PCs im LAN raus. Es basiert im Wesentlichen auf callmonitor aus mod-53. Statt netcat benutzt es allerdings wget, was in der originalen Firmware enthalten is, sodass die Firmware nich verändert werden muss. Allerdings kann dann nicht yac benutzt werden, sondern es muss TrayMessage benutzt werden. TrayMessage is im Prinzip nen kastrierter Webserver, der ständig "204 No Content" ausgibt. Das Tool horcht auf TCP-Port 23232 und interpretiert den Dateinamen eines HTTP-Get-Requests als Nachricht, die dann in so nem lustigen Windows-XP-Balloon angezeigt wird. Beginnt der Dateiname mit einem "@", so wird "Eingehender Anruf" als Titel angezeigt. Enthält keinen weiteren Schnickschnack. Zum Testen: http://localhost:23232/@foo_lala oder: telnet localhost 23232 GET /@lala 123 HTTP/1.0 Für die XP-Balloons wird die Lib TrayIcon benutzt. http://jeans.studentenweb.org/java/trayicon/trayicon.html Sourcecode liegt bei, falls sich das wer für seinen Linux-Windowmanager umbasteln will oder so. Mir fällt grad auf, hab vergessen Timeouts und Verbindungsabbruch auf der Client-Seite der TCP-Verbindung bei TrayMessage abzufangen. Das Ding bleibt also evtl. hängen oder crasht, wenn man drauf telnetet und nix mehr macht oder selbst die telnet-Verbindung beendet. Halb so wild. Da fiese DoSer im Heimnetz eher die Ausnahme sind, hab ich kein Nerv das zu fixen, solang's so auch funktioniert.