Enhanced 911 for Lync Demystified

Enhanced 911 is not merely 911.  If your employees never travel, and if they only use desktop phones for calling, then you can route your regular-old 911 calls to a land line or circuit that is already registered at a physical address.  This is incredibly simple to implement…but you will send emergency responders to thewrong place if your users move around and they use the Lync client on their computer to place and receive calls.  E911 solves that problem by ensuring that the full (and current) location information for the caller is passed along with 911 call.  Microsoft Lync Server 2010 supports E911 through the combination of Location Information Service, Locations Policies, a Lync-certified E911 provider, a Voice Route, and a PSTN Usage.  There are several good references available online, and I will list them at the end of this post, but I thought I would start with a Broad Overview of E911 in Lync

In a nutshell, Lync needs the following questions answered:

  1. What are your organization’s locations–including their official physical addresses?
  2. How will I know which location a user is currently at?
  3. What number will someone dial when they want to make an emergency call?
  4. Where do I route that call?
  5. When I send that call to the emergency responder, do I need to conference someone else into the call, and if so, should they only be able to hear, or should they be able to "barge into" the call?

The first question is answered by populating the CsLis database.  The best manner to do that depends on some other things, so let’s skimp on this point for now, but suffice it to say that you will need to gather the physical addresses for all of your locations, you will have to format the addresses in the proper way–where each address component is a separate element, and you will ultimately need to validate the addresses using a Lync Management Shell command Test-CsLisCivicAddress.

The second question is answered thusly:

You basically have three choices.  You can use the Wireless Access Point, if connected via Wi-Fi; you can use LLDP-MED and the switch/switch port, if connected via Ethernet; or you can use IP subnet.  Yes, you can combine methods to meet your requirements.  Lync users who take advantage of the client as a soft-phone on their laptops, however, won’t be able to use LLDP-MED without help from a special device.  Ergo, for your wireless users, WAP will be fine.  For desktop phones, LLDP-MED and switch port information will be fine.  Many times, though, the thing that is easiest to use for all users across the board is simply IP subnet.

The third question is answered in the Location Policy, where you can specify an emergency number of dial mask.

The fourth question is partially answered in two places.  In the Location Policy, you can specify the PSTN Usage for emergency calls by users with that particular policy, and of course you can apply the PSTN Usage to one or more Voice Routes to designate the PSTN Gateway(s) available for those emergency calls.

The fifth question is also answered in the Location Policy by selecting conferencing, and whether that conference will be One Way or Two Way.

Now, let’s move onto the E911 providers.

There are currently two certified E911 providers listed on Microsoft’s site: Level 3 Communications and 911 Enable.  911 ETC has a service that will work with Lync, too, and they are currently working on getting their service certified.  They don’t offer an on-premise gateway as an option like 911 Enable does, but they claim to offer significant cost savings on a comparable solution.  The best-known player in the E911 business isRedSky.  Whether they are a sailor’s delight or not, they have an impressive set of tools ans solutions, and lots of reference-able customers in government and education.  What they don’t, have, however is what Level 3 offers.  Level 3 offers integrated E911 services in their SIP trunk, which can be accessed over the Internet or a dedicated link.  It offers an affordable, relatively straightforward design, and easy-to-implement solution.

The process (which can be found here):


Phase of Deployment


RBAC Role(s) Required


Configure Voice Routes

  1. Create a new PSTN usage record. This is the same name that is used for the PSTN Usage setting in the Location Policy.
  2. Create a new voice route using the PSTN usage record created in the previous step and point to the SIP trunk.
  3. Optionally, create a local route for calls that are not handled by the emergency services provider’s SIP Trunk.


Configure an E9-1-1 Voice Route

Create Location Policies and assign them to users and subnets

  1. Review the global Location Policy
  2. Create a Location Policy with a tagged scope.
    Tagged scope means that the Location Policy can be assigned to either a user or a network site.
  3. Assign the Location Policy to Network Sites
  4. Add the appropriate subnets to the network site.
  5. (optionally) Assign the location policy to user policies.

CSVoiceAdminCSLocationAdmin (except for creating Location Policies)

Create Location PoliciesAdd a Location Policy to a Network Site

Associate Subnets with Network Sites for E9-1-1

Configure the Location Database

  1. Populate the database with a mapping of network elements to locations.
  2. Configure the connection to the emergency services provider.
  3. Validate the addresses with the emergency services provider.
  4. Publish the updated database.


Configure the Location Database

Configure Advanced Features (Optional)

  1. Configure the URL for the SNMP application.
  2. Configure the URL for the location of the Secondary Location Information Service.


Configure an SNMP ApplicationConfigure a Secondary Location Information Service


Those Nagging Details (HT: Jason Black)

This article would hardly be worth writing if I didn’t include some of the little details that you would ordinarily not know about, or that you will easily forget…and will create hours of fun for you during the install:

  1. By default, the Global Trunk Group does not send PIDIFLO. This isn’t an issue if you aren’t using the global trunk for E911, but if you are, it would prevent the actual location info from being sent to the provider. Resolution: "Set-CsTrunkConfiguration -Identity Global –EnablePIDIFLOSupport $True"
  2. Whenever you make changes to CsLis Sites or Subnets or whatever, you will need to Publish-CsLisConfiguration.
  3. Analog devices, lingering MOC clients, and other phones which come through a media gateway obviously cannot use Lync’s Location Information Services.  You will have to set up those numbers with your provider (or in another system, or one one of those special devices, or somesuch.

Further References on this topic worth taking a look at:

Leave a Reply