[Erledigt] Callmonitor - Google-Suche funktioniert nicht

GBuster

Neuer User
Mitglied seit
19 Apr 2007
Beiträge
17
Punkte für Reaktionen
0
Punkte
0
Hallo,
seit einiger Zeit nutze ich jetzt das DS-Mod. Hatte vorher die Labor-Firmware, damit aber nur Probleme mit dem Samba Server. Nun habe ich die normale 7170-Firmware verwendet, mit Callmonitor etc.

Nun ist mir aufgefallen dass die Google-Suche überhaupt nicht funktioniert. Mein Verdacht:

In der Datei /usr/lib/callmonitor/reverse/google.sh, das einscheinend der Script für die Suche bei Google ist, heisst die Anweisung zum Laden der Webseite wie folgt:

getmsg -w 4 "http://www.google.de/search?num=0&q=%s" "$number"

Nun habe ich mal manuell versucht in der busybox den Befehl "getmsg" auszuführen, mit dem Resultat dass der Befehl nicht verfügbar ist.

Die Vermutung liegt nahe dass das der Grund dafür ist, dass die Suche über Google nicht funktioniert.

Meine Daten:
FritzBox 7170
ds-0.2.9_26-14 mit aktueller Original-Firmware (nix Labor)
Callmonitor 1.8.3

Kann das jemand bestätigen?

Viele Grüße,

GBuster
 
Zuletzt bearbeitet:
Jep, wie schon geschrieben, bei mir gehts auch nicht.
 
getmsg ist eine in /usr/lib/callmonitor/modules/net.sh definierte Shell-Funktion. Ich habe jetzt nicht geprüft, ob sie gefunden wird, aber ich gehe davon aus, da sie oft verwendet wird von Callmonitor. Ich tippe (blind) eher auch die Such-URL, die da zusammen gebaut wird oder die Art, wie das Ergebnis ausgewertet wird.

Vielleicht findest Du was im Callmonitor-Wiki oder in der dort verlinkten Diskussionsseite.
 
Also mit
Code:
http://www.google.de/search?num=0&q=0179
bekomme ich leider nur die Rückmeldung, dass kein passender Treffer gefunden wurde.
 
Gib mal eine vollständige Nummer ein, da passiert was.
 
Hm der Wiki-Eintrag hat mich da auf eine Idee gebracht. Hier heisst es:
"Optional kann eine zusätzliche Suche bei Google nach dem Ortsnetz des Anrufers durchgeführt werden. Das Ergebnis dieser Suche wird nur verwendet, wenn die volle Rückwärtssuche kein Ergebnis liefert."

Um auszuschließen, dass das google.sh erst gar nicht aufgerufen wird, habe ich einfach mal einen Testscript geschrieben der mir einfach ein echo in eine Datei ausgibt und die alte google.sh ersetzt. Hat auch funktioniert.

Mein zweiter Test war nun dass ich zwei Echos in die beiden Funktionen der alten google.sh einfüge, die das gleiche machen (in Datei schreiben) und siehe da: Sie werden beide erst gar nicht aufgerufen.

Mein dritter Test war nun, dass ich einfach die Funktionsnamen wegließ und siehe da: Es tat sich was!

Beim Log eines Testanrufes stand nämlich auf einmal sowas wie:

Code:
HTTP/1.0 200 OK
Cache-Control: private
Content-Type: text/html; charset=ISO-8859-1
Set-Cookie: PREF=ID=221645aced712520:TM=1177627575:LM=1177627575:S=v5GZHIIn3C-Ze1kq; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.de
Server: GWS/2.1
Date: Thu, 26 Apr 2007 22:46:15 GMT
Connection: Close

Was vorher nie dar war. Ok der Aufruf funktionierte natürlich nicht da er keine Telefonnummer an die URL übergeben hatte, aber grundsätzlich wäre das ein Lösungsansatz des Problems.

Ich hoffe ihr könnt damit etwas anfangen.

Gruß,

GBuster
 
Hi, ich hatte GBuster schon privat gesagt, dass die Google-Suche bei mir noch funktioniert. Ich klinke mich hier mal ein, um dem Fehler auf die Spur zu kommen.
GBuster schrieb:
Mein dritter Test war nun, dass ich einfach die Funktionsnamen wegließ und siehe da: Es tat sich was!
Ich verstehe nicht ganz, was du gemacht hast: Welche Funktionsnamen hast du wo weggelassen?

Andreas
 
Ok in der google.sh gibt es offentsichtlich zwei Funktionen namens
_reverse_google_request()
_reverse_google_extract()

In beide Funktionen habe ich meine Testfunktion (echo "Ein Test" > /var/tmp/Test1.txt) an das Ende der Funktionen, also vor der geschweiften Klammer, geschrieben. Beide echos wurden NICHT aufgerufen. Nun habe ich einfach den Funktionsnamen und die geschweiften klammern drum herum weggelassen. Und siehe da, er ruft die Anweisungen (getmsg etc.) auf.

Meine Vermutung ist ganz einfach dass der Callmonitor nur den Script ansich und nicht die Funktionen darin aufruft.

Hoffe das ist jetzt etwas klarer :)
 
Ah, verstehe. Das die Funktionen nicht aufgerufen werden, ist allerdings seltsam. Aber Google ist in deiner Konfiguration schon als Provider für die alternative Suche eingestellt?

Das hier zeigt ein kleines Skript mit der dazugehörigen Aufrufweise, mit dem ihr die Funktionsfähigkeit der Google-Suche an sich testen könnt:
Code:
/var/mod/root # cat test-google
CALLMONITOR_AREA_PROVIDER=google
require reverse
_reverse_lookup google "$1"
/var/mod/root # /usr/lib/callmonitor/controller test-google 05345
Baddeckenstedt
/var/mod/root # /usr/lib/callmonitor/controller test-google 047485345
Stubben bei Bremerhaven

Andreas
 
Google ist fest eingetragen, habe es auch mit austragen, eintragen etc. versucht. Kann es sein dass da Google nicht korrekt in die Config geschrieben wurde?

Wenn ja: Wie heisst die entsprechende config-Datei damit ich das nachschauen kann?

Dein Test-script werde ich mal zuhause ausprobieren (atm @ uni)
 
In der config steht:
export CALLMONITOR_AREA_PROVIDER='google'

Jo sollte passen, jetzt habe ich deinen Script mal getestet und es kommen genau die gleichen Ausgaben wie du hattest, also das Google-Script selbst funktioniert. Es wird nur irgendwie nicht automatisch aufgerufen?

Kann ich sonst noch irgendwas tun?

EDIT: Was mir noch einfällt, vielleicht die Listener?

out:request ^ ^ yac 192.168.178.20 "${DEST} wird angerufen"
out:connect ^ ^ yac 192.168.178.20 "Verbindung mit ${DEST} wurde hergestellt"
out:disconnect ^ ^ yac 192.168.178.20 "Verbindung mit ${DEST} wurde beendet"
in:request ^ ^ yac 192.168.178.20
in:connect ^ ^ yac 192.168.178.20 "Verbindung mit ${SOURCE} wurde hergestellt"
in:disconnect ^ ^ yac 192.168.178.20 "Verbindung mit ${SOURCE} wurde beendet"
in:cancel ^ ^ yac 192.168.178.20 "Die Rufnummer ${SOURCE} hat aufgelegt"

Die hier hab ich.
 
Die Nummernauflösung (ggf. mit Rückwärtssuche) wird vor dem Abarbeiten der Listeners gemacht; damit kann es also nichts zu tun haben. (Dir ist bestimmt bewusst, dass du nur bei in:request Namen angezeigt bekommen kannst; DEST und SOURCE sind immer Nummern.) Hmm ...

Du könntest mir mal deine komplette Callmonitor-Konfiguration schicken (/tmp/flash/callmonitor.cfg + Inhalt von /tmp/flash/callmonitor/).

Was du auch noch überprüfen könntest: Es wird keine Rückwärtssuche vorgenommen, wenn die Nummer schon in den lokalen Caches gefunden wird. Überprüf mal den Inhalt von /tmp/callers und /tmp/flash/callmonitor/callers.

Andreas
 
Also eine /tmp/flash/callmonitor.cfg existiert nicht, in /tmp/flash/callmonitor/ befinden sich nur die Listener die ich schon gepostet hab und die callers sind leer. Auch ein manuelles Löschen der Callers hat nichts gebracht.

Gruß,

GBuster
 
Er meinte /mod/etc/conf/callmonitor.cfg
 
Ich hab die Datei mal angehängt.
 

Anhänge

  • callmonitor.zip
    262 Bytes · Aufrufe: 8
Danke. (Ich meinte tatsächlich /tmp/flash/callmonitor.diff; die komplette Config tut's aber auch.)

Ich habe gerade deine Konfiguration nach /mod/etc/conf/callmonitor.cfg kopiert, den Callmonitor neugestartet (/etc/init.d/rc.callmonitor restart), /tmp/callers geleert, darauf geachtet, dass /tmp/flash/callmonitor/callers die folgende Nummer nicht enthält und dann einen Testanruf gemacht (in:request von 0345345345 nach 123): Die Anfrage bei Google hat wieder geklappt, es wurde "0345345345 (Halle Saale)" als SOURCE_NAME genommen.

Ich kann dein Problem also nicht reproduzieren. :-/

Andreas
 
Welche Version des Callmonitors, welche ds-mod Version und welche Original-Firmware Version hast du genommen?
 
So, ich hab auch noch mal geschaut:

Ich bekomme per Test-Anruf/normalem Anruf keine Namensauflösung der Nummer über Google. Der Test aus Beitrag #9 funktioniert. SOURCE_NAME bleibt immer leer.
Ich denke die Version des Callmonitor ist unerheblich, da ich jetzt 1.9.1 nutze und das Problem auch schon unter 1.8.3 hatte.
 
Ich benutze die Versionen, wie sie in meiner Signatur stehen. Da gibt es also Unterschiede: Kernel (dessen Einfluss halte ich für unwahrscheinlich), ds-mod mit wahrscheinlich unterschiedlicher busybox und evtl. funktionalen Änderungen in ash (das halte ich für das wahrscheinlichste).

Ok, dann gehen wir mal ans Eingemachte: Könntet ihr mir das Logfile aus folgendem Test per PN oder E-Mail schicken? Callers und /tmp/callers bereinigt, dann
Code:
sh -vx /usr/bin/phonebook get 0345345345 > log 2>&1

Andreas
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
245,952
Beiträge
2,243,260
Mitglieder
373,292
Neuestes Mitglied
Sinankarateke
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.