Begin with Offline Address Book

Brief Introduction –

 

An offline address book (OAB) is a copy of a collection of address lists that has been downloaded so that a Microsoft Outlook user can access
the information it contains while disconnected from the server. Microsoft Exchange generates the new OAB files, compresses the files, and then places the files on a local share.

An address list is a collection of recipient and other Active Directory objects. Each address list can contain one or more types
of objects (for example, users, contacts, groups, public folders, conferencing,and other resources). You can use address lists to organize recipients and resources, making it easier to find the recipients and resources you want.
Address lists are updated dynamically. Therefore, when new recipients are added to your organization, they're automatically added to the appropriate address lists.

 

As shown in the following figure, client applications, such
as Microsoft Outlook, display the available address lists that Exchange
provides.

  

 

Global address list as displayed in Microsoft Office Outlook 2007

 

So The offline address book is a snapshot of the Active Directory service information that is available in the global address list. Therefore,
some information is available in the global address list that is not available in the offline address book. The offline address book does not contain the following items that are available in the global address list:

  • Custom properties in Active Directory that an administrator has

        added (for example, the Employee ID of each employee)

  • Organization hierarchy information
  • Group membership information

Outlook must be able to access the server to obtain this
information. Therefore, if you are in cached mode and if you are working online (that is, your connection status indicates“Connected”), Outlook uses both the offline address book and the global address list to provide a complete listing of user information. If you are in cached mode and if your connection status  shows either “Disconnected” or “Offline,”you can see only the information that is available in the offline address book.

 

KB Articles Understanding Offline Address Books

https://technet.microsoft.com/en-us/library/bb232155.aspx

Administering the offline address book in Outlook 2003 and Outlook 2007

https://support.microsoft.com/kb/841273

 

 

Offline Address Book Generation:

Components Involved in Offline Address book Generation :

 

Each of the Exchange Server and Active Directory components involved in generating and maintaining offline address books is described as
follows:

 

Microsoft Exchange System Attendant  

Responsible for generating the offline address book. The System Attendant calls Oabgen.dll. This is a MAPI application (referred to as
OABGen) that reads from Active Directory. On a server running Exchange Server 2003 SP2 or Later, the first time an offline address book is created, OABGen creates the OAB Version 2, OAB Version 3a, and OAB Version 4 folders.

 Every time OABGen runs, it performs several tasks:

  •  It creates the files for all offline address book versions.
  •  It compresses the files.
  •  It creates posts in the system folders for each version of the offline address that it is configured to generate.The offline address book files will be saved as attachments on the posts in the folders.It creates incremental offline address book files containing daily changes. The default setting is to generate an offline address book incremental file every morning at 05:00.

 

 

Microsoft Exchange Information Store  

Responsible for storing the offline address book system folders listed directly under the OFFLINE ADDRESS BOOK. Each time a
new offline address book is created, the corresponding offline address book system folders are created, including the containers, such as
EX:/o=<Organization Name>/ou=<Administrative Group>, and /o=<OrganizationName>/cn=addrlists/cn=oabs/cn=<name of Offline Address List> during nightly online maintenance.

 

 

Directory servers  

Active Directory servers are utilized in the offline address book generation. Offline address book configuration data is stored in the Configuration Naming Context partition in Active Directory, making it available to all domain controllers. In addition, global address list information is stored in global catalog servers.

 

Recipient Update Service (Exchange 2003 only)

although offline address book generation does not require the Recipient Update Service; address lists do require this component. The System Attendant calls the Rec4ipient Update Service, which in turn maintains the address list membership on recipients. If the address list is blank, the offline address book generation will fail.

KB Article Offline Address Book Technical Overviewhttps://technet.microsoft.com/en/us/library/bb124614(EXCHG.65).aspx

 

OAB Generation process:

The Offline Address Book Generation (OABGEN.DLL) is a MAPI application that reads from the Active Directory and creates Offline
Address Lists. OABGen.dll is invoked by the Microsoft Exchange System Attendant service (MAD.exe).

 

When the OAB Generation process is invoked by the Microsoft Exchange System Attendant, it is responsible for connecting to the
active directory, read data from the active directory, compiling, sorting, creating and publishing the OAB files to the public folder information store.

 

These files contain a representation of mail enabled objects that are in the Active Directory. These files are downloaded by
Microsoft Outlook clients, and uncompressed into individual oab files.

 

Once these oab files have been uncompressed the Microsoft Outlook clients will have a representation of Active Directory
objects when they are not able to communicate with the Active Directory.

 

For E2k3 Offline address lists are stored in two
locations

 

1. The Active Directory

2. The Microsoft Exchange Public Folder Information Store.

 

For E2k7/E2k10 Offline address lists can be stored in three
locations

 

1. The Active Directory

2. The Microsoft Exchange Public Folder Information
    Store.

3. File Structure \\MBX Server \ExchangeOAB\GUID

 

 

 

When an administrator creates an offline address list in the Active Directory via the ESM or EMC they are creating the placeholders objects in
the Active Directory. Once information store maintenance tasks run, the information store will create the respective folders

 

 

When an offline address list is generated the OAB Generation process, OABGen.dll will take that data and post it in to the OAB
system folders in the form of a message and attachments.

 

 

 

The versions of OAB that can be created by OABGen.dll
are as follows:

 

1. (OAB Version 2) ANSI Offline Address Book
This address book format that is used with both Microsoft Exchange 5.5 and
Microsoft Exchange 2000. Exchange 2003 also supports the ANSI Offline Address
Book. There are some known issues with the ANSI Offline Address Book,
especially with those Offline Address Books that have multiple sort locales.

 

2. (OAB Version 3a) Unicode Offline Address Book
This offline address book is new for Exchange 2003. This Offline Address Book
has additional information that helps Microsoft Outlook to reduce server Remote
Procedure Calls (RPC). Additionally, the Unicode Offline Address Book has new
features that are related to sorting rules for different language locales.
These features permit Outlook to use the correct sorting rule for the language
locale with the Offline Address Book.

 

3. (OAB Version 4) Unicode Offline Address
This offline address book started with Exchange 2003 with SP2 and later
versions . This Offline Address Book has additional functionality to help
reduce full OAB downloads.

 

 

Blog post : Overview of
the OABgen process

https://blogs.msdn.com/b/dgoldman/archive/2005/03/31/overview-of-the-oabgen-process.aspx

 

 

Offline Address Book Distribution Points

In previous versions of Microsoft Exchange the offline address books (OABs) were distributed by through the use public folders. Microsoft
Outlook clients can download the OAB from a system public folder by downloading the OAB message attachments. Because public folder servers will be optional component in Exchange 2007/2010 , a new distribution model has been introduced.
Below is a diagram that shows the interaction between the Active Directory, a Client Access Server, a Mailbox Server and the File Distribution Service.

 

As a replacement of using MAPI to download the offline address book files from a public folder information store, Outlook
clients will rely on Internet Information Services (IIS) and the BITS
(Background Intelligent Transfer Service) service for downloading the OAB
files.

 

 Troubleshooting Offline Address Book:

When troubleshooting offline Address Book issues we should
isolate two things that are usually confused.

 

1. Offline Address Book
    Distribution problems

2. Offline Address Book
    Generation problems

 

First:  

So let’s start with common issues that cause offline address book not to download
properly

 

1) if the distribution is through Public folders as in Exchange 2003 or if it is enabled in Exchange 2007/Exchange 2010.

 

a. Verify that OAB Container and files already exists on the Public folder database

 

 

 

b. Verify that the Public folder Database and offline address list properly assigned on the Mailbox store

2)  if the distribution is Web Based as in
Exchange 2007/Exchange 2010

 

a. Verify that the Outlook Client is Able to retrieve OAB Url Properly through Autodiscover service .

This can easily be tested through
(Test-EmailAutoConfiguration) from Outlook Client .

b. Verify that you have the file structure and OAB files on the distribution point ( CAS Server )

c. Verify the Authentication methods on the OAB virtual directory

Second:

Now let’s focus now on how to troubleshoot
Offline Address Book Generation problems

Please review these two posts on troubleshooting OAB
Generation problems.

 

How to troubleshoot the OAB Generation process

https://blogs.msdn.com/b/dgoldman/archive/2005/07/16/how-to-troubleshoot-the-oab-generation-process.aspx

 

How to work with Exchange 2007 / Exchange 2010 OAB Event Logging

https://blogs.msdn.com/b/dgoldman/archive/2006/08/26/725860.aspx

 

 

Now let’s put all this together in one big scenario


 

Let’s assume that we have two sites London and Sao Paulo,
now how the OAB is generated and retrieved by users in each site.

 

For this scenario the OAB Generation server is one of the
E2k7/E2k10 MBX servers in London site.

 

For London site:

 

1) The OAB update process runs every day at 5:00 AM by default

OAB can be also be invoked by the Admin through the EMC or EMS through
the cmdlet Update-OfflineAddressList

 

2) The Generated OAB files ‘ll be placed in two locations on the MBX server since we have enabled the option
to distribute to both Public folders and Web-based

 

File System

 

 

 Public folders

 

 

3) By Default MsExchange File Distribution service on CAS keeps polling every 480 minutes, once it finds a
new version of OAB files on the MBX it ‘ll copy it from MBX to CAS and keeps it ready for Outlook users to retrieve .

 

4) Now When an Outlook Client in London site start it‘ll issue a request to retrieve the OAB Url using Autodiscover .

5) Once the Url is retrieved,
the outlook‘ll connect to that Url and retrieve the OAB files using BITS .

 

For Sao Paulo Site :

 

1) Since the OAB Generation server is E2k7/E2k10,
Distribution mechanism selected should have 
Public folders distribution in Addition to Web-Based to support Legacy
Exchange servers in the Environment .

 

 

2) After the OAB files are generated on the MBX server it is placed on the public folder database on that
server.

 

3) Public folder replication should be allowed between the servers to have the OAB files transferred to the
Legacy Exchange Public folder DB .

 

4) Now the Outlook Users in Sao Paulo site who have their Mailbox on Legacy Exchange server , should be
able to connect and retrieve the OAB files by connecting to their own PF stores