What does Exchange 2007 Availability Service do?
Published Oct 23 2006 02:34 PM 27.1K Views

The Exchange Server 2007 Availability service improves free/busy data access for information workers by providing secure, consistent, and up-to-date free/busy data to clients that are using Availability Web Service (like Microsoft Office Outlook 2007 or Exchange 2007 Outlook Web Access). Outlook 2007 uses the Autodiscover service to obtain the URL of the Availability service.

But what is the Availability Service?

Unlike previous versions of Exchange, free/busy data does not have to be stored in public folders; thus we no longer have to deal with replication or latency. Instead we will access the target mailbox’s free/busy data directly from the calendar (via the Availability service).

If you couple that with the new Calendar Assistant functionality in Exchange 2007 (namely the ability for Exchange to place meeting requests in a tentative state for mailboxes without the need for the end user to triage the meeting request, and the ability to update meeting requests when certain information changes (location, attendees, meeting notes)), the Availability service provides a methodology by which end users will be able to see free/busy data in real-time that is always up to date.

The Availability Service is a web service that is deployed on the Client Access Server role. Outlook 2007 clients discover the Availability service via Autodiscover. The Availability Service is used by the Outlook 2007 and Outlook Web Access Scheduling Assistant to

  • Retrieve live Free/Busy information for E2K7 mailboxes
  • Retrieve live Free/Busy from other E2K7 forests
  • Retrieve published Free/Busy from Public Folders (for legacy mailboxes or for mailboxes using legacy Outlook clients)
  • View attendee working hours
  • Show meeting time suggestions

As mentioned above, in order for the Availability Service to provide a seamless end user experience, it must be able to interact with legacy systems. To that end, the Availability Service can retrieve data from free/busy public folder stores. Now you may ask why would there be public folder free/busy data? Well, remember that only Outlook 2007 utilizes the Availability service. Outlook 2003 clients and earlier clients still use Public Folders. In addition, mailboxes stored on legacy Exchange servers will also still publish free/busy data to a public store. During server and client coexistence, we need to ensure that all parties can obtain free/busy data regardless of server version or client version.

Note: In order to maintain backwards compatibility, Exchange 2007 mailboxes using Outlook 2007 clients will utilize the Availability service for retrieving data, but also publish to a free/busy public store, since legacy clients also need to retrieve free/busy data.

This table explains what method is used for free/busy in the different topologies:

Client

Logged in Mailbox

Target Mailbox

Free/Busy Retrieval

Outlook 2007

Exchange 2007

Exchange 2007

The availability service reads free/busy information from the target mailbox.

Outlook 2007

Exchange 2007

Exchange 2003

The availability service makes HTTP connections to /public virtual directory of Exchange 2003 mailbox.

Outlook 2003

Exchange 2007

Exchange 2007

Free/busy information will be published in local public folders.

Outlook 2003

Exchange 2007

Exchange 2003

Free/busy information will be published in local public folders.

Outlook Web Access 2007

Exchange 2007

Exchange 2007

OWA 2007 calls the availability service API which reads free/busy information from the target mailbox.

Outlook Web Access 2007

Exchange 2007

Exchange 2003

OWA 2007 calls the availability service API which makes an HTTP connection to the /public virtual directory of Exchange 2003 mailbox.

Any

Exchange 2003

Exchange 2007

Free/busy information will be published in local public folders.

So how does this work? 

1. Well the client will make a connection to the CAS server (if Outlook 2007, this will be determined via the AutoDiscover configuration) using the Availability URL. 

2. If the target mailbox is in another AD site:

a. Then the CAS server will make an HTTPS connection to the target CAS server.

b. The target CAS server will obtain the F/B information by communicating over MAPI to the mailbox server and then send it back to the source CAS server.  

3. If the target mailbox is in the same AD site:

a. Then the CAS server will communicate to the mailbox server (via MAPI) and obtain the F/B information. 

4. The source CAS server will then provide the data back to the Outlook 2007 / Outlook Web Access 2007 client.

In addition, the Availability Web Service enables the user to share their calendar information in more granular ways. For each target person/group, the user can choose one of four levels of sharing:

  1. Share nothing
  2. Share their Free-Busy information
  3. Share a little more detail including subject, location and timing
  4. Full calendar details.

The Availability Service & Cross-Forest Topologies 

In previous generations of Exchange, allowing free/busy access between Exchange organizations was an arduous process involving a directory synchronization process and the use of an Exchange Support Tool, Inter-organization Replication Tool (IORepl). IORepl is a MAPI-based application that allows for the replication of public folder data between two organizations. For more information on IORepl and its intricacies, please see http://www.microsoft.com/downloads/info.aspx?na=22&p=2&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=....

With Exchange 2007, organizations can use the Availability Service to provide access to free/busy data without the need of data synchronization tool (however, you still need to have directory synchronization for address list related lookups).

Cross-forest availability can be used across trusted or untrusted forests. The granularity of free/busy information is determined by whether cross-forest free/busy has been configured as per-user or organization wide service.  Per-user free/busy is possible only in a trusted cross-forest topology and makes it possible for the availability service to make cross-forest requests on behalf of a particular user. This makes it possible for a user in a remote forest to grant detailed free/busy information to a cross-forest user.

However, with organization wide free/busy, the availability service can make cross-forest requests only on behalf of a particular organization.  With organization wide free/busy, a user’s default free/busy information is returned and it is not possible to control the granularity of free/busy information returned to users in the other forest.

So does this mean I can have multiple forests, not implement trusts, and not use IORepl and still get free/busy data? To answer that, let’s look at two scenarios:

  1. Source and Target forests are using Exchange 2007
  2. Source Forest is Exchange 2007 and Target forest is Exchange 2003

For #1, you could do this either via a trust or no trust.  When you have a trust you can do per-user lookups which can restrict the type of data returned (e.g. if target mailbox restricted F/B access for source mailbox, then restricted data is returned).  If there isn’t a trust, you define an account that can retrieve the data; the data returned is the default F/B data and doesn’t provide any granularity in terms of permission access).

For #2, you need to configure IORepl to replicate the data to the Exchange 2007 forest public folder hierarchy.  You then configure the availability service to retrieve the target organization’s data from the public store.

All of this really assumes the clients are utilizing Outlook 2007 or OWA 2007 as they are the only clients that can utilize the Availability service.  If the users are not going to be using Outlook 2007 then you’d be better off using IORepl. 

- Ross Smith IV

13 Comments
Version history
Last update:
‎Jul 01 2019 03:19 PM
Updated by: