Callmessage auf 7270 dank BODEGA!! Änderungen bei das Örtliche

hi hab den Fehler gefunden bzw. bin dem Problem auf die Schliche gekommen.
Und zwar hatte ich gestern dein dtmfbox installed. kurz angetestet und dann wieder deinstalled..da die Funktion mit Rückwärtssuche und Telefon ja erst im der deinem näcsten Release kommt.

So und ich glaube da lag der hund begrabenl. Habe meine gesicherte debug.cfg wieder eingespielt cnt auf 10 gestellt und schwupp es geht wieder!
 
An der dtmfbox sollte es aber (hoffentlich) nicht gelegen haben. Die ändert ja nichts an deinem Skript.
Schade das der Fehler nicht deutlicher verifiziert wurde. Zumal im obigen Skript kein Fehler zu erkennen ist.

Du könntest mal den aktuellen Ausschnitt posten. Dann kann man das vergleichen. Es würde zur Fehlerfindung beitragen.
 
Zuletzt bearbeitet:
Hi Bodega,
ich erkläre eben nochaml was ich gemacht habe.
Ich hatte gestern die cnt von 6 auf 10 gesetzt. Dann ging es ja ..wie beschrieben.
Dann habe ich mal die dtmfbox installiert und später wieder deinstalliert. Habe vorher meine debug.cfg gesichert.
So als ich heute morgen in die contact.txt reinschaute, wurde das ganz komisch dargestellt siehe

Code:
#contact=06xxxx:Hans XYZ;blumenstr.#CONTACTSENDnbsp;18;#CONTACTSENDnbsp;7xxxx#CONTACTSENDnbsp;XYZORT;

dann habe ich wieder die debug.cfg eingespielt die ich vor der Installation der dtmfbox hatte.Und dann gings plötzlich wieder. Irgendwas muss es da verändert haben?
K.A. was?!
 
Das ist mir schon klar. Mir geht es darum:

Du hast ja das fehlerhafte Skript unter #39 gepostet. Wenn man das jetzt mit der aktuellen debug.cfg vergleicht, müsste man den Fehler sehen. Es muss ja beim Schreiben der contact.txt irgendwas schief gelaufen zu sein. Sei es, dass es durch das abspeichern/deinstallieren passiert ist. Es geht primär um die Fehlerlösung, nicht die Symptomatikbehandlung. Mich würde deine aktuelle debug.cfg interessieren...
 
Kein Problem. Nur so macht ein Forum Sinn :rolleyes:
Leider fehlt mir immer noch eine debug.cfg von bolle. Wahrscheinlich wird das nix mehr :(
 
Hi Marco, sorry dass ich jetzt erst schreibe ..war auswärts und hatte somit nicht die Nöglichkeit auf die debug zuzugreifen. Hier aber jetzt meine aktuelle debug.cfg

Code:
# check kernel version
KERNEL_VERSION=`uname -r | grep 2.6`
if [ -z "${KERNEL_VERSION}" ]
then
  KERNEL_VERSION="linux24"
  ETHERWAKE="etherwake"
else
  KERNEL_VERSION="linux26"
  ETHERWAKE="ether-wake"
fi

# init busybox var
BUSYBOX="/bin/busybox"

major=`grep tffs /proc/devices`
tffs_major=${major%%tffs}
#write calllog
cat > /var/calllog << 'ENDCALLLOG'
#!/bin/sh

CALLER=${1}
LINE=${3}
if [ -z "${LINE}" ]
then
  LINE=${2}
fi
if [ "${LINE}" = "ISDN" ]
then
  LINE=${2}
fi
if [ -z "${LINE}" ]
then
  LINE=${1}
  CALLER=""
fi

sh /var/tmp/parse_telefon.sh "${LINE}" "${CALLER}" &

ENDCALLLOG

# save /var/calllog
mknod /var/flash/calllog c $tffs_major $((0x77))
cp /var/calllog /var/flash/calllog
#CONTACTS
#CONTACTSEND
#LINES
#line=:anonym;
#line=
#LINESEND
# write reverse lookup script to file
cat > /var/tmp/invers.sh << 'ENDINVERS'
#!/bin/sh

number=$1

rm /var/tmp/page 2>/dev/null

#wget -q -O /var/tmp/page "http://www2.dasoertliche.de/?form_name=detail&lastFormName=search_inv&ph=${num ber}&recFrom=1&hitno=0" 2>/dev/null
wget -q -O /var/tmp/page "http://www2.dasoertliche.de/?form_name=search_inv&ph=${number}&recFrom=1&hitno=0" 2>/dev/null

let cnt=0;

while read reverse
do

if [ "$gotname" = "1" ];
then
  # get address
  let cnt=cnt+1;
  if [ "$cnt" = "10" ]; then
     address=${reverse}
     address=${address%%\<*}
     #address=`echo "$address" | sed -e 's/&nbsp;/ /g'`;
     break;
  fi
fi

# get name
case ${reverse} in
  *entry*)
   name=${reverse#*\>}
   name=${name%%\<*}
   gotname=1
   ;;
esac
done < /var/tmp/page

echo "${name}" > /var/tmp/name
#echo "${address}" > /var/tmp/address
echo "${address}" | sed -e '{s/&nbsp;/ /g;s/,/;/g;}' > /var/tmp/address
ENDINVERS

# make it executable
chmod +x /var/tmp/invers.sh

# write send script to file
cat > /var/tmp/callmessage.sh << 'ENDCALLMESSAGE'
#!/bin/sh

caller=${2}
called=${1}
caller_nr=$caller
anruf=`date +"Zeit%3A%20%d.%m.%Y%20%H%3A%M%3A%S%20Uhr"`
# search name in contact list
entry=`cat /var/media/ftp/TransMemory-Partition-0-1/contacte.txt  2>/dev/null | fgrep "#contact=${caller}:" | sed "s/#contact=${caller}://"`
name=${entry%%\;*}
address=${entry#*\;}
address=${address%\;*}
street=${address%%\;*}
zip=${address##*\;}

# name not found?
if [ -z "${name}" ]
then
  # do reverse lookup at www.dasoertliche.de
  /var/tmp/invers.sh ${caller}
  name=`cat /var/tmp/name`
  # found name?
  if [ -n "${name}" ]
  then
    # add found contact to debug.cfg
    address=`cat /var/tmp/address`
    street=${address%%\;*}
    zip=${address##*\;}
    cat /var/media/ftp/TransMemory-Partition-0-1/contacte.txt | sed -e "s/^#CONTACTSEND$/#contact=${caller}:${name};${address};#CONTACTSEND/g" | sed -e 's/#CONTACTSEND$/\
#CONTACTSEND/g' > /var/tmp/contact
  else
    # add anonymous for contact to debug.cfg
    cat /var/media/ftp/TransMemory-Partition-0-1/contacte.txt | sed -e "s/^#CONTACTSEND$/#contact=${caller}:${caller};#CONTACTSEND/g" | sed -e 's/#CONTACTSEND$/\
#CONTACTSEND/g' > /var/tmp/contact
  fi
  cat /var/tmp/contact > /var/media/ftp/TransMemory-Partition-0-1/contacte.txt
  rm /var/tmp/contact
fi

# name not found?
if [ -z "${name}" ]
then
  name=${caller}
fi
httpname=`echo "${name}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;s/&/%26/g;}'`
httpstreet=`echo "${street}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;s/&/%26/g;}'`
httpzip=`echo "${zip}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;s/&/%26/g;}'`
echo "Name: ${name}"
echo "Strasse: ${street}"
echo "PLZ: ${zip}"

# search line in line list
theline=`cat /var/flash/debug.cfg 2>/dev/null | fgrep "#line=${called}:" | sed "s/#line=${called}://"`
theline=${theline%%\;*}

# line not found?
if [ -z "${theline}" ]
then
  theline=${called}
fi
httptheline=`echo "${theline}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;s/&/%26/g;}'`

# Send information to all DHCP clients
while read x x IP x
do
  wget -O /dev/null "http://${IP}:23232/?caller=${caller}&called=${called}&name=${name}&line=${theline}" >/dev/null 2>&1 &
done < /var/flash/multid.leases

# send information to DBoxes -> TV popup
if [ ${called} = "SIP0" ]
then
wget -O /dev/null "http://xyz /control/message?Anrufer%3A%0A${httpname}%0A${httpstreet}%0A${httpzip}%0A%0A${anruf}"  >/dev/null 2>&1 &
fi
if [ ${called} = "ccc" ]
then
wget -O /dev/null "http://xxx /control/message?Anrufer%3A%0A${httpname}%0A${httpstreet}%0A${httpzip}%0A%0A${anruf}" >/dev/null 2>&1 &
fi
if [ ${called} = "ccc" ]
then
wget -O /dev/null "http://yyy/cgi-bin/xmessage?timeout=10&caption=Eingehender%20Anruf&body=Anrufer%3A%0A${httpname}%0A${httpstreet}%0A${httpzip}%0A%0A${anruf}" >/dev/null 2>&1 &
fi
if [ ${called} = "ccc" ]
then
wget -O /dev/null "http://ooo/cgi-bin/xmessage?timeout=10&caption=Eingehender%20Anruf&body=Anrufer%3A%0A${httpname}%0A${httpstreet}%0A${httpzip}%0A%0A${anruf}" >/dev/null 2>&1 &
fi
if [ ${called} = "SIP1" ]
then
wget -O /dev/null "http://ppp/control/message?Anrufer%3A%0A${httpname}%0A${httpstreet}%0A${httpzip}%0A%0A${anruf}" >/dev/null 2>&1 &
fi
if [ ${called} = "ccc" ]
then
wget -O /dev/null "http://uuu/control/message?Anrufer%3A%0A${httpname}%0A${httpstreet}%0A${httpzip}%0A%0A${anruf}" >/dev/null 2>&1 &fi
sleep 3
killall wget
ENDCALLMESSAGE

# make it executable
chmod +x /var/tmp/callmessage.sh

# write dummy WakeOnCall script
echo "#!/bin/sh" > /var/tmp/woc.sh
# make it executable
chmod +x /var/tmp/woc.sh

# write parse_telefon script to file
cat > /var/tmp/parse_telefon.sh << 'ENDPARSETEL'
#!/bin/sh

trap "" SIGCHLD

prefix=
caller="$2"
called="$1"
called=${called%%#*}

# normalize caller
case ${caller} in
  0049*)
    caller=0${caller#*0049}
  ;;
  49????????*)
    caller=0${caller#*49}
  ;;
  [1-9]????????*)
    caller=0${caller}
  ;;
  [1-9]*)
    caller=${prefix}${caller}
  ;;
esac

# exec woc.sh
/var/tmp/woc.sh ${called} ${caller} &
# exec callmessage.sh
/var/tmp/callmessage.sh ${called} ${caller} &

ENDPARSETEL

# make it executable
chmod +x /var/tmp/parse_telefon.sh

gruss bolle
 
Ich habe die Version 54.04.55 auf der Box.
Was muss geändert werden damit Callmessage funktioniert?
Und vor allen wie?
 
eine anleitung für noops würde mir auch gefallen :)
 
Hi, sooo ich habe mich jetzt auch mal an die Sache gewagt!
Läuft ja soweit alles... Nun habe ich aber noch ein Problem!
Wenn ich einen Anruf bekomme, werden aus der contacte.txt die Orte nicht angezeigt. Es steht immer die Straße ein zweites mal bei dem Ort!
Kann evtl mal jemand die Formatierung der contacte.txt posten?
Und, soll automatisch bei einem Anruf ohne "Das oertliche" Eintrag in die contacte.txt die Rufnummer geschrieben werden? Oder habe ich das falsch verstanden? (Das würde dann auch nicht klappen!)

Kann mir da jemand weiterhelfen???

Grüße....
 
@bolle:
Konnte erst keinen Unterschied beim Vergleichen feststellen, also hatte ich das nochmal mit deiner debug.cfg geprüft. Anscheinend macht so ein <textarea> Element beim Einlesen der debug.cfg eine Konventierung (in dem Fall '&nbsp' zu ' '). Habe es gefixt, indem alle '&' Zeichen in '&amp' konventiert werden. Danke nochmal!
 
Kein Problem!! Ich habe zu danken..ohne dich würde ich garnicht soweit kommen!

Ich schau jeden Tag in den Thread wo du deine Versionen released...du weisst schon Rückwärtssuche auf dem Telefon...
 
Hallo bolle und bodega oder auch andere,

könnt Ihr mir auch weiterhelfen bei der Rückwärtssuche ? Habe Fritzbox 7170 mit Version 29.04.49. Nachdem ich meine debug.cfg anhand einiger Vorgaben hier im Thema angepasst habe, läuft bei mir die Rückwärtssuche auch, aber mit dem Handycap, daß in der Anzeige bei mir am TV nur der Name angezeigt wird und nicht die Adresse. Ich hatte es auch schon mal anders, da wurde mir aber die Adresse doppelt angezeigt. Vielleicht könnt mir wer helfen !?

HTML:
LED_DEVICE=/proc/led_mod/led
if [ ! -f /proc/led_mod/led  ] ; then
  LED_DEVICE=/var/led
  echo "set led: ${LED_DEVICE}"
fi
# start internet phone led flashing
echo "set internet phone led to blink (modul=14, state=3)"
echo 14,3 > ${LED_DEVICE}

# check kernel version
KERNEL_VERSION=`uname -r | grep 2.6`
if [ -z "${KERNEL_VERSION}" ]
then
  KERNEL_VERSION="linux24"
  ETHERWAKE="etherwake"
else
  KERNEL_VERSION="linux26"
  ETHERWAKE="ether-wake"
fi

# init busybox var
BUSYBOX="/bin/busybox"

# wait to be able to interrupt in case of emergency
sleep 120

major=`grep tffs /proc/devices`
tffs_major=${major%%tffs}
#write calllog
cat > /var/calllog << 'ENDCALLLOG'
#!/bin/sh

CALLER=${1}
LINE=${3}
if [ -z "${LINE}" ]
then
  LINE=${2}
fi
if [ "${LINE}" = "ISDN" ]
then
  LINE=${2}
fi
if [ -z "${LINE}" ]
then
  LINE=${1}
  CALLER=""
fi

sh /var/tmp/parse_telefon.sh "${LINE}" "${CALLER}" &

ENDCALLLOG

# save /var/calllog
mknod /var/flash/calllog c $tffs_major $((0x77))
cp /var/calllog /var/flash/calllog

#CONTACTS
#contact=:anonym;
#contact=xxxxxxxxxxx:yyyyyy zzzzz;;
#contact=xxxxxxxxxxx:yyyyyyy zzzzzz;;
#contact=xxxxxxxxxxx:yyyyyy zzzzz;;
#contact=xxxxxxxxxxx:yyyyyyy zzzzzz;;
#contact=xxxxxxxxxxx:xxxxxxxxxxx;
#contact=xxxxxxxxxxx:xxxxxxxxxxx;
#contact=xxxxxxxxxx:yyyyy zzzzz;wwwww. xx, xxxxx yyyyyyyyyy;
#contact=xxxxxxxxxx:yyyyy zzzzz;wwwww. xx, xxxxx yyyyyyyyyy;

#CONTACTSEND

#LINES
#line=:anonym;
#line=xxxxxxxxxxx:ISDN;
#line=xxxxxxxxxxx:ISDN;
#line=SIP0:freenet;
#line=xxxxxxxxxxx:freenet;
#LINESEND

# write reverse lookup script to file
cat > /var/tmp/invers.sh << 'ENDINVERS'
#!/bin/sh

number=$1

rm /var/tmp/page 2>/dev/null

wget -q -O /var/tmp/page "http://www2.dasoertliche.de/?form_name=search_inv&ph=${number}&recFrom=1&hitno=0" 2>/dev/null

let cnt=0;

while read reverse
do

if [ "$gotname" = "1" ];
then
  # get address
  let cnt=cnt+1;
  if [ "$cnt" = "10" ]; then
     address=${reverse}
     address=${address%%\<*}
     #address=`echo "$address" | sed -e 's/&nbsp;/ /g'`;
     break;
  fi
fi  
  
# get name
case ${reverse} in
  *entry*)
   name=${reverse#*\>}
   name=${name%%\<*}
   gotname=1
   ;;
esac
done < /var/tmp/page

echo "${name}" > /var/tmp/name
echo "${address}" | sed -e '{s/&nbsp;/ /g;s/,/;/g;}' > /var/tmp/address

ENDINVERS

# make it executable
chmod +x /var/tmp/invers.sh

# write send script to file
cat > /var/tmp/callmessage.sh << 'ENDCALLMESSAGE'
#!/bin/sh

caller=${2}
called=${1}

caller_nr=$caller
anruf=`date +"Zeit%3A%20%d.%m.%Y%20%H%3A%M%3A%S%20Uhr"`


# search name in contact list
entry=`cat /var/flash/debug.cfg 2>/dev/null | fgrep "#contact=${caller}:" | sed "s/#contact=${caller}://"`
name=${entry%%\;*}
address=${entry#*\;}
address=${address%\;*}
street=${address%%\;*}
zip=${address##*\;}

# name not found?
if [ -z "${name}" ]
then
  # do reverse lookup at www.dasoertliche.de
  /var/tmp/invers.sh ${caller}
  name=`cat /var/tmp/name`
  # found name?
  if [ -n "${name}" ]
  then
    # add found contact to debug.cfg
    address=`cat /var/tmp/address`
    street=${address%%\;*}
    zip=${address##*\;}
    cat /var/flash/debug.cfg | sed -e "s/^#CONTACTSEND$/#contact=${caller}:${name};${address};#CONTACTSEND/g" | sed -e 's/#CONTACTSEND$/\
#CONTACTSEND/g' > /var/tmp/debug.cfg
  else
    # add anonymous for contact to debug.cfg
    cat /var/flash/debug.cfg | sed -e "s/^#CONTACTSEND$/#contact=${caller}:${caller};#CONTACTSEND/g" | sed -e 's/#CONTACTSEND$/\
#CONTACTSEND/g' > /var/tmp/debug.cfg
  fi
  cat /var/tmp/debug.cfg > /var/flash/debug.cfg
  rm /var/tmp/debug.cfg
fi

# name not found?
if [ -z "${name}" ]
then
  name=${caller}
fi
httpname=`echo "${name}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;s/&/%26/g;}'`
httpstreet=`echo "${street}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;s/&/%26/g;}'`
httpzip=`echo "${zip}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;s/&/%26/g;}'`
echo "Name: ${name}"
echo "Strasse: ${street}"
echo "PLZ: ${zip}"

# search line in line list
theline=`cat /var/flash/debug.cfg 2>/dev/null | fgrep "#line=${called}:" | sed "s/#line=${called}://"`
theline=${theline%%\;*}

# line not found?
if [ -z "${theline}" ]
then
  theline=${called}
fi
httptheline=`echo "${theline}" | sed -e '{s/ /%20/g;s/Ä/Ae/g;s/Ö/Oe/g;s/Ü/Ue/g;s/ä/ae/g;s/ö/oe/g;s/ü/ue/g;s/ß/ss/g;s/&/%26/g;}'`

# Send information to all DHCP clients
while read x x IP x
do
  wget -O /dev/null "http://${IP}:23232/?caller=${caller}&called=${called}&name=${name}&line=${theline}" >/dev/null 2>&1 &
done < /var/flash/multid.leases

# send information to PCs
wget -O /dev/null "http://xxx.xxx.x.x:xxxxx/?caller=${caller}&called=${called}&name=${name}&line=${theline}" >/dev/null 2>&1 &

# send information to DreamBoxes
wget -O /dev/null "http://xxx.xxx.x.xx/cgi-bin/xmessage?timeout=10&caption=Eingehender%20Anruf&body=Anrufer%3A%0A${httpname}%0A${httpstreet}%0A${httpzip}%0A%0ALeitung%3A%20${httptheline}" >/dev/null 2>&1 &
wget -O /dev/null "http://xxx.xxx.x.xx/cgi-bin/xmessage?timeout=10&caption=Eingehender%20Anruf&body=Anrufer%3A%0A${httpname}%0A${httpstreet}%0A${httpzip}%0A%0ALeitung%3A%20${httptheline}" >/dev/null 2>&1 &

sleep 3
killall wget
ENDCALLMESSAGE

# make it executable
chmod +x /var/tmp/callmessage.sh

# write dummy WakeOnCall script
echo "#!/bin/sh" > /var/tmp/woc.sh
# make it executable
chmod +x /var/tmp/woc.sh

# write parse_telefon script to file
cat > /var/tmp/parse_telefon.sh << 'ENDPARSETEL'
#!/bin/sh

trap "" SIGCHLD

prefix=xxxxx
caller="$2"
called="$1"
called=${called%%#*}

# normalize caller
case ${caller} in
  0049*)
    caller=0${caller#*xxxx}
  ;;
  49????????*)
    caller=0${caller#*xx}
  ;;
  [1-9]????????*)
    caller=0${caller}
  ;;
  [1-9]*)
    caller=${prefix}${caller}
  ;;
esac

# exec woc.sh
/var/tmp/woc.sh ${called} ${caller} &
# exec callmessage.sh
/var/tmp/callmessage.sh ${called} ${caller} &

ENDPARSETEL

# make it executable
chmod +x /var/tmp/parse_telefon.sh

# stop internet phone led flashing
echo 14,1 > ${LED_DEVICE}
 
Moin zusammen,
kann ich bestätigen! Es wird momentan nur der Name angezeigt.

Wieder was für Marco ;-) Da wurde wieder was umgestellt. Ich denke Marco wird sich dem Problem annehmen.
 
Wäre natürlich super, wenn er sich dem annehmen könnte !
 
ich denke schon.Ich galube dasses wieder an dem cnt liegt. Vielleciht kann uns marco verraten wie man das richtige Ziffer für cnt rausbekommt. dann wäre jeder in der Lage bei einer Änderung das ganze gleich zu ändern.

Also Marco, erklär uns nichtwissenden Usern wie du das als machst ;-)

Gruß BOLLE
 
Das mit dem cnt ist eigentlich nur ein Zeilen-Counter.
Wenn man sich die erstellte Datei 'page' mal ansieht, kommt man auf folgendes Skript (mit Erklärung):

HTML:
#!/bin/sh

number=$1

rm /var/tmp/page 2>/dev/null

#wget -q -O /var/tmp/page "http://www2.dasoertliche.de/?form_name=detail&lastFormName=search_inv&ph=${num ber}&recFrom=1&hitno=0" 2>/dev/null
wget -q -O /var/tmp/page "http://www2.dasoertliche.de/?form_name=search_inv&ph=${number}&recFrom=1&hitno=0" 2>/dev/null

let cnt=0;

while read reverse
do

if [ "$gotname" = "1" ];
then
  # get address
  # ab der Zeile mit dem Namen x Zeilen (hier 9) weiterspringen
  # dort die Adresse nach selbem Muster extrahieren
  let cnt=cnt+1;
  if [ "$cnt" = "9" ]; then
     address=${reverse}
     address=${address%%\<*}

     break;
  fi
fi

# get name
case ${reverse} in

   # In der Datei 'page' den Ausdruck 'entry' suchen - Bsp. 08.04.2008 in Zeile 263
  *entry*)

   # gesamte Zeile nach dem '>' als Name setzen
   name=${reverse#*\>}

   # jetzt gesamte Zeile vor dem '<' als Name setzen
   name=${name%%\<*}
   gotname=1
   ;;
esac
done < /var/tmp/page

echo "${name}" > /var/tmp/name
#echo "${address}" > /var/tmp/address
echo "${address}" | sed -e '{s/&nbsp;/ /g;s/,/;/g;s/; /;/g;}' > /var/tmp/address

Das muss man dann halt bei jeder Änderung im Örtlichen auch anpassen.
Ist eigentlich keine Hexerei... ;)
 
Hallo zusammen,
gibt es einen Grund, wieso das in der Debug.cfg steht und nicht im dtmfbox-userscript?

Ich habe mir am Wochenende ein Script dafür zusammengesucht.
wget und smbclient liegen nur aus Platzgründen auf dem USB-Stick.

Code:
if [ "$EVENT" = "CONNECT" ] && [ "$TYPE" = "CAPI" ]; 
then
echo "" >/var/tmp/page
 
#wget -q -O /var/tmp/page "[URL]http://www2.dasoertliche.de/?form_name=detail&lastFormName=search_inv&ph=${num[/URL] ber}&recFrom=1&hitno=0" 2>/dev/null
/var/media/ftp/uStor01/wget -q -O /var/tmp/page "[URL]http://www2.dasoertliche.de/?form_name=search_inv&ph=0$DST_NO&recFrom=1&hitno=0[/URL]" 2>/dev/null
let cnt=0;
while read reverse
do
if [ "$gotname" = "1" ];
then
  # get address
  let cnt=cnt+1;
  if [ "$cnt" = "9" ]; then
     address=${reverse}
     address=${address%%\<*}
     address=`echo "$address" | sed -e 's/&nbsp;/ /g'`;
     break;
  fi
fi
# get name
case ${reverse} in
  *entry*)
   name=${reverse#*\>}
   name=${name%%\<*}
   gotname=1
   ;;
esac
done < /var/tmp/page
#echo "${name}" > /var/tmp/name
echo "hallo Telefonnummer $DST_NO, $name, $address ruft an" | /var/media/ftp/uStor01/smbclient -M pc2 -I 192.168.178.20
fi
return 0

Was mir jetzt noch helfen würde, wenn das wget keine Datei schreiben würde, sondern alles im Script wäre. Aber dafür reichen meine Shell-Kenntnisse bei weitem nicht aus...

have fun
jampr

ps.: Ich benutze nur ISDN, daher && [ "$TYPE" = "CAPI" ] am Anfang
 
Hi.

Momentan verwende ich den Shellcode für die Rückwärtssuche.

Wegen der Adresse sieht er nun so aus:

Code:
number="$1"

url="http://www2.dasoertliche.de/?form_name=search_inv&page=RUECKSUCHE&context=RUECKSUCHE&action=STANDARDSUCHE&la=de&rci=no&ph=$number"
TEMP=$(wget -q -O - "$url" | grep -A 10 class=\"entry)
nameDO=$(echo "$TEMP" | sed -n -e 's/<[^<]*>/\ /g; s/^[^a-zA-Z0-9]*//g; 1p')
addrDO=$(echo "$TEMP" | grep "&nbsp;" | sed -e 's/&nbsp;/ /g;s/<[^<]*>/ /g;')

if [ "$nameDO" != "" ] || [ "$addrDO" != "" ];
then
  echo $nameDO
  echo $addrDO
fi

Das Schöne: es ist viel kürzer und es braucht keine temporäre Datei. Mal sehen, wie lange es hält ;)
 
Zuletzt bearbeitet:
Gibt es eine Anleitung, wie man das einbaut?
 

Statistik des Forums

Themen
246,086
Beiträge
2,245,807
Mitglieder
373,541
Neuestes Mitglied
BigWhoop
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.