Sync with your phone via bluetooth

With SyncEvolution 1.0 alpha, you can synchronize your PIM data with a SyncML capable phone (typically Symbian phones) over bluetooth. We are testing with Nokia 7210c (Symbian S40 5th edition), it basically works at the moment (Contacts, Calendar, Todos, Notes are syncing, except some data transformation inconsistency problem; yes it's not perfect yet.). We will continue work on enabling and testing more phones through the 1.0 development. If you are impatient, you can start hacking with your phone now and report bugs and feature requests to us.

Configuration Guide

Step 1. Detect your phone via bluetooth
Make sure you have a bluetooth device (built-in or a USB dongle) on your PC and your bluetoothd service is started correctly.
hcitool scan
This will lists all bluetooth devices around (the Mac address and name pair), you can figure out which one is your phone by the name, eg. for our 7210c, it defaults:
00:25:47:C8:E1:23 Nokia 7210c
Alternatively, you can use bluetooth-applet on gnome environment.

Step 2. Make sure your phone supports SyncML over Bluetooth
sdptool search --bdaddr <PhoneMacAddress> SYNCML
You should see information about 'SyncML Client' service. If not, this means the phone does not have a built-in SyncML client over Bluetooth. For advanced phones, you may still try to install a SyncML Client software on it (Yes, SyncEvolution is capable for this).

Step 3. Bluetooth pairing with your phone
You may typically rely on a GUI tool such as bluetooth-applet on gnome for help.

Step 4. Build and Install SyncEvolution on your PC.
Please according to the corresponding guides.

Step 5. Create the configuration for your phone.
We currently still lack a usable template for you, so you have to do the following:

syncevolution --configure \
              --sync-property  syncURL=obex-bt://$(MacAddress) \
              --sync-property enableWBXML=1 \
              --sync-property PeerIsClient=1 \
              --sync-property username= \
              --sync-property password= \
              --template scheduleworld \
              MyPhone

syncevolution --configure \
              --source-property type=addressbook:text/x-vcard \
              MyPhone addressbook

syncevolution --configure \
              --source-property type=calendar:text/x-vcalendar \
              MyPhone calendar

syncevolution --configure \
              --source-property type=calendar:text/x-vcalendar \
              MyPhone todo

for i in calendar addressbook todo memo; do
    syncevolution --configure \
                  --source-property uri=$i \
                  MyPhone $i;
done

You will probably need configure an additional virtual datasource for some Nokia phones (Because they store calendar (or events) and todo in the same place and treat them as a whole).

syncevolution --configure \
              --source-property type=virtual:text/x-vcalendar \
              --source-property evolutionsource=calendar,todo \
              --source-property sync=two-way \
              --source-property uri=calendar \
              MyPhone calendar+todo

Now you can sync with:
syncevolution MyPhone

Troubleshooting
1. Please set the username and password for sync on your phone to empty.
2. Change WBXML to XML (Though most phones use wbxml).
3. Change your URI property in each source (Some phones may match against this string during sync initialization, such as Nokia N900 it needs "Contacts", "Calendar" exactly)
4. Change remoteIdentifier to some special string "PC Suite", "Nokia PC Suite", etc.
5. Restart your phone.