Punkt 1 und 2 beziehen sich wohl auf den MusicPal, haben also mit Fritzbox und Callmonitor nichts zu tun. Beim dritten Schritt geht's nur darum, bei einem Anruf mit wget eine "Webseite" auf dem MusicPal abzurufen, mit der die Nachricht übergeben wird. Beim Callmonitor würdest du einfach die genannte AktionIch bin Besitzer eines MusicPals und würde mir jetzt auch sehr gern die Rufnummer auf dessen Display anzeigen lassen:
Hier mal ein Auszug aus der Anleitung wie es gehen soll:
wget -O /dev/null "http://<DEINE MUSICPAL IP>/cgi-bin/call.cgi?cmd=${caller}" >/dev/null 2>&1
Beim Callmonitor heißt die Variable für die Anrufernummer nicht caller, sondern SOURCE; weitere Variablen, die du verwenden kannst, findest du hier: http://trac.freetz.org/wiki/packages/callmonitor/listeners#Ereignis-InformationenfürAktionen(caller muss natürlich vorher definiert worden sein
in:request ^ ^ wget -O /dev/null "http://<DEINE MUSICPAL IP>/cgi-bin/call.cgi?cmd=${SOURCE}" >/dev/null 2>&1
Tatsächlich? Was hast du dir dafür angeschaut?Hab auch schon sämtliche Optionen bei den Listeners durch.
in:cancel ^ ^26266626$ mailmessage
if [ ${DURATION} -gt 5 ]; then
mailmessage ...
fi
in:disconnect ^ ^26266626$ [ "$DURATION" -gt 5 ] && mailmessage
Sicher, dass Du Quotes um die $DURATION machen solltest? "-gt" vergleicht Zahlen, keine Strings. Hm - wobei zumindest die Bash sich daran nicht zu stören scheint. Letztendlich stören die Gänsefüßchen also nicht - helfen aber auch nicht gegen "Leerstrings" - denn bei [ "" -gt 5 ] kommt dann doch der erwartete Fehler: "integer expression expected"...Code:in:disconnect ^ ^26266626$ [ "$DURATION" -gt 5 ] && mailmessage
Die Shells machen keinen Unterschied zwischen Zahlen und Strings; für sie ist im Prinzip zunächst alles ein String. Die Quotes verhindern einfach, dass der Wert von DURATION in zwei Wörter zerlegt wird, falls er aus unerfindlichen Gründen ein Leerzeichen enthalten sollte. Ich habe mir angewöhnt, solchen Fehlern konsequent vorzubeugen (auch wenn es höchstunwahrscheinlich ist, dass DURATION z.B. den Wert "x -o 5" enthalten wird, der bei deiner Version nicht zu einer Fehlermeldung führen würde, obwohl das keine Zahl ist).Sicher, dass Du Quotes um die $DURATION machen solltest? "-gt" vergleicht Zahlen, keine Strings.
Sowas liest man gern!vielen Dank für Eure Tipps. Die Version von Andreas funktioniert bei mir prima. Sowohl mit, als auch ohne Gänsefüßchen.
Ooops - ja, freilich. Ich hatte halt noch meine Faxbenachrichtigung im Kopf, da isses genau umgekehrt: Es gilt bei mir, nur die wahrscheinlich "echten" Faxe zu melden, und die "fehlgeleiteten" auszufiltern. Hatte vergessen, das anzupassen - sorry. Zum Glück hast Du ja mitgedacht, und nicht nur stumpf kopiertAllerdings sollte der Vergleich "-lt " heißen, denn ich will ja über die Schnellaufleger informiert werden.
Öh...äh...hone: OK, gebe mich geschlagen. Man sollte auch die unwahrscheinlichen Fehler abfangen, wenn es sich anbietet Und an die "implizierte Typ-Konvertierung" habe ich wohl nicht gedacht. Benimmt sich die Shell also genau wie PHPauch wenn es höchstunwahrscheinlich ist, dass DURATION z.B. den Wert "x -o 5" enthalten wird, der bei deiner Version nicht zu einer Fehlermeldung führen würde, obwohl das keine Zahl ist
Setting up virtual network interface ... done.
Usage: phonebook [option]... command [argument]...
phonebook {get|exists|remove} 053712931
phonebook put 0357937829 "John Smith"
phonebook list [all]
phonebook init # prepare SIP to name mapping
phonebook tidy # tidy up phonebook (sort)
phonebook flush # flush temporary caches
Options:
--local suppress reverse lookup
--debug enable extra debugging output
--help show this help and exit
Starting callmonitor...done.
$ killall callmonitor
$ sh -x ./rc.callmonitor
...
+ modreg extra callmonitor Wartung 1 maint
+ modreg file listeners Listeners 0 /mod/etc/default.callmonitor/listeners.def
+ modreg file callers Callers 1 /mod/etc/default.callmonitor/callers.def
+ phonebook init
+ try_start
+ start
+ local exitval=0
+ is_running
+ local pid
+ [ -e /var/run/callmonitor/pid/callmonitor ]
+ read pid
+ kill -0 4753
+ phonebook start
Usage: phonebook [option]... command [argument]...
phonebook {get|exists|remove} 053712931
phonebook put 0357937829 "John Smith"
phonebook list [all]
phonebook init # prepare SIP to name mapping
phonebook tidy # tidy up phonebook (sort)
phonebook flush # flush temporary caches
Options:
--local suppress reverse lookup
--debug enable extra debugging output
--help show this help and exit
+ start_daemon
+ echo -n Starting callmonitor...
...
Setting up virtual network interface ... done.
Reading AVM's phone book...done.
Starting callmonitor...done.
Dass du eine Revision jenseits des Workarounds benutzt, hatte ich in deiner Signatur gesehen. Ich wollte nur noch mal nachfragen, ob du nicht deine Busybox-Konfiguration vielleicht von Hand geändert hast (oder noch eine alte benutzt).Verweist auf Revision 2655. Also sollte ich das doch haben. Vor dem Flashen war der nicht da
all das ist kein Problem des Callmonitors (es sei denn, du beweist mir das Gegenteil): Mit Callbacks hat der Callmonitor nichts am Hut.Mein Problem ist, das ich zwar IMMER ein Callback erhalte von meiner 7170, aber meine 2te Box die CallerID nicht erkennt ...
Hast du nicht; seit Version 2655 ist der Workaround im Trunk.Wenn ich den Fred hier lese habe ich ja dann auch das Problem mit der Busybox, oder???
Hallo Thomas,
all das ist kein Problem des Callmonitors (es sei denn, du beweist mir das Gegenteil): Mit Callbacks hat der Callmonitor nichts am Hut.
Hast du nicht; seit Version 2655 ist der Workaround im Trunk.
Andreas
Falls du auf die Funktion "dial" aus dem CM anspielst; die ruft nur die entsprechende Funktion in der Weboberfläche auf. Da steckt sonst nicht viel mehr dahinter, auf das ich einen Einfluss hätte.Ich dachte nur, das wenn der CM die Rückrufnummer wählt, es dort zu irgendein Problem kommt
Probieren könntest du es da, weil die Leute, die diesen Thread lesen, bestimmt generell mehr Erfahrung haben mit Callbacks an sich (ich habe das noch nie gemacht). Aber wie gesagt, ich glaube, dass es mit dem CM nichts zu tun haben kann. Versuch doch zur Fehlereingrenzung einmal, die Situation mit der Wählhilfe aus der Weboberfläche nachzustellen.Hast Du vielleicht eine Idee was es sein könnte? Oder sollte ich mal im "Callback mit Callmonitor" Fred weiter posten?