Hallo,
hier eine Lösung um die Kontakte sämtlicher Benutzer eines Funambol SyncML-Server (mit PostgreSQL-Datenbank als Backend) in das FRITZ!Box Telefonbuch zu replizieren.
Dabei wird pro Funambol-Benutzer ein eigenes Telefonbuch in der Fritzbox gepflegt. Ist einem Kontakt ein Bild im JPEG Format zugeordnet, so wird dieses ebenfalls repliziert und verknüpft.
Die ganze Prozedur ist in zwei Prozesse unterteilt.
Ein Prozess (fnmbl-pb-export.sh) erstellt eine XML-Datei im Telefonbuchformat der Fritzbox, sowie eine Archivedatei mit Kontaktbildern. Dieser Prozess erfordert Zugriff auf die Datenbank.
Der zweite Prozess (pbupd-funambol.sh.txt) lädt die zuvor genannten Dateien auf die Fritzbox und importiert diese in das Telefonbuch.
Beide Prozesse sind keine Dienste und müssen somit z.B. via Cron in regelmäßigen Intervallen ausgeführt werden.
Bevor die Prozesse / Shell-Skripte zum Einsatz kommen, müssen diese noch an die lokalen Gegebenheiten angepasst werden (URLs, HTTP-Proxy, etc...)
Da die Skripte in meinem Fall minütlich angestoßen werden, habe ich mich um den Flash-Speicher der Fritzbox zu schonen, für einen Speicherplatz auf einem USB-Stick entschieden.
Die SQL-Abfrage sollte leicht auf andere Datenbanken mit ANSI-SQL Unterstützung angepasst werden können.
Um möglichst weder mit evtl. Online-Telefonbüchern (owner>=240), noch mit regulären Telefonbüchern (>=1) zu kollidieren, wird die "owner" Nummer für jedes Funambol-Telefonbuch ab 239 dekrementiert.
Die beiden Skripte sind KEINE Ready-To-Use Lösung und müssen in jedem Fall angepasst werden!
Für mich bietet diese Lösung endlich ein Verfahren, eine einzige Datenbank für Kontakte mit all meinen Clients (Handys, Email-Programmen, DECT-Telefonen, ...und sonst allem SyncML-fähigen) automatisiert zu synchronisieren und mit Ausnahme der FRITZ!Box auch von überall zu pflegen.
Bei diesem Verfahren handelt es sich leider NICHT um einen SyncML-Client für die FRITZ!Box, sondern nur um eine Replizierung. Somit gehen evtl. Änderungen betroffener Telefonbücher beim nächsten Lauf von 'pbupd-funambol.sh' ggf. verloren. Änderungen müssen über einen via SyncML verbundenen Client (z.B. Handy) erfolgen.
hier eine Lösung um die Kontakte sämtlicher Benutzer eines Funambol SyncML-Server (mit PostgreSQL-Datenbank als Backend) in das FRITZ!Box Telefonbuch zu replizieren.
Dabei wird pro Funambol-Benutzer ein eigenes Telefonbuch in der Fritzbox gepflegt. Ist einem Kontakt ein Bild im JPEG Format zugeordnet, so wird dieses ebenfalls repliziert und verknüpft.
Die ganze Prozedur ist in zwei Prozesse unterteilt.
Ein Prozess (fnmbl-pb-export.sh) erstellt eine XML-Datei im Telefonbuchformat der Fritzbox, sowie eine Archivedatei mit Kontaktbildern. Dieser Prozess erfordert Zugriff auf die Datenbank.
Der zweite Prozess (pbupd-funambol.sh.txt) lädt die zuvor genannten Dateien auf die Fritzbox und importiert diese in das Telefonbuch.
Beide Prozesse sind keine Dienste und müssen somit z.B. via Cron in regelmäßigen Intervallen ausgeführt werden.
Bevor die Prozesse / Shell-Skripte zum Einsatz kommen, müssen diese noch an die lokalen Gegebenheiten angepasst werden (URLs, HTTP-Proxy, etc...)
Da die Skripte in meinem Fall minütlich angestoßen werden, habe ich mich um den Flash-Speicher der Fritzbox zu schonen, für einen Speicherplatz auf einem USB-Stick entschieden.
Die SQL-Abfrage sollte leicht auf andere Datenbanken mit ANSI-SQL Unterstützung angepasst werden können.
Um möglichst weder mit evtl. Online-Telefonbüchern (owner>=240), noch mit regulären Telefonbüchern (>=1) zu kollidieren, wird die "owner" Nummer für jedes Funambol-Telefonbuch ab 239 dekrementiert.
Die beiden Skripte sind KEINE Ready-To-Use Lösung und müssen in jedem Fall angepasst werden!
Für mich bietet diese Lösung endlich ein Verfahren, eine einzige Datenbank für Kontakte mit all meinen Clients (Handys, Email-Programmen, DECT-Telefonen, ...und sonst allem SyncML-fähigen) automatisiert zu synchronisieren und mit Ausnahme der FRITZ!Box auch von überall zu pflegen.
Bei diesem Verfahren handelt es sich leider NICHT um einen SyncML-Client für die FRITZ!Box, sondern nur um eine Replizierung. Somit gehen evtl. Änderungen betroffener Telefonbücher beim nächsten Lauf von 'pbupd-funambol.sh' ggf. verloren. Änderungen müssen über einen via SyncML verbundenen Client (z.B. Handy) erfolgen.
Anhänge
Zuletzt bearbeitet: