Svdrp-isdn-from-fli4l
Aus VDR Wiki
(Unterschied zwischen Versionen)
Version vom 6. September 2004, 18:06 Uhr
Dieses Script kann über die commands.conf auf dem VDR aufgerufen werden. Es holt vom fli4l-Router Statusinformationen (z.B. uptime, DSL-Status incl. IP-Adresse) sowie die gespeicherten ISDN-Anrufe, ergänzt diese bei Bedarf um die Namen (Zuordnung in Datei /etc/vdr/phone.txt) und zeigt alle Informationen an.
Format der Telefonnummerdatei /etc/vdr/phone.txt:
nummer=name
Hier das Script:
#!/bin/sh host=fli4lHost port=5000 cmd="nc -w 2 $host $port" tmp=/tmp/vdrFli4l phone=/etc/vdr/phone.txt export COLUMNS=512 lines=20 rm -f $tmp
##############################################
# get uptime from router
##############################################
seconds=`\
{
echo uptime
echo quit
} | $cmd | awk '{print substr($2,1,length($2)-1);}'`
uptime=`/usr/local/bin/tt $seconds`
##############################################
# get status of pppoe device
##############################################
statusDSL=`\
{
echo status pppoe
echo quit
} | $cmd | awk '{print substr($2,1,length($2)-1);}'`
##############################################
# get ip of pppoe device
##############################################
ipDSL=`\
{
echo ip pppoe
echo quit
} | $cmd | awk '{print substr($2,1,length($2)-1);}'`
##############################################
printf "*************************************
Router
*************************************
Up since $uptime
DSL: ${statusDSL}"
if [ "$statusDSL" = "Online" ]
then
printf " (IP: $ipDSL)"
fi
printf "
*************************************
Calls
*************************************\n"
{
echo telmond-log-file
echo quit
} | $cmd | grep -v OK | sort -r | sed -e 's/ /=/g' > $tmp
awk '
BEGIN { FS="="; }
FILENAME ~ /phone/\
{
phonebook[$1] = $2;
}
FILENAME ~ /tmp/\
{
number=$4;
caller=phonebook[number];
if (caller == "")
caller=number;
printf ("%s %s %s\n", $2, $3, caller);
}
' $phone $tmp
printf "*************************************\n"