Feeds:
Posts
Comments

OCS installs a set of Windows Management Instrumentation (WMI) classes that expose a wealth of information on everything from global settings about an OCS deployment, OCS user settings, or configuration information about a particular server. These classes can be used to programmatically gather configuration information, manage an OCS environment, and automate administrative tasks using a Windows Scripting Host language or Powershell.

The WMI classes that are installed with the OCS Administrative Tools and Server Roles are part of the Office Communications Server Management API.  Below I provide a handy reference to the most useful MSDN OCS WMI information.  Note:  R2 = OCS 2007 R2; R1 = OCS 2007.

Description OCS 2007 R2 OCS 2007
OCS WMI Reference Portal
Start here if you are unfamiliar with the WMI classes.
http://msdn.microsoft.com/en-us/library/dd146871(office.13).aspx 

                                             

http://msdn.microsoft.com/en-us/library/bb679969.aspx 
OCS WMI Class Reference
A complete reference to all the available classes and their respective details.
http://msdn.microsoft.com/en-us/library/dd146501(office.13).aspx  http://msdn.microsoft.com/en-us/library/bb680173.aspx
WMI Class Management Scopes and Roles (*)
What classes are available on which server roles (or admin tools installation), and what scope a class has.
http://msdn.microsoft.com/en-us/library/dd130068(office.13).aspx  http://msdn.microsoft.com/en-us/library/bb680173.aspx
WMI Error Messages
 What specific error codes mean (which can be difficult because of the WMI provider architecture).

 

* Note: Practically speaking, the class scope affects your ability to use the class in two ways:

  1. The WMI class might only be available on a particular machine (server role), meaning your script will need to remotely connect to that machine to get access to it. If there is a “*” in the Admin column, you need to connect remotely to the machine.
  2. You need the appropriate access rights to a particular scope if it is a Singleton.  For example, if your script is running in a child domain, and a particular class is can only have one instance in the Global scope (AD), the user running your script needs permissions to access to the parent AD domain.

There are several administrative uses for manipulating user contacts – the two primary uses are backup & restore, and inserting a standard set of contacts for an organization or department. There are two options available to import and export user contacts which I explain below.

 1) Command Line Tool (DBIMPEXP.EXE)

DBIMPEXP.EXE is a little-known tool which can be used export or import a contact list for any user hosted in an OCS Enterprise Pool, or OCS Standard Edition server. The tool is available in one of three places:

  1. On an OCS 2007 Front-End in the C:\Program Files\Microsoft Office Communications Server 2007\Server\Support directory.
  2. On an OCS 2007 R2 Front-End in the C:\Program Files\Common Files\Microsoft Office Communications Server 2007 R2\Support directory.
  3. In the ‘Support’ directory on the OCS 2007 or OCS 2007 R2 installation media.

 In the same directory there is a DBIMPexp.exe Readme file that gives good information on usage and a FAQ.

 With an Enterprise pool configuration, the big difference on the command line is the need to specify the backend SQL server with the /sqlserver switch. Here are 2 examples of how to use this tool:

  • To export the contact list for all users in an Enterprise Pool:  dbimpexp.exe /hrxmlfile:contacts.xml /sqlserver:<Pool SQL Hostname>
  • To import a contact list for a specific user homed on a Standard Edition server:  dbimpexp.exe /hrxmlfile:contacts.xml /user:<sip URL>

 2) Using WMI (via a Custom Script or the LCSAddContacts.wsf Resource Kit Tool)

Two WMI class expose user contact information. The MSFT_SIPESUserContactData class specifies a single contact for an Office Communications Server user, and the settings for a contact group are represented by the MSFT_SIPESUserContactGroupData class.

You can use your favorite scripting language (VBScript, Jscript, or Powershell) and write a custom solution, or you can use the Windows Script LCSAddContacts.wsf in the OCS Resource Kit. This resource kit script uses the above mentioned WMI classes and allows programmatic adding of contacts for OCS users.

This has been picked up by a few blogs recently. It is such a good offer, I thought I would get the word out also.

I can vouch for the OCS 2007 R2 Resource Kit being an excellent resource, and for a limited time you can get a free digital copy of it and “Programming for Unified Communications” from Microsoft Press.

Click the appropriate book below to link to the MS Press site where you can register and get your free E-Book.

OCS2007_Reskit

UCProgramming

Being familiar with these 6 items before introducing an OCS R2 pool into an OCS deployment (with an existing OCS 2007 R1 pool) could save you some valuable time and frustration.

Familiarize Yourself with the Microsoft OCS R2 Migration Guide
The TechNet online migration guide is available here: Migrating From Office Communications Server 2007. Note, if you are coming from LCS 2005, there is a migration guide available as well: Migrating From Office Communications Server 2005.

Move your OCS Global Settings from the System Container to the Configuration Container in Active Directory
See the “Move Global Settings” in the “OCS 2007 R2 Migration from 2007″ guide. Aaron Tiensivu has a very practical good write-up about the process and the associated details: http://blog.tiensivu.com/aaron/archives/2009/01/06.html.

Ensure your OCS 2007 Servers are Up-to-Date
There have been several OCS 2007 high priority updates in the last year; some of them will help your OCS R2 co-existence. Knowledge Base Update 956389 from November, 2008 addresses several issues for example, and you will want to have that update package installed. Most updates are applicable to all OCS server roles. For more updates and the current top OCS issues, visit the Office Communications Server 2007 Solution Center.
 
The R2 Edge requires an R2 Pool or R2 Director
An OCS 2007 (R1) Director or Front-End is not a supported next hop for an OCS R2 Edge.
 
Side-by-Side OCS R2 Edge Server Has Implications
It is not possible to deploy an R2 Edge and R2 Director side-by-side with a R1 Edge and maintain the PIC and Federation functionality for the newly migrated R2 pool users. This sounds more complex than it is. The external DNS entries can only point to one inbound Edge entry-point, so you cannot have both the R1 and R2 Edge running in parallel.
 
The R2 Migration Guide calls this out in the “Choose a Deployment Strategy” (http://technet.microsoft.com/en-us/library/dd572317(office.13).aspx) section: “‘Federation’ and/or ‘PIC’ functionality is not possible for any R2 migrated user until after the edge has been also been upgraded to R2″.
 
The OCS 2007 and OCS 2007 R2 Administrative Consoles Cannot Be Installed on the Same Computer
See my previous blog entry regarding Quick Facts about the OCS R2 Administrative Tools.
 

As many OCS R1 deployments move to OCS R2, mixed deployments with both OCS R1 and OCS R2 pools are becoming more common.

Here are some notable reminders about the OCS  R2 Administrative Tools in a mixed deployment that you should know about:

  1. The R1 and R2 Admin Tools cannot be installed side-by-side together on the same machine.
  2. The R1 and R2 Admin Tools can only administer their respective OCS server versions). For example, the R2 Administrative Tools cannot be used against an R1 pool.
  3. The R2 Admin Tools are not supported on a Windows XP O/S.  Windows 2003 SP2, Windows 2008, and Windows Vista SP1 are supported.  For Vista and Windows 2008 there are some pre-requisites you must install first (follow the links).
  4. Although OCS 2007 R2 is only supported on a 64-bit platform, the 32-bit Administrative Tools are available in the Support\i386 directory of the R2 installation media.
  5. Active Directory Users & Computers is not automatically extended for R2 management like the R1 Admin tools did.

Much has been written about troubleshooting Microsoft Office Communicator issues. In this blog entry I wanted to highlight and simplify two steps that will help you catch most problems without having to do more time consuming troubleshooting.

1) Know Which DNS Records are Being Used by Communicator

Communicator relies heavily on DNS to figure out which OCS server to connect to.  Knowing how Communicator uses DNS, and what DNS records are being returned with the client DNS settings, is the key to debugging most issues.

My previous post, DNS Records and Office Communicator Automatic Client Sign-In, summarizes how Communicator uses DNS to connect to the server.

My Automatic Sign-In Troubleshooting Tool will query the local client DNS for all the DNS records Communicator might use, and display which ones match.

Knowing what DNS records are being used and which server Communicator is connecting to will help you understand the logging files in the next step.

2) Turn on and Use Communicator Logging

a) Turn on Communicator Event Logging (Options | General | Turn on Windows Event logging for Communicator)

This will produce explicit Application event log entries for any issues Communicator is experiencing.  For example: “Communicator could not connect securely to server sip.example.com because the certificate presented by the server did not match the expected hostname (sip.example.com)”.  There may be additional Informational or Warning log entries that provide additional context.

b) Turn on regular Communicator Logging (Options | General | Turn on logging in Communicator)

This generates a debugging log file in %userprofile%/Tracing (e.g. the filename will look something like “Communicator-uccapi-0.iccapilog”).  This log file will give specific details about what Communicator is doing internally. For example, we can clearly see in this log file there is a DNS hostname lookup failure:

  • 06/05/2009|10:26:45.553 700:EE8 INFO  :: QueryDNSSrv – DNS Name[_sipinternaltls._tcp.example.com]
  • 06/05/2009|10:26:45.563 700:FAC INFO  :: domainName:quest.com: serviceName:sip: transportName:tls:
  • 06/05/2009|10:26:45.563 700:EE8 ERROR :: QueryDNSSrv GetDnsResults query: _sipinternaltls._tcp.example.com failed 9
  • 06/05/2009|10:26:45.563 700:EE8 ERROR :: DNS_RESOLUTION_WORKITEM::ProcessWorkItem ResolveHostName failed 8007232b

(Note this file can be opened in Notepad even though it does not have a .txt file extension).

Taking these first steps will go a long way in understanding how Communicator is behaving.

The Microsoft TechNet Library has a more good information on troubleshooting specific Communicator R2 Features: http://technet.microsoft.com/en-us/library/bb963945.aspx.

Choosing the right end user devices for your OCS roll-out is important and not easy considering all the choices in the market.

If you are going through this process, the following Microsoft TechNet resource is a good start: http://technet.microsoft.com/en-us/office/ocs/bb970310.aspx. It lists all the webcam’s, headset’s, handset’s, speakerphones and desktop phones that have the Optimized for Microsoft Office Communicator designation, which basically means they have been tested and qualified by Microsoft as providing a high level of quality right from installation to feature usage (including a high quality audio/video experience).

I’ve had good personal experience with several of the Microsoft LifeCam webcam’s (VX-7000 and VX-5000). Although this site doesn’t list any Logitech devices, I’ve also had heard good experiences with the Logitech QuickCam webcam products.

Further to my previous posting on Office Communicator 2007 and Outlook 2007 Integration Errors, after recently trouble-shooting this problem, I have provided a check-list of situations that can cause this error, and what to do about it:

1) Make sure that the default Outlook profile, or the Outlook profile that was last used (if set to prompt), contains an SMTP Email Address that matches the users’ primary SIP address. If the default profile in the “Mail” Control Applet is unclear, you can always check it by looking in the registry at the “DefaultProfile” value in “HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles”.

2) Check if the Microsoft Exchange Administrator tool(s) are installed the client machine. The Exchange Admin tools install a another version of MAPI (for use by the admin tool), and this can cause issues for Office Communicator 2007 integration.  The resolution is to run fixmapi.exe (in C:\WINDOWS\system32\fixmapi.exe). This resolution has worked on 32-bit XP machines with SP2 and Sp3.

3) Make sure that Office 2007 is up-to-date (i.e. in terms of hotfixes) on the client machine. Specifically make sure the hotfix described in KB 936864 is installed.  It is my understanding that this hotfix is rolled-up in Microsoft Office 2007 SP1 and SP2.

In case you missed it, the Microsoft OCS Team recently announced official support for running some of the OCS 2007 R2 server roles on a virtual machine.  In a nutshell, virtualization is supported for the OCS 2007 R2 server roles that do NOT provide real-time media functionality (e.g. Voice and Video). This boils down to support for the roles that provide the Presence, IM, and Group Chat functionality.

Specifically, the following OCS 2007 R2 roles are supported to run on a virtual machine:

  • Enterprise Front-End Server with no Enterprise Voice or Audio/Video roles.
  • IM Conferencing Server.
  • Access Edge Server (including Remote Access, Federation, and PIC).
  • Back-End (SQL server backend)
  • Group Chat (Channel server, Lookup server, Back-end, and the Compliance Back-end)
  •  

    Key Points:

    1. Standard Edition is not officially supported because by definition include the real-time media roles (e.g. Audio/Video Conferencing).irtual Machines must be running on Windows Server 2008 64 bit.
    2. The Web Conferencing and Edge A/V roles are not officially supported to run a virtual machine.
    3. The Archiving and Monitoring roles are not supported to run on a virtual machine. They need to be deployed on a physical machine.  However: the Archiving role can perform archiving against a virtualized Enterprise pool, and the Monitoring role can perform CDR (and CDR only) collecting for a virtualized Enterprise pool.
    4. Both Hyper-V and VMWare is supported (“any Server Virtualization Validation Program (SVVP) certified partner solution”).

    One issue for Consolidated Front-End Pool deployments is that the roles will need to be separated to take advantage of virtualization – by nature Consolidated Front-Ends include the Audio/Video and Telephony roles which are not supported. If this applies to you, consider taking advantage of virtualization on some of the supported Edge roles, or when expanding your existing Topology.

    In reality, many people have been running many OCS roles in a virtualized lab environment for sometime – the issue for production support comes done to the ability of the virtual machine to support the functional workload with decent quality – which has many complex variables (hardware and configuration of the host and guest virtual image, load, etc…). 

    The details of the OCS 2007 R2 topologies, workload, and associated boundaries that were tested can be found in this whitepaper: Running Microsoft Office Communications Server 2007 R2 in a Virtualized Topology. Take note of Appendix C, which provides a useful “Virtualization Checklist”.

    Support details for the Office Communicator client virtualization can be found here: http://support.microsoft.com/kb/951152.

    With mobile device usage (including phones) becoming the de-facto communication device, extending the reach of Office Communications Server 2007 to information users on their mobile devices is powerful.

    Below I summarize the available options for many popular devices.

     

    Blackberry

    If you are running a Blackberry Device with software v4.1 or higher, and BES Server v4.1 with Service Pack 6 or higher, a BlackBerry Client for use with Microsoft Office Communications Server 2007 is available here: http://na.blackberry.com/eng/services/server/exchange/ocs2007.jsp.  

    I have been told that the older Blackberry client (for LCS) still works against OCS 2007.

     

    Microsoft Windows Mobile or Java Enabled Phone

    In addition to the specific information below, Microsoft has recently (May 2009) made available an easy-to-remember website to dowload the appropriate version of Microsoft Office Communicator Mobile for a Pocket PC, SmartPhone, or Java Enabled Phone: http://getcomo.com.

     

    Pocket PC or SmartPhone Running Microsoft Windows Mobile 5.0 or 6.0

    A version of Communicator Mobile running against an OCS 2007 server can be found here.

    A version of Communicator Mobile running against an OCS 2007 R2 server can be found here.

     

    Java Based Phones (Nokia S40/S60 series and Motorola RAZR v3 Devices)

    Microsoft makes a version of Office Communicator Mobile R2 available that is optimized for Java. There are different versions available depending on your phone (listed below). OCS 2007 R2 must be running on the backend.

    a) Office Communicator Mobile 2007 R2 for Java (Nokia S60 320X240 resolution)

    - Supported Phone Models: E51, E66, N95;   Supported Telecom Network: Vodafone and Orange networks in Europe, Airtel and Vodafone networks in India.

    b) Office Communicator Mobile 2007 R2 for Java (Nokia S60 240X320 resolution)

    - Supported Phone Models: E51, E66, N95;  Supported Telecom Network: Vodafone and Orange networks in Europe, Airtel and Vodafone networks in India.

    c) Microsoft Office Communicator Mobile 2007 R2 for Java (Nokia S40)

    - Supported Telecom Networks: Vodafone and Orange networks in Europe, Airtel and Vodafone networks in India;   Supported Phone Models: Nokia S40 – 5th edition phones including: 3120 Classic, 3600 Slide, 5220 XpressMusic , 5310 XpressMusic , 5610 XpressMusic, 6212 Classic, 6300i, 6301, 6500 Classic, 6500 Slide, 6600 Fold, 6600 Slide, 7210 Super Nova, 7310 Super Nova, 7510 Super Nova, 7610 Super Nova, 7900 Prism and 8800 Arte

    d) Microsoft Office Communicator Mobile 2007 R2 for Java (Motorola Razr V3xx – U.S.)

    - Supported Telecom Network: AT&T (US);  Supported Phone Models: Motorola RAZR V3xx

    Additional Information about the Java Client

    Microsoft Office Communicator for Java Frequently Asked Questions

    Microsoft Office Communicator Mobile for Java Getting Started Guide

    Microsoft Office Communicator Mobile for Java Testing and Troubleshooting Guide

     

    Other Devices

    For all other devices with decent Internet access and a browser, if the OCS 2007 deployment you are connecting to has deployed Communicator Web Access, you can try using the Communicator Web Client. Ask your IT services department for the Web Address (URL) and give it a try.  I would be interested in hearing feedback from anyone who have tried this on an Apple iPhone.

    Older Posts »