Deploying Location Services and Enhanced 911 with Lync Server

Download Report

Transcript Deploying Location Services and Enhanced 911 with Lync Server

911 is the official national emergency number in North America
Final destination of a 911 call is to a Public Safety Answering Point (PSAP) that dispatches first
responders
PSAP jurisdictions generally follow local government (city/county) boundaries
Enterprises face a number of challenges
Hundreds or thousands of phones
Multi-floor, multi-building and even multi-city environment
State Legislation
18 States currently have statutes regulating Multi-Line Telephone Systems (PBXs) and E911
Rules generally require unique location for different buildings (campus), floors (multi-floor
building), zones on a floor (sq footage)
Your are obligated to understand any requirements that State and Federal Law impose
In the absence of regulatory requirements
Think Life Safety and Lawsuits!
Lync supports E911 via SIP trunks and ELIN gateways
You must select an E911 service provider certified by Microsoft through the Open Interoperability
Program (OIP)
i2 is the recommended standard for the interconnection of VoIP systems with the existing Emergency
Services Network infrastructure
Represents an interim step in the migration towards end to end IP networks
Presence Information Data Format (PIDF - RFC 3863)
(Extensions to PIDF for Location - RFC 4119)
Presence Information Data Format Location Object (PIDF-LO) standards with extensions for Location
Format (RFC 5139)
Lync doesn’t natively map MAC address to location
http://technet.microsoft.com/en-us/lync/fp179863
A SIP INVITE that contains the location, the caller's callback number, and the (optional) Notification URL
and conference callback number is routed to Lync Server.
Lync Server matches the emergency number and routes the call via a Mediation Server to the E911
service provider
The E911 service provider routes the emergency call to the correct PSAP assuming a validated
Emergency Response Location (ERL). If the location has not been validated, for example the user
manually entered a location, the Emergency Call Response Center (ECRC) first verbally verifies the
accuracy of the location with the caller before routing the emergency call to the Public Safety
Answering Point (PSAP)
If you configured the location policy for notifications, one or more of your organization’s security
officers are sent a special Lync emergency notification instant message. If you configured the location
policy for conferencing and it is supported by the E911 service provider, an internal Security Desk is
conferenced into the call with either one-way audio or two-way audio
If the call is broken prematurely, the PSAP uses the callback number to contact the caller directly
A SIP INVITE that contains the location, the caller's callback number, and the (optional) Notification URL
and conference callback number is routed to Lync Server
Lync Server matches the emergency number and routes the call via a Mediation Server to ELIN gateway
The ELIN gateway routes the call over an ISDN or Centralized Automatic Message Accounting (CAMA)
trunk to the telecom provider
The telecom providers identifies the call as an emergency call and routes it to a 911 selective router.
The E911 router looks up the caller's number in the ALI database and sends the call to the most
appropriate PSAP based on the location information
If you configured the location policy for conferencing and it is supported by the telecom provider an
internal Security Desk is conferenced into the call with either one-way or two-way audio
If the call is broken prematurely, the PSAP uses the ELIN to contact the caller directly. The ELIN gateway
swaps the ELIN for the caller's DID
Requires network sites and subnets defined in Lync
Network Configuration is common for Location Policies, Call Admission Control and Media Bypass
Use Lync Server network configuration to apply Tagged Location Policies based on network sites
If not configured or if no subnet match, Global or (Topology) Site Policy (if defined) applies
Network subnets in Sao Paulo configured to map to network site Sao Paulo
Sao Paulo Location Policy is associated with Sao Paulo Network Site
If Alan and Matt visit Sao Paulo
Alan and Matt get Sao Paulo Location Policy applied
Alan dials an emergency call
Call is routed out local Sao Paulo gateway associated with emergency calls
Only shows during sign in. No effect on call.
Lync Server 2013 Infrastructure
E9-1-1 Service Provider
SIP
Trunk
SBC
3
FE
LIS WS
4
Internet
MSAG
PSTN
2
1.
Engage with E9-1-1 Service Provider
2.
Configure Lync:
Admin
a.
Populate LIS with network elements and
associated addresses
b.
Configure policies, routes, and users
3.
Test addresses for validity
4.
Correct invalid addresses, repeat validation
Lync Server 2013 Infrastructure
E9-1-1 Service Provider
SIP
Trunk
SBC
Internet
FE
LIS WS
2
1
3
MSAG
PSTN
4
1.
Client sends subnet information to Registrar
2.
Registrar returns LIS URI (and location policy)
during in-band provisioning; this is because
Subnet 172.24.33.0 is enabled for E911
3.
Client sends subnet to LIS – locations by subnet
4.
LIS does subnet/location match and returns the
location in PIDF-LO format
Caller
Lync Server 2013 Infrastructure
3
E9-1-1 Service Provider
3
SIP
Trunk
SBC
4a
4b
Internet
FE
LIS WS
MSAG
PSTN
1
2
Security
5
PSAP
Caller
1.
Client dials 911 – includes PIDF-LO in SIP INVITE
2.
IM notification of emergency call. Party and
location sent to Security Desk (optional)
3.
E911 call routed over SIP trunk
4.
Routing Provider connects to appropriate PSAP.
Automatic, if possible (4a). Via call center agent, if
address cannot be validated (4b).
5.
Voice path connected to Security Desk (optional)
dbo.LisSetSubnetLocation
Civic addresses in LIS must be verified
HTTPS POST using SOAP
nena:xml ns
Response
<?xml version="1.0" encoding="UTF-8"?>
-<SOAP-ENV:Envelope xmlns:ns1="urn:nena:xml:ns:es:v7" xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><ns1:ValidateAddressOut>
<ns1:MessageID>0</ns1:MessageID>
<ns1:ReturnCode>200</ns1:ReturnCode>
<ns1:Valid>valid</ns1:Valid>
<ns1:E911Coverage>true</ns1:E911Coverage>
</ns1:ValidateAddressOut>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
dbo.LisSetCivicAddressValidity
MSAGValid=0
dbo.LisExportLocationInformationSettingsXml
dbo.XdsQueryItems
exec XdsQueryItems @_Query=N'<DocItemKeySet
xmlns="urn:schema:Microsoft.Rtc.Management.Xds.AppLayer.2008">
<DocItemKey
Name="urn:xds:Microsoft.Rtc.Management.Settings.LocationInformation.2008:LocationInformation
Settings.Host.Global" ItemId="00000000-0000-0000-0000-000000000000" />
</DocItemKeySet>
dbo.XdsPublishItems
Called by dbo.XdsQueryItems
Writes XML document to dbo.item table in XDS database
urn:xds:Microsoft.Rtc.Management.Settings.LocationInformation.2008:LocationInformationSettings.Host.Global
<AnchoredXml xmlns="urn:schema:Microsoft.Rtc.Management.ScopeFramework.2008" SchemaWriteVersion="1">
<Key ScopeClass="Global">
<SchemaId Namespace="urn:schema:Microsoft.Rtc.Management.Settings.LocationInformation.2008" ElementName="LocationInformationSettings" />
<AuthorityId Class="Host" InstanceId="00000000-0000-0000-0000-000000000000" />
</Key>
<Dictionary Count="1">
<Item>
<Key />
<Value Signature="ca777153-c617-4c6e-931b-928f4dacdd3f">
<LocationInformationSettings xmlns="urn:schema:Microsoft.Rtc.Management.Settings.LocationInformation.2008"
Data="MAQAAB+LCAAAAAAABAC1lNlugzAQRX/F8gcYg6FZFCJRaJWoZFHo8uyCk1gldmW7VT+/ZsvSJFVf+oIHzZ17xmPwKJU5NVyKqVhLtavDjBnDxUaDr10pdAg/lBjq
fMt2dDjjuZJarg1amRylXKNOjC4YIQ/jPgTjUcw/eR4VhWJaM23fwbQIoQvBZL4IYYAxrsIshBAsV0m1VM+EfnINQfZoE4myqUWdikgIV0wzqvIteFScik3JwJKqN5tzQziPrTQO
odfr4QEEcVwVPYcQQ6cjk5bsEnIJfCu1kQIs7dLiV8UJ/oVVggY3ixoc9vwBaXBPWQ10D0D/f7Z6nX202aBle+QyO5bvTGzphonLDUx4WTIli6vI5OGAdH4edfdZVGF36unCVg
VmC+5LKRW4o9Wc59HMTp5L24fVsdx6t/KnaNq6p93p1Q6eKP7iQM4d/NYhoYbmTBimrlb759VBWz2ZpuAPDsGxg3M0j+zjVTBjgzloQrtbbP8Z1L9B7sCzlGYAzg+F6yOX
BAi3AnIm8E7y/lneryj9vSCoG9t34/xyJYy/AQxVVtAwBAAA" />
</Value>
</Item>
</Dictionary>
</AnchoredXml>
Debug-CsLisConfiguration
Deug-CsLisConfiguration | Format-Table -Wrap
<LocationInformationSettings xmlns="urn:schema:Microsoft.Rtc.Lis.Settings.LocationInformation.2008">
<CivicAddresses><CId="1" HNO="5000" HNS="" Prd="" St="Davis" STS="Dr" POD=""A3="Redmond" A1="WA"
PC="27709" CC="" V="0"/><C Id="3"HNO="133" HNS="" Prd="" St="40th" STS="St" POD="" A3="Issaquah" A1="WA"
PC="02493" CC="US" V="1"/><C Id="4" HNO="5000" HNS="" Prd="" St="Davis"STS="Dr" POD="" A3="Redmond"
A1="WA" PC="02493" CC="US"V="0"/><C Id="5" HNO="2300" HNS="" Prd="" St="Copenhagen" STS="Dr" POD=""
A3="Hillerod" A1="WA" PC="02493" CC="DK" V="0"/>
</CivicAddresses>
<Locations><LId="1" LOC="5th Floor East" NAM=“Microsoft" CId="1" UAI="0"/><L Id="3"LOC="2nd Floor East"
NAM=“Microsoft" CId="3" UAI="0"/><L Id="4"LOC="Datacenter" NAM=“Microsoft" CId="4" UAI="0"/><L Id="5"
LOC="HILDatacenter" NAM=“Microsoft" CId="5" UAI="0"/>
</Locations>
<Subnets><NSubnet="10.20.86.192" LId="1"/><N Subnet="10.14.135.0" LId="3"/><N
Subnet="10.2.135.0" LId="4"/><N Subnet="10.40.208.0"LId="5"/>
</Subnets>
</LocationInformationSettings>
Message-Body:
- <provisionGroupList xmlns="http://schemas.microsoft.com/2006/09/sip/provisiongrouplistnotification">
<provisionGroup name="publicProviders">
+ <provisionGroup name="userSetting">
+ <provisionGroup name="ServerConfiguration">
- <provisionGroup name="locationPolicy">
- <propertyEntryList>
<property name="EnhancedEmergencyServicesEnabled">true</property>
<property name="LocationPolicyTagID">user-tagid</property>
<property name="LocationRequired">disclaimer</property>
<property name="PstnUsage">Emergency</property>
<property name="EmergencyDialString">911</property>
<property name="EmergencyDialMask">911;9911</property>
<property name="LocationRefreshInterval">4</property>
.
.
This protocol is defined as a web service
Specifies the structure of the schema used to construct the body in the request and
response messages. This protocol uses SOAP and Web Services Description Language to
describe the structure of the message body.
Used to retrieve the locations based on network identifiers
Specifies a request that contains the network identifiers for which locations need to be
retrieved
The response contains the response status and, if the request is processed successfully,
the locations that are most appropriate for the network identifiers specified
Must connect via SSL and client authentication is NTLM or Kerberos
http://msdn.microsoft.com/en-us/library/ff595797(office.12).aspx
Snooper Trace
TL_INFO(TF_COMPONENT) [6]6AC8.79E0::02/08/2014-16:34:23.705.00004b03
(LocationInformationService,LIService.BeginGetLocations:liservice.svc.cs(48))[329805919]
GetLocationsRequest:[<?xml version="1.0" encoding="utf-16"?>
<GetLocationsRequest xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Entity>sip:[email protected]</Entity>
<RSSI>0</RSSI>
<MAC>00-50-56-a6-5b-26</MAC>
<SubnetID>10.2.135.0</SubnetID>
<IP>10.2.135.20</IP>
</GetLocationsRequest>]
<GetLocationsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ReturnCode>200</ReturnCode>
<presenceList>
<presence entity="sip:[email protected] xmlns="urn:ietf:params:xml:ns:pidf">
<tuple id="_LIS:0">
<status>
<geopriv xmlns="urn:ietf:params:xml:ns:pidf:geopriv10">
<location-info>
<civicAddress xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr">
<country>US</country>
<A1>WA</A1>
<A3>Redmond</A3>
<PRD />
<RD>Microsoft Way</RD>
<STS />
<POD />
<HNO>1</HNO>
<HNS />
<LOC>Redmond</LOC>
<NAM>Microsoft Corporation</NAM>
<PC>98052</PC>
</civicAddress>
.
.
</GetLocationsResponse>]
Snooper Trace
TL_INFO(TF_COMPONENT) [10]6AC8.623C::02/08/2014-16:34:24.548.00004bdf
(LocationInformationService,LIService.EndGetLocations:liservice.svc.cs(61))[329805919]
GetLocationsResponse:[<?xml version="1.0" encoding="utf-16"?>
<GetLocationsResponse xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ReturnCode>404</ReturnCode>
<presenceList>
<presence entity="sip:[email protected]" xmlns="urn:ietf:params:xml:ns:pidf">
<tuple id="_LIS:0">
<status>
<geopriv xmlns="urn:ietf:params:xml:ns:pidf:geopriv10">
<location-info />
<usage-rules>
<retransmission-allowed xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:basicPolicy">false
</retransmission-allowed>
</usage-rules>
<method>Manual</method>
</geopriv>
</status>
</tuple> </presence> </presenceList></GetLocationsResponse>]
INVITE sip:[email protected];user=phone SIP/2.0
Via: SIP/2.0/TLS 10.14.245.196:52018
Max-Forwards: 70
From: <sip:[email protected]>;tag=956402dbe2;epid=65373670b2
To: <sip:[email protected];user=phone>
Call-ID: ba89067f2bee4491beba238dcbc21173
CSeq: 1 INVITE
Contact: <sip:[email protected];opaque=user:epid:F7I53NTBkVu_v6AhlQFUAwAA;gruu>
ms-subnet: 10.14.244.0
geolocation <cid:sip:[email protected]>;inserted-by="sip:[email protected]"
ms-endpoint-location-data: NetworkScope;ms-media-location-type=Intranet
P-Preferred-Identity: <sip:[email protected]>, <tel:+18134645273>
------=_NextPart_000_00E8_01CF28B4.6ABBA360
Content-Type: application/pidf+xml
Content-Transfer-Encoding: 7bit
Content-ID: <[email protected]>
Content-Disposition: render; handling=optional
<?xml version="1.0" encoding="utf-8"?>
<presence entity="sip:[email protected] xmlns="urn:ietf:params:xml:ns:pidf">
<tuple id="_LIS:0">
<status>
<geopriv xmlns="urn:ietf:params:xml:ns:pidf:geopriv10">
<location-info>
<civicAddress xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr">
<country>US</country>
<A1>WA</A1>
<A3>Redmond</A3>
<PRD />
<RD>Microsoft Way</RD>
<STS />
<POD />
<HNO>1</HNO>
<HNS />
<LOC>Redmond</LOC>
<NAM>Microsoft Corporation</NAM>
<PC>98052</PC>
</civicAddress>
</location-info>
SNMP scans of network to discover the ports and switches to which Lync clients connect
LIS can query the MACResolver to obtain the Lync client’s switch and switch port
Location Search Order
Lync Location Information Server
MacResolver
Secondary Location Source URL
Snooper Trace
TL_INFO(TF_COMPONENT) [20]6AC8.79E0::02/08/2014-16:34:23.708.00004b29
(LocationInformationService,LocationInformationWrapper.AsyncFindLocationsViaSLS:liservice.svc.cs(598))[
329805919]
Calling GetLocations on Web Service at:
SecondaryLocationSourceUrl:[https://lyegw103p01.microsoft.com/LIService/1/index.php]
(It fails to register the new scenario unless restarted)