- Mitglied seit
- 14 Jul 2005
- Beiträge
- 3,058
- Punkte für Reaktionen
- 224
- Punkte
- 63
Hallo,
da ich seit einiger Zeit meine Kontakte und Kalender auf einer ownCloud zu Hause verwalte, fehlte der automatische Telefonbuchimport der Frtiz!box von einem Online-Anbieter. Ein Carddav-Import ist derzeit nicht auf der Fritzbox verfügbar. Nach einiger Suche fand ich das Script "carddav2fb.php", welcher aber leider nicht weiter gepflegt wurde. Also habe ich mich hingesetzt und das vorhandene erweitert bzw. an das neue Fritz!box API angepaßt.
Funktionen:
"Installation":
Aufruf: php -f carddav2fb.php [configfile]
[configfile] ist ein optionaler Parameter, wenn er fehlt wird "config.php" verwendet.
Beschreibung der Konfigdatei - zum Aktivieren von optionalen Parametern vorne das "//" entfernen und mit sinnvollen Werten ersetzen:
$config['fritzbox_ip'] = 'fritz.box';
=> Name der Fritzbox im Netzwerk. Kann auch durch IP-Adresse ersetzt werden.
$config['fritzbox_user'] = 'fb_username';
=> Login-Name an der Fritz!box
$config['fritzbox_pw'] = 'fb_password';
=> Paßwort für obigen Benutzer
$config['phonebook_number'] = '0';
=> Nummer des internen Telefonbuchs. '0' ist das Haupt-Telefonbuch, '1'..'n' alle weiteren.
$config['phonebook_name'] = 'FBF_Name';
=> Name für das Telefonbuch, wie er in der Box angezeigt werden soll. Geht derzeit nicht/nur teilweise beim primären Telefonbuch.
//$config['output_file'] = '/media/share/phonebook.xml';
=> Optional: Ausgaben in die angegebene Datei schreiben, anstatt sie direkt zur Box zu senden.
//$config['group_filter'] = array('Arzt','Familie','Freunde','Friseur','Geschäftlich','Hotline','Notruf','Restaurant','Shops');
=> Optional: Nur Kontakte der angegebenen Gruppen einlesen.
$config['group_vip'] = 'VIP';
=> Gruppenname für "wichtige" Anrufer.
//$config['usb_disk'] = 'USBDISK2-0-01';
=> Optional: Basispfad des USB-Speichers an der Fritzbox, unterhalb dessen sich das Verzeichnis "FRITZ\fonpix" befindet.
$config['carddav'][0] = array(
'url' => 'https://raspserver/owncloud/remote.php/carddav/addressbooks/fritzbox/fb_contacts',
=> Url des ersten einzulesenden Adressbuchs des Cloudspeichers.
'user' => 'oc_username',
=> Benutzername dieses Cloudspeichers.
'pw' => 'oc_password'
=> Paßwort für obigen Benutzernamen.
);
... optional beliebig viele weitere zu importierende Adressbücher. Alle Adressbücher werden zu einem Fritz!box-Telefonbuch zusammengefaßt.
Anmerkungen zu Kontaktfotos: Wenn die Option 'usb_disk' aktiviert wurde, werden in die XML-Datei Links auf Kontaktfotos eingefügt. Diese Fotos müssen derzeit VOR dem Export zur Fritz!box auf deren USB-Speicher vorhanden sein! Falls die Box wie oben den Namen "USBDISK2-0-01" vergeben hat, kopiert man die Fotos nach "\\fritz.box\FRITZ.NAS\USBDISK2-0-01\FRITZ\fonpix".
Konventionen für diese Bilder:
Bildqualität ist auf einem MT-F subjektiv besser, als wenn man sie über die Fritz!box-Oberfläche hochlädt.
Getestet mit ownCloud unter Raspbian und Cubian. Fritzbox ist eine 7270 V3 mit aktueller Beta-Firmware. Ich habe die Scripten so weit hinbekommen, daß keine Warnungen mehr angezeigt werden.
Fritzbox-API vom User "spackmat" habe ich leicht modifiziert, daß man nur eine einzige Konfigdatei braucht.
Links:
Fritz!box-API: http://www.ip-phone-forum.de/showthread.php?t=196309
Originalversion carddav2fb: https://github.com/carlos22/carddav2fb
da ich seit einiger Zeit meine Kontakte und Kalender auf einer ownCloud zu Hause verwalte, fehlte der automatische Telefonbuchimport der Frtiz!box von einem Online-Anbieter. Ein Carddav-Import ist derzeit nicht auf der Fritzbox verfügbar. Nach einiger Suche fand ich das Script "carddav2fb.php", welcher aber leider nicht weiter gepflegt wurde. Also habe ich mich hingesetzt und das vorhandene erweitert bzw. an das neue Fritz!box API angepaßt.
Funktionen:
- Auslesen eines oder mehrerer CardDAV-Adreßbücher und Export dieser Daten direkt in die Fritz!box oder in eine XML-Datei.
- Unterstützung mehrerer interner Telefonbücher der Fritz!box.
- Optionaler Import-Filter nach Kontaktgruppen.
- Alle Kontakte, welche der Gruppe "VIP" angehören (Name konfigurierbar), werden im FBF-Telefonbuch als "wichtig" angelegt. Derzeit nur im ersten Telefonbuch der Box möglich.
- Rudimentäre Unterstützung für Kontaktfotos.
"Installation":
- Das zip-File irgendwo auf eurem Server entpacken. Die Ordnerstrutur muß erhalten bleiben!
- Zugriffsrechte auf "root" setzen.
- In Fritz!box und Cloudsoftware am besten neue Logins anlegen, da diese mit Paßwort im Klartext in der Konfigdatei gespeichert werden.
- Die Datei "config.example.php" umbenennen in "config.php" und die darin enthaltenen Daten anpassen.
- Optional für weitere Telefonbücher in der Box je eine neue config-Datei erstellen.
Aufruf: php -f carddav2fb.php [configfile]
[configfile] ist ein optionaler Parameter, wenn er fehlt wird "config.php" verwendet.
Beschreibung der Konfigdatei - zum Aktivieren von optionalen Parametern vorne das "//" entfernen und mit sinnvollen Werten ersetzen:
$config['fritzbox_ip'] = 'fritz.box';
=> Name der Fritzbox im Netzwerk. Kann auch durch IP-Adresse ersetzt werden.
$config['fritzbox_user'] = 'fb_username';
=> Login-Name an der Fritz!box
$config['fritzbox_pw'] = 'fb_password';
=> Paßwort für obigen Benutzer
$config['phonebook_number'] = '0';
=> Nummer des internen Telefonbuchs. '0' ist das Haupt-Telefonbuch, '1'..'n' alle weiteren.
$config['phonebook_name'] = 'FBF_Name';
=> Name für das Telefonbuch, wie er in der Box angezeigt werden soll. Geht derzeit nicht/nur teilweise beim primären Telefonbuch.
//$config['output_file'] = '/media/share/phonebook.xml';
=> Optional: Ausgaben in die angegebene Datei schreiben, anstatt sie direkt zur Box zu senden.
//$config['group_filter'] = array('Arzt','Familie','Freunde','Friseur','Geschäftlich','Hotline','Notruf','Restaurant','Shops');
=> Optional: Nur Kontakte der angegebenen Gruppen einlesen.
$config['group_vip'] = 'VIP';
=> Gruppenname für "wichtige" Anrufer.
//$config['usb_disk'] = 'USBDISK2-0-01';
=> Optional: Basispfad des USB-Speichers an der Fritzbox, unterhalb dessen sich das Verzeichnis "FRITZ\fonpix" befindet.
$config['carddav'][0] = array(
'url' => 'https://raspserver/owncloud/remote.php/carddav/addressbooks/fritzbox/fb_contacts',
=> Url des ersten einzulesenden Adressbuchs des Cloudspeichers.
'user' => 'oc_username',
=> Benutzername dieses Cloudspeichers.
'pw' => 'oc_password'
=> Paßwort für obigen Benutzernamen.
);
... optional beliebig viele weitere zu importierende Adressbücher. Alle Adressbücher werden zu einem Fritz!box-Telefonbuch zusammengefaßt.
Anmerkungen zu Kontaktfotos: Wenn die Option 'usb_disk' aktiviert wurde, werden in die XML-Datei Links auf Kontaktfotos eingefügt. Diese Fotos müssen derzeit VOR dem Export zur Fritz!box auf deren USB-Speicher vorhanden sein! Falls die Box wie oben den Namen "USBDISK2-0-01" vergeben hat, kopiert man die Fotos nach "\\fritz.box\FRITZ.NAS\USBDISK2-0-01\FRITZ\fonpix".
Konventionen für diese Bilder:
- Format quadratisch.
- Nicht größer als 600x600 Pixel.
- Dateiformat jpeg mit Endung .jpg
- Name muß dem vollen Kontaktnamen, wie er in der Fritzbox angelegt wird, entsprechen. Umlaute werden wie folgt ersetzt: Ä => Ae / Ö => Oe / Ü => Ue / ä => ae / ö => oe / ü => ue / ß => ss / Akzente werden einfach entfernt ( z.B.à => a). Leerzeichen und kaufmännisches und (&) werden durch einen Unterstrich ersetzt ( _ ) . Ein Foto für "Heiner Müller" muß "Heiner_Mueller.jpg" heißen, bei "Betty & Fritz" wird daraus "Betty___Fritz.jpg". Linux packt die Umlaute zwar teilweise, aber das Mobilteil nicht.
Bildqualität ist auf einem MT-F subjektiv besser, als wenn man sie über die Fritz!box-Oberfläche hochlädt.
Getestet mit ownCloud unter Raspbian und Cubian. Fritzbox ist eine 7270 V3 mit aktueller Beta-Firmware. Ich habe die Scripten so weit hinbekommen, daß keine Warnungen mehr angezeigt werden.
Fritzbox-API vom User "spackmat" habe ich leicht modifiziert, daß man nur eine einzige Konfigdatei braucht.
Links:
Fritz!box-API: http://www.ip-phone-forum.de/showthread.php?t=196309
Originalversion carddav2fb: https://github.com/carlos22/carddav2fb
Anhänge
Zuletzt bearbeitet: