Broken sync for contacts with multiple numbers



  • First things first: thanks a lot for this great open source app!

    A friend is using Davdroid 0.6.5 on Android 4.4, but is having problems with the contact sync functionality.
    His contacts are stored in an Open Xchange account by mailbox.org, but if he merges two contacts or creates contacts with several numbers, only the mobile number is kept. In some cases the mobile number is then stored twice.

    To reproduce.

    • You can create a free 30 day test account at https://mailbox.org/
    • Create a contact with multiple numbers in the Android contacts app
    • sync with Davdroid
    • Check in the Contacts App or the OpenXchange webinterface to see that only the mobile number is left and sometimes listed twice.

    Everything works well if a contact is created/modified in the webinterface and then synced to the Android device tough.

    If you need additional debugging information, I'm happy to help.

    PS: the address https://dav.mailbox.org was used to automatically import the contacts. More information can be found in the article and comments here: https://mailbox.org/daten-abgleich-mit-caldav-und-carddav-fuer-sonstige-geraete/


  • developer

    Thanks for this bug report, but it's an issue of mailbox.org. I have tested with a VCard with multiple numbers. As you can see, DAVdroid sends this VCard to the server which accepts it:

    http-outgoing-20 >> "PUT /carddav/27/f99acddb-6020-4eb9-90e1-372b1f952e96.vcf HTTP/1.1[\r][\n]"
    http-outgoing-20 >> "If-Match: http://www.open-xchange.com/carddav/f99acddb-6020-4eb9-90e1-372b1f952e96_1415042113090[\r][\n]"
    http-outgoing-20 >> "Content-Type: text/vcard[\r][\n]"
    http-outgoing-20 >> "Content-Length: 280[\r][\n]"
    http-outgoing-20 >> "Host: dav.mailbox.org[\r][\n]"
    http-outgoing-20 >> "Connection: Keep-Alive[\r][\n]"
    http-outgoing-20 >> "User-Agent: DAVdroid/0.6.5[\r][\n]"
    http-outgoing-20 >> "[\r][\n]"
    http-outgoing-20 >> "BEGIN:VCARD[\r][\n]"
    http-outgoing-20 >> "VERSION:3.0[\r][\n]"
    http-outgoing-20 >> "REV:20141103T191513.090Z[\r][\n]"
    http-outgoing-20 >> "UID:f99acddb-6020-4eb9-90e1-372b1f952e96[\r][\n]"
    http-outgoing-20 >> "FN:Test User[\r][\n]"
    http-outgoing-20 >> "N:User;Test;;;[\r][\n]"
    http-outgoing-20 >> "TEL;TYPE=cell,pref:662453[\r][\n]"
    http-outgoing-20 >> "TEL;TYPE=work:9675[\r][\n]"
    http-outgoing-20 >> "TEL:68437[\r][\n]"
    http-outgoing-20 >> "TEL;TYPE=x-custom:28866[\r][\n]"
    http-outgoing-20 >> "PRODID:DAVdroid/0.6.5 (ez-vcard/0.9.6)[\r][\n]"
    http-outgoing-20 >> "REV:20141103T191359Z[\r][\n]"
    http-outgoing-20 >> "END:VCARD[\r][\n]"
    http-outgoing-20 << "HTTP/1.1 201 Created[\r][\n]"
    http-outgoing-20 << "Date: 2014-11-03T19:17:21Z[\r][\n]"
    http-outgoing-20 << "Server: Openexchange WebDAV[\r][\n]"
    http-outgoing-20 << "Content-Length: 0[\r][\n]"
    http-outgoing-20 << "Strict-Transport-Security: max-age=15768000[\r][\n]"
    http-outgoing-20 << "Keep-Alive: timeout=5, max=100[\r][\n]"
    http-outgoing-20 << "Connection: Keep-Alive[\r][\n]"
    http-outgoing-20 << "Content-Type: text/x-vcard[\r][\n]"
    

    Immediately after having received the VCard, the server changes it:

    http-outgoing-21 >> "GET /carddav/27/f99acddb-6020-4eb9-90e1-372b1f952e96.vcf HTTP/1.1[\r][\n]"
    http-outgoing-21 >> "Accept: text/vcard[\r][\n]"
    http-outgoing-21 >> "Host: dav.mailbox.org[\r][\n]"
    http-outgoing-21 >> "Connection: Keep-Alive[\r][\n]"
    http-outgoing-21 >> "User-Agent: DAVdroid/0.6.5[\r][\n]"
    http-outgoing-21 >> "[\r][\n]"
    http-outgoing-21 << "HTTP/1.1 200 OK[\r][\n]"
    http-outgoing-21 << "Date: 2014-11-03T19:17:23Z[\r][\n]"
    http-outgoing-21 << "Server: Openexchange WebDAV[\r][\n]"
    http-outgoing-21 << "ETag: http://www.open-xchange.com/carddav/f99acddb-6020-4eb9-90e1-372b1f952e96_1415042241986[\r][\n]"
    http-outgoing-21 << "Accept-Ranges: bytes[\r][\n]"
    http-outgoing-21 << "Content-Type: text/vcard;charset=utf-8[\r][\n]"
    http-outgoing-21 << "Content-Length: 180[\r][\n]"
    http-outgoing-21 << "Strict-Transport-Security: max-age=15768000[\r][\n]"
    http-outgoing-21 << "Keep-Alive: timeout=5, max=99[\r][\n]"
    http-outgoing-21 << "Connection: Keep-Alive[\r][\n]"
    http-outgoing-21 << "[\r][\n]"
    http-outgoing-21 << "BEGIN:VCARD[\n]"
    http-outgoing-21 << "VERSION:3.0[\n]"
    http-outgoing-21 << "PRODID:OPEN-XCHANGE[\n]"
    http-outgoing-21 << "FN:Test User[\n]"
    http-outgoing-21 << "N:User;Test;;;[\n]"
    http-outgoing-21 << "TEL;TYPE=cell,voice,pref:662453[\n]"
    http-outgoing-21 << "REV:20141103T191721.986Z[\n]"
    http-outgoing-21 << "UID:f99acddb-6020-4eb9-90e1-372b1f952e96[\n]"
    http-outgoing-21 << "END:VCARD[\n]"
    

    As you can see, only one number is left.

    We will report this problem to mailbox.org, including a link to this issue.



  • @rfc2822 Awesome. And thanks for the debugging output!
    I'll close this then as it's not a bug in Davdroid. Do you happen to have witnessed similar behaviour of other services using Open-Xchange or do you think this is specific to mailbox.org?


  • admin

    Here you'll find open issues with the software mailbox.org uses:
    https://mailbox.org/work-in-progress/



  • @devvv4ever Thanks, I already looked through those, but this particular error isn't in there (yet). The correct category for DAV-related bugs in Open-Xchange seems to be https://bugs.open-xchange.com/buglist.cgi?component=DAV&product=OX App Suite&resolution=--- but I'll wait for a response from mailbox.org before creating a ticket there.



  • Apparently this is a bug in Open-Xchange, which can only be solved with the next major update, which is called "OX App Suite 7.8.0" and scheduled for the second quarter of 2015.

    The bug is now listed at " https://mailbox.org/work-in-progress/" as "Die Verwendung von CardDav kann zum Verlust von gespeicherten Telefonnumern führen".


  • developer

    Thanks, good to know that the issue is reported now and it's not a DAVdroid problem.


Log in to reply
 

Looks like your connection to Bitfire App Forums was lost, please wait while we try to reconnect.