[sync] BlackBerry and Two-Way Sync

Patrick Lahni list at cykotix.com
Wed Jul 15 19:04:57 UTC 2009


Hello,

I am trying to use the latest Funambol with my BlackBerry.  I have the  
client setup to Two-Way sync, however, it seems as though I am only  
able to push updates from the phone to Horde.  Any changes I make on  
the Horde end, then re-sync are not pushed to the phone.  The  
connection that appears in /tmp/sync/log.txt shows that it thinks  
there are no new changes, so obviously nothing is pushed to the phone.

I'm using Funambol v7.2 for OS >= 4.7 (my BlackBerry is running  
4.7.1.40) and Horde 3.3.4.

Here is the entry in /tmp/sync/log.txt of the connection after  
updating a contact in my Addressbook through Turba:

DEBUG:  Backend of class SyncML_Backend_Horde created
DEBUG:  Started at 2009-07-15 14:44:49. Packet logged in  
/tmp/sync/client_2052.xml
DEBUG:  Existing session continued: bac71a7bee17eb1e7b496501fb7d5180
DEBUG:  Authenticated: yes; version: 1.2; message ID: 3; source URI:  
fbb-817125350; target URI: https://xxx.xxx.com/rpc.php; user:  
user at xxx.com; charset: UTF-8; wbxml: no
DEBUG:  Received <Final> from client.
DEBUG:  Handle <Final> for state Completed
DEBUG:  Sending <Final> to client
DEBUG:  SQL Query by SyncML_Backend_Horde::readSyncAnchors(): SELECT  
syncml_clientanchor, syncml_serveranchor FROM horde_syncml_anchors  
WHERE syncml_syncpartner = ? AND syncml_db = ? AND syncml_uid = ?,  
values: fbb-817125350, contacts, user at xxx.com
DEBUG:  SQL Query by SyncML_Backend_Horde::writeSyncAnchors(): UPDATE  
horde_syncml_anchors SET syncml_clientanchor = ?, syncml_serveranchor  
= ? WHERE syncml_syncpartner = ? AND syncml_db = ? AND syncml_uid = ?,  
values: 1247683406970, 1247683466, fbb-817125350, contacts, user at xxx.com
INFO:   Finished sync of database card. Failures: 0; changes from  
client (Add, Replace, Delete, AddReplaces): 0, 0, 0, 0; changes from  
server (Add, Replace, Delete): 0, 0, 0
DEBUG:  Session completed and closed
DEBUG:  Finished at 2009-07-15 14:44:49. Packet logged in  
/tmp/sync/server_2052.xml


And when I make a change on the phone and sync:

DEBUG:  Backend of class SyncML_Backend_Horde created
DEBUG:  Started at 2009-07-15 14:55:59. Packet logged in  
/tmp/sync/client_2060.xml
DEBUG:  New session created: 8e19c1ec260aba98d0d5a0517351dad6
DEBUG:  Checking authentication for user user at xxx.com
DEBUG:  Authenticated: yes; version: 1.2; message ID: 1; source URI:  
fbb-817125350; target URI: https://xxx.xxx.com/rpc.php; user:  
user at xxx.com; charset: UTF-8; wbxml: no
DEBUG:  SQL Query by SyncML_Backend_Horde::readSyncAnchors(): SELECT  
syncml_clientanchor, syncml_serveranchor FROM horde_syncml_anchors  
WHERE syncml_syncpartner = ? AND syncml_db = ? AND syncml_uid = ?,  
values: fbb-817125350, contacts, user at xxx.com
DEBUG:  Previous sync found for database card; client timestamp: 1247683406970
DEBUG:  Anchor timestamps match, TwoWaySync possible. Syncing data  
since 2009-07-15 14:44:26
DEBUG:  Creating SyncML_Sync object for database card; sync type 200
DEBUG:  Received <Final> from client.
DEBUG:  Handle <Final> for state Init
DEBUG:  Sending <Final> to client
DEBUG:  Return message completed
DEBUG:  Finished at 2009-07-15 14:56:00. Packet logged in  
/tmp/sync/server_2060.xml

DEBUG:  Backend of class SyncML_Backend_Horde created
DEBUG:  Started at 2009-07-15 14:56:05. Packet logged in  
/tmp/sync/client_2061.xml
DEBUG:  Existing session continued: 8e19c1ec260aba98d0d5a0517351dad6
DEBUG:  Authenticated: yes; version: 1.2; message ID: 2; source URI:  
fbb-817125350; target URI: https://xxx.xxx.com/rpc.php; user:  
user at xxx.com; charset: UTF-8; wbxml: no
DEBUG:  Created device class SyncML_Device_Sync4j
DEBUG:  Handling <Replace> sent from client
DEBUG:  Created device class SyncML_Device_Sync4j
DEBUG:  SQL Query by SyncML_Backend_Horde::_getSuid(): SELECT  
syncml_suid FROM horde_syncml_map WHERE syncml_syncpartner = ? AND  
syncml_db = ? AND syncml_uid = ? AND syncml_cuid = ?, values:  
fbb-817125350, contacts, user at xxx.com, 121438894
DEBUG:  Replaced in server db contacts client id 121438894 -> server  
id 20090715141820.251217y7unh5zhpc at xxx.xxx.com
DEBUG:  SQL Query by SyncML_Backend_Horde::_getSuid(): SELECT  
syncml_suid FROM horde_syncml_map WHERE syncml_syncpartner = ? AND  
syncml_db = ? AND syncml_uid = ? AND syncml_cuid = ?, values:  
fbb-817125350, contacts, user at xxx.com, 121438894
DEBUG:  SQL Query by SyncML_Backend_Horde::createUidMap(): UPDATE  
horde_syncml_map SET syncml_suid = ?, syncml_timestamp = ? WHERE  
syncml_syncpartner = ? AND syncml_db = ? AND syncml_uid = ? AND  
syncml_cuid = ?, values: 20090715141820.251217y7unh5zhpc at xxx.xxx.com,  
0, fbb-817125350, contacts, user at xxx.com, 121438894
DEBUG:  Replaced entry 20090715141820.251217y7unh5zhpc at xxx.xxx.com due  
to client request
DEBUG:  Received <Final> from client.
DEBUG:  Handle <Final> for state Sync
DEBUG:  Creating <Sync> output for server changes in database card
DEBUG:  Created device class SyncML_Device_Sync4j
DEBUG:  Compiling server changes from 2009-07-15 14:44:26 to  
2009-07-15 14:56:00
DEBUG:  Sending 0 server changes for client URI card
DEBUG:  Sending <Final> to client
DEBUG:  Return message completed
DEBUG:  Finished at 2009-07-15 14:56:05. Packet logged in  
/tmp/sync/server_2061.xml

DEBUG:  Backend of class SyncML_Backend_Horde created
DEBUG:  Started at 2009-07-15 14:56:07. Packet logged in  
/tmp/sync/client_2062.xml
DEBUG:  Existing session continued: 8e19c1ec260aba98d0d5a0517351dad6
DEBUG:  Authenticated: yes; version: 1.2; message ID: 3; source URI:  
fbb-817125350; target URI: https://xxx.xxx.com/rpc.php; user:  
user at xxx.com; charset: UTF-8; wbxml: no
DEBUG:  Received <Final> from client.
DEBUG:  Handle <Final> for state Completed
DEBUG:  Sending <Final> to client
DEBUG:  SQL Query by SyncML_Backend_Horde::readSyncAnchors(): SELECT  
syncml_clientanchor, syncml_serveranchor FROM horde_syncml_anchors  
WHERE syncml_syncpartner = ? AND syncml_db = ? AND syncml_uid = ?,  
values: fbb-817125350, contacts, user at xxx.com
DEBUG:  SQL Query by SyncML_Backend_Horde::writeSyncAnchors(): UPDATE  
horde_syncml_anchors SET syncml_clientanchor = ?, syncml_serveranchor  
= ? WHERE syncml_syncpartner = ? AND syncml_db = ? AND syncml_uid = ?,  
values: 1247684093709, 1247684160, fbb-817125350, contacts, user at xxx.com
INFO:   Finished sync of database card. Failures: 0; changes from  
client (Add, Replace, Delete, AddReplaces): 0, 1, 0, 0; changes from  
server (Add, Replace, Delete): 0, 0, 0
DEBUG:  Session completed and closed
DEBUG:  Finished at 2009-07-15 14:56:07. Packet logged in  
/tmp/sync/server_2062.xml



As for the exact changes I made, I had a local Best Buy in my phone  
contacts and I simply had "Best Buy" under the company listing.   
Syncing with Horde made the entry appear as "Blank Name" under Name  
and "First Name" and "Last Name" blank with "Company" being Best Buy.   
I didn't like Turba showing "Blank Name" so I decided to add Best Buy  
to "First Name".  And again, changing it that way on the phone pushing  
the update.  Changing it via Turba and sync'ing does not push the  
update to the phone.


Any help would be appreciated!

-Patrick




More information about the sync mailing list