In the first part of this article, we discussed which migration options are supported and we determined the requirements. After this was done, we prepared the Active Directory and installed our first Lync Front End Server with a Mediation Server co-located.
In the second part of this series, we discussed how to merge the legacy OCS settings with the new Lync Server configuration. After that, we connected the Lync Server environment to the outside world using the OCS 2007 R2 Edge Server, and we did some test migrations and validated the functionality of our new deployment.
In the third part of this article, we discussed how to expand the Lync environment with an Edge Server and migrate all other resources.
To continue the migration progress we will reconfigure the routing of the federation traffic. This is because it’s currently still routed via the OCS 2007 R2 Edge Server.
Reconfiguring federation traffic
Maybe you remember that we did install and configure the Lync Server 2010 Edge Server. However, we didn’t finish the Lync Environment configuration completely. Till now we still used the OCS 2007 R2 Edge Server for federation traffic. So, before starting with removing the old OCS 2007 R2 pool, we will need to reconfigure this part.
To do so, open the Topology Builder and select the option Download topology from existing deployment.
Once downloaded, get the properties of the site and select the Federation route option. This will bring you to the current site configuration federation route assignment.
Change this value to Disable. Yeah, I know it sounds a bit strange, but it all will be clear in a short moment.
Close the properties window and publish the topology by selecting Publish Topology from the Actions menu. Wait till the topology has been published before continuing.
Select the Merge 2007 or 2007 R2 Topology from the Actions menu. Proceed to the second step and select Change.
This will launch a new wizard, leave all the steps set to the default values until you reach the page displayed below:
Uncheck the option This Edge pool is used for federation and public IM connectivity.
Proceed with the wizard and accept all default values until finished. Once the topology has been changed a warning will be displayed:
This warning can be ignored as we don’t want to use the OCS 2007 R2 anymore for federation, but instead we want to let the Lync Server 2010 Edge Server handle this. Publish the topology by selecting Publish Topology from the Actions menu. Wait till the topology has been published before continuing.
As no resources are hosted anymore by the OCS 2007 R2 environment, we will not change the configuration of the OCS 2007 R2 pool. If there are still some resources on it, don’t forget to modify the configuration of the OCS 2007 R2 pool to use the Lync Server 2010 Edge Server for federation and Public IM connectivity.
The next step in the process is to assign the Lync Server 2010 Edge Server to the Lync pool. Expand the Site and Edge pools and get the properties of the Edge Server.
Enable the option Enable federation for this Edge pool (Port 5061) and save the properties.
Get the properties of the site and go to the Site federation route assignment. Enable the option and select the Edge Server from the drop-down menu.
Close the properties and continue with configuring the outbound media path.
The path is used by media which needs to be sent to the outside world. This setting is configured on the Front End Server. Open the Standard Front End Servers node and get the properties of the Front End Server. Scroll down to the Associations part and enable the option Associate Edge Pool (for media components) and select the Lync Edge Server.
Close the properties and publish the topology by selecting Publish Topology from the Actions menu.
Completing the migration
Now that all resources have been moved we can break down the old OCS 2007 R2 pool. But before doing this you might need to migrate two additional things, the customized normalization rules and the conference directory
In some scenario’s customized normalization rules have been implemented to correctly display the numbers in the address book. In most cases this is needed if the phone number fields in Active Directory are not correctly configured.
If this is the case you will need to copy the file which contains the customized normalization rules to the Lync environment. Lync Server 2010 can’t handle each normalization rule. In case you have used white space or punctuations in your rules you will need to modify it. Each white space or punctuation needs to be replaced by a ?. If you don’t do this, Lync will fail to use the normalization rule.
For example:
1 |
\s*\( \s*\d\d\d\s*\)\s*\-\s*\d\d\d\s*\-\s*\d\d\d\d |
Will fail because of the white spaces, just replace the white spaces like this:
1 |
\s*\(?\s*\d\d\d\s*\)?\s*\-?\s*\d\d\d\s*\-?\s*\d\d\d\d |
And the rule will work.
The location of this file is different for both OCS 2007 R2 and Lync Server 2010. To copy the file, perform the following steps:
- Go to the OCS 2007 R2 Front End server
- Browse to c:\Program Files\Microsoft Communications Server 2007 R2\Web Components\Address Book Files\Files
- Search for the file called Company_Phone_Numer_Normalization_Rules.txt and copy it.
- Go to the Lync Server 2010 Front End server
- Browse to file share created for Lync
- Open the 1-WebServices-1 directory
- Open the ABFiles directory
- Put the copied file here
As mentioned earlier, the second thing we need to move is the conference directory. To move the conference directory we will need to use the Lync Management Shell. First check if the conference directory is still on OCS:
1 |
Get-CsConferenceDirectory | Where-Object {$_.ServiceID -match "ocs-fe.corp.local"} |
The example above will get all Conference directories which are hosted on the Front End Server ocs-fe.corp.local. It will give you the following output:
The last step is to move the directory:
1 |
Move-CsConferenceDirectory -Identity 9 -TargetPool lync-fe.corp.local |
The cmdlet won’t give you any output unless you add the -v parameter.
Once these steps have been completed we can start removing our OCS 2007 R2 environment.
Removing OCS 2007 R2
Before removing the OCS 2007 R2 environment make sure you have a backup of the following parts:
- Active Directory
- Backup of the individual databases
To confirm that no users are hosted on the OCS 2007 R2 environment anymore, there are two options:
- Use the OCS 2007 R2 Management Console
- Use ldifde to search for users who are hosted on the server
We will have a look at both methods now:
Management Console
- Open the management console
- Expand the Forest
- Expand the Standard Edition Servers node
- Expand the Front End Server name
- Select the Users node
- Confirm no users are listed
LDIFDE
Using LFIDE is a bit more complicated because we have to define the filter parameters ourselves:
1 |
ldifde -d "OU=Users,DC=corp,DC=local" -r "(msRTCSIP-PrimaryHomeServer= "CN=LC Services,CN=Microsoft,CN=OCS-FE,CN=Pools,CN=RTC Service,CN=Services,CN=Configuration,DC=corp,DC=local)" -l msRTCSIP-UserEnabled:TRUE -f SIPEnabledUsers.txt |
In the example above we will use both the msRTCSIP-UserEnabled and msRTCSIP-PrimaryHomeServer parameters as filters.
The first parameter will check if a user is enabled for OCS or Lync. Because we only want to check if there are users active on OCS we will need to use the second parameter.
The value used as the second parameter can be determined by using AdsiEdit. Browse to the OU that contains a user which is hosted on the OCS 2007 R2 server. Get the properties of this user and check the msRTCSIP-PrimaryHomeServer parameter:
If users are found an entry will be created in the SIPEnabledUsers.txt log file.
Once you have confirmed that no users are hosted on the OCS 2007 R2 environment anymore we can continue with the process.
Change the internal DNS records
First step will be to change the internal DNS records. If you forget to do this the automatic configuration option will not work anymore.
Change the following record(s):
- _sipinternaltls._tcp.domain.com¸ only if it points to the OCS 2007 R2 Front End Server directly
- sip.domain.com, if exists this record will need to point to the Lync Server 2010 Front End Server
Depending on the Time-To-Live (TTL) on the DNS records you might have to wait a few hours till the clients resolve the updated records.
You can test this by using nslookup, for example:
1 |
nslookup sip.domain.com |
If you want to verify the SRV record you will need to perform some additional steps:
When the records are updated correctly we can continue with the removal process.
Removing the OCS 2007 R2 Edge Server
We will continue with removing the OCS 2007 R2 Edge Server. The removal process exists out of two steps:
- Deactivating the server
- Remove the software
First step is deactivating the Edge Server. During this process, all settings will be removed from the Edge Server.
To deactivate the server perform the following steps:
- Login as a member of the RTCUniversalServerAdmins group
- Start Computer Management
- Expand the Services and Applications node
- Right click the Office Communications Server 2007 R2 and select the option Deactivate
- Follow the steps in the Deactivation Wizard
- Once the wizard is completed, check the log file to confirm the deactivation has completed successfully
The second step is removing the software from the server. This can be done by using the Add/remove programs or Programs and Features option in the control panel.
The separate software packages need to be removed in the following order:
- Microsoft Office Communications Server 2007 R2, Administrative Tools
- Microsoft Office Communications Server 2007 R2, Edge Server
- Microsoft Office Communications Server 2007 R2, Core Components
- Microsoft Office Communications Server 2007 R2, Unified Communications Managed API 2.0 Core Redistribution package
Once all software has been removed from the server, reboot the server. When the server has rebooted verify that the Microsoft Office Communications Server 2007 R2 services are not listed anymore in the services MMC.
Removing the OCS 2007 R2 Mediation Server
The second step in the removal process is removing the Mediation Server. To deactivate the Mediation Server log in via the OCS 2007 R2 management console.
- Login as a member of the RTCUniversalServerAdmins group
- Start OCS 2007 R2 management console
- Expand the Forest node
- Select the Mediation Servers object
- Right click the Mediation Server and select the option deactivate
- Follow the steps in the Deactivation Wizard
- Once the wizard is completed, check the log file to confirm the deactivation has completed successfully
Just like the Edge Server, the next step is to remove the software. Remove the software in the following order by using the Add/remove programs or Programs and Features option in the control panel:
- Microsoft Office Communications Server 2007 R2, Administrative Tools
- Microsoft Office Communications Server 2007 R2, Mediation Server
- Microsoft Office Communications Server 2007 R2, Core Components
- Microsoft Office Communications Server 2007 R2, Unified Communications Managed API 2.0 Core Redistribution package
When all software has been removed, reboot the server and verify no OCS 2007 R2 services are listed anymore in the services MMC.
Removing the OCS 2007 R2 Front End Server
The removal process of the Front End Server is a little bit more work. This is because the Front End Server hosts several applications. The deactivation of the roles needs to be performed in the following order:
- Conferencing Attendant
- Conferencing Announcement Service
- Response Group Service
- Outside Voice Control
- Application Host
- Application Sharing Server
- A/V Conferencing Server
- Web Conferencing Server
- Web Components Server
- Front End Server
Use the following steps to remove the roles:
- Login as a member of the RTCUniversalServerAdmins group
- Start OCS 2007 R2 management console
- Expand the Forest node
- Select the Standard Edition Servers node
- Right click on the Front End Server and select the option Deactivate
- Select the role which you would like to deactivate
- Follow the steps in the wizard
- Verify the log if the deactivation process has succeeded
Repeat this process for every role. Once all roles have been deactivated we can continue with removing the software. Open the Add/remove programs or Programs and Features option in the control panel and remove the software in the following order:
- Microsoft Office Communication Server 2007 R2, Administrative Tools
- Microsoft Office Communication Server 2007 R2, Conferencing Attendant
- Microsoft Office Communication Server 2007 R2, Conferencing Announcement Service
- Microsoft Office Communication Server 2007 R2, Response Group Service
- Microsoft Office Communication Server 2007 R2, Outside Voice Control
- Microsoft Office Communication Server 2007 R2, Application Host
- Microsoft Office Communication Server 2007 R2, Application Sharing Server
- Microsoft Office Communication Server 2007 R2, Audio/Video Conferencing Server
- Microsoft Office Communication Server 2007 R2, Web Conferencing Server
- Microsoft Office Communication Server 2007 R2, Web Components Server
- Microsoft Office Communication Server 2007 R2, Front End Server
- Microsoft Office Communication Server 2007 R2, Core Components
- Microsoft Office Communication Server 2007 R2, Unified Communications Managed API 2.0 Core Distribution package
- Microsoft Office Communication Server 2007 R2, Unified Communications Managed API 2.0 Speech Distribution package
- Microsoft Office Communication Server 2007 R2, Unified Communications Managed API 2.0 Windows Workflow Activities Redistribution package
When all the software has been removed, restart the server. Once the server has been restarted open the services MMC and confirm that the OCS 2007 R2 services have been removed.
Cleanup Active Directory
OCS 2007 R2 did need several service accounts which were used by the OCS 2007 R2 Services. Starting from Lync the services are running under the Network Service account. So the old accounts are not needed anymore.
If the default account names are used you can remove the following accounts:
- RTCComponentService
- RTCService
When these accounts have been cleaned up we can remove the OCS 2007 R2 configuration from the Lync Server 2010 Central Management Store.
Removing the OCS 2007 R2 from the CMS
To remove the OCS 2007 R2 configuration from the CMS we will need to use the Topology Builder. Open the Topology Builder and select the option Download topology from existing deployment.
First we will confirm that no OCS 2007 R2 Edge Servers are configured anymore. Select the option Merge 2007 or 2007 R2 Topology from the Actions menu.
Click Next to continue and confirm no Edge Servers are listed. If there are servers listed remove them click Next and follow the steps in the wizard to remove the config. If no servers are listed anymore click Cancel.
If the OCS 2007 R2 Edge Server configuration has been removed we can remove the complete OCS 2007 R2 configuration. To do this simply right click the BackCompatSite and select the option Delete.
When the site has been removed select the Publish Topology option from the Action menu and follow the steps in the wizard to publish the new topology.
Optionally you might want to remove the servers from OCS 2007 R2 Servers from the domain.
Do’s and dont’s
To finish the migration part, some dos and don’ts:
Do | Don’t |
Make a backup of every OCS server | Make changes during the migration process |
Use a pilot group which you migrate instead of a big-bang (doing all servers at once) | Don’t spend to less time during for testing the complete environment |
Create an issue list, this will help you during troubleshooting and future OCS -> Lync Migrations |
Summary
Here ends the last piece of the series of articles how to migrate from OCS 2007 R2 to Lync Server 2010. In this series of article we talked about how you can install Lync in an existing OCS 2007 R2 environment. We continued with integrating the OCS 2007 R2 environment with the Lync Server 2010 environment.
Finally, we discussed how to migrate the resources and removing the OCS 2007 R2 environment.
If you’ve got any questions don’t hesitate to contact me.
Load comments