[sync] partial sync with nokia 6021

Jan Schneider jan at horde.org
Thu May 7 15:50:28 UTC 2009


Zitat von Hristo Hristov <ico.dimov at gmail.com>:

> Hello there,
> On Friday 01 May 2009 00:31:37 Jan Schneider wrote:
>> Please keep discussions on the list.
> Sorry for that, didn't mention that Re: is not on the list.
>>
>> Zitat von Hristo Hristov <ico.dimov at gmail.com>:
>> > On Wednesday 29 April 2009 20:19:48 you wrote:
>> >> Zitat von Hristo Hristov <ico.dimov at gmail.com>:
>> >> > Hello list,
>> >> >
>> >> > I've installed most recent stable version of horde platform. Here is
>> >> > the list of applications I'm using.
>> >> >
>> >> > ===
>> >> > Address Book (turba)  H3 (2.3.2-cvs)
>> >> > Calendar (kronolith) H3 (2.3.1)
>> >> > Dynamic Mail (dimp) H3 (1.1.2)
>> >> > Horde (horde) 3.3.3
>> >> > Mail (imp) H3 (4.3.4)
>> >> > Mobile Mail (mimp) H3 (1.1.2-cvs)
>> >> > Notes (mnemo) H3 (2.2.2-cvs)
>> >> > Photos (ansel) H3 (1.0.1-cvs)
>> >> > Tasks (nag) H3 (2.3.2)
>> >> > ===
>> >> >
>> >> > I have the following problem with underlaying SyncML implementation.
>> >> > There is successful start of synchronization session with Nokia 6021
>> >> > phone. All entries from phone's address book are copied (synchronized)
>> >> > with horde, but unfortunately phone yields "Synchronization failed"
>> >> > message, with underlaying failure for Contacts, Calendar and Notes
>> >> > items.
>> >> >
>> >> > There is no errors in php's error log. I'm also attaching a .tar
>> >> > containgin /tmp/sync files.
>> >> >
>> >> > I had also such "bad" experience with other nokia phones, but can't
>> >> > send a full sync logs right now.
>> >> >
>> >> > As it is visible for me, server sends all messagages correctly and
>> >> > completes sync session. May be nokia phones want something additional
>> >> > in order to account sync session as successfully completed.
>> >> >
>> >> > Are there any chance for improper device  info handling from server
>> >> > side? Please give additional "direction" to look for in order to fix
>> >> > the problem.
>> >> >
>> >> > Hristo
>> >>
>> >> The logs are perfectly fine, as is the last syncml package sent to the
>> >> phone. Unless the phone is giving an error message that is actually
>> >> useful, there are not many chances to dig down the problem. Maybe the
>> >> phone times out?
>> >>
>> >> Jan
>> >> .
>> >
>> > Thank you for your replay.
>> >
>> > Initially I was thinking about  MaxMsgSize tag. Phone is reporting
>> > something the following:
>> >
>> > <MaxMsgSize>3584</MaxMsgSize>
>> >
>> > All .wbxml files sent back from horde a smaller than this. But when they
>> > are unpacked, the final message is about 2 times larger than specified
>> > size. So this was my initial guess.
>> >
>> > On the other hand, definitely a kind of "time out" on phone side
>> > happends, because not all entries are copied form phone to server.
>> >
>> > Right now I can't test with smaller address book /don't have a place to
>> > copy all the contacts/, but I think this could resolve my problem.
>> >
>> > If you let me to ask one more question:
>> > Is there a proper handling of MaxMsgSize tag on horde's side? I.e. does
>> > horde's syncml implementation account this tag and send proper sized
>> > packages to client side? I was looking at mail list/bug archives and saw
>> > that there is a initial work on the subject.
>>
>> Yes, this is implemented.
>>
>> > One more thing: Do you plan a future release of horde's syncml
>> > implementation?
>> > And If yes, I'm definitely willing to help :) /with code(ing) ||
>> > test(ing)/
>>
>> What do you mean? We create new Horde releases all the time, I just
>> rolled another one. And almost every release contains some
>> improvements in the SyncML code.
> More precisely the following:
>
> 1) automatic registration for unexisting horde users:
> for example - user is attempting to sync, but doesn't exist in horde's user
> database, so backend automatically creates necessary user data;

This has nothing to do with synching, this has to be implemented in  
the authentication backend. And it's a pretty bad idea.

> 2) per user sync logging:
> syncml logs to be orderder in 'username' directories under /tmp/sync
> directory.

Sync logging is a debug feature. There is no need for any fancyness.  
You should turn it off in production anyway.

> For the third thing i need a little description. Today I tested two  
> more nokia
> phones, particularly '6300' and '5000d-2'.
> Both end syncml communication with the following error message 'Data Transfer
> Not Possible'.
> There was no errors in sync logs. But I noticed that both sides send  
> different
> preferred 'devinfo' parameters.
>
> Sync logs can be found at:
> http://es2.nat.bg/~lisp/sync.Nokia-5000d-2/
>
> client say's:
>                     <DataStore>
>                         <SourceRef>/telecom/pb.vcf</SourceRef>
>                         <MaxGUIDSize>8</MaxGUIDSize>
>                         <Rx-Pref>
>                             <CTType>text/x-vcard</CTType>
>                             <VerCT>2.1</VerCT>
>                         </Rx-Pref>
>                         <Tx-Pref>
>                             <CTType>text/x-vcard</CTType>
>                             <VerCT>2.1</VerCT>
>                         </Tx-Pref>
>                         <SyncCap>
>                             <SyncType>1</SyncType>
>                             <SyncType>2</SyncType>
>                             <SyncType>4</SyncType>
>                             <SyncType>6</SyncType>
>                             <SyncType>7</SyncType>
>                         </SyncCap>
>                         <Rx>
>                             <CTType>text/x-vcard</CTType>
>                             <VerCT>3.0</VerCT>
>                         </Rx>
>                         <Tx>
>                             <CTType>text/x-vcard</CTType>
>                             <VerCT>3.0</VerCT>
>                         </Tx>
> 			...
> 			</DataStore>
>
> and server responds (on <Get> request):
>
>                     <DataStore>
>                         <SourceRef>contacts</SourceRef>
>                         <Rx-Pref>
>                             <CTType>text/directory</CTType>
>                             <VerCT>3.0</VerCT>
>                         </Rx-Pref>
>                         <Rx>
>                             <CTType>text/x-vcard</CTType>
>                             <VerCT>2.1</VerCT>
>                         </Rx>
>                         <Tx-Pref>
>                             <CTType>text/directory</CTType>
>                             <VerCT>3.0</VerCT>
>                         </Tx-Pref>
>                         <Tx>
>                             <CTType>text/x-vcard</CTType>
>                             <VerCT>2.1</VerCT>
>                         </Tx>
>                         <SyncCap>
>                             <SyncType>1</SyncType>
>                             <SyncType>2</SyncType>
>                             <SyncType>3</SyncType>
>                             <SyncType>4</SyncType>
>                             <SyncType>5</SyncType>
>                             <SyncType>6</SyncType>
>                         </SyncCap>
>                     </DataStore>
> Can this be the reason for misunderstanding and unsuccessfully communication
> between both sides?

No.

> So my 3rd point/proposal is for device specific 'devinfo' handling for
> different device types. One for Nokia (or more, if there are so much
> differences between different models) and another for Sony-Ericson.

That's the purpose of devinfo. And it's a mandatory feature of syncml servers.

Jan.

-- 
Do you need professional PHP or Horde consulting?
http://horde.org/consulting/



More information about the sync mailing list