It’s becoming more and more common to see Lync deployments with a single SIP domain in organizations that have multiple geographically dispersed pools. However, deploying Lync within this scenario can cause quite the confusion due to the different URLs Lync uses in each pool. Typically, you can only have one set of URLs for an entire SIP domain, regardless of the number of pools. The biggest problem: How do you keep conference URLs active for everyone else when one pool fails? In this article, I will focus only on deploying dedicated Simple URLs for a multi-pool company: Contoso, LLC.
Let’s make a few assumptions about the example organization up front:
The basic Topology for Contoso LLC is represented in the following illustration:
Setting up the URLs
During the deployment stages, the New Topology Wizard walks you through the steps to complete your topology for publishing. The Simple URLs are created by default to use Dialin and Meet along with the SIP Domain for the URL. These are completely editable, as I show below. I changed my Simple URLs to represent the conferences hosted in the NA Pool, I then created the required DNS entries (dialin-na.contosollc.com, etc) to point users to the NA Pool servers.
So the conferencing capabilities are setup at this point so users in both the NA and EU pools can send out invites. Conferences are hosted on the NA Pool Servers, but as mentioned above: 1) conferencing is very important and 2) Pool Resiliency is a must.
Failure Scenarios
So what happens if the North America Pool goes down in this scenario? Well, the NA users failover to EU with limited capabilities, as expected. But the users currently homed on the EU Pool should still have all the functionality of Lync available to them, correct? You would think so, however… In this scenario, EU users are impacted quite heavily. All Lync functionality stays the same for them with the exception of conferencing. If they attempt to create a conference, the conference will fail because the NA pool was hosting the URLs and URLs don’t failover. Now, all of Contoso LLC is in a world of hurt, not just Contoso NA. Because no one can have conferences with Adatum and that has a profound effect on their widget-making business.
Unfortunately, in the Edit Properties screen cap above, you cannot just add in the URLs for the EU pool. The Simple URLs added to that properties box can only support a single active URL. If you add EU URLs, all conferences are hosted on EU, so now the point of failure is just shifted to EU. Not all is lost however, because we can add the additional set of URLs using the Lync Management Shell! Shout out to Haiku!
Adding the Additional URLs to Each Pool
This step is mandatory for the URLs and must be read carefully. The commands must reflect the new URLs you want to use for the additional Pool(s) and also the Site name created for the pool(s). We will keep the NA URLs above, so the NA Pool is taken care of with https://dialin-NA.contosollc.com and https://meet-na.contosollc.com. This step is to create https://dial-eu.contosollc.com and https://meet-eu.contosollc.com.
- Open the Lync Server Management Shell
- At the Lync Management Shell, enter the following command:
New-CsSimpleUrlConfiguration –id site:eupool |
- Once the command has been entered, press Enter
- Next, enter the following command:
$urlEntry = New-CsSimpleUrlEntry –Url “https://meet-eu.contosollc.com” |
- Once the command has been entered, press Enter
- Next, enter the following command:
$simpleUrl = New-CsSimpleUrl –Component “meet” –Domain “contosollc.colm” –simpleUrl $urlEntry –ActiveUrl “https://meet-eu.contosollc.com” |
- Once the command has been entered, press Enter
- Next, enter the following command:
$urlEntry2 = New-CsSimpleUrlEntry –Url “https://dialin-eu.contosollc.com” |
- Once the command has been entered, press Enter
- Next, enter the following command:
$simpleUrl2 = New-CsSimpleUrl -Component “dialin” -Domain “*” -SimpleUrl $urlEntry2 -ActiveUrl “https://dialin-eu.contosollc.com” |
- Once the command has been entered, press Enter
- Next, enter the following command:
Set-CsSimpleUrlConfiguration -Identity “site:eupool” -SimpleUrl @{Add=$simpleUrl,$simpleUrl2} |
- Once the command has been entered, press Enter
- After all commands have been successfully executed, enter the following command:
- Once the command has been entered, press Enter
- Close the Management Shell window
Finishing Up
Once these steps are complete, you must run the Certificate Request from the Deployment Wizard on each Front End Server in the EU pool. This will add the new Simple URLs to the certificate. Also, you must create the appropriate DNS entries to match the new URLs as well. Once this is complete, the meeting requests will now reflect the new URLs for the EU users when meetings are created.
References:
http://blogs.technet.com/b/csps/archive/2011/08/17/haiku174.aspx
http://technet.microsoft.com/en-us/library/gg413029.aspx ;
Nice article Jason!
From a bandwith and meeting experience perspective it also might make sense to do this to keep meeting traffic islolated to the respective pools. This would also required a local Proxy and Edge server in each site. It also increases complexity which should be considered too…
I’m wondering how this might change if this company was now running Lync 2013? Assuming they were doing paired pools, conferencing for NA users would be restored on EU pool once an admin initiated a CSPoolFailover from NA Pool to EU Pool.
You would then need to redirect the simple urls and external web services to the EU Reverse Proxy. Scenario would also require an Edge Server running in EU site and appropriate DNS records setup.
Interested in your thoughts on this.
Hey Dino,
Sorry for late reply. You are correct on the first part of your comment to the blog post; I wrote this post from a scenario with EU and NA pool and we did deploy Edges and RPs in both locations. The traffic flows were complex and required some detail visio’s and explanation!
As for the new pairing capabilities in Lync Server 2013- As I’m sure you and I both know, we haven’t had a chance to discover all the nuances of Lync Server 2013 that our Lync community found in Lync 2010. At first release, I was wondering the same thing; “How do we handle URL’s based on how Lync Server 2010 worked?” So, I’m in the middle of my first run of Lync Server 2013 migrations so I’m unraveling those thoughts as I type this.
In a paired scenario, both Pools serve the simple URLs equally using the same names. Although your DNS will be sending Meet/Dialin to a single Pool such as the NA pool, EU users will still have their conference spawn and remain hosted on the EU Pool even though their web request will go to the NA pool. In the event that NA goes down, you would simply point the Meet/Dialin A-records to EU, or have DNS TTL set to automatically use the EU Pool if NA expired. You will not, however redirect webservices. Once you are moved during Failover, you are not part of that pool, so you would use the webservices URL of that pool.
If you have discovered anything to the contrary, please reply!
Thanks Jason – I’m also starting a deployment like this so will keep you posted on the outcome.
simply great Artical Thanks
DID geo dns address this issue?