FritzBox Telefonbuch Service für Cisco Telefone

3-Finger-Harry

Neuer User
Mitglied seit
13 Jan 2020
Beiträge
38
Punkte für Reaktionen
1
Punkte
8
Hat da irgendjemand irgendeine schlaue Lösung?
Erstmal würde ich mit einem Browser die URLs abklappern und gucken was sich tut (Fehlermeldungen, etc)
Dann würde ich im Log des Webserver nachsehen und
schließlich würde ich PHP zu Debug-Output überreden.

Irgendwie ist die Nacht jetzt vorbei, dabei wollte ich doch eigentlich schlafen...:oops:
Vielleicht hast Du Glück und kannst heute einen Feiertag nutzen ;)
 

ommm

Neuer User
Mitglied seit
28 Dez 2018
Beiträge
7
Punkte für Reaktionen
0
Punkte
1
Erstmal würde ich mit einem Browser die URLs abklappern und gucken was sich tut (Fehlermeldungen, etc)
Dann würde ich im Log des Webserver nachsehen und
schließlich würde ich PHP zu Debug-Output überreden.
Die Scripts funktionieren ja soweit ohne Probleme.
Nur wird halt (scheinbar erst seit den letzten paar Firmwareupdates) ein synchronisiertes Online-Telefonbuch nicht mehr behandelt wie vorher bzw. wie die lokal auf der FritzBox angelegten Telefonbücher. Sprich: wenn ich neben dem immer vorhandenen Telefonbuch eines anlege, das mit einem Google-Account synchronisiert wird, ist dieses eben nicht das Telefonbuch 1, wie es vorher war. Lege ich hingegen ein weiteres Telefonbuch auf der Fritzbox an, das nicht mit was auch immer synchronisiert wird, ist dieses dann das Telefonbuch 1.
Da können die Scripts herzlich wenig für.
Seit wann das so ist – keine Ahnung. Hat halt bis letztens, als ich hier einiges umgestellt habe, funktioniert, bzw. es ist nicht aufgefallen, dass es nicht funktionierte.
 

3-Finger-Harry

Neuer User
Mitglied seit
13 Jan 2020
Beiträge
38
Punkte für Reaktionen
1
Punkte
8
Wenn ich Dich richtig verstanden habe, werden also alle Telefonbücher angezeigt, nur nicht in der von Dir bevorzugten Reihenfolge?
 

koyaanisqatsi

IPPF-Urgestein
Mitglied seit
24 Jan 2013
Beiträge
12,653
Punkte für Reaktionen
349
Punkte
83
Moinsen

Das liegt daran, dass die Online-Telefonbuch IDs bei...
HTML:
<!-- id:240 , name: GMX -->
<phonebook owner="240" name="GMX">
...240 beginnen und daher immer über TR-64 die letzten Nummern bekommen.
( Als Abfragenummer )
...die um jeweils 1 erhöht wird, wenn ein neues Telefonbuch angelegt wird.
...oder um 1 verringert, wenn Eins gelöscht wird.
Komische Logik, aber darauf kannst du dich verlassen.
 
  • Like
Reaktionen: ommm

ommm

Neuer User
Mitglied seit
28 Dez 2018
Beiträge
7
Punkte für Reaktionen
0
Punkte
1
Wenn ich Dich richtig verstanden habe, werden also alle Telefonbücher angezeigt, nur nicht in der von Dir bevorzugten Reihenfolge?
Nee, hast mich komplett falsch verstanden... :D

Das liegt daran, dass die Online-Telefonbuch IDs bei...
HTML:
<!-- id:240 , name: GMX -->
<phonebook owner="240" name="GMX">
...240 beginnen und daher immer über TR-64 die letzten Nummern bekommen.
( Als Abfragenummer )
...die um jeweils 1 erhöht wird, wenn ein neues Telefonbuch angelegt wird.
...oder um 1 verringert, wenn Eins gelöscht wird.
Komische Logik, aber darauf kannst du dich verlassen.
Wer denkt sich so 'nen Mist aus...?! :rolleyes:
So passt das jetzt, danke!
 

sindbad6

Neuer User
Mitglied seit
4 Mrz 2013
Beiträge
11
Punkte für Reaktionen
0
Punkte
1
Hallo,

zunächst einmal vielen Dank an die Maintainer des fritzco php-Skripts. Ich finde es toll, das ihr euch so einsetzt!

Habe es auch mit einigen Umwegen zum laufen gebracht, was aber an den fehlenden Kenntnissen bezüglich php und apache2 lag.
Jetzt habe ich ein Problem, bei dem ich nicht weiter weiß und um eure Hilfe bitte. Habe für den Zugriff von fritzco auf die Fritzbox 7490 mit Fritz!OS 7.12 einen eigenen User angelegt und ihm versuchsweise auch erstmal alle Berechtigungen erteilt. Leider meldet mein 9971 das ich keinen Zugriff auf die Fritzbox bekomme und das Passwort prüfen soll. Der Log-file unten bestätigt dies. Sollte aber passen. Wenn ich stattdessen das "Masterpasswort" ohne eigene UserID konfiguriere, dann läuft alles und ich kann auf das Telefonbuch zugreifen. Ich möchte es aber aus nachvollziehbaren Gründen nicht dabei belassen und eigentlich sollte es ja auch funktionieren, wie aus älteren Posts hervor geht.
Hat jemand eine Idee, woran es liegt?

fritzco.log:
Code:
27.06.2020 13:44:48     webserver - user: www-data
27.06.2020 13:44:48     directory.php: started
27.06.2020 13:44:48     directory.php: execute: refresh
27.06.2020 13:44:48     directory.php: execute: refresh > /books is writable
27.06.2020 13:44:48     directory.php: execute: refresh > webserver is not running on Fritz!Box
27.06.2020 13:44:48     directory.php: execute: refresh > SID=0000000000000000
27.06.2020 13:44:49     directory.php: execute: refresh > Username is set to 'xxxxxxx'
27.06.2020 13:44:49     directory.php: execute: refresh > CURLOPT_POSTFIELDS=&username=xxxxxxx&response=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&page=/login_sid.lua
27.06.2020 13:44:49     directory.php: execute: refresh > Login failed
 

PW-Sys

Neuer User
Mitglied seit
20 Aug 2013
Beiträge
6
Punkte für Reaktionen
0
Punkte
1
Hi,

ich hätte einen kleinen Patch, Hintergrund ist das der Webserver für das Telefonbuch bei mir nicht auf Port 80 läuft...

Code:
From 84db72c16aa80b74b73721bfc581fa469970a509 Mon Sep 17 00:00:00 2001
Date: Thu, 6 Aug 2020 09:46:56 +0200
Subject: [PATCH] Port added in directory.php

---
 directory.php | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/directory.php b/directory.php
index 364fb14..722c84c 100644
--- a/directory.php
+++ b/directory.php
@@ -212,7 +212,7 @@ if((!isset($_GET["book"]) && ($show_BookSelection)) or (!$has_books))
                $name = $attributes["name"] . " (" . PB_NAME_GENERAL . ")";
                $get = $_GET;
                unset($get['refresh']);
-               $url = "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["PHP_SELF"] . '?' . http_build_query(array_merge($get,array("book"=>$book)));
+               $url = "http://" . $_SERVER["SERVER_NAME"] . ':' . $_SERVER["SERVER_PORT"] . $_SERVER["PHP_SELF"] . '?' . http_build_query(array_merge($get,array("book"=>$book)));
                $menu->addMenuItem(new MenuItem($name, $url));
             }
         }
@@ -286,24 +286,24 @@ if((!isset($_GET["book"]) && ($show_BookSelection)) or (!$has_books))
                     $name = $xml->phonebook->contact[$i]->person->realName;
                                        $get = $_GET;
                                        unset($get['refresh']);
-                                       $url = "http://" . $_SERVER["SERVER_NAME"] .  $_SERVER["PHP_SELF"] . '?' . http_build_query($get) . "&id=" . $i;
+                                       $url = "http://" . $_SERVER["SERVER_NAME"] . ':' . $_SERVER["SERVER_PORT"] .  $_SERVER["PHP_SELF"] . '?' . http_build_query($get) . "&id=" . $i;
                     $menu->addMenuItem(new MenuItem($name, $url));
                 }
                 $menu->addSoftKeyItem(new SoftKeyItem(PB_BUTTON_SELECT, 1, 'SoftKey:Select'));

                                if ($show_BookSelection) {
-                                       $url = "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["PHP_SELF"];
+                                       $url = "http://" . $_SERVER["SERVER_NAME"] . ':' . $_SERVER["SERVER_PORT"] . $_SERVER["PHP_SELF"];
                                        $menu->addSoftKeyItem(new SoftKeyItem(PB_BUTTON_BACK, 3, $url));
                                } else {
                                        $menu->addSoftKeyItem(new SoftKeyItem(PB_BUTTON_EXIT, 3, 'Init:Directories'));
                                }
                                $get = $_GET;
                                unset($get['refresh']);
-                $url = "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["PHP_SELF"] . '?' . http_build_query(array_merge($get,array("search"=>true)));
+                $url = "http://" . $_SERVER["SERVER_NAME"] . ':' . $_SERVER["SERVER_PORT"] . $_SERVER["PHP_SELF"] . '?' . http_build_query(array_merge($get,array("search"=>true)));
                 $menu->addSoftKeyItem(new SoftKeyItem(PB_BUTTON_SEARCH, 2, $url));

                                unset($get['offset']);
-                               $tmp_url = "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["PHP_SELF"] . '?' . http_build_query($get);
+                               $tmp_url = "http://" . $_SERVER["SERVER_NAME"] . ':' . $_SERVER["SERVER_PORT"] . $_SERVER["PHP_SELF"] . '?' . http_build_query($get);

                 if($offset>0){
                     $newoffset = $offset-30;
@@ -335,7 +335,7 @@ if((!isset($_GET["book"]) && ($show_BookSelection)) or (!$has_books))
             unset($get['search']);
             unset($get['queryname']);
             unset($get['querynumber']);
-            $url = "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["PHP_SELF"] . '?' . http_build_query($get);
+            $url = "http://" . $_SERVER["SERVER_NAME"] . ':' . $_SERVER["SERVER_PORT"] . $_SERVER["PHP_SELF"] . '?' . http_build_query($get);
             $menu = new CiscoIpPhoneInput(PB_NAME_GENERAL . ' ' . PB_PHONEBOOK, PB_INPUT_QUERY, $url);
             if(isset($_GET['queryname'])){
                 $queryname = $_GET['queryname'];
@@ -378,10 +378,10 @@ if((!isset($_GET["book"]) && ($show_BookSelection)) or (!$has_books))
                        $menu->addSoftKeyItem(new SoftKeyItem(PB_BUTTON_DIAL, 1, 'SoftKey:Dial'));
                        $get = $_GET;
                        unset($get['refresh']);
-                       $url = "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["PHP_SELF"] . '?' . http_build_query($get) . "&details";
+                       $url = "http://" . $_SERVER["SERVER_NAME"] . ':' . $_SERVER["SERVER_PORT"] . $_SERVER["PHP_SELF"] . '?' . http_build_query($get) . "&details";
             $menu->addSoftKeyItem(new SoftKeyItem(PB_BUTTON_DETAILS, 4, $url));
                        unset($get['id']);
-            $url = "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["PHP_SELF"] . '?' . http_build_query($get);
+            $url = "http://" . $_SERVER["SERVER_NAME"] . ':' . $_SERVER["SERVER_PORT"] . $_SERVER["PHP_SELF"] . '?' . http_build_query($get);
             $menu->addSoftKeyItem(new SoftKeyItem(PB_BUTTON_BACK, 3, $url));

         }
@@ -407,7 +407,7 @@ if((!isset($_GET["book"]) && ($show_BookSelection)) or (!$has_books))
                        $get = $_GET;
                        unset($get['refresh']);
             unset($get['details']);
-            // $url = "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["PHP_SELF"] . '?' . http_build_query($get);
+            // $url = "http://" . $_SERVER["SERVER_NAME"] . ':' . $_SERVER["SERVER_PORT"] . $_SERVER["PHP_SELF"] . '?' . http_build_query($get);
             $menu->addSoftKeyItem(new SoftKeyItem(PB_BUTTON_BACK, 3, 'SoftKey:Exit'));
         }
     }
--
2.25.1
Wäre cool wenn das eingebaut werden könnte.
 

PW-Sys

Neuer User
Mitglied seit
20 Aug 2013
Beiträge
6
Punkte für Reaktionen
0
Punkte
1
Ein Problem habe ich leider noch:
Ich habe ein 7965 mit Softwarestand cmterm-7945_7965-sip.8-5-4.
Leider werden mir die Softbuttons der XML am Telefon nicht angezeigt. Was muss ich tun um diese zu bekommen?

Ein update auf cmterm-7945_7965-sip.9-4-2-1SR3-1 brachte auch nichts
 
Zuletzt bearbeitet:

raindancer2204

Neuer User
Mitglied seit
19 Mai 2015
Beiträge
27
Punkte für Reaktionen
0
Punkte
1
Hallo,

ich habe den aktuellen Branch von fritco von https://github.com/SkyhawkXava/fritzco im Einsatz.

Das Telefonbuch funktioniert wirklich super.

Ich kann auf meinem Webserver mit dem PHP jedes php Script ausführen bis auf das weather.php.
Also die Rechte sind alle gleich gesetzt von Linux seiten sollte alles passen.

Ich habe auch meine Daten angepasst:
cat weather.config.inc.php angepasst.

<?php
/*
* @author Christian Bartsch <cb AT dreinulldrei DOT de>, bt43a
* @copyright (c) Christian Bartsch, bt43a
* @license GPL v2
* @date 2013-12-06
*/
$weather_apikey = '´MEINKEY'; //GET YOUR OWN FREE API KEY AT http://www.openweathermap.org/
$weather_city = 'Berlin';
$weather_id = ; // can be omitted, unless there are several matches for your city by name
$lang = 'de';
$units = 'metric';
$gmt_offset = 1; // adjust for your timezone
$target = '7945'; // currently supports 7941, 7945 and 99xx (standard), affects graphics resolution
$weather_refresh = 180; // refresh weather display after xx seconds

$wallpaper_path = 'weather/wallpaper/';
$wallpaper_file = '498x289_background.png'; // should match 498x289 for 99x, 289x168 or 298x156 for 79xx phones

?>

Was habt ihr als Aufruf in euer SEP.config des Telefons?
Hat das jemand mit einem aktuellen API Key am laufen? Den kann man sich doch kostenlos odern? Ich weis nicht mal mehr ob meiner geht wie kann ich das testen.

Grüsse Raini
 

3-Finger-Harry

Neuer User
Mitglied seit
13 Jan 2020
Beiträge
38
Punkte für Reaktionen
1
Punkte
8
Ich habe auch meine Daten angepasst:
cat weather.config.inc.php angepasst.
Nö, hast Du nicht:

$weather_city = 'Berlin';
$weather_id = ; // can be omitted, unless there are several matches for your city by name
Schon mal bei http://www.openweathermap.org/ "Berlin" eingegeben?

Da werden neben "Berlin, DE" auch noch "Berlin, SV" (El Salvador) und 3 x "Berlin, US" gelistet.
Selbst bei der Eingabe von "berlin, de" gibt's 3 Einträge.
 

koyaanisqatsi

IPPF-Urgestein
Mitglied seit
24 Jan 2013
Beiträge
12,653
Punkte für Reaktionen
349
Punkte
83
Zuletzt bearbeitet:

raindancer2204

Neuer User
Mitglied seit
19 Mai 2015
Beiträge
27
Punkte für Reaktionen
0
Punkte
1
Hi,

also ich habe jetzt die weather.config.inc.php config mal angepasst Danke für den Tipp.

In der weather.php vom fritzco-master steht folgendes drin:

<?php
/*
* @author Christian Bartsch <cb AT dreinulldrei DOT de>, bt43a
* @copyright (c) Christian Bartsch, bt43a
* @license GPL v2
* @date 2015-10-24
*
* Installation:
*
* 1. Copy all files from "fritzco" into a folder on your server --> ERLEDIGT
* 2. Creater weather subfolder, then create folders: font, wallpaper and icons. --> ERLEDIGT
* 2. Extract OpenWeatherMap API to /lib folder (=place cmfcmf folder in /lib folder) --> ERLEDIGT
* 3. Copy true type fonts arial.ttf and arialbd.ttf (Windows/Fonts) to weather/font--> ERLEDIGT
* 4. Change line 56 in /lib/cmfcmf/OpenWeatherMap/Util/Unit.php to:
$this->
value = round((float)$value, 1);
* 5. Edit config file in /weather
*/

require_once __DIR__ . '/config/general.config.inc.php';
require_once __DIR__ . '/lib/Cmfcmf/OpenWeatherMap.php');
require_once __DIR__ . '/config/weather.config.inc.php';
require_once __DIR__ . '/locale/weather.locale.inc.php';
require_once __DIR__ . '/lib/cipxml/cipxml.php';

2 Fragen:
1. Bei der weather.php ist das require_once __DIR__ . '/lib/Cmfcmf/OpenWeatherMap.php'); ist hier das letzte ) korrekt?
2. Wie habt ihr den Wert eingetragen Wert in den Line 56 eingetragen in /lib/cmfcmf/OpenWeatherMap/Util/Unit.php
Bei mir schaut das wie folgt aus:
Orginal:


54 /**
55 * Create a new unit object.
56 *
57 * @param float $value The value.
58 * @param string $unit The unit of the value.
59 * @param string $description The description of the value.
60 * @param float|null $precision The precision of the value, or null if unknown.
61 *
62 * @internal

Ich würd es so eintrag ist das korrekt wie es oben steht oder muss da der stern mit rein?

54 /**
55 * Create a new unit object.
56 $this->value = round((float)$value, 1);
57 * @param float $value The value.
58 * @param string $unit The unit of the value.
59 * @param string $description The description of the value.
60 * @param float|null $precision The precision of the value, or null if unknown.
61 *
62 * @internal

Danke euch Raini

Rechte und user habe ich richtig gesetzt.

Danke Raini
 
3CX

Neueste Beiträge

Statistik des Forums

Themen
236,149
Beiträge
2,071,524
Mitglieder
357,342
Neuestes Mitglied
ghiemer