- Mitglied seit
- 10 Apr 2006
- Beiträge
- 1,437
- Punkte für Reaktionen
- 0
- Punkte
- 36
Hi zusammen,
wie kann ich das realisieren dass bei einem Anruf auf der Fritzbox ein bestimmter Befehl auf meinem Receiver ausgeführt wird?
das ist die bisherige debug bzw der wichtige Teil davon , wo ich davon ausgehe, dass mein Vorhaben da irgendwo rein muss. Was schon realisiert ist, ist die Tatsache, dass die Fritz auf meine Handynummer reagiert und einen Neustart auslöst. Geht sowas auch für ein anderes Gerät das im Netzwerk vorhanden ist?
wie kann ich das realisieren dass bei einem Anruf auf der Fritzbox ein bestimmter Befehl auf meinem Receiver ausgeführt wird?
das ist die bisherige debug bzw der wichtige Teil davon , wo ich davon ausgehe, dass mein Vorhaben da irgendwo rein muss. Was schon realisiert ist, ist die Tatsache, dass die Fritz auf meine Handynummer reagiert und einen Neustart auslöst. Geht sowas auch für ein anderes Gerät das im Netzwerk vorhanden ist?
Code:
LED_DEVICE=/proc/led_mod/led
if [ ! -f /proc/led_mod/led ] ; then
LED_DEVICE=/var/led
echo "set led: ${LED_DEVICE}"
fi
# start internet phone led flashing
echo "set internet phone led to blink (modul=14, state=3)"
echo 14,3 > ${LED_DEVICE}
# check kernel version
KERNEL_VERSION=`uname -r | grep 2.6`
if [ -z "${KERNEL_VERSION}" ]
then
KERNEL_VERSION="linux24"
ETHERWAKE="etherwake"
else
KERNEL_VERSION="linux26"
ETHERWAKE="ether-wake"
fi
# init busybox var
BUSYBOX="/bin/busybox"
# wait to be able to interrupt in case of emergency
sleep 50
major=`grep tffs /proc/devices`
tffs_major=${major%%tffs}
#write calllog
cat > /var/calllog << 'ENDCALLLOG'
#!/bin/sh
CALLER=${1}
LINE=${3}
if [ -z "${LINE}" ]
then
LINE=${2}
fi
if [ "${LINE}" = "ISDN" ]
then
LINE=${2}
fi
if [ -z "${LINE}" ]
then
LINE=${1}
CALLER=""
fi
sh /var/tmp/parse_telefon.sh "${LINE}" "${CALLER}" &
ENDCALLLOG
# save /var/calllog
mknod /var/flash/calllog c $tffs_major $((0x77))
cp /var/calllog /var/flash/calllog
# write dummy callmessage script
echo "#!/bin/sh" > /var/tmp/callmessage.sh
# make it executable
chmod +x /var/tmp/callmessage.sh
# write WakeOnCall script
cat > /var/tmp/woc.sh << 'ENDWOC'
#!/bin/sh
pcaller="016xxxxxxxxx"
pcalled="SIP1"
pcalled_reboot="SIP2"
# read params
caller=$2
called=$1
# check if woc is permitted for caller and called
if [ "${pcaller}" = "all" ]
then
if [ "${pcalled}" = "all" ]
then
/var/tmp/startpc
elif [ "${pcalled}" = "${called}" ]
then
/var/tmp/startpc
fi
elif [ "${pcaller}" = "${caller}" ]
then
if [ "${pcalled}" = "all" ]
then
/var/tmp/startpc
elif [ "${pcalled}" = "${called}" ]
then
/var/tmp/startpc
elif [ "${pcalled_reboot}" = "${called}" ]
then
/sbin/reboot
fi
fi
ENDWOC
# make it executable
chmod +x /var/tmp/woc.sh
# write parse_telefon script to file
cat > /var/tmp/parse_telefon.sh << 'ENDPARSETEL'
#!/bin/sh
trap "" SIGCHLD
prefix=
caller="$2"
called="$1"
called=${called%%#*}
# normalize caller
case ${caller} in
0049*)
caller=0${caller#*0049}
;;
49????????*)
caller=0${caller#*49}
;;
[1-9]????????*)
caller=0${caller}
;;
[1-9]*)
caller=${prefix}${caller}
;;
esac
# exec woc.sh
/var/tmp/woc.sh ${called} ${caller} &
# exec callmessage.sh
/var/tmp/callmessage.sh ${called} ${caller} &
ENDPARSETEL