# SyncML

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/SyncML
> Markdown URL: https://mediated.wiki/source/SyncML.md
> Source: https://en.wikipedia.org/wiki/SyncML
> Source revision: 1352616786
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

XML standard for information synchronization

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. Find sources: "SyncML" – news · newspapers · books · scholar · JSTOR (May 2021) (Learn how and when to remove this message) This article needs to be updated. Please help update this article to reflect recent events or newly available information. (September 2024) (Learn how and when to remove this message)

**SyncML**, or Synchronization Markup Language, was originally developed as a [platform-independent](/source/Platform-independent) standard for [information synchronization](/source/Data_synchronization). Established by the [SyncML Initiative](/source/The_SyncML_Initiative), this project has evolved to become a key component in [data synchronization](/source/Data_synchronization) and device management. The project is currently referred to as *[Open Mobile Alliance](/source/Open_Mobile_Alliance) Data Synchronization and Device Management*.[1] The purpose of [SyncML](/source/The_SyncML_Initiative) is to offer an [open standard](/source/Open_standard) as a replacement for existing [data synchronization](/source/Data_synchronization) solutions; which have mostly been somewhat [vendor](/source/Vendor), [application](/source/Application_software), or [operating system](/source/Operating_system) specific. SyncML 1.0 [specification](/source/Specification_(technical_standard)) was released on December 17, 2000,[2] and 1.1 on February 26, 2002.[3]

A **SyncML** message is a well-formed [XML](/source/XML) document that adheres to the [document type definition (DTD)](/source/Document_type_definition), but which does not require validation.

## Internals

SyncML works by exchanging [commands](/source/Command-line_interface), which can be requests and responses. As an example:

- the [mobile phone](/source/Mobile_phone) sends an Alert command for signaling the wish to begin a refresh-only [synchronization](/source/Synchronization)

- the [computer](/source/Computer) responds with a Status command for accepting the request

- the phone sends one or more Sync command containing an Add sub-command for each item (e.g., [phonebook](/source/Phonebook) entry); if the number of entries is large, it does not include the <Final/> tag;

- in the latter case, the computer requests to continue with an appropriate Alert message, and the mobile sends another chunk of items; otherwise, the computer confirms it received all data with a Status command

Commands (Alert, Sync, Status, etc.) are grouped into messages. Each message and each of its commands has an identifier, so that the pair (MsgID, CmdID) uniquely determines a command. Responses like Status commands include the pair identifying the command they are responding to.

Before commands, messages contain a header specifying various data regarding the [transaction](/source/Database_transaction). An example message containing the Alert command for begin a refresh synchronization, like in the previous example, is:

<?xml version="1.0"?>
<!DOCTYPE SyncML PUBLIC "-//SYNCML//DTD SyncML 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/OMA-TS-SyncML_RepPro_DTD-V1_2.dtd">
<SyncML xmlns="SYNCML:SYNCML1.2">
 <SyncHdr>
  <VerDTD>1.1</VerDTD>
  <VerProto>SyncML/1.1</VerProto>
  <SessionID>1</SessionID>
  <MsgID>1</MsgID>
  <Target><LocURI>PC Suite</LocURI></Target>
  <Source><LocURI>IMEI:3405623856456</LocURI></Source>
  <Meta><MaxMsgSize xmlns="syncml:metinf">8000</MaxMsgSize></Meta>
 </SyncHdr>

 <SyncBody>
  <Alert>
   <CmdID>1</CmdID>
   <Data>203</Data>   <!-- 203 = mobile signals a refresh from it to computer -->
   <Item>
    <Target><LocURI>Events</LocURI></Target>
    <Source><LocURI>/telecom/cal.vcs</LocURI></Source>
    <Meta><Anchor xmlns="syncml:metinf"><Last>42</Last><Next>42</Next></Anchor></Meta>
   </Item>
  </Alert>

  <Final/>
 </SyncBody>
</SyncML>

The response from the [computer](/source/Computer) could be an [XML](/source/XML) document like (comments added for the sake of explanation):

<?xml version="1.0"?>
<!DOCTYPE SyncML PUBLIC "-//SYNCML//DTD SyncML 1.2//EN" "http://www.openmobilealliance.org/tech/DTD/OMA-TS-SyncML_RepPro_DTD-V1_2.dtd">
<SyncML>
 <SyncHdr>
  <VerDTD>1.1</VerDTD>
  <VerProto>SyncML/1.1</VerProto>
  <SessionID>1</SessionID>
  <MsgID>1</MsgID>
  <Target><LocURI>IMEI:3405623856456</LocURI></Target>
  <Source><LocURI>PC Suite</LocURI></Source>
 </SyncHdr>

 <SyncBody>

  <!-- accept the header of the last message from the client -->
  <Status>
   <CmdID>1</CmdID>
   <MsgRef>1</MsgRef>
   <CmdRef>0</CmdRef>	<!-- 0 = header of the message -->
   <Cmd>SyncHdr</Cmd>
   <TargetRef>PC Suite</TargetRef>
   <SourceRef>IMEI:3405623856456</SourceRef>
   <Data>200</Data>	<!-- 200 = ok, accepted -->
  </Status>

  <!-- accept the request of the mobile for a sync -->
  <Status>
   <CmdID>2</CmdID>	<!-- this is command #2 -->
   <MsgRef>1</MsgRef>
   <CmdRef>1</CmdRef>	<!-- it respond to command msg=1,cmd=1 -->
   <Cmd>Alert</Cmd>
   <TargetRef>Events</TargetRef>
   <SourceRef>/telecom/cal.vcs</SourceRef>
   <Meta><Anchor xmlns="syncml:metinf"><Next>0</Next><Last>0</Last></Anchor></Meta>
   <Data>200</Data>	<!-- 200 = ok, accepted -->
  </Status>

  <Final/>
 </SyncBody>
</SyncML>

The transaction then proceeds with a message from the mobile containing the Sync command, and so on.

This example is a refresh where the mobile sends all its data to the computer and nothing in the other way around. Different codes in the initial Alert command can be used to initiate other kinds of synchronizations. For example, in a "[two-way](/source/Two-way_communication) sync", only the changes from the last [synchronization](/source/Synchronization) are sent to the [computer](/source/Computer), which does the same.

The Last and Next tags are used to keep track of a possible loss of sync. Last represents the time of the last operation of synchronization, as measured by each device. For example, a [mobile](/source/Mobile_phone) may use progressive numbers (1, 2, 3, ...) to represent time, while the computer uses strings like "20140112T213401Z". Next is the current time in the same representation. This latter data is stored and then compared with Last in the next synchronization. Any difference indicates a loss of sync. Appropriate actions involving sending all data can be then taken to put the devices back in sync.

Anchors are only used to detect a loss of sync; they do not indicate which data is to be sent. Apart from the loss-of-synchronization situation, in a normal (non-refresh) synchronization, each device sends a [log](/source/Logbook) of changes since the last synchronization.

## SyncML client connectors and plugins

Name Platform Application Contacts Calendar Memos Tasks Book-marks E-mail SMS Photo Video Music Files Notes Syncfriend for MS Outlook Windows XP/Vista/7 SyncML and ActiveSync client for Outlook 2007/10 Yes Yes Also supports Google sync including feeds from Facebook, Twitter and LinkedIn. Free version synchronizes 200 contacts in any custom folder Gemalto / O3SIS AG Windows Mobile SyncML Client, Personal Life Mobilizer Yes Yes No Yes No Yes Yes Yes Yes Yes commercial, over-the-air installable client, Videos, Photo, Ringtones, SMS, MMS, as well Gemalto / O3SIS AG Android SyncML Client, Personal Life Mobilizer Yes Yes No No No No No Yes Yes Yes commercial, over-the-air installable client Gemalto / O3SIS AG iOS SyncML Client, Personal Life Mobilizer Yes Yes No No No No No Yes No No commercial, over-the-air installable client Gemalto / O3SIS AG Symbian, Series 60 SyncML Client, Life Mobilizer Push Mail Edition Yes Yes No Yes No Yes Yes Yes Yes Yes commercial, over-the-air installable client Gemalto / O3SIS AG BlackBerry J2ME from OS 4.5, Nokia S40, Sony Ericsson J2ME SyncML Client, Yes Yes No Yes No No No Yes commercial, over-the-air installable client SyncEvolution Unix/Linux Evolution, KDE/Akonadi, plain files, ... Yes Yes Yes Yes No No No free, command line, Genesis GUI frontend libsynthesis Linux, iOS SyncML client+server engine library Yes Yes Yes Yes Yes Yes Yes Open-source, LGPL+EPL, DB backend via plugins or SQL, custom content formats possible SyncEvolution Maemo 5 system address book/Contacts, Dates Yes Yes Yes Yes No No No free, command line SyncEvolution OS X, iPhone system address book Yes No No No No No No free, command line Funambol WINNER Pocket PC, Smartphone Yes Yes Yes Yes No Yes No Yes plus files in 'briefcase', AGPL v3 Funambol Symbian Symbian S60 3rd/5th Edition Yes Yes Yes Yes Yes AGPL v3, adds push and picture sync capabilities to native client Funambol Android Android Sync Client Yes Yes Yes No No No No Yes Open Source, AGPL v3; very specific to onemedia.com, attempts to use it with other SyncML servers have failed Funambol BlackBerry BB Databases Yes Yes Yes Yes Yes Open Source, AGPL v3 Funambol iOS AddressBook Yes Open Source, AGPL v3 Funambol Java Email Client Java ME, J2SE Yes Yes Open Source, AGPL v3 Funambol Windows Outlook Yes Yes Yes Yes No No No Yes Open Source, AGPL v3 Funambol OS X Desktop Yes No No No No No No No Open Source, AGPL v3 Funambol Multi-platform Java ME, J2SE, C++ Yes Yes Yes Yes * * * Open Source SDK, AGPL v3 Funambol Palm OS Palm Databases Yes No No No No No Open Source, AGPL v3, Community Project Funambol Community Project Windows, Linux iPod Yes Yes No No No No No sync via cable, Open Source, AGPL v3 Funambol Community Project Windows, Linux, Mac Thunderbird, Sunbird Yes Yes Yes No No Open Source, AGPL v3 Funambol Yahoo!, Google Contacts, Calendar Yes Yes No No No Yes No Open Source, AGPL v3 Nokia Symbian 9.x Nokia S60 3rd/5th Edition native Yes Yes Yes Yes Yes No Yes MMS, too! Synchronica Windows Mobile Pocket PC, Smartphone Yes Yes No Yes Yes emails, attachments and folders Synchronica Sun Java Systems Communication Suite Sun Comms 4, 5 and 6 Yes Yes No Yes Yes Synchronica Microsoft Exchange 2003 and 2007 Yes Yes No Yes Yes Using OWA (WebDAV) Synchronica Lotus Domino 6 Yes Yes No Yes Yes Using IMAP and CORBA Synchronica Google Calendar, Contacts Yes Yes No No Yes Synchronica MSN/Hotmail/WindowsLive Contacts Yes No No No No Synchronica Java Content Repository Any JCR compatible server Yes Yes Yes Yes Yes JCR (JSR-170) back-end API Synchronica Palm OS mobile devices Yes Yes No Yes Yes Synchronica OS X iPhone No No No No Yes over the air (OTA) using IMAP/SMTP TSync Windows, Linux, OS X, * Thunderbird Yes No No No No No No free, GPL SyncML2iPhone iPhone iCal No Yes No No free MyTT Symbian S60 all version Yes Yes Yes Yes Yes free, support file upload/download, only Chinese version MyTT Windows Mobile Pocket PC, Smartphone Yes Yes Yes Yes Yes free, support file upload/download, only Chinese version MyTT Windows Outlook Yes Yes Yes free, only Chinese version MyTT MTK 25,26,28 Yes Yes Yes Yes MyTT Brew Yes Yes plan44.ch iOS iOS contacts and calendar, separate tasks and calendar Yes Yes No Yes commercial, free contacts-only version Synthesis Android Android databases, internal tasks and notes, Astrid Tasks, Alex Baker's Tasks, OI notes Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes commercial, multiple sync profiles, scheduling Synthesis Windows Phone 8 Windows Phone 8 contacts, calendar Yes Yes No No commercial Synthesis Palm OS Palm Databases Yes Yes Yes Yes No Yes No commercial, multiple sync profiles, scheduling Synthesis Windows Mobile Pocket PC, Smartphone Yes Yes Yes Yes commercial Synthesis Windows Outlook, Outlook Express Yes No No No commercial Synthesis Windows, Linux, OS X SQL, ODBC, SQLite3, PlainText Yes Yes Yes Yes * * * Programming SDK w/API's in C, C++, Delphi, Java, & .Net Synthesis Windows, OS X Sunbird/Lightning Yes Yes No No DEMO application included with SDK Synthesis Windows, Linux, OS X Client Desktop DEMO/ODBC/Plugin Yes Yes Yes Yes * * * Scriptable utility to connect with any other client side application or database. TTSync Windows Mobile Pocket PC, Smartphone Yes Yes Yes Yes * * * commercial TTSync Symbian S60, 1,2,3 version Yes Yes Yes Yes * * * commercial CompanionLink Windows Various commercial SyncJE by Nexthaus Windows Mobile Windows Mobile Yes Yes No Yes commercial SyncJE by Nexthaus OS X OS X Yes Yes No Yes commercial SyncJE by Nexthaus Windows Outlook Yes Yes Yes Yes commercial SyncJE by Nexthaus Windows Outlook Express Yes No No No commercial SyncJE by Nexthaus Windows Lotus Notes Yes Yes Yes Yes commercial SyncJE by Nexthaus Windows ACT Yes Yes No Yes commercial SyncJE by Nexthaus Palm OS Palm Databases Yes Yes Yes Yes commercial SyncJE by Nexthaus BlackBerry Yes Yes No Yes commercial SyncJE by Nexthaus iOS iPhone Yes No No No commercial Critical Path (Memova) J2ME Phone Backup Client Yes Yes Yes Yes Yes commercial Voxmobili (An OnMobile Company) Windows Mobile, Android, OS X, Symbian, J2ME... SyncML Client, VoxMobili Client Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes commercial Yota Contacts Windows Mobile SyncML Client, Address book Yes free, shipped with Yota HTC MAX 4G Synchronoss Blackberry, Symbian, Palm OS, Windows Mobile, Android SyncML Client, MightyBackup, Network Address Book Yes Yes Yes Yes Yes Yes commercial, with over 10 Million clients deployed Synchronoss Windows Outlook Connector Yes Yes Yes Yes Synchronoss Exchange Microsoft Exchange Connector Yes Yes Yes Yes Pleex Android, Bada, Blackberry OS, iOS, J2ME, Symbian (S60/S40/UIQ), Windows Mobile Various Yes Yes Yes Yes Yes Yes Media sharing and community networks too

## SyncML servers

Name Platform Application Free? Contacts Calendar Memos Tasks Book- marks E-mail Photo Video MMS Files SAN1 Notes Alt-N Technologies' MDaemon Email Server Windows SyncML Server No Yes Yes Yes Yes SMB email OTA mobile device sync Group-Office PHP Data Synchronization but not Device Management No Yes Yes Yes Yes Yes E-mail is synced with IMAP Funambol Java (Linux, Windows, OS X) Data Synchronization and Device Management Yes Yes Yes Yes Yes Yes Yes Yes Open Source, Java and C++ SDK, OEM & ISV Partners, AGPL v3 mySync DM Java (Linux) Data Synchronization and Device Management No Yes Yes Yes Yes Yes Yes Includes SMS backup on Android and Symbian platforms. Carrier-grade. Synthesis Windows, OS X, Linux x86 SyncML Server No Yes Yes Yes Yes Yes SDK - (Java, C/C++, .Net API's), OEM & ISV Partners syncgw PHP SyncML, CalDAV, CardDAV, ActiveSync Server No Yes Yes Yes Yes Yes Yes Yes platform independent PHP SyncML server, OMA push service; Support for WebDAV (CardDav/CalDAV) and Exchange ActiveSync (EAS) libsynthesis Linux, iOS SyncML client+server engine library Yes Yes Yes Yes Yes Yes Open Source, LGPL+EPL, DB backend via plugins or SQL, custom content formats possible Compelson ASP .Net, IIS, SQL Server SyncML Server No Yes Yes Yes Yes IceWarp Messaging Server Windows, Linux SyncML Server No Yes Yes Yes Yes Yes Enterprise Groupware Winfonie mobile 2 Windows Desktop SyncML Server (discontinued, no longer available) No Yes Yes Yes Desktop SyncML server, connects with Microsoft Outlook, Lotus Notes, Lotus Organizer, Mozilla Thunderbird, Lightning, Tobit David, Palm Desktop, combit etc. Synchronica Java (Solaris, Linux, Windows, OS X) Mobile Gateway No Yes Yes Yes Yes Yes Service Providers, OEMS, Enterprise, supports OMA CP, OMA DS Push, OMA EMN and IMAP IDLE Horde Linux Horde Yes Yes Yes Yes Yes No Web Groupware, open source Access NetFront Sync Linux, Solaris SyncML Server No Yes Yes Yes Yes Yes Yes Enterprise sync solution eGroupWare PHP SyncML Server Yes Yes Yes Yes Yes Email uses IMAP, Open Source groupware TimeMaker Server Linux SyncML Server No Yes Yes Yes Yes Leadership software. E-mail is synced by using integrated POP3/SMTP.

1SAN = Server Alert Notification. This SyncML Push technology is based on definitions by the [Open Mobile Alliance](/source/Open_Mobile_Alliance) and extends the existing SyncML protocol specification by offering a method of server initiated synchronization.

## SyncML hosted services

Provider Name Target Market Price Contacts Calendar Memos Tasks Bookmarks E-mail E-mail to SMS SMS MMS WebDAV CalDAV Notes Access NetFront Sync Enterprise sync solution commercial Yes Yes Yes Yes Yes Yes Yes Yes SyncML standard sync server, has been deployed for Japan KDDI, China Telecom AOL Sync Service (discontinued) Consumer free yes yes No No yes SyncML standard sync server basota.com Consumers €10/year Yes Yes Yes Yes Yes No No No No No No ComEase cell phone backup CompanionLink data synching of disconnected applications commercial Yes Yes Yes Yes Compelson demo free Yes Yes Yes Yes Contails Provides a one address book solution to contact management. Supports sync via mobile phones and several other services like mail and Instant Messengers. Free Yes SyncMl based synchronization, webmail synchronization GooSync Beta paid Yes Yes Yes Google Calendar Synchronisation GSMSync free / paid Yes Yes Yes Yes Yes Yes hotpim Service Providers, Device Manufacturers, Enterprises free Yes Yes Yes Yes Yes Support media file with self client,full-text search engine，only Chinese version MemoToo Consumer and business free / paid Yes Yes Yes Yes Yes* No Yes Yes Yes Free services limited to 100 items stored for any category - OTA configuration, Photo for contact, Category support, Sortable tasks MightyPhone Brew Cell Phone Owners Yes Yes No No limited client support Keep free Yes No No No No No No No No No No formerly: Everdroid Mobilesynchro cell phone backup free / paid Yes Yes Yes Yes Yes SyncML based SMS synchronization, OMA/OTA configuration myFunambol consumer demo Yes Yes Yes Yes No Yes No No No No Tasks and notes can not be viewed or edited online MyTT Beta free Yes Yes Yes Yes Yes Yes Support media file with self client,full-text search engine，only Chinese version O3SIS.com Carriers and Service Providers, Enterprises, Retail, Device Manufacturers, Partners commercial Yes Yes Yes Yes Yes Yes Yes No No No Showcase available with OTA configurator, downloadable clients O-Sync Consumer free Yes Yes Yes Yes Yes contact self-update feature PhoneCopy consumers, community free/paid Yes Yes Yes Yes Yes No Yes Yes No No All data can be viewed, edited or deleted online. Supports all platforms (Android, BlackBerry, Apple, Windows Phone, ActiveSync, Symbian, SyncML, ...). picoBeat consumer and SoHo Development has halted and new users are not being accepted. Existing users can still use their account. Yes Yes Yes Yes Elements can be edited online PhoneBackup Consumer paid Yes Yes No No No OTA configuration ScheduleWorld consumer paid (service shut down on November 30, 2010) Yes Yes Yes Yes No Yes No No No Yes No calendar sharing, multiple calendars, Google calendars, Email via Over The Air (OTA) provided by IMAP/SMTP Social Provides a one address book solution to contact management. Supports sync via mobile phones and several other services like GMail. SERVICE CLOSED Yes No No No No No No No No No No SyncML based Contact synchronization. Outlook client, OTA configuration & downloadable clients. Synchronica Service Providers, Device Manufacturers, Enterprises Yes Yes Yes Yes No Yes Yes No No Yes Yes Live demo available with OTA configuration Synkia cell phone backup paid Yes Yes Yes Yes Yes SyncML based SMS synchronization, OMA/OTA configuration, server alerted sync. syncgcal.com Google Calendar sync service free / paid Yes Google Calendar Synchronisation (including shared calendars) Syncfriend A self updated phonebook. Supports multiple phones per each account. Automatic duplicate elimination. Free Yes Yes User friendly web interface. Not working. Voxmobili(An OnMobile Company) Provides a complete synchronization solution. Supports sync via mobile phones and PC clients. commercial Yes Yes Yes Yes Yes Yes Yes SyncML based Personal Data synchronisation Yota users, online community free Yes Contacts management as a part of social network MightyBackup paid Yes commercial, with over 10 Million mobile clients deployed Network Address Book Service Providers, Enterprise commercial Yes MightyPhone Brew Cell Phone Owners paid Yes Yes Yes Yes

## See also

- [CalDAV](/source/CalDAV)

- [CardDAV](/source/CardDAV)

- [Critical Path SyncML Server](/source/Critical_Path%2C_Inc.)

- [iCalendar](/source/ICalendar)

- [The SyncML Initiative](/source/The_SyncML_Initiative)

- [Yahoo! Mobile](/source/Yahoo!_Mobile) and [Yahoo! Calendar](/source/Yahoo!_Calendar) - [Yahoo](/source/Yahoo) services offered in some countries that uses SyncML technology.

## References

1. **[^](#cite_ref-1)** ["Lightcast"](https://lightcast.io/open-skills/skills/KS4414L79MLXQ6FQ0080/syncml). *Lightcast*. Retrieved 2024-09-15.

1. **[^](#cite_ref-2)** ["SyncML Delivers Tomorrow´s Technology Today"](https://web.archive.org/web/20010410185233/http://www.syncml.org/php/news.php3?id=36). SyncML.org. 2000-12-07. Archived from [the original](http://www.syncml.org/php/news.php3?id=36) on 2001-04-10. Retrieved 2021-04-02.

1. **[^](#cite_ref-3)** ["SyncML Turns Two, Releases Specifications v1.1 for Mobile Data Sync"](https://web.archive.org/web/20020418052412/http://www.syncml.org:80/php/news.php3). SyncML.org. 2002-02-26. Archived from [the original](http://www.syncml.org:80/php/news.php3) on 2002-04-18. Retrieved 2021-04-02.

---
Adapted from the Wikipedia article [SyncML](https://en.wikipedia.org/wiki/SyncML) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/SyncML?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
