#!/bin/sh
# Meldung eingehender Anrufe der FB via Mail
# Rev. 04.2010 by Lemur / angepasst StefanSK 26.-03.08.2010
#############################################
# Einstellungen
VZDIR="/var/media/ftp/USB-DISK-USB-DISK-01/CallLog" # Arbeitsverzeichniss
BLLOG="${VZDIR}/logs/black-log.txt" # Logfile nicht gefundener Eintraege
DEBUG="OFF" # Konsolen Debug ausgabe zum testen
SMSGW="OFF" # SMS zustellung
#############################################
# Script Variablen
CID=$1 # CID die ruft
MSN=$2 # MSN die gerufen wird
LINE=$3 # Leitung die gerufen wird
FBTB=$5 # Name des internen Telefonbuchs, falls vorhanden
#############################################
# Script Initialisierung
if [ "$DEBUG" = "ON" ] ; then echo "Script start mit CID=$1 , MSN=$2 , LINE=$3 , FBTB=$5" ; fi
if [ "$CID" = "" ] ; then
CID="Unbekannt"
output="<b>Der Anrufer hat seine Telefonnummer nicht übermittelt</b>."
if [ "$DEBUG" = "ON" ] ; then echo "Die CID wurde nicht übergeben - Suche übersprungen." ; fi
else
# Pruefe in Whitelist & internem Telefonbuch
daten=$(cat ${VZDIR}/whitelist.txt | grep -c $1);
if [ "$daten" != "0" ] ; then output=$(cat ${VZDIR}/whitelist.txt | grep $CID | sed 's/;/+/g;s/[^+]*+//;s/^/Inhaber: <br><b>/;s!+!</b>+!;s!+!<br />!g'); fi
if [ "$daten" = "0" ] ; then output="Inhaber: <b> <br />$5</b>" ; fi
if [ "$5" != "" ] ; then daten="1" ; fi
if [ "$DEBUG" = "ON" ] ; then echo "Whitelist ergab: Output=$output , Daten=$daten" ; fi
# Falls notwendig, prüfe in online Verzeichnis KLICKTEL
if [ "$daten" = "0" ] ; then url="http://www.klicktel.de/inverssuche/index/search?method=searchSimple&_dvform_posted=1&phoneNumber=$1" ; wget -q -O ${VZDIR}/tmp.htm "$url"
sleep 5 ; daten="5" ;
tbname=$(cat ${VZDIR}/tmp.htm | grep "namelink" | sed 's/<[^<]*>/\ /g;s/ //;s/ /, /');
adress=$(cat ${VZDIR}/tmp.htm | sed 's!/!!g' | sed -n '/p class="data track"/,/p>/p' | sed '/p class="data track"/d;$d' | sed 's!<br >! <br />!g');
tbnum=$(cat ${VZDIR}/tmp.htm | grep "phoneNumber" | sed 's/"phoneNumber" value="/ #/;s/.*\#//;s/"/ # /;/^#/d;s/#.*$//g;s/ //g');
output="Inhaber: <b> <br />$tbname </b> <br />$adress <br />Tel.:$tbnum"
if [ -z "$tbname" ] ; then daten="0" ; output="Der Anschlussinhaber konnte nicht ermittelt werden." ; echo -e "`date +\"%y.%m.%d-%H:%M\"` - auf MSN: $MSN - no result in KlickTel Database - CID: $CID" >> ${BLLOG} ; fi
if [ "$DEBUG" = "ON" ] ; then echo "KlickTel ergab: OUTPUT=$output , daten=$daten" ; fi
fi
# Falls notwendig, prüfe in online Verzeichnis DAS TELEFONBUCH
if [ "$daten" = "0" ] ; then url="http://www2.dastelefonbuch.de/?la=de&bi=15&kw=$1&cmd=search" ; wget -q -O ${VZDIR}/tmp.htm "$url"
sleep 5 ; daten="5" ; daten=$(cat ${VZDIR}/tmp.htm | grep -c "long hide");
if [ "$daten" != "0" ] ; then
echo "<b>Inhaber: </b><br />" > ${VZDIR}/tmp1.htm
cat ${VZDIR}/tmp.htm | sed -n -e '/class="long hide"/,/div/p' >> ${VZDIR}/tmp1.htm
cat ${VZDIR}/tmp.htm | sed -n -e '/class="no-icon"/,/div/p' >> ${VZDIR}/tmp1.htm
output=$(cat ${VZDIR}/tmp1.htm);
else output="Der Anschlussinhaber konnte nicht ermittelt werden." ; echo -e "`date +\"%y.%m.%d-%H:%M\"` - auf MSN: $MSN - no result in T - Com Database - CID: $CID" >> ${BLLOG} ;
fi
if [ "$DEBUG" = "ON" ] ; then echo "T-Com ergab: OUTPUT=$output , daten=$daten" ; fi
fi
fi
BODYHEAD="<html><body><b> <font face="arial" size="2"> Telefonsystem | Anrufinformation:</b><br /><br /> $output <br /><br /> <font color="#666666"> Status: $3 $4 <br/> Von Nummer: $CID <br /> Auf Leitung: $2 <br/> Um: `date -R` CET <br /><br /> <br /> <br />"
BODYFOOT="Lemur & StefanSK (c) 08/2010 </html>"
echo -e $BODYHEAD > ${VZDIR}/result.htm
echo -e $BODYFOOT >> ${VZDIR}/result.htm
#############################################
# Adressierungseinstellung
case "$2" in
MSN1 | MSN2)
[email protected]
SMSGW="OFF"
;;
MSN3 )
[email protected]
[email protected]
;;
MSN4 | MSN5 | MSN6 | MSN7 )
[email protected]
SMSGW="OFF"
;;
esac ;
if [ "$DEBUG" = "ON" ] ; then echo "E-Mail für $TOADRESS vorbereitet." ; fi
if [ -z "$TOADDRESS" ] ; then exit ; fi
#############################################
# Mailer
/sbin/mailer \
-s "Von $CID auf $MSN um `date +\"%H:%M am %d.%m.%y\"`"\
-f 'Fritz!Box 7270 | Standort <[email protected]>' \
-t "$TOADDRESS" \
-m smtp.server \
-a smtp.user \
-w 'password' \
-l SSL \
-i '/var/media/ftp/USB-DISK-USB-DISK-01/CallLog/result.htm'
#############################################
# SMS Service
if [ "$SMSGW" = "ON" ] ; then
sed -n -f $VZDIR/html2sms.sed $VZDIR/result.htm > $VZDIR/smstext.txt
/sbin/mailer \
-s "auth|pass|gateway=1"\
-f 'Telefonsystem | XXXXX Group <[email protected]>' \
-t "$TOSMS" \
-m smtp.server.tld \
-a smtp-auth \
-w smtp-pass \
-l SSL \
-i '/var/media/ftp/USB-DISK-USB-DISK-01/CallLog/smstext.txt'
fi
#############################################
# System bereinigen
if [ "$DEBUG" = "ON" ] ; then
echo "Mail verarbeitet, löschen unterbrochen."
else
rm ${VZDIR}/*.htm
rm ${VZDIR}/smstext.txt
rm ${VZDIR}/tmp.htm ; rm ${VZDIR}/tmp1.htm
fi
exit 0