{"id":550,"date":"2013-10-14T21:47:59","date_gmt":"2013-10-14T19:47:59","guid":{"rendered":"http:\/\/blog.lync2013.org\/?p=550"},"modified":"2014-05-13T13:04:12","modified_gmt":"2014-05-13T13:04:12","slug":"migrateocs2007","status":"publish","type":"post","link":"https:\/\/modern-workplace.uk\/?p=550","title":{"rendered":"Personal experience and pain points migrating OCS 2007 R2 to Lync 2013"},"content":{"rendered":"<p><span style=\"font-family: Georgia, Palatino;\">I was recently involved in an OCS 2007 R2 to Lync Server 2013 migration and I thought it would be a good idea to share my experience, with a specific focus on what went wrong, unexpected, or undocumented.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">I won\u2019t get into the details on how to migrate. This is already widely documented on a number of blogs as well as TechNet (<a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/jj205375.aspx\">http:\/\/technet.microsoft.com\/en-us\/library\/jj205375.aspx<\/a>).<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">ENVIRONMENT: OCS 2007 R2. Two-node Enterprise pool, no external deployment (edge servers). Polycom CX-700 phones. Two Sonus (NET) VX 1200 gateways terminating an ISDN-30 trunk each and used as hybrid gateways (that is, they served as mediation servers and no OCS mediations are present). OCS is the main voice platform for the customer. No other PBX or phones were present.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Below were my pain points in order of occurrence.<\/span><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<h5><span style=\"color: #000000; font-weight: bold; font-family: Georgia, Palatino;\">TOPOLOGY MERGE<\/span><\/h5>\n<p><span style=\"font-family: Georgia, Palatino;\">Adding the Lync pool was a nifty and painless work, until topology merge. Next steps, that is, merging the topology and importing legacy configuration to Lync is where I had suspected some possibly unpredictable results due to the hybrid gateways model in OCS 2007 R2. I have struggled finding specific documentation about migrating such scenario. Biggest question mark is would Lync pool be able to use media gateway based mediation? I assumed that could be a no.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Merging topologies on the topology builder was an apparently straightforward step with the following warnings on the log:<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>2013-09-25 14:04:56 INFORMATION :\u00a0 No new Mediation Server added to the Office Communications Server 2007 \/ Office Communications Server 2007 R2 deployment.<br \/>\n<\/em><em>Cannot find any Office Communications Server 2007 \/ Office Communications Server 2007 R2 &#8220;MediationServer&#8221; in the deployment<br \/>\n<\/em><em>List of Office Communications Server 2007 \/ Office Communications Server 2007 R2 &#8220;Trusted application server&#8221; roles being migrated<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>Cluster fully qualified domain name (FQDN) &#8220;vx1.contoso.local&#8221;<br \/>\n<\/em><em>Computer fully qualified domain name (FQDN) &#8220;vx1.contoso.local&#8221;<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>2013-09-25 14:04:56 INFORMATION:\u00a0 UCMA application with the cluster fully qualified domain name (FQDN) &#8220;vx1.contoso.local&#8221; does not depend on a pool.<br \/>\n<\/em><em>2013-09-25 14:04:56 INFORMATION:\u00a0 UCMA application with the cluster fully qualified domain name (FQDN) &#8220;vx2.contoso.local&#8221; does not depend on a pool.<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">The result was media gateways being added as trusted application entries in the BackCompatSite.<\/span><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<h5><span style=\"font-family: Georgia, Palatino;\">IMPORT LEGACY CONFIGURATION<\/span><\/h5>\n<p><span style=\"font-family: Georgia, Palatino;\">As no OCS 2007 R2 mediations servers were detected in the legacy topology, I wondered how the legacy configuration import procedure would react, and I was ready to redo the voice configuration in Lync if required. I run:<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em><strong>Import-CsLegacyConfiguration<\/strong><\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">I got the following warning for each route and gateway:<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>2013-09-25 14:10:23 WARNING:\u00a0 Cannot find a Mediation Server with the fully qualified domain name (FQDN) &#8220;vx2.contoso.local&#8221;. Run &#8220;Merge-CsLegacyTopology&#8221; cmdlet before using this cmdlet or make sure that a PSTN route is pointing to a valid Mediation Server. Skipping creation of a Lync Server 2013 PSTN route setting with the name &#8220;Emergency Services&#8221;. numberPattern:\u00a0 &#8220;^(+999$)&#8221;<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">It seemed, Lync was expecting to see domain-joined \u201cproper\u201d mediation servers in the topology but that was not the case.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">The result on Lync topology and configuration was the following:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: Georgia, Palatino;\">Dial Plans (aka <em>location profiles<\/em> in OCS) were migrated fine<\/span><\/li>\n<li><span style=\"font-family: Georgia, Palatino;\">PSTN usages were migrated fine<\/span><\/li>\n<li><span style=\"font-family: Georgia, Palatino;\">Routes were migrated fine, despite the warning above saying <i>Skipping creation of a Lync Server 2013 PSTN route setting with the name (\u2026). <\/i>However, all had a null (empty) gateway.<\/span><\/li>\n<li><span style=\"font-family: Georgia, Palatino;\">Media gateways were imported in the legacy topology (BackCompatSite) as trusted application servers<\/span><\/li>\n<li><span style=\"font-family: Georgia, Palatino;\">No media gateways or trunks were migrated in the Lync topology<\/span><\/li>\n<\/ul>\n<p><span style=\"font-family: Georgia, Palatino;\">Rather than trying to have Lync 2013 use the mediation on the hybrid gateways, I re-added the VXs as PSTN gateways and created new trunks both on Lync topology and media gateways so that migrated users would immediately be using the new Lync routes and mediation servers.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">There was an additional warning in the legacy configuration import. This was a widely documented exception, as Lync 2013 does not accept certain characters in names.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>2013-09-25 14:10:23 WARNING:\u00a0 Policy\/setting name\u00a0 &#8211; &#8220;Service: Medium&#8221; has either &#8220;:&#8221; or &#8220;\/&#8221;. Import-CslegacyConfiguration is replacing them with &#8220;_&#8221; before migrating them. Office Communications Server 2007\/Office Communications Server 2007 R2 policy\/setting name\u00a0 &#8211; &#8220;Service: Medium&#8221;. Lync Server 2013 policy\/setting name &#8211; &#8220;Service_ Medium&#8221;<\/em><\/span><\/p>\n<hr \/>\n<h5><\/h5>\n<h5><span style=\"color: #000000; font-weight: bold; font-family: Georgia, Palatino;\">RESPONSE GROUP MIGRATION<\/span><\/h5>\n<p><span style=\"font-family: Georgia, Palatino;\">By all extent, the hugest pain point and that did not come out as an utter surprise, as past experience and diverse publicly available literature suggest this is not a hassle free step.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">With this in mind, before migration I strongly suggest to:<\/span><\/p>\n<ol>\n<li><span style=\"font-family: Georgia, Palatino;\">Carefully document every low-level aspect of existing response groups: queues, agents, groups, workflows, <span style=\"text-decoration: underline;\">everything<\/span>. Level of detail must allow you to recreate all response groups from scratch on Lync, in case anything goes VERY wrong. Might require some time but do yourself a favour and don\u2019t overlook this step. In my case, with around 80 objects among workflows, queues and groups to document took a while, but it worth every second.<\/span><\/li>\n<li><span style=\"font-family: Georgia, Palatino;\">Backup the response groups on OCS. Use the following command:<em><strong>applicationsettingsexport.exe \/backup \/pool:ocspool.contoso.com \/applicationID:Microsoft.RTC.Applications.Acd \/file:ResponseGroupExport.xml<\/strong><\/em><\/span><\/li>\n<li><span style=\"font-family: Georgia, Palatino;\">Do a sanity check on OCS response groups:<\/span><\/li>\n<\/ol>\n<ul>\n<li><span style=\"font-family: Georgia, Palatino;\">remove all orphaned agents<\/span><\/li>\n<li><span style=\"font-family: Georgia, Palatino;\">Ensure you have not renamed any of the agents in AD. There have been reports of RG migration failing because agents had certain uses attributes (name) changed in AD. If in doubt, remove the agent and add it back to the agent lists as well as in any other group.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-family: Georgia, Palatino;\">Once done, I run the following to migrate response groups from OCS to Lync:<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em><strong>Move-CsRgsConfiguration -Source ocspool.contoso.com -Destination lyncpool01.contoso.com<\/strong><\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Worth mentioning:<\/span><\/p>\n<ol>\n<li><span style=\"font-family: Georgia, Palatino;\">This is a one-off step. You cannot migrate selected response groups or objects. It&#8217;s all or nothing.<\/span><\/li>\n<li><span style=\"font-family: Georgia, Palatino;\">The only RG resources actually &#8220;moved&#8221; to Lync are the contact objects representing the RG along with related sip uri. Lync now becomes the RG owner. All other objects (queues, workflows, agents) are simply \u201cmirrored\u201d to Lync, and a copy of everything is retained on OCS for rollback purposes (however, you cannot use the above command for that). \u00a0After the service has been migrated, all calls to a Response Group phone number will be handled by Lync 2013. Calls will no longer be handled by OCS.<\/span><\/li>\n<li><span style=\"font-family: Georgia, Palatino;\">There are several other requirements before you can run the command. Check <a style=\"font-style: normal;\" href=\"http:\/\/technet.microsoft.com\/en-us\/library\/gg398782.aspx\">http:\/\/technet.microsoft.com\/en-us\/library\/gg398782.aspx<\/a> for more details.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-family: Georgia, Palatino;\">I run the command and apparently got no errors when executing. As usual with PowerShell, no output is displayed if successful (unless you use the <em><strong>\u2013verbose<\/strong><\/em> switch).<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">I then checked all RG objects would show up on Lync, and so it was. I tried to PSTN call to one response group, but failed. However, same response group could be called through a Lync call. A quick check lead me to determine the tel uri field in all workflows (around 20) was empty.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">I was far less than excited realising not all information was migrated over, but as everything else seemed to have been copied fine, I assumed it was just a matter of repopulating the tel uri again.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">I tried with the first workflow, and next bad surprise showed up:<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>Response Group Update Failure : An instance with ID &#8220;a0624626-2744-40c4-b2f7-b2e2a99c8a95&#8221; exists with a different OwnerPool. Changing OwnerPool on an existing object is not supported.<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">An apparently undocumented error, or, at least, unknown to Google \ud83d\ude42<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Furthermore, strange entries showed up on OCS pool servers.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>Log Name: Office Communications Server<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Source: OCS User Services<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Date: 10\/9\/2013 5:46:11 PM<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Event ID: 30951<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Computer: OCS-FE1.contoso.local<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Description:<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Active Directory indicates that user is homed on a different server but user data exists on this server as well.<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Active Directory Object with guid {C99F9636-53C6-4760-857D-36FFCD54F667} and SipUri rg1@contoso-int.com is listed as being homed on lyncpool01.contoso.com.<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Cause: It is possible that the Active Directory attribute msRTCSIP-PrimaryHomeServer has been incorrectly modified or the user has been improperly re-homed using outdated administration tools.<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Log Name: Office Communications Server<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Source: OCS Response Group Service<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Date: 10\/9\/2013 5:46:11 PM<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Event ID: 31053<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Computer: OCS-FE1.contoso.local<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Description:<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Office Communications Server 2007 R2, Response Group Service was not able to establish the application endpoint.<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>The following exception occurred when establishing application endpoint associated with &#8216;sip:rg1@contoso-int.com&#8217;: Microsoft.Rtc.Signaling.RegisterException &#8211; 482 &#8211; The endpoint was unable to register. See the ErrorCode for specific reason..<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Cause: Failed to connect to Front End server or the Front End server is misconfigured.<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Resolution: Check the Front End server for errors.<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>Log Name: Office Communications Server<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Source: OCS Response Group Service<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Date: 10\/9\/2013 5:46:11 PM<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Event ID: 31189<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Computer: OCS-FE1.contoso.local<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Description:<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Application endpoint has been terminated and Office Communications Server 2007 R2, Response Group Service has recreated it.<\/em><\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> <em>Application endpoint associated with &#8216;sip:rg1@contoso.com&#8217; has been terminated and Office Communications Server 2007 R2, Response Group Service has recreated it.<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Long story short, I was unable to change <span style=\"text-decoration: underline;\">anything<\/span> in the workflow. With little time available to determine the root cause, I tried to delete and recreate all workflows. Fortunately, that worked and RGs were back in service in around one hour. I didn\u2019t regret any minute spent documenting \ud83d\ude42<\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> Surprises were not over, however. The next morning, as the customer attempted to add an agent to a group, a now \u201cfamiliar\u201d exception knocked the door again:<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">To recreate or not to recreate groups? With functional RGs and enough time for a deep analysis, I decided to investigate further on the root cause.\u00a0First step, a Lync trace confirmed the error:<\/span><\/p>\n<p><a href=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/error1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1077\" src=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/error1.jpg\" alt=\"error1\" width=\"500\" height=\"450\" srcset=\"https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error1.jpg 602w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error1-300x270.jpg 300w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error1-200x180.jpg 200w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error1-499x450.jpg 499w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/error2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1078\" src=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/error2-300x80.jpg\" alt=\"error2\" width=\"400\" height=\"107\" srcset=\"https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error2-300x80.jpg 300w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error2-1024x273.jpg 1024w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error2-200x53.jpg 200w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error2-580x155.jpg 580w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error2.jpg 1088w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Then pointed the finger to the SQL backend, specifically to the <b>rgsconfig <\/b>database where response groups configuration is stored; specifically, searching for possibly conflicting guid on the <em>OwnerPoolID<\/em> or wrong <em>OwnerPool<\/em>.<\/span><br \/>\n<span style=\"font-family: Georgia, Palatino;\"> First check was in the <i>dbo.OwnerPo<\/i><i>ol<\/i> table and took a note of the Lync pool ID to determine if that would be the correct one in other objects:<\/span><\/p>\n<p><a href=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/error3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1079\" src=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/error3-300x144.jpg\" alt=\"error3\" width=\"400\" height=\"192\" srcset=\"https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error3-300x144.jpg 300w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error3-200x96.jpg 200w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error3-580x278.jpg 580w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error3.jpg 956w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Then searched in the <i>dbo.AgentGroups<\/i> table for the OwnerPoolID field. I was expecting a wrong value; surprisingly, all values were NULL.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">I then manually copied the Lync pool ID (retrieved from the <i>dbo.OwnerPool<\/i> table) for one of the groups, and tried again to add a member to the group. This time, it worked!<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Resolution was then to populate all <i>OwnerPoolID<\/i> fields for each object with the ID value in the <i>dbo.OwnerPool<\/i> table, including groups and queues.<\/span><\/p>\n<p><a href=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/error4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-1080\" src=\"https:\/\/modern-workplace.uk\/\/wp-content\/uploads\/2014\/05\/error4-300x165.jpg\" alt=\"error4\" width=\"400\" height=\"221\" srcset=\"https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error4-300x165.jpg 300w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error4-200x110.jpg 200w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error4-580x320.jpg 580w, https:\/\/modern-workplace.uk\/wp-content\/uploads\/2014\/05\/error4.jpg 1014w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">Not everyone might like the idea of fiddling around with raw databases and manually modify one by one. It all depends on how big and complex your RGs are, if you ever run into the same issue. Alternatively, you might just want to delete and recreate objects. In my case, newly created objects got the <em>OwnerPoolID<\/em> populated correctly.<\/span><\/p>\n<hr \/>\n<p>&nbsp;<\/p>\n<h5><span style=\"font-family: Georgia, Palatino;\">MIGRATE CONFERENCING DIRECTORIES<\/span><\/h5>\n<p><span style=\"font-family: Georgia, Palatino;\">As part of the migration process, conferencing directories must be migrated from OCS to Lync. If you follow TechNet verbatim, they will tell you to do it before deactivating and decommissioning the Lync pool (check <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/jj205300.aspx\">http:\/\/technet.microsoft.com\/en-us\/library\/jj205300.aspx<\/a>). However, if you do it now, you will later experience the following error while deactivating the Conferencing Attendant component:<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\"><em>A call to a subtask failed.: The call to subtask AppServer.GetAppState failed. Pool is not ready.<\/em><\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">To resolve this issue, temporary relocate the conferencing directory back from Lync to OCS 2007 R2 via the <em><strong>Move-CsConferenceDirectory<\/strong><\/em> cmdlet.\u00a0The detailed process is greatly described in Lee Desmond\u2019s blog: <a href=\"http:\/\/www.leedesmond.com\/weblog\/?p=749\">http:\/\/www.leedesmond.com\/weblog\/?p=749<\/a>.<\/span><\/p>\n<p><span style=\"font-family: Georgia, Palatino;\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I was recently involved in an OCS 2007 R2 to Lync Server 2013 migration and I thought it would be a good idea to share my experience.<\/p>\n","protected":false},"author":1,"featured_media":1219,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_sitemap_exclude":false,"_sitemap_priority":"","_sitemap_frequency":"","twitterCardType":"","cardImageID":0,"cardImage":"","cardTitle":"","cardDesc":"","cardImageAlt":"","cardPlayer":"","cardPlayerWidth":0,"cardPlayerHeight":0,"cardPlayerStream":"","cardPlayerCodec":"","footnotes":""},"categories":[18,19,14],"tags":[210,211,212,213,214,215,216,217,218,702,100,32,33,35,36,142,26,219,44,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234],"class_list":["post-550","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-english","category-lync","category-microsoft","tag-active-directory-indicates-that-user-is-homed-on-a-different-server-but-user-data-exists-on-this-server-as-well","tag-application-endpoint-has-been-terminated-and-office-communications-server-2007-r2","tag-applicationsettingsexport-exe","tag-cannot-find-a-mediation-server-with-the-fully-qualified-domain-name","tag-dbo-agentgroups","tag-dbo-ownerpool","tag-hybrid-gateway","tag-import-cslegacyconfiguration","tag-it-is-possible-that-the-active-directory-attribute-msrtcsip-primaryhomeserver-has-been-incorrectly-modified-or-the-user-has-been-improperly-re-homed-using-outdated-administration-tools","tag-lync","tag-lync-2013-2","tag-lync-2013-client","tag-lync-2013-server","tag-lync-client","tag-lync-microsoft","tag-lync-migration","tag-lync-server","tag-mediation","tag-microsoft-lync-2013","tag-net-vx","tag-ocs","tag-ocs-2007-lync-2013-migration","tag-ocs-2007-r2","tag-ocs-2007-r2-migration","tag-ocs-lync-migration","tag-ocs-migration","tag-office-communications-server-2007","tag-ownerpool","tag-ownerpoolid","tag-response-group-service-has-recreated-it","tag-response-group-update-failure-an-instance-with-id-exists-with-a-different-ownerpool-changing-ownerpool-on-an-existing-object-is-not-supported","tag-rgsconfig","tag-run-merge-cslegacytopology-cmdlet-before-using-this-cmdlet-or-make-sure-that-a-pstn-route-is-pointing-to-a-valid-mediation-server","tag-topology-merge"],"_links":{"self":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts\/550","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=550"}],"version-history":[{"count":3,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts\/550\/revisions"}],"predecessor-version":[{"id":1409,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/posts\/550\/revisions\/1409"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=\/wp\/v2\/media\/1219"}],"wp:attachment":[{"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=550"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=550"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/modern-workplace.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=550"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}