Random BlackBerry smartphones fail to start and “MAPIMailbox – OpenMsgStore (0x8004011d) failed” appears in BlackBerry Messaging Agent and Application logs due to Microsoft Exchange 2010 Throttling Policy
Posted by Chad McGreanor on March 21, 2011
If you are running Exchange Server 2010 and are having BES issues with activations and e-mail sync check this out:
Full Article Here: http://www.blackberry.com/btsc/search.do?cmd=displayKC&docType=kc&externalId=KB20608
Overview
By default, client throttling is enabled in Microsoft® Exchange Server 2010. Client throttling must be disabled for the BlackBerry® Enterprise Server to function correctly. The BlackBerry Enterprise Server for Microsoft Exchange Installation and Configuration guide provides incorrect steps to actually create a new throttling policy that uses default settings. This can result in an RCAMaxConcurrency value of 20, which can cause random BlackBerry smartphones to fail to start.
The following information might appear in the BlackBerry Messaging Agent (MAGT) logs:
[20400] (01/13 15:27:09.003):{0x21AC} {email@address.com} MAPIMailbox::MAPIMailbox – OpenMsgStore (0x8004011d) failed, MailboxDN=/o=CGP/ou=First Administrative Group/cn=Recipients/cn=SERVER, ServerDN=/o=AD/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=SERVER/cn=Microsoft Private MDB
[40720] (01/13 15:27:09.003):{0x21AC} MAPI call failed. Error ‘The information store could not be opened.’, LowLevelError 0, Component ‘MAPI 1.0′, Context 649
Environment
BlackBerry® Enterprise Server 5.0 SP1 MR1 to 5.0 SP2 for Microsoft® Exchange
BlackBerry® Enterprise Server Express for Microsoft® Exchange
Microsoft Exchange Server 2010 Update Rollup 1 and later
DT 492983
DT 608362
Cause
Client throttling limits the amount of concurrent connections from a Messaging Application Programming Interface (MAPI) client to the Microsoft Exchange Server.
Resolution
If a BESPolicy throttling policy has not already been created, then create a new throttling policy that does not limit concurrent connections to the Microsoft Exchange Server:
On the Microsoft Exchange Server, click Start > Microsoft Exchange Server 2010 > Exchange Management Shell.
Type New-ThrottlingPolicy BESPolicy -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null -EWSMaxConcurrency $null -EWSPercentTimeInAD $null -EWSPercentTimeInCAS $null -EWSPercentTimeInMailboxRPC $null -EWSMaxSubscriptions $null -EWSFastSearchTimeoutInSeconds $null -EWSFindCountLimit $null
Type Set-Mailbox “BESAdmin” -ThrottlingPolicy BESPolicy.
Restart the BlackBerry Controller Service.
Note: If the Microsoft Exchange Server is 2010 SP1, complete the following step as well:
Type:
Set-ThrottlingPolicy BESPolicy -CPAMaxConcurrency $NULL -CPAPercentTimeInCAS $NULL -CPAPercentTimeInMailboxRPC $NULL
If a BESPolicy throttling policy has already been created, but is still set to throttle concurrent connection, then modify the existing BESPolicy to disable throttling.
On the Microsoft Exchange Server, click Start > Microsoft Exchange Server 2010 > Exchange Management Shell.
Type Set-ThrottlingPolicy BESPolicy -RCAMaxConcurrency $null -RCAPercentTimeInAD $null -RCAPercentTimeInCAS $null -RCAPercentTimeInMailboxRPC $null -EWSMaxConcurrency $null -EWSPercentTimeInAD $null -EWSPercentTimeInCAS $null -EWSPercentTimeInMailboxRPC $null -EWSMaxSubscriptions $null -EWSFastSearchTimeoutInSeconds $null -EWSFindCountLimit $null
Type Set-Mailbox “BESAdmin” -ThrottlingPolicy BESPolicy.
Restart the BlackBerry Controller Service.
Important: Restarting the BlackBerry Enterprise Server or its services might delay email message delivery to BlackBerry smartphones.
Note: It might take up to 20 minutes for replication to occur and BlackBerry smartphones to start.
If the preceding method does not work to reset the throttling policy, remove the existing policy and re-create a new BESPolicy.
Remove the BESPolicy by typing Remove-ThrottlingPolicy -Identity BESPolicy.
Note: A policy that is assigned to users cannot be removed. In order to remove a policy that is associated with any users, reassign the default policy to users and then remove the BESPolicy.
For more information on the Microsoft Exchange Server 2010 throttling policy and the commands to set default policy, refer to the following Microsoft document:
http://technet.microsoft.com/en-us/library/dd351178.aspx
Additional Information
To confirm the required policies has been disabled, follow these steps:
On a computer that hosts the Microsoft Exchange Management Shell, open the Microsoft Exchange Management Shell.
Type Get-ThrottlingPolicy BESPolicy
Confirm the value for the following policies are null (blank):
CPAMaxConcurrency (SP1)
CPAPercentTimeInCAS (SP1)
CPAPercentTimeInMailboxRPC (SP1)
RCAMaxConcurrency
RCAPercentTimeInAD
RCAPercentTimeInCAS
RCAPercentTimeInMailboxRPC
EWSMaxConcurrency
EWSPercentTimeInAD
EWSPercentTimeInCAS
EWSPercentTimeInMailboxRPC
EWSMaxSubscriptions
EWSFastSearchTimeoutInSeconds
EWSFindCountLimit
To check which throttling policy is applied to the BESAdmin account, follow these steps:
On a computer that hosts the Microsoft Exchange Management Shell, open the Microsoft Exchange Management Shell.
Type Get-Mailbox “besadmin” | fl Name,ThrottlingPolicy
Note: The custom-created throttling policy should always be used and the default throttling policy should not be modified on the Microsoft Exchange Server.
To obtain the name of the default throttling policy, follow these steps:
On a computer that hosts the Microsoft Exchange Management Shell, open the Microsoft Exchange Management Shell.
Type Get-ThrottlingPolicy | Where-Object {$_.IsDefault -eq “True”} | FL Identity
To enforce the new settings immediatley on your mailbox server retart the Microsoft Exchange Trottling Service and the Microsoft Exchange RPC Client Access service on the CAS role.