Fritzbox 7270/Wlan Repeater Scripts

Schickst halt per PM am Wochenende.

OK, mache ich !

Danke schon mal…

Für alle die gerne mal selbst intern anrufen wollen. :slight_smile:

<?

if($IPS_SENDER == "Execute")
{
    $fritzbox_ip = 'fritz.box';
    $fritzgui    = 'http://fritz.box/cgi-bin/webcm';
    $fritzseite  = '../html/de/menus/menu2.html';
    $password    = 'xxxxx';

    $ch = curl_init('http://' . $fritzbox_ip . '/cgi-bin/webcm?getpage=../html/login_sid.xml');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $login = curl_exec($ch);
    $session_status_simplexml = simplexml_load_string($login);

    if ($session_status_simplexml->iswriteaccess == 1)
    {
       $SID = $session_status_simplexml->SID;
    }
    else
    {
       $challenge = $session_status_simplexml->Challenge;
       $response = $challenge . '-' . md5(mb_convert_encoding($challenge . '-' . $password, "UCS-2LE", "UTF-8"));
        curl_setopt($ch, CURLOPT_POSTFIELDS, "login:command/response={$response}&getpage=../html/de/menus/menu2.html");
        preg_match('/name="sid" value="([0-9a-f]*)"/', curl_exec($ch), $matches);
       if(isset($matches[1]) && $matches[1] != '0000000000000000')
       {
          $SID = $matches[1];
       }
       else
       {
          echo "Fehler: Login fehlgeschlagen";
          return;
        }
        curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&telcfg:command/Dial=**610"); // interne Nummer eintragen!
        curl_exec($ch);
        curl_close($ch);
    }

}

?>

Hallo Rainer,

das ist ja mal wieder eine super Geschichte!

Ich habe an meiner Auerswald-Telefonanlage ein Relais auf eine Rufnummer geschaltet bei der man „nur“ klingeln lassen muss. Ich habe also keine interne, sondern eine externe Nummer angegeben.
Kann ich den Anruf zeitlich begrenzen lassen? Also nur 2-3 mal klingeln und dann wieder „auflegen“?

Joachim

Hallo Joachim,

kann man. :wink:

Einfach den Anruf abbrechen.

curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&telcfg:command/Dial=''");
curl_exec($ch);

Ich habe dein „Intern anrufen“ mal kurz übernommen, bekomme aber die Fehlermeldung: Call to undefined funktion mb_convert_encoding() in … on line 23
Bisher laufen bei mir nur deine älteren Scripte wie Anruferliste. Die sind soweit ich es verstehe ohne curl. Müssen die jetzt auch alle umgestellt werden?

Hast Du das ganze Script übernommen oder nur den unteren Befehl. cUrl wird schon immer verwendet genauso wie mb_convert_encoding.
Die Abfrage ist allerdings etwas anderst geworden.

Du musst in deinem ext Ordner die php_mbstring.dll vorfinden, ansonsten nach installieren.

Danke für die schnelle Antwort,
php_mbstring.dll gab es auf meinem Testsystem nicht. Nach php_curl habe ich noch geschaut. Jetzt geht es.

Danke Rainer!

Funktioniert!:slight_smile:

Hallo ist ja echt unglaublich was alles geht mit meiner Fritzbox .:slight_smile:
Funktioniert alles einwandfrei. Ganz großes Kompliment an euch.
Was ich an der Fritzbox toll finde ist die Klingelsperre . Mich nervt nur das es halt lange dauert, wenn man sie mal für ein Mittagsschläfchen aktivieren will . Und danach wieder deaktivieren möchte.
Gibt es da eine möglichkeit über IPS einen Ein/Aus Schalter zu realisieren.
Wäre über eine Lösung sehr dankbar.

Macht weiter so!!!

Gruß

Mastershort

Hier ist der Code. Du kannst einzeln schalten oder komplett. Funktioniert dann wie beim AB oder Wlan.

<input type="hidden" name="var:MiniUser" value="User3" id="uiPostMiniUser"> <input type="hidden" name="var:MiniNew" value="" id="uiPostMiniNew"> <input type="hidden" name="var:FonDeviceKind" value="Schnurlostelefon (DECT)"> <input type="hidden" name="var:FonDeviceKindId" value="DECT" id="uiPostFonDeviceKindId"> <input type="hidden" name="telcfg:settings/Foncontrol/User3/NoRingWithNightSetting" value="1" id="uiPostNoRingNS"> <input type="hidden" name="telcfg:settings/Foncontrol/User3/RingAllowed" value="1" id="uiPostRingAllowed0"> <input type="hidden" name="telcfg:settings/Foncontrol/User3/NoRingTime" value="" id="uiPostNoRingTime0"> <input type="hidden" name="box:settings/night_time_control_enabled" value="0" id="uiPostUseNacht" disabled> <input type="hidden" name="box:settings/night_time_control_off_time" value="" id="uiPostNachtStart" disabled> <input type="hidden" name="box:settings/night_time_control_on_time" value="" id="uiPostNachtEnd" disabled> <input type="hidden" name="box:settings/night_time_control_ring_blocked" value="0" id="uiPostNachtFon" disabled> <input type="hidden" name="var:FonAssiFromPage" value="0" id="uiFonAssiFromPage"> <input type="hidden" name="var:RufnummerKonfig" value="" id="uiPostRufnummerKonfig"> <input type="hidden" name="var:DeviceType" value="Fon" id="uiDeviceType"> <input type="hidden" name="var:TechType" value="DECT" id="uiTechType">

Hallo Rainer,

hier sind echt so viel geniale Scripts von dir hinterlegt und alle funktionieren anstandslos. Vielen Dank dafür!!!

Ich hätte einen Wunsch hinsichtlich des WLAN Repeater n/g.

Kannst du ein Script schreiben, bei dem man die voreingestellten Sender wählen kann (am besten mit Namensausgaben anstatt Nummer) und das man das Radio aktivieren bzw deaktivieren kann?

Das würde mich extrem doll freuen.

Danke dir,

Gruß

Felix

Radiosender mit Ips steuern ?
Da waere ich auch direkt Feuer und Flamme
Ich habe momentan den Repeater als Soundkarte in Ips im Einsatz, leider kommt es immer iweder vor, dass wenn die AvmSoftware mal nicht mit dem Repeater verbunden hat und dann Ips neu gestartet wird, die soundkarte beim Mediacenter. Nicht mehr verfügbar ist.
Da waere Radio eine schöne Alternative.
Oder gibt es ggf. Eine andere Möglichkeit die Soundkarten anzusprechen
Upnp-Renderer oder etwas in der Art.

Kann es sein, dass alle Anrufe von Nebenstelle 1 ausgehen?
Lass ich mich von der Fritze anklingeln, kommt in den Displays immer „Anruf von Nebenstelle 1“. Will ich aber nun von der Fritze die Nebenstelle 1 anrufen, passiert nix! Alles andere geht! Ideen?

Gruß

Kai

Noch besser, Ich wähle Nebenstelle 2 an! Hebe ich dann ab, klingelt die Nebenstelle 1 und es wird versucht ein gespräch herzustellen. Woran kann das liegen? Ich wähle immer **2 an!

Ich kann dir deine Fragen leider nicht beantworten, da ich keine analogen Telefone an der Box habe und auch keine besitze.

Das Script nutzt die Wählhilfe. Wenn ich jetzt noch einen Parameter mit der anzurufenden Nummer mit übergebe baut sich das Gespräch auf.

hi Rainer,

also egal ob ich die 3 (hab noch ne 7170) anwähl oder die 2. nach dem abheben wird jeweils die Nebenstelle 1 angeklingelt! Grad nochmal probiert.
Gibts evtl. ein Parameter wo das ausgehende Gerät angegeben werden kann?

Gruß

Kai

Hiermit stellt Du die Anrufe ein.

interne Nummer

telcfg:command/Dial=**610

und hiermit die Nebenstelle

telcfg:settings/DialPort=50

wobei die 50 ISDN und Schnurlostelefone ist.

Das ganze in PHP.

curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&telcfg:settings/DialPort=60"); // Nebenstellennummer eintragen!
        curl_exec($ch);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "sid={$SID}&telcfg:command/Dial=**612"); // Nummer eintragen!
        curl_exec($ch);
        curl_close($ch);

Die Nebenstellennummer bekommst Du, wenn Du die 1 weg lässt.

Im Beispiel oben ist die 612 intern Büro und das Telefon welches anrufen soll die 610. 1 weg 60 usw…

Es klingelt jetzt bei der 610, bei Abnahme wird weiter verbunden zu 612 oder der Nummer die Du angegeben hast. :wink:

merci :slight_smile:
Junge Junge, ganz schön Tricky *lol

Gibt´s da schon was neues?
Rainer wollte sich der Sache mal annehmen, habe aber nix mehr zum Thema gefunden…
Wäre schön, wenn mir jemand ein Script geben könnte, wie ich aus der Fritzbox den wLan-Status der einzelnen Clients auslese.
Den (w)Lan Watch Dog mit der Ping-Geschichte kenne ich, würde aber gerne die Fritzbox auslesen.

Gruß
Dirk