One of the real benefits of Microsoft Lync Server is the seamless manner in which you can access the updated address book from any device.
The promise of a fully functional unified communications solution is to seamlessly combine all modes of communication and operation. A user has to be able to find, store and use their contact information stored in their address book, regardless of how they have connected. Lync Server 2010 is no exception.
Lync Server 2010 includes several improvements to its address book functionality. Taken together, these improvements provide your users with all the required address book information. When you first install Lync Server 2010, it creates the Address Book Service (ABS), which provides your Lync clients with:
ABS and the Address Book Web Query (ABWQ) service all client types in Lync Server 2010. It’s important to note that although ABS and ABWQ perform similar functions, they do so in different ways.
ABS is responsible for contacting ADDS to collect and update information stored in the ABS database. ABS maintains the information collected from ADDS in either a full download of contact information, delta files or compact delta files. ABS maintains the information in three types of extracts. This ensures that a new client receives the full download, and then either delta files or compact delta files based on the client’s ongoing needs.
The manner in which contacts are stored in the ABS database files and the ABWQ allows for distribution list expansion. In terms of ABS database files, a contact is associated with groups and members of groups. Group information is made available to clients through updated ABS files. On the other hand, ABWQ directly queries ADDS to expand its distribution lists.
When dealing with telephony, phone number normalization—converting phone numbers into a usable format—is essential. Because ADDS doesn’t normalize phone numbers or mandate the format used, Lync Server 2010 has to perform the normalization.
ABS is responsible for normalizing phone numbers. ABS does so when it reads information from ADDS. Then it stores the phone numbers in the address book files in the normalized format.
ABS and ABWQ usage varies based on the client used and availability (see Figure 1).
Figure 1 Lync Server 2010 includes backward compatibility for Office Communications Server (OCS) clients.
In-band provisioning also determines whether ABS is available. You can define the in-band provisioning setting AbsUsage as one of three values:
For more details on in-band provisioning, please see my May 2011 article, “Microsoft Lync Server 2010: Provisioning Mechanisms.”
When you use Lync Server 2010 Standard Edition, ABS runs on a Standard Edition server. When using Lync Enterprise Edition, ABS runs on a front-end server in the Enterprise Edition Pool. Lync manages a failed ABS in an Enterprise Edition Front-End Pool by bringing the service online on an alternate front-end server.
When you first install Lync, it defines default address book configuration settings at the Global level. You can modify these settings, however. You can also define address book configuration at the site level. This will apply to all Lync Servers within the given site. You can use Windows PowerShell cmdlets to work with ABS (see Figure 2).
Figure 2 You can use these Windows PowerShell cmdlets with ABS.
Lync Server 2010 makes certain information is visible in contact cards by default. If the default information is insufficient, you can customize it with the ABS Configuration Tool from the Microsoft Lync Server 2010 Resource Kit Tools. The ABS Configuration Tool also lets you restore the default ABS settings.
To illustrate the use of the ABS Configuration Tool, let’s work through the steps to customize ABS such that the Title attribute isn’t stored on contact cards (see Figure 3).
Figure 3 A contact card before ABS customization.
Figure 5 The successful change message from the ABS Configuration Tool.
You’ll need to wait until the Lync Client refreshes its address book to see the changes take effect (see Figure 6). However, you can also force the address book refresh.
Figure 6 The new contact card after ABS customization.
After the address book has refreshed, you’ll notice that the Title is no longer visible for the same contact in the Lync client.
By default, the Lync client checks for changes to the Global Address List (GAL) between one and 60 minutes. If you need to force an address book refresh on the Lync Client, follow this process. You’ll have to add a registry on the computer where the Lync Client is installed, and delete local contact files.
The first thing to do is force the Lync Client to immediately download the address book. To do so, you’ll need a registry key on the computer upon which you want to force the address book refresh. You can use the following command to create the registry key (you’ll have to run this with local Administrator credentials):
Next, you’ll need to delete the previously downloaded local contact files. Follow these steps on the computer where you want to force the address book refresh:
Exit the Lync client if it’s running. Manually delete the GalContacts.db and GalContacts.db.idx files.
The location of these files is dependent on the client OS. For Windows XP, it will be at %userprofile%\Local Settings\Application Data\Microsoft\Communicator\sip_username@domain.
For Windows Vista and Windows 7, the location will be %userprofile%\AppData\Local\Microsoft\Communicator\sip_username@domain. In both cases, you’ll need to replace the sip_username@domain with the SIP address of the user in question. For example, to do so for a user that has a SIP address of firstname.lastname@example.org, you would replace the sip_username@domain with email@example.com.
Restart the Lync client. At this point, it will have an up-to-date copy of the address book. It will match whatever ABS has. There’s an interval in which the Address Book server receives its information from ADDS. If you’ve recently changed information in ADDS, and can’t wait for the Address Book server to synchronize, you can use the Update-CsAddressBookcmdlet to force the refresh. Then you’ll have the latest, most-up-to-date address book possible.
John Policelli (MVP for Directory Services) is a solutions-focused IT consultant with Avanade Canada. He has designed and implemented dozens of complex directory service, collaboration, Web, networking and enterprise security solutions, and has spent years focused on identity and access management. He’s also an author, technical reviewer and SME for more than 75 training, certification and technical white paper projects