When a Lync 2013 client signs on, that's good enough for users. Users typically don't want to know how the sign-on process works; they just want the process to work correctly. But as a Lync administrator, you should take a look underneath its hood. Knowing how the sign-on process works can help you troubleshoot problems.

When a Lync client connects to a Front End server, it appears on the surface that either the hardware load balancing or DNS load balancing process allows the client to find the Front End server destination. However, if you look under the hood, you'll find that there's a file that allows the client to communicate directly with a specific Front End server—not just any Front End server but rather the Front End server on which the user is homed. This file is called the EndpointConfiguration.cache file. This mysterious file can help you troubleshoot problems with client connections. With that in mind, I'll answer some common questions concerning this file:

  • What is the EndpointConfiguration.cache file?
  • Where is the EndpointConfiguration.cache file located?
  • How do you use the EndpointConfiguration.cache file for troubleshooting?

What Is the EndpointConfiguration.cache File?

Contrary to popular belief, the EndpointConfiguration.cache file isn't new to Lync Server 2013. It's been around since Microsoft Office Communications Server (OCS) 2007 R2. The EndpointConfiguration.cache file resides on an end user's client machine and is leveraged each time the Lync client attempts to sign on to the Front End server. By looking at this file, the Lync client avoids the drawn out process of having to use DNS to lookup SRV records each time it connects to the pool.

Without the EndpointConfiguration.cache file, the normal Lync client sign-on process is as follows:

  1. Lyncdiscoverinternal.<domain>.com
  2. Lyncdiscover.<domain>.com
  3. _sipinternaltls._tcp.<domain>.com
  4. _sipinternal.tcp.<domain>.com
  5. Sipinternal.<domain>.com
  6. Sip.<domain>.com

When there isn't an EndpointConfiguration.cache file and a Lync user successfully signs on to his or her local client, Lync connects to a specific Front End server and caches the EndpointConfiguration.cache file to make the sign-on process faster in future logons. Once the EndpointConfiguration.cache file is present, the client follows this sign-on process:

  1. EndpointConfiguration.cache file
  2. Lyncdiscoverinternal.<domain>.com
  3. Lyncdiscover.<domain>.com
  4. _sipinternaltls._tcp.<domain>.com
  5. _sipinternal.tcp.<domain>.com
  6. Sipinternal.<domain>.com
  7. Sip.<domain>.com

As you can see, there's a new first step in which the client checks the EndpointConfiguration.cache file.

Where Is the EndpointConfiguration.cache File Located?

When a Lync user successfully signs on to his or her local client, the EndpointConfiguration.cache file is downloaded to the <sip_address@domain> folder on the user's local machine. On Microsoft's website, you'll see references to this folder being in the %LOCALAPPDATA%\Microsoft\Communicator directory on Windows 7 and Windows Vista and in the %USERPROFILE%\Local Settings\Application Data\Microsoft\Communicator directory on Windows XP. However, I found this folder located in my %LOCALAPPDATA%\Microsoft\Office\15\Lync directory, as Figure 1 shows.

Figure 1: Locating the EndpointConfiguration.cache File

After you find the EndpointConfiguration.cache file, you can use Notepad to open it. At first glance, the file appears to be cryptic. However, if you take a close look at the contents, you can see areas that pertain to the user's Session Initiation Protocol (SIP) alias, pool name, and Front End server, as Figure 2 shows.

Figure 2: Reviewing the Information in the EndpointConfiguration.cache File

The SIP alias (in this example, byrons@quadrantechnologies.com) is the user account that the person is using to log on to the Front End server. The pool name (in this case, Pool01.quadrantechnologies.com) is the Lync pool to which the user is registered. The Front End server (in this instance, FFE02.quadrantechnologies.com) is the Lync Front End server the user has listed as his or her primary register server.

The Lync client pays close attention to these three key pieces of information, especially the Front End server. For each logon going forward, the client will directly communicate with the specified Front End server.

How Do You Use the EndpointConfiguration.cache File for Troubleshooting?

When troubleshooting Lync connection problems with a particular pool or Front End server, you can delete the EndpointConfiguration.cache file. Deleting the file and signing on to the Lync client again creates a new file with updated information. (Keep in mind that when the EndpointConfiguration.cache file is deleted, the client goes through the normal sign-on process described earlier.) After the file has been re-created, you can check it to find out which Front End server the client is contacting and go from there, either troubleshooting sign-on problems with that particular Front End server or using that information to hone in on a certain Front End server in a pool that host many servers.

Priceless Information

Although the EndpointConfiguration.cache might not solve all of your Lync client sign-on problems, you can use it to quickly discover the particular Front End server with which a Lync client is directly communicating during the logon process. This information is priceless, especially when you're wondering which Front End server a user is really connecting to.