I've mentioned the current set of ActiveSync problems experienced by Apple users a couple of times recently, including in a post last Wednesday and previously on October 9. The current stance of the Exchange development group is explained in their October 23 blog post and contains some interesting suggestions that will go down like a lead balloon with some users.
For example, telling administrators to block iOS6 devices is absolutely possible, but explaining that Exchange includes this wonderful feature will be a hard sell to users. Or telling people not to mess with meetings or not to upgrade their devices when prompted by iTunes, switch to an IMAP4 client, or use Outlook Web App for now. All perfectly reasonable options in the eyes of those who don't use an iOS device while not being totally practical in the real world of dealing with users. In fact, the best advice is the last option - to wait until the mess is sorted out.
The EHLO post hints that Apple is responsible without really saying that this is the case. I think that Apple certainly has to take action by adjusting some misbehaving iOS code to fix the "meeting hi-jack" problem (according to some reports, the fix is in iOS 6.01). However, it's also interesting to discover that some evidence is now emerging that Microsoft might also have to look at the way Exchange processes requests sent by ActiveSync clients.
According to "The Unofficial Apple Weblog", the hijacked meeting problem is pretty old and exists in iOS 4, 5, and 6. It has been verified against Exchange 2007 and Exchange 2010, and Microsoft and Apple have been aware of the issue for at least the last two years. According to the TUAW post, the root cause is that Exchange allows an ActiveSync client to change the value of the organizer for a meeting when it processes a meeting request, updating the organizer to make the client's owner own the meeting. If the user then declines the meeting, all hell breaks loose when the meeting decline notification is processed by Exchange and the server is faced with two values for the meeting organizer (original and client-updated).
Of course, clients should not mess with data that they do not need to update. Why the iOS mail application takes it upon itself to insert its owner's email address into the meeting organizer field and send it back to Exchange is quite beyond me. However, Exchange shouldn't let clients update data that the server depends on to manage the flow of meeting requests, declines, and confirmations, so that's something that Microsoft needs to look into, no doubt taking all the evidence into account, including some additional information described by Paul Robichaux in his blog.
I can appreciate why confusion might exist in the minds of those who develop ActiveSync applications, especially if they don't understand how Exchange works, because MSDN's ActiveSync command reference protocol specification certainly contains lots of information and plenty of sample XML code, but it's hardly a definitive guide about how to write a well-behaving ActiveSync client. The word "SHOULD" (uppercased) is used a lot in the specification document and carries the same meaning as defined in RFC2119:
SHOULD This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.In other words, just because the ActiveSync document says "SHOULD," a developer such as Apple is quite within their rights to ignore the advice because they consider that valid reasons exist to do so. Hence confusion, strife, and the potential for bugs.
I guess that producing a definitive guide that covers all possible situations must be difficult to do when ActiveSync is integrated into so many different clients on so many different platforms (just think of the number of Android variations), but that's really not a good reason to simply let developers have free rein over how they interact with Exchange.
Apple hasn't a stellar record with ActiveSync and I think it needs to pay more attention to how its mail application interacts with Exchange. But given that ActiveSync is now so important to the mobile connectivity of so many people, wouldn't it be good if Microsoft took a more proactive stance with ActiveSync licensees when it comes to driving quality across the spectrum of clients that connect to Exchange? I think they should. I hope that they do.
Follow Tony @12Knocksinna