BEWARE: software on this page is not maintained. It may be useful to you.
Please do no contact me about features requests.
SyncML is an XML based protocols family, aimed at providing remote
synchronisation of mobile devices.
It's built-in more and more mobile devices, such as mobile phones or PDAs
I wrote a very basic SyncML server in PHP. It's based (right now) on a MySQL
backend, but could easily use other kinds of SQL servers, LDAP servers or even
This server has been developped very quickly, and tested only with a P800
phone. I hope to be able to develop it further as time permits. Right now, it
classifies more as a "hack" rather than "software".
- Synchronize with a P800 (Databook, Calendar, Jotter)
- Slow sync / two way sync decision, based on "Last" sync events "anchors".
- Handles and generates Add, Delete, Replace commands
- Handles vCards, vCalendars, vNotes (who knows what this beast is ??). The
P800 doesn't send the drawings with the Jotter notes.
- Basic authentication support
What lacks :
- SycML compliance ! / field testing
- For some reason, "Add" from server is refused by the phone (500). I have
probably something wrong.
- Transaction oriented processing (so that interrupted sync sessions don't
- Better error handling
- MD5 authentication
- WBXML (binary) support, only plain XML now.
- Emails sync. In fact, I don't really see the point here. I have probably far
too many emails for this feature to be useful.
- Content type capabilities enforcing : not sending to the remote device fields
it doesn't support.
- Online editing : data is saved in a database, but no server side editing /
viewing exists (as of now). Note that "online editing" could also be understood
as "groupware tool integration", such as phpGroupware.
- A command line client, so that you can easily synchronize your .vcf files,
As of now, you can either download the software and try it on your own server
(you'll need a PHP enabled webserver, and a MySQL server), or try my on-line test
setup. See below.
- Untar the archive in a directory on your webserver.
- Create a database on your MySQL server, and create the appropriate tables (by
- Edit the config.php file to set the proper MySQL connection infos.
The following is for the P800. Might or not be similar for other clients.
- Open "Remote Sync"
- In the Edit/Preferences menu, enter the full URL to the "sync.php" script on
In order to use my test server, put http://nicolas.bougues.net/syncml/sync.php
- Enter a login and a password (in the Server tab). Leave the Protocol tab
- Enable any combination of Calendar, Contacts, Jotter. "Server database" shall
be "Calendar", "AddBook", "Notes". Case matters.
- Then "Sync" !
Comments / ideas / bugs
You can send me a private e-mail, or use the mailing
list I set up for this purpose at email@example.com or through
DISCLAIMER ABOUT THIS SOFTWARE: please note that this software is provided
as-is, without guarantee of any kind. Use at your own risks. Please understand
that this software might cause strange things on your client device,
among which losing all your data is not the most unlikely. Backup everything.
DISCLAIMER ABOUT THE TEST SERVER: as its name implies, it's just for testing.
You should assume that this server is really temporary, that everything is logged and nothing is guaranteed to be kept confidential in the info you exchange with it. You should assume too that this server can send any bogus information to your device, and it may cause problems or data loss.
Last modified: 24 Jan 2005 16:28:37
Copyright (c) 2015 Nicolas Bougues (firstname.lastname@example.org)