Hallo zusammen,
ich stehe irgendwie auf dem Schlauch und habe leider weder im Forum über das große G eine Lösung für mein Problem gefunden. Vielleicht fällt Euch ja auf, was ich falsch mache.
Ich möchte ein in IPS erstelltes Telefonbuch automatisch auf die Fritzbox laden. Das Telefonbuch ist ok. Das manuelle Hochladen geht. Für das automatische Hochladen habe ich folgende Routine genommen:
function WritePhoneBook($fritzbox_ip, $password, $telefonbuch){
$fritzCfg = $fritzbox_ip.'/cgi-bin/firmwarecfg';
$ch = curl_init($fritzbox_ip.'/login_sid.lua');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$login = curl_exec($ch);
$session_status_simplexml = simplexml_load_string($login);
if ($session_status_simplexml->SID != '0000000000000000'){
$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, "response={$response}&page=/login_sid.lua");
$sendlogin = curl_exec($ch);
$session_status_simplexml = simplexml_load_string($sendlogin);
if ($session_status_simplexml->SID != '0000000000000000'){
$SID = $session_status_simplexml->SID;
}else{
echo "Fehler: Login fehlgeschlagen";
return;
}
}
curl_setopt($ch, CURLOPT_URL, $fritzCfg);
curl_setopt($ch, CURLOPT_POSTFIELDS, array("sid" => $SID, "PhonebookId" => $telefonbuch, "PhonebookImportFile" => "/var/lib/symcon/webfront/user/fritzphone.xml", "PhonebookImport" => ""));
$book = curl_exec($ch);
curl_close($ch);
Echo $book.chr(10);
print_r($book);
return;
}
Die Rückmeldung ist dann aber „Beim Wiederherstellen des Telefonbuchs ist ein Fehler aufgetreten.“. Ich nehme an, dass es an den Postfields liegt, bekomme aber nicht raus, was ich falsch mache.
Hat jemand eine Idee?
Viele Grüße
Jürgen