Tuesday 12 October 2010

iPhone and Exchange ActiveSync: still problems - Heartbeats

ok.. well the one user who had problems has upgraded to iOS 4.0.2 (Apple-iPhone2C1/802.117) and now he has intermittent issues again... (with MS Exchange 2003 SP2)

So time to dig deeper... and the frustration has grown... when you think you have fixed it all and no-one calls for weeks on end...  And then it's the same problem yet again...  Time to dig even deeper...

HBISampleSize / Heartbeat Intervals

PHONE -> EXCHANGE SERVER - the phone opens a session (connection) with the server, nudges it and gives the server the heartbeat length...

The phone will hold OPEN that session for the length of the heartbeat...  and IF you get an email, the Exchange server will use the session to send the email to your phone.  IF no emails arrive, the phone will poll the Exchange server again... (not sure if that is immediately or not - or what if not successful?  if no signal - does it try?)

If you have a router or firewall between the PHONE and the Exchange server... like your office ISP router... or home router - WiFi...  or you are connecting over WiFi in a cafe...  and the Firewall/Router times out the HTTP(S) session because it is set to a maximum of 5 minutes not 30 minutes ... (Heartbest could be 15 mins so 30 mins is a safe value)  or your WiFi signal gets low and drops, killing the session ... then that session will be lost ... IF Exchange receives an email, then it cannot open a new session to your iPhone to send the emails... it must wait for your iPhone to poll the server again....

So it is vital to check all points along the connection from your iPhone to your Exchange server.  We really hope here that there aren't routers along the way at our Phone provider or other third-party, with HTTP(S) timeout values that are "almost 15 minutes"... we'll assume here, first, that if we're having problems then it is under our control (or our IT department)... (Having checked all our hops thoroughly, then we can pester the people responsible for the bits we don't have any control over.)

It's not true PUSH... no... but true push is not simple enough for the average iPhone user to set-up and maintain.  And it's really time-consuming if you have 30 phones on different networks ...

I'm going off to investigate time-out values again on the Vigor 2900...

What determines the Heartbeat on the iPhone?  Does it get the value from Exchange?  I'll let you know in my next post.

No comments:

Post a Comment