The Microsoft Support Team works around the clock to assist customers in troubleshooting issues with Lync Server. In each article in this new NextHop series, senior Microsoft Support engineers walk you through a real-life support case, giving an insider’s view into the systematic approach they use to troubleshoot the issue. These incidents are picked based on areas seeing top support volume.
You know the saying: “Give a man a fish and you feed him for today. Teach a man to fish and you feed him for a lifetime.” Well, that is our intention with this series: To help you solve your own issues within specific areas with the same prescriptive steps that Microsoft Support engineers use to troubleshoot the issue.
Today’s article, the second in the series, comes from our esteemed colleague, Mohamad Saleem. As a Senior Support Escalation Engineer, Mohamad currently works with the Lync Beta team testing and supporting customers on future releases of Lync products.
Previously, starting with Microsoft Live Communications Server 2003, Mohamad worked with customers and the product team on critical issues for all UC products, including identifying product improvements through deep product knowledge.
Author: Mohamad Saleem, Microsoft Senior Support Escalation Engineer
Publication date: June 21, 2012
Product version: Microsoft Lync Server 2010
The primary function of the Lync Address Book is to provide global address list information from Active Directory Domain Services to Microsoft Lync 2010 clients. The Address Book plays an important role in searching user contacts and their details, such as phone number, mobile number, title, and so on. This article covers some basics about Lync 2010 Address Book file creation and download, a typical issue scenario, and several troubleshooting techniques.
Part 1: Setting the Scenario
Let’s begin by reviewing a few Address Book basics.
Address Book Process
The Address Book process runs at a fixed (pre-configured) time each day or can be forced to do an immediate synchronization by using a Windows PowerShell command (Update-CSAddressbook). Lync Server 2010 maintains two sets of Address Book files: a standard-sized set and a reduced-sized set. Each set consists of a full Address Book, as well as a number of delta files. Clients, such as Lync 2010, access standard-sized full and delta Address Book files with the .lsabs file extension. Lync 2010 Phone Edition devices access the reduced-size address book files with the .dabs file extension.
Address Book Download
Active Lync clients update the Address Book every 24 hours by downloading a new delta file (GMT 00:00). If a client logs off (for example, a user shuts down his workstation), the client updates the address book as soon as the client logs in again, but only if the last connection was more than 24 hours ago. Depending on the number of days the client is inactive, the client selects the appropriate delta file, downloads it, and deploys it. If the client’s last logon and successful delta download was one day ago, then the "D-<Yesterday>-<Today>" delta file is downloaded (one day of deltas stored in one file). If the client has not logged on (or successfully downloaded the delta) for three days, then the "D-<3 days ago>-<Today>" delta file is downloaded (three days of deltas stored in one file).
Lync Client Address Book Search
The Lync client uses the web query or local galcontacts.db file to search the contacts. The preference can be set through the Lync client policy from the server. Galcontacts.db is the file created locally from the downloaded Address Book files. Figure 1 below shows the different clients and their access options.
Figure 1. Clients and their access options.
Now that we have reviewed a few Address Book basics, let’s dive into a specific issue scenario, namely, missing Lync 2010 contact call options.
Part 2: Issue Resolution
Let’s say that you decide to call a user on your Lync contact list. As usual, you select the contact and attempt to choose the desired call option. You expect the call options to show all available phone numbers for the contact. But instead, some of the call options are missing. What do you do?
The Lync client shows a contact’s number only if it is in E.164 format, formatted according to the rules on the normalization file located on the server, or the number format matches the Lync default normalization rules.
First, we check the phone number of the contact from the user’s Active Directory object. If the number is not in E164 format, we check the Lync normalization rules on the Lync server and convert the phone number to E.164 format. Then we continue checking on the client side.
Figure 2 below shows the various paths this checking process can take, depending on a number of key variables.
Figure 2. Address Book Troubleshooting sequence .
To verify the resolution, select a user who has a phone number configured in Active Directory. Add that user to the Lync contact list.
Now select the contact, and check the call options. You should see all phone numbers of that contact that are listed in Active Directory.
Part 3: Address Book Troubleshooting
Now let’s look at a few troubleshooting techniques that may assist you with Address Book issues.
If all users in the company experience Address Book issues, then server-side logs and events will help you track the issues.
Lync Server 2010 Logging Tool
You can use the Lync Server 2010 Logging Tool to check client requests to the Lync server and their responses.
To check client requests to the Lync server and their responses
1. Open a command prompt (either Command Prompt, Windows PowerShell, or Lync Server Management Shell).
2. Navigate to the folder where OCSLogger.exe is installed (by default, %ProgramFiles%\Common Files\Microsoft Lync Server 2010\Tracing).
3. Type OCSLogger.exe, and then press Enter.
4. On the Start menu, open the Run dialog box, type the full path and file name (by default, %ProgramFiles%\Common Files\Microsoft Lync Server 2010\Tracing\OCSLogger.exe), and then click OK.
Figure 3 below shows Office Communications Server Logger and Address Book-related components.
Figure 3. Office Communications Server Logger and Address Book-related components.
Along with Office Communications Server Logger logs, IIS logs can give you additional details about the Address Book request by the client. IIS logs are more useful if the client is configured with the Address Book Web Query (ABSWQ) only option.
For example, when the client connects and tries to contact the Address Book server for the Address Book file, you will see the below entry in the IIS logs. With this entry, you will be sure that the client is able to reach the server.
Get /abs/handler/<name>.lsabs – 443 sip:user@domain <Ip Address >
OC/ 4.0.7577.0+(Microsoft+Lync+2010) 200 0 0 47
Similarly, when the client uses ABWQS each time it makes a query, we see a record for a WebTicket. For example:
<Date> <Time> <Ip Address>
Post /groupexpansion/service.svc/WebTicket – 443-<Ip Address>
OC/ 4.0.7577.0+(Microsoft+Lync+2010) 200 0 0 47
Here are some of the events that can help you detect or resolve Address Book issues for Lync Server.
Figure 4 below shows User Replicator events, which can give you additional details. For example, if the User Replicator is not able to populate the user details to the Lync database, you will see Event 30013.
Figure 4. User Replicator server-side events.
Figure 5 below shows Address Book Service events that can help you. For example, if Lync Server is not able to access the Address Book Share location, you will see Event 21406 on the Lync Server.
Figure 5. Address Book Service server-side events.
Figure 6 below shows Address Book Web Query Service events. These events can help you determine if the Address Book Web Query Service is running correctly on the Lync server.
Figure 6. Address Book Web Query Service server-side events.
If only some users in the company experience Address Book issues, then client-side logs from the affected users will help you track the issue.
Figure 7 below shows client logging options, including client logs, location, and tools to view the collected logs.
Figure 7. Client logging options.
In this article, we reviewed the basics of the Lync 2010 Address Book and showed you how to resolve the issue of missing contact phone numbers. We also reviewed various server-side and client-side logging options, which will help you find and resolve Lync 2010 Address Book issues.
The information in this article shows you how Microsoft Support engineers systematically troubleshoot real-life support cases. It is our hope that following these same processes yourself will assist you in troubleshooting many of your own Address Book issues. If you do get stuck, however, the information you gathered will help Microsoft Support resolve your issue.
Lync Server Support
Lync Server Resources
- Lync Server 2010 Documentation Library
- DrRez blog
- NextHop blog
- Lync Server and Communications Server resources
We Want to Hear from You
Keywords: ABS, Address Book, GAL download, GAL Search, LyncMD, Lync Server 2010