WOC / LCR / autom. reboot

Homer Simpson schrieb:
Ich weiss leider immer noch nicht, was du damit meinst, daß Du den calllog sehen willst. Meinst Du damit den reinen Inhalt via "cat /var/flash/calllog"
genau das!
Homer Simpson schrieb:
Der Inhalt steht so schon in der debug.cfg?!?
Das steht drin, was Du in calllog stehen haben möchtest, nicht notwendigerweise das, was Du tatsächlich bekommst :cool:

Tschö, Jojo
 
:idea: :idea: :idea: :idea: :idea:

... das war ja ne schwere Geburt :blonk: :blonk: :blonk: , werde heute abend mal einen screenshot posten.

Aber nochmal dazu, ob SIP4 und die zugelassenen Nummen in Anführungszeichen stehen müssen. Muss es heissen

wolsip="SIP4" oder wolsip=SIP4

bzw.

woltel1="0xxxxx" oder woltel1=0xxxxx

Danke, Gruß

Bernd
 
Homer Simpson schrieb:
Aber nochmal dazu, ob SIP4 und die zugelassenen Nummen in Anführungszeichen stehen müssen. Muss es heissen

wolsip="SIP4" oder wolsip=SIP4

bzw.

woltel1="0xxxxx" oder woltel1=0xxxxx
Schnurzpiepewurst, solange keine Leerzeichen oder Shell-Meta-Character im String vorkommen.

Tschö, Jojo
 
ok

Vielleicht können wir heute abend ja mal kurz skypen :rolleyes: :rolleyes: :rolleyes: Werds gleich mal in mein Profil eintragen.

Gruß, Homer Simpson
 
Inhalt calllog

Hallo jojo-schmitz,

hab jetzt mal einen screenshot aus telnet von cat/var/flash/calllog angehängt. Sieht auf den ersten Blick absolut genauso aus, wie in der debug.cfg.

/var/tmp/calllog.err ist leer?!?! Hab ich den exec 2-Befehl an die falsche Stelle gesetzt? Datum funzt jetzt in woc.info. Zugelassene Nr. erhält immer noch "kein WOC". Könntest Du Dir das bitte nochmal anschauen und mal testen, warum immer nur die eine Schleife durchlaufen wird? Wäre echt super!

Gruß, Homer Simpson
 

Anhänge

  • inhalt_calllog_24112006.jpg
    inhalt_calllog_24112006.jpg
    76.7 KB · Aufrufe: 14
Das 'exec' sitzt eine Zeile zu hoch (und damit hat das #!/bin/sh -x keinen Effekt mehr)
und $wolsip ist in calllog nicht bekannt, genausowas hatte ich vermutet.

"$wolsip" evaluiert daher zu "", also einem Leerstring, und das ist nunmal in aller Regel von $3 verschieden.

Nimm in der debug.cfg mal die " um $wolsip, $woltel1, $woltel2 und $woltel3 weg. In calllog müssen die im Klartext stehen (oder aber als 'var=value' auch dort gesetzt werden)

Mit den date stimmt auch noch was nicht (mein Fehler) mach da mal folgendes draus:
Code:
echo "Datum/Uhrzeit: \$(date +"%a, %d.%m.%Y %H:%M"), Nummer des Anrufers: $1, Angerufene Nummer: $2, $3, $statuscode" >> /var/tmp/woc.info
Tschö, Jojo
 
Zuletzt bearbeitet:
... danke, probier ich gleich aus!

Gruß, Homer Simpson
 
Meine letzten Änderungen beachten...
 
Hallo jojo-schmitz,

hab zwar noch bei $wolsip die " auch noch weggemacht, hilft aber auch nicht. Immer noch "kein WOC".Vielleicht noch bei $1, $2...

calllog.err bringt auch eine Fehlermeldung, die ich nicht kenne. Hab mit cat /var/flash/calllog und cat /var/tmp/calllog.err mal screenshots beigefügt.

Gruß, Homer Simpson
 

Anhänge

  • calllog_err_24112006.jpg
    calllog_err_24112006.jpg
    19.9 KB · Aufrufe: 8
  • inhalt_calllog_2_24112006.jpg
    inhalt_calllog_2_24112006.jpg
    79.8 KB · Aufrufe: 7
Verschiebe mal den wakeoncall config Teil in den callog hinein

Code:
######################
# wake-on-call START #
######################

# calllog erstellen
cat > /var/flash/calllog << 'END'
#!/bin/sh -x
exec 2>/var/tmp/callog.err

#############################
# wake-on-call config START #
#############################

# Wenn ein Anruf auf diesem SIP Port erfolgt, dann soll mein Rechner gestartet werden
# SIP Port Nummer: FBF Web-Interface oeffnen / Telefonie / Internettelefonie
# Achtung: SIP-Nr. ist eins kleiner, als Auswahl
# Beispiel: *124# ist dann z.B. SIP3
# Wenn Wake-On-Call deaktivert werden soll, dann irgendwas eintragen
wolsip="SIP4"

# Wer darf den PC per WOL ueber Tel aufwecken?
# jeder  Jeder der die Nummer $wolsip anruft, darf den Rechner aufwecken
# TelNummer, wenn es nur eine bestimmte Tel-Nummer darf
woltel1="01xxxx"
woltel2="02xxxx"
woltel3="06xxxx"

# $wolsip, $woltel1, $woltel2 und $woltel3 lassen sich in /var/tmp/woc.info kontrollieren,
# denn manchmal wird die Nummer nicht so uebermittelt 0123... sondern so +49123...
# Bitte kontrollieren und entsprechend oben eintragen

############################
# wake-on-call config ENDE #
############################

# Pruefen ob die angerufende Nr. die WOL-SIP ist
if [ "$3" = "$wolsip" ]; then
 # Pruefen ob jeder den Rechner wecken darf. Wenn "jeder" dann wecken
 if [ "$woltel1" = "jeder" ]; then
   /var/tmp/start_pc1
   statuscode="OK: alle Anrufer sind zugelassen"
 else
   # Ansonsten darf es wohl nur eine bestimmte Nummer
   # Pruefen ob es eine der erlaubten Nummern ist
   if [ "$1" = "$woltel1" -o "$1" = "$woltel2" -o "$1" = "$woltel3" ]; then
     /var/tmp/start_pc1
     statuscode="OK: der Anrufer ist zugelassen"
   else
     statuscode="Fehler: der Anrufer ist nicht zugelassen"
   fi
 fi
else
 statuscode="Info: kein WOC"
fi
# Ausgabe in woc.info:
echo "Datum/Uhrzeit: \$(date +"%a, %d.%m.%Y %H:%M"), Nummer des Anrufers: $1, Angerufene Nummer: $2, $3, $statuscode" >> /var/tmp/woc.info
END
# calllog fertig
 
Hallo jojo-schmitz,

sorry, musste kurz unterbrechen...

Es scheint nun zu FUNKTIONIEREN!!! Jedenfalls stehts so in der woc.info. Richtig testen muss ich noch. Ich denke, es lag an den " bei $1 und $3, die ich noch weggenommen habe. Mit Deiner Version, den wake on call config-Teil in den calllog zu nehmen funktioniert es auch. Dort habe ich aber auch die " bei $1 und $3 weggenommen. Das endgültige Ergebnis werde ich dann noch posten.

VIIIEEEELLLLEEEENNNN DAAANNNKKK FÜR DEINE HILFE UND DEINE GEBDULD!!!:rosen: :rosen: :rosen:

Viele Grüße,

Homer Simpson, der gleich mal seine Signatur ändern wird :rock: :rock: :rock:
 
Hallo jojo-schmitz,

Du hattest Recht! Der woc-config-Teil muss in den calllog und alles ohne Anführungszeichen. Hab gerade erfolgreich getestet!

Vielen Dank nochmal!

Hier die bei mir funktionierende debug.cfg mit FTP, WOL, SSH und WOC (telnet per Telefontastatur aktiviert). Anzupassende Stellen sind rot und fett markiert:

Code:
#####################################################
# Warten bis die FritzBox den Server erreichen kann #
#####################################################

while !(ping -c 1 www.tecchannel.de); do
sleep 5
done

#####################################################
# Installation FTP-Server, Etherwake und SSH-Server #
#####################################################

cd /var/tmp
wget http://www.tecchannel.de/download/432803/bftpd.conf
wget http://www.tecchannel.de/download/432803/bftpd

######################
# ausfuehrbar machen #
######################

chmod +x /var/tmp/bftpd
chmod 777 /var/tmp/bftpd.conf

##################################################
# Usernamen und den Passwort-Hash fuer FTP-Server #
##################################################

echo "[B][COLOR="Red"]User:passwort-hash[/B][/COLOR]:0:0:root:/:null" >> /var/tmp/passwd
/var/tmp/bftpd -d -c /var/tmp/bftpd.conf

##########################################
# Etherwake laden und ausfuehrbar machen #
##########################################

wget http://www.tecchannel.de/download/432967/etherwake
chmod +x etherwake

#####################################################
# SSH-Server dropbear laden und ausfuerhrbar machen #
#####################################################

wget http://www.tecchannel.de/download/432967/dropbear
sleep 10
chmod +x /var/tmp/dropbear

##################
# Start dropbear #
##################

ln -s /var/tmp/dropbear dropbearkey
sleep 10
/var/tmp/dropbearkey -t rsa -f /var/tmp/dropbear_rsa_hostkey -s 512
cp -p /var/tmp/shadow /var/tmp/tmp_shadow

#####################################
# Hash des root-Passworts eintragen #
#####################################

sed -e "/root:/s#^root:[^:]*:#root:[B][COLOR="Red"]passwort-hash[/B][/COLOR]:#" /var/tmp/tmp_shadow > /var/tmp/shadow
sleep 5
/var/tmp/dropbear -r /var/tmp/dropbear_rsa_hostkey

###############
# Wake on LAN #
###############

############################################################################################
# Interface der Fritzbox eth0 oder eth1 und die MAC-Adresse des zu weckenden PCs eintragen #
############################################################################################

sleep 5
echo "/var/tmp/etherwake -i eth0 [B][COLOR="Red"]XX:XX:XX:XX:XX:XX[/B][/COLOR]" > /var/tmp/start_pc1

################################
# start_pc1 ausfuehrbar machen #
################################

sleep 15
chmod +x /var/tmp/start_pc1


######################
# wake-on-call START #
######################

# calllog erstellen
cat > /var/flash/calllog << 'END'
#!/bin/sh -x
exec 2>/var/tmp/calllog.err

#############################
# wake-on-call config START #
#############################

# Wenn ein Anruf auf diesem SIP Port erfolgt, dann soll mein Rechner gestartet werden
# SIP Port Nummer: FBF Web-Interface oeffnen / Telefonie / Internettelefonie
# Achtung: SIP-Nr. ist eins kleiner, als Auswahl
# Beispiel: *124# ist dann z.B. SIP3
# Wenn Wake-On-Call deaktivert werden soll, dann irgendwas eintragen
wolsip=[B][COLOR="Red"]SIP4[/B][/COLOR]

# Wer darf den PC per WOL ueber Tel aufwecken?
# jeder  Jeder der die Nummer $wolsip anruft, darf den Rechner aufwecken
# TelNummer, wenn es nur eine bestimmte Tel-Nummer darf
woltel1=[B][COLOR="Red"]01XXXXXXXX[/B][/COLOR]
woltel2=[B][COLOR="Red"]02XXXXXXXX[/B][/COLOR]
woltel3=[B][COLOR="Red"]06XXXXXXXX[/B][/COLOR]

# $wolsip, $woltel1, $woltel2 und $woltel3 lassen sich in /var/tmp/woc.info kontrollieren,
# denn manchmal wird die Nummer nicht so uebermittelt 0123... sondern so +49123...
# Bitte kontrollieren und entsprechend oben eintragen

############################
# wake-on-call config ENDE #
############################

# Pruefen ob die angerufende Nr. die WOL-SIP ist
if [ $3 = $wolsip ]; then
 # Pruefen ob jeder den Rechner wecken darf. Wenn "jeder" dann wecken
 if [ $woltel1 = "jeder" ]; then
   /var/tmp/start_pc1
   statuscode="OK: alle Anrufer sind zugelassen"
 else
   # Ansonsten darf es wohl nur eine bestimmte Nummer
   # Pruefen ob es eine der erlaubten Nummern ist
   if [ $1 = $woltel1 -o $1 = $woltel2 -o $1 = $woltel3 ]; then
     /var/tmp/start_pc1
     statuscode="OK: der Anrufer ist zugelassen"
   else
     statuscode="Fehler: der Anrufer ist nicht zugelassen"
   fi
 fi
else
 statuscode="Info: kein WOC"
fi
# Ausgabe in woc.info:
echo "Datum/Uhrzeit: '$(date +"%a, %d.%m.%Y %H:%M")', Nummer des Anrufers: $1, Angerufene Nummer: $2, $3, $statuscode" >> /var/tmp/woc.info
END
# calllog fertig

##############################
# calllog ausfuehrbar machen #
##############################

ln -s /var/flash/calllog /var/calllog
chmod +x /var/flash/calllog

#####################
# wake-on-call ENDE #
#####################

Viele Grüße

Homer Simpson mit WOC
 
In der endgültigen Version sollte das -x und das exec 2>... aber wieder raus. War ja nur zum debuggen...

Tschö, Jojo
 
... hab ich vor lauter Begeisterung vergessen :) Ist geändert!

Gruß, Homer Simpson
 
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.