FBF control für D-Box2

futurama

Neuer User
Mitglied seit
25 Feb 2006
Beiträge
69
Punkte für Reaktionen
0
Punkte
0
Anleitung für fb control mit ds-mod und callmonitor
1-) in debug.cfg einzutrgen (wenn LCR Updater in debug.cfg ist, den code ende der debug.cfg einfügen);
Code:
# write cmd script to file
mkdir /var/tmp/cgi-bin
cp /usr/www/$OEM/cgi-bin/???* /var/tmp/cgi-bin
mount -o bind /var/tmp/cgi-bin /usr/www/$OEM/cgi-bin
cat > /var/tmp/cgi-bin/cmd << 'ENDCMD'
#!/bin/sh
echo -e "Content-type: text/html; charset=iso-8859-1\n\n<html><body>"
case $1
in
  uptime)
    run_clock;uptime;cat /var/config.def;;
  anrufe)
    echo -e "`cat /var/tmp/anrufliste.txt`";;
  anrufeloschen)
    echo -e "`rm /var/tmp/anrufliste.txt`";;
  reboot)
    echo -e "</body></html>";/sbin/reboot;;
  wstart)
    /etc/init.d/rc.net wlanstart;;
  wstop)
    /etc/init.d/rc.net wlanstop;;
  wreload)
    /etc/init.d/rc.net wlanreload;;
  wstatus)
    echo "`/sbin/ifconfig|grep wlan`";;
  vstart)
    /etc/init.d/rc.voip start;;
  vstop)
    /etc/init.d/rc.voip stop;;
  vreload)
    /etc/init.d/rc.voip reload;;
  vstatus)
    echo "`/bin/pidof voipd`";;
  dstart)
    /sbin/dsld -i -n;;
  dstop)
    /sbin/dsld -s;;
  dreload)
    /sbin/init.d/rc.net reload dsld;;
  dstatus)
     echo "`/bin/pidof dsld`";;
  *)
    echo "Unbekannter Parameter";;
esac
echo -e "</body></html>"

ENDCMD

# make it executable
chmod 777 /var/tmp/cgi-bin/???*

2-) Download fbcontrol.zip für d-box 2.(FRITZ!Box.sh ändern wie unten)
Code:
#!/bin/sh
FBIP=fritz.box
FILE=/tmp/wget.out
LOCAL=file://127.0.0.1/../../..$FILE
CMD=http://$FBIP/cgi-bin/cmd?
TUXWET=/var/plugins/tuxwet/tuxwetter
wcall()
{
  wget -q -O /dev/null $CMD$1 &
  sleep 3
  killall wget
  echo "$3" > $FILE
  $TUXWET "TXTPLAIN=$2,$LOCAL"
}
case $1
in
  anrufe)
    wget -q -O $FILE $CMD'anrufe'
    if [ "`cat $FILE  | grep cat:`" != "" ];then
      echo -e "<html><body>\n~RDie Anrufliste ist leer!~S\n</body></html>" > $FILE
    fi
    $TUXWET "TXTHTML=FRITZ!Box Anrufliste,$LOCAL|<html><body>|</body></html>";;
  anrufeloschen)
    wcall $1 "Anrufliste Löschen" "Die Andrufliste wurde gelöscht...";;
  status)
    wget -q -O $FILE $CMD'uptime'
    TXT="`cat $FILE|grep -v html`"
    HW=`echo -e "$TXT"|grep ProduktName|awk -F \' '{print $2}'`
    RUNCLOCK=`echo -e "$TXT"|grep "running:"`
    R_JAHRE="`echo -e "$RUNCLOCK"|awk '{print $10}'`"
    R_MONATE="`echo -e "$RUNCLOCK"|awk '{print $8}'`"
    R_TAGE="`echo -e "$RUNCLOCK"|awk '{print $6}'`"
    R_STUNDEN="`echo -e "$RUNCLOCK"|awk '{print $4}'`"
    R_STARTS="`echo -e "$RUNCLOCK"|awk '{print $12}'|sed 's/(//g'`"
    UPTIME=`echo -e "$TXT"|grep "load average:"`
    CPU_LOAD="`echo $UPTIME|awk -F average: '{print $2}'|sed 's/[.,]//g'`"
    CPU1="`echo $CPU_LOAD|awk '{print $1}'`"
    CPU2="`echo $CPU_LOAD|awk '{print $2}'`"
    CPU3="`echo $CPU_LOAD|awk '{print $3}'`"
    if [ "`echo $UPTIME|grep day`" != "" ];then
      U_TAGE="`echo $UPTIME|awk '{print $3}`"
      U_STUNDEN="`echo $UPTIME|awk '{print $5}'|awk -F : '{print $1}'`"
      U_MINUTEN="`echo $UPTIME|awk '{print $5}'|sed 's/,//g'|awk -F : '{print $2}'`"
    else
      U_TAGE="0"
      if [ "`echo $UPTIME|grep min`" != "" ];then
        U_STUNDEN="0"
        U_MINUTEN="`echo $UPTIME|awk '{print $3}'`"
      else
        U_STUNDEN="`echo $UPTIME|awk '{print $3}'|awk -F : '{print $1}'`"
        U_MINUTEN="`echo $UPTIME|awk '{print $3}'|sed 's/,//g'|awk -F : '{print $2}'`"
      fi
    fi
    if [ "$R_JAHRE" = "1" ];then
      R_JAHRE="$R_JAHRE Jahr"
    else
      R_JAHRE="$R_JAHRE Jahre"
    fi
    if [ "$R_MONATE" = "1" ]; then
      R_MONATE="$R_MONATE Monat"
    else
      R_MONATE="$R_MONATE Monate"
    fi
    if [ "$TAGE" = "1" ]; then
      R_TAGE="$R_TAGE Tag"
    else
      R_TAGE="$R_TAGE Tage"
    fi
    if [ "$R_STUNDEN" = "1" ]; then
      R_STUNDEN="$R_STUNDEN Stunde"
    else
      R_STUNDEN="$R_STUNDEN Stunden"
    fi
    if [ "$U_TAGE" = "1" ]; then
      U_TAGE="$U_TAGE Tag"
    else
      U_TAGE="$U_TAGE Tage"
    fi
    if [ "$U_STUNDEN" = "1" ]; then
      U_STUNDEN="$U_STUNDEN Stunde"
    else
      U_STUNDEN="$U_STUNDEN Stunden"
    fi
    if [ "$U_MINUTEN" = "1" ]; then
      U_MINUTEN="$U_MINUTEN Minute"
    else
      U_MINUTEN="$U_MINUTEN Minuten"
    fi
    wget -q -O $FILE $CMD'wstatus'
    if [ "`cat $FILE|grep -v html`" = "" ]; then
      WLAN="~RAusgeschaltet"
    else
      WLAN="~GEingeschaltet"
    fi
    wget -q -O $FILE $CMD'vstatus'
    if [ "`cat $FILE|grep -v html`" = "" ]; then
      VOIP="~RAusgeschaltet"
    else
      VOIP="~GEingeschaltet"
    fi
    wget -q -O $FILE $CMD'dstatus'
    if [ "`cat $FILE|grep -v html`" = "" ]; then
      DSL="~RAusgeschaltet"
    else
      DSL="~GEingeschaltet"
    fi
    echo "~BHardware:~S $HW\n" > $FILE
    echo "~BLaufzeit:~S $U_TAGE $U_STUNDEN $U_MINUTEN\n" >> $FILE
    echo "~BGesamt:~S $R_JAHRE $R_MONATE $R_TAGE $R_STUNDEN\n" >> $FILE
    echo "~BNeustarts:~S $R_STARTS\n" >> $FILE
    echo "~BCPU Last:~S "`expr $CPU1 \* 1`"%, "`expr $CPU2 \* 1`"%, "`expr $CPU3 \* 1`"% (1, 5, 15 min.)\n" >> $FILE
    echo "~BWLAN: $WLAN\n" >> $FILE
    echo "~BVOIP : $VOIP\n" >> $FILE
    echo "~BDSL   : $DSL\n" >> $FILE
    $TUXWET "TXTPLAIN=FRITZ!Box Status,$LOCAL";;
  wstart)
    wcall $1 "FRITZ!Box WLAN" "WLAN auf der FRITZ!Box wurde eingeschaltet.";;
  wstop)
    wcall $1 "FRITZ!Box WLAN" "WLAN auf der FRITZ!Box wurde ausgeschaltet.";;
  wreload)
    wcall $1 "FRITZ!Box WLAN" "WLAN auf der FRITZ!Box wurde neu gestartet.";;
  vstart)
    wcall $1 "FRITZ!Box VOIP" "VOIP auf der FRITZ!Box wurde eingeschaltet.";;
  vstop)
    wcall $1 "FRITZ!Box VOIP" "VOIP auf der FRITZ!Box wurde ausgeschaltet.";;
  vreload)
    wcall $1 "FRITZ!Box VOIP" "VOIP auf der FRITZ!Box wurde neu gestartet.";;
  dstart)
    wcall $1 "FRITZ!Box DSL" "DSL auf der FRITZ!Box wurde eingeschaltet.";;
  dstop)
    wcall $1 "FRITZ!Box DSL" "DSL auf der FRITZ!Box wurde ausgeschaltet.";;
  dreload)
    wget -q -O /dev/null $CMD'dstop'
    wcall dstart "FRITZ!Box DSL" "DSL auf der FRITZ!Box wurde neu gestartet.";;
  reboot)
    wcall $1 "FRITZ!Box Reboot" "Die FRITZ!Box wird jetzt neu gestartet...";;
  *)
    echo "Unbekannter Parameter!"
esac
rm $FILE


3-) in listener von callmonitor einzufügen ;
Code:
in:cancel ^ ^ date +"~BZeit:~S %d.%m.%Y, %H:%M:%S Uhr\\n~BAnrufer :~S ${SOURCE_NAME}\\n~BNummer:~S ${SOURCE}\\n~BLeitung :~S ${PROVIDER}" > /var/tmp/anrufliste.tmp
in:cancel ^ ^ echo "~Y----------------------------------------------------------------------~S" >> /var/tmp/anrufliste.tmp
in:cancel ^ ^ sed  '100,$d' /var/tmp/anrufliste.txt >> /var/tmp/anrufliste.tmp
in:cancel ^ ^ mv /var/tmp/anrufliste.tmp /var/tmp/anrufliste.txt
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

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

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