source: ipk/source.mipsel/tools_callmonitor/_path_/usr/local/share/titan/plugins/callmonitor1/fritzbox_msg_new.sh @ 37629

Last change on this file since 37629 was 37629, checked in by karlo, 4 years ago

fix callmon (without version)

  • Property svn:executable set to *
File size: 43.5 KB
Line 
1#!/bin/sh
2
3CONFIG=`echo "$0callmon.conf" | sed s/fritzbox_msg_new.sh//`
4NC=`echo "$0nc" | sed s/fritzbox_msg_new.sh//`
5if [ ! -x $NC ] ; then
6   NC="nc"
7fi
8
9ICONV=`echo "$0iconv" | sed s/fritzbox_msg_new.sh//`
10CURL=`echo "$0curl" | sed s/fritzbox_msg_new.sh//`
11LPATH=`echo "$0" | sed s/'\/fritzbox_msg_new.sh'//`
12LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LPATH
13export LD_LIBRARY_PATH
14
15. $CONFIG
16#. ./callmon.conf
17 
18#
19#-------------------------------------------------------------------------------
20#
21# To enable the callmonitor on your fritzbox use your telephone and call
22#    #96*5*         to enable
23#    #96*4*         to disable
24#
25#
26#SETUP---start------------------------------------------------------------------
27#
28##FRITZBOXIP=10.0.0.99   #IP of your fritzbox
29TELDPORT=1012            #callmonitor port (default 1012)
30#
31#SETUP---end--------------------------------------------------------------------
32#
33#
34#Options---start----------------------------------------------------------------
35#
36Version=v2.60                   #Zur Versionsanzeige im telnet
37debug=0                             #wenn debug auf 1 steht wird am TV nichts angezeigt
38##Ziel=4711                         #bitte Rufnummer eintragen die Überwacht werden soll
39if [ ! $Ziel ]; then
40    Ziel=4711
41fi
42##Ziel_2=4711                   #2te Rufnummer die Überwacht werden soll
43if [ ! $Ziel_2 ]; then
44    Ziel_2=4711
45fi
46                                            #wenn keine zweite dann gleiche nochmal eintragen!
47##Alle=1                  #wenn hier eine 1 steht werden alle Rufnummern überwacht
48                      #unabhängig von Ziel und Ziel_2
49##monRing=1               #eingehende Anrufe anzeigen
50##muteRing=0              #Ton aus bei Anruf
51##monCall=0               #ausgehende Anrufe anzeigen
52monDisconnect=0       #Beenden eines Anrufes anzeigen. Hier ist noch ein Bug drin!
53                      #Es werden immer alle Gespräche überwacht (alle Rufnummern
54                      #werden überwacht- Ziel und Ziel_2 funktionieren hier nicht
55                      #). Ich habe das deshalb immer auf 0.
56ip=127.0.0.1            #ip Adresse der Dreambox
57##anzeigetimeout=10       #Wie lange soll die Meldung angezeigt werden?
58##anzeigewennaus=0        #Wenn 1 dann werden alle Meldungen gespeichert und angezeigt
59                      #wenn die Dreambox eingeschaltet wird (kann ganz schön viel
60                      #werden!). Wenn 0 werden die Meldungen nicht angezeigt wenn
61                      #die Box aus war als z.B. ein Anruf eingegangen ist.
62                      #Empfehlen tue ich eine 0. Wer weis was passiert wenn man im
63                      #Urlaub ist und etliche Meldungen gespeichert werden.
64uebersichtsseite=0    #Wenn anzeige wenn aus und uebersichtsseite 1 ist, dann werden
65                      #nach dem einschalten der Dream aus dem Standy alle verpassten
66                      #Anrufe in einer Übersichtseite angezeigt mit Datum und Uhrzeit
67                      #Hierzu muss OpenPanel installiert sein.
68                      #Hier muss aber noch ein Start Script erstellt werden!                 
69loginname=root        #Loginname für Dreambox (Beispiel:root)
70passwort=kathrein       #passwort für Dreambox (Beispiel:dreambox)
71vorwahl=030                     #Eigene Vorwahl eintragen
72#
73#Options---end------------------------------------------------------------------
74#
75#
76#---- do not change anything below here ----
77#
78#additional paths to files we use (will be created automatically if not present)
79#detecting Dreambox-Type (DM7020 or DM7000 or DM500 or DM600PVR)
80 FRITZCACHE=/tmp/fritzbox.cache              #stores successfull reverse searches
81 FRITZBUCH=/var/fritzbuch.tele
82 TMPFILE=/tmp/fritzbox.tmp                   #stores page from wget command
83 TMPSTATUS=/tmp/fritzdream.status            #status der Dreambox (standby usw)
84 TMPRING=/tmp/tmpring.xml                    #stores missed calls
85 TMPINCOMING=/tmp/ringin.tmp                     #for checking ring overview
86
87NULL=/dev/null                              #'NULL'
88SCRIPT=$0                                   #full path to this script
89export SCRIPT
90
91#-------------------------------------------------------------------------------
92#definition of the reverse search online (GOYELLOW.DE)
93#-------------------------------------------------------------------------------
94SEARCHPRV="GoYellow"
95SEARCHURL="http://www.goyellow.de/schnellsuche/?LIP=simpleSearch&MDN="
96SEARCHURL="http://www.goyellow.de/inverssuche/?TEL="
97SEARCHPDETAIL="Detailinformationen"
98SEARCHERR="Keine.Einträge.gefunden"        #replace spaces with dots (regex)
99#-------------------------------------------------------------------------------
100#check if FritzBox! is up and callmonitor port is reachable. if not exit.
101#-------------------------------------------------------------------------------
102#cat /dev/null | ./nc $FRITZBOXIP $TELDPORT
103cat /dev/null | $NC $FRITZBOXIP $TELDPORT
104if [ $? != 0 ]; then
105 echo "Fritzbox (" $FRITZBOXIP ") ist nicht auf Port" $TELDPORT "erreichbar!"
106 echo "Skript wird beendet!"
107 FRITZUP=down
108 exit 1
109else
110 FRITZUP=up
111fi
112#-------------------------------------------------------------------------------
113#if script is called without any parameters show help text
114#-------------------------------------------------------------------------------
115if [ "$1" = "" ]; then
116 echo
117 echo "Usage: $SCRIPT START STOP CLEANUP SORTNAME SORTNUMBER TEST [phonenumber]"
118 echo
119 echo "START               Start Script and deamonize"
120 echo "STOP                kill all processes we created"
121 echo "CLEANUP             delete all temporary files incl. cache"
122 echo "SORTNAME            sort cache file by name"
123 echo "SORTNAME -r         sort cache file by name (reverse)"
124 echo "SORTNUMBER          sort cache file by number"
125 echo "SORTNUMBER -r       sort cache file by number (reverse)"
126 echo "TEST [phonenumber]  For testing connectivity and trying the search"
127 echo "loadPhoneBook"
128 echo
129fi
130#-------------------------------------------------------------------------------
131#reading function to interpret the data read from FritzBox! callmonitor port
132#-------------------------------------------------------------------------------
133mysearch () {
134
135if [ "$1" = "Unbekannt" ]; then
136   NAME="ohne Rufnummer"
137   ADDRESSE=""
138else
139   #remove spaces from $1 and replace '+49' with ''0'
140   NUMMER=`echo $1 | sed -e "s@\ @@g" -e "s@+49@0@"`
141   #UH
142   NUMMER=`echo $NUMMER | sed -e "s/^1/${vorwahl}1/g"`
143   NUMMER=`echo $NUMMER | sed -e "s/^2/${vorwahl}2/g"`
144   NUMMER=`echo $NUMMER | sed -e "s/^3/${vorwahl}3/g"`
145   NUMMER=`echo $NUMMER | sed -e "s/^4/${vorwahl}4/g"`
146   NUMMER=`echo $NUMMER | sed -e "s/^5/${vorwahl}5/g"`
147   NUMMER=`echo $NUMMER | sed -e "s/^6/${vorwahl}6/g"`
148   NUMMER=`echo $NUMMER | sed -e "s/^7/${vorwahl}7/g"`
149   NUMMER=`echo $NUMMER | sed -e "s/^8/${vorwahl}8/g"`
150   NUMMER=`echo $NUMMER | sed -e "s/^9/${vorwahl}9/g"`
151   echo "$NUMMER"
152   echo "Searching for $NUMMER in cache file..."
153   if [ ! -f $FRITZBUCH ]; then  touch $FRITZBUCH; fi
154    #try to get caller-id via $NUMBER from $FRITZBUCH
155    NAME=`grep $NUMMER $FRITZBUCH | sed -e "s@$NUMMER\#@@" -e "s@;@\n@g"`
156    ADDRESSE=`echo $NAME | sed -e 's/.*->//g'`
157    NAME=`echo $NAME | sed -e 's/->.*//g'`
158    echo -e
159    echo -e "NAME nach Cache Suche: $NAME"
160    echo -e "ADRESSE nach Cache Suche: $ADDRESSE"
161   
162   if [ "$NAME" = "" ]; then
163    #try to get caller-id of $NUMMER via internet
164    echo "Searching for $NUMMER via $SEARCHPRV"
165    wget "$SEARCHURL$NUMMER"  -O $TMPFILE
166    #extract caller-id from online result
167    #UH20100112
168#    NAME=`grep $SEARCHPDETAIL $TMPFILE | head -n 1 | sed -e "/</{; :loop; s/<[^<]*>//g; /</{; N; b loop; }; };"`
169#    ADDRESSE=`grep "address" $TMPFILE| head -n 1`
170#    ADDRESSE=`echo $ADDRESSE | sed 's/<[^>]*>/ /g'`
171
172    NAME=`grep $SEARCHPDETAIL $TMPFILE | head -n 1 | sed -e 's/.*Detailinformationen zu //g' | sed -e 's/ in .*//g'`
173    STRASSE=`grep '<span class="street street-address">' $TMPFILE | head -n 1 | sed -e 's/<span class="street street-address">//g' | sed -e 's/<\/span>.*//g'`
174    POSTCODE=`grep '<span class="postcode postal-code">' $TMPFILE | head -n 1 | sed -e 's/.*<span class="postcode postal-code">//g' | sed -e 's/<\/span>.*//g'`
175    ORT=`grep '<span class="city locality">' $TMPFILE | head -n 1 | sed -e 's/.*<span class="city locality">//g' | sed -e 's/<\/span>.*//g'`
176    ADDRESSE="$STRASSE~n$POSTCODE $ORT"
177
178    if [ "$NAME" = "" ]; then
179     if grep $SEARCHERR $TMPFILE > $NULL; then
180      NAME="Unbekannt"
181      ADDRESSE=""
182     fi;
183    fi;
184    if [ "$NAME" = "" ]; then
185     NAME="Unbekannt"
186     ADDRESSE=""
187    else
188     #dirty workarround to fix 'new-lines' when multiple caller-ids exist
189     #to make sure only 1 line will be written to cache file
190     #NAME=`printf %s***** $NAME | sed -e "s@\*\*\*\*\*@ @g;"
191     #echo "Name gefunden in Goyellow: " $NAME
192     echo -e
193     echo -e "$NUMMER#$NAME->$ADDRESSE" >> $FRITZCACHE
194     export NAME
195     export ADDRESSE
196    fi;
197   fi;
198fi;
199};
200
201loadFritzBook49 () {
202    echo "Version 49"
203                # Challenge abholen
204                echo "Challenge abholen start"
205                ChallengeXML=`wget -O - "http://$FRITZBOXIP/cgi-bin/webcm?getpage=../html/login_sid.xml" 2>/dev/null| grep Challenge`
206                Challenge=`echo $ChallengeXML | awk '{match($0,/>[^<>]+</); print substr($0,RSTART+1,RLENGTH-2)}'`
207                echo "Challenge abholen ende"
208               
209                Passwd="$FritzPass"
210
211                # login aufbauen und hashen
212                echo "login aufbauen und hashen start"
213                CPSTR="$Challenge-$Passwd"
214                MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/help; md5sum /tmp/help | awk '{print substr($0,1,32)}'`
215                RESPONSE="$Challenge-$MD5"
216                POSTDATA="login:command/response=$RESPONSE&getpage=../html/de/menus/menu2.html"
217                # login senden und SID herausfischen
218                SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/cgi-bin/webcm" 2>/dev/null| grep "name=\"sid\"" | head -n 1 | awk '{match($0,/value="[^"]+"/); print substr($0,RSTART+7,RLENGTH-8)}'`
219                echo "login aufbauen und hashen ende"
220
221                $CURL --data "telcfg:settings/Phonebook/Books/Select=0&getpage=../html/de/menus/menu2.html&var:pagename=fonbuch&sid=$SID&var:menu=fon&var:lang=de" http://$FRITZBOXIP/cgi-bin/webcm  | grep ">TrFon" | sed s/'<script type="text\/javascript">'// | sed s/';<\/script>'// | sed s/'('/'"'/ | sed s/')'/'"'/ > /tmp/curlhelp.tmp
222                while read line
223                    do
224                    art=`echo $line | cut -d'"' -f1`
225                    if [ $art = "TrFonName" ]; then
226                        name=`echo $line | cut -d'"' -f5`
227                    elif [ $art = "TrFonNr" ]; then
228                        nummer=`echo $line | cut -d'"' -f5`
229                        echo "$nummer#$name->" >> $FRITZBUCH 
230                    fi
231                done < /tmp/curlhelp.tmp
232                rm /tmp/curlhelp.tmp
233
234                if [ ! -f $FRITZBUCH ]; then
235                    #testen ob neues Telefonbuch
236                    #$CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua > /tmp/test.curl
237                    $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua | grep "<td class=\"tname\">" | sed s/"<td class=\"tname\">"/"\nfritztele<"/ | sed s/">"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&amp;"/"+"/g > /tmp/curlhelp.tmp
238                    while read line
239                    do
240                        nummer1="0"
241                        nummer2="0"
242                        nummer3="0"
243                        pos1=14
244                        pos2=0
245                        pos3=0
246                        art=`echo $line | cut -d'<' -f1`
247                        if [ $art = "fritztele" ]; then
248                            name=`echo $line | cut -d'<' -f2`
249                            nummer1=`echo $line | cut -d'<' -f8`
250                            help=`echo $line | cut -d'<' -f11`
251                            if [ $help == "br" ]; then
252                                nummer2=`echo $line | cut -d'<' -f14`
253                                pos1=20
254                                pos2=22
255                                help=`echo $line | cut -d'<' -f17`
256                                if [ $help == "br" ]; then
257                                    nummer3=`echo $line | cut -d'<' -f20`
258                                    pos1=26
259                                    pos2=28
260                                    pos3=30
261                                fi
262                            fi
263                            if [ $nummer1 != "0" ]; then
264                                typ=`echo $line | cut -d'<' -f$pos1`
265                                echo "$nummer1#$name->$typ" >> $FRITZBUCH
266                            fi
267                            if [ $nummer2 != "0" ]; then
268                                typ=`echo $line | cut -d'<' -f$pos2`
269                                echo "$nummer2#$name->$typ" >> $FRITZBUCH
270                            fi
271                            if [ $nummer3 != "0" ]; then
272                                typ=`echo $line | cut -d'<' -f$pos3`
273                                echo "$nummer3#$name->$typ" >> $FRITZBUCH
274                            fi
275                        fi
276                    done < /tmp/curlhelp.tmp
277                    rm /tmp/curlhelp.tmp
278                fi
279};
280loadFritzBook50 () {
281    echo "Version 50"
282               
283                Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2`
284                Passwd="$FritzPass"
285                # login aufbauen und hashen
286                echo "login aufbauen und hashen start"
287                CPSTR="$Challenge-$Passwd"
288                MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'`
289                RESPONSE="$Challenge-$MD5"
290
291                POSTDATA="username=$FritzUser&response=$RESPONSE"
292
293                SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null  | grep SID | cut -d"<" -f4 | cut -d">" -f2`
294
295                echo "login aufbauen und hashen ende"
296
297                $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua  > /tmp/curlhelp3.tmp
298
299                BOOKID=`cat /tmp/curlhelp3.tmp | grep '<label for="uiBookid' | grep ritzcall | cut -d: -f2 | cut -d'"' -f1`
300                if [ -z "$BOOKID" ]; then
301                    BOOKID=0
302                fi
303
304                $CURL --data "bookid=$BOOKID&sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua  | grep "<td class=\"tname\" title=" | sed s/'class="tname" '/"\nfritztele<"/g  | sed s/">"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&amp;"/"+"/g  | sed s/"<<a href="//g | sed s/"<\/a<"//g | sed s/"+49"/"0"/g > /tmp/curlhelp3.tmp
305
306                while read line
307                    do
308                        nummer1="0"
309                        nummer2="0"
310                        nummer3="0"
311                        nummer4="0"
312                        pos1=11
313                        pos2=0
314                        pos3=0
315                        art=`echo $line | cut -d'<' -f1`
316                        if [ ! -z $art ] && [ $art = "fritztele" ]; then
317                            name=`echo $line | cut -d'<' -f2 | sed s/"title="//g`
318                            nummer1=`echo $line | cut -d'<' -f7 | sed s/" "//g`
319                            help=`echo $line | cut -d'<' -f8 | cut -c 1-2`
320                            if [ $help = "br" ]; then
321                                nummer2=`echo $line | cut -d'<' -f9 | sed s/" "//g`
322                                pos1=13
323                                pos2=15
324                                help=`echo $line | cut -d'<' -f10 | cut -c 1-2`
325                                if [ $help = "br" ]; then
326                                    nummer3=`echo $line | cut -d'<' -f11 | sed s/" "//g`
327                                    pos1=15
328                                    pos2=17
329                                    pos3=19
330                                    help=`echo $line | cut -d'<' -f12 | cut -c 1-2`
331                                    if [ $help = "br" ]; then
332                                        nummer4=`echo $line | cut -d'<' -f13 | sed s/" "//g`
333                                        pos1=17
334                                        pos2=19
335                                        pos3=21
336                                        pos4=23
337                                    fi
338                                fi
339                            fi
340                            if [ $nummer1 != "0" ]; then
341                                typ=`echo $line | cut -d'<' -f$pos1`
342                                echo "$nummer1#$name->$typ" >> $FRITZBUCH
343                            fi
344                            if [ $nummer2 != "0" ]; then
345                                typ=`echo $line | cut -d'<' -f$pos2`
346                                echo "$nummer2#$name->$typ" >> $FRITZBUCH
347                            fi
348                            if [ $nummer3 != "0" ]; then
349                                typ=`echo $line | cut -d'<' -f$pos3`
350                                echo "$nummer3#$name->$typ" >> $FRITZBUCH
351                            fi
352                            if [ $nummer4 != "0" ]; then
353                                typ=`echo $line | cut -d'<' -f$pos4`
354                                echo "$nummer4#$name->$typ" >> $FRITZBUCH
355                            fi
356                        fi
357                    done < /tmp/curlhelp3.tmp
358                    rm /tmp/curlhelp3.tmp
359};
360loadFritzBook60 () {
361    echo "Version 60"
362               
363                Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2`
364                Passwd="$FritzPass"
365                # login aufbauen und hashen
366                echo "login aufbauen und hashen start"
367                CPSTR="$Challenge-$Passwd"
368                MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'`
369                RESPONSE="$Challenge-$MD5"
370
371                POSTDATA="username=$FritzUser&response=$RESPONSE"
372
373                SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null  | grep SID | cut -d"<" -f4 | cut -d">" -f2`
374
375                echo "login aufbauen und hashen ende"
376
377                $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua  > /tmp/curlhelp6.tmp
378
379                BOOKID=`cat /tmp/curlhelp6.tmp | grep ' checked id="uiBookid' | cut -d: -f2 | cut -d'"' -f1`
380                if [ -z "$BOOKID" ]; then
381                    BOOKID=0
382                else
383                    echo "BookID: $BOOKID"
384                fi
385       
386                #$CURL --data "bookid=$BOOKID&sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua | grep "<td class=\"tname\" title=" | sed s/'class="tname" '/"\nfritztele<"/g  | sed s/">"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&amp;"/"+"/g  | sed s/"<<a href="//g | sed s/"<\/a<"//g > /tmp/curlhelp3.tmp
387                $CURL --data "bookid=$BOOKID&sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua | grep "<td class=\"tname\" title=" | sed s/'class="tname" '/"\nfritztele<"/g | sed s/">"/"<"/g | sed s/"<<"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&amp;"/"+"/g | sed s/"<a href="//g | sed s/"<\/a"//g | sed s/"+49"/"0"/g > /tmp/curlhelp6.tmp
388           
389                while read line
390                    do
391                        nummer1="0"
392                        nummer2="0"
393                        nummer3="0"
394                        nummer4="0"
395                        nummer5="0"
396                        nummer6="0"
397                        pos1=10
398                        pos2=0
399                        pos3=0
400                        art=`echo $line | cut -d'<' -f1`
401                        if [ ! -z $art ] && [ $art = "fritztele" ]; then
402                            name=`echo $line | cut -d'<' -f2 | sed s/"title="//g`
403                            nummer1=`echo $line | cut -d'<' -f7 | sed s/" "//g`
404                            help=`echo $line | cut -d'<' -f8`
405                            if [ $help = "br" ]; then
406                                nummer2=`echo $line | cut -d'<' -f10 | sed s/" "//g`
407                                pos1=13
408                                pos2=15
409                                help=`echo $line | cut -d'<' -f11`
410                                if [ $help = "br" ]; then
411                                    nummer3=`echo $line | cut -d'<' -f13 | sed s/" "//g`
412                                    pos1=16
413                                    pos2=18
414                                    pos3=20
415                                    help=`echo $line | cut -d'<' -f14`
416                                    if [ $help = "br" ]; then
417                                        nummer4=`echo $line | cut -d'<' -f16 | sed s/" "//g`
418                                        pos1=19
419                                        pos2=21
420                                        pos3=23
421                                        pos4=25
422                                        help=`echo $line | cut -d'<' -f17`
423                                        if [ $help = "br" ]; then
424                                            nummer5=`echo $line | cut -d'<' -f19 | sed s/" "//g`
425                                            pos1=22
426                                            pos2=24
427                                            pos3=26
428                                            pos4=28
429                                            pos5=30
430                                            help=`echo $line | cut -d'<' -f20`
431                                            if [ $help = "br" ]; then
432                                                nummer6=`echo $line | cut -d'<' -f22 | sed s/" "//g`
433                                                pos1=25
434                                                pos2=27
435                                                pos3=29
436                                                pos4=31
437                                                pos5=33
438                                                pos6=35
439                                            fi
440                                        fi
441                                    fi
442                                fi
443                            fi
444                            if [ $nummer1 != "0" ]; then
445                                typ=`echo $line | cut -d'<' -f$pos1`
446                                echo "$nummer1#$name->$typ" >> $FRITZBUCH
447                            fi
448                            if [ $nummer2 != "0" ]; then
449                                typ=`echo $line | cut -d'<' -f$pos2`
450                                echo "$nummer2#$name->$typ" >> $FRITZBUCH
451                            fi
452                            if [ $nummer3 != "0" ]; then
453                                typ=`echo $line | cut -d'<' -f$pos3`
454                                echo "$nummer3#$name->$typ" >> $FRITZBUCH
455                            fi
456                            if [ $nummer4 != "0" ]; then
457                                typ=`echo $line | cut -d'<' -f$pos4`
458                                echo "$nummer4#$name->$typ" >> $FRITZBUCH
459                            fi
460                            if [ $nummer5 != "0" ]; then
461                                typ=`echo $line | cut -d'<' -f$pos3`
462                                echo "$nummer5#$name->$typ" >> $FRITZBUCH
463                            fi
464                            if [ $nummer6 != "0" ]; then
465                                typ=`echo $line | cut -d'<' -f$pos4`
466                                echo "$nummer6#$name->$typ" >> $FRITZBUCH
467                            fi
468                        fi
469                    done < /tmp/curlhelp6.tmp
470                    rm /tmp/curlhelp6.tmp   
471};
472
473loadFritzBook () {
474 if [ $usePhoneBook = "1" ]; then
475        #rm $FRITZBUCH
476        if [ ! -f $FRITZBUCH ]; then
477            echo "FritzBook new"
478           
479            loadFritzBook60
480            if [ ! -f $FRITZBUCH ]; then
481                    loadFritzBook50
482            fi
483            if [ ! -f $FRITZBUCH ]; then
484                    loadFritzBook49
485            fi
486            if [ ! -f $FRITZBUCH ]; then
487                echo "Error loadFritzBook"
488            fi
489        fi
490    fi 
491
492};
493#-------------------------------------------------------------------------------
494#Script has been initiated with parameters
495#(START,RING,CALL,DISCONNECT,CONNECT,STOP,SORTNAME,SORTNUMBER,TEST,CLEANUP)
496
497timeout=14
498while [ -e /tmp/callrun ]; do
499    if [ $timeout != "0" ]; then
500        timeout=$(($timeout-1))
501        sleep 1
502    else
503        break
504    fi
505done
506
507touch /tmp/callrun
508
509timeout=14
510while [ -e /tmp/xmessage ]; do
511    if [ $timeout != "0" ]; then
512        timeout=$(($timeout-1))
513        sleep 1
514    else
515        break
516    fi
517done
518
519case $1 in
520  START|start)
521  echo
522  echo "------------------------------------"
523  echo "Fritzbox Callmonitor" $Version "gestartet"
524  echo "---Folgende Optionen sind gesetzt---"
525  echo "Debugmodus: " $debug
526  echo "Ueberwachte Rufnummern: " $Ziel " und " $Ziel_2
527  echo "Alle Rufnummern ueberwachen: " $Alle
528  echo "Eingehende Anrufe ueberwachen: " $monRing
529  echo "Ausgehende Anrufe ueberwachen: " $monCall
530  echo "Verbindungsende ueberwachen: " $monDisconnect
531  echo "IP Adresse der TV-Box: " $ip
532  echo "Anzeigetimeout: " $anzeigetimeout
533  echo "Anzeigewennaus: " $anzeigewennaus
534  #echo "Übersichtsseite: " $uebersichtsseite
535  echo "Fritzbox Telefonbuch: " $usePhoneBook
536  echo "------------------------------------"
537  echo "**************************************"
538  echo "loadFritzBook start"
539  loadFritzBook
540  echo "loadFritzBook ende"
541  if [ $debug = 0 ]; then
542     #wget -T 1 -q -O /dev/null "http://$ip/cgi-bin/xmessage?caption=Skript%20gestartet&body=FritzBox!%20Callmonitor%20gestartet&timeout=3"
543     $CURL "http://$ip/cgi-bin/xmessage?caption=Skript%20gestartet&body=FritzBox!%20Callmonitor%20gestartet&timeout=3" -o /dev/null
544     (touch /tmp/xmessage; sleep 4; rm  /tmp/xmessage) &
545  fi
546  #very tricky line to get data from FritzBox! using netcat and divide it using
547  #awk. Only make changes to this line if you completely understand it!
548  #Make sure the next line end with a trailing '&' or your dreambox will hang!
549    #tail -f < /dev/null|./nc $FRITZBOXIP $TELDPORT|awk -F";" '{if ($4==""){$4="Unbekannt"} system (ENVIRON ["SCRIPT"] " "$2" "$1" "$3" "$4" "$5" "$6" "$7 )}' &
550    echo "tail start"
551    tail -f < /dev/null|$NC $FRITZBOXIP $TELDPORT|awk -F";" '{if ($4==""){$4="Unbekannt"} system (ENVIRON ["SCRIPT"] " "$2" "$1" "$3" "$4" "$5" "$6" "$7 )}' &
552    echo "Ende"
553     ;;
554  RING)
555    mysearch $5
556    echo $2" "$3" Ankommend: von "$5" auf "$6"und hier noch wert 7 "$7 
557    #title of messagebox
558    c=">>>> Anruf ankommend <<<<"
559    #prepare text
560    #UH20100110
561        fuer=$6
562    if [ "$6" = "4711" ]
563       then fuer="Name1"
564#       elif [ "$6" = "MSN2" ]
565#          then fuer="Name2"
566    fi
567
568#    b=" Anruf von "$5"~n~n "$NAME"~n "$ADDRESSE"~n für "$6
569    b=" Anruf von "$5"~n~n "$NAME"~n "$ADDRESSE"~n~n~n für "$fuer
570
571    b1=`echo $b               | sed -e '{s/4711/Name1/g;s/MSN2/Name2/g;s/MSN3/Name3/g;s/SIP0/VOIP0/g;s/SIP1/VOIP1/g;s/SIP2/VOIP2/g;}'` 
572#    b1=`echo $b               | sed -e '{s/4711/Name1/g;s/MSN2/Name2/g;s/MSN3/Name3/g;s/SIP0/VOIP0/g;s/SIP1/VOIP1/g;s/SIP2/VOIP2/g;}'`
573    #Wert in Logb zwischenspeichern für TMPRING
574    logb=`echo $b1            | sed -e '{s/~n//g;}'` 
575
576    b1=`echo $b1              | sed -e '{s/ /%20/g;s/Ä/%C3%84/g;s/Ö/%C3%96/g;s/Ü/%C3%9C/g;s/ä/%C3%A4/g;s/ö/%C3%B6/g;s/ü/%C3%BC/g;s/á/ss/g;s/&/%26/g;s/~n/%0a/g;s/#/%20/g;}'`
577    c1=`echo $c               | sed -e '{s/ /%20/g;s/Ä/%C3%84/g;s/Ö/%C3%96/g;s/Ü/%C3%9C/g;s/ä/%C3%A4/g;s/ö/%C3%B6/g;s/ü/%C3%BC/g;s/á/ss/g;s/&/%26/g;s/~n/%0a/g;s/#/%20/g;}'`
578    #Eingehende Anrufe anzeigen?
579    if [ $monRing = 1 ]; then
580      #Welche Rufnummern sollen überwacht werden?
581      if [ $6 = $Ziel -o $6 = $Ziel_2 -o $Alle = 1 ] ; then
582        #wget -O- http://$loginname:$passwort@$ip/xml/boxstatus > $TMPSTATUS
583        #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
584        $CURL http://$ip/query?boxstatus > $TMPSTATUS
585        #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
586        STANDBY=`grep "standby" $TMPSTATUS| wc -l`
587        #STANDBY=0
588        echo "Standbystatus: $STANDBY"
589          if [ $STANDBY = 0 ]; then
590            if [ $debug = 0 ]; then 
591              if [ $muteRing = 1 ]; then #wenn Option gesetzt ist dann wird der Ton abgeschaltet
592                #wget -O- http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
593                #mute=`grep "mute" $TMPSTATUS| head -n 1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
594                #if [ $mute = 0 ]; then
595                  #wget -q -O /dev/null "http://@$ip/query?sendrc&rcmute"  >> $NULL #Befehl für Tonsperre
596                    $CURL http://$ip/query?mutestatus > $TMPSTATUS
597                                mute=`grep "muteon" $TMPSTATUS| wc -l`
598                                if [ $mute = 0 ]; then
599                        $CURL "http://@$ip/query?sendrc&rcmute"  >> $NULL #Befehl für Tonsperre
600                    fi
601                #fi
602              fi
603              #wget -q -O /dev/null "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout"  >> $NULL
604                $CURL "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout"  >> $NULL
605                (touch /tmp/xmessage; sleep $anzeigetimeout; rm  /tmp/xmessage) &
606            fi 
607          else
608            echo "Dreambox ist im Standby"
609            if [ $anzeigewennaus = 1 ]; then #wenn die Box im Standby ist und die Option gesetzt ist dann wird nach dem einschalten der Box die Meldung angezeigt
610              echo "Meldung wird wenn debug 0 ist trotzdem angezeigt da -anzeigewennaus- 1 ist"
611              #wenn die Leitung überwacht wird dann den Anruf erst einmal in TMPRING schreiben und TMPINCOMING schreiben
612              if [ $uebersichtsseite = 1 ]; then
613                echo "Anruf wird für Übersichtsseite gespeichert"
614              if [ -f $TMPRING ];     then
615                  echo "TMPRING gibt es schon neu "
616                  echo "<shell name=\"von $5 $NAME\" shortcut=\"\" help=\"$2 $3\"><sh></sh></shell>
617<line name=\"$ADDRESSE\" />
618<line name=\"für $6\" />
619<separator />" >>$TMPRING
620               else
621                  echo "TMPRING gibt es noch nicht"         
622                  echo "<menu name=\"Verpasste Anrufe\">
623<shell name=\"von $5 $NAME\" shortcut=\"\" help=\"$2 $3\"><sh></sh></shell>     
624<line name=\"$ADDRESSE\" />
625<line name=\"für $6\" />
626<separator />" >$TMPRING
627                fi
628                  echo "nach der Abfrage ob es TMPring schon gibt"
629                  echo "1" > $TMPINCOMING
630              else
631                if [ $debug = 0 ]; then     
632                  echo "Meldung wird nach dem einschalten der Box angezeigt"
633                  #wget -q -O /dev/null "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout"  >> $NULL
634                  $CURL "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout"  >> $NULL
635                  (touch /tmp/xmessage; sleep $anzeigetimeout; rm  /tmp/xmessage) &
636                fi
637              fi 
638            fi
639          fi
640      fi
641    fi   
642   
643    if [ -f $TMPSTATUS ];     then  rm $TMPSTATUS; fi
644    if [ -f $TMPFILE ];     then  rm $TMPFILE; fi
645    ;;
646  CALL)
647    mysearch $7
648    echo $2" "$3" Ausgehend: von "$6" auf "$7
649      #title of messagebox
650      c="<<<< Anruf abgehend >>>>"
651      #prepare text
652      #UH20100110
653      if [ "$6" = "4711" ]
654         then von=`echo $6               | sed -e '{s/4711/Name1/g;}'`
655#         elif [ "$6" = "4712" ]
656#            then von=`echo $6               | sed -e '{s/4712/MSN2/g;}'`
657      fi
658
659#      b=" Anruf von "$6"~n~n für "$7"~n~n "$NAME"~n "$ADDRESSE
660      b=" Anruf von "$von"~n~n~n für "$7"~n~n "$NAME"~n "$ADDRESSE
661
662      b1=`echo $b               | sed -e '{s/MSN1/Name1/g;s/MSN2/Name2/g;s/MSN3/Name3/g;s/SIP0/VOIP0/g;s/SIP1/VOIP1/g;s/SIP2/VOIP2/g;}'` 
663#      b1=`echo $b               | sed -e '{s/MSN1/Name1/g;s/MSN2/Name2/g;s/MSN3/Name3/g;s/SIP0/VOIP0/g;s/SIP1/VOIP1/g;s/SIP2/VOIP2/g;}'`
664
665      b1=`echo $b1              | sed -e '{s/ /%20/g;s/Ä/%C3%84/g;s/Ö/%C3%96/g;s/Ü/%C3%9C/g;s/ä/%C3%A4/g;s/ö/%C3%B6/g;s/ü/%C3%BC/g;s/á/ss/g;s/&/%26/g;s/~n/%0a/g;s/#/%20/g;}'`
666      c1=`echo $c               | sed -e '{s/ /%20/g;s/Ä/%C3%84/g;s/Ö/%C3%96/g;s/Ü/%C3%9C/g;s/ä/%C3%A4/g;s/ö/%C3%B6/g;s/ü/%C3%BC/g;s/á/ss/g;s/&/%26/g;s/~n/%0a/g;s/#/%20/g;}'`
667      #tempfile schreiben für Übersicht
668     
669      #Ausgehende Anrufe anzeigen?
670      if [ $monCall = 1 ]; then
671        #Welche Rufnummern sollen überwacht werden?
672        if [ $6 = $Ziel -o $6 = $Ziel_2 -o $Alle = 1 ] ; then
673          echo "Diese Rufnummer wird überwacht"
674          #wget -O- http://$loginname:$passwort@$ip/xml/boxstatus > $TMPSTATUS
675          #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
676          $CURL http://$ip/query?boxstatus > $TMPSTATUS
677          #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
678          STANDBY=`grep "standby" $TMPSTATUS| wc -l`
679          STANDBY=0
680          echo "Standbystatus: $STANDBY"
681          if [ $STANDBY = 0 ]; then
682            echo "Wenn debug noch 0 ist wird die Meldung angezeigt"
683            if [ $debug = 0 ]; then
684              #wget -q -O /dev/null "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout"  >> $NULL
685              $CURL "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout"  >> $NULL
686              (touch /tmp/xmessage; sleep $anzeigetimeout; rm  /tmp/xmessage) &
687            fi
688          else
689            echo "Dreambox ist im Standby"
690            if [ $anzeigewennaus = 1 ]; then
691              echo "Meldung wird wenn debug 0 ist trotzdem angezeigt da -anzeigewennaus- 1 ist"
692              if [ $debug = 0 ]; then     
693                echo "Meldung wird nach dem einschalten der Box angezeigt"
694                #wget -q -O /dev/null "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout"  >> $NULL
695                $CURL "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout"  >> $NULL
696                (touch /tmp/xmessage; sleep $anzeigetimeout; rm  /tmp/xmessage) &
697              fi
698            fi 
699          fi 
700        fi
701      fi
702      if [ -f $TMPSTATUS ];     then  rm $TMPSTATUS; fi
703      if [ -f $TMPFILE ];     then  rm $TMPFILE; fi
704      ;;
705 
706  DISCONNECT)
707  #wget -O- http://$loginname:$passwort@$ip/xml/boxstatus > $TMPSTATUS
708  #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
709  $CURL http://$ip/query?boxstatus > $TMPSTATUS
710  #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
711  STANDBY=`grep "standby" $TMPSTATUS| wc -l`
712  if [ $STANDBY = 0 ]; then
713    if [ $muteRing = 1 ]; then #wenn Option gesetzt ist dann wird der Ton abgeschaltet
714        $CURL http://$ip/query?mutestatus > $TMPSTATUS
715        mute=`grep "muteon" $TMPSTATUS| wc -l`
716        if [ $mute = 1 ]; then
717            $CURL "http://@$ip/query?sendrc&rcmute"  >> $NULL   
718        fi
719      #wget -O- http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
720      #$CURL http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
721      #'mute=`grep "mute" $TMPSTATUS| head -n 1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
722      #if [ $mute = 1 ]; then
723        #wget -q -O /dev/null "http://$loginname:$passwort@$ip/cgi-bin/rc?113"  >> $NULL #Befehl für Tonsperre
724        #$CURL "http://$loginname:$passwort@$ip/cgi-bin/rc?113"  >> $NULL #Befehl für Tonsperre
725      #fi
726    fi
727  fi 
728     h=$(($5/3600))                        #get hours from   $5
729     m=$(($5%3600/60))                     #get minutes from $5
730     s=$((($5%3600)%60))                   #get seconds from $5
731     if [ $h -lt 10 ]; then h="0"$h; fi    #add leading 0 if needed
732     if [ $m -lt 10 ]; then m="0"$m; fi    #add leading 0 if needed
733     if [ $s -lt 10 ]; then s="0"$s; fi    #add leading 0 if needed
734     #title of messagebox
735     c="-- Anrufauswertung --"
736     #prepare text
737     b="~n Aufgelegt nach "$5" Sekunden Dauer (hh:mm:ss): "$h":"$m":"$s"~n"
738     
739     #Beenden eines Anrufes anzeigen?
740     if [ $monDisconnect = 1 ]; then 
741          if [ $debug = 0 ]; then
742          #generate the messagebox
743          b1=`echo $b               | sed -e '{s/ /%20/g;s/Ä/%C3%84/g;s/Ö/%C3%96/g;s/Ü/%C3%9C/g;s/ä/%C3%A4/g;s/ö/%C3%B6/g;s/ü/%C3%BC/g;s/á/ss/g;s/&/%26/g;s/~n/%0a/g;s/#/%20/g;}'`
744          c1=`echo $c               | sed -e '{s/ /%20/g;s/Ä/%C3%84/g;s/Ö/%C3%96/g;s/Ü/%C3%9C/g;s/ä/%C3%A4/g;s/ö/%C3%B6/g;s/ü/%C3%BC/g;s/á/ss/g;s/&/%26/g;s/~n/%0a/g;s/#/%20/g;}'`
745          echo "Disconnect"
746          if [ $STANDBY = 0 ]; then
747           #wget -q -O /dev/null "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout"          >> $NULL
748           $CURL -q -O /dev/null "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout"          >> $NULL
749           (touch /tmp/xmessage; sleep $anzeigetimeout; rm  /tmp/xmessage) &
750          fi
751         fi
752     fi 
753     if [ -f $TMPSTATUS ];     then  rm $TMPSTATUS; fi
754     if [ -f $TMPINCOMING ];     then  rm $TMPINCOMING; fi
755     ;;
756  CONNECT)
757    echo "connect ist jetzt aktiv - verbunden"
758    #kontrollieren ob dieses ein eingehender Anruf war
759    if [ -f $TMPINCOMING ];     then 
760    eingehend=`grep "1" $TMPINCOMING| head -n 1`
761    else 
762    eingehend="0"
763    fi
764    #wenn das ein eingehender anruf war dann letzten Zeilen löschen da der Anruf angenommen wurde
765    if [ $eingehend = 1 ]; then 
766      if [ -f $TMPRING ];     then  sed -i '$D' $TMPRING; fi
767      if [ -f $TMPRING ];     then  sed -i '$D' $TMPRING; fi
768      if [ -f $TMPRING ];     then  sed -i '$D' $TMPRING; fi
769      if [ -f $TMPRING ];     then  sed -i '$D' $TMPRING; fi
770       
771      if [ -f $TMPINCOMING ];     then  rm $TMPINCOMING; fi
772    fi
773     ;;
774  SORTNAME|sortname)
775    #convert $FRITZCACHE to unix format
776    unix2dos -u  $FRITZCACHE
777    #convert $FRITZCACHE to upper case
778    awk -F '#' '{print toupper($2)"#"$1"#"$2}' $FRITZCACHE|sort $2>$FRITZCACHE"_sort"
779    #sort $FRITZCACHE
780    awk -F '#' '{print $2"#"$3}' $FRITZCACHE"_sort" > $FRITZCACHE
781     ;;
782  SORTNUMBER|sortnumber)
783    #sort FRITZCACHE by telephone number
784    sort $FRITZCACHE $2 > $FRITZCACHE"_sort"
785    mv $FRITZCACHE"_sort" $FRITZCACHE
786    ;;
787  CLEANUP|cleanup)                       #cleanup (removes all files)
788     echo "deleting $TMPFILE (if exists)"
789     if [ -f $TMPFILE ];     then  rm $TMPFILE; fi
790     echo "deleting $FRITZCACHE (if exists)"
791     if [ -f $FRITZCACHE ];   then  rm $FRITZCACHE; fi
792     echo "deleting $FRITZBUCH (if exists)"
793     if [ -f $FRITZBUCH ];   then  rm $FRITZBUCH; fi
794     ;;
795  STOP1|stop1)
796     #kill all processes we spawned
797     #hopefully only a single tail task is running so we kill it :)
798     pid=`ps | grep "tail.-f"| grep -v grep | awk '{print $1}'`
799     if [ "X${pid}" != "X" ] ; then
800        kill -9 ${pid}
801     fi
802     pid=`ps |grep "Unbekannt" | grep -v grep | awk '{print $1}'`
803     if [ "X${pid}" != "X" ] ; then
804        kill -9 ${pid}
805     fi
806     pid=`ps |grep ".*nc.*$TELDPORT" | grep -v grep | awk '{print $1}'`
807     if [ "X${pid}" != "X" ] ; then
808        kill -9 ${pid}
809     fi
810     pid=`ps |grep $SCRIPT | grep -v grep | awk '{print $1}'`
811     if [ "X${pid}" != "X" ] ; then
812        kill -9 ${pid}
813     fi
814     ;;
815    STOP|stop)
816     #STOP1 (alt STOP) bewirkt hier nichts!
817     #tail zu killen reicht, um die anderen auch zu entfernen :)
818     pid=`ps | grep "tail*"| grep -v grep | awk '{print $1}'`
819     if [ "X${pid}" != "X" ] ; then
820        kill -9 ${pid}
821     fi
822     #fals noch ein 2. läuft :-)
823     pid=`ps | grep "tail*"| grep -v grep | awk '{print $1}'`
824     if [ "X${pid}" != "X" ] ; then
825        kill -9 ${pid}
826     fi 
827     ;;
828  SHOW|show)
829  sleep 10     
830  if [ -f $TMPRING ];     then
831    eintragvorhanden=`grep "von" $TMPRING| head -n 1`
832    echo "Es ist ein Eintrag in TMPRING vorhanden"
833    if [ "$eintragvorhanden" = "" ]; then
834      echo "kein Eintrag in TMPRING"
835      rm $TMPRING
836    else
837      echo "</menu>" >>$TMPRING
838      ebox exit; exit=`opexec --width=580 --height=400 --xmlpath="$TMPRING"`
839      rm $TMPRING
840      #sed -i '$D' $TMPRING #falls die Datei nicht gelöscht werden soll muss man die letzte Zeile in der Datei löschen
841    fi 
842  else
843    echo "Die Datei TMPRING existiert nicht" 
844  fi
845  ;;
846 
847  TEST|test)
848        loadFritzBook
849      echo "Testing the script: "$0
850      mysearch "$2"
851      echo "Searching for phone number: "$2" resulted in: "$NAME
852      #wget -O- http://$loginname:$passwort@$ip/xml/boxstatus > $TMPSTATUS
853      #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
854      $CURL http://$ip/query?boxstatus > $TMPSTATUS
855      #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
856      STANDBY=`grep "standby" $TMPSTATUS| wc -l`
857      STANDBY=0
858      echo "Standbystatus: $STANDBY"
859      p="$NAME    "
860      p20=`echo $p               | sed -e '{s/ /%20/g;s/Ä/%C3%84/g;s/Ö/%C3%96/g;s/Ü/%C3%9C/g;s/ä/%C3%A4/g;s/ö/%C3%B6/g;s/ü/%C3%BC/g;s/á/ss/g;s/&/%26/g;s/~n/%0a/g;s/#/%20/g;}'`
861      t20=`echo $t               | sed -e '{s/ /%20/g;s/Ä/%C3%84/g;s/Ö/%C3%96/g;s/Ü/%C3%9C/g;s/ä/%C3%A4/g;s/ö/%C3%B6/g;s/ü/%C3%BC/g;s/á/ss/g;s/&/%26/g;s/~n/%0a/g;s/#/%20/g;}'`
862      ADDRESSE20=`echo $ADDRESSE | sed -e '{s/ /%20/g;s/Ä/%C3%84/g;s/Ö/%C3%96/g;s/Ü/%C3%9C/g;s/ä/%C3%A4/g;s/ö/%C3%B6/g;s/ü/%C3%BC/g;s/á/ss/g;s/&/%26/g;s/~n/%0a/g;s/#/%20/g;}'`
863      if [ $STANDBY = 0 ]; then
864        if [ $debug = 0 ]; then
865          if [ $muteRing = 1 ]; then #wenn Option gesetzt ist dann wird der Ton abgeschaltet
866            #wget -O- http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
867            #mute=`grep "mute" $TMPSTATUS| head -n 1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
868            #if [ $mute = 0 ]; then
869                #wget -q -O /dev/null "http://$ip/query?sendrc&rcmute"  >> $NULL #Befehl für Tonsperre
870                $CURL "http://$ip/query?sendrc&rcmute"  >> $NULL #Befehl für Tonsperre
871            #fi   
872          fi
873          #wget -q -O /dev/null "http://$ip/cgi-bin/xmessage?caption=Test%20des%20Scripts&body=Ergebnis:%0a$p20%0a${ADDRESSE20}&timeout=$anzeigetimeout"          >> $NULL
874          $CURL "http://$ip/cgi-bin/xmessage?caption=Test%20des%20Scripts&body=Ergebnis:%0a$p20%0a${ADDRESSE20}&timeout=$anzeigetimeout"          >> $NULL
875          (touch /tmp/xmessage; sleep $anzeigetimeout; rm  /tmp/xmessage) &
876        fi
877      else
878        if [ $anzeigewennaus = 1 ]; then
879          if [ $debug = 0 ]; then
880           #wget -q -O /dev/null "http://$ip/cgi-bin/xmessage?caption=Test%20des%20Scripts&body=Ergebnis:%0a$p20%0a${ADDRESSE20}&timeout=$anzeigetimeout"          >> $NULL
881           $CURL "http://$ip/cgi-bin/xmessage?caption=Test%20des%20Scripts&body=Ergebnis:%0a$p20%0a${ADDRESSE20}&timeout=$anzeigetimeout"          >> $NULL
882          (touch /tmp/xmessage; sleep $anzeigetimeout; rm  /tmp/xmessage) & 
883          fi 
884        else
885          echo "Keine Anzeige da die Box aus ist und -anzeigewennaus- 0 ist"
886        fi
887      fi
888      if [ -f $TMPFILE ];     then  rm $TMPFILE; fi
889      if [ -f $TMPSTATUS ];     then  rm $TMPSTATUS; fi
890  ;; 
891  loadPhoneBook|loadphonebook)
892    if [ -f $FRITZBUCH ]; then
893        rm $FRITZBUCH
894    fi
895    loadFritzBook
896        if [ -f $FRITZBUCH ]; then
897        cat $FRITZBUCH
898                $CURL "http://$ip/cgi-bin/xmessage?caption=FritzBook%20geladen&body=FritzBox!%20Telefonbuch%20geladen&timeout=5" -o /dev/null
899                (touch /tmp/xmessage; sleep 5; rm  /tmp/xmessage) &
900          else
901                $CURL "http://$ip/cgi-bin/xmessage?caption=Fehler%20beim%20laden&body=FritzBox!%20Telefonbuch%20konnte%20nicht%20geladen%20werden&timeout=5" -o /dev/null
902                (touch /tmp/xmessage; sleep 5; rm  /tmp/xmessage) &
903    fi
904  ;;
905esac
906
907rm /tmp/callrun
Note: See TracBrowser for help on using the repository browser.