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: • Set-CsLisPort • Set-CsLisSwitch • Set-CsLisSubnet • Set-CsLisWirelessAccessPoint Populate the Location Database http://technet.microsoft.com/en-us/library/gg413069.aspx 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. Set-CsLisLocation http://technet.microsoft.com/en-au/library/gg398757.aspx 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. Publish-CsLisConfiguration http://technet.microsoft.com/en-za/library/gg398364.aspx
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 http://support.microsoft.com/kb/2464841
2467763 Description of the cumulative update package for Lync 2010: January 2011 http://support.microsoft.com/kb/2467763
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. Get-CsLisLocation http://technet.microsoft.com/en-us/library/gg412834.aspx Get-CsLisCivicAddress http://technet.microsoft.com/en-us/library/gg398459.aspx
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 http://technet.microsoft.com/en-us/library/gg558599.aspx
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:[ sip:email@example.com 0 00-15-5d-fc-c4-2a 192.168.0.0 192.168.0.101 ] 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:firstname.lastname@example.org] 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 FR Paris Avenue du Maréchal Juin 13-15 Quartier Général Fourth Coffee 75001 true Manual 2011-03-09T14:50:44.241723Z ]
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 SOAPAction: "LIService/GetLocations" Cache-Control: no-cache, no-store Content-Type: text/xml; charset=utf-8 Pragma: no-cache User-Agent: OC/4.0.7577.108 (Microsoft Lync 2010) Host: uswa-ucfe1.fourthcoffee.corp Content-Length: 4315
Connection: Keep-Alive SOAP response=HTTP/1.1 200 OK Cache-Control: private Content-Type: text/xml; charset=utf-8 Server: Microsoft-IIS/7.5 X-AspNet-Version: 2.0.50727 X-MS-Server-Fqdn: USWA-UCFE1.fourthcoffee.corp X-Powered-By: ASP.NET Date: Mon, 07 Mar 2011 15:50:49 GMT Content-Length: 1186 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 [soaptransport]0x076503F8status=076503F8 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.