Microsoft Auto-Accept Agent Accepts Anything!

Microsoft has an Auto-Accept Agent (or AAA) that can be used on Exchange 2003 servers to process incoming meeting requests to resource mailboxes. Simply send the resource an invitation and within 10-30 seconds, the room will respond back with an acceptance or denial of your request.

For the last 2 months we've been using this script to process the 61 various resources in the environment (conference rooms, laptops and LCD projectors). Combine that with my own home-brewed calendar export script, the company has a complete resource tool for virtually all items in the environment. Unfortunately over the last few weeks, we've had new issues.

Corrupted CDO Free/Busy Cache: First we had users reporting getting declined responses when the calendar shown free, and canceled meetings were still showing as busy. Why? My best results were pulled from a technical article (kb886760). Now, if you read this article VERY closely, pay attention to:

Hotfix installation information
After users apply this hotfix, they may have to wait until the end of the month before they stop experiencing the symptoms that are described in the ""Symptoms"" section. This is because the EXCDO component keeps free/busy information cached until the last day of the month. The free/busy cache is rebuilt on the first day of the month.

GREAT!! So end-users will need to wait until the end of the month to view the correct free/busy information on our resource calendars as the CDO free/busy cache is only completely rebuilt once a month. There has to be a better way...

After talking with Microsoft PS Support, I got this answer..

  1. Set the CalendarRecovery registry value to 1 on the Exchange 2003 computer. To do this, follow these steps:
    • Click Start, click Run, type regedit in the Open box, and then click OK.
    • Locate and then click the following registry subkey:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EXCDO\Parameters

    • On the Edit menu, click Add Key, type EXCDO, and then press ENTER.
    • On the Edit menu, click Add Key, type Parameters, and then press ENTER.
    • On the Edit menu, point to New, click DWORD Value, type CalendarRecovery, and then press ENTER.
    • Double-click CalendarRecovery, type 1 in the Value data box, click Decimal, and then click OK.
    • Quit Registry Editor.
  2. Start Outlook on a client computer and log on by using the resource mailbox profile.
  3. Right-click the Calendar folder, and then click Properties.
  4. Click the General tab, type CleanupExpansionCachesInTheCalendarFolder in the Description box, and then click OK.

Notes

  • If the Description box already includes CleanupExpansionCachesInTheCalendarFolder, clear the Description box, click Apply, type CleanupExpansionCachesInTheCalendarFolder in the Description box, and then click OK.
  • After you complete steps 1 through 4, you may have to run Outlook with the /CleanFreeBusy command-line switch. This will update the free/busy information. To do this, click Start, click Run, type Outlook.exe /cleanfreebusy , and then click OK.

I needed to touch every mailbox, so it was (going to be) quite a tedious task of creating a profile and opening each mailbox. Luckily, I do have a script also for that.

Alright, that problem solved. On to the next one..

Faulty Replication: At the same time the free/busy information was not replicating, users were reporting other issues with the calendars. This fix was applied 891509.

Unplanned for behavior: OK, patched and meetings are processing. Now meetings are booking, and the calendars look really good. What do we find out? That the, wait, really, you won't believe it. Meeting requests booked on the calendar as FREE, are actually booked on the calendar as FREE. Hu? What? Users can successfully book the conference room, get an acceptance back from the room and still be booked over by other requesters who book the room as "tentative", "BUSY" or "Out of Office".

According to our Microsoft TAM, this functionality is by design.

A customer requested functionality to send a 'free' request to resources to get a accepted/denied response back, then the end-user would use other means to officially book the room.

So, now we are in the uncomfortable place of telling our users that the conference rooms will accept your meeting request marked "FREE" and very likely you will get booked over. (Don't change it to FREE later on either, it has the same effect.) I still wish we went with SWINC's product Exchange Resource Manager or ERM as it was fully configurable. it would have accepted those "FREE" requests and converted them to "BUSY" with a simple click of a check box.

So much for saving $$!