How to enable LIS
To enable just the Location Information Service (LIS) in Lync, you would generally follow these steps:
1. Populate the Location Information Service (LIS) database using one of the following Lync Server Management Shell cmdlets to define a mapping between a port, subnet, switch or wireless access point and the physical address:
Populate the Location Database
The Set-CsLisLocation Lync Server Management Shell cmdlet only defines the physical location (civic address) and can be used to modify an existing civic address.
2. Publish the Location Database using the command Publish-csLisConfiguration. This cmdlet commits any changes in the central location database to the Central Management store, allowing the information to be replicated to the Location Information servers so that the locations can be rendered to clients.
3. Upgrade Lync 2010 to CU1 (KB 2467763) on the workstations. This step is required only if the address was not validated by MSAG, the Get-CsLisCivicAddress command will show the MSAGValid value set to False.
Prior to Lync 2010 CU1, the location information loaded into the LIS in Lync Server 2010 had to be validated against MSAG before the location information was automatically shown in Lync. The reason for this requirement is the relationship with the support for E-9-1-1 in the US, where the address information needs to be very specific and validated before it can be used. The MSAG only contains addresses in the US and as such it was not possible to validate addresses outside of the US. With CU1, Lync will automatically show non validated location information, if there is only one location returned from LIS based on the request the Lync client sent to LIS.
2464841 Lync 2010 does not populate your location information automatically
2467763 Description of the cumulative update package for Lync 2010: January 2011
The mapping configuration, created by calling cmdlets such as Set-CsLisSubnet, is stored in a central location database (lis) in tables such as Subnet, Location and CivicAddress.
Although you can use SQL Management console to inspect the existing values, it’s better to leverage the PS cmdlets Get-CsLisLocation and Get-CsLisCivicAddress. The Get-CsLisLocation cmdlet differs from Get-CsLisCivicAddress in that in addition to retrieving address information, Get-CsLisLocation retrieves the name of the location and the company name associated with the location. The Get-CsLisCivicAddress cmdlet returns only unique addresses. It also returns the MSAGValid flag that specifies whether the address has been validated against the Master Street Address Guide.
Once the mapping configuration is available, the client retrieves the location by HTTP from the Location Information servers. The requests can be recorded either on the server with Lync Server 2010 Logging Tool by selecting the LocationInformationService component or on the client (Communicator*.etl). The symbols required for converting the client-side log into a readable format are not public, and you will need to contact Microsoft support services for converting it.
Lync Server 2010 Logging Tool
On the server, a successful request will include the incoming GetLocationsRequest, the location match, and the GetLocationsResponse:
TL_INFO(TF_COMPONENT) 1258.0F98::03/09/2011-14:50:44.182.00000099 (LocationInformationService,LIService.BeginGetLocations:liservice.svc.cs(48))GetLocationsRequest:[
TL_INFO(TF_COMPONENT) 1258.0F98::03/09/2011-14:50:44.229.000000ae (LocationInformationService,LocationInformationWrapper.FindLocationBySubnet:liservice.svc.cs(484))Location match found for Subnet: Entity:[sip:email@example.com] Subnet:[192.168.0.0]
TL_INFO(TF_COMPONENT) 1258.0F98::03/09/2011-14:50:44.308.000000c7 (LocationInformationService,LIService.EndGetLocations:liservice.svc.cs(61))GetLocationsResponse:[200
Avenue du Maréchal Juin
On the client, the location retrieval is also visible in the decrypted Communicator.etl file:
[soaptransport] 0x006D1EB8after HttpSendRequest. status=076503F8, statusCode=200, errorCode=0, hr=0
[other] 0x05BFF20CCSoapTransport::ExecuteSoapOperation:: 3/7/2011 at 17:50:50.
SOAP request=POST /locationinformation/liservice.svc/WebTicket_Bearer HTTP/1.1
Accept: text/xml, application/soap+xml, application/octet-stream
Cache-Control: no-cache, no-store
Content-Type: text/xml; charset=utf-8
User-Agent: OC/4.0.7577.108 (Microsoft Lync 2010)
SOAP response=HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Date: Mon, 07 Mar 2011 15:50:49 GMT
0118.0AE0::03/07/2011-15:50:50.586 [soaptransport]0x006D1EB8response OK. status=076503F8
0118.0AE0::03/07/2011-15:50:50.586 [webrequest]0x05099F10after SendSoapRequest. hr=0x0, url=https://uswa-ucfe1.fourthcoffee.corp/locationinformation/liservice.svc/WebTicket_Bearer.
0118.0AE0::03/07/2011-15:50:50.586 [soaptransport]0x006D1EB8hSoapHandle=076503F8, headerInfo=05099FB8
0118.0AE0::03/07/2011-15:50:50.586 [soaptransport]0x006D1EB8hSoapHandle=076503F8, credentialsInfo=05099F20
0118.0AE0::03/07/2011-15:50:50.586 [webrequest]0x074A2EE8WebRequest successfully completed, hr=0x0
0118.0684::03/07/2011-15:50:50.586 [oc]0x0023F4E0CLocationManager::SetCurrentLocation – exit
0118.0684::03/07/2011-15:50:50.586 [oc]0x0023F52CCMyPane::OnEvent – exit
0118.0684::03/07/2011-15:50:50.586 [dgcache]0x006F0500IConfigurationEvent. type=0, dataSource=9
0118.0684::03/07/2011-15:50:50.586 [nt]0x00000000Updating localized location
If the mapping between a port, subnet, switch or wireless access point and the physical address is not defined, the HTTP request fails with the 404 error code.