SyncML Plugin
SyncML Obex Client
I will show the steps to be done, setting up a syncml-obex-client group syncing against file-sync. I will use Bluetooth (BT) connection in my example. BluetoothPairing of the Devices (mobile and system) is needed.
osynctool --addgroup e71-file-contact
osynctool --addmember e71-file-contact syncml-obex-client
osynctool --addmember e71-file-contact file-sync
osynctool --configure e71-file-contact 1
osynctool --configure e71-file-contact 2
osynctool --discover e71-file-contact
Discovered Objtypes:
contact
Format: vcard21
Discovered Objtypes:
contact
Format: file
Normaly you need to configure two things for SyncML member, the BT address and the BT channel. How to we get the BT address and the channel? First, find the BT address of your device. Enable BT on the device and make the device visible to all. run
hcitool scan
Scanning ...
00:21:XX:YY:ZZ:aa Nokia E71
Second, we need the Channel for syncml
sdptool search --bdaddr 00:21:XX:YY:ZZ:aa SYNCML
Searching for SYNCML on 00:21:XX:YY:ZZ:aa ...
Service Name: SyncMLClient
Service RecHandle: 0x10105
Service Class ID List:
UUID 128: 00000002-0000-1000-8000-0002ee000002
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"" (0x00000002-0000-1000-8000-0002ee000002)
Version: 0x0100
Here we have channel 10.
Jump to the Connection stanza while configureing the syncml part and configure it, for my example it looks like
...
<Connection>
<ActiveConnection>Bluetooth</ActiveConnection>
<Bluetooth>
<MAC>00:21:XX:YY:ZZ:aa</MAC>
<RFCommChannel>10</RFCommChannel>
<SDPUUID>00000002-0000-1000-8000-0002ee000002</SDPUUID>
</Bluetooth>
<USB>
<VendorID>1234</VendorID>
<ProductID>5678</ProductID>
<Interface>2</Interface>
</USB>
</Connection>
...
Add the Identifier, for Nokia phones, PC Suite is worth testing.
Now lets test it.
osynctool --sync e71-file-contact
Synchronizing group "e71-file-contact"
The previous synchronization was unclean. Slow-syncing
contact sink of member 2 of type file-sync just connected
Main sink of member 2 of type file-sync just connected
Main sink of member 1 of type syncml-obex-client just connected
contact sink of member 1 of type syncml-obex-client just connected
All clients connected or error
Main sink of member 1 of type syncml-obex-client just sent all changes
contact sink of member 2 of type file-sync just sent all changes
Main sink of member 2 of type file-sync just sent all changes
Received an entry 2 (xmlformat-contact) from member 1 (syncml-obex-client). Changetype ADDED
Received an entry 3 (xmlformat-contact) from member 1 (syncml-obex-client). Changetype ADDED
Received an entry 4 (xmlformat-contact) from member 1 (syncml-obex-client). Changetype ADDED
element Url: Schemas validity error : Element 'Url', attribute 'Location': The attribute 'Location' is not allowed.
ERROR: XMLFormat validation failed.
EXIT_ERROR: osync_converter_invoke: XMLFormat validation failed.
EXIT_ERROR: osync_format_env_convert: XMLFormat validation failed.
Main sink of member 1 of type syncml-obex-client had an error: XMLFormat validation failed.
EXIT_ERROR: _osync_engine_receive_change: XMLFormat validation failed.
Received an entry 6 (xmlformat-contact) from member 1 (syncml-obex-client). Changetype ADDED
Received an entry 7 (xmlformat-contact) from member 1 (syncml-obex-client). Changetype ADDED
...
Received an entry 208 (xmlformat-contact) from member 1 (syncml-obex-client). Changetype ADDED
contact sink of member 1 of type syncml-obex-client just sent all changes
All clients sent changes or error
All changes got mapped
All conflicts have been reported
All changes got multiplied
All changes got prepared for write
Synchronization Forecast Summary:
ObjType: contact
Member 1: Adding(0) Modifying(0) Deleting(0)
Member 2: Adding(183) Modifying(0) Deleting(0)
Do you want to continue the synchronization? (N/y): y
OK! Completing synchronization!
Main sink of member 1 of type syncml-obex-client committed all changes.
Sent an entry 2 (file) to member 2 (file-sync). Changetype ADDED
...
Sent an entry 207 (file) to member 2 (file-sync). Changetype ADDED
Sent an entry 208 (file) to member 2 (file-sync). Changetype ADDED
contact sink of member 2 of type file-sync committed all changes.
Main sink of member 2 of type file-sync committed all changes.
contact sink of member 1 of type syncml-obex-client committed all changes.
All clients have written
contact sink of member 1 of type syncml-obex-client reported sync done.
Main sink of member 1 of type syncml-obex-client reported sync done.
contact sink of member 2 of type file-sync reported sync done.
Main sink of member 2 of type file-sync reported sync done.
All clients reported sync done
contact sink of member 1 of type syncml-obex-client just disconnected
Main sink of member 1 of type syncml-obex-client just disconnected
contact sink of member 2 of type file-sync just disconnected
Main sink of member 2 of type file-sync just disconnected
All clients have disconnected
ERROR: error while synchronizing: NEXT ERROR: "XMLFormat validation failed."; NEXT ERROR: "XMLFormat validation failed."; NEXT ERROR: "XMLFormat validation failed."; NEXT ERROR: "XMLFormat validation failed."; ROOT CAUSE: "XMLFormat validation failed."
EXIT_ERROR: osync_engine_synchronize_and_block: XMLFormat validation failed.
EXIT_ERROR: osynctool_synchronize: XMLFormat validation failed.
ERROR: XMLFormat validation failed.
Looks pretty OK.
SyncML HTTP Server
to be filled in
see also https://libsyncml.opensync.org/wiki/http-guide for hints on needed preparations
SyncML HTTP Client
to be filled in
