Angepasstes Pseudo-Image über Webseite erstellen lassen

also bei mir funktioniert es mit der erweiterung der contact.

nur das komische ist, dieser eintrag steht bei mir in der liste

#contact=017244111111;Alex o2;


jetzt habe ich mit der nummer 017244111111 angerufen, doch die anlage hat nicht alex o2 angezeigt, dafür wurde nun die nummer so hinzugefügt

#contact=017244111111:017244111111;

ich glaube das die anlage irgendwie nicht nachschaut ob der contact schon vorhanden ist, bzw dann die rückwärtssuche macht
 
Ich sag ja nicht das es anfangs nicht funktioniert. Übrigens sollte Nummer und Name mit einem ":" getrennt sein.
Mir ist nur nach ein paar Anrufen aufgefallen das die Nummern mehrmals in der debug.cfg eingetragen werden. Ich wollte nämlich die unbekannten Nummern mit dem nvi mit Namen versehen.
Das ist keine Absicht sondern ein Fehler, der sed sucht nach #CONTACTSEND und will das durch den neuen Eintrag und eine neue Zeile #CONTACTSEND ersetzen. Logischerweise findet er seinen eigenen Befehl in der debug.cfg auch und ersetzt da das #CONT... ebenfalls.
Schau doch mal in deine debug.cfg rein, da hat sich in der sed-Zeile bestimmt auch was verändert.
Ich hab das Script übrigens gestern Abend generieren lassen

Ach ja, der ssh läuft bei mir auch nicht, da verstehe ich ehrlich gesagt auch nicht wie das funktioniert in der debug.cfg. Ich dachte den rsa_key erzeugt man mit
Code:
/var/tmp/dropbearkey -t rsa -f /var/tmp/dropbear_rsa_hostkey -s 512
was macht der uudecode da? Der key ist nämlich nicht da, der Befehl dazu landet wohl nicht in der richtigen debug.cfg sondern nur im tmp.

sat24
 
Zuletzt bearbeitet:
Hi @ all!

Ich bin die nächsten Tage nicht da. Den Fehler werde ich aber so bald wie möglich korrigieren. Ich sage dann Bescheid.

Viele Grüße,
Andreas
 
OK, danke. Und wenn Du schon dabei bist:

Da hab da noch ein Problem gefunden. Also der WOC funzt nicht weil der calllog nich richtig geht und auch ab und zu hängen bleibt (warum nur??).
Der (hängengebliebene) callog-Aufruf sieht so aus: calllog Anrufernummer MSN Line
Da kann das:
Code:
#!/bin/sh

trap "" SIGCHLD

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

sh /var/tmp/parse_telefon.sh "${LINE}" "${CALLER}" &
nicht gehen!
die IF Abfrage kann nie TRUE werden, wie soll denn ein leerer $2 übergeben werden? Richtig wäre wohl eher, erst die $3 zuweisen und wenn das nix war, die $2 nehmen. Allerding scheint der Aufruf auch nicht immer richtig zu klappen, so hatte ich auch schon einen hängenden "calllog POTS" obwohl mein Handy die Nummer übermittelt.
Deshalb geht der WOC und die Line-Übersetzung auch nicht, der/die erwartet nämlich SIPx (laut Anleitung), kriegen aber die "MSN".

sat24
 
Hurra, ich habe es geschafft! Mein Rechner lässt sich von Internet aus starten. (Nicht lachen jetzt!) Nur eine kleine Rückmeldung, wo meine Probleme lagen, vielleicht hilft es ja anderen:
ssh hat mit dem pseudoimage nie funktioniert. Ich habe es per Hand installiert und dabei gelernt, das man ein verschlüsseltes Passwort eingeben muss. Im Builder auf der Website habe ich mir natürlich immer ein schönes Passwort ausgedacht.

Bei meinen Versuchen ist mir aufgefallen, dass fritz immer Fehlermeldungen bei eingehenden Anrufen bringt, wenn das Pseudoimage geladen war. Da werden anscheinend Dateien bezüglich Rufmeldungen aufgerufen, obwohl ich den callmonitor bei der Erstellung gar nicht ausgewählt habe. Irgendwas mit parse-telefon-sh wird nicht gefunden...

Danke für eure tollen Erweiterungen!
 
aha, langsam kommt das hier mal wieder in fart, vielleicht funktioniert WOC dann bei mir auch endlich mehr als einmal nachdem isch die FBF neu gestartet habe :)
wollte schon fragen ob ihr nicht noch nen reeboot nach erfolgem woc eintragen könntet :)

gruß ika
 
Port 5060

Hallo
ich brauche den Port UDP 5060 für meinen Computer, nun habe ich Angst mir mein VOIP zu zerschiessen wenn ich den Port über das Pseudoimage verstelle. Welchen Port soll ich dann der Fritzbox für VOIP alternativ zum 5060 zur verfügung stellen, damit VOIP über Freenet weiterhin funktioniert.
Habe schon etwas erfahrung mit den Pseudoimages, hab schon die Rufnummernanzeige auf der D-Box aktiviert, läuft dank eurer Hilfe mittlerweile einwandfrei.
Echt super Arbeit was ihr hier leistet.
 
bei mir stürzt irgendwie das script zur rufnummernanzeige öfters ab, nach einem reboot geht alles wieder?
 
mir wird das ganze zu aufwendig und heikel - ich warte lieber wieder bis avm was leistet - wlan signalisierung haben sie jetzt ja schon - mal sehen wie lange der rest dauert ......
 
lolax schrieb:
bei mir stürzt irgendwie das script zur rufnummernanzeige öfters ab, nach einem reboot geht alles wieder?

Das gleiche Problem habe ich auch.
 
Ist klar das es da Probleme gibt. Bei mir läuft es jetzt seit 3 Tagen.
Hab callmassage und WOC installiert. Meine debug.cfg sieht inzwischen so aus.
Code:
#!/bin/sh



major=`grep tffs /proc/devices`
tffs_major=${major%%tffs}
#write calllog
cat > /var/calllog << 'ENDCALLLOG'
#!/bin/sh
echo "Aufruf: calllog ${1} ${2} ${3}"

#trap "" SIGCHLD

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

echo "Ergebnis: parse_telefon ${LINE} ${CALLER}"
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;
#CONTACTSEND

#LINES
#line=:anonym;
#line=SIP0:Internet1;
#line=SIP1:Internet2;
#line=SIP2:Internet3;
#line=SIP3:Internet4;
#line=SIP4:Internet5;
#line=POTS:Analog;
#LINESEND

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

number=$1

wget -q -O /var/tmp/name "http://www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm?kw_invers=${number}&main=Antwort&s=2" 2>/dev/null

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

rm /var/tmp/name

echo "${name}"
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
name=`cat /var/flash/debug.cfg 2>/dev/null | fgrep "#contact=${caller}:" | sed "s/#contact=${caller}://"`
name=${name%%\;*}

# name not found?
if [ -z "${name}" ]
then
  # do reverse lookup for at www.dasoertliche.de
  name=`/var/tmp/invers.sh ${caller}`
  # found name?
  if [ -n "${name}" ]
  then
    # add found contact to debug.cfg
    cat /var/flash/debug.cfg | sed -e "s/#CONTACTSEND$/#contact=${caller}:${name};
#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}:unbekannt;
#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;}'`

# 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;}'`

# send information to DBoxes -> TV screen
wget -O /dev/null "http://192.168.0.55/control/message?popup=Eingehender%20Anruf%0AAnrufer%3A%20${httpname}%0ALeitung%3A%20${httptheline}" >/dev/null 2>&1 &

# send information to DBoxes -> LCD
wget -O /dev/null "http://192.168.0.55/control/lcd?lock=1&clear=1&xpos=5&ypos=20&size=18&font=2&text=${httpname}&update=1" >/dev/null 2>&1 &
sleep 1
wget -O /dev/null "http://192.168.0.55/control/lcd?lock=1&clear=0&xpos=5&ypos=42&size=18&font=2&text=an%20${httptheline}&update=1" >/dev/null 2>&1 &
sleep 20
wget -O /dev/null "http://192.168.0.55/control/lcd?lock=0" >/dev/null 2>&1 &

sleep 3
killall wget
ENDCALLMESSAGE

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

# write WakeOnCall script
cat > /var/tmp/woc.sh << 'ENDWOC'
#!/bin/sh

pcaller=01711111111
pcalled=SIP1

# read params
caller=$2
called=$1

# check if woc is permitted for caller and called
if [ "${pcaller}" = "all" ]
then
  if [ "${pcalled}" = "all" ]
  then
    /var/tmp/startpc
  elif [ "${pcalled}" = "${called}" ]
  then
    /var/tmp/startpc
  fi
elif [ "${pcaller}" = "${caller}" ]
then
  if [ "${pcalled}" = "all" ]
  then
    /var/tmp/startpc
  elif [ "${pcalled}" = "${called}" ]
  then
    /var/tmp/startpc
  fi
fi

ENDWOC

# 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=061111
caller="$2"
called="$1"

# 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
if [ ${caller} = "*694*" ]
then
  echo Caller-Error
else
  # exec woc.sh
  /var/tmp/woc.sh ${called} ${caller} &
  # exec callmessage.sh
  /var/tmp/callmessage.sh ${called} ${caller} &
fi

ENDPARSETEL

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

# load SSH-Server (dropbear) and ether-wake

# CONFIGURATION

# SSH
# port
dropbearport="22"
# password
PASSWD='pass'

# Etherwake
# MAC address
wolmac="00:00:00:00:00:00"
# interface to use for WOL
# intf = std  - ata
# eth0 = LAN1 - WAN
# eth1 = LAN2 - LAN1
wolinterface="eth0"

# CONFIGURATION END

# change root password
cp -p /var/tmp/shadow /var/tmp/shadow.old
sed -e "/root:/s#^root:[^:]*:#root:${PASSWD}:#" /var/tmp/shadow.old > /var/tmp/shadow

# wait for server
while !(ping -c 1 www.meines.de)
do
  sleep 5
done

# change dir
cd /var/tmp

# create simplified WOL script
echo "#!/bin/sh" > ./startpc
echo "/var/tmp/etherwake -i ${wolinterface} ${wolmac}" >> ./startpc
echo "echo Server gestartet" >> ./startpc

# load files
wget http://www.meines.de/fbox/dropbear
wget http://www.meines.de/fbox/busybox

# make them executable
chmod +x /var/tmp/dropbear
chmod +x /var/tmp/busybox
chmod +x /var/tmp/startpc

# create symlink for dropbearkey
ln -s /var/tmp/dropbear dropbearkey
ln -s /var/tmp/busybox etherwake

sleep1
# write dropbear hostkeys
/var/tmp/dropbearkey -t rsa -f /var/tmp/dropbear_rsa_host_key
# start dropbear
sleep 3
/var/tmp/dropbear -p ${dropbearport} -r /var/tmp/dropbear_rsa_host_key
Um die Box aus dem internet zu erreichen hab ich in der ar7 noch den Port 22 frei gegeben. Die wichtigen Änderungen sind im calllog und der sed-Befehl im callmassage.sh und der dropbear Teil am Ende. Eure Nummern, MAC, Passwort... müßt ihr natürlich anpassen.

Kann mir einer verraten wozu der trap-Befehl sein soll? Den hab ich auskommentiert, weil es vorher noch Probleme gab.
Dann hab ich noch die Nummer *694* rausgefiltert, ich hab davon regelmäßig Anrufe angezeigt bekommen und die wurden dann auch immer schön in die debug.cfg eingetragen. Keine Ahnung was das ist, ich vermute die Mailbox signalisiert so eingegangen Messages.

sat24
 
Hi @ all,

so, ich habe den sed-Fehler nun beseitigt. Das scheint zu laufen. Die anderen Punkte schaue ich mir am Wochenende an.

Viele Grüße,
Andreas
 
@evid dead

kannst du dann das funktionierende script bitte hier einmal posten?
 
Hi,

du brauchst dir nur ein neues Image erstellen.

Viele Grüße,
Andreas

P. S.: @sat24: ein leerer $2 wird mit "" übergeben. Z. B. calllog "03012345" "" "SIP0". Da zeigt er bei mir einwandfrei SIP0 als angerufene Leitung an. trap verhindert Zombie-Prozesse.
 
ich hab mir jetzt ein neues image erstellen lassen, doch leider finde ich die neuerungen nicht.

könntest du nicht einen tip an welcher stelle du was geändert hast
 
ich tip mal auf das $-Zeichen hinter CONTACTSEND in den Zeilen
Code:
cat /var/flash/debug.cfg | sed -e "s/#CONTACTSEND$...

@ Evil Dead,
da scheinst Du ja recht zu haben mit dem leeren $2, das geht ja tatsächlich.
Komisch ist nur, der calllog war regelmäßig hängen geblieben und stand dann immer mit max. 2 Parametern in der Prozessliste. Kann natürlich auch am trap gelegen haben, da ich beides geändert habe. Jedenfalls ist es bei mir seit dem nicht mehr hängen geblieben, vorher bestimmt bei jedem 3. Anruf.

sat24
 
Hallo,

ich bin echt begeistert von deiner Arbeit Evil Dead! :)

Habe mir gerade ein Pseudo Image erzeugt, allerdings zögere ich jetzt noch mit dem installieren auf der Fritz!Box.
Das Problem ist, dass ich gerne übers Internet Zugriff auf die Fritz!Box hätte.
Da ich gerade in Australien bin, war mein Plan, dass ich das Pseudo-Image an jemanden vor Ort schicke, der es dann auf der FB einspielt.

Auf meinem Webspace hab ich bereits openvpn, server.ovpn und das keyfile in einem Ordner liegen.

Der Client von openvpn.net ist auch runtergeladen. Das alles funktioniert schon mit Windows? Gibt es eine Anleitung, wie ich mit dem Client jetzt die Verbindung einrichten muss?

Gruß

Peter
 
also meine sieht so aus. kann mir jemand sagen wo da ein fehler sein soll

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

trap "" SIGCHLD

CALLER=${1}
LINE=${2}
if [ -z "${LINE}" ]
then
  LINE=${3}
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;




#CONTACTSEND

#LINES
#line=:anonym;
#line=162:Daniel und Anika;
#line=0901:Alex und Julia;
#line=SIP0:Alex und Julia VOIP;
#LINESEND

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

number=$1

wget -q -O /var/tmp/name "http://www.dasoertliche.de/DB4Web/es/oetb2suche/home.htm?kw_invers=${number}&main=Antwort&s=2" 2>/dev/null

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

rm /var/tmp/name

echo "${name}"
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
name=`cat /var/flash/debug.cfg 2>/dev/null | fgrep "#contact=${caller}:" | sed "s/#contact=${caller}://"`
name=${name%%\;*}

# name not found?
if [ -z "${name}" ]
then
  # do reverse lookup for at www.dasoertliche.de
  name=`/var/tmp/invers.sh ${caller}`
  # found name?
  if [ -n "${name}" ]
  then
    # add found contact to debug.cfg
    cat /var/flash/debug.cfg | sed -e "s/#CONTACTSEND$/#contact=${caller}:${name};




#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" > /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;}'`

# 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;}'`

# 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://192.168.69.1:23232/?caller=${caller}&called=${called}&name=${name}&line=${theline}" >/dev/null 2>&1 &
wget -O /dev/null "http://192.168.69.10:23232/?caller=${caller}&called=${called}&name=${name}&line=${theline}" >/dev/null 2>&1 &
wget -O /dev/null "http://192.168.69.12:23232/?caller=${caller}&called=${called}&name=${name}&line=${theline}" >/dev/null 2>&1 &

# send information to DBoxes -> TV screen
wget -O /dev/null "http://test:[email protected]/control/message?nmsg=Eingehender%20Anruf%0AAnrufer%3A%20${httpname}%0ALeitung%3A%20${httptheline}" >/dev/null 2>&1 &
wget -O /dev/null "http://test:[email protected]/control/message?nmsg=Eingehender%20Anruf%0AAnrufer%3A%20${httpname}%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=06703
caller="$2"
called="$1"

# 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
 
Hallo, hab mir heute auch noch mal ein neues image erstellt. Leider bleibt auch hier der calllog des öfteren hängen.

Mir ist aufgefallen das dies erst der fall ist, seit die contacts nicht mehr extra in eine Datei geschrieben werde.

*edit*
Mir ist noch aufgefallen, das der calllog jedesmal hängenbleibt, wenn der Anrufer nicht in der contact list steht.
*edit*

Gruß Michael
 
Zuletzt bearbeitet:
@MOhlmann
versuch es mal mit folgender calllog ohne trap und 3 vor 2 zuweisen:
Code:
#!/bin/sh 

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

sh /var/tmp/parse_telefon.sh "${LINE}" "${CALLER}" &
vielleicht hilft es ja bei dir auch. Das funktioniert wahrscheinlich bei mehreren ISDN-MSN nicht richtig, aber vielleicht hast Du ja auch nur Analog und das Problem haben nur wir.
Was wird bei ISDN als $3 übergeben(POTS bei Analog)? $2 ist bestimmt die MSN.

@lolax
wenn Du das neue postest, wird es auch keinen Fehler geben ;)
Wie ich schon schrieb, das $ Zeichen ist dazu gekommen, die Zeile wirst Du schon finden, so viele sed-Befehle sind ja nicht drin (2./3.).
 

Statistik des Forums

Themen
246,200
Beiträge
2,247,910
Mitglieder
373,756
Neuestes Mitglied
Pitberg
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.