Monday, September 13, 2010

Configuring Location Services in Lync Server 2010 - Part 1

What is Lync Server 2010, you may ask?  If you haven't seen it mentioned anywhere else yet, then I guess I'm the first to let you know that CS "14" is now officially known as Microsoft Lync Server 2010.  The client is simply known as Lync 2010.  I'm not all that crazy about the name yet, but hopefully it will grow on me. If you want to try it out, the release candidate is now publically available from here.  You really should put it in a lab, but I've been running it in a limited production environment for several months now with very few issues. Its a very solid product. Now on to our regularly scheduled posting....

One important feature added to Lync Server 2010 is support for E.911.  E.911 (or Enhanced 911) is the next-generation of 911 emergency services in North America.  It provides location information for non-landline-based telephone numbers, like mobile phones and IP phones. 

The three most important things to note about E.911 is the same three things you need to worry about with real estate:  location, location, location.  Due to the inherent mobility of Lync users, it is critical that the telephony solution provide some manner of ensuring users can be automatically located in the event of a 911 emergency call. 

Lync Server 2010 provides several ways to ensure locatability (is that a word?).  The simplest method is to allow or force users to enter their location information at login to Lync.  By default, this feature is turned off in Lync Server 2010 RC, but you can enable it by typing the following command:
Set-CSLocationPolicy -Identity Global -EnhancedEmergencyServicesEnabled:$TRUE -LocationRequired:Yes
The default Location Policy is called Global, but you can create new site-level or user-level location policies if required by your deployment.

EnhancedEmergencyServicesEnabled enables the location features in Lync Server 2010. This must be set to $TRUE for anything else to work.

LocationRequired can be set to No (Don't prompt for location), Yes (prompt for location, but allow user to ignore) and Disclaimer (prompt for location and don't allow user to ignore).  If LocationRequired is set to Yes, users will see Set Your Location when they log into Lync for the first time at an unrecognized location:

If LocationRequired is set to Disclaimer, users will see the following:

If they dismiss the prompt, a message like this will pop-up:
The message can be changed by using the command Set-CsEnhancedEmergencyServiceDisclaimer.  The current documentation says that when using the Disclaimer option, users will not be able to make non-emergency calls if they ignore the prompt, but in the Release Candidate I was still able to make calls. 

When they type in a location name such as Home, a dialog box will pop up with additional address information:

To make this information available to emergency services, you have to make a few more modifications to the location policy using Set-CSLocationPolicy:
Set-CSLocationPolicy Global -EmergencyDialString "911" - EmergencyDialMask "112" -PSTNUsage "Emergency"
EmergencyDialString is the number that will be treated as being an emergency call. The call SIP data will include the user's location. This is 911 in North America.

EmergencyDialMask is an alternate number that will be converted to EmergencyDialString for the location profile. In this case, 112 (emergency dial number for many countries) would be converted to 911 and treated as an emergency call.

PSTNUsage is the Phone Usage that will be used to route the emergency call. In this example, I used "Emergency", which is a Phone Usage I created that contains a route for 911 calls. 

With this enabled, your users will be able to input their own specific location information so that emergency services can easily find them if they call 911.  The nice thing about it is that if a user goes to several locations and properly enters their address information, Lync will recognize those locations and will select it automatically the next time they are at that location. 

However, since this particular solution depends on users inputting their location information correctly, it isn't ideal for a corporate setting.  My next blog posting will detail how administrators can assign locations to users based on information stored in a central database.

Until then,


  1. Any way to get this to work within remote desktop? Seems to be the 1 place you would want to be able to set your location so others know exactly where you are!

  2. When running Lync via Remote Desktop, the reported location won't be where you actually are. There's no way Lync can know the IP address you're connecting to the Remote Desktop from. The only way to make this work is to manually input your location.

  3. It doesn't let you manually input your location though. Option is greyed out. Feels like a massive flaw in the design. One main advantage for Lync is letting others know your availability and where you are. But how can you let people know where you are if you can't update your location when remote?

    Thanks though :-)

  4. excellent information

  5. The lack of an ability to set the location when RDP'd to your machine is slightly irritating. When I'm at my desk, I don't care if I can change my location. However, I RDP to my PC from various locations around the office and it would be nice to let people know NOT to page me at my desk. I have to use the status update to relay my location. We don't use Lync as a phone, so 911 service has no bearing. It is simply a chat client/in-out board for us.

  6. The lack of support to configure the location from within an RDP session is a massive flaw.
    I could not agree more with the comments I read where the one time I want to set a location is when I'm remote.

    One can only hope that a developer at Microsoft who actually uses the product decides to change this.

  7. Ken I'm hoping you can help me out here! I'm in a situation where I have 6 seperate sites that share an IP subnet (non vpn just lucky to have Fiber!). Most users will be using soft phones, and will be moving from site to site. I'd like to pre-populate the Location database with each of my sites, and then let them Pick from those and no others. Is that possible?

    1. Hey Johnny,
      You can populate the location database using subnet, wireless access point MAC-addresses, switches, and even switch ports. You don't have to do subnet. I have a follow-on post on the topic that outlines that.