The joys of complicated environments… In this failure, the company has a private internal name space and a public facing external name space. Actually, it is a bit more complicated, but I have simplified it for this blog post. For example, if they had Contoso.com for their public name space and Contoso.local for their internal name space, then the servers would be named:
- Pool.Contoso.local for the OCS 2007 Pool
- LyncPool.Contoso.local for the Lync Pool
- Edge.Contoso.com for the Edge server
If they were using Contoso.com, then all of the 2007 R2 users would use Contoso.com SIP addresses.
The Office Communications Server 2007 R2 Edge was installed and working like a dream with the OCS 2007 R2 Pool. The new Lync Pool was installed and appeared to be working fine. However, every time we tried to use the Merge 2007 or 2007 R2 Topology option from the Actions pane, life became not so fun.
We tried several iterations of external names and next hop names using both the internal and external name spaces and then tried all external name spaces names (after setting up name resolution for all names using the external name space) and all internal names, too. Failure after failure gave us the following error message.
System.Management.Automation.CmdletInvocationException: All domains defined in Lync Server 2010 must be same as domains defined in “Office Communications Server 2007” / “Office Communications Server 2007 R2” before you can continue merging the topology. —> System.Exception: All domains defined in Lync Server 2010 must be same as domains defined in “Office Communications Server 2007” / “Office Communications Server 2007 R2” before you can continue merging the topology. at System.Management.Automation.MshCommandRuntime.ThrowTerminatingError(ErrorRecord errorRecord) — End of inner exception stack trace — at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate) at System.Management.Automation.Runspaces.LocalPipeline.InvokeHelper() at System.Management.Automation.Runspaces.LocalPipeline.InvokeThreadProc()
After many attempts, we went and reviewed the different SIP names and then made sure that the same SIP domain names were used for both pools and the Edge. Of course, it still failed with exactly the same error. It was getting exasperating.
Well, as a stroke of luck, a help desk ticket was put in for an error that one of the users was seeing regarding Live Meeting creation. The fix for this problem was the fix for the merge issue.
The cert on the OCS pool had expired during the installation time frame. Wow, not only was that painful, but the error certainly didn’t point us anywhere near what the actual problem was in this case.