Today (2010-02-24) I gave the current opensync a try and experimented a bit with my Nokia E65. Being rather disappointed by funambol since syncing with it drops all the numbers that are marked as “default” in any contact, I really wanted to know if this is a bug in the Symbian SyncML implementation or in Funambol.
Compilation is rather easy using the nifty scripts provided from opensync. So next step is to talk via bluetooth to the symbian-device and retrieve the stored contacts. First, you need to figure out your phone’s habits, ask it for the channel used for the SyncML service. Given communication via bluetooth is working, you can use “sdptool” to do this:
sdptool search SYNCMLthis should result in something like:
Inquiring … Searching for SYNCML on 00:AA:11:BB:22:CC … Service Name: SyncMLClient Service RecHandle: 0×1000e Service Class ID List: UUID 128: 00000002-0000-1000-8000-0002ee000002 Protocol Descriptor List: “L2CAP” (0×0100) “RFCOMM” (0×0003) Channel: 10 “OBEX” (0×0008) Language Base Attr List: code_ISO639: 0×454e encoding: 0×6a base_offset: 0×100 Profile Descriptor List: “” (0×00000002-0000-1000-8000-0002ee000002) Version: 0×0100
The device ID will of course be a different one, but the important thing is line 10, where the channel is displayed: 10.
Next step is to use opensync to retrieve the contacts from the phone:
syncml-ds-tool -b 00:AA:11:BB:22:CC 10 \ —identifier “PC Suite” —wbxml \ —sync text/x-vcard Contacts \ datastore-syncml-e65
On success, this will result in a new directory called “datastore-syncml-e65/“ filled with files in VCF-format, each one containing one contact, and some status-files “SYNCML-DS-TOOL-LAST-SYNC*“.
Now OpenSync is also capable to act as a HTTP-client and thus to talk to a Funambol-server. Copy the datastore into another directory, remove the status-files inside and use syncml-ds-tool again (note the difference, on funambol the store is called card, on symbian Contacts):
cp -a datastore-syncml-e65 datastore-syncml-funambol rm datastore-syncml-funambol/SYNCML-DS-TOOL-LAST-SYNC* syncml-ds-tool —http-client http://your.funambol.server:8080/funambol/ds \ —username osync —password test \ —version 1.2 —sync text/x-vcard card \ datastore-syncml-funambol/
Having done this, I wanted to know if Funambol finally accepts the phone numbers marked as “default” as well. So I had a look into the database and..
…the same EPIC FAIL again. Man, how clever to drop the most important part of information. Well, I will have to give Kolab a try…
But anyways, at least I can sync the stuff locally. That’s eventually some kind of progress…
The problem with Funambol may be a very simple one, probably only a small issue with a synclet and your phone’s model. I have a Nokia E71 but I don’t lose the ‘default’ information. Would you be so kind to send a full log of the sync process to the Funambol Open Discussion forum? Thanks, Stef