Changeset 37173 for ipk


Ignore:
Timestamp:
02/17/16 12:28:35 (6 years ago)
Author:
karlo
Message:

fix callmon for >=06.30

Location:
ipk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • ipk/source.mipsel/tools_callmonitor/_path_/usr/local/share/titan/plugins/callmonitor1/fritzbox_msg_new.sh

    r36911 r37173  
    3131#Options---start----------------------------------------------------------------
    3232#
    33 Version=v2.00                                   #Zur Versionsanzeige im telnet
     33Version=v2.60                                   #Zur Versionsanzeige im telnet
    3434debug=0                                                         #wenn debug auf 1 steht wird am TV nichts angezeigt
    3535##Ziel=4711                                                     #bitte Rufnummer eintragen die Überwacht werden soll
     
    162162    #extract caller-id from online result
    163163    #UH20100112
    164 #    NAME=`grep $SEARCHPDETAIL $TMPFILE | head -1 | sed -e "/</{; :loop; s/<[^<]*>//g; /</{; N; b loop; }; };"`
    165 #    ADDRESSE=`grep "address" $TMPFILE| head -1`
     164#    NAME=`grep $SEARCHPDETAIL $TMPFILE | head -n 1 | sed -e "/</{; :loop; s/<[^<]*>//g; /</{; N; b loop; }; };"`
     165#    ADDRESSE=`grep "address" $TMPFILE| head -n 1`
    166166#    ADDRESSE=`echo $ADDRESSE | sed 's/<[^>]*>/ /g'`
    167167
    168     NAME=`grep $SEARCHPDETAIL $TMPFILE | head -1 | sed -e 's/.*Detailinformationen zu //g' | sed -e 's/ in .*//g'`
    169     STRASSE=`grep '<span class="street street-address">' $TMPFILE | head -1 | sed -e 's/<span class="street street-address">//g' | sed -e 's/<\/span>.*//g'`
    170     POSTCODE=`grep '<span class="postcode postal-code">' $TMPFILE | head -1 | sed -e 's/.*<span class="postcode postal-code">//g' | sed -e 's/<\/span>.*//g'`
    171     ORT=`grep '<span class="city locality">' $TMPFILE | head -1 | sed -e 's/.*<span class="city locality">//g' | sed -e 's/<\/span>.*//g'`
     168    NAME=`grep $SEARCHPDETAIL $TMPFILE | head -n 1 | sed -e 's/.*Detailinformationen zu //g' | sed -e 's/ in .*//g'`
     169    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'`
     170    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'`
     171    ORT=`grep '<span class="city locality">' $TMPFILE | head -n 1 | sed -e 's/.*<span class="city locality">//g' | sed -e 's/<\/span>.*//g'`
    172172    ADDRESSE="$STRASSE~n$POSTCODE $ORT"
    173173
     
    199199                #rm $FRITZBUCH
    200200                if [ ! -f $FRITZBUCH ]; then
    201                  
    202                  if [ -z $FritzVersion ] || [ $FritzVersion -lt 50 ]; then
    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"
     201                        echo "FritzBook new"
    208202                       
    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 -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
     203                        if [ -z $FritzVersion ] || [ $FritzVersion -lt 50 ]; then
     204                                # Challenge abholen
     205                                echo "Challenge abholen start"
     206                                ChallengeXML=`wget -O - "http://$FRITZBOXIP/cgi-bin/webcm?getpage=../html/login_sid.xml" 2>/dev/null| grep Challenge`
     207                                Challenge=`echo $ChallengeXML | awk '{match($0,/>[^<>]+</); print substr($0,RSTART+1,RLENGTH-2)}'`
     208                                echo "Challenge abholen ende"
     209                               
     210                                Passwd="$FritzPass"
     211
     212                                # login aufbauen und hashen
     213                                echo "login aufbauen und hashen start"
     214                                CPSTR="$Challenge-$Passwd"
     215                                MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/help; md5sum /tmp/help | awk '{print substr($0,1,32)}'`
     216                                RESPONSE="$Challenge-$MD5"
     217                                POSTDATA="login:command/response=$RESPONSE&getpage=../html/de/menus/menu2.html"
     218                                # login senden und SID herausfischen
     219                                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)}'`
     220                                echo "login aufbauen und hashen ende"
     221
     222                                $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
    238223                                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
     224                                        do
     225                                        art=`echo $line | cut -d'"' -f1`
     226                                        if [ $art = "TrFonName" ]; then
     227                                                name=`echo $line | cut -d'"' -f5`
     228                                        elif [ $art = "TrFonNr" ]; then
     229                                                nummer=`echo $line | cut -d'"' -f5`
     230                                                echo "$nummer#$name->" >> $FRITZBUCH
    275231                                        fi
    276232                                done < /tmp/curlhelp.tmp
    277233                                rm /tmp/curlhelp.tmp
    278                         fi
     234
     235                                if [ ! -f $FRITZBUCH ]; then
     236                                        #testen ob neues Telefonbuch
     237                                        #$CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua > /tmp/test.curl
     238                                        $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
     239                                        while read line
     240                                        do
     241                                                nummer1="0"
     242                                                nummer2="0"
     243                                                nummer3="0"
     244                                                pos1=14
     245                                                pos2=0
     246                                                pos3=0
     247                                                art=`echo $line | cut -d'<' -f1`
     248                                                if [ $art = "fritztele" ]; then
     249                                                        name=`echo $line | cut -d'<' -f2`
     250                                                        nummer1=`echo $line | cut -d'<' -f8`
     251                                                        help=`echo $line | cut -d'<' -f11`
     252                                                        if [ $help == "br" ]; then
     253                                                                nummer2=`echo $line | cut -d'<' -f14`
     254                                                                pos1=20
     255                                                                pos2=22
     256                                                                help=`echo $line | cut -d'<' -f17`
     257                                                                if [ $help == "br" ]; then
     258                                                                        nummer3=`echo $line | cut -d'<' -f20`
     259                                                                        pos1=26
     260                                                                        pos2=28
     261                                                                        pos3=30
     262                                                                fi
     263                                                        fi
     264                                                        if [ $nummer1 != "0" ]; then
     265                                                                typ=`echo $line | cut -d'<' -f$pos1`
     266                                                                echo "$nummer1#$name->$typ" >> $FRITZBUCH
     267                                                        fi
     268                                                        if [ $nummer2 != "0" ]; then
     269                                                                typ=`echo $line | cut -d'<' -f$pos2`
     270                                                                echo "$nummer2#$name->$typ" >> $FRITZBUCH
     271                                                        fi
     272                                                        if [ $nummer3 != "0" ]; then
     273                                                                typ=`echo $line | cut -d'<' -f$pos3`
     274                                                                echo "$nummer3#$name->$typ" >> $FRITZBUCH
     275                                                        fi
     276                                                fi
     277                                        done < /tmp/curlhelp.tmp
     278                                        rm /tmp/curlhelp.tmp
     279                                fi
    279280                 
    280                  else
    281                        
    282                         #Fritzbox Version > 50
     281                        elif [ -z $FritzVersion ] || [ $FritzVersion -lt 60 ]; then
     282                                echo "Version 50"
     283                                #Fritzbox Version > 50 und < 60
     284                               
     285                                Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2`
     286                                Passwd="$FritzPass"
     287                                # login aufbauen und hashen
     288                                echo "login aufbauen und hashen start"
     289                                CPSTR="$Challenge-$Passwd"
     290                                MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'`
     291                                RESPONSE="$Challenge-$MD5"
     292
     293                                POSTDATA="username=$FritzUser&response=$RESPONSE"
     294
     295                                SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null  | grep SID | cut -d"<" -f4 | cut -d">" -f2`
     296
     297                                echo "login aufbauen und hashen ende"
     298
     299                                $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua  > /tmp/curlhelp.tmp
     300
     301                                BOOKID=`cat /tmp/curlhelp.tmp | grep '<label for="uiBookid' | grep ritzcall | cut -d: -f2 | cut -d'"' -f1`
     302                                if [ -z "$BOOKID" ]; then
     303                                        BOOKID=0
     304                                fi
     305
     306                                $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
     307
     308                                while read line
     309                                        do
     310                                                nummer1="0"
     311                                                nummer2="0"
     312                                                nummer3="0"
     313                                                nummer4="0"
     314                                                pos1=11
     315                                                pos2=0
     316                                                pos3=0
     317                                                art=`echo $line | cut -d'<' -f1`
     318                                                if [ ! -z $art ] && [ $art = "fritztele" ]; then
     319                                                        name=`echo $line | cut -d'<' -f2 | sed s/"title="//g`
     320                                                        nummer1=`echo $line | cut -d'<' -f7 | sed s/" "//g`
     321                                                        help=`echo $line | cut -d'<' -f8`
     322                                                        if [ $help = "br" ]; then
     323                                                                nummer2=`echo $line | cut -d'<' -f9 | sed s/" "//g`
     324                                                                pos1=13
     325                                                                pos2=15
     326                                                                help=`echo $line | cut -d'<' -f10`
     327                                                                if [ $help = "br" ]; then
     328                                                                        nummer3=`echo $line | cut -d'<' -f11 | sed s/" "//g`
     329                                                                        pos1=15
     330                                                                        pos2=17
     331                                                                        pos3=19
     332                                                                        help=`echo $line | cut -d'<' -f12`
     333                                                                        if [ $help = "br" ]; then
     334                                                                                nummer4=`echo $line | cut -d'<' -f13 | sed s/" "//g`
     335                                                                                pos1=17
     336                                                                                pos2=19
     337                                                                                pos3=21
     338                                                                                pos4=23
     339                                                                        fi
     340                                                                fi
     341                                                        fi
     342                                                        if [ $nummer1 != "0" ]; then
     343                                                                typ=`echo $line | cut -d'<' -f$pos1`
     344                                                                echo "$nummer1#$name->$typ" >> $FRITZBUCH
     345                                                        fi
     346                                                        if [ $nummer2 != "0" ]; then
     347                                                                typ=`echo $line | cut -d'<' -f$pos2`
     348                                                                echo "$nummer2#$name->$typ" >> $FRITZBUCH
     349                                                        fi
     350                                                        if [ $nummer3 != "0" ]; then
     351                                                                typ=`echo $line | cut -d'<' -f$pos3`
     352                                                                echo "$nummer3#$name->$typ" >> $FRITZBUCH
     353                                                        fi
     354                                                        if [ $nummer4 != "0" ]; then
     355                                                                typ=`echo $line | cut -d'<' -f$pos4`
     356                                                                echo "$nummer4#$name->$typ" >> $FRITZBUCH
     357                                                        fi
     358                                                fi
     359                                        done < /tmp/curlhelp3.tmp
     360                               
     361                        else
     362                                #Fritzbox Version > 60
     363                                echo "Version 60"
     364                               
     365                                Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2`
     366                                Passwd="$FritzPass"
     367                                # login aufbauen und hashen
     368                                echo "login aufbauen und hashen start"
     369                                CPSTR="$Challenge-$Passwd"
     370                                MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'`
     371                                RESPONSE="$Challenge-$MD5"
     372
     373                                POSTDATA="username=$FritzUser&response=$RESPONSE"
     374
     375                                SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null  | grep SID | cut -d"<" -f4 | cut -d">" -f2`
     376
     377                                echo "login aufbauen und hashen ende"
     378
     379                                $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua  > /tmp/curlhelp.tmp
     380
     381                                BOOKID=`cat /tmp/curlhelp.tmp | grep ' checked id="uiBookid' | cut -d: -f2 | cut -d'"' -f1`
     382                                if [ -z "$BOOKID" ]; then
     383                                        BOOKID=0
     384                                else
     385                                        echo "BookID: $BOOKID"
     386                                fi
     387               
     388                                #$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
     389                                $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
    283390                       
    284                         Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2`
    285                         Passwd="$FritzPass"
    286                         # login aufbauen und hashen
    287                         echo "login aufbauen und hashen start"
    288                         CPSTR="$Challenge-$Passwd"
    289                         MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'`
    290                         RESPONSE="$Challenge-$MD5"
    291 
    292                         POSTDATA="username=$FritzUser&response=$RESPONSE"
    293 
    294                         SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null  | grep SID | cut -d"<" -f4 | cut -d">" -f2`
    295 
    296                         echo "login aufbauen und hashen ende"
    297 
    298                         $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua  > /tmp/curlhelp.tmp
    299 
    300                         BOOKID=`cat curlhelp.tmp | grep '<label for="uiBookid' | grep ritzcall | cut -d: -f2 | cut -d'"' -f1`
    301                         if [ -z "$BOOKID" ]; then
    302                                 BOOKID=0
    303                         fi
    304 
    305                         $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
    306 
    307                         while read line
    308                                 do
    309                                         nummer1="0"
    310                                         nummer2="0"
    311                                         nummer3="0"
    312                                         nummer4="0"
    313                                         pos1=11
    314                                         pos2=0
    315                                         pos3=0
    316                                         art=`echo $line | cut -d'<' -f1`
    317                                         if [ ! -z $art ] && [ $art = "fritztele" ]; then
    318                                                 name=`echo $line | cut -d'<' -f2 | sed s/"title="//g`
    319                                                 nummer1=`echo $line | cut -d'<' -f7`
    320                                                 help=`echo $line | cut -d'<' -f8`
    321                                                 if [ $help = "br" ]; then
    322                                                         nummer2=`echo $line | cut -d'<' -f9`
    323                                                         pos1=13
    324                                                         pos2=15
    325                                                         help=`echo $line | cut -d'<' -f10`
     391                                while read line
     392                                        do
     393                                                nummer1="0"
     394                                                nummer2="0"
     395                                                nummer3="0"
     396                                                nummer4="0"
     397                                                nummer5="0"
     398                                                nummer6="0"
     399                                                pos1=10
     400                                                pos2=0
     401                                                pos3=0
     402                                                art=`echo $line | cut -d'<' -f1`
     403                                                if [ ! -z $art ] && [ $art = "fritztele" ]; then
     404                                                        name=`echo $line | cut -d'<' -f2 | sed s/"title="//g`
     405                                                        nummer1=`echo $line | cut -d'<' -f7 | sed s/" "//g`
     406                                                        help=`echo $line | cut -d'<' -f8`
    326407                                                        if [ $help = "br" ]; then
    327                                                                 nummer3=`echo $line | cut -d'<' -f11`
    328                                                                 pos1=15
    329                                                                 pos2=17
    330                                                                 pos3=19
    331                                                                 help=`echo $line | cut -d'<' -f12`
     408                                                                nummer2=`echo $line | cut -d'<' -f10 | sed s/" "//g`
     409                                                                pos1=13
     410                                                                pos2=15
     411                                                                help=`echo $line | cut -d'<' -f11`
    332412                                                                if [ $help = "br" ]; then
    333                                                                         nummer4=`echo $line | cut -d'<' -f13`
    334                                                                         pos1=17
    335                                                                         pos2=19
    336                                                                         pos3=21
    337                                                                         pos4=23
     413                                                                        nummer3=`echo $line | cut -d'<' -f13 | sed s/" "//g`
     414                                                                        pos1=16
     415                                                                        pos2=18
     416                                                                        pos3=20
     417                                                                        help=`echo $line | cut -d'<' -f14`
     418                                                                        if [ $help = "br" ]; then
     419                                                                                nummer4=`echo $line | cut -d'<' -f16 | sed s/" "//g`
     420                                                                                pos1=19
     421                                                                                pos2=21
     422                                                                                pos3=23
     423                                                                                pos4=25
     424                                                                                help=`echo $line | cut -d'<' -f17`
     425                                                                                if [ $help = "br" ]; then
     426                                                                                        nummer5=`echo $line | cut -d'<' -f19 | sed s/" "//g`
     427                                                                                        pos1=22
     428                                                                                        pos2=24
     429                                                                                        pos3=26
     430                                                                                        pos4=28
     431                                                                                        pos5=30
     432                                                                                        help=`echo $line | cut -d'<' -f20`
     433                                                                                        if [ $help = "br" ]; then
     434                                                                                                nummer6=`echo $line | cut -d'<' -f22 | sed s/" "//g`
     435                                                                                                pos1=25
     436                                                                                                pos2=27
     437                                                                                                pos3=29
     438                                                                                                pos4=31
     439                                                                                                pos5=33
     440                                                                                                pos6=35
     441                                                                                        fi
     442                                                                                fi
     443                                                                        fi
    338444                                                                fi
    339445                                                        fi
     446                                                        if [ $nummer1 != "0" ]; then
     447                                                                typ=`echo $line | cut -d'<' -f$pos1`
     448                                                                echo "$nummer1#$name->$typ" >> $FRITZBUCH
     449                                                        fi
     450                                                        if [ $nummer2 != "0" ]; then
     451                                                                typ=`echo $line | cut -d'<' -f$pos2`
     452                                                                echo "$nummer2#$name->$typ" >> $FRITZBUCH
     453                                                        fi
     454                                                        if [ $nummer3 != "0" ]; then
     455                                                                typ=`echo $line | cut -d'<' -f$pos3`
     456                                                                echo "$nummer3#$name->$typ" >> $FRITZBUCH
     457                                                        fi
     458                                                        if [ $nummer4 != "0" ]; then
     459                                                                typ=`echo $line | cut -d'<' -f$pos4`
     460                                                                echo "$nummer4#$name->$typ" >> $FRITZBUCH
     461                                                        fi
     462                                                        if [ $nummer5 != "0" ]; then
     463                                                                typ=`echo $line | cut -d'<' -f$pos3`
     464                                                                echo "$nummer5#$name->$typ" >> $FRITZBUCH
     465                                                        fi
     466                                                        if [ $nummer6 != "0" ]; then
     467                                                                typ=`echo $line | cut -d'<' -f$pos4`
     468                                                                echo "$nummer6#$name->$typ" >> $FRITZBUCH
     469                                                        fi
    340470                                                fi
    341                                                 if [ $nummer1 != "0" ]; then
    342                                                         typ=`echo $line | cut -d'<' -f$pos1`
    343                                                         echo "$nummer1#$name->$typ" >> $FRITZBUCH
    344                                                 fi
    345                                                 if [ $nummer2 != "0" ]; then
    346                                                         typ=`echo $line | cut -d'<' -f$pos2`
    347                                                         echo "$nummer2#$name->$typ" >> $FRITZBUCH
    348                                                 fi
    349                                                 if [ $nummer3 != "0" ]; then
    350                                                         typ=`echo $line | cut -d'<' -f$pos3`
    351                                                         echo "$nummer3#$name->$typ" >> $FRITZBUCH
    352                                                 fi
    353                                                 if [ $nummer4 != "0" ]; then
    354                                                         typ=`echo $line | cut -d'<' -f$pos4`
    355                                                         echo "$nummer3#$name->$typ" >> $FRITZBUCH
    356                                                 fi
    357                                         fi
    358                         done < /tmp/curlhelp3.tmp
    359                  fi     
     471                                        done < /tmp/curlhelp6.tmp
     472                                cp $FRITZBUCH $FRITZCACHE       
     473                        fi             
    360474                fi
    361                 cp $FRITZBUCH $FRITZCACHE
    362475        fi     
     476
    363477};
    364478#-------------------------------------------------------------------------------
     
    454568        #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
    455569        $CURL http://$ip/query?boxstatus > $TMPSTATUS
    456         #STANDBY=`grep "standby" $TMPSTATUS| head -1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
     570        #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
    457571        STANDBY=`grep "standby" $TMPSTATUS| wc -l`
    458572        #STANDBY=0
     
    462576              if [ $muteRing = 1 ]; then #wenn Option gesetzt ist dann wird der Ton abgeschaltet
    463577                #wget -O- http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
    464                 #mute=`grep "mute" $TMPSTATUS| head -1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
     578                #mute=`grep "mute" $TMPSTATUS| head -n 1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
    465579                #if [ $mute = 0 ]; then
    466580                  #wget -q -O /dev/null "http://@$ip/query?sendrc&rcmute"  >> $NULL #Befehl für Tonsperre
     
    546660          #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
    547661          $CURL http://$ip/query?boxstatus > $TMPSTATUS
    548           #STANDBY=`grep "standby" $TMPSTATUS| head -1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
     662          #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
    549663          STANDBY=`grep "standby" $TMPSTATUS| wc -l`
    550664          STANDBY=0
     
    579693  #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
    580694  $CURL http://$ip/query?boxstatus > $TMPSTATUS
    581   #STANDBY=`grep "standby" $TMPSTATUS| head -1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
     695  #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
    582696  STANDBY=`grep "standby" $TMPSTATUS| wc -l`
    583697  if [ $STANDBY = 0 ]; then
     
    590704      #wget -O- http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
    591705      #$CURL http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
    592       #'mute=`grep "mute" $TMPSTATUS| head -1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
     706      #'mute=`grep "mute" $TMPSTATUS| head -n 1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
    593707      #if [ $mute = 1 ]; then
    594708        #wget -q -O /dev/null "http://$loginname:$passwort@$ip/cgi-bin/rc?113"  >> $NULL #Befehl für Tonsperre
     
    629743    #kontrollieren ob dieses ein eingehender Anruf war
    630744    if [ -f $TMPINCOMING ];     then
    631     eingehend=`grep "1" $TMPINCOMING| head -1`
     745    eingehend=`grep "1" $TMPINCOMING| head -n 1`
    632746    else
    633747    eingehend="0"
     
    661775     echo "deleting $FRITZCACHE (if exists)"
    662776     if [ -f $FRITZCACHE ];   then  rm $FRITZCACHE; fi
     777         echo "deleting $FRITZBUCH (if exists)"
     778     if [ -f $FRITZBUCH ];   then  rm $FRITZBUCH; fi
    663779     ;;
    664   STOP|stop)
     780  STOP1|stop1)
    665781     #kill all processes we spawned
    666782     #hopefully only a single tail task is running so we kill it :)
     
    682798     fi
    683799     ;;
     800    STOP|stop)
     801     #STOP1 (alt STOP) bewirkt hier nichts!
     802     #tail zu killen reicht, um die anderen auch zu entfernen :)
     803     pid=`ps | grep "tail*"| grep -v grep | awk '{print $1}'`
     804     if [ "X${pid}" != "X" ] ; then
     805        kill -9 ${pid}
     806     fi
     807         #fals noch ein 2. läuft :-)
     808     pid=`ps | grep "tail*"| grep -v grep | awk '{print $1}'`
     809     if [ "X${pid}" != "X" ] ; then
     810        kill -9 ${pid}
     811     fi 
     812     ;;
    684813  SHOW|show)
    685814  sleep 10     
    686815  if [ -f $TMPRING ];     then
    687     eintragvorhanden=`grep "von" $TMPRING| head -1`
     816    eintragvorhanden=`grep "von" $TMPRING| head -n 1`
    688817    echo "Es ist ein Eintrag in TMPRING vorhanden"
    689818    if [ "$eintragvorhanden" = "" ]; then
     
    709838      #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
    710839      $CURL http://$ip/query?boxstatus > $TMPSTATUS
    711       #STANDBY=`grep "standby" $TMPSTATUS| head -1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
     840      #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
    712841      STANDBY=`grep "standby" $TMPSTATUS| wc -l`
    713842      STANDBY=0
     
    721850          if [ $muteRing = 1 ]; then #wenn Option gesetzt ist dann wird der Ton abgeschaltet
    722851            #wget -O- http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
    723             #mute=`grep "mute" $TMPSTATUS| head -1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
     852            #mute=`grep "mute" $TMPSTATUS| head -n 1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
    724853            #if [ $mute = 0 ]; then
    725854                #wget -q -O /dev/null "http://$ip/query?sendrc&rcmute"  >> $NULL #Befehl für Tonsperre
  • ipk/source.sh4/tools_callmonitor/_path_/usr/local/share/titan/plugins/callmonitor1/fritzbox_msg_new.sh

    r36911 r37173  
    22
    33CONFIG=`echo "$0callmon.conf" | sed s/fritzbox_msg_new.sh//`
    4 NC=`echo "$0nc" | sed s/fritzbox_msg_new.sh//`
     4#NC=`echo "$0nc" | sed s/fritzbox_msg_new.sh//`
     5NC="nc"
    56ICONV=`echo "$0iconv" | sed s/fritzbox_msg_new.sh//`
    67CURL=`echo "$0curl" | sed s/fritzbox_msg_new.sh//`
     
    1213#. ./callmon.conf
    1314 
    14 # Version:      @(#)fritzbox_msg_new.sh  0.81 30-Jun-2008 krasnojarsk@gmx.de
    15 # Author: Ludwig H.
    16 #-------------------------------------------------------------------------------
    17 #
    18 # V0.90 - Erkan
    19 # - Änderungen bis Februar 2011 eingebracht
    20 # - für DM600PVR angepasst
    2115#
    2216#-------------------------------------------------------------------------------
     
    2620#    #96*4*         to disable
    2721#
    28 # You should put the script into /etc/init.d (DM7020/DM600PVR) or /var/init.d (DM7000)
    29 #
    30 # For autostart on DM600PVR make a symbolic link
    31 # ln -s /etc/init.d/fritzbox_msg_new.sh /etc/rc2.d/S40Fritz
    3222#
    3323#SETUP---start------------------------------------------------------------------
     
    4131#Options---start----------------------------------------------------------------
    4232#
    43 Version=v2.00                                   #Zur Versionsanzeige im telnet
     33Version=v2.60                                   #Zur Versionsanzeige im telnet
    4434debug=0                                                         #wenn debug auf 1 steht wird am TV nichts angezeigt
    4535##Ziel=4711                                                     #bitte Rufnummer eintragen die Überwacht werden soll
     
    172162    #extract caller-id from online result
    173163    #UH20100112
    174 #    NAME=`grep $SEARCHPDETAIL $TMPFILE | head -1 | sed -e "/</{; :loop; s/<[^<]*>//g; /</{; N; b loop; }; };"`
    175 #    ADDRESSE=`grep "address" $TMPFILE| head -1`
     164#    NAME=`grep $SEARCHPDETAIL $TMPFILE | head -n 1 | sed -e "/</{; :loop; s/<[^<]*>//g; /</{; N; b loop; }; };"`
     165#    ADDRESSE=`grep "address" $TMPFILE| head -n 1`
    176166#    ADDRESSE=`echo $ADDRESSE | sed 's/<[^>]*>/ /g'`
    177167
    178     NAME=`grep $SEARCHPDETAIL $TMPFILE | head -1 | sed -e 's/.*Detailinformationen zu //g' | sed -e 's/ in .*//g'`
    179     STRASSE=`grep '<span class="street street-address">' $TMPFILE | head -1 | sed -e 's/<span class="street street-address">//g' | sed -e 's/<\/span>.*//g'`
    180     POSTCODE=`grep '<span class="postcode postal-code">' $TMPFILE | head -1 | sed -e 's/.*<span class="postcode postal-code">//g' | sed -e 's/<\/span>.*//g'`
    181     ORT=`grep '<span class="city locality">' $TMPFILE | head -1 | sed -e 's/.*<span class="city locality">//g' | sed -e 's/<\/span>.*//g'`
     168    NAME=`grep $SEARCHPDETAIL $TMPFILE | head -n 1 | sed -e 's/.*Detailinformationen zu //g' | sed -e 's/ in .*//g'`
     169    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'`
     170    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'`
     171    ORT=`grep '<span class="city locality">' $TMPFILE | head -n 1 | sed -e 's/.*<span class="city locality">//g' | sed -e 's/<\/span>.*//g'`
    182172    ADDRESSE="$STRASSE~n$POSTCODE $ORT"
    183173
     
    209199                #rm $FRITZBUCH
    210200                if [ ! -f $FRITZBUCH ]; then
    211                  
    212                  if [ -z $FritzVersion ] || [ $FritzVersion -lt 50 ]; then
    213                         # Challenge abholen
    214                         echo "Challenge abholen start"
    215                         ChallengeXML=`wget -O - "http://$FRITZBOXIP/cgi-bin/webcm?getpage=../html/login_sid.xml" 2>/dev/null| grep Challenge`
    216                         Challenge=`echo $ChallengeXML | awk '{match($0,/>[^<>]+</); print substr($0,RSTART+1,RLENGTH-2)}'`
    217                         echo "Challenge abholen ende"
     201                        echo "FritzBook new"
    218202                       
    219                         Passwd="$FritzPass"
    220 
    221                         # login aufbauen und hashen
    222                         echo "login aufbauen und hashen start"
    223                         CPSTR="$Challenge-$Passwd"
    224                         MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/help; md5sum /tmp/help | awk '{print substr($0,1,32)}'`
    225                         RESPONSE="$Challenge-$MD5"
    226                         POSTDATA="login:command/response=$RESPONSE&getpage=../html/de/menus/menu2.html"
    227                         # login senden und SID herausfischen
    228                         SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/cgi-bin/webcm" 2>/dev/null| grep "name=\"sid\"" | head -1 | awk '{match($0,/value="[^"]+"/); print substr($0,RSTART+7,RLENGTH-8)}'`
    229                         echo "login aufbauen und hashen ende"
    230 
    231                         $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
    232                         while read line
    233                                 do
    234                                 art=`echo $line | cut -d'"' -f1`
    235                                 if [ $art = "TrFonName" ]; then
    236                                         name=`echo $line | cut -d'"' -f5`
    237                                 elif [ $art = "TrFonNr" ]; then
    238                                         nummer=`echo $line | cut -d'"' -f5`
    239                                         echo "$nummer#$name->" >> $FRITZBUCH
    240                                 fi
    241                         done < /tmp/curlhelp.tmp
    242                         rm /tmp/curlhelp.tmp
    243 
    244                         if [ ! -f $FRITZBUCH ]; then
    245                                 #testen ob neues Telefonbuch
    246                                 #$CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua > /tmp/test.curl
    247                                 $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
     203                        if [ -z $FritzVersion ] || [ $FritzVersion -lt 50 ]; then
     204                                # Challenge abholen
     205                                echo "Challenge abholen start"
     206                                ChallengeXML=`wget -O - "http://$FRITZBOXIP/cgi-bin/webcm?getpage=../html/login_sid.xml" 2>/dev/null| grep Challenge`
     207                                Challenge=`echo $ChallengeXML | awk '{match($0,/>[^<>]+</); print substr($0,RSTART+1,RLENGTH-2)}'`
     208                                echo "Challenge abholen ende"
     209                               
     210                                Passwd="$FritzPass"
     211
     212                                # login aufbauen und hashen
     213                                echo "login aufbauen und hashen start"
     214                                CPSTR="$Challenge-$Passwd"
     215                                MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/help; md5sum /tmp/help | awk '{print substr($0,1,32)}'`
     216                                RESPONSE="$Challenge-$MD5"
     217                                POSTDATA="login:command/response=$RESPONSE&getpage=../html/de/menus/menu2.html"
     218                                # login senden und SID herausfischen
     219                                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)}'`
     220                                echo "login aufbauen und hashen ende"
     221
     222                                $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
    248223                                while read line
    249                                 do
    250                                         nummer1="0"
    251                                         nummer2="0"
    252                                         nummer3="0"
    253                                         pos1=14
    254                                         pos2=0
    255                                         pos3=0
    256                                         art=`echo $line | cut -d'<' -f1`
    257                                         if [ $art = "fritztele" ]; then
    258                                                 name=`echo $line | cut -d'<' -f2`
    259                                                 nummer1=`echo $line | cut -d'<' -f8`
    260                                                 help=`echo $line | cut -d'<' -f11`
    261                                                 if [ $help == "br" ]; then
    262                                                         nummer2=`echo $line | cut -d'<' -f14`
    263                                                         pos1=20
    264                                                         pos2=22
    265                                                         help=`echo $line | cut -d'<' -f17`
    266                                                         if [ $help == "br" ]; then
    267                                                                 nummer3=`echo $line | cut -d'<' -f20`
    268                                                                 pos1=26
    269                                                                 pos2=28
    270                                                                 pos3=30
    271                                                         fi
    272                                                 fi
    273                                                 if [ $nummer1 != "0" ]; then
    274                                                         typ=`echo $line | cut -d'<' -f$pos1`
    275                                                         echo "$nummer1#$name->$typ" >> $FRITZBUCH
    276                                                 fi
    277                                                 if [ $nummer2 != "0" ]; then
    278                                                         typ=`echo $line | cut -d'<' -f$pos2`
    279                                                         echo "$nummer2#$name->$typ" >> $FRITZBUCH
    280                                                 fi
    281                                                 if [ $nummer3 != "0" ]; then
    282                                                         typ=`echo $line | cut -d'<' -f$pos3`
    283                                                         echo "$nummer3#$name->$typ" >> $FRITZBUCH
    284                                                 fi
     224                                        do
     225                                        art=`echo $line | cut -d'"' -f1`
     226                                        if [ $art = "TrFonName" ]; then
     227                                                name=`echo $line | cut -d'"' -f5`
     228                                        elif [ $art = "TrFonNr" ]; then
     229                                                nummer=`echo $line | cut -d'"' -f5`
     230                                                echo "$nummer#$name->" >> $FRITZBUCH
    285231                                        fi
    286232                                done < /tmp/curlhelp.tmp
    287233                                rm /tmp/curlhelp.tmp
    288                         fi
     234
     235                                if [ ! -f $FRITZBUCH ]; then
     236                                        #testen ob neues Telefonbuch
     237                                        #$CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua > /tmp/test.curl
     238                                        $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
     239                                        while read line
     240                                        do
     241                                                nummer1="0"
     242                                                nummer2="0"
     243                                                nummer3="0"
     244                                                pos1=14
     245                                                pos2=0
     246                                                pos3=0
     247                                                art=`echo $line | cut -d'<' -f1`
     248                                                if [ $art = "fritztele" ]; then
     249                                                        name=`echo $line | cut -d'<' -f2`
     250                                                        nummer1=`echo $line | cut -d'<' -f8`
     251                                                        help=`echo $line | cut -d'<' -f11`
     252                                                        if [ $help == "br" ]; then
     253                                                                nummer2=`echo $line | cut -d'<' -f14`
     254                                                                pos1=20
     255                                                                pos2=22
     256                                                                help=`echo $line | cut -d'<' -f17`
     257                                                                if [ $help == "br" ]; then
     258                                                                        nummer3=`echo $line | cut -d'<' -f20`
     259                                                                        pos1=26
     260                                                                        pos2=28
     261                                                                        pos3=30
     262                                                                fi
     263                                                        fi
     264                                                        if [ $nummer1 != "0" ]; then
     265                                                                typ=`echo $line | cut -d'<' -f$pos1`
     266                                                                echo "$nummer1#$name->$typ" >> $FRITZBUCH
     267                                                        fi
     268                                                        if [ $nummer2 != "0" ]; then
     269                                                                typ=`echo $line | cut -d'<' -f$pos2`
     270                                                                echo "$nummer2#$name->$typ" >> $FRITZBUCH
     271                                                        fi
     272                                                        if [ $nummer3 != "0" ]; then
     273                                                                typ=`echo $line | cut -d'<' -f$pos3`
     274                                                                echo "$nummer3#$name->$typ" >> $FRITZBUCH
     275                                                        fi
     276                                                fi
     277                                        done < /tmp/curlhelp.tmp
     278                                        rm /tmp/curlhelp.tmp
     279                                fi
    289280                 
    290                  else
    291                        
    292                         #Fritzbox Version > 50
     281                        elif [ -z $FritzVersion ] || [ $FritzVersion -lt 60 ]; then
     282                                echo "Version 50"
     283                                #Fritzbox Version > 50 und < 60
     284                               
     285                                Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2`
     286                                Passwd="$FritzPass"
     287                                # login aufbauen und hashen
     288                                echo "login aufbauen und hashen start"
     289                                CPSTR="$Challenge-$Passwd"
     290                                MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'`
     291                                RESPONSE="$Challenge-$MD5"
     292
     293                                POSTDATA="username=$FritzUser&response=$RESPONSE"
     294
     295                                SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null  | grep SID | cut -d"<" -f4 | cut -d">" -f2`
     296
     297                                echo "login aufbauen und hashen ende"
     298
     299                                $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua  > /tmp/curlhelp.tmp
     300
     301                                BOOKID=`cat /tmp/curlhelp.tmp | grep '<label for="uiBookid' | grep ritzcall | cut -d: -f2 | cut -d'"' -f1`
     302                                if [ -z "$BOOKID" ]; then
     303                                        BOOKID=0
     304                                fi
     305
     306                                $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
     307
     308                                while read line
     309                                        do
     310                                                nummer1="0"
     311                                                nummer2="0"
     312                                                nummer3="0"
     313                                                nummer4="0"
     314                                                pos1=11
     315                                                pos2=0
     316                                                pos3=0
     317                                                art=`echo $line | cut -d'<' -f1`
     318                                                if [ ! -z $art ] && [ $art = "fritztele" ]; then
     319                                                        name=`echo $line | cut -d'<' -f2 | sed s/"title="//g`
     320                                                        nummer1=`echo $line | cut -d'<' -f7 | sed s/" "//g`
     321                                                        help=`echo $line | cut -d'<' -f8`
     322                                                        if [ $help = "br" ]; then
     323                                                                nummer2=`echo $line | cut -d'<' -f9 | sed s/" "//g`
     324                                                                pos1=13
     325                                                                pos2=15
     326                                                                help=`echo $line | cut -d'<' -f10`
     327                                                                if [ $help = "br" ]; then
     328                                                                        nummer3=`echo $line | cut -d'<' -f11 | sed s/" "//g`
     329                                                                        pos1=15
     330                                                                        pos2=17
     331                                                                        pos3=19
     332                                                                        help=`echo $line | cut -d'<' -f12`
     333                                                                        if [ $help = "br" ]; then
     334                                                                                nummer4=`echo $line | cut -d'<' -f13 | sed s/" "//g`
     335                                                                                pos1=17
     336                                                                                pos2=19
     337                                                                                pos3=21
     338                                                                                pos4=23
     339                                                                        fi
     340                                                                fi
     341                                                        fi
     342                                                        if [ $nummer1 != "0" ]; then
     343                                                                typ=`echo $line | cut -d'<' -f$pos1`
     344                                                                echo "$nummer1#$name->$typ" >> $FRITZBUCH
     345                                                        fi
     346                                                        if [ $nummer2 != "0" ]; then
     347                                                                typ=`echo $line | cut -d'<' -f$pos2`
     348                                                                echo "$nummer2#$name->$typ" >> $FRITZBUCH
     349                                                        fi
     350                                                        if [ $nummer3 != "0" ]; then
     351                                                                typ=`echo $line | cut -d'<' -f$pos3`
     352                                                                echo "$nummer3#$name->$typ" >> $FRITZBUCH
     353                                                        fi
     354                                                        if [ $nummer4 != "0" ]; then
     355                                                                typ=`echo $line | cut -d'<' -f$pos4`
     356                                                                echo "$nummer4#$name->$typ" >> $FRITZBUCH
     357                                                        fi
     358                                                fi
     359                                        done < /tmp/curlhelp3.tmp
     360                               
     361                        else
     362                                #Fritzbox Version > 60
     363                                echo "Version 60"
     364                               
     365                                Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2`
     366                                Passwd="$FritzPass"
     367                                # login aufbauen und hashen
     368                                echo "login aufbauen und hashen start"
     369                                CPSTR="$Challenge-$Passwd"
     370                                MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'`
     371                                RESPONSE="$Challenge-$MD5"
     372
     373                                POSTDATA="username=$FritzUser&response=$RESPONSE"
     374
     375                                SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null  | grep SID | cut -d"<" -f4 | cut -d">" -f2`
     376
     377                                echo "login aufbauen und hashen ende"
     378
     379                                $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua  > /tmp/curlhelp.tmp
     380
     381                                BOOKID=`cat /tmp/curlhelp.tmp | grep ' checked id="uiBookid' | cut -d: -f2 | cut -d'"' -f1`
     382                                if [ -z "$BOOKID" ]; then
     383                                        BOOKID=0
     384                                else
     385                                        echo "BookID: $BOOKID"
     386                                fi
     387               
     388                                #$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
     389                                $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
    293390                       
    294                         Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2`
    295                         Passwd="$FritzPass"
    296                         # login aufbauen und hashen
    297                         echo "login aufbauen und hashen start"
    298                         CPSTR="$Challenge-$Passwd"
    299                         MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'`
    300                         RESPONSE="$Challenge-$MD5"
    301 
    302                         POSTDATA="username=$FritzUser&response=$RESPONSE"
    303 
    304                         SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null  | grep SID | cut -d"<" -f4 | cut -d">" -f2`
    305 
    306                         echo "login aufbauen und hashen ende"
    307 
    308                         $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua  > /tmp/curlhelp.tmp
    309 
    310                         BOOKID=`cat curlhelp.tmp | grep '<label for="uiBookid' | grep ritzcall | cut -d: -f2 | cut -d'"' -f1`
    311                         if [ -z "$BOOKID" ]; then
    312                                 BOOKID=0
    313                         fi
    314 
    315                         $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
    316 
    317                         while read line
    318                                 do
    319                                         nummer1="0"
    320                                         nummer2="0"
    321                                         nummer3="0"
    322                                         nummer4="0"
    323                                         pos1=11
    324                                         pos2=0
    325                                         pos3=0
    326                                         art=`echo $line | cut -d'<' -f1`
    327                                         if [ ! -z $art ] && [ $art = "fritztele" ]; then
    328                                                 name=`echo $line | cut -d'<' -f2 | sed s/"title="//g`
    329                                                 nummer1=`echo $line | cut -d'<' -f7`
    330                                                 help=`echo $line | cut -d'<' -f8`
    331                                                 if [ $help = "br" ]; then
    332                                                         nummer2=`echo $line | cut -d'<' -f9`
    333                                                         pos1=13
    334                                                         pos2=15
    335                                                         help=`echo $line | cut -d'<' -f10`
     391                                while read line
     392                                        do
     393                                                nummer1="0"
     394                                                nummer2="0"
     395                                                nummer3="0"
     396                                                nummer4="0"
     397                                                nummer5="0"
     398                                                nummer6="0"
     399                                                pos1=10
     400                                                pos2=0
     401                                                pos3=0
     402                                                art=`echo $line | cut -d'<' -f1`
     403                                                if [ ! -z $art ] && [ $art = "fritztele" ]; then
     404                                                        name=`echo $line | cut -d'<' -f2 | sed s/"title="//g`
     405                                                        nummer1=`echo $line | cut -d'<' -f7 | sed s/" "//g`
     406                                                        help=`echo $line | cut -d'<' -f8`
    336407                                                        if [ $help = "br" ]; then
    337                                                                 nummer3=`echo $line | cut -d'<' -f11`
    338                                                                 pos1=15
    339                                                                 pos2=17
    340                                                                 pos3=19
    341                                                                 help=`echo $line | cut -d'<' -f12`
     408                                                                nummer2=`echo $line | cut -d'<' -f10 | sed s/" "//g`
     409                                                                pos1=13
     410                                                                pos2=15
     411                                                                help=`echo $line | cut -d'<' -f11`
    342412                                                                if [ $help = "br" ]; then
    343                                                                         nummer4=`echo $line | cut -d'<' -f13`
    344                                                                         pos1=17
    345                                                                         pos2=19
    346                                                                         pos3=21
    347                                                                         pos4=23
     413                                                                        nummer3=`echo $line | cut -d'<' -f13 | sed s/" "//g`
     414                                                                        pos1=16
     415                                                                        pos2=18
     416                                                                        pos3=20
     417                                                                        help=`echo $line | cut -d'<' -f14`
     418                                                                        if [ $help = "br" ]; then
     419                                                                                nummer4=`echo $line | cut -d'<' -f16 | sed s/" "//g`
     420                                                                                pos1=19
     421                                                                                pos2=21
     422                                                                                pos3=23
     423                                                                                pos4=25
     424                                                                                help=`echo $line | cut -d'<' -f17`
     425                                                                                if [ $help = "br" ]; then
     426                                                                                        nummer5=`echo $line | cut -d'<' -f19 | sed s/" "//g`
     427                                                                                        pos1=22
     428                                                                                        pos2=24
     429                                                                                        pos3=26
     430                                                                                        pos4=28
     431                                                                                        pos5=30
     432                                                                                        help=`echo $line | cut -d'<' -f20`
     433                                                                                        if [ $help = "br" ]; then
     434                                                                                                nummer6=`echo $line | cut -d'<' -f22 | sed s/" "//g`
     435                                                                                                pos1=25
     436                                                                                                pos2=27
     437                                                                                                pos3=29
     438                                                                                                pos4=31
     439                                                                                                pos5=33
     440                                                                                                pos6=35
     441                                                                                        fi
     442                                                                                fi
     443                                                                        fi
    348444                                                                fi
    349445                                                        fi
     446                                                        if [ $nummer1 != "0" ]; then
     447                                                                typ=`echo $line | cut -d'<' -f$pos1`
     448                                                                echo "$nummer1#$name->$typ" >> $FRITZBUCH
     449                                                        fi
     450                                                        if [ $nummer2 != "0" ]; then
     451                                                                typ=`echo $line | cut -d'<' -f$pos2`
     452                                                                echo "$nummer2#$name->$typ" >> $FRITZBUCH
     453                                                        fi
     454                                                        if [ $nummer3 != "0" ]; then
     455                                                                typ=`echo $line | cut -d'<' -f$pos3`
     456                                                                echo "$nummer3#$name->$typ" >> $FRITZBUCH
     457                                                        fi
     458                                                        if [ $nummer4 != "0" ]; then
     459                                                                typ=`echo $line | cut -d'<' -f$pos4`
     460                                                                echo "$nummer4#$name->$typ" >> $FRITZBUCH
     461                                                        fi
     462                                                        if [ $nummer5 != "0" ]; then
     463                                                                typ=`echo $line | cut -d'<' -f$pos3`
     464                                                                echo "$nummer5#$name->$typ" >> $FRITZBUCH
     465                                                        fi
     466                                                        if [ $nummer6 != "0" ]; then
     467                                                                typ=`echo $line | cut -d'<' -f$pos4`
     468                                                                echo "$nummer6#$name->$typ" >> $FRITZBUCH
     469                                                        fi
    350470                                                fi
    351                                                 if [ $nummer1 != "0" ]; then
    352                                                         typ=`echo $line | cut -d'<' -f$pos1`
    353                                                         echo "$nummer1#$name->$typ" >> $FRITZBUCH
    354                                                 fi
    355                                                 if [ $nummer2 != "0" ]; then
    356                                                         typ=`echo $line | cut -d'<' -f$pos2`
    357                                                         echo "$nummer2#$name->$typ" >> $FRITZBUCH
    358                                                 fi
    359                                                 if [ $nummer3 != "0" ]; then
    360                                                         typ=`echo $line | cut -d'<' -f$pos3`
    361                                                         echo "$nummer3#$name->$typ" >> $FRITZBUCH
    362                                                 fi
    363                                                 if [ $nummer4 != "0" ]; then
    364                                                         typ=`echo $line | cut -d'<' -f$pos4`
    365                                                         echo "$nummer3#$name->$typ" >> $FRITZBUCH
    366                                                 fi
    367                                         fi
    368                         done < /tmp/curlhelp3.tmp
    369                  fi     
     471                                        done < /tmp/curlhelp6.tmp
     472                                cp $FRITZBUCH $FRITZCACHE       
     473                        fi             
    370474                fi
    371                 cp $FRITZBUCH $FRITZCACHE
    372475        fi     
     476
    373477};
    374478#-------------------------------------------------------------------------------
     
    464568        #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
    465569        $CURL http://$ip/query?boxstatus > $TMPSTATUS
    466         #STANDBY=`grep "standby" $TMPSTATUS| head -1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
     570        #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
    467571        STANDBY=`grep "standby" $TMPSTATUS| wc -l`
    468572        #STANDBY=0
     
    472576              if [ $muteRing = 1 ]; then #wenn Option gesetzt ist dann wird der Ton abgeschaltet
    473577                #wget -O- http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
    474                 #mute=`grep "mute" $TMPSTATUS| head -1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
     578                #mute=`grep "mute" $TMPSTATUS| head -n 1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
    475579                #if [ $mute = 0 ]; then
    476580                  #wget -q -O /dev/null "http://@$ip/query?sendrc&rcmute"  >> $NULL #Befehl für Tonsperre
     
    556660          #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
    557661          $CURL http://$ip/query?boxstatus > $TMPSTATUS
    558           #STANDBY=`grep "standby" $TMPSTATUS| head -1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
     662          #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
    559663          STANDBY=`grep "standby" $TMPSTATUS| wc -l`
    560664          STANDBY=0
     
    589693  #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
    590694  $CURL http://$ip/query?boxstatus > $TMPSTATUS
    591   #STANDBY=`grep "standby" $TMPSTATUS| head -1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
     695  #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
    592696  STANDBY=`grep "standby" $TMPSTATUS| wc -l`
    593697  if [ $STANDBY = 0 ]; then
     
    600704      #wget -O- http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
    601705      #$CURL http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
    602       #'mute=`grep "mute" $TMPSTATUS| head -1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
     706      #'mute=`grep "mute" $TMPSTATUS| head -n 1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
    603707      #if [ $mute = 1 ]; then
    604708        #wget -q -O /dev/null "http://$loginname:$passwort@$ip/cgi-bin/rc?113"  >> $NULL #Befehl für Tonsperre
     
    639743    #kontrollieren ob dieses ein eingehender Anruf war
    640744    if [ -f $TMPINCOMING ];     then
    641     eingehend=`grep "1" $TMPINCOMING| head -1`
     745    eingehend=`grep "1" $TMPINCOMING| head -n 1`
    642746    else
    643747    eingehend="0"
     
    671775     echo "deleting $FRITZCACHE (if exists)"
    672776     if [ -f $FRITZCACHE ];   then  rm $FRITZCACHE; fi
     777         echo "deleting $FRITZBUCH (if exists)"
     778     if [ -f $FRITZBUCH ];   then  rm $FRITZBUCH; fi
    673779     ;;
    674   STOP|stop)
     780  STOP1|stop1)
    675781     #kill all processes we spawned
    676782     #hopefully only a single tail task is running so we kill it :)
     
    692798     fi
    693799     ;;
     800    STOP|stop)
     801     #STOP1 (alt STOP) bewirkt hier nichts!
     802     #tail zu killen reicht, um die anderen auch zu entfernen :)
     803     pid=`ps | grep "tail*"| grep -v grep | awk '{print $1}'`
     804     if [ "X${pid}" != "X" ] ; then
     805        kill -9 ${pid}
     806     fi
     807         #fals noch ein 2. läuft :-)
     808     pid=`ps | grep "tail*"| grep -v grep | awk '{print $1}'`
     809     if [ "X${pid}" != "X" ] ; then
     810        kill -9 ${pid}
     811     fi 
     812     ;;
    694813  SHOW|show)
    695814  sleep 10     
    696815  if [ -f $TMPRING ];     then
    697     eintragvorhanden=`grep "von" $TMPRING| head -1`
     816    eintragvorhanden=`grep "von" $TMPRING| head -n 1`
    698817    echo "Es ist ein Eintrag in TMPRING vorhanden"
    699818    if [ "$eintragvorhanden" = "" ]; then
     
    719838      #wget -O- http://$ip/query?boxstatus > $TMPSTATUS
    720839      $CURL http://$ip/query?boxstatus > $TMPSTATUS
    721       #STANDBY=`grep "standby" $TMPSTATUS| head -1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
     840      #STANDBY=`grep "standby" $TMPSTATUS| head -n 1 | sed -e '{s/<standby>//g;s/<\/standby>//g}'`
    722841      STANDBY=`grep "standby" $TMPSTATUS| wc -l`
    723842      STANDBY=0
     
    731850          if [ $muteRing = 1 ]; then #wenn Option gesetzt ist dann wird der Ton abgeschaltet
    732851            #wget -O- http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben
    733             #mute=`grep "mute" $TMPSTATUS| head -1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
     852            #mute=`grep "mute" $TMPSTATUS| head -n 1 | sed -e '{s/mute://g;s/<br>//g;s/ //g}'`
    734853            #if [ $mute = 0 ]; then
    735854                #wget -q -O /dev/null "http://$ip/query?sendrc&rcmute"  >> $NULL #Befehl für Tonsperre
Note: See TracChangeset for help on using the changeset viewer.