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

andere Variante dieses Themas....

Ich hatte auch schonmal festgestellt, dass die hin und wieder etwas ändern, und,
habe dann einen anderen Telefonbuchanbieter genommen, und, noch etwas an dem script gebastelt.
Vielleicht findet ja jemand anders das auch interessant was ich eingebaut habe:
1. vcf Card als anhang
2. links zu geographischer information ( google / blackberry Maps) so vorhanden

Kann auch sein, das sowas auch schon von anderen eingebaut wurde, aber, der thread ist ja mittlerweile so lang, dass man nicht alles durchschauen kann.

Auf jeden fall tut das nun schon seit >1 Jahr ohne änderungsnotwendigkeit.

script:
Code:
#!/bin/sh



CID=$1
BASEURL="http://www.goyellow.de"
SEARCHI="inverssuche/?TEL="
TMPF1=/var/tmp/tmpc.txt
TMPF2=/var/tmp/tmpcc.txt
TMPF3=/var/tmp/maps.tmp
TMPF4=/var/tmp/maps1.tmp
BBMAPSURL="http://maps.BlackBerry.com"
GMAPSURL="http://maps.google.com"
CR='\015'


if [ -z "$CID" ]
then
   MYNAME="anonym";
   echo "Anonymer Anruf!"
else

  wget -q -O $TMPF1 "$BASEURL/$SEARCHI$CID"
  cat $TMPF1 | grep "Eine Visitenkarte" | sed '2,50d' >$TMPF2
  MYURL=$( cat $TMPF2 | sed -e 's/^.*href=\"//g' | sed -e 's/\">.*//g' )
  MYNAME=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2_\1/' )
  MYNAME1=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2 \1/' )

  if ["$MYURL" = ""]
  then
    cat $TMPF1 | grep 'title\=\"Weitere Kontaktdaten' | sed '2,50d' >$TMPF2
    MYURL1=$( cat $TMPF2 | sed 's/^<a href="\/upgrade?q=\([0-9a-z]*\).*/\1/' )
    if [ "$MYURL1" = "" ]
    then
       NFOUND="Y"
       MYNAME="KEIN.EINTRAG"
       MYNAME1="Kein Eintrag"
       echo "kein Eintrag!"
    else
       echo "next try: $BASEURL/upgrade?q=$MYURL1"
       wget -q -O $TMPF1 "$BASEURL/upgrade?q=$MYURL1"
       cat $TMPF1 | grep "Eine Visitenkarte" | sed '2,50d' >$TMPF2
       MYURL=$( cat $TMPF2 | sed -e 's/^.*href=\"//g' | sed -e 's/\".*//g' )
       MYNAME=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2_\1/' | sed 's/,/_/g' )
       MYNAME1=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2 \1/' )
       echo $MYURL
       echo $MYNAME
       echo $MYNAME1
       NFOUND="N"
       echo $BASEURL
       echo $SEARCHI
       echo $MYURL
       echo $MYNAME
       wget -O /var/tmp/tmp.vcf "$BASEURL$MYURL"
       grep -v "URL;" /var/tmp/tmp.vcf | grep -v "NOTE;" | grep -v "END:VCARD" | sed 's/^N:\([a-zA-Z]*\) \([a-zA-Z]*\).*/N:\1;\2/' | tr -d '\t' >/var/tmp/$MYNAME.vcf
       grep "NOTE;" /var/tmp/tmp.vcf >$TMPF3
       cat $TMPF3 | sed 's/^.*\/?//g' | sed 's/\&mt.*//g' | sed 's/3D//g' >$TMPF4
       LAT=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\1.\2/' )
       LON=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\3.\4/' )
    fi   
  else
    NFOUND="N"
    echo $BASEURL
    echo $SEARCHI
    echo $MYURL
    echo $MYNAME
    wget -O /var/tmp/tmp.vcf "$BASEURL$MYURL"
    grep -v "URL;" /var/tmp/tmp.vcf | grep -v "NOTE;" | grep -v "END:VCARD" | sed 's/^N:\([a-zA-Z]*\) \([a-zA-Z]*\).*/N:\1;\2/' | tr -d '\t' >/var/tmp/$MYNAME.vcf
    grep "NOTE;" /var/tmp/tmp.vcf >$TMPF3
    cat $TMPF3 | sed 's/^.*\/?//g' | sed 's/\&mt.*//g' | sed 's/3D//g' >$TMPF4
    LAT=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\1.\2/' )
    LON=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\3.\4/' )

  fi
fi

echo $MYNAME1 >/var/tmp/calllog1.txt
echo $CID >>/var/tmp/calllog1.txt
if [ "$NFOUND" = "N" ]
then
    echo $BBMAPSURL\?lat\=$LAT\&lon\=$LON\&z=2 >>/var/tmp/calllog1.txt
    echo -n NOTE\;ENCODING\=QUOTED\-PRINTABLE:$BBMAPSURL\?lat\=3D$LAT\&lon\=3D$LON\&z=3D2 >>/var/tmp/$MYNAME.vcf
    cat /var/flash/CRLF.txt  >> /var/tmp/$MYNAME.vcf 
    echo "END:VCARD" >>/var/tmp/$MYNAME.vcf
    cat /var/flash/CRLF.txt >> /var/tmp/$MYNAME.vcf
    cat /var/flash/CRLF.txt >>/var/tmp/calllog1.txt
    
    echo "Alternativ Gmaps URL" >>/var/tmp/calllog1.txt
    echo $GMAPSURL/\?q\=$LAT,$LON >>/var/tmp/calllog1.txt
    cat /var/flash/CRLF.txt >>/var/tmp/calllog1.txt
#    echo "---- debug info: -------" >>/var/tmp/calllog1.txt
#    echo "$BASEURL$MYURL" >>/var/tmp/calllog1.txt
fi

echo "#########################"
echo "`date +\"%d.%m.%y %H:%M\"` - Anruf von $CID ($name) an $2 ($3) $4"
echo


if [ "$MYNAME" = "anonym" ]
then
echo "------anonym"

/sbin/mailer \
            -s "CALL: $MYNAME $CID an $2 `date +\"%d.%m.%y %H:%M\"` ($3) $4" \
            -f '"Fritz!Box" <[email protected]>' \
            -t "[email protected]" \
            -m vm.domain2-example.com \
            -i '/var/tmp/calllog1.txt' 
            exit
fi

if [ "$MYNAME" = "KEIN.EINTRAG" ]
then
echo "----kein eintrag"

/sbin/mailer \
            -s "CALL: $MYNAME $CID an $2 `date +\"%d.%m.%y %H:%M\"` ($3) $4" \
            -f '"Fritz!Box" <[email protected]>' \
            -t "[email protected]" \
            -m vm.domain2-example.com \
            -i '/var/tmp/calllog1.txt' 
            exit
fi

echo "-------vcf: $MYNAME.vcf"

/sbin/mailer \
            -s "CALL: $MYNAME1 $CID an $2 `date +\"%d.%m.%y %H:%M\"` ($3) $4" \
            -f '"Fritz!Box" <[email protected]>' \
            -t "[email protected]" \
            -m vm.domain2-example.com \
            -i '/var/tmp/calllog1.txt' \
            -d /var/tmp/$MYNAME.vcf

rm -f /var/tmp/$MYNAME.vcf

SMS benachrichtigung ist bei mir nicht drin, da für mich unwichtig, das kann man aber natürlich leicht wieder einbauen, email senden muss eben passend gemacht werden zu Eurem setup.
Dazu braucht man noch eine datei "CRLF.txt". Diese erzeugen, indem man mit einem HEX editor eine textdatei mit einem 0xD 0xA, oder mit notepad eine datei mit einer leerzeile machen, und, diese an den passenden Ort in der box laden.
Oder auf die datei verzichten, und, die Zeilen die sich darauf beziehen aus dem script löschen.
 
@loopback

SUPER! Vcard!:)
Könntest Du so nett sein und für Anfänger (wie ich) die Stellen rot färben die man ändern muß? Eventuell mit Kommentar?
DANKE!
 
ich versuchs:
Das was eventl. unklar/zu ergänzen ist, das ist rot.
Aber, nimm aus dem 1ten post den code, denn das, was hier drin ist, das tut bestimmt nicht mit copy + paste (weil nicht als code eingefügt)
Wenn es aber nicht geht mit dem löschen der zeilen, dort, wo die datei mit dem Carriage-return drin erwähnt wird, dann musst Du die eben erstellen. Einfach eine textdatei mit einmal ENTER.


[Edit frank_m24: Bitte benutzt CODE Tags für solche Ausgaben.]
Code:
#!/bin/sh



CID=$1
BASEURL="http://www.goyellow.de"
SEARCHI="inverssuche/?TEL="
TMPF1=/var/tmp/tmpc.txt
TMPF2=/var/tmp/tmpcc.txt
TMPF3=/var/tmp/maps.tmp
TMPF4=/var/tmp/maps1.tmp
BBMAPSURL="http://maps.BlackBerry.com"
GMAPSURL="http://maps.google.com"
CR='\015'


if [ -z "$CID" ]
then
   MYNAME="anonym";
   echo "Anonymer Anruf!"
else

  wget -q -O $TMPF1 "$BASEURL/$SEARCHI$CID"
  cat $TMPF1 | grep "Eine Visitenkarte" | sed '2,50d' >$TMPF2
  MYURL=$( cat $TMPF2 | sed -e 's/^.*href=\"//g' | sed -e 's/\">.*//g' )
  MYNAME=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2_\1/' )
  MYNAME1=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2 \1/' )

  if ["$MYURL" = ""]
  then
    cat $TMPF1 | grep 'title\=\"Weitere Kontaktdaten' | sed '2,50d' >$TMPF2
    MYURL1=$( cat $TMPF2 | sed 's/^<a href="\/upgrade?q=\([0-9a-z]*\).*/\1/' )
    if [ "$MYURL1" = "" ]
    then
       NFOUND="Y"
       MYNAME="KEIN.EINTRAG"
       MYNAME1="Kein Eintrag"
       echo "kein Eintrag!"
    else
       echo "next try: $BASEURL/upgrade?q=$MYURL1"
       wget -q -O $TMPF1 "$BASEURL/upgrade?q=$MYURL1"
       cat $TMPF1 | grep "Eine Visitenkarte" | sed '2,50d' >$TMPF2
       MYURL=$( cat $TMPF2 | sed -e 's/^.*href=\"//g' | sed -e 's/\".*//g' )
       MYNAME=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2_\1/' | sed 's/,/_/g' )
       MYNAME1=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2 \1/' )
       echo $MYURL
       echo $MYNAME
       echo $MYNAME1
       NFOUND="N"
       echo $BASEURL
       echo $SEARCHI
       echo $MYURL
       echo $MYNAME
       wget -O /var/tmp/tmp.vcf "$BASEURL$MYURL"
       grep -v "URL;" /var/tmp/tmp.vcf | grep -v "NOTE;" | grep -v "END:VCARD" | sed 's/^N:\([a-zA-Z]*\) \([a-zA-Z]*\).*/N:\1;\2/' | tr -d '\t' >/var/tmp/$MYNAME.vcf
       grep "NOTE;" /var/tmp/tmp.vcf >$TMPF3
       cat $TMPF3 | sed 's/^.*\/?//g' | sed 's/\&mt.*//g' | sed 's/3D//g' >$TMPF4
       LAT=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\1.\2/' )
       LON=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\3.\4/' )
    fi   
  else
    NFOUND="N"
    echo $BASEURL
    echo $SEARCHI
    echo $MYURL
    echo $MYNAME
    wget -O /var/tmp/tmp.vcf "$BASEURL$MYURL"
    grep -v "URL;" /var/tmp/tmp.vcf | grep -v "NOTE;" | grep -v "END:VCARD" | sed 's/^N:\([a-zA-Z]*\) \([a-zA-Z]*\).*/N:\1;\2/' | tr -d '\t' >/var/tmp/$MYNAME.vcf
    grep "NOTE;" /var/tmp/tmp.vcf >$TMPF3
    cat $TMPF3 | sed 's/^.*\/?//g' | sed 's/\&mt.*//g' | sed 's/3D//g' >$TMPF4
    LAT=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\1.\2/' )
    LON=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\3.\4/' )

  fi
fi

echo $MYNAME1 >/var/tmp/calllog1.txt
echo $CID >>/var/tmp/calllog1.txt
if [ "$NFOUND" = "N" ]
then
    echo $BBMAPSURL\?lat\=$LAT\&lon\=$LON\&z=2 >>/var/tmp/calllog1.txt
    echo -n NOTE\;ENCODING\=QUOTED\-PRINTABLE:$BBMAPSURL\?lat\=3D$LAT\&lon\=3D$LON\&z=3D2 >>/var/tmp/$MYNAME.vcf
    [COLOR="red"]cat /var/flash/CRLF.txt  >> /var/tmp/$MYNAME.vcf [/COLOR]
    echo "END:VCARD" >>/var/tmp/$MYNAME.vcf
    [COLOR="red"]cat /var/flash/CRLF.txt >> /var/tmp/$MYNAME.vcf
    cat /var/flash/CRLF.txt >>/var/tmp/calllog1.txt[/COLOR]
    
    echo "Alternativ Gmaps URL" >>/var/tmp/calllog1.txt
    echo $GMAPSURL/\?q\=$LAT,$LON >>/var/tmp/calllog1.txt
    [COLOR="red"]cat /var/flash/CRLF.txt >>/var/tmp/calllog1.txt[/COLOR]
#    echo "---- debug info: -------" >>/var/tmp/calllog1.txt
#    echo "$BASEURL$MYURL" >>/var/tmp/calllog1.txt
fi

echo "#########################"
echo "`date +\"%d.%m.%y %H:%M\"` - Anruf von $CID ($name) an $2 ($3) $4"
echo


if [ "$MYNAME" = "anonym" ]
then
echo "------anonym"

/sbin/mailer \
            -s "CALL: $MYNAME $CID an $2 `date +\"%d.%m.%y %H:%M\"` ($3) $4" \
            -f '"Fritz!Box" <[email protected]>' \
            -t "[email protected]" \
            -m vm.domain2-example.com \
            -i '/var/tmp/calllog1.txt' \
            [COLOR="red"]-a mylogin-anmeldename \[/COLOR]
            [COLOR="red"]-w passwort[/COLOR]
            exit
fi

if [ "$MYNAME" = "KEIN.EINTRAG" ]
then
echo "----kein eintrag"

/sbin/mailer \
            -s "CALL: $MYNAME $CID an $2 `date +\"%d.%m.%y %H:%M\"` ($3) $4" \
            -f '"Fritz!Box" <[email protected]>' \
            -t "[email protected]" \
            -m vm.domain2-example.com \
            -i '/var/tmp/calllog1.txt' 
            [COLOR="red"]-a mylogin-anmeldename \[/COLOR]
            [COLOR="red"]-w passwort[/COLOR]

            exit
fi

echo "-------vcf: $MYNAME.vcf"

/sbin/mailer \
            -s "CALL: $MYNAME1 $CID an $2 `date +\"%d.%m.%y %H:%M\"` ($3) $4" \
            -f '"Fritz!Box" <[email protected]>' \
            -t "[email protected]" \
            -m vm.domain2-example.com \
            -i '/var/tmp/calllog1.txt' \
            -d /var/tmp/$MYNAME.vcf
            [COLOR="red"]-a mylogin-anmeldename \[/COLOR]
            [COLOR="red"]-w passwort[/COLOR]

rm -f /var/tmp/$MYNAME.vcf
 
Zuletzt bearbeitet:
braucht man kein -a bei /sbin/mailer \?
 
@nobody.loopback

Danke es funktioniert!

Ich habe noch 2 Fragen:

Was muß ich da ändern (war rot bei dir):

cat /var/flash/CRLF.txt >> /var/tmp/$MYNAME.vcf
cat /var/flash/CRLF.txt >> /var/tmp/$MYNAME.vcf
cat /var/flash/CRLF.txt >>/var/tmp/calllog1.txt

cat /var/flash/CRLF.txt >>/var/tmp/calllog1.txt


2. Könntest du eine Fritzbox-Telefonbuch abfrage (zuerst, vor Goyellow) einbauen?

Danke

Heimatkanal
 
lösche einfach die Zeilen, wenn es auch so bei Dir geht.
Ich hatte das problem, das wegen mangelndem Zeilenvorschub mein blackberry das nicht korrekt anzeigte, also, habe ich den noch dazugesetzt.
aber, wenn es auch so geht - egal.

Fritz telefonbuch:
ich nutze die box nur als anruf-protokoll-sklave, aber, mal kucken, in den anderen skripten ist das ja drin, somit sollte sich das leicht integrieren lassen.
kann aber etwas dauern .....
 
Danke im Vorraus!

FritzTelefonbuch nutzen viele für die wichtigsten/häufigsten Anrufer und viele davon sind vielleicht nicht über Rückwärtssuche zu finden. Deswegen wäre vielleicht super so was einzubauen. Wenn man unterwegs ist, bekommt dann kein Email mit "Kein Eintrag" sondern der Name aus dem Telefonbuch. Zuhause kann man es auf dem normalen Telefon sehen wer anruft, unterwegs nicht.

MfG

Heimatkanal
 
Danke Jonas aber ich bin kein "Linuxer" und kann nicht die FritzBox Telefonbuch Abfrage aus Deinem Script in das von Loopback "einbauen".
Dein Script ist bestimmt super aber:

Man braucht bei Dir USB Stick
Ich brauche VCard als Email-Anhang (in Nokia: "VCard in Kontakten speichern" und habe alle Daten mit 1 Klick drin. Sogar mit GPS Koordinaten! Nutzlich bei der kostenloser Nokia Navi Funktion sehe Beitrag unten)
 
Zuletzt bearbeitet:
Nokia Ovi Maps benutzt folgende Dateien als .lmx

<?xml version="1.0" encoding="UTF-8"?>
<lm:lmx xmlns:lm="http://www.nokia.com/schemas/location/landmarks/1/0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nokia.com/schemas/location/landmarks/1/0 lmx.xsd">
<lm:landmarkCollection>
<lm:landmark>
<lm:name>Nachname</lm:name>
<lm:coordinates>
<lm:latitude>latitude</lm:latitude>
<lm:longitude>longitude</lm:longitude>
</lm:coordinates>
<lm:addressInfo>
<lm:country>Deutschland</lm:country>
<lm:city>Stadt</lm:city>
<lm:postalCode>PLZ</lm:postalCode>
<lm:district>Stadt</lm:district>
<lm:street>Straße</lm:street>
</lm:addressInfo>
</lm:landmark>
</lm:landmarkCollection>
</lm:lmx>

Wie kann ich die Smilies von der Quote entfernen? Oder sehe ich es nur?


Könnte man eine Zusatzdatei "Nachname.lmx" zusammen mit der VCard schicken?

Etwa so?:

-d /var/tmp/$MYNAME.vcf,Nachname.lmx

Natürlich muß man die lmx erst erstellen und in das Script von Loopback einbauen:(
Alleine schaffe ich es nicht aber vielleicht kann mir Jemand helfen?
 
Zuletzt bearbeitet:
beim posten von dingen, wo nichts geschehen soll:
1. "Links automatisch umwandeln" ausmachen
und
2. "Grafische smileys deaktivieren" anmachen

Dann sieht es besser aus.
 
@Loopback

Ich habe mir Mühe gegeben und dein Script für Nokia modifiziert:
#!/bin/sh



CID=$1
BASEURL="http://www.goyellow.de"
SEARCHI="inverssuche/?TEL="
TMPF1=/var/tmp/tmpc.txt
TMPF2=/var/tmp/tmpcc.txt
TMPF3=/var/tmp/maps.tmp
TMPF4=/var/tmp/maps1.tmp
BBMAPSURL="http://maps.BlackBerry.com"
GMAPSURL="http://maps.google.com"
CR='\015'


if [ -z "$CID" ]
then
MYNAME="anonym";
echo "Anonymer Anruf!"
else

wget -q -O $TMPF1 "$BASEURL/$SEARCHI$CID"
cat $TMPF1 | grep "Eine Visitenkarte" | sed '2,50d' >$TMPF2
MYURL=$( cat $TMPF2 | sed -e 's/^.*href=\"//g' | sed -e 's/\">.*//g' )
MYNAME=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2_\1/' )
MYNAME1=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2 \1/' )

if ["$MYURL" = ""]
then
cat $TMPF1 | grep 'title\=\"Weitere Kontaktdaten' | sed '2,50d' >$TMPF2
MYURL1=$( cat $TMPF2 | sed 's/^<a href="\/upgrade?q=\([0-9a-z]*\).*/\1/' )
if [ "$MYURL1" = "" ]
then
NFOUND="Y"
MYNAME="KEIN.EINTRAG"
MYNAME1="Kein Eintrag"
echo "kein Eintrag!"
else
echo "next try: $BASEURL/upgrade?q=$MYURL1"
wget -q -O $TMPF1 "$BASEURL/upgrade?q=$MYURL1"
cat $TMPF1 | grep "Eine Visitenkarte" | sed '2,50d' >$TMPF2
MYURL=$( cat $TMPF2 | sed -e 's/^.*href=\"//g' | sed -e 's/\".*//g' )
MYNAME=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2_\1/' | sed 's/,/_/g' )
MYNAME1=$( cat $TMPF2 | sed -e 's/^.*von //g' | sed -e 's/\([a-zA-Z0-9]*\) \([a-zA-Z0-9]*\).*/\2 \1/' )
echo $MYURL
echo $MYNAME
echo $MYNAME1
NFOUND="N"
echo $BASEURL
echo $SEARCHI
echo $MYURL
echo $MYNAME
wget -O /var/tmp/tmp.vcf "$BASEURL$MYURL"
grep -v "URL;" /var/tmp/tmp.vcf | grep -v "NOTE;" | grep -v "END:VCARD" | sed 's/^N:\([a-zA-Z]*\) \([a-zA-Z]*\).*/N:\1;\2/' | tr -d '\t' >/var/tmp/$MYNAME.vcf
grep "NOTE;" /var/tmp/tmp.vcf >$TMPF3
cat $TMPF3 | sed 's/^.*\/?//g' | sed 's/\&mt.*//g' | sed 's/3D//g' >$TMPF4
LAT=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\1.\2/' )
LON=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\3.\4/' )
fi
else
NFOUND="N"
echo $BASEURL
echo $SEARCHI
echo $MYURL
echo $MYNAME
wget -O /var/tmp/tmp.vcf "$BASEURL$MYURL"
grep -v "URL;" /var/tmp/tmp.vcf | grep -v "NOTE;" | grep -v "END:VCARD" | sed 's/^N:\([a-zA-Z]*\) \([a-zA-Z]*\).*/N:\1;\2/' | tr -d '\t' >/var/tmp/$MYNAME.vcf
grep "NOTE;" /var/tmp/tmp.vcf >$TMPF3
cat $TMPF3 | sed 's/^.*\/?//g' | sed 's/\&mt.*//g' | sed 's/3D//g' >$TMPF4
LAT=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\1.\2/' )
LON=$( cat $TMPF4 | sed 's/lat=\([0-9]*\)\.\([0-9]*\)\&lon=\([0-9]*\)\.\([0-9]*\).*/\3.\4/' )

fi
fi

echo $MYNAME1 >/var/tmp/calllog1.txt
echo $CID >>/var/tmp/calllog1.txt
if [ "$NFOUND" = "N" ]
then
echo $GMAPSURL/\?q\=$LAT,$LON >>/var/tmp/calllog1.txt
echo '<?xml version="1.0" encoding="UTF-8"?>' >/var/tmp/$MYNAME.lmx
echo '<lm:lmx xmlns:lm="http://www.nokia.com/schemas/location/landmarks/1/0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.nokia.com/schemas/location/landmarks/1/0 lmx.xsd">' >>/var/tmp/$MYNAME.lmx
echo '<lm:landmarkCollection>' >>/var/tmp/$MYNAME.lmx
echo '<lm:landmark>' >>/var/tmp/$MYNAME.lmx
echo '<lm:name>'$MYNAME'</lm:name>' >>/var/tmp/$MYNAME.lmx
echo '<lm:coordinates>' >>/var/tmp/$MYNAME.lmx
echo '<lm:latitude>'$LAT'</lm:latitude>' >>/var/tmp/$MYNAME.lmx
echo '<lm:longitude>'$LON'</lm:longitude>' >>/var/tmp/$MYNAME.lmx
echo '</lm:coordinates>' >>/var/tmp/$MYNAME.lmx
echo '<lm:addressInfo>' >>/var/tmp/$MYNAME.lmx
echo '<lm:country>Deutschland</lm:country>' >>/var/tmp/$MYNAME.lmx
echo '<lm:city>'$STADT'</lm:city>' >>/var/tmp/$MYNAME.lmx
echo '<lm:postalCode>'$PLZ'</lm:postalCode>' >>/var/tmp/$MYNAME.lmx
echo '<lm:district>'$STADT'</lm:district>' >>/var/tmp/$MYNAME.lmx
echo '<lm:street>'$STRASSE'</lm:street>' >>/var/tmp/$MYNAME.lmx
echo '</lm:addressInfo>' >>/var/tmp/$MYNAME.lmx
echo '</lm:landmark>' >>/var/tmp/$MYNAME.lmx
echo '</lm:landmarkCollection>' >>/var/tmp/$MYNAME.lmx
echo '</lm:lmx>' >>/var/tmp/$MYNAME.lmx
# cat /var/tmp/$MYNAME.lmx > /var/media/ftp/SanDisk-U3CruzerMicro-01/myname.txt
echo -n NOTE:$LAT,$LON >>/var/tmp/$MYNAME.vcf
cat /var/flash/CRLF.txt >> /var/tmp/$MYNAME.vcf
echo "END:VCARD" >>/var/tmp/$MYNAME.vcf

# echo "---- debug info: -------" >>/var/tmp/calllog1.txt
# echo "$BASEURL$MYURL" >>/var/tmp/calllog1.txt
fi

echo "#########################"
echo "`date +\"%d.%m.%y %H:%M\"` - Anruf von $CID ($name) an $2 ($3) $4"
echo


if [ "$MYNAME" = "anonym" ]
then
echo "------anonym"

/sbin/mailer \
-s "Anruf: $MYNAME $CID an $2`date +\"%d.%m.%y %H:%M\"` $4" \
-f '"Fritz" <absender@adresse>' \
-t "ziel@adresse" \
-m ausgangserver \
-a 'benutzername' \
-w 'kennwort' \
-i '/var/tmp/calllog1.txt'

exit
fi

if [ "$MYNAME" = "KEIN.EINTRAG" ]
then
echo "----kein eintrag"

/sbin/mailer \
-s "Anruf: $MYNAME $CID an $2`date +\"%d.%m.%y %H:%M\"` $4" \
-f '"Fritz" <absender@adresse>' \
-t "ziel@adresse" \
-m ausgangserver \
-a 'benutzername' \
-w 'kennwort' \
-i '/var/tmp/calllog1.txt'

exit
fi

echo "-------vcf: $MYNAME.vcf"

/sbin/mailer \
-s "Anruf: $MYNAME1 $CID an $2`date +\"%d.%m.%y %H:%M\"` $4" \
-f '"Fritz" <absender@adresse>' \
-t "ziel@adresse" \
-m ausgangserver \
-i '/var/tmp/calllog1.txt' \
-a 'benutzername' \
-w 'kennwort' \
-d /var/tmp/$MYNAME.vcf,/var/tmp/$MYNAME.lmx

rm -f /var/tmp/$MYNAME.vcf
rm -f /var/tmp/$MYNAME.lmx

Leider bin ich noch nicht so weit mit meinem Linux und kann noch nicht die
$STADT
$PLZ
$STRASSE

aus $MYNAME.vcf rausbekommen und als solche definieren:

ADR;TYPE=HOME,POSTAL,PARCEL,INTL:;;Bismarckstrasse 1;Baden Baden;;76530;
 
Zuletzt bearbeitet:
Hallo,

das mit der V-Card ist sicherlich eine tolle Sache. Ich möchte lediglich einen Namen zur Rufnummer ausgeben und würde daher gerne weiterhin in der folgender Form abfragen:

Code:
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 3
name=$(wget -q -O - "$url" | grep class=\"col1\" | sed -e 's/<[^<]*>/\ /g;s/^[a-zA-Z0-9]*//;s/ / /g')

Hat hierzu jemand eine Alternative da mir die V-Card zu mächtig ist?
Gerne auch klicktel ;)

Viele Grüße
pino
 
Jemand an nem Script interessiert, das den Anruf auf eine Dreambox usw. mit Enigma1 oder 2 ausgibt?
Aktuell funktioniert es tadellos mit E1, E2 könnte ich noch einbauen ;)

Im Moment ist folgendes drin:
* Mail, auch mit vCard (abschaltbar)
* Ausgabe auf Box mit Enigma 1 (abschaltbar)
* Ausgabe auf die Kommandozeile (abschaltbar)
* Suche bei Klicktel und GoYellow
 
Zuletzt bearbeitet:
Mal eine dumme Frage an die Linuxer unter euch. Ich bekomme eine 7390. Nun möchte ich die calllog Datei von der einen Box auf die andere kopieren. Ich habe sie über den USB-Stick rüberkopiert.

Nun möchte ich die Datei auf der alten FritzBox löschen. Wie lautet der Befehl zum löschen - und ist dies in jedem Verzeichnis möglich? Vor allem in dem, in dem die calllog Datei liegt. Das müsste /var/calllog sein, oder?

Frank

edit
nächstes Problem: "DasTelefonbuch" hat seine Seite offensichtlich verändert. Jedenfalls funktioniert die Rückwärtssuche nicht mehr. Hat jemand ein Script, mit dem das wieder funktioniert?
 
Zuletzt bearbeitet:
Hier mal mein Script, wie schon oben erwähnt:
http://pastebin.com/HpgcVJkG

Die Konfiguration anpassen und auf der FB in /var/flash/calllog speichern. Sollte alles selbsterklärend sein. Verschiedene Rufnummern in Verbindung mit verschiedenen Mail-Adressen sind noch nicht eingebaut. Vielleicht nächstes Wochenende.
 
Zuletzt bearbeitet:
Man sehe es mir nach, aber da ich vom Programmieren null Ahnung habe, hätte ich da noch Fragen:

Ich möchte, dass die anrufende MSN zuerst im internen FBF-Telefonbuch gesucht wird. Wird sie dort nicht gefunden, soll bei entsprechenden Anbietern im Netz gesucht werden. Über das Ergebnis inclusive Anrufdatum, -uhrzeit, MSN, so wie Name, Straße, (PLZ) Ort hätte ich dann gerne ein eMail.

Ich habe mir wirklich Mühe gegeben, die 286 Zeilen ansatzweise zu verstehen. Ich habe folgendes abgeändert:

10 ON
13 OFF
31 Ich habe ISDN - muss ich hier was ändern?
32 Muss ich hier statt dem Wort MSN meine Telefonnummer ohne Vorwahl eintragen?
33 Was muss hier eingetragen werden?
34 FBTB - ich nehme an, dass das der Name des Telefonbuches in der Box ist und daher so stehen bleiben kann?
16 - 19 Meine Daten eingegeben
90 Welche Adresse muss ich hier eingeben?

Muss ich noch mehr abändern, um meine oben beschriebene Anforderung mit dem Script zu erfüllen?

Frank

P.S. Ich habe keine DBox und benötige keine Visitenkarte



edit: wenn ich das Script nicht verändere und auf die FBF kopiere, bekomme ich bei einem Anruf folgende Meldung:

#
: not foundlog: line 2:
: not foundg: line 5:
: not foundg: line 8:
: not foundg: line 11:
: not foundg: line 14:
: not foundg: line 20:
: not foundg: line 27:
: not foundg: line 35:
/var/calllog: line 56: syntax error: word unexpecte
Mar 15 12:42:34 telefon[1157]: SIGCHLD received!

Auch wenn ich meine Daten eingebe, bleibt die Fehlermeldung die gleiche.
Eine eMail erhalten ich auch nicht. Wie bekomme ich den Fehler in Zeile 56 weg?
 
Zuletzt bearbeitet:
Die Änderungen solltest du nur bis Zeile 26 vornehmen. Weiter unten nicht mehr!
Dann solte alles klappen!

Calllog bekommt die angerufene Nr. normalerweise von der FB automatisch übergeben
 
Dem ist leider nicht so. Folgendes wird in Telnet angezeigt, wenn ein Anruf reinkommt:

#
#
: not foundh/calllog: line 2:
: not foundcalllog: line 5:
: not foundcalllog: line 8:
: not foundcalllog: line 11:
: not foundcalllog: line 14:
: not foundcalllog: line 20:
: not foundcalllog: line 27:
: not foundcalllog: line 35:
/var/flash/calllog: line 56: syntax error: word unexpected (expecting "in")
Mar 18 20:07:41 telefon[1374]: SIGCHLD received!

#

Die eMail-Daten sind auf jeden Fall richtig eingegeben. Funktionieren müssten sie auch, denn im alten Script kommt ja die eMail an, nur leider keine Rückwärtssuche. Ansonsten habe ich nur DBox auf OFF und Mail auf ON gestellt.

Kann jemand diesen Fehler verifizieren?

Frank
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,840
Beiträge
2,219,268
Mitglieder
371,543
Neuestes Mitglied
Brainbanger
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.