This is the second article in the article series about policies in Lync 2010. The policies we are going to discuss are the location policies. The whole idea and wherefore it is designed is to provide an indication of where the user is located when calling 911. The E.911 solution has been in place for many years for hard phones, but soft phones or IP phones where not covered by the traditional E.911 system.
Enhanced 911, E-911 or E911 in North America is one example of the modern evolution of telecommunications based system meant as an easy way to link people experiencing an emergency with the public resources that can help. The dial-three-digits concept first originated in the United Kingdom in 1937. It has spread to continents and countries across the globe. Today other easy dial codes including the 112 that was adopted by the European Union in 1991 and others like it have been deployed to provide free-of-charge calling to those who need help during emergencies. The Emergency telephone number article contains comprehensive information regarding other emergency dialing codes for countries outside North America. (Source:http://en.wikipedia.org/wiki/Enhanced_9-1-1)
In Lync 2010 Microsoft incorporated a location mechanism to provide location awareness for Llync clients and Lync client phones.
I not going going to blog about the complete E.911 implementation on Lync, because this has already been done numerous time on other blogs, and there is no point in reinvented hot water over and over again. The most complete article i have ever read on the subject, is an article from Mark King which you can find on following location: http://blog.unplugthepbx.com/2011/07/06/lync-e911-deployment/.
It gives a thorough understanding of what E.911 is in Lync and how to implement it.
What we will be focusing on is the policies that come with the E.911 implementation in Lync. One thing i do need to point out is that the Enhanced 911 implementation is only supported in North America. For the rest of the world you can configure it, but there are no agencies that verify the location, so all location are unverified.
Which brings us to custom, suggested and validated locations.
Custom locations are when you allow the users to configure there own location in the client. This information is stored in the PersonalLisDB.cashe file, which is located in the user profile on the computer. When the computer recognizes the location of the user, it will reuse the information stored in the local LIS db. The location is recognized on the Mac address of the default gateway. The locale database can store up to 10 locations.
Suggested locations are locations that have been set by the Location Information Service database stored on the Lync Back-end server. This database is build up by the Lync administrators where he/she defines certain parameters required to build location awareness. These parameters are:
- Wireless access points
Validated locations are locations that have been derived from the location parameters stored in the LIS database on the Lync Back-end infrastructure. The location is verified and validated by MSAG, but as noted before is only supported in North America.
Note: Europe will probably be working on a similar solution for the near future.
The location information is stored in location database which is called LIS.mdf on the Lync back-end server.
When we search for location in the Lync Management Shell, we get following result:
CommandType Name Definition
----------- ---- ----------
Cmdlet Get-CsConfigurationStoreLoca... Get-CsConfigurationStoreLoca...
Cmdlet Get-CsLisLocation Get-CsLisLocation [-Unrefere...
Cmdlet Get-CsLocationPolicy Get-CsLocationPolicy [[-Iden...
Cmdlet Get-Location Get-Location [-PSProvider
Cmdlet New-CsLocationPolicy New-CsLocationPolicy [-Ident...
Cmdlet Pop-Location Pop-Location [-PassThru] [-S...
Cmdlet Push-Location Push-Location [[-Path]
Cmdlet Remove-CsLisLocation Remove-CsLisLocation -Locati...
Cmdlet Remove-CsLocationPolicy Remove-CsLocationPolicy [-Id...
Cmdlet Set-CsConfigurationStoreLoca... Set-CsConfigurationStoreLoca...
Cmdlet Set-CsLisLocation Set-CsLisLocation -Location ...
Cmdlet Set-CsLocationPolicy Set-CsLocationPolicy [[-Iden...
Cmdlet Set-Location Set-Location [[-Path]
We will not be explaining every setting, because we will have to write a short book, which information is already available on the Microsoft website. We will be focusing the Set-CSLocationPolicy and the Get-CSLoactionpolicy. There is no reason to explain both cmdlets as get-CsLocationPolicy gets the location policy and Set-CSLocationPolicy set the parameters for the location policy.
Gets all location policies, as you know Lync policies are in-band provisioned and can be applied to following scopes:
- Tag (User/Service/Pool)
Identity [mandatory = Name of the location policy) : Tag:Loctest
Description (optional = description of the location policy) :
EnhancedEmergencyServicesEnabled (Mandatory = specifies whenever E911 is enabled) : False
Only supported in North America.
LocationRequired (Mandatory = Specifies if location needs to be set) : no
Options are Yes, No and Disclaimer
- Yes: When LocationRequired is set to Yes, the set your location will turn up Red in the Lync client. Location is required but can be ignored.
- No: Location is not required. The user will not be prompted for a location, but can still be set if the user does so.
- Disclaimer: The user sees that the location is marked red, prompting the user to set a location, if the user removes the prompt without setting the location, the user will receive a disclaimer. The disclaimer has to be set using the Set-CsEnhancedEmergancyServiceDisclaimer.
UseLocationForE911Only (Mandatory = Location information can be used by the Microsoft Lync 2010 client for various reasons (such as notifying teammates of current location). Set this value to True to ensure location information is available only for use with an emergency call.) : False
PstnUsage (Optional =
The public switched telephone network (PSTN) usage that will be used to determine which voice route will be used to route 911 calls from clients using this profile.) :
EmergencyDialString (Optional = The number that is dialed to reach emergency services. For example 911, 112, 100) :
EmergencyDialMask (Optional = The number entered here is translated to the value in EmergencyDialString. Example: if you enter 112 here and enter 100 in the EmergencyDialString, 112 will be translated to 100) :
NotificationUri (Optional: One or more SIP Uniform Resource Identifiers (URIs) to be notified when an emergency call is made. For example, the company security office could be notified through an instant message whenever an emergency call is made.) :
ConferenceUri (Optional: The SIP Uniform Resource Identifier (URI), in this case the telephone number, of a third party that will be conferenced in to any emergency calls that are made. For example, the company security office could receive a call when an emergency call is made and listen in or participate in that call (depending on the value of the ConferenceMode property). :
If a value is specified for the ConferenceUri parameter, the ConferenceMode parameter determines whether a third party can participate in the call or can only listen in. Available values are:
- oneway: Third party can only listen to the conversation between the caller and the Public Safety Answering Point (PSAP) operator.
- twoway: Third party can listen in and participate in the call between the caller and the PSAP operator.) :
The location policy cannot be set or changed by the user if LIS information is provided by the location database. To retrieve the information that is used for LIS, use following CMDLet: Get-CsNetworkConfiguration.