.titleBar { margin-bottom: 5px!important; }

Fritzbox von externem Telefon/Handy rebooten

Dieses Thema im Forum "FRITZ!Box Fon: Modifikationen" wurde erstellt von Netsn00p, 19 Dez. 2011.

  1. Netsn00p

    Netsn00p Neuer User

    Registriert seit:
    11 Jan. 2010
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #1 Netsn00p, 19 Dez. 2011
    Zuletzt bearbeitet: 19 Dez. 2011
    Hallo,

    ich bräuchte mal ein wenig Unterstützung bzw. einen Tip wie ich es hinbekomme, dass ich meine Fritzbox per Anruf von extern neu starten kann.

    Ich habe 3 ISDN Nummern, für die Reboot-Funktion könnte ich eine dafür nehmen und es sollte die Nummer abgeprüft werden, welche anruft, damit nicht jeder meine FB neu starten kann ;) .

    Hab hier dazu schon ein bissel rumgesucht, aber nichts direktes dazu gefunden.

    Könnte es evtl. so funktionieren? Habe ich in einem Post von sawo20 hier im Forum gefunden und etwas abgeändert.


    Code:
    #! /bin/sh
    # Beispiel für einen Fritzbox-Reboot per Anruf
    # Parameter von Telefon Daemon
    # $1 caller (Anrufer ID)
    # $2 MSN Nummer
    # $3 ist SIP0/ISDN
    
    # Definition
    # MSN = Telefonnummer zum wecken
    # caller = nummer oder jeder
    # caller2= weitere Nummer
    
    MSN=123456
    #caller=jeder
    caller=000000
    caller2=000001
    
    
    if [ "$MSN" = "123456" ]; then
    # Prüfen ob der Anrufer die Fritzbox rebooten darf
    if [ "$caller" = "$1" -o "$caller2" = "$1" ]; then
    shutdown -r -t 5
    fi
    fi
    Exit 0
    
    EDIT: Habe eben grad gemerkt, "shutdown" geht nicht bei der Fritzbox, hmm... und wenn man "reboot" nimmt, dann läuft das Skript nicht durch...

    Ich habe eine FRITZ!Box 7270 mit der aktuellen Firmware 74.05.05 .


    Gruß
    Christian
     
  2. Netsn00p

    Netsn00p Neuer User

    Registriert seit:
    11 Jan. 2010
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Keiner nen Tip?
     
  3. Webhamster

    Webhamster Neuer User

    Registriert seit:
    6 Feb. 2008
    Beiträge:
    147
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  4. Netsn00p

    Netsn00p Neuer User

    Registriert seit:
    11 Jan. 2010
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #4 Netsn00p, 20 Dez. 2011
    Zuletzt bearbeitet: 20 Dez. 2011
    Hmm, das soll wohl nicht funktionieren -> calltrough oder hier

    Oder mal ein anderes Skript, könnte das so funtkionieren?

    Code:
    trap "" SIGCHLD
    # Einschraenkung auf MSN
    if [[ "$2" != "meineMSN" ]]; then
    exit 0
    fi
    /sbin/reboot
    
    Da könnte ich eine meiner 3 ISDN Nummern nehmen, allerdings sollte schon noch die Abfrage nach dem Anrufer mit drin sein, ist mir sicherer. Ist wahrscheinlich für einen Coder einfach, ich kenn mich da allerdings nicht so gut aus.

    Nachts neu starten hilft mir nicht wirklich weiter, ich möchte schon die Möglichkeit haben selbst den Reboot einzuleiten.

    Gruß Christian
     
  5. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    5,001
    Zustimmungen:
    47
    Punkte für Erfolge:
    48
    Das Script aus deinem Beitrag #1 ist doch ein klassisches calllog Script.
    Wie hattest du das denn ausgeführt? :noidea:

    Joe
     
  6. Netsn00p

    Netsn00p Neuer User

    Registriert seit:
    11 Jan. 2010
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #6 Netsn00p, 20 Dez. 2011
    Zuletzt bearbeitet: 20 Dez. 2011
    Hi Joe,

    noch gar nicht, bevor ich da was fummle, möchte ich schon wissen ob es sinnig ist ;) .
    Wie schon gesagt, ich versuch da zwar logisch ranzugehen, aber ich bin kein Coder und somit werd ich, was zum Beispiel die Syntax angeht etc., sehr wahrscheinlich Fehler reinbauen. Da hier bestimmt einige Leute sind, welche das Coden richtig gut drauf haben und auch schon einige Mods geproggt haben, sehe ich es als sinniger an, diese dort mal rüber schaun zu lassen. Mich verwundert allerdings, dass es dazu noch keine vernünftig funktionierende Lösung hier im AVM Forum gibt...

    Zum Beitrag #1:

    "EDIT: Habe eben grad gemerkt, "shutdown" geht nicht bei der Fritzbox, hmm... und wenn man "reboot" nimmt, dann läuft das Skript nicht durch..."

    Das war eine für mich logische Schlussfolgerung, kein Test. Wenn der "reboot" Befehl kommt, wird das Skript ja nicht komplett bearbeitet und sollte somit nicht funktionieren.

    Gruß Christian
     
  7. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    5,001
    Zustimmungen:
    47
    Punkte für Erfolge:
    48
    Darauf gibt es eine ganz einfache Antwort:
    Es macht überhaupt keinen Sinn, eine funktionierende Fritz!Box über einen Telefonanruf neu zu starten!

    Joe
     
  8. Netsn00p

    Netsn00p Neuer User

    Registriert seit:
    11 Jan. 2010
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Wenn man damit weiter nichts macht, stimmt das wohl. Aber wenn man dort zum Bsp. mit dynamischen DNS arbeitet und VPN, dann macht es schon Sinn ;-) .

    Ich habe die aktuelle Firmware drauf und habe nur SSH und TinyProxy in der debug.conf eingetragen, sonst sind keine Mods mit der Box gemacht. Trotzdem verliert diese immer mal die Connection auf den DynDns Account, so dass ich die Box dann entweder neu starte muss, oder den DynDns Account auf der Fritzbox refreshe. Geht natürlich beides nur wenn ich zu Hause bin, daher meine Frage zu einem Reboot per Telefon.

    Gruß Christian
     
  9. aquarium

    aquarium Mitglied

    Registriert seit:
    2 Dez. 2007
    Beiträge:
    297
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Dann möchtest Du also die FB neu starten, weil das Update der IP-Adresse nicht funktioniert hat.
    Stattdessen könntest Du untersuchen, warum es nicht funktioniert. Es gibt einige Threads hier im Forum, das es in letzter Zeit bei dyndns.com zu Problemen. Als Lösung wird vorgeschlagen, einen anderen Anbieter zu wählen.
    Eine andere Möglichkeit wäre, ein skript zu schreiben, welches die Aktualisierung der IP-Adresse durchführt, und dieses durch einen Anruf zu auszuführen. (Wenn das denn möglich ist).
    Eine andere Möglichkeit wäre, dass Du den Zeitpunkt der Zwangstrennung auf kurz vor 24:00 Uhr legst und Dir dann täglich eine Push-Mail (wir bei mir immer kurz nach 00:00 Uhr) zusenden lässt. Im Ereignisprotokoll ist auch die letzte IP-Adresse enthalten.
     
  10. Netsn00p

    Netsn00p Neuer User

    Registriert seit:
    11 Jan. 2010
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das Update der IP-Adresse funktioniert eigentlich ganz gut. Ich hatte allerdings von Arbeit aus mal 2 VPN Verbindungen hergestellt (1x Smartphone + 1x Notebook) da ich diese nochmal konfigurieren musste, habe ich die VPN Verbindungen getrennt und habe diese dann in der Fritzbox gelöscht um danach eine neue VPN-Config einzuspielen, leider kam ich nicht mehr dazu, bin nicht mehr auf die Box gekommen. Den einen Tag hatte ich noch Glück, da war meine Freundin schon zu Hause und konnte die Fritzbox neu starten, danach lief wieder alles. Ein anderes Mal war niemand da und ich habe mich dann nach der Arbeit mal rangesetzt und habe gesehen, das zwar noch alles lief, aber beim DynDNS Account FEHLER stand, liegt dann wohl doch nahe, dass es mit der DynDNS Störung zu tun hat. Allerdings ist es immer dann passiert, wenn ich die VPN Nutzer auf der Box gelöscht habe. Damit ich ein Hintertürchne habe, wollte ich mir jetzt zumindest die Möglichkeit realisieren, die Box per Anruf neu zu starten.

    Die Calltrough Funktion klappt leider nicht, da nach der Eingabe des 3ten Zeichens des Befehls für den Neustart, ein Besetzt-Ton zu hören ist. Ich habe darauf hin eine Kurzwahl angelegt, leider hat es auch damit nicht funktioniert.

    Die Skripte von oben, werden wohl von der Logic her auch nicht funktionieren (ich habs noch nicht probiert) aber die Idee mit der Erneuerung der IP per Skript ist ganz gut ;) werd mich da mal versuchen und melde mich dann wieder. Danke für den Tip!


    Gruß Christian
     
  11. dattom

    dattom Neuer User

    Registriert seit:
    1 Dez. 2006
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Callmonitor verwenden

    Hallo , REBOOT geht einfach mit callmonitor und folgenden einträgen in der Konfiguration:


    Code:
    in:request <handnummer>  <isdn-msn>   mailmessage -s "HANDY_REBOOT_DER_FRITZ-BOX: $TIMESTAMP $SOURCE"
    in:request <handnummer>  <isdn-msn>   reboot
    
    Viel Erfolg
    gruss Tom
     
  12. Netsn00p

    Netsn00p Neuer User

    Registriert seit:
    11 Jan. 2010
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Danke dattom, dass hört sich doch schonmal gut an. Jetzt muss ich nur noch schaun, wie ich den CallMonitor ohne MOD auf meine FB bekomme und dann hab ich endlich meinen Reboot ;) .


    Gruß Christian
     
  13. dattom

    dattom Neuer User

    Registriert seit:
    1 Dez. 2006
    Beiträge:
    4
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    callmonitor

    Nimm doch einfach FREETZ, ( da ist der callmonitor ja auch zu finden ), und bau dir ein möglichst einfaches freetzimage. Anleitung dazu gibts ja super gute auf der freetz homepage. Glaube das geht am schnellsten !!

    viel Erfolg

    gruss tom
     
  14. Netsn00p

    Netsn00p Neuer User

    Registriert seit:
    11 Jan. 2010
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So, Fritz!Box ist gefreetzt. Habe jetzt folgende Regel erstellt:

    Code:
    in:request ^0151123456$  ^030123456$   mailmessage -s "HANDY_REBOOT_DER_FRITZ-BOX: $TIMESTAMP $SOURCE"
    in:request ^0151123456$  ^030123456$   reboot
    
    Leider funktioniert der Reboot nicht.


    Wenn ich allerdings im CallMonitor einen Testanruf durchführe, klappt es...

    Code:
    including /usr/lib/callmonitor/actions.d/config.sh
    including /usr/lib/callmonitor/actions.d/dboxlcd.sh
    including /usr/lib/callmonitor/actions.d/dial.sh
    including /usr/lib/callmonitor/actions.d/mail.sh
    including /usr/lib/callmonitor/actions.d/messages.sh
    including /usr/lib/callmonitor/actions.d/musicpal.sh
    including /usr/lib/callmonitor/actions.d/rc.sh
    including /usr/lib/callmonitor/actions.d/roku.sh
    including /usr/lib/callmonitor/actions.d/samsung.sh
    >>> in:request ID=1 TIMESTAMP=02.01.12 17:07 SOURCE=0151123456 DEST=030123456 EXT=4 DURATION=16 PROVIDER=
    [0] event detected:
      EVENT=in:request
      SOURCE='0151123456'
      DEST='030123456'
    [0+] detailed event data:
      SOURCE_DISP='151123456'
      SOURCE_ENTRY='151123456; Mobilfunk*'
        SOURCE_NAME='151123456'
        SOURCE_ADDRESS='Mobilfunk*'
      DEST_DISP='30123456'
      DEST_ENTRY=''
        DEST_NAME=''
        DEST_ADDRESS=''
      ID=1
      EXT=4
      DURATION=16
      TIMESTAMP='02.01.12 17:07'
      PROVIDER=
    [0:0] processing rule 'in:request' '^0151123456$' '^030123456$' 'mailmessage -s "HANDY_REBOOT_DER_FRITZ-BOX: $TIMESTAMP $SOURCE"'
    [0:0] event 'in:request' matches pattern 'in:request'
    [0:1] processing rule 'in:request' '^0151123456$' '^030123456$' 'reboot'
    [0:1] event 'in:request' matches pattern 'in:request'
    [0:0] parameter SOURCE='0151123456' matches pattern '^0151123456$'
    [0:0] parameter DEST='030123456' matches pattern '^030123456$'
    [0:0] SUCCEEDED
    [0:0] ACTION: 'mailmessage -s "HANDY_REBOOT_DER_FRITZ-BOX: $TIMESTAMP $SOURCE"'
    [0:1] parameter SOURCE='0151123456' matches pattern '^0151123456$'
    [0:1] parameter DEST='030123456' matches pattern '^030123456$'
    [0:1] SUCCEEDED
    [0:1] ACTION: 'reboot'

    Mache ich noch was falsch?


    Gruß Christian
     
  15. Joe_57

    Joe_57 IPPF-Promi

    Registriert seit:
    5 März 2006
    Beiträge:
    5,001
    Zustimmungen:
    47
    Punkte für Erfolge:
    48
    Die Regel
    Code:
    in:request ^0151123456$  ^030123456$   mailmessage -s "HANDY_REBOOT_DER_FRITZ-BOX: $TIMESTAMP $SOURCE"
    in:request ^0151123456$  ^030123456$   reboot
    
    Sollte doch eher so aussehen:
    Code:
    in:request 0151123456 123456 mailmessage -s "HANDY_REBOOT_DER_FRITZ-BOX: $TIMESTAMP $SOURCE"
    in:request 0151123456 123456 reboot
    
    :noidea:

    Joe
     
  16. Netsn00p

    Netsn00p Neuer User

    Registriert seit:
    11 Jan. 2010
    Beiträge:
    53
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Joe,

    danke für Deine Antwort. Ich hatte mich im CallMonitor Wiki etwas belesen:

    http://freetz.org/wiki/packages/callmonitor/listeners#

    Dort stand die Syntax so:

    ^0123456$ - nur genau die Nummer 0123456

    Ich habe dann Deinen Code mal ausprobiert und hatte zuerst auch keinen Erfolg, dann ist mir aber aufgefallen, dass Du bei der MSN keine Vorwahl angegeben hast ;) und dat wars dann auch schon, funzt jetzt 1A. Auch mit ^ und $ :p . Warum es allerdings beim Testanruf mit der Vorwahl funktioniert hat, ist mir nicht klar.

    Ich dank Dir vielmals :bier: !


    Gruß Christian