Tutorial : Free/Busy data - Series # 1

Publishing Free/Busy data:

Free/busy data is published information that contains a user's personal availability data based on the user's schedule. Microsoft Exchange Server uses the information extensively when users schedule meetings.

  • Exchange Server 2003 stores free/busy information in a dedicated public folder that is named SCHEDULE+ FREE BUSY. This folder contains a separate subfolder for each administrative group in your Exchange organization. When a user publishes free/busy data, Exchange Server 2003 posts the information in a message in the appropriate free/busy subfolder. The free/busy folders are system folders and function in a manner that is similar to offline address book folders.
  • Exchange Server 2007 uses the availability service.

Free/Busy data & different versions of Outlook and Exchange Server :

  • The process of publishing free/busy data from the user's client application to the appropriate free/busy folder depends in part on the client that the user has.
  • Outlook and other MAPI-based clients function somewhat differently in this respect from Web-based clients such as Microsoft Office Outlook Web Access for Exchange Server 2003 and Microsoft Outlook Mobile Access.
  • The Availability service for Microsoft Exchange Server 2007 provides calendar information for your users. This information is known as free/busy information.

How Outlook publishes free/busy data?

By default, Outlook publishes the free/busy data for a user one time every 15 minutes, and again when Outlook shuts down. When publishing, Outlook updates the entire free/busy message instead of just adding changes to the existing message. The message includes free/busy data that ranges from the current month to two months in the future.

How to customize with Outlook?

Outlook users can customize the free/busy settings, including the following:

    • Publishing interval, which can be as short as one minute.
    • Number of months in the future to publish, which can be as long as 36 months.

Outlook 2007 with different Exchange Servers:

As we know that Microsoft Office Outlook 2007 works well with a variety of e-mail servers, and you can take advantage of an even richer feature set by using Outlook with the latest version of Microsoft Exchange Server. Some features of Office Outlook 2007 require or work better with Microsoft Exchange Server 2003 or later.

  • Free/Busy information is always up-to-date for users with Exchange 2007 Availability service. But it’s not the case with Exchange 2003.
  • Tentative calendar booking is managed on the Exchange Server. Users do not need to run Outlook for others to see their Free/Busy status. This feature is only available in Exchange Server 2007, not with Exchange Server 2003.

MadFB, Autodiscover & Outlook clients:

  • The Autodiscover service provides information for the Availability service by locating and providing the external and internal URLs for the Outlook 2007 client.
  • If your Microsoft Office Outlook 2007 users cannot view calendar information for other Outlook 2007 users in your Exchange 2007 environment, the problem may involve a failure in either the Autodiscover service or the Availability service.
  • Microsoft Entourage for the Macintosh also relies on this MadFB(MSExchangeFBPublish) process to publish free/busy data.
  • Outlook Web Access and Outlook Mobile Access do not publish free/busy data directly to the public folder store.
  • Instead, they rely on a free/busy publishing agent that is named MadFB (also known as MSExchangeFBPublish), which runs as part of the Microsoft Exchange System Attendant service (MSExchangeSA).
  • MadFB has two functions.
    • It publishes free/busy messages for Outlook Web Access and Outlook Mobile Access
    • It deletes duplicate free/busy messages

Note: Because most of the processing is handled by the Exchange servers instead of the client, using Outlook Web Access and Outlook Mobile Access can provide performance and reliability advantages over Outlook.

There are various other issues happens with respect to Free/Busy data when we do with programming as well as with the Outlook clients. I tried to catch up some of them and summarize for your view….

1. Troubleshooting the Free/Busy information for Outlook 2007 by reading thistechnet article or you can check it through the error codes available. Some of them are,

  • 0x80072EE7 – ERROR_INTERNET_NAME_NOT_RESOLVED - This error is usually caused by a missing host record for the Autodiscover service in the Domain Naming service.
  • 0X80072F17 – ERROR_INTERNET_SEC_CERT_ERRORS - This error is usually caused by an incorrect certificate configuration on the Exchange 2007 computer that has the Client Access server role installed.
  • 0X80072EFD – ERROR_INTERNET_CANNOT_CONNECT - This error is usually caused by issues that are related to Domain Naming service.
  • 0X800C820A – E_AC_NO_SUPPORTED_SCHEMES - This error is usually caused by incorrect security settings in Outlook 2007.

2. If you use Exchange Server 2007, you can determine whether the Availability service is not functioning properly or not:
(i) using Event log (ii) using Test-OutlookWebServices cmdlet.

Using Event log:

When we try to review the application event log on the Exchange 2007 Client Access server and check for events that are generated by the Availability service. There are common events that are associated with the availability service as described. Some of them are,

4001 The Availability service could not discover an Availability service in the remote forest   If you see this event, verify that the Autodiscover service in the remote forest is functioning correctly.

4003 PublicFolderRequestFailed   This event usually indicates a failure to look up free/busy information for legacy mailboxes. Typically, this information comes from public folders. This error might be caused if the public folders are configured incorrectly or if the Availability service has not been configured to look up public folders for the legacy mailboxes. The description of this event will usually include the URL to the target public folder and one of the following HTTP errors:

  • 401   If you see this HTTP error, Integrated Windows authentication is probably disabled on the /public virtual directory.
  • 403   If you see this HTTP error, the Client Access server may be offline or it does not contain a replica. This might occur if Secure Sockets Layer (SSL) is not enabled on the /public virtual directory.
  • 404   This HTTP error can occur if the /public virtual directory could not be found.

4005 Could not find information in Active Directory to allow cross-forest requests   If you see this event, you must configure the Availability service across forests.

4011 Cross-forestRequestFailed   This usually indicates a failure to locate an AvailabilityAddressSpace object that is required to proxy the Availability service request to a different forest.

In this case, we will see how to find and troubleshoot the issue using the Event log. A 4003 event indicates a failure to look up free/busy information for legacy mailboxes. Typically, this information comes from public folders. The following is an example of a 4003 event.

Event ID : 4003

Raw Event ID : 4003

Category : Availability Service

Source : MSExchange Availability

Type : Error

Message : Process 4664[w3wp.exe:/LM/W3SVC/1/ROOT/EWS-1-128114978363374212]: Microsoft.Exchange.InfoWorker.Common.Availability.PublicFolderRequest failed. The exception returned is Microsoft.Exchange.InfoWorker.Common.Availability.PublicFolderRequestProcessingException

This may be due to Exchange 2007 users are unable to see the free/busy information for users whose mailboxes reside on the Exchange 2003 server. The free/busy information displays as hash marks for these users in the Outlook Scheduling Assistant page.

Using Test-OutlookWebServices cmdlet:

When you try to test through cmdlet test the service using, 
                        Test-OutlookWebServices -id:user1@contoso.com -TargetAddress: user2@contoso.com

  • The Test-OutlookWebServices cmdlet uses a specified e-mail address to verify that the Outlook provider is configured correctly.
  • The optional MonitoringLogFile parameter indicates whether the results are written to the log file for Microsoft Operations Manager (MOM).
  • Using the Test-OutlookWebServices cmdlet to verify the Autodiscover service settings for Microsoft Outlook on a computer that is running Microsoft Exchange Server 2007 that has the Client Access server role installed.
  • This will provide the error details about the Availability service.

For example, as specified in the following article and code example verifies the service information that is returned to the Outlook 2007 client from the Autodiscover service for a user who is named monika@contoso.com. The code example verifies information for the following services:

  • Availability service
  • Outlook Anywhere
  • Offline Address Book
  • Unified Messaging
 test-OutlookWebServices -identity:monika@contoso.com

This code example tests for a connection to each service. This example also submits a request to the Availability service for the user monika@contoso.com to determine whether the user's free/busy information is being returned correctly from the Client Access server to the Outlook 2007 client.

3. Free/Busy Options Not Unique to Each Profile:

On a computer that contains multiple profiles, the Free/Busy options will be the same for every profile. This information is defined in the KB article. The Free/Busy information is stored on a per-user basis rather than a per-profile basis. If the user who is logged on to the computer defines multiple profiles, each profile will contain the same Free/Busy information.

To set the calendar Free/Busy information, follow these steps:

1. On the Tools menu, click Options.

2. On the Preferences tab, click Calendar Options.

3. Click Free/Busy Options. In the Free/Busy Options dialog box you can set the following items:

• How many months of Free/Busy information to publish.

• How frequently the information should be updated.

• Whether the information should be published on the Internet.

• The Internet URL address for storing and searching for the information.

4. Conditions that affect the display of Free/Busy time in Outlook:

After you make an appointment in your active Calendar in Microsoft Outlook, other people may not immediately see that time as busy. This condition may also occur when someone attempts to invite you to a meeting.

There are three possible causes for this behavior:

• By default, Outlook updates your Free/Busy time every 15 minutes. If the update is not complete, others will not see your appointment as busy time.

• Outlook publishes your Free/Busy time for only the next two months. If your appointment is beyond the published limit, others will not see your appointment as busy time.

• If the appointment Show Time As property is set to Free, others will not see your appointment as busy time.

The unavailability of Free/Busy information appears as black hatched lines in the Attendee Availability dialog box.


  • If the cause is how often Outlook updates Free/Busy time, follow these steps as described in the support KB.
  • If the cause is how far ahead Outlook publishes Free/Busy time, follow these steps as described in the support KB
  • If the cause is that the Appointment Show Time As property is not set to Free, follow these steps as described in the support KB

5. Legacy free/busy information no longer appears for appointments that are booked against a mailbox in Exchange Server 2007:

In a Microsoft Exchange Server 2007 environment, you configure a room mailbox to have the AllBookInPolicy attribute set to "false." When you do this, the legacy free/busy information no longer appears for the appointments that are booked against the mailbox. For example, when you examine the free/busy information by using the Scheduling Assistant, the room mailbox shows a status of No Information.

This issue occurs because the default permission is changed to "None" when the AllBookInPolicy attribute is set to "false." This situation prevents the Exchange System Attendant from publishing the legacy free/busy information. By default, when any mailbox is created, the free/busy permissions are set as follows:

Default: Read: Free/Busy time
Anonymous: None

This condition is also true for resource mailboxes.

To go through the following article to resolve this problem in Exchange Server 2007 Service Pack 1.

6. Resolving problems in Outlook for delegated Exchange Server 2003 mailbox users :

As stated above, we need to perform this procedure if delegated users are receiving error messages such as "Unable to open the free/busy message" when they try to modify the mailbox owner's calendar.

  1. Request that all delegate users and the mailbox owner shut down Outlook.

  2. Request that the mailbox owner start Outlook with the /cleanfreebusy switch. The mailbox owner can do this from the command prompt by typing: outlook/cleanfreebusy

    Outlook will re-create the LocalFreeBusy message and synchronize the other mailbox folders to use it.

  3. Resume using Outlook. Delegates should now be able to use the mailbox as expected.

7. Cleaning Mailbox stores using MadFB:

As stated above, and in the over time, the free/busy folders may accumulate duplicate free/busy messages. In addition, Outlook and the free/busy folders may become unsynchronized, especially for mailboxes that have multiple delegate users. This section provides information about how Exchange Server 2003 automatically maintains free/busy data according to a configurable schedule, and about how you can repair synchronization problems.

The cleanup process includes:

  • Deleting duplicate free/busy data messages.
    These are messages with an appended –x in the URL, where x is the number of the duplicate message. For each set of duplicates, MadFB keeps the oldest message and deletes the rest.
  • Repairing the URLs of free/busy messages.
    The URL of a free/busy message must be in canonical format, ending with subject(based on legacyExchangeDN).EML.
    Messages that are duplicates of existing free/busy messages have non-canonical URLs because of the appended -x. Messages that have been upgraded or replicated from Microsoft Exchange Server version 5.5 have URLs that contain GUIDs. These messages are also considered non-canonical.

8. Calendar support in an Exchange and Non-exchange environment:

As stated in the following article regarding the calendar support in an Exchange and Non-exchange environment (for ex. using the Microsoft Exchange Connector for Lotus Notes and the Microsoft Exchange Connector for Novell GroupWise) perform several functions to support calendaring capabilities between the foreign system and Exchange Server 2003:

  • Replicate directory information so that both Exchange users and foreign system users have access to calendaring data.
  • Convert meeting request items from Exchange format to the foreign format and from the foreign format to the Exchange format.
  • Detect Exchange Server 2003 free/busy requests and look up the appropriate free/busy data in the foreign system. This free/busy lookup is bidirectional.