Anrufmonitor und Linux

pyrochroa

Neuer User
Mitglied seit
5 Apr 2006
Beiträge
34
Punkte für Reaktionen
0
Punkte
6
Hallo Fritzbox - Freunde,
ich verwende eine 7490 mit aktiviertem Anrufmonitor, dessen Ausgaben ich serverseitig mit einem netcat

/usr/bin/nc -d fritzbox 1012 >> /var/log/fritzbox-call.log &

belausche und in eine Datei schreibe. Ein weiteres Programm liest diese Date mit und macht mir z.B. das Garagentor auf, wenn ich die entsprechende MSN wähle. Nun habe ich das Problem, dass der netcat sehr unzuverlässig läuft. In etwa 10..20% aller Fälle tauchen Anrufe zwar im Fritzbox LOG auf, habe diese aber nicht auf dem Server, was genau der Tatsache entspricht, dass eben manche Anrufe nicht das tun, was sie sollen.

Was ich schon festgestellt habe ist, dass der netcat zwar als Prozess noch da ist, aber nichts mehr tut, wenn die Fritzbox kurze Zeit nicht erreichbar war. Das ist aber in der Häufigkeit definitiv nicht der Fall. Es muss noch einen anderen Grund geben. Ich resette den Prozess auch gegen 4 Uhr nachts, um sicher zu sein, dass nach der Zwangstrennung der Prozess neu gestartet ist (obwohl das eigentlich ncihts damit zu tun haben kann).

Hat jemand noch eine Idee, woran das liegen könnte?

Für jeden Tipp dankbar,
pyrochora
 
"netcat" ist selbst etwas "maulfaul", was seine Behandlung der TCP-Verbindung angeht. Wenn ich Problemen bei einer TCP-Verbindung in einer solchen Konstellation auf den Grund gehen will, nehme ich "socat", dem kann man mit passenden Parametern bis in jedes einzelne TCP-Paket schauen beim Trace.

Ansonsten würde ich den Anrufmonitor-Port von AVM in der FRITZ!Box selbst "abhören" und danach auf einen Mechanismus wechseln, der diese Nachrichten "more reliable" ausliefern kann, z.B. irgendetwas wie eine selbstgebaute Message-Queue, wo jede Nachricht erst nach Bestätigung gelöscht wird und da kann dann der "Server" in ausreichend kurzen Intervallen diese Queue auch pollen (womit auch ein "bin mal kurz weg" (aka Timeout) der FRITZ!Box nicht zum Hängen des "netcat" führt, weil der nicht permanent läuft und immer neu aufbaut) und muß sich nicht auf die lange genug existierende "externe" Verbindung verlassen. Für das "passive Abhören" des Anrufmonitor-Ports gibt es leider sonst kein "keep-alive" ... die Kommunikation ist hier ja eine Einbahnstraße (bis auf ein ACK/NACK, versteht die Box nur Bahnhof auf diesem Port und ich weiß nicht, wie lange man sie mit zusätzlichen NACK-Paketen zur Wiederholung überreden kann, damit man weiterhin "ein Lebenszeichen" erhält zur Kontrolle).
 
Hallo PeterPawn,
danke für deine Antwort und den Tipp mit socat. Ich werde mir bei Gelegenheit die TCP Verbindung anschauen, aber ich fürchte, da wird sich nicht viel biegen lassen außer vielleicht den netcat noch öfters neu zu starten. Die Kommunikation von der Box aus zu starten, hatte ich bei früheren FritzOS Versionen schon im Einsatz. Heute habe ich den Nerv nicht mehr, gepatchte FritzOS Versionen zu flashen und zu sehen, wie einem mit jedem (durchaus berechtigten) Firmwareupdate mehr und mehr die Felle davonschwimmen, weil AVM die Box immer weiter abdichtet. Ich denke, ich werde auf VPN mit irgend einem RemoteLauncher umstellen. Schade nur, dass man dann nicht mehr einfach über das Freisprech Autotelefon vor Ankunft die Garage öffnen kann, sondern vor der Garage stehen muss um dann die Verbindung aufzubauen, weil man sonst 100€ blecht.

Gruss, pyrochroa
 
Mit einem Neustart des netcat alle 2h habe ich keine Ausfälle mehr. Ich reduziere jetzt mal, bis ich die ersten Ausfälle bekomme.

Gruss, pyrochroa.
 
Kostenlos!

Statistik des Forums

Themen
248,903
Beiträge
2,303,611
Mitglieder
378,538
Neuestes Mitglied
FraSche