Posted by: rcosic | 19/09/2012

Lync Client 2010 logging options

Hello everyone,

this time I will write about options you have to diagnose and fix the errors on the client machine using Lync Client 2010. I have stumbled upon some errors on the customer’s machine lately, and, without proper way to audit it, there is no way you can find out what’s going on.

Firstly, there is an option to turn on Lync client logging inside MS Lync client application, and you should definitely enable it:

When you log off and log in again to Lync, it will start generating logging information inside your %userprofile%logging folder on your local machine. The logs are named like: Communicator-uccapi-0.uccapilog and they can be viewable by using some of the Lync Server 2010 logging tools (explained later).

Another option is to enable Collect logs feature in Lync Server 2010. You can do this by using Microsoft Lync Management Shell by typing the following lines:

$policy = Get-CsClientPolicy -Identity global
$logButton = New-CsClientPolicyEntry -Name EnableDiagnosticsLogsCollection -Value 1
Set-CsClientPolicy -Instance $policy

By doing this, you actually append a new option (to enable collecting the logs) to the global client policy (you can, of course, attach it to your specific policy to a specific user). After this is done and user is signed out and signed in again, you’ll be surprised to see new button on the bottom of the Lync Client!

When you have a certain problem, for instance, a call cannot be established or terminated without a reason, you can click this “Collect Logs” button and make Lync Server specialists a better day providing a prepared log package containing the following:

  • Lync 2010 logs (contact list, info about previous conversations, etc),
  • Audio parameters (speech signal level, noise level),
  • Network conditions,
  • Device setup,
  • OS version and info,
  • Running application (e.g. MS Outlook, IE, etc)

Additionally, you can choose to make a 30-second recording of your recent call (!), and a screenshot of your desktop. Make note that if you choose to record audio, two files will be generated: a recording of the local talker (MEDIAMETRICS_mic.wav) and a recording of the remote speaker (MEDIAMETRICS_spk.wav) – down-sampled to hide authentic voice. You can analyse the audio streams by using Audio Extractor, which is, as with other handy tools, part of Microsoft Lync Server 2010 Resource Kit Tools.

More about it then…

Microsoft Lync Server 2010 Resource Kit Tools are handy tools not just for Lync administrators, but also developers on the client, since although intended to use on a Lync server, they can be used on a client machine. You can download it freely from microsoft support site (OCSResKit.msi). These tools are included in the package:

  • ABSConfig (for Address Book service configuration),
  • Audio Extractor (for investigating audio, video and connectivity with Collect Logs feature),
  • Bandwidth Policy Service Monitor
  • Bandwidth Utilization Analyzer
  • Call Parkometer (for examining Call Park Server orbit database),
  • DBAnalyze (for analyzing Lync Server 2010 database),
  • Error Log Replayer
  • Error String Display
  • LCSSync (for multi-forest environment)
  • MSTurnPing (checking Lync Server A/V Edge and Authentication services)
  • Network Configuration Viewer (for viewing call admition control network topology)
  • Response Group Agent Live
  • Response Group Export-Import
  • SEFAUtil (for configuring delegate-ringing and call-forwarding settings)
  • Snooper (multi-purpose debugging tool – great stuff!)
  • TopologyValidator
  • Watson Support Tool for Lync Phone Edition

I’ll not get into any of these, except for Snooper. This is really great tool which might come handy also for checking client logs. You just install the Lync Server 2010 Resource Kit on your dev machine, and you can use it for parsing both server and client trace log files. It also reads protocol messages (SIP, HTTP), call details and stored procedure execution reports and so on:

For instance, load the generated log file by Collect Logs or by turning Lync client logging on the client machine, and you can examine it easily. You have two tabs for view traces and messages, and a message preview on the right side with all message details (time stamp, direction, from, to, and start line of message). If you, for example, right- click on one message and choose “Find related”, view automatically filters to display only messages with this Call-ID (callid:#current#). You can also choose “Go To Nearest Entry in Trace Viewer” and switch to the Traces tab automatically.

Besides this, from the Reports menu, you can choose one of the additional reports:

  • Error Analysis (only if you can connect to Lync Monitoring Server from there),
  • Conferencing and presence (useful reports about user, conference, MCU health and diagnostics, also per user)
  • Stored procedure error analysis (also connection to the Lync server database must be provided).

I hope this will help you in tracking down the errors you find on the Lync clients.

Kind regards,



  1. How to remowe this entry

    $policy = Get-CsClientPolicy -Identity global

    Set-CsClientPolicy -Instance $policy


    Set-CsClientPolicy -Identity global -PolicyEntry $Null

    • How do you mean to “remove” it? You can just set the client policy to a new setting having the values you want.

      • joop you right, I just wrong wrote, sorry for that after typing this entry

        “Set-CsClientPolicy -Identity global -PolicyEntry $Null”

        policy dosen’t remove, it just remove policy entry(button is hide)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: