RSS Subscription 168 Posts and 2,769 Comments

Office Communications Server 2007 Enterprise Deployment – Part 2

Welcome to Part 2 of this article series. In Part 1, we started off by discussing the goal of this lab. That goal is how to deploy a single Enterprise Edition OCS Server which is connected to an x64 SQL Server 2005 SP2 Back-End Server. We first discussed what the lab setup is going to be using VMware Workstation, and then proceeded to the configuration of our Enterprise Certificate Authority.

In this Part, I will go over the preparation and installation of a Front End OCS 2007 Server Pool.

Part 1

Part 2

Part 3

Part 4

Part 5

Front End OCS 2007 Server Installation

When installing OCS in a consolidated Enterprise Edition deployment, you would perform the following steps:

  1. Prepare Active Directory
  2. Create an Enterprise Pool
  3. Configure a Load Balancer
  4. Configure Pool / DNS
  5. Add Server to Pool
  6. Configure Certificate
  7. Configure Web Components Server Certificate
  8. Verify Replication
  9. Start Services
  10. Validate Server and Pool Functionality

Note: We will not be able to go over all the steps in this Part 2 due to the amount of steps and sub-steps required to perform.

Prepare Active Directory (Step 1)

Our Domain Controller with Windows Server 2003 SP2 is installed and fully functional.  To begin the Active Directory preparation process, we can insert our OCS CD.  There are some prerequisites for installing OCS such as .Net Framework 2.0, but this is all taken care of during the installation.

Insert the CD and let’s begin the installation process.  You will be asked to install the Microsoft Visual C++ 2005 SP1 Redistributable. Click Yes to Continue.

You will then be asked to install the Microsoft .NET Framework 2.0. Click Yes to Continue.

Once Microsoft .NET Framework 2.0 is installed, you will be presented with the Deployment Wizard.  We will want to deploy our Enterprise Pool in a Consolidated Topology.  Click Deploy Pools in a Consolidated Topology to Continue.

We are now on Step 1 which is to Prepare Active Directory. Click Prepare Active Directory to Continue.

We are now presented with sub-steps to perform to complete our Active Directory Preparation.  These sub-steps include:

  1. Prepare Schema
  2. Verify Replication of Schema Partition
  3. Prep Forest
  4. Verify Replication of Global Settings and Global Catalog
  5. Prep Current Domain
  6. Verify Replication of the Domain
  7. Delegate Setup and Administration

Click Run for Prepare Schema to Continue.

On the Welcome Screen, Click Next to Continue. Select “Default: Schema files are located in the same directory as Setup.”  Click Next to Continue.

You are now ready to Prepare the Schema.  Click Next to Begin Schema Preparation.

When the Schema Preparation is finished, Click Finish.  You will be given the option to view the log which I advise you to do to ensure everything went OK.

We are brought back to the Deployment Wizard.  The Prep Schema step has been complete as is shown next to the Run button.

We will skip through all the Replication Steps (Verify Replication of Schema Partition, Verify Replication of Global Settings and Global Catalog, and Verify Replication of the Domain) due to the fact we have only 1 Domain Controller in this lab.  In a production environment where you have more than one Domain Controller (hopefully), I highly advise you to ensure replication for each step has completed successfully before continuing.

We are now ready to run the Prep Forest step. Click Run for Prep Forest to Continue.

On the Welcome Screen, Click Next to Continue.

You are presented with two options:

  • System Container in the Root Domain
  • Configuration Partition

To decide which option to choose, follow this diagram provided by the Microsoft OCS Team to make a decision.  You can read the blog post which contains this image as well as a lot more information here.

Because this lab contains only one Domain Controller, we will choose the Default setting of System Container in the Root Domain. Click Next to Continue.

We will want to store our Universal Groups in our domain.  In the case of this lab, we will have to due to the fact that this is our only domain.  Select and Click Next to Continue.

We will use our Active Directory domain name for OCS routing.  Click Next to Continue.

You are now ready to Prepare the Forest.  Click Next to Begin Forest Preparation.

When the Forest Preparation is finished, Click Finish.  You will be given the option to view the log which I advise you to do to ensure everything went OK.

We are brought back to the Deployment Wizard where we will now run the Prep Current Domain.  This step should be run in any domain that will contain users that will be OCS (SIP) enabled.

Click Run for Prepare Current Domain to Continue.

On the Welcome Screen, Click Next to Continue.

On the next screen that provides Domain Preparation Information, read the excerpt provided and Click Next to Continue.

You are now ready to prepare the domain.  Because we have only 1 domain and are running this step in our domain, our current settings will display as Click Next to Continue.

When the Domain Preparation is finished, Click Finish.  You will be given the option to view the log which I advise you to do to ensure everything went OK.

The final step is to Delegate Setup and Administration.  Because we are doing everything using a Domain/Enterprise/Schema Administrator account, we will not have to configure Delegation.

Creating File Shares

Because our Universal Groups have been created, we can now create file shares that are necessary for the following functions:

  • Presentations – Meeting presentations to be downloaded or streamed by conference attendees.
  • Metadata – Meeting information (metadata) that is used internally by the Web Conferencing Server component for the pool.
  • ABS – Address Book information that is used by the Address Book Server, which is included with the Web Components Server, in order to provide global address list information to Office Communicator 2007 and Office Communicator 2005 clients on a daily basis.
  • MeetingCompliance (optional) – Meeting activities and content uploaded during meetings.  We will talk about how to enable Meeting Compliance in a future Part.

These shares can be created on a File Server in your environment.  We will be creating these shares on our OCS FE Server which means that our OCS Server will also be our Web Components Server.

We will create a folder called C:\OCS on our OCS Server.  Within those four folders, we will create the following four folders:

  • Presentations
  • Metadata
  • ABS
  • MeetingComp

Each of these folders will need to be shared out.  We will use a share name that matches the folder name for simplicity sake.  Grant Full Control on each of these shared folders to the administrator, the RTCUniversalServerAdmins group, and any other user or group responsible for creating pools. Remove Read permission from the Everyone group.

Update: I accidentally left out that you need to add the RTCComponentUniversalServices group to the permissions as well with Full Control.

Update2: The Presentations needs to allow Everyone read permissions in order for people to download uploaded content to Live Meeting.

Make sure you provide both RTCUniversalServerAdmins and Administrators Full Control via NTFS permissions as well.  Because our folders are in the OCS folder, we can add these permissions on C:\OCS and they will flow down to our sub folders through inheritance.

Create and Enterprise Pool (Step 2)

Before we continue on, we need to do some prerequisite work.  This prerequisite work is detailed here.  For purposes of this lab, I would focus on the SQL Server 2005 x64 information since we are using SQL Server 2005 x64.

Because we are running SQL Server 2005 x64, we will need to create our pool on a x86 system.  Because our OCS Front End is x86, we will use our OCS Front End for Pool Creation.  And because we will be doing this from a remote system (our Front End), we will need to install the SQL database management objects (SQL DMO) on our Front End.  This functionality is included in the Microsoft SQL Server 2005 Backward Compatibility Components which you can find here.  Make sure you download the x86 version.  Once that has been installed, you can now proceed.

We are now on Step 2 which is to Create an Enterprise Pool.  This is where you will definitely need to have your SQL Back End fully configured. You can use SQL Server 2005 (x86 or x64) with SP1+.  You can also use SQL Server 2000 SP4+. Click Run to Continue.

On the Welcome Screen, Click Next to Continue.

We must now decide what we want our Pool Name to be.  On an OCS Standard Edition Server, your Pool name is the name of your server.  But since we are using Enterprise Edition, we must select a name that won’t match any other existing records currently housed in DNS.  We will use the name, OCSPool.  Our SQL Server was installed using the Default Instance.  Because of that, all we will need to do is ensure we are logged on with an account that is a member of Domain Admins, RTCUniversalServerAdmins, and has permissions to create and manage SQL Databases. Click Next to Continue.

We will want to leave our Internal web farm FQDN alone.  This should be the pool name.  If you are going to be installing multiple Front End Servers behind a Hardware Load Balancer, the OCS Pool DNS would be pointed to your Hardware Load Balancer Virtual IP Address which would then direct the traffic to one of your Front End Servers.

The External Web Farm FQDN is used by your ISA Server.  It allows you to reverse proxy (publish) your Address Book, Web Conferencing Meeting Content, as well as expansion of Exchange Universal Distribution Groups.  I would recommend configuring this during the install as you cannot modify this through the OCS Administrative GUI.  You can use the guide here to modify the External web farm FQDN should you decide you don’t want to set this FQDN during install or wish to change it at a later time. Click Next to Continue.

Note:  I used the FQDN of  Taking a look at this from a perspective of a production environment, the name is my AD Domain.  If you do not have split-dns, you can use the same namespace that you will be SIP enabling users.  For example, our SIP Domain is  So I can easily just do

I am selecting to overwrite any existing database since I did use my SQL Server for a previous OCS installation.

OCS is smart enough to detect whether SQL has any volumes that are now the system volume.  When it does detect these separate volumes, it will try to optimize the locations as much as possible.  Because I do have a separate LUN/volume on my SQL Server, OCS automatically used the E:\ volume to place Database and Log files.  Make any changes here as you wish.  There is a Database Planning guide located here. Click Next to Continue.

The time has now come to specify the location of the shares we created above.  These should be:

  • Presentations – \\OCS-OCS1\Presentations
  • Metadata – \\OCS-OCS1\Metadata
  • ABS – \\OCS-OCS1\ABS
  • MeetingComp – \\OCS-OCS1\MeetingComp

Make sure you test all of the Universal Naming Convention (UNC) paths work prior to proceeding.  If they do work, enter the UNC paths as is displayed in my screenshot. Click Next to Continue.

Configure your the ABS UNC Path. Click Next to Continue.

Since we will not be enabling Archiving or CDR in our environment, leave the Archiving and CDR settings unchecked. Click Next to Continue.

We are finally ready to create our Enterprise Pool!  Review your Current Settings.  When satisfied, Click Next to Continue.

When the Pool Creation is finished, Click Finish.  You will be given the option to view the log which I advise you to do to ensure everything went OK.

Configure a Load Balancer (Step 3)

If you are going to be doing any type of redundancy, you will need to use a Hardware Load Balancer such as an F5 BIGIP with the LTM Module.

The steps required to configure a Load Balancer is out of the scope of this article as we are deploying a single Front End server which does not require a Hardware Load Balancer.

The hardware load balancing planning information can be found here.

The hardware load balancing deployment information can be found here.


Well folks, that is all for Part 2 of this article. For Part 3, I will go through the initial configuration of the pool, certificates, and adding our Front End Server to our newly created pool that uses a SIP namespace ( that is separate than our AD Namespace ( We will begin the steps needed to validate our configuration to make sure the Front End OCS Server is healthy.


13 Responses to “Office Communications Server 2007 Enterprise Deployment – Part 2”

  1. on 14 Jul 2008 at 2:31 pmDariusCyrus

    Hi and great job with another awesome blog post.

    I have a question and I’m confused.

    Should OCS-OCS1 and OCS-SQL1 be part of the domain?

    I’m confused regarding where the installation of OCS is occurring. Do we insert the OCS CD on the OCS-DC1 VM or the front end server VM (OCS-OCS1)?


  2. on 14 Jul 2008 at 7:50 pmElan Shudnow

    I have them both as part of the domain. You’d insert the OCS CD on OCS-OCS1 which is our Front-End Server. And thanks for the nice comments.

  3. on 12 May 2009 at 3:59 pmJohn Bales


    We are attempting to install OCS 2007 R2 on WIndows Server 2008 64BIT. I have gone through the ADPrep and the beginning stages of the setup, and now I am stuck. I have been working on Step 2(Configure the Server) for half the day today and cannot get any further. When I click run and start the Configure Pool/Server Wizard, I get the following error: “Unable to access pool information. Possible reasons include inability to authenticate to the domain, WMI service issues, lack of network connectivity, and other system issues- 0xC3EC7A19.” This message is pretty vague. I have looked all over Google and have not found anything relevant to this issue.
    I do have access to the RTCUniversalAdmins in AD and I am a domain admin. I can ping both our domain controllers in the test environment. One thing that we do not have for our test environment is Internet access. Could this be an issue when setting up the OCS 2007 trial?

    If anyone has clues on what I am doing wrong, please don’t hesitate to comment back. We would love to get this up and running and test it before we purchase it.

    John Bales

  4. on 20 Nov 2009 at 9:19 amLean

    Hello, we are having the same trouble as you. Can you please tell us what you did in order to eliminate this problem?

    Thank you very much!

  5. on 14 Jul 2009 at 2:09 pmPablo

    Hello Elan,

    I’ve already installed OCS 2007 sucessfuly in a domain.

    Now, I need to add another domain to use OCS. However, I need to use the same OCS server. How can I do that?

    I have a trust between this domains. I just need to make the step 3 ? (Configure the pool)

    I’ve already installed the administrative tools into my second domain.

    When I try to give permission to my user (domain2), it’s not find any pool to add him.

    Does you have any idea?

    thanks again,

    Pablo Bertrão

  6. on 22 Jul 2009 at 11:38 amElan Shudnow

    You can use LCSCMD to prepare the other domain within the same forest. You can then SIP enable these users on the pool that exists in the domain that you are already utilizing.

    You can get the appropriate command from here:

  7. on 14 Jul 2009 at 3:46 pmJohn Bales

    We have rolled out OCS R2 2007 and it is running great!

    We have another phone system in place, so we are not utilizing the phone functions in Office Communicator. One of Office Communicator’s integration features is the ability to make a phone call from Outlook. This phone integration feature is pretty strong, and Communicator wants to make the call from Outlook regardless of what other software you have.

    I need to know how to remove this call integration feature between Communicator and Outlook 2007. The following reg hack did not work. It only greyed out the Call button in Communicator and still would want to make the call from Outlook.

    Here is the reg fix I tried:

    On Client machine set the following Registry

    1. Click Start, click Run, type Regedit in the Open box, and then click OK.
    2. Locate and then click the following registry subkey:


    3. On the Edit menu, point to New, and then click DWORD Value.
    4. Name the new value TelephonyMode .
    5. Right-click TelephonyMode, and then click Modify.
    6. Click Decimal under Base.
    7. In the Value data box, type 5, and then click OK.
    8. Quit Registry Editor.

    Anyone have any suggestions?

  8. on 27 Jul 2009 at 2:21 pmPablo

    Both of my domains are already prepared,

    I made the two ways to prepare a domain. Both of the options worked.

    However, OCS just point to me one domain. (

    The was already prepared, and also have the administrative tools. It has all user and permissions that OCS needs.

    Its keeps with the same message. No pools are find in the, when I try to enable a user for ocs

    The following error happen:

    there are no pools available for this operation
    Error 0xc3e7f94d

    Does I need to create another Enterprise Pool? each one for one domain?

    Or can I use the same pool for both domains?

    Thank you again,

    Pablo Bertrao

  9. on 29 Jul 2009 at 7:56 pmElan Shudnow

    You can use the same pool for both domains. Make sure the following command was run on the 2nd domain using lcscmd.exe from the OCS installation cd:
    LcsCmd.exe /domain[:] /action:DomainPrep

  10. on 05 Aug 2009 at 7:25 amPablo

    Yes, I used LcsCmd to prepare the domain and the command was complete succesfuly.
    I keep with the same problem, my domain2 cannot see the enterprise pool that was created by the first domain.

    I also tested with
    LCSCmd.exe /domain2 /Action:CheckDomainPrepState

    succesfuly again

  11. on 05 Aug 2009 at 11:25 amElan Shudnow

    Not sure what that error code means. If you do a search on Google for that error code, only thing you find is this page. I’d give MS a call.

  12. on 10 Aug 2009 at 9:26 amPablo

    Ok, lets make it in parts.

    first. After a succesfuly ocs installed in a domain, with all services running, I wanted to install in another domain, but using the same ocs server.

    First step: I need to prepare this domain (right?)
    Soo, i make the steps of the “Prepare Active Directory”

    Easy… that was installed/configured succesfuly

    Second step: I need to configure the pool (that’s correct?)

    Soo, I ran the install “Configure the pool”; And I get the error:

    There are no pools available for this operation.
    Please make sure that you have sufficient privileges. If a pool was recently created,
    please wait for active directory replication to finish and try again
    (Error code:0xC3EC794D)

    I made wrong some step? this is the right sequence?

    By searching on google, I found some sites that says I need to create a MIIS server (actually ILM server) to make an OCS using two domains. This is true?


    Pablo Bertrao

  13. on 12 Jan 2010 at 9:42 amjasonjgy2000

    Hey i am installing the enterprise edition of ocs 2007 R2. I am using Windows Server 2003 x64 R2 as the front end and Windows Server 2003 x86 standard Sp1 as the sql backend. now when i am creating the enterprise pool, the process is failing the error log says that i am not authenticated when ocs is trying to talk to the back end database.

Trackback this post | Feed on Comments to this post

Leave a Reply