OCS Client Logging Capabilities (MOC)

The purpose of this entry is to provide information regarding the various types of logging capabilities that exist within the numerous clients accessing the Office Communications Server Infrastructure.

Author: Kent Tilger

Publication date: April 2009

Product version: Office Communications Server 2007 R2

At the very highest level the goal is to provide guidelines to enable both monitoring (using Windows Event logs) and tracing (writing trace statements to log files on the local client). This initial entry will focus exclusively on the Microsoft Office Communicator Client. Future entries will provide a concise reference for client logging for the LiveMeeting Client, Group Chat Client and Conferencing Attendant.

The term “Logging” will be used throughout this document as the umbrella term for instrumentation of service components to support both monitoring the health of the service (primarily real-time) and debugging (diagnosing problems during pilot/production deployment, and by PSS).

For the most part both monitoring and debugging rely on files written to the local hard disk (trace files). Since trace files are useful but not best suited for monitoring, the focus of monitoring functionality has shifted to writing to the Windows Event Log and Performance Monitor whenever possible.

Microsoft Office Communicator 2007 (and R2)
Logging can be enabled from User Interface or directly via the registry.

Enabling Office Communicator Logging (MOC 2007 and R2)

Configure Logging via the Communicator User Interface

Launch Communicator ->  Options Dialog -> General page

Place a check in the option called “Turn on logging in Communicator” to enable file tracing for both UCCP and UCClient. This setting enables two types of logging in the local registry described later.

Place a check in the option called “Turn on Windows Event logging for Communicator” to enable Windows Event logging.  In addition to Communicator UCCP logs, a Communicator.ETL file is also created for more in depth tracing needs by PSS. Communicator trace files have an extension of .etl, and UCCP trace files have an extension of .uccplog. (Note that Communicator trace files need to be converted to .txt files for analysis which requires a special tool. These files must be sent to PSS for analysis)

As soon as you close the Options dialog, tracing will be enabled.

Enabling Office Communicator 2007 & R2 Logging via Group Policy

You can collect detailed troubleshooting information about Communicator 2007/R2 by using the EnableTracing and EnableEventLogging Group Policies.

These policies correspond to the Communicator 2007/R2 dialog box options Turn Logging on in Communicator and Turn on Windows Event Logging for Communicator.

Logging Output

Enabling the Windows Event Logging option will start to log events to the Windows Event Viewer.

The following Event is logged signifying the Event Logging has been enabled for Office Communicator.

Event Type: Information
Event Source:  Communicator
Event ID:  12
Description: Communicator has enabled event logging.

Enabling the File Logging option in Communicator enables trace file output under %userprofile% \tracing by default.

*Vista users May need to add themselves to "Performance Log Users" group to generate tracing files in Vista. After that, you need to log off and login to take this into effect.

For Vista users, go to User Accounts in Control Panel and add your username to the Performance Log Group.

Configure Logging directly via the Registry

To verify that logging is enabled via the UI, or to configure logging directly using the registry editor, browse to the following Registry Path: HKEY_CURRENT_USER\software\Microsoft\Tracing.

There are two unique file tracing entries being set under these two paths for UCCP and UCClient:


To enable File Tracing manually, under both file paths, set the EnableFileTracing == 1 
When a user de-selects the enable logging option within the UI or to disable logging manually, set the EnableTracing value back to 0 for both keys.

UCCAPI Logging (optional)
Occasionally, you may be instructed by PSS to enable additional logging under the following Registry Path:


Optional Configuration via the Registry

Within the Registry, there are also configuration options for MaxFiles, MaxFileSize and FileDirectory:

MaxFiles – Specifies the Number of  unique Files to create
By default, you can configure how many uccp trace files will be created, however for .ETL logging, tracing will be combined into a single Communicator.etl file.

Naming Convention for UCCP Tracing Files
Since it is possible for more than one application to specify the same FileDirectory location (typically %USERPROFILE%\Tracing). This may result in some tracing information being lost and other problems when multiple applications are running simultaneously on the same machine. In order to avoid this, tracing filenames have the syntax AppString-UCCPlatform-x.log where x is an integer between 0 and MaxFiles-1 i.e. (For example, Communicator passes “Communicator” as the initialization string and if you set MaxFiles to 3, the three files generated would be Communicator-UCCAPI-0, Communicator- UCCAPI-1 and Communicator-UCCAPI-2). The File Extension for UCCP logs is .uccapilog

MaxFileSize – Allows specification for Maximum File Size
By default, a default trace file size is configured automatically, but you can modify this parameter if desired.

FileDirectory - File System Location where trace files will be written.
By default, the UCCP and UCCLIENT (.ETL) logs will be written to the \%userprofile%\tracing folder. However, it is possible to change the logging location if desired by modifying the FileDirectory string.

Log File Analysis

The *.uccapilog files can be opened in notepad or snooper.exe (OCS Resource Kit). Snooper will enhance readability of the file by highlighting individual sip conversations, but there may be additional information outside of SIP that may be of interest that requires a text editor.

Communicator .ETL files must be sent to PSS for analysis.

Windows Installer (Setup) Logging

It is also possible to enable logging for Communicator Setup.
This log will include activities of Communicator install, uninstall, repair, upgrade.

To enable Windows Installer Setup logs


The letters in the Logging value field can be in any order.
Each letter turns on a different logging mode.

Each letter's actual function is as follows for MSI version 1.1:
v - Verbose output
o - Out-of-disk-space messages
i - Status messages
c - Initial UI parameters
e - All error messages
w - Non-fatal warnings
a - Start up of actions
r - Action-specific records
m - Out-of-memory or fatal exit information
u - User requests
p - Terminal properties
+ - Append to existing file
! - Flush each line to the log
x - Extra debugging information. The "x" flag is available only on Windows Server 2003 and later operating systems, and on the MSI redistributable version 3.0, and on later versions of the MSI redistributable.

"*" - Wildcard, log all information except for the v and the x option. To include the v and the x option, specify "/l*vx".

Note: This should be used only for troubleshooting purposes and should not be left on because it will have adverse effects on system performance and disk space. Each time you use the Add/Remove Programs tool in Control Panel, a new Msi*.log file is created.

To collect MSI Setup Log files:

Start -> Run -> %Temp%
Look for the latest MSI*.log file. (* is the reference number)
This insight into Office Communications Server 2007 R2 was created as part of Kent Tilger’s participation in the Microsoft Certified Master program.

The Microsoft Certified Master Program: The Microsoft Certified Master: Microsoft Office Communications Server 2007 program provides the most in-depth and comprehensive training available today for Office Communications Server 2007. This three-week training program is delivered by recognized experts from Microsoft and Microsoft partner organizations.

Published Wednesday, April 01, 2009 1:45 PM by ocsteam
Filed Under: Communicator 2007 R2


Lync Server Resources

We Want to Hear from You

Comments (4)
  1. Mick Montalto says:

    Could we enable logging regularly so that we could, as an example, monitor the Sign In | Sign Out times of our users and generate a report to reflect this information?

  2. Pandurang Sanglikar says:

    Could we enable logging regularly so that we could, as an example, monitor the Sign In | Sign Out times of our users and generate a report to reflect this information?

    I have a lot of employees coming late to office and feel that they do not spend sufficient time in office. I want to use MOC to monitor their login/logout times on a daily basis.

    A report would really help monitor actual working hours of the employee and help improve productivity.

    Please let me know if there is a way to configure it. This would help a lot.

  3. SMS Bradley says:

    Thanks for your questions folks! And thanks Kent for your reponse!

    Kent Tilger says:

    In theory the logs from the clients could be consumed for this purpose, but is probably not the most desirable or scalable approach. An alternative method would be to utilize SQL to obtain this data.

    For R2, the following queries might be helpful to leverage (on a periodic basis) to gather data on the last time a user Registered as well as a list of users who are logged in (along with their client version or particular Front End they are connected to).  

    Last time a user registered


    Select R.UserAtHost, HU.RichMode, HUD.LastNewRegisterTime

    From rtc.dbo.Resource as R, rtc.dbo.HomedUser as HU,

    rtcdyn.dbo.HomedUserDynamic as HUD

    Where R.ResourceId = HU.ResourceId and R.ResourceId = HUD.OwnerId;

    List all users who are logged in and their client version



    Use RTCDyn

    SELECT B.UserAtHost as 'SIP Address', C.Fqdn as 'Front End Server',

    cast(A.ClientApp as varchar(128)) as ClientApp

    FROM RTCDyn.dbo.Endpoint A

    INNER JOIN RTC.dbo.Resource B

    ON A.OwnerId = B.ResourceId

    INNER JOIN RTCDyn.dbo.FrontEnd C

    ON A.FrontEndId = C.FrontEndId

    List all users who are logged in and the Front End Server they are connected to



    Use RTCDyn

    SELECT B.UserAtHost as 'SIP Address', C.Fqdn as 'Front End Server'

    FROM RTCDyn.dbo.Endpoint A

    INNER JOIN RTC.dbo.Resource B

    ON A.OwnerId = B.ResourceId

    INNER JOIN RTCDyn.dbo.FrontEnd C

    ON A.FrontEndId = C.FrontEndId


  4. OCS Client Logging Capabilities (MOC)
    thank you

Comments are closed.

Skip to main content