[Info] Kontakte (inkl. Bild) von ownCloud (CardDAV) in Telefonbuch replizieren

hi,

hab das jetzt auf die stable angepasst, funktioniert mit meinem kleinen adressbuch auch > 100 einträge. aber mein großes 3600 einträge klappt nicht. hab auch son mehrfach die sum file gelöscht, aber es geht nicht.

Sep 27 23:41:55 fritz user.debug pbupd_carddav: Successfully evaluated modification time
Sep 27 23:41:55 fritz user.debug pbupd_carddav: Smart property setting disabled. Each known number will appear as private, mobile, work, fax or email property. May result in repeated properties.
Sep 27 23:41:56 fritz user.debug pbupd_carddav: Printing contacts in VCF format successfully
Sep 27 23:41:56 fritz user.debug pbupd_carddav: Converting contacts from VCF to XML successfully
Sep 27 23:41:56 fritz user.debug pbupd_carddav: Configuration parsed successfully
Sep 27 23:41:56 fritz user.debug pbupd_carddav: XML phone book file '/tmp/pbupd_carddav-phonebooks.xml' constructed successfully
Sep 27 23:41:56 fritz user.debug pbupd_carddav: Import file '/tmp/pbupd_carddav-phonebooks.xml' includes phone books
Sep 27 23:41:57 fritz user.err pbupd_carddav: Import of CardDAV phone books failed
Sep 27 23:41:57 fritz user.info pbupd_carddav: warn Issues occured


evtl könnt ihr mir auch bei dem anderen problem helfen. ich habe ein gigaset a400 über das dect der fritzbox verbunden, aber ich komm so n icht an das telefonbuch in der box herran, muss ich hier noch irgendwo was einstellen ?
 
[...] mein großes 3600 einträge klappt nicht [...]
Code:
Sep 27 23:41:57 fritz user.err pbupd_carddav: Import of CardDAV phone books failed

Ist in der Regel eine fehlerhafte XML-Datei. Nicht auszuschließen ist aber auch die Möglichkeit, dass die FRITZ!Box Telefonbücher nur bis zu einer bestimmten Größe unterstützt.
Bitte erstelle mit z.B. dem fogendem Shell-Skript:
Code:
--- BEGIN /tmp/mktpb.sh ---
cat << EOT > /tmp/test-phonebook.xml
<?xml version="1.0" encoding="utf-8"?>
<phonebooks>
  <phonebook owner="239" name="Test Phonebook">
EOT

i=3600
while [[ 0 -lt $((i--)) ]]
do
  cat << EOT >> /tmp/test-phonebook.xml
    <contact modified="0">
      <category>0</category>
      <id>0</id>
      <person>
        <realName>foobar$i</realName>
      </person>
      <telephony>
        <number type=home prio=1>+1 555 $i</number>
      </telephony>
      <services>
      </services>
      <setup/>
      <uniqueid>$i</uniqueid>
    </contact>
EOT
  done

cat << EOT >> /tmp/test-phonebook.xml
  </phonebook>
</phonebooks>
EOT
--- END /tmp/mktpb.sh ---

ein Test-Telefonbuch und importiere dieses dann manuell in die FRITZ!Box:
Code:
root@fritz:/var/mod/root# /tmp/mktpb.sh
root@fritz:/var/mod/root# /usr/bin/pbd --import /tmp/test-phonebook.xml
root@fritz:/var/mod/root# echo $?
0
root@fritz:/var/mod/root#

Sollte die Asgabe von "echo $?" wie oben "0" sein, ist ein Fehler in pbupd_carddav wahrscheinlich. Ist der Wert ungleich 0, würde ich eine Limitierung seitens der FRITZ!Box vermuten.
 
3600 Einträge
root@fritz:/var/tmp# ls -ls test-phonebook.xml
1176 -rw-r--r-- 1 root root 1191999 Sep 29 10:46 test-phonebook.xml
root@fritz:/var/tmp# /usr/bin/pbd --import /tmp/test-phonebook.xml
root@fritz:/var/tmp# echo $?
243
2000 Einträge
root@fritz:/var/tmp# ls -ls test-phonebook.xml
656 -rw-r--r-- 1 root root 660799 Sep 29 10:54 test-phonebook.xml
root@fritz:/var/tmp# /usr/bin/pbd --import /tmp/test-phonebook.xml
root@fritz:/var/tmp# echo $?
243
1000 Einträge
root@fritz:/var/tmp# ls -ls test-phonebook.xml
332 -rw-r--r-- 1 root root 328799 Sep 29 10:58 test-phonebook.xml
root@fritz:/var/tmp# /usr/bin/pbd --import /tmp/test-phonebook.xml
root@fritz:/var/tmp# echo $?
0

irgendwie scheint zw 1100 und 1200 schluss zu sein
 
irgendwie scheint zw 1100 und 1200 schluss zu sein

Nach Aussage von AVM werden sogar nur 300 Einträge pro Telefonbuch unterstützt (siehe: Maximale Anzahl Telefonbucheinträge in Telefonbüchern der FRITZ!Box).
Eine Lösung hierfür könnte evtl. sein, ein CardDAV-Adressbuch ab einer konfigurierbaren Anzahl Kontakte, in mehrere FRITZ!Box-Telefonbücher aufzuteilen.

Könntest Du bitte mal versuchen, drei 1000er Test-Telefonbücher (mit unterschiedlichen Owner-IDs und Namen) zu importieren? Achte vielleicht darauf, die Owner-IDs absteigend zu vergeben, um nicht evtl. bestehende Telefonbüchser zu überschreiben.
 
Zuletzt bearbeitet:
funktioniert. wobei ich merkwürdigerweise im routerinterface unter telefonbuch sofort nach dem import nichts angezeigt bekomme. da ist auf einmal alles leer. nach einem reboot ist alles wie gewünscht.

ein großes in teile zerlegen ging wohl, allerdings kann ich dem mobilteil nur ein telefonbuch zuweisen, wäre also wohl sinnvoller das so anzupassen, dass ich mit den 1000 einträgen auskomme.

super wäre noch, wenn man einstellen könnte, wie die daten zusammengefasst werden sollen.
normalerweise sortiere ich aller per nachname. momentan wirds nach vorname sortiert in der box. o find ich wieder nix :)
 
Zuletzt bearbeitet:
Hallo,
ich hab das Add-On wie in #2 beschrieben eingspielt. Freetz sagt auch, dass es mitgekocht wurde. Allerdings hab ich kein Webinterface. Muss ich da noch irgendwas besonderes aktivieren oder läuft das Script evtl. garnicht auf aktueller 7390 Labor FW?

Edit:

Ich hab gerade einmal versucht das Script über Telnet anzusprechen:

Code:
 root@fritz:/var/mod/root# /usr/sbin/pbupd_carddav
-sh: /usr/sbin/pbupd_carddav: Permission denied

mit sh:
Code:
root@fritz:/var/mod/root# sh /usr/sbin/pbupd_carddav
/usr/sbin/pbupd_carddav: .: line 1003: can't open '/mod/etc/pbupd_carddav.conf'

pbupd_carddav.conf existiert nicht, nur default.pbupd_carddav. Hat da vlt. noch jemand eine Idee?

Edit 2:

Gelöst dank MV69M7ib

Die Benutzerrechte waren Schuld. Falls noch jemand das Problem hat, weil er z.B. wie ich die Datei unter Windows entpackt und übers Netzwerk verschoben hat, hier eine Kurzanleitung für die Freetz-Linux Buildumgebung:

  • in der Konsole per cd ~/freetz[-trunk, -devel, etc.] in den Freetz Ordner wechseln
  • entweder Tarball runterladen, nicht entpacken und in den Freetz Ordner verschieben
  • oder per wget URL direkt runterladen
  • kleinen Helfer installieren: sudo apt-get install unp
  • Datei entpacken: unp *.tgz (oder entsprechenden Dateinamen)
  • ggf. Archiv löschen: rm *.tgz (VORSICHT! löscht alle tgz- Dateien, ggf. anpassen)
  • wie in #2 beschrieben Add-On einbinden
 
Zuletzt bearbeitet:
Behoben in version 0.8

Oct 10 18:16:38 fritz user.notice pbupd_carddav: Continuous mode
Oct 10 18:16:38 fritz user.info pbupd_carddav: Update phone books periodically every '86400' seconds
Oct 10 18:16:38 fritz user.debug pbupd_carddav: Download directory '/tmp' exists
Oct 10 18:16:38 fritz user.debug pbupd_carddav: Successfully parsed configuration file '/tmp/flash/pbupd_carddav/pbupd_carddav.db'
Oct 10 18:16:41 fritz user.notice pbupd_carddav: Processing phone book 'default' with owner '241'
Oct 10 18:16:41 fritz user.debug pbupd_carddav: Seems there is only one unique id. Splitting into multiple phone books will not be possible.
Oct 10 18:16:41 fritz user.info pbupd_carddav: CardDAV contacts for phone book 'default' have not changed. Skip processing.
Oct 10 18:16:41 fritz user.notice pbupd_carddav: Processing phone book 'lieferanten' with owner '242'
Oct 10 18:16:41 fritz user.debug pbupd_carddav: Seems there is only one unique id. Splitting into multiple phone books will not be possible.
Oct 10 18:16:41 fritz user.info pbupd_carddav: CardDAV contacts for phone book 'lieferanten' have not changed. Skip processing.
Oct 10 18:16:41 fritz user.debug pbupd_carddav: Configuration parsed successfully
Oct 10 18:16:41 fritz user.debug pbupd_carddav: XML phone book file '/tmp/pbupd_carddav-phonebooks.xml' constructed successfully
Oct 10 18:16:41 fritz user.debug pbupd_carddav: Import file '/tmp/pbupd_carddav-phonebooks.xml' includes no phone books
Oct 10 18:16:41 fritz user.notice pbupd_carddav: No phone book has changed. Import not needed.
Oct 10 18:16:41 fritz user.notice pbupd_carddav: No issues occured


geht leider nicht. muss ich denn jetzt mehrere ids anlegen? ich habe testweise mal auf split bei 900 kontakten eingestellt.
 
[...]muss ich denn jetzt mehrere ids anlegen?[...]

Ja, genau!
Jedes Telefonbuch benötigt eine eindeutige ID. Soll ein Adressbuch in mehrere Telefonbücher unterteilt werden können, wird für diese ebenfalls eine solche ID benötigt.

Code:
1,3,4,5|foobar|secret|Foo Bar - Default|https://owncloud.example.com/remote.php/carddav/addressbooks/foobar/default
2|foobar|secret|Foo Bar - Work|https://owncloud.example.com/remote.php/carddav/addressbooks/foobar/work

Sind mehrere IDs für ein Adressbuch konfiguriert, werden diese bei Bedarf für ein zusätzliches Telefonbuch verwendet.
Reichen die konfigurierten IDs nicht aus, so werden lediglich keine weiteren Telefonbücher für das betroffende Adressbuch erzeugt.

Die Prüfung ob sich ein Adressbuch geändert hat und somit repliziert wird, bleibt von dem ganzen unberührt und bezieht sich immer auf das vollständige Adressbuch.
 
Hallo zusammen!

Danke für das Modul @MV69M7ib! Bin neu in dem Thema. Hoffe es ist ok, den "alten" Thread zu erwärmen. Habe neueste ownlcoud, Fritz!Box 7390 mit dem aktuellen freetz-Trunk.

Habe mir ein sekundäres Telefonbuch ("owncloud") angelegt, nachdem es mit dem Standard-Telefonbuch nicht geklappt hat. Es werden scheinbar die Kontakte repliziert.

In "var/tmp/pbupd_carddav-phonebooks.xml" habe ich die Daten vorliegen. Wie bekomme ich die in das besagte Telefonbuch (automatisch)?

Habe eine "pbupda_carddav-phonebook-242.sum". Steht wohl für das 2. Telefonbuch, die 2.

Mein Telefonbuch unter "Telefonie->Telefonbuch" bleibt leider leer. Was kann ich da tun?

Viele Grüße
 
Hallo, ich bin es nochmal.

Das pbupd_carddav Tool legt ja das Telefonbuch automatisch an. Wie schon erwähnt wird eine XML-Datei generiert, die scheinbar alle Kontakte aus owncloud enthält. Jedoch das Importieren in das telefonbuch funktioniert nicht. Mein Telefonbuch habe ich owncloud genannt.


Wenn ich jetzt in der Fritzbox das telefonbuch anklicke und den Editier-Button klicke bekomme ich folgende Meldung:

Lua Run Runtime ERROR in /usr/www/all//fon_num/fonbook_edit.lua:554: [string "/usr/www/all//fon_num/fonbook_edit.lua:1"]:502: attempt to concatenate field '?' (a nil value)
Lua stack traceback:
[C]: ?
[string "/usr/www/all//fon_num/fonbook_edit.lua:1"]:502: in function 'write_online'
[string "/usr/www/all//fon_num/fonbook_edit.lua:554"]:12: in main chunk

Ich frage mich jetzt natürlich woran das liegt. Liegt es an Fritzbox selber, oder an Freetz, oder an dem pbupd_carddav Tool. Ich würde sehr gerne die owncloud-Kontakte replizieren.

Viele Grüße
 
Schätze dem Parser in pbupd_carddav fehlt noch eine "Sonderlocke".
Könnte auch sein, dass evtl. Änderungen an der AVM Software zu einer Inkompalibilität führen.
Komme wohl frühestens erst in zwei Wochen dazu, mir dies näher anzusehen.
Melde Dich einfach nochmal, falls ich nichts von mir hören lasse und dieses Problem noch akut ist.
 
hallo,

ich habe das selbe Problem wie twipster. Ich verwende freetz trunk revision 10346 und firmware FRITZ.Box_Fon_WLAN_7390_Labor.84.05.51-24828.image.

Außerdem würde mich interessieren ob auch andere carddav server außer owncloud unterstützt werden. Insb. interessiert mich dabei davical. Ich stehge dabei gerne für tests zur verfügung.

folgende ausgabe erhalten ich beim manuelen starten:

root@fritz:/var/mod/root# /usr/sbin/pbupd_carddav --oneshot
pbupd_carddav: One shot mode
pbupd_carddav: Download directory '/var/media/ftp/uStor01/tmp' exists
pbupd_carddav: Successfully parsed configuration file '/tmp/flash/pbupd_carddav/pbupd_carddav.db'
pbupd_carddav: Processing phone book 'cib' with owner '242'
pbupd_carddav: Seems there is only one unique id. Splitting into multiple phone books will not be possible.
pbupd_carddav: CardDAV contacts for phone book 'cib' are not checked for difference. Import in any case.
pbupd_carddav: Printing contacts in VCF format successfully
pbupd_carddav: Converting contacts from VCF to XML successfully
Warning: error trying read config from the '/tmp/flash/pbupd_carddav/curlrc-3'
Warning: file
pbupd_carddav: Processing phone book 'rbm' with owner '243'
pbupd_carddav: Seems there is only one unique id. Splitting into multiple phone books will not be possible.
pbupd_carddav: CardDAV contacts for phone book 'rbm' are not checked for difference. Import in any case.
Warning: error trying read config from the '/tmp/flash/pbupd_carddav/curlrc-3'
Warning: file
pbupd_carddav: Printing contacts in VCF format successfully
pbupd_carddav: Converting contacts from VCF to XML successfully
pbupd_carddav: Configuration parsed successfully
pbupd_carddav: XML phone book file '/var/media/ftp/uStor01/tmp/pbupd_carddav-phonebooks.xml' constructed successfully
pbupd_carddav: Import file '/var/media/ftp/uStor01/tmp/pbupd_carddav-phonebooks.xml' includes phone books
pbupd_carddav: Import of CardDAV phone books successful
pbupd_carddav: No issues occured

folgende xml datei wird mit angelegt, obwohl beide telefonbücher einträge enthalten (cib ist davcal, rbm ist owncloud)

/var/media/ftp/uStor01/tmp/pbupd_carddav-phonebooks.xml


<?xml version="1.0" encoding="utf-8"?>
<phonebooks>
<phonebook owner="242" name="cib">
</phonebook>
<phonebook owner="243" name="rbm">
</phonebook>
</phonebooks>
 
Zuletzt bearbeitet:
Hallo zusammen,

habe das gleiche Problem wie in #28 schon mal erwähnt und bekomme beim sichern der Telefonbucheinstellungen folgenden Fehler:
Saving pbupd_carddav/carddav_db ... done.
/usr/sbin/pbupd_carddav: .: line 1003: can't open '/mod/etc/pbupd_carddav.conf'
Writing 730 bytes to /var/flash/freetz ... done.

Ich habe keine Daten mit Windows heruntergeladen, sondern das Image direkt mit freetz-linux in einer VM erstellt. Leider hat es bei mir nicht funktioniert das Problem so zu lösen wie im vorherigen Post beschrieben. Hat irgendjemand eine Idee wie das zu lösen ist bzw. falls es ein Problem mit den Rechten ist wie diese anzupassen sind?

Vielen Dank!
 
Zuletzt bearbeitet:
@MV69M7ib

Habe gewartet auf deine Rückmeldung und bekunde hiermit noch einmal mein Interesse an einer Lösung. Würde gerne die aktuellsten Kontakt-Datensätze inkl. Bild in meinem MT-F haben.
Habe zudem auch AVM auf der Vorschlag- / Verbesserungsseite um eine native Unterstützung gebeten.

Viele Grüße
 
Hallo zusammen,
habe das gleiche Problem wie in #28 schon mal erwähnt und bekomme beim sichern der Telefonbucheinstellungen folgenden Fehler:

Okay, habe festgestellt, dass die Datei pbupd_carddav.conf einfach nicht existiert hat - hatte mich von #28 etwas in die Irre führen lassen...
Die Datei wird erst erstellt wenn der Dienst gestartet wird. Das heißt erst starten, dann die Konfiguration der Telefonbücher anlegen. :)
 
Jedoch das Importieren in das telefonbuch funktioniert nicht. Mein Telefonbuch habe ich owncloud genannt.

Wenn ich jetzt in der Fritzbox das telefonbuch anklicke und den Editier-Button klicke bekomme ich folgende Meldung:

Habe genau das gleiche Problem
Code:
Lua Run Runtime ERROR in /usr/www/all//fon_num/fonbook_edit.lua:554: [string "/usr/www/all//fon_num/fonbook_edit.lua:1"]:502: attempt to concatenate field '?' (a nil value)
Lua stack traceback:
    [C]: ?
    [string "/usr/www/all//fon_num/fonbook_edit.lua:1"]:502: in function 'write_online'
    [string "/usr/www/all//fon_num/fonbook_edit.lua:554"]:12: in main chunk

Auch ich würde mich sehr über eine Lösung freuen :)
Gibt es irgendwas was ich tun kann?

Vielen Dank!


EDIT:
Ich habe in den Einstellungen ein Häkchen bei "Smart property setting." gesetzt - jetzt funktioniert es ohne Probleme
 
Zuletzt bearbeitet:
Herzlichen Dank erstmal für die Entwicklung dieses tollen Pakets.
Ich habe noch drei kleine Fragen:
Wie viele Kontaktbilder können maximal importiert werden? Bei AVM auf der Seite steht irgendwas von ca. 30 Bildern.
Werden bei jeder Synchronisation sämtliche Kontaktbilder neu übertragen oder nur neue Bilder?
Bei bestimmten Kontakten werden leider die falschen Bilder am Telefon (Fritzfon MT-F) angezeigt. Könnte das daran liegen, dass die betreffliche Telefonnummer bei mehreren Kontakten eingetragen ist? Das Bild, dass fälschlicherweise angezeigt wird, ist jedoch von einem vollkommen anderen Kontakt.

Ich würde mich über Antworten sehr freuen.
LG
 
Ich habe von sehr technischen Thread mangels Fachkenntnissen sehr wenig verstanden.

Daher eine konkrete Frage:
Ist es bei einer FB 7330 möglich ein Fritzfon MT-F via CardDAV zu synchronisieren?
Falls es relevant ist: Ich kann CardDAV via Owncloud bereitstellen.

Würde mich sehr über eine Antwort freuen.
Danke.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.