Nokia E61 and Sun Calendar Server … but no Windows

If you’re using Sun Calendar Server (a.k.a. JESCS for “Java Enterprise System Calendar Server) and have tried to synchronize it using anything else but a Windows machine or a SyncML Server, you already know what pain is, for sure. Been doing that a while ago when the connector for evolution was in its infancy. What I tried then was synching my Palm with evolution and trying to select the Sun Calendar as the backend. Well, it didn’t work.

Now that I have received this nice Nokia E61 gadget (how can Apple make the iPhone not have UMTS support?) originally just for use as an UMTS modem I find all those other things you can do with it and decided to revisit calendar synch. I expected to have to move along the lines of my previous attempt and was quite surprised to learn that multisync no longer exists, but has turned into opensync. And opensync has a jescs plugin, yay!

Here’s what I did to make it work:

  1. Install opensync
    On my ubuntu (feisty) system I installed the opensync 0.21 packages from here:
    http://www.in.fh-merseburg.de/~jahn/opensync-0.21/

    The packages I installed are:

    • libopensync-plugin-evolution2
    • libopensync-plugin-file
    • libopensync-plugin-jescs
    • libopensync-plugin-syncml
    • libopensync0
    • opensyncutils
    • msynctool
    • multisync-gui
  2. Configure a synchronization group
    To do that I used multisync-gui and added a synchronization group with a syncml-obex-client and a jescs-sync member. You may want to disable the synchronization of everything but events and todos.The configuration for the jescs-sync member is trivial and looks like this:

    <?xml version=”1.0″?>
    <config>
    <!– Server address with optional port (<server_url>[:<port>]) –>
    <url>calendar-server</url>
    <!– Authentication data –>
    <username>me</username>
    <password>pw</password>
    <!– Notify attendees about event/task deletion ( 0 = no, 1 = yes ) –>
    <del_notify>1</del_notify>
    </config>

    Note that the server is specified without protocol (i.e. “http://&#8221;) prefix.

    The config for the E61 syncml client is a little bit more complex:

    <?xml version=”1.0″?>
    <config>
    <!– (Only for bluetooth) The bluetooth address if the bluetooth mode is selected –>
    <bluetooth_address>00:17:E3:0C:20:F2</bluetooth_address><!– (Only for bluetooth) The bluetooth channel to use. `sdptool browse $MAC` to search for the correct channel –>
    <bluetooth_channel>10</bluetooth_channel>

    <!– (Only for USB) The usb interface number of the SYNCML-SYNC target. use syncml-obex-client -u (you will need access to the USB raw device) to find it. –>
    <interface>0</interface>

    <!– The string that the plugin will use to identify itself. Some devices need a special string here. –>
    <identifier>PC Suite</identifier>

    <!– The syncml version to use: 0 for 1.0, 1 for 1.1 and 2 for 1.2 –>
    <version>1</version>

    <!– if the plugin should use wbxml –>
    <wbxml>1</wbxml>

    <!– The username to use. Leave empty to not require a username –>
    <username></username>

    <!– the password for the username –>
    <password></password>

    <!– sets the connection type to use. 5 means obex over usb, 2 means obex over bluetooth –>
    <type>2</type>

    <!– If wbxml is enabled, defines wether the wbxml should use string tables –>
    <usestringtable>1</usestringtable>

    <!– Never send ADD command, but send REPLACE (not needed normally) –>
    <onlyreplace>0</onlyreplace>

    <!– Workaround around for mobile phones which only use local timestamps and _no_ UTC timestamps! –>
    <onlyLocaltime>0</onlyLocaltime>

    <!– Sets the maximum allowed size in bytes of incoming messages (some device need this option set). Example: 10000 –>
    <recvLimit>0</recvLimit>

    <maxObjSize>0</maxObjSize>

    <!– The name of the contacts db. Must be the same as the phones sends –>
    <contact_db>Contacts</contact_db>

    <!– The name of the calendar db. Must be the same as the phones sends –>
    <calendar_db>Calendar</calendar_db>

    <!– The name of the note db. Must be the same as the phones sends –>
    <note_db>Notes</note_db>
    </config>

  3. Make sure the bluetooth connection works
    A typical thing you may need to do is install bluez-gnome.
  4. Install missing wcaptool script
    This script is missing from the opensync jescs plugin package for feisty. It needs to go to /usr/lib/libopensync-plugin-jescs/wcaptool. Don’t forget to make it executable.
  5. Configure synchronization profile on the E61
    If you don’t have a recipient for your telephone’s Notes in your opensync synchronization group, you should keep the phone from trying to send them. Otherwise the synch was always stalled there and finally timed out. To tell your phone not to send them, you do this:

    • Open Main Menu->Connections->Synchronization
    • Options->New Synchronization Profile (name=test, when asked chose to copy PC Suite profile)
    • Deactivate original PC Suite Profile by selecting it and Options->Edit Synchronization Profile->Connection Settings->Allow Synchronization Requests->No
    • With the newly created one change the name from “test” to “PC Suite” and disable all programs but Calendar
  6. Run synchronization
    Try with msynctool –sync <groupname> first. I’ve had cases where the GUI would not work, but the command line would.

Good luck,

Karl.

Advertisements
Tagged , , , , , , , , , , ,

One thought on “Nokia E61 and Sun Calendar Server … but no Windows

  1. Btw., if you’re like me and have amassed a few thousands of entries in your Sun calendar over time, you might experience a timeout synching with your phone due to the long time it takes for the calendar to send all your events for the first time (opensync first connects to all devices, then collects the date from all, then correlates, then synchs). To avoid that you may chose to ignore old data in your calendar by uncommenting line 453 of the wcaptool script and changing the start date there to whatever value suits you best.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: