Quick'n'Dirty: SMS-Benachrichtigung bei eingehenden Anrufen

Hallo Zusammen,

bin aktuell noch mit der quasi einfachsten Version des Skriptes unterwegs und begeistert.
Allerdings möchte ich genau bei meiner eigenen Nummer und bei allen Rufnummern die mit 0180 beginnen keine Benachrichtgung.
Die 0180 Nummern landen bei mir automatisch auf dem "SPAM-Anrufbeantworter" der Fritz!Box, nur die Benachrichtigung kommt eben noch.

Wie muss ich den Code modifizieren, dass ich bei bestimmten übertragenen Rufnummern keine Benachrichtigung bekomme?


Danke und Grüße,
Tom
 
Mahlzeit (00:13 Uhr) :D und Gute Nacht (12:00 Uhr) :D.

Hab was schlimmes festgestellt. Als ich das mal mit dem Calllog testen wollte, ist mir was aufgefallen.
Bei dem Script:
#! /bin/sh
echo "`date +\"%d.%m.%y %H:%M\"` - Anruf von $1 auf Leitung $2 ($3) $4"
/sbin/mailer \
-s "`date +\"%d.%m.%y %H:%M\"` - Anruf von $1 auf Leitung $2 ($3) $4" \
-f '"Fritz!Box" <[email protected]>' \
-t "[email protected]" \
-m mail.provider.de \
-a username \
-w "password" \
# 2> /dev/null

funktioniert die Fernwartung nicht mehr. Ich hab das mit diesem Script ausgetestet und wenn ein paar anrufe kommen, dann geht keine Fernwartung und auch kein Fritzload mehr von aussen. Kann das einer irgendwie logisch erklären an was das liegt?
MfG dave
 
Ich kann da keinen Zusammenhang erkennen.

calllog und mailer sind standartmäßig auf der Box vorhanden und teilw. auch von anderen Diensten in Benutzung.

Was sagt den ps, top, bzw. syslog von der Box, die sich im Status "keine Fernwartung / Fritzload" befindet?, und wie kommst Du darauf, das dieses Script dafür die Ursache ist?

Grüße

BTW müsste das nicht
Code:
 #!/bin/sh
heißen?
 
Mahlzeit. hab mittlerweile den Fehler gefunden. Es hing an der DynDNS. Der hatte nicht aktualisiert. Ich dachte das wäre das Script gewesen, der den Fehler hervorruft, weil es genau an dem abend war, wo der fehler das erste mal auftauchte.

Hat sich also damit erledigt.

MfG Dave
 
Hallo zusammen,
Nach einigem Hin und Her ist mir eingefallen, dass ich von the-construct.com eine gemoddete Firmware/debug.cfg habe.

gleiches problem
erhalte dann folgenden fehler:
: not foundh/calllog: /var/flash/calllog: 2:
/var/flash/calllog: /var/flash/calllog: 32: Syntax error: word unexpected (expecting "in")

mein fehler - hatte immer im ftp tool editiert - bzw. mit dem windows editor gearbeitet ...
irgendwie ging da nichts (die leerzeichen machten proleme) - dann sollte es doch mit vi funktionieren..

vll. hilft die info jmd.

grüsse
 
Zuletzt bearbeitet:
habe für mich mal ein Script zusammengebastelt, was meinen wünschen entspricht.

Es wird mir jetzt per Mail jeder einkommende Aruf in der Betreffzeile mit dem Namen und der Nummer des Anrufenden und auf welcher Leitung er angerufen hat angezeigt.

Bisher war in der Mail aber im Textfeld immer der Satz "0123456789 jetzt anrufen? " angezeigt. Nach der Umstellung auf das auslesen des FB Telefonbuches fehlt mir dieser Satz. Obwohl er in dem Script ja drin steht.
echo "$callerid jetzt anrufen?"

Weiß jemand, wo ich da einen Fehler habe?

#! /bin/sh
callerid="$1"
name="$5"
echo "$callerid jetzt anrufen?"
/sbin/mailer \
-s "Anruf von $name mit $callerid auf Leitung $2 ($3) $4" \
-f '"Fritz!Box" <[email protected]>' \
-t "[email protected]" \
-m mail.wohin.de \
-a pass \
-w "konto" \
# 2> /dev/null
 
ich habe das script aus post 251 genommen.
beim anruf und beim manuellen aufruf (sh /var/flash/calllog $nr_anrufender $nr_angerufene) wird die datei var/tmp/calllog.txt mit dem gewünschtem inhalt erstellt.
ich bekomme aber keine Mail.
Ich weiss noch nicht so recht woran das liegt. gibt es ein log von dem mailer?

EDIT.
ich habe
den mailer manuell gestartet über telnet um eine testmail zu versenden. er bringt keine fehlermeldung, aber es passiert auch nichts. wo kann ich irgend ein log-file sehen?
 
Zuletzt bearbeitet:
Hallo,

Kann mir Jemand helfen nur Rückwärtssuche aber mit der Anzeige auf dem ISDN Telefon ohne Freetz, Dtmfbox usw. zu realisieren?

MfG

Heimatkanal
 
Hallo,

auch ich nutze das Skript aus #251, doch leider
funktioniert die Rückwärtssuche nicht, hat sich
da was am Code geändert?

Danke !
 
Versuchs mal hiermit:

Code:
#!/bin/sh

callerid=$1
name=$5
if [ -z "$callerid" ]
then
callerid="Unbekannt";
invisible="\r\n Die Rufnummer des Anrufers wurde unterdrueckt.\r\n\r\n Sofern der Anrufer eine Nachricht hinterlassen hat, erhalten Sie diese in einer separaten E-Mail.\r\n "
else
if [ -z "$5" ]
then
url="http://dastelefonbuch.de/?sp=55&aktion=23&ort=&cifav=0&s=a10000&stype=S&la=de&cmd=search&ort_ok=0&vert_ok=0&x=31&y=9&kw=$1";
sleep 5
name=$(wget -q -O - "$url" | grep class=\"short\" | sed -e 's/<[^<]*>/\ /g;s/^[a-zA-Z0-9]*//;s/ / /g');
street=$(wget -q -O - "$url" | grep class=\"col2\" | sed -e 's/<[^<]*>/\ /g;s/^[a-zA-Z0-9]*//;s/ / /g' -e 's/&nbsp;/ /g');
city=$(wget -q -O - "$url" | grep class=\"col3\" | sed -e 's/<[^<]*>/\ /g;s/^[a-zA-Z0-9]*//;s/ / /g' -e 's/&nbsp;/ /g');
if [ -z "$name" ]
then
invisible="\r\nDer Anschlussinhaber konnte nicht ermittelt werden, oder hat einer Verzeichniseintragung widersprochen.\r\n "
else
vcard=$(wget -q -O - "$url" | grep VCard | sed 's/" target=.*// ; s/^.*href="//');
wget -q -O "/var/tmp/eintrag.vcf" "http://www3.dastelefonbuch.de/$vcard"
fi
fi
fi
output="Informationen ueber eingegangenen Anruf:\r\n $invisible \r\n Inhaber: $name \r\n Adresse: $street \r\n PLZ Ort: $city\r\n\r\n Anrufer MSN: $callerid \r\n Auf Leitung: $2 ($3) $4 \r\n Anruf Zeit: `date +\"am %d.%m.%y, um %H:%M \"`"\

echo -e $output >/var/tmp/calllog.txt

/sbin/mailer \
  -s "`date +\"%d.%m.%y %H:%M\"` - Anruf von $1 $name auf Leitung $2 ($3)" \
  -f '"Fritz!Box" | <[email protected]>' \
  -t "[email protected]" \
  -m smtp.gmail.com:587 \
  -a [email protected] \
  -w "Passwort" \
  -i '/var/tmp/calllog.txt' \
  -d /var/tmp/eintrag.vcf 

#  2> /dev/null

have fun :)
 
Danke für deine rasche Antwort!

Wenn jemand anruft, den ich manuell in der Rückwärtssuche
von dastelefonbuch.de finde, erscheinen im Betreff der E-Mail
($name) mehrere Leerzeichen, auch Inhaber, Adresse, PLZ Ort
sind durch leere Zeilen voneinander getrennt, die VCF-Datei
ist leer ...

komisch, oder?

Anruf von AnruferMSN am 15.02.10 um 15:07 auf Leitung MeineNummer(POTS)

Informationen ueber eingegangenen Anruf:

Inhaber:

Adresse:


PLZ Ort:



Anrufer MSN: AnruferMSN
Auf Leitung: meineNummer (POTS)
Anruf Zeit: am 15.02.10, um 15:07
 
Versuchs mal damit.....

Code:
#!/bin/sh

callerid=$1
name=$5
calllogtxt="/var/tmp/calllog.txt"
if [ -z "$callerid" ]
then
	callerid="Unbekannt";
	output="\r\n Anruf von $callerid auf Leitung $2\r\n Am `date +\"%d.%m.%y, um %H:%M Uhr.\"`\r\n\r\n Die Rufnummer des Anrufers wurde unterdrueckt."
else
	if [ -z "$5" ]
	then
		url="http://dastelefonbuch.de/?sp=55&aktion=23&ort=&cifav=0&s=a10000&stype=S&la=de&cmd=search&ort_ok=0&vert_ok=0&x=31&y=9&kw=$1";
		name=$(wget -q -O - "$url" | grep -A 1 class=\"short\" | sed -e 's/<[^<]*>/\ /g;s/^[a-zA-Z0-9]*//;s/ / /g;s/[^ -~]//g');
		street=$(wget -q -O - "$url" | grep -A 1 class=\"col2\" | sed -e 's/<[^<]*>/\ /g;s/^[a-zA-Z0-9]*//;s/ / /g;s/&nbsp;/ /g;s/[^ -~]//g;s/--//g');
		city=$(wget -q -O - "$url" | grep -A 1 class=\"col3\" | sed -e 's/<[^<]*>/\ /g;s/^[a-zA-Z0-9]*//;s/ / /g;s/&nbsp;/ /g;s/[^ -~]//g;s/--//g');
		caller="\r\n Anruf von $name $callerid auf Leitung $2\r\n Am `date +\"%d.%m.%y, um %H:%M Uhr.\"`"
		if [ -z "$name" ]
		then
			output="$caller\r\n\r\n Der Anschlussinhaber konnte leider nicht ermittelt werden."
		else
			vcard=$(wget -q -O - "$url" | grep VCard | sed 's/" target=.*// ; s/^.*href="//');
			output="$caller\r\n\r\n Adresse des Anrufers:\r\n\r\n $name\r\n $street\r\n $city"
		fi
	fi
fi
echo -e $output >$calllogtxt
echo -e "\r\n\r\n Sofern der Anrufer eine Nachricht hinterlassen hat, erhalten Sie diese in einer separaten E-Mail.\r\n" >>$calllogtxt
cat $calllogtxt

/sbin/mailer \
	-s "Anruf von $name $1 auf $2 - `date +"%d.%m.-%H:%M\"`" \
	-f "[email protected]" \
	-t "[email protected]" \
	-m "smtp.wer.de" \
	-a "[email protected]" \
	-w "*****" \
	-i $calllogtxt \
       -d /var/tmp/eintrag.vcf 
#  2> /dev/null

Nach ein wenig basteln funzt es bei mir.
Lediglich die Umlaute werden noch verschluckt, da muss der sed Filter noch erweitert werden.

Viel Spaß,

Roger
 
wow, das Skript von Roger funktioniert echt prima mit der Rückwärtssuche.
Aber: Sofern ein unbekannter Teilnehmer anruft, wird
entgegen dem Skript nicht "Unbekannt" ausgegeben, sondern
ein Leerzeichen, also "Anruf von auf ...".
 
so, da ich eine recht einfache Benachrichtigung möchte (alles im Betreff)
habe ich mir mal folgendes zusammengebastelt:

Code:
#!/bin/sh

callerid=$1
name=$5
if [ -z "$callerid" ]
  then
    callerid="Unbekannt";
else
	if [ -z "$5" ]
	then
		url="http://dastelefonbuch.de/?sp=55&aktion=23&ort=&cifav=0&s=a10000&stype=S&la=de&cmd=search&ort_ok=0&vert_ok=0&x=31&y=9&kw=$1";
		name=$(wget -q -O - "$url" | grep -A 1 class=\"short\" | sed -e 's/<[^<]*>/\ /g;s/^[a-zA-Z0-9]*//;s/ / /g;s/[^ -~]//g');
		fi
fi

/sbin/mailer \
          -s "$name $callerid auf $2 ($3) $4 um `date +\"%H:%M am %d.%m.%y\"`"\
          -f 'Fritz!Box <[email protected]>' \
          -t "Empfängeremail" \
          -m 'mail.xxx.de' \
          -a 'Benutzername' \
          -w 'Passwort' \

2> /dev/null

soweit so gut,
Aber: Die vorrangige Abfrage des Fritzboxtelefonbuchs vor
der Rückwärtssuche funktioniert nicht, das Skript sucht
bei dastelefonbuch.de obwohl die Nummer im Fritzboxtelefonbuch
eingetragen wurde ...

Kann mir jmd. helfen?
 
Code:
#!/bin/sh

callerid=$1
name=$5
if [ -z "$callerid" ]
  then
    callerid="Unbekannt";
    [COLOR="Red"]name="Unbekannt";[/COLOR]
else
	if [ -z "$5" ]
	then
		url="http://dastelefonbuch.de/?sp=55&aktion=23&ort=&cifav=0&s=a10000&stype=S&la=de&cmd=search&ort_ok=0&vert_ok=0&x=31&y=9&kw=$1";
		name=$(wget -q -O - "$url" | grep -A 1 class=\"short\" | sed -e 's/<[^<]*>/\ /g;s/^[a-zA-Z0-9]*//;s/ / /g;s/[^ -~]//g');
		fi
fi

/sbin/mailer \
          -s "$name $callerid auf $2 ($3) $4 um `date +\"%H:%M am %d.%m.%y\"`"\
          -f 'Fritz!Box <[email protected]>' \
          -t "Empfängeremail" \
          -m 'mail.xxx.de' \
          -a 'Benutzername' \
          -w 'Passwort' \

2> /dev/null
Der rote Eintrag sollte hoffentlich deine beiden Probleme lösen.

Joe
 
also: Der Code aus #336 scheint doch zu funktionieren,
mein Fehler lag wohl darin, dass ich das Skript über
/var/temp/calllog "Rufnummer" aufgerufen habe, wenn jmd. anruft
funktioniert auch die vorrangige Abfrage des Fritzboxtelefonbuchs.

Danke trotzdem an Joe!
 
Ich bitte euch um Hilfe.

Seit etlicher Zeit läuft bei mir die Mailbenachrichtigung. Nun habe ich hier gesehen, dass man nun auch filtern kann, dass man nur über vermisste Anruf benachrichtigt wird.
Leider fehlen mir die tiefergehenden Script-Kenntnisse, ich bekomm das auch einfach nicht in meinen Kopf, wie es vielen hier gehen wird.

Wo beim folgenden Script müsste was rein, damit der "nur verpasste Anrufe"-Filter funktioniert?

Code:
export REQUEST_METHOD="POST"
export REMOTE_ADDR="192.168.178.1"
export CONTENT_TYPE="application/x-www-form-urlencoded"
POST_DATA="login:command/password=FRITZBOXKENNWORT"
export CONTENT_LENGTH=${#POST_DATA}
echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null#!/bin/sh

callerid=$1
name=$5
if [ -z "$callerid" ]
  then
    callerid="Nr. unterdrueckt bzw. nicht uebertragen";
    name="Unterdrueckte Nummer"
fi
if [ -z "$name" ]
  then
    name="Unbekannt ($callerid)"
fi

         output="Neuer Anruf von $name `date +\"am %d.%m.%y um %H:%M Uhr ($callerid). \"`"\


         echo -e $output >/var/tmp/calllog.txt



.
.
.
.

/sbin/mailer \
          -s "Anruf: $name"\
          -f 'Fritz!Box Anrufliste <ABSENDER@ADRESSE>' \
          -t EMPFÄNGER@ADRESSE \
          -m smtp.MAIL.de \
          -a NUTZERNAME \
          -w KENNWORT \
          -i '/var/tmp/calllog.txt'

        2> /dev/null
Vielen Dank schonmal! :)
 
Hallo zusammen,

ersteinmal danke an alle für den Fred, ich habe mir aus vielen Einzelstücken hier einen für mich brauchbaren "calllog Mailer" gebastelt.

Allerdings würde auch ich gerne nur die verpassten anrufe melden.
Bei meiner Suche bin ich daran gescheitert, das die neuen Firmwares SID und MD5 Hash verwenden.

Jetzt habe ich bei wehavemorefun gefunden, wie man trotzdem die anruferliste.csv abrufen könne.
http://www.wehavemorefun.de/fritzbox/Hilfsprogramme_/_Tipps_&_Tricks#Anrufliste_von_der_Box_holen_.28Beispiel_f.C3.BCr_neues_Loginverfahren_mit_SID.29

Leider scheitert dies wiederrum daran, das die Original Busybox der fritzbox kein AWK kann.

Kann man das Ergebnis von AWK nicht anders erreichen?
Wenn ich G00gle's Antworten zu awk richtig verstanden habe müsste es sich doch durch eine grep/sed Kombi ersetzen lassen?

Leider habe ich Linux-Shell wissen nahe null, sodaß ich alleine nicht weiter komme.

Die Busybox will ich nicht austauschen, da ich befürchte, das dann meine FB zum Briefbeschwerer wird...

Kann hier jemand...
 
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.