[horde] FW: [sync] Activesync Errors

Simon Brereton simon.brereton at buongiorno.com
Fri Sep 30 18:00:47 UTC 2011


> -----Original Message-----
> From: horde-bounces at lists.horde.org [mailto:horde-
> bounces at lists.horde.org] On Behalf Of Michael J Rubinsky
> Quoting Simon Brereton <simon.brereton at buongiorno.com>:
> 
> > Originally submitted to sync at lists.horde.org - perhaps that's the
> not
> > the right location?
> >
> >
> > Address book is a whole other ball game.  I created a new contact
> on
> > the phone and it never appeared in Horde.  None of the contacts in
> > Horde appear on the phone either.
> >
> > The sync.log has these errors:
> >
> > 2011-09-29T20:29:45+01:00 ERR: Returning HTTP 500:Invalid date
> format
> > 2011-09-29T20:30:39+01:00 ERR: Invalid address book:
> > b3790d4757f941c995645660f0ba886c 2011-09-29T20:30:39+01:00 ERR:
> > Invalid address book: b3790d4757f941c995645660f0ba886c
> > 2011-09-29T20:30:39+01:00 ERR: Invalid address book:
> > b3790d4757f941c995645660f0ba886c 2011-09-29T20:30:39+01:00 ERR:
> > Returning HTTP 500:Invalid date format 2011-09-29T20:31:55+01:00
> > ERR: Invalid address book:
> 
> Your client is sending broken activesync date datatypes. Per the
> specification:

Odd.  I could have sworn that was from Horde to the client.  Basically, when I removed Funambol from the device the contacts list on the phone was emptied.  I waited 3 hours and nothing was synched from Horde to the device (as I would have expected and as was the case with the calendar).  In an effort to prompt it, I created a test contact on the phone (just a name, no number, no DoB, no email) and waited for it to be synched to Horde.  After 2 hours - nada.  Since I needed my contacts, I reloaded them (under the Activesync account) from an vcard I have on the device SD card...

> Date/time values are as specified in [ISO-8601].
> All dates are given in Coordinated Universal Time (UTC) and are
> represented as a string in the following format:
> YYYY-MM-DDTHH:MM:SS.MSSZ where
> YYYY = Year (Gregorian calendar year)
> MM = Month (01 - 12)
> DD = Day (01 - 31)
> HH = Number of complete hours since midnight (00 - 24) MM = Number of
> complete minutes since start of hour (00 - 59) SS = Number of seconds
> since start of minute (00 - 59) MSS = Number of milliseconds The T
> serves as a separator, and the Z indicates that this time is in UTC.
> For example, 8:35 A.M. on December 25, 2000 would be represented as
> 2000-12-25T08:35:00.000Z.
> 
> Specifically, your device is not sending the date in UTC.

..  The caveat is that vcard on the SD card is a direct export from Horde... 

Not saying that Horde isn't doing what it should be - but I have a standard OG Droid - have you heard of an issue where it doesn't send the date in UTC?  Since the only dates in the contact forms (and in the logs) that I can see are birthdates - i.e. 1964-01-01 - I'm not sure how to address this.


> The invalid address book error sounds to me like your "default"
> address book is either corrupt or pointing to an address book that no
> longer exists.

How do I debug that?  I mean ever since I installed H4 and imported the data from the H3 DB and updates the schemas everything has worked fine.  I can see my default address book, add, edit and delete with no issue.  I have only one address book, so I can't really see how anything can be pointing to something else.  I could reimport the data (from the vcard above) and overwrite the address book if you think that would help..  

> Without going into too much technical detail, this is how activesync
> works. It's not a true push solution (rather a push to pull). The
> server polls for changes for a specific period of time (the heartbeat
> interval), the returns a status response to the client. Upon
> receiving this response, the client performs any SYNC operations
> deemed necessary based on the status response, then sends another
> PING request. You can try to fine tune these parameters in the Horde
> ActiveSync config. Longer hearbeat intervals tend to be more battery
> friendly, though YMMV.

This is what I have at the moment - I believe they're the defaults.

$conf['activesync']['ping']['heartbeatmin'] = 60;
$conf['activesync']['ping']['heartbeatmax'] = 2700;
$conf['activesync']['ping']['heartbeatdefault'] = 480;
$conf['activesync']['ping']['deviceping'] = true;
$conf['activesync']['ping']['waitinterval'] = 5;

Would these be sensible options?
$conf['activesync']['ping']['heartbeatmin'] = 600;
$conf['activesync']['ping']['heartbeatmax'] = 2700;
$conf['activesync']['ping']['heartbeatdefault'] = 1200;
$conf['activesync']['ping']['deviceping'] = true
$conf['activesync']['ping']['waitinterval'] = 120;

I'm not sure I understand what each parameter does - my choices might reflect that :)


Simon






More information about the horde mailing list