Tuesday, September 14, 2010

Configuring Location Services in Lync Server 2010 - Part 2

In my last post, I talked about how to configure Lync Server 2010 to allow users to enter their detailed location in Lync 2010 for use during a call to E.911 emergency services.  Today, I will talk about how to create and manage a central location database, and how to link the location information with your users.

Giving users the ability to manually input their location is important, especially when they are outside the office. However, when inside your corporate network, requiring all your users to input their specific location is an unnecessary burden, not to mention the inevitable errors that can delay emergency services.  Lync Server 2010 allows administrators to create a database of locations that map to your internal network topology. 

Location information can be set as high level as an entire internal network subnet, or can be as granular as individual switch ports.  Lync Server 2010 allows you to link locations to the following:
  • IP subnet via Set-CSLISSubnet
  • Wireless access point (basic service set identifier (BSSID)) via Set-CSLISWirelessAccessPoint
  • Switch (either MAC or IP address) via Set-CSLISSwitch
  • Switch port (switch MAC or IP address and port ID) via Set-CSLISPort
When you create a location database entry using the above Powershell commands, you can also enter all the location-specific information you have available. Hopefully, you have all the information you need in a CSV file that you can manipulate and import, saving you the tedium of manual entry. One thing to note is to make sure you DON'T publish any VPN subnets in your database. Since users who VPN in could be physically anywhere, you don't want to have their location be set to the office when they're really at home.  When a user is at home, they will have to enter their location information manually, as described in yesterday's post.

Once you've populated the location information database, you should validate it against the Master Street Address Guide (MSAG) maintained by your E911 call routing provider.  Microsoft has partnered with a few E911 routing providers in the US: 911 Enable and Intrado, with more to follow.  I understand that there will also be some E911 routing providers in Canada at some point as well.  If you don't have a E911 provider, you can skip these steps and continue on to publishing.

You setup your connection to your E911 provider using the following command:
$pwd = Read-Host –AsSecureString <password>
Set-CsLisServiceProvider -ServiceProviderName <Name> -ValidationServiceUrl <ProviderURL> -CertFileName <ProviderCert> -Password $pwd
Once setup, you can validate your addresses via the following command:
Get-CsLisCivicAddress | Test-CsLisCivicAddress –UpdateValidationStatus
You can also test addresses individually using Test-CSLisCivicAddress by itself.

Once you've validated your addresses (assuming you have a E911 provider), you have to publish the database:
If you successfully validated your addresses, your users' location will be automatically set when they are in a supported location (and can't be changed). 

If you are outside the US and can't validate your addresses against a MSAG provider, your users will see the following when they click on Set your Location:

The Suggested Location is populated from the Location Database information.  When a user selects the Suggested Location, they are brought to the same location information entry screen as when the user is outside a corporate network, except the address information is already populated. 
The user just has to type in a Location Name that is shown to other users.  The next time the user is at this location, the location will be automatically set.

For the location to be auto-populated, the civic addresses entered have to be validated against a MSAG.  If you're outside the USA, you won't be able to do this. 

An UNSUPPORTED way to gain the same auto-location setting capabilities for non-US installations is to directly edit the dbo.CivicAddresses table in your LIS database using SQL Management Tools and change the MSAGValid field from False to True on all your civic addresses.  If you're running Lync Standard Edition, install the SQL Server 2008 R2 Express Management Tools, or use SQL Management Tools from another SQL server. Keep in mind that this is UNSUPPORTED, and I can't be liable for any issues that arise. If you're unfamiliar with SQL, its best to leave things alone.

UPDATE:  The January 2011 Rollup 1 for Lync 2010 includes an update that removes the requirement for addresses to be validated against a MSAG. 

This post is meant as a basic overview of how to enable location services in Lync Server 2010.  If you want more detailed information on specific aspects of how to perform location or E911 tasks, please refer to the help documents contained with the Lync Server 2010 RC eval.


  1. Any advice how can I access (and edit) to that database?

  2. I've updated the second-to-last paragraph with more instructions on editing the LIS database. If you find these instructions not specific enough, then its probably best to leave things alone. :)


  3. Thank you. Especially from that UPDATE-information. :) No need to manipulate database anymore.

  4. Anyone notice after updating clients it only gives the Company Name and City in the location information? There is also no way to tag that location with a custom Location Name because it no longer gives an option for a suggested location.

  5. Hi Ken, I'm having a problem where all of my /24 subnet sites work perfectly but any site using a /27 or any other subnet (these sites are also vlan'd so they're /27 with varying default gateways) do not pick up the location. Any ideas?


  6. I have not come across that issue myself. All the subnets I define have always been /24. Sorry!


  7. HI,
    I am just a user and it allows me to type in location, but does not save them in my drop down menu under "My Custom Locations"? Shouldn't they accumulate their so I can use them again?


  8. I want to display building/room as location information for 2013 client with usb-attached headset to a workstation. 911 is a station at my on-campus police department. No e911 requirement. Is this possible?

  9. is there anyway to delete a custom location? i have them setup by sub net, but our project offices are not permanent and sub nets are re-used as the project offices close and open in different physical locations.

  10. Will this work outside of an on-premise configuration?

    i.e. using VZW MiFi and its MAC address or setting its subnet?

    1. I can't imagine why it wouldn't work. You would just need to know the subnets/MAC addresses of the access points.


    2. I ask because I have been testing with a few different MiFis with no success. When I switch to the MiFi it just asks for location to be set. As soon as I change it to a corp WiFi it picks up the subnet and sets the appropriate location.

    3. I'm actually at MS right now, and I can confirm that location services are not available outside the corporate network. Too bad.


    4. Ahhh no worries. Worth a short to ask. It would be a nice feature to have with employees being offsite at different clients and are not able to connect their laptops to the client networks.

      Thanks for the quick responses.