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

Hallo AFP,

der Befehl echo > /var/flash/debug.cfg macht dir deine debug.cfg komplett leer und löscht damit alle Modifikationen (warum machst du denn das?). :noidea:

Neue Dateien sollte man eigentlich immer in /var/tmp erzeugen, also:
Code:
cd /var/tmp
vi calllog
Hast du den vi auch richtig beendet?
Also mit :wq?

Nach dem Kopieren mit cat calllog > /var/flash/calllog kannst du sofort das Ergebnis mit cat /var/flash/calllog überprüfen, ohne den vi zu benutzen.

Joe
 
Zuletzt bearbeitet:
@AFP:
Hast du Dich selbst auch mal angerufen auf der MSN um das ganze zu testen? :)

Dateien unter /var/flash nur mit dem "nvi" editieren oder mit "cat / more" anschauen

br
waldoo
 
Danke schon mal soweit!

Das mit der debug.cfg war dann wohl ne Fehlinformation oder ich hab's falsch gelesen, schau ich gleich nochmal...

Soweit hat's jetzt aber funktioniert, der Inhalt steht in /var/flash/calllog.

Testanruf hab ich gemacht, das mit der debug.cfg war blöd aber soweit denk ich schon :mrgreen: Der Anruf steht auch in /var/tmp/calllog.txt

Mail kommt aber leider immer noch nicht, also noch nen Fehler im Text?!
 
Da hast du wohl diese Daten nicht angepast:
Code:
/sbin/mailer \
          -s "Von $callerid auf $2 ($3) $4 um `date +\"%H:%M am %d.%m.%y\"`"\
          -f 'FritzBox | [COLOR="red"]123456[/COLOR] <[COLOR="Red"][email protected][/COLOR]>' \
          -t "$TOADDRESS" \
          -m [COLOR="red"]smtp.1und1.de[/COLOR] \
          -a [COLOR="red"][email protected][/COLOR] \
          -w [COLOR="red"]Passwort[/COLOR] \
          -i '/var/tmp/calllog.txt'
Die rot gekennzeichneten Einträge müssen natürlich gegen deine eigenen ausgetauscht werden.

Joe
 
Die stehen drin, hab ich nur für den Post rausgenommen.

Das ich mit der gleichen Mailadresse sende und empfange dürfte ja kein Problem sein oder?
Ist übrigens ne Adresse von 1&1, an der Authentifizierung am SMTP Server dürfte es eigentlich auch nicht scheitern, funktioniert beim Push Service auch.
 
rufe die Zeilen ab dem mailer mal via console auf.
Mal schauen, ob da eine Fehlermeldung kommt
 
$TOADDRESS hab ich jetzt mal durch die Mailadresse ersetzt, wird aber nen paar Zeilen vorher definiert, dürfte nichts ausmachen.

rufe die Zeilen ab dem mailer mal via console auf.
Mal schauen, ob da eine Fehlermeldung kommt
Wie mach ich das denn? Hab grad nichts darüber gefunden...

Komisch ist, dass die letzten Anrufe nicht mehr in der calllog.txt stehen, immer nur ein Testanruf von gestern. Liegt das daran, dass es immer die gleiche Nummer ist?
 
Hallo,

also das Pipe Zeichen (|) hat keine Auswirkungen. Ich habe gerade zu Testzwecken das Codefragment mit dem mailer getestet und die Mails kamen an.

Das einzige was nur sein kann, dass die Variable "TOADDRESS" leer ist oder eine ungültige Mailadresse beinhaltet.

Einfach mal auch im kleinen Script testen. Evtl. liegt es auch an den Logindaten.

Zum Thema wie mach ich das:
telnet auf die Box
- "cd /var/tmp"
- "vi test.sh"
dann das Codeschnippsel einfügen
- vi beenden
- "chmod +x test.sh"
- "./test.sh" starten

fertig.

Wenn irgendwas nicht klappt gibt es eine Fehlermeldung, wie jetzt bei mir absichtlich hervorgerufen:
Code:
# ./test.sh
Sep 17 19:18:14 mailer[1455]: Error in LmsoState_AuthPassSend, Server says 535 5.7.0 Error: authentication failed: authentication failure
Sep 17 19:18:16 mailer[1455]: SMTP-Session to ISP terminated unexpectly!!! (State=8)
Sep 17 19:18:16 mailer[1455]: EVENT(212): E-Mail-Zustellung gescheitert. SMTP-Server meldet: "535 5.7.0 Error: authentication failed: authentication failure".
#

Einfach mal probieren.
 
Danke, hab's grad folgendermaßen in die test.sh eingegeben und die Mail kam an.

Code:
#! /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 smtp.1und1.de \
  -a [email protected] \
  -w "password" \
#  2> /dev/null

Hab die Anmeldedaten jetzt genau so in die Calllog geschrieben und bei Testanruf bekomm ich keine Mail. Jetzt schau ich morgen noch mal nach nem Tippfehler oder dergleichen, am Mailer liegt's wohl nicht.
 
Also, hab jetzt die komplette calllog nach dem ersten Post gemacht:

Code:
#! /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 smtp.1und1.de \
  -a [email protected] \
  -w "password" \
#  2> /dev/null

Funktioniert aber auch nicht. Ich bezweifle mal stark, dass es an den ersten beiden Zeilen liegt und der Mailer funktioniert wie im vorherigen Post beschrieben.
Was mich stutzig macht ist, dass in der calllog.txt nur ein Anruf von Vorgestern steht und sonst nichts, egal was ich mache.

Edit:
Jetzt funktioniert es! Wird auch nach Namen gesucht, die im Telefonbuch stehen oder wird nur die Rückwärtssuche gemacht? Bei nem Anruf von einer Handynummer die in der FritzBox steht kommt in der Mail nämlich nur die Nummer.
 
Zuletzt bearbeitet:
Hallo @ all,

nachdem nun alles längere Zeit problemlos lief, habe ich seit einiger Zeit das Problem, dass die Rückwärtssuche offensichtlich nicht funktioniert. Hat dastelefonbuch.de irgend etwas auf seiner Seite verändert?

Frank

edit: Man muss nur einmal laut schimpfen, schon gehts wieder. Keine Ahnung wieso, aber seit eben läuft es wieder, obwohl ich nix, aber auch gar nix an der FBF gemacht habe.
 
Zuletzt bearbeitet:
Gibt es eine Möglichkeit, daß man _nur_ dann eine E-Mail bekommt, wenn der Anruf _nicht_ entgegen genommen wurde?
 
...geht schon, vorrausgesetz man liest den "Anrufstatus" aus, ob dieser direkt als Parameter anliegt, weis ich allerdings nicht.

die dtmf-box macht das standartmäßig (zb. mit "request, canceled, etc.), ggf. kann Dir da jemand helfen, wo der Status abgegriffen wird und demnach hier einzubinden wäre.

Gruß Lemur
 
Ich würde mich auch über eine Möglichkeit freuen, angenommene Anrufe aus der Benachrichtigung ausschließen zu können. Leider fehlen mir die Kenntnisse :-(
 
... der "Anrufstatus" liegt leider nicht als Parameter an. Eine Idee?
 
Das email Postfach filtern lassen ?
 
Wie soll das Postfach das denn filtern, wenn die Mails alle den gleichen Inhalt haben (bis auf die Absender-Rufnummer)? Das ist es ja gerade, dass man den Inhalt der Mail im Moment nicht angenommen-abhängig gestalten "kann".
 
... der "Anrufstatus" liegt leider nicht als Parameter an. Eine Idee?

Nach der Suche im Forum habe ich nun folgendes (aus den Teilen in diversen Beiträgen) zusammengesetzt. Die Voraussetzung ist, dass die Variable $callerid besetzt ist.

Code:
    # anrufliste aufrufen, sonst ist die csv nicht aktuell...
    sleep 60
    url="http://192.168.178.1/cgi-bin/webcm?getpage=../html/de/menus/menu2.html&var:lang=de&var:pagename=foncalls&var:errorpagename=foncalls&var:menu=home"
    wget -q -O - "$url" > /dev/null
    # csv anrufliste auslesen
    # hier sind die neusten zuerst; format:
    # Typ;Datum;Name;Rufnummer;Nebenstelle;Eigene Rufnummer;Dauer
    url="http://192.168.178.1/cgi-bin/webcm?getpage=../html/de/FRITZ!Box_Anrufliste.csv"
    type=$(wget -q -O - "$url" | grep $callerid | head -1 | sed 's/^\(.\).*$/\1/')
    if [ -z "$type" ]
      then
        echo "Anruf (noch) nicht in der Anrufliste"
      else
        case "$type" in
          1*) echo Incoming
              exit
              ;;
          2*) echo Missed
              ;;
          3*) echo Outgoing
              exit
              ;;
          *)  echo Unknown
              ;;
        esac
    fi

    # ...
 
Zuletzt bearbeitet:
echt ne coole Idee vom mrak888. Funktioniert prima, wenn kein FBF-Kennwort vergeben wurde.

Falls die FBF mit einem Kennwort geschützt ist, muss noch die Anmeldung vorab geschehen:
Code:
FBFPASSW="1234"
export REQUEST_METHOD="POST"
export REMOTE_ADDR="127.0.0.1"
export CONTENT_TYPE="application/x-www-form-urlencoded"
POST_DATA="login:command/password=$FBFPASSW"
export CONTENT_LENGTH=${#POST_DATA}
echo -n "$POST_DATA" | /usr/www/html/cgi-bin/webcm > /dev/null

Empfehle die IP: 127.0.0.1 zu verwenden, denn mit localhost klappt das Script dann bei jedem Interessenten.

Werd es gleich mal versuchen, es in mein calllog einzubauen...
 
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.