This is a rather long blog about an issue we had during an Exchange 2007 to Exchange 2010 transition project @ a 1.500 mail boxes sized company. This was last summer but I needed to find the time to blog this so that it might help people who also need to find a solution. We ran in to this very annoying situation for users who still have outlook 2003 (SP3, fully patched) and were moved over to Exchange 2010 Roll Up 4. The users have rather a lot of shared calendars open & after accessing some of them (the sweet spot seemed to be around 6 to 7) they got this error:
"The connection to the Microsoft Exchange Server is unavailable. Outlook must be online or connected to complete this action."
Edit November 15th 2010: Microsoft released a KB article http://support.microsoft.com/kb/2299468 titled “Error message when Outlook 2003 clients try to open multiple shared calendars in Exchange Server 2010: "The connection to the Microsoft Exchange server in unavailable. Outlook must be online or connected to complete this action" on this issue that is based on the work done on this case. The support engineer who worked on this case with me notified me by mail that the article had been released. Thanks Kovai! They only mention the throttling Policy as the /resetnavpane is not always required, this depends on the environment history.
Edit February 3th 2011: The support engineer published a very content rich blog about all this and other possible causes of the error notification on his TechNet blog: Things you need to know about “The connection to the Microsoft Exchange server in unavailable. Outlook must be online or connected to complete this action” prompts in an Outlook 2003–Exchange 2010 world. It’s a must read for all people dealing with this error message.
When the user closes and reopens Outlook 2003 access sometimes worked for the calendar that threw the error before but than other calendars throw the error. So it becomes game of closing and opening Outlook 2003 in the hope you can open the desired calendar. This does not make users very happy as you can imagine. We stopped the migration to Exchange 2010 for users still on Outlook 2003. On the Exchange 2010 forums you’ll find http://social.technet.microsoft.com/Forums/en/exchange2010/thread/93db8cd7-3380-443f-8dbe-fbfb79cd9978 and http://social.technet.microsoft.com/Forums/en/exchange2010/thread/85c75bae-93dc-453e-be28-0425de3d5227 which both discuss this problem. It’s also pretty random. Sometimes it’s a shared calendar of a user on Exchange 2010 or on Exchange 2007. There is also a mention of this issue on others sites and one of them mentioned a private discussion with Microsoft about a fix coming in E2K10 Roll Up 5.I asked MS support later on if they had any knowledge of this and they said that they had none what so ever. By the way SP1 for Exchange 2010 arrived before we even got to roll up 5 for Exchange 2010 RTM.
We investigated and searched for a solution. One very promising work around was related to the throttling mechanism in Exchange 2010.
See also http://blogs.msdn.com/b/pepeedu/archive/2010/01/13/exchange-2010-client-access-throttling.aspx for more information on this. This is a good right up as well: http://eightwone.wordpress.com/2010/06/22/exchange-2010-throttling-policies-rtm-sp1/
The default throttling policy limits the RPC connections to 20. Now when Outlook 2003 opens a shared calendar it consumes a RPC connection. It doesn’t release that until outlook is closed. We taught we had a winner here as this could lead to the error while sending and receiving mail keeps working.
So in an attempt to fix the problem we tried this:
New-ThrottlingPolicy –name Outlook2003Calendar
Set-ThrottlingPolicy –identity Outlook2003Calendar –RCAMaxConcurrency 100
Set-Mailbox –Identity “annoyed user” –ThrottlingPolicy Outlook2003Calendar
We’re supposed to have some patience before this would work, due to Active Directory replication so we did. We even left it overnight. No joy. We also tried disabling throttling by using $NULL. Unfortunately this didn’t work either. We verified if the throttling was indeed the issue by counting the connections for a troublesome Outlook 2003 user and found that the error even occurred below the throttle limit. You can figure out the number of RPC connections by using:
Get-LogonStatistics –Identity <annoyed usser> | fl applicationid
Well we ran out of ideas (can you believe that?!) and so we called Microsoft Support to log a case. One of the goodies with our TechNet subscriptions via Software Assurance is that we have free support calls!
The feedback was not coming fast. We also did not get any requests for more information. Not good sign. And when we pinged ‘m for info they acknowledged the bug and told us that it would probably be fixed in Exchange 2010 SP1. They were not 100% certain that our issue was due to this bug. But we did not get any request for further information or diagnostics. They asked us to go to Exchange 2007 SP3. At the time we were on Exchange 2007 SP2 Roll Up 4. There was not really an indication this would fix anything. The users who had the issue were the ones who had been moved to Exchange 2010. But we went along, put in the overtime past office hours and we went to Exchange 2007 SP3. As expected this did not help at all.
Then finally advanced support came in to play, now that was a different ballgame. Lots of questions request for logs, network traces, executing tests both client side and server side related. The engineer was really engaged and was working hard on this. He has my thanks and it took some time to do all the testing and work trough the results.
We found out some interesting things. When a user with a mailbox on Exchange 2007 or 2010 opens his shared calendars using Outlook 2003 the list is different than what you see in OWA or using Outlook 2007 and Outlook 2010. This is due to changes in the way those shared calendars are accessed. I was not able to find out any more details on the subject but this could be due to the fact that Outlook 2003 by default used referenced MDB model when additional calendars/mailboxes were opened. This feature isn’t supported in Exchange 2010 and due to the underlying design server side changes outlook 2003 now establishes more connections than it did with previous exchange versions. I assume it was still supported in Exchange 2007.
With Exchange 2010 the combination of the throttling policy and the changes in how shared calendars are accessed and the fact they contain “persistence information” caused this issue. We created a new throttling policy and i was necessary to delete all shared calendars from outlook, close outlook, start outlook and add them again. Manually this is done one calendar at the time and I pretty tedious. At least you can speed up things by using outlook.exe /resetnavpane. This will delete all the shared calendars for you and saves a lot of time. It also resets the entire navigation pane so any other “issues” lingering around are thrown out as well.
In summary (this an adaption of the support case conclusions. The escalation engineer working on the case was a great guy and he really put in an effort).
Problem:
- When Outlook 2003 clients whose mailbox is on Exchange 2010 try to open additional calendars (on Exchange 2010 or on Exchange 2007) they get error popup "The connection to the Microsoft Exchange server in unavailable. Outlook must be online or connected to complete this action"
Observations:
- The popups might happen while opening any additional calendar , no specific pattern on occurrence of pop up message based on specific number of additional calendars opened or a specific additional calendar/calendars being opened.
- The issue didn’t happen when the mailboxes were on Exchange 2007, issue doesn’t happen with versions of outlook higher than Outlook 2003.
- All the concerned mailboxes are on Exchange 2010.
- There is an indication that mailboxes that existed in the organization since Exchange 2000 days face the problem. Mailboxes that were created since the introduction of Exchange 2007 and never had a mailbox prior to that version didn’t have the problem.
Causes:
- While the mailbox is on Exchange 2010, outlook 2003 will use Exchange 2010’s Address Book service to query the legacyDN of target shared mailboxes/calendars that needs to be opened and Exchange 2010 returns this as mungedDNs (not typical legacy exchange DNs) which forces outlook 2003 to think it’s a new server every time and establish more connections so eventually the default allowed maximum of 20 connections would exhaust.
- Outlook 2003 maintains hidden persistence messages containing various information about the shared mailboxes/calendars, such as the user name and the server where the mailbox resides. Thus it doesn’t have updated information and could very well reach a non-existing server as well.
Solutions:
- For the cause1, we set up a custom throttling policy with RCAMaxConcurrency set at 100 and applied this policy on mailboxes still using Outlook 2003. For the change to take effect immediately, we need to force AD replication, restart of throttling service, RPCClientAccess service on CAS and MBX servers
- For the cause2, we either need to remove those stale entries and re-add the shared calendar entries (need to sync the deletion with server, then close and reopen outlook prior to re-adding entries again) or run ‘outlook.exe /resetnavpane’ switch.
Most issues with Outlook 2003 are well documented in KB articles and on the Microsoft Exchange Team Blog (http://msexchangeteam.com/) but not this one and it hurt us when the users complaints came in. We did not catch this one in the labs prior to the transition. We can’t win ‘m all, I know that. But the most obvious solution, upgrade to Outlook 2007/2010, is often not an acceptable option for financial, timing, practical and compatibility reasons. A couple of weeks ago I saw a tweet by Jetze Mellema about what he read somewhere “Friends don’t let friends upgrade to Exchange 2010 when using Outlook 2003.” I wouldn’t go that far. But this shared calendar issue should have been documented by now and made public I think.