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

bolle

Aktives Mitglied
Mitglied seit
10 Apr 2006
Beiträge
1,437
Punkte für Reaktionen
0
Punkte
36
Aktuell 6.4.2008

Callmessage funktioniert. Das Örtliche hat wohl wieder was umgestellt. Momentan wird nur der Name angezeigt. Ort und Straße fehlen.
 
Zuletzt bearbeitet:
Zur Info es funzt einwandfrei!!!
 
Hallo Bolle, was hast Du hier eingetragen:

"Bitte geben Sie dazu die Firmware-Version Ihrer Fritz!Box an:"

Ich habe die 54.04.48 laufen, kann ich dann einfach 58.04.48 nehmen?

Gruß

Thorsten
 
Bolle hat mir PN folgendes geantwortet:
Ich habe einfach eines für die 7170 erstellen lassen und 29.04.40
das wars..eingespielt und gefreut!

Habe es jetzt einfach auch so probiert mit 29.04.49 und es auf meine 7270 mit der neuesten 54.04.49 gespielt und Callmessage funktioniert einwandfrei.

Gruß

TFX :cool:
 
freut mich dass ich dir weiterhelfen konnt! Leider funzt momentan die Rückwärtssuche über das örtliche nicht! Oder geht es bei dir?

Gruß Bolle
 
Leider negativ, keine Rückwärtssuche...
Aber so ist es schon sehr gut.

TFX:cool:
 
jo das war schonmal so aber plötzlich gings dann wieder oder einer von den EXPERTEN hier im Forum nimmt sich dem Problem an..Ich kann es leider nicht, da mir hiefür die Kenntnisse feheln..sonst hätte ich das schon versucht zu lösen...!!


Also vielleicht kann ja jemand HELFEN!

Danke Gruß Bolle
 
Hier mal das kompltte Callmessage Skript
HTML:
#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
#CONTACTSEND
#LINES
#line=:anonym;
#line=xxxx
#line=SIP0: xxxx
#line=SIP1: xxx

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

number=$1

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

while read reverse
do
  case ${reverse} in
    *detail_top*)
      name=${reverse#*\>}
      name=${name%%\<*}
      break
    ;;
  esac
done < /var/tmp/page

echo "${name}" > /var/tmp/name

# get address
while read reverse
do
  if [ -n "${gotaddress}" ]
  then
    address=${reverse#*\>}
    address=${address%\<*}
    break
  fi
  case ${reverse} in
    *da_adresse*)
      gotaddress=1
    ;;
  esac
done < /var/tmp/page

echo "${address}" | sed -e '{s/&nbsp;/ /g;s/<br \/>/;/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}

# 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 DBoxes -> TV popup
#if [ ${called} = "SIP0" ]
#then
wget -O /dev/null "http://cccccccccc/control/message?Anrufer%3A%0A${httpname}%0A${httpstreet}%0A${httpzip}%0A%0ALeitung%3A%20${httptheline}" >/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
und hier der Teil der die inverrssuche ausmacht. ich gehe davon aus , dass hier was geändert werden muss.
Vielleicht kennts ich ja jemand damit aus! Wäre aufjedenfall Klasse wenn es einer hinbekommen würde...

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

number=$1

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

while read reverse
do
case ${reverse} in
*detail_top*)
name=${reverse#*\>}
name=${name%%\<*}
break
;;
esac
done < /var/tmp/page

echo "${name}" > /var/tmp/name

# get address
while read reverse
do
if [ -n "${gotaddress}" ]
then
address=${reverse#*\>}
address=${address%\<*}
break
fi
case ${reverse} in
*da_adresse*)
gotaddress=1
;;
esac
done < /var/tmp/page

echo "${address}" | sed -e '{s/&nbsp;/ /g;s/<br \/>/;/g;}' > /var/tmp/address
ENDINVERS
 
Zuletzt bearbeitet:
Hi,

habe ein wenig probiert und mit ist aufgefallen wenn ich es direkt versuche mit diesem Teil des Scripts
wget -q -O /var/tmp/page "http://www2.dasoertliche.de/?form_name=detail&lastFormName=search_inv&ph=${number}&recFrom=1&hitno=0" 2>/dev/null

und dann direkt eine Nummer eingebe :
dann kommt diese Fehlerseite
ÖTB-Relaunch Exception:
String index out of range: 53

wenn ich es aber mache wie direkt auf das oertliche.de
bekomme ich ein Ergebnis. Ob das Script aber damit was anfangen kann, habe ich noch nicht getestet.

also statt ?form_name=detail&lastFormName=search_inv
muss da ?form_name=search_inv
rein.

Muss nun weg. evtl kann ja einer testen mit der Änderung.

Gruß
Thorsten:cool:
 
[Edit frank_m24: Mehrere Beiträge innerhalb weniger Minuten zusammengefasst. Lest noch mal die Forumregeln.]
ok ich werde es mal testen obs funzt!

und mich wieder melden

Beitrag 2:
Ok hat keine Veränderung gebracht! Es wird keine Inverssuche durchgeführt...

aber bitte auch nochmal testen!
 
Sorry frank_m24, habe ich in der Eile des ausprobierens übersehen...

Hast du vielleicht eine Ahnung wie ich das Skript umschrieben muss dass es wieder funzt...es gibt hier doch soviele Experten..:D ... zu denen ich leider nicht gehöre....

Gruß und schöne Weihnachten!!!
 
Code:
# 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" = "6" ]; then
     address=${reverse}
     address=${address%%\<*}
     [COLOR="Red"]#address=`echo "$address" | sed -e 's/&nbsp;/ /g'`;[/COLOR]
     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
[COLOR="Red"]#echo "${address}" > /var/tmp/address
echo "${address}" | sed -e '{s/&nbsp;/ /g;s/,/;/g;}' > /var/tmp/address[/COLOR]
ENDINVERS
Obiges Skript, ohne Gewähr. Frohe Weihnachten.
 
Zuletzt bearbeitet:
hat das schon jmd getestet? :)
 
@bodega zunäcsht mal danke dass du veruchst uns zu helfen!!!!

ich habe das ursprüngliche Skript durch deines geändertes Script ersetzt.
also im tmp verzeichniss ...invers.sh
leider wird trotzdem keine Rückwärtssuche durchgeführt oder muss ich sofort in der debug.cfg ändern. Aber um es zu testen eigentlich nicht oder?

Gruß und Frohe WEeihnahchten
Bolle
 
Wenn du es direkt nach /var/tmp/invers.sh packst, musst du die ersten zwei Zeilen und die Letzte entfernen. Das Skript erstellt nämlich eine /var/tmp/invers.sh.

Ansonsten muss das so in die debug.cfg (an entsprechender Stelle).
 
Zuletzt bearbeitet:
ok du hats im Prinzip nur die eine Zeile verändert sehe ich das richtig?
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

das ist die neue von dir eingefügte oder?

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

Konntest du es testen oder nutzt du es nicht...wie gesagt ich habe es ausprobiert..leider keine Inverssuche.
Vielleicht kann es auch noch jemand andres testen.
 
Nein. Ich habe noch andere Dinge geändert. Du müsstest schon den ganzen Inhalt austauschen (vergleiche einfach).

Ich habe zum testen die Ausgabe auf der Konsole ausgegeben. Das hat funktioniert.
Bei dem geposteten Skript landen die Daten in /var/tmp/name und /var/tmp/address.
 
tatsählich es geht!!
Ich musste die Nummern die bereits in debug.cfg gestanden sind raus löschen und dann gings. Klar wenn einmal die Nummer drin steht (also wirklich nur die nummer ohe Adresse etc..) wird gleich auf die debug.cfg zurückgergriffen und keine inverssuche mehr durchgeführt.

Geil das es doch noch geklappt hat.
jetzt werd ich es in die debug.cfg eintragen!!

Gruß Bolle

PS: in der ersten zeile wird der NAME angezeigt
in der zweiten die ADRESSE ....also Straße, PLZ Ort
in der dritten nochmal die ADRESSE so wie in der zweiten Zeile

Kann ich das auch noch irgendow ändern? Das Problem ist dass es zwischen Straße und Ort nur mit komma getrennt wird und nicht mit semikolon..

Vorher war es so:
NAME
STRASSE
ORT

Vielleicht hast du da auch noch eine Idee...
 
Zuletzt bearbeitet:
Habe das obige Skript nochmal geändert. Ort sollte jetzt durch Semikolon getrennt sein (geänderte Stellen sind rot makiert).
 
vielen DANK! ich werde das Skript jetzt mal mit dem alten "orginal" vergleichen ...damit ich auch noch was lernen kann!

;)
 
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.