also das mit der dbox geht bei mir nicht.
boxip ist bei mir 192.168.0.11
wenn ich per telnet das get-commando wie im erzeugten callmonitor.sh aufrufe (mit anderem text) dann sehe ich den text auf der dbox. dieser teil geht also wohl....
was habe ich gemacht?
die beigehängte datei per tftp auf die box, chmod a+x darauf und aufgerufen.
danach habe ich angerufen und es kommt keine info auf der box.
wie kann ich das script selbst denn testen?
EDIT:
folgendes geht:
Code:
caller=0916
called=0815
# do reverse lookup for DBox at [url]www.dasoertliche.de[/url]
url="http://www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm?kw_invers=${caller}&main=Antwort&s=2"
# get search result, find line containing entry, remove HTML and spaces and convert needed spaces to %20
output=$(wget -q -O - "${url}" | grep class=\"blb\" | sed -e 's/<[^<]*>/\ /g;s/^[ \t]*//;s/\ /%20/g')
# if no resultuse ${caller}
if [ -z "${output}" ]
then
output=${caller}
fi
# send information to DBoxes
wget -O /dev/null "http://192.168.0.11/control/message?popup=Eingehender%20Anruf%20von%20${output}" &
somit scheint es imho nicht an der ausgaberoutine zu liegen, sondern irgendwo an der übergabe callprocess->callmessage.sh
EDIT2:
wenn ich die aufrufkommandos nacheinander manuell eingebe kommt nach eingabe von
# telefon a127.0.0.1 | /var/tmp/callmessage.sh &
die meldung
# mknod: /var/flash/fx_def: File exists
was bedeutet das?
ansonsten scheint alles problemlos geschluckt zu werden.
EDIT3:
die meldung des telefonagent lautet übrigens:
IncomingCall: ID 2, caller: "0611512551" called: "12551"
könnte das problem bei den " in der meldung liegen?
das script
Code:
line='IncomingCall: ID 2, caller: "0611512551" called: "12551"';
echo line;
case ${line} in
IncomingCall:*)
caller=${line#*caller: \"}
caller=${caller%%\"*}
called=${line#*called: \"}
called=${called%%\"*}
# do reverse lookup for DBox at [url]www.dasoertliche.de[/url]
url="http://www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm?kw_invers=${caller}&main=Antwort&s=2"
# get search result, find line containing entry, remove HTML and spaces and convert needed spaces to %20
output=$(wget -q -O - "${url}" | grep class=\"blb\" | sed -e 's/<[^<]*>/\ /g;s/^[ \t]*//;s/\ /%20/g')
# if no resultuse ${caller}
if [ -z "${output}" ]
then
output=${caller}
fi
# send information to DBoxes
wget -O /dev/null "http://192.168.0.11/control/message?popup=Eingehender%20Anruf%20von%20${output}" &
;;
esac
geht nämlich, aber nur mit den ' um die erste zeile. ohne geht es nicht.
EDIT4:
so, und nun das letzte edit: auch mit fixem output string wird anscheinend das script nicht richtig aufgerufen. und nach ein paar anrufen auf der box hängt sich diese komplett auf.
ich hoffe das war jetzt genug info um bugs zu fixen, vielleicht liegt es ja aber auch nur an meiner box ...