Friday, November 19, 2010

iPhone 4 and Exchange 2003/2010 ActiveSync Slow Performance

This is a well known problem now, and has been since the first releases of the iPhone 4 in July 2010. Later updates to iOS (4.1 and later) do not exhibit this problem, but if you are upgrading an Exchange 2003 organization to Exchange 2010 there comes a point where you switch over the endpoints that the users connect to. Its at this switchover that you will experience performance issues if there are any unpatches iPhones in your user population. But, and here is the catch, as you have yet to migrate these users to Exchange 2010 you cannot use the Allow/Block/Quarantine feature (ABQ) of Exchange 2010 to restrict the phones access attempts.

The phones will connect to Exchange 2010 and be proxied to Exchange 2003 and the performance issues will set in. So how do you stop the phones at Exchange 2010?

You use a feature of IIS instead, you can block query string values in the Request Filtering feature of IIS 7.5 (or installable add-on for IIS 7.0).

Add the following to the web.config in c:\inetpub\wwwroot to globally block iPhones, and once you have a list of bad specific devices you can expand this list some more.

<system.webServer>
 
<security>
    <requestFiltering>
      <denyQueryStringSequences>
        <add sequence="DeviceType=iPhone" />
      </denyQueryStringSequences>
    </requestFiltering>
  </security>
</system.webServer>