Presentation on theme: "Internet Standards- Emergency Services Hannes Tschofenig Mail comments to and/or"— Presentation transcript:
Internet Standards- Emergency Services Hannes Tschofenig Mail comments to and/or
Goal of this Presentation Understand the big picture of architectural approaches Learn about technical challenges and their solutions (on a high level basis) Obtain pointers to documents for further reading (for more details)
Authority-to-Citizen – Example: Tsunami warning Authority-to-Authority – Example: Communication between emergency personnel Citizen-to-Authority High-Level Emergency Services Categorization Note that some Standards Development Organizations (SDOs) use the term individuals instead of citizen.
Architectural Considerations Last Mile, Inc. (Internet Access Provider) ISP, Inc. (Internet Service Provider) VoIP, Inc. (Application Service Provider) Layer 7 Layer 1/2 Layer 3 End Host
Architectural Considerations, cont. ISP/IAP has the technical means to know the precise location of the end host. ASP, ISP and IAP are, in some cases, different entities. Internet is a world-wide network; end points go everywhere – services come from everywhere. There are a multitude of different business models with – Many different protocols being used – Long time to migrate and devices / networks with very different capabilities
Note Throughout the subsequent slides we assume a IP- based PSAP to be present in the future emergency services architecture. Architectural descriptions for how to interworking with legacy PSAPs can be, for example, found in the NENA i2 specification. – The IETF emergency services architecture DOES NOT require SIP being used between the User Agent and the VSP.
Note, cont. Discussed specifications can be found here: – IETF ECRIT Working Group – IETF GEOPRIV Working Group – IETF SIP Working Group
PSAP / Call Taker Routing Database VSP (2)Location Location + Service Identifier (3) PSAP URI (4) INVITE Request URI: 122 To: 122 (1)(5) dial Legacy End Points Location Information Server Dial string provided by the end point may conform to RF 4967 or RFC Dial string recognition, location determination, route determination done by SIP proxy INVITE Request URI: urn:service:sos To: 112 Route Header: PSAP URI SIP Proxy
Disadvantages of Legacy Equipment When the emergency call is not recognized by the User Agent then Call Waiting Call Transfer Three Way Call Flash hold Outbound Call Blocking cannot be disabled. – Callbacks from the PSAP may get blocked by the User Agent software. – Privacy settings might disclosure identity information, even if not desired. – Certain call features may not be supported either, such as REFER (for conference call and transfer to secondary PSAP) or GRUU. User Agents will not convey location information to the VSP.
PSAP / Call Taker (2)Location Location + Service Identifier (3) PSAP URI (4) (1)(5) Initial Upgrades to End Hosts Assumption: – VSP is able to determine location of User Agent for routing the call. – Typically, this requires contractual relationship between all IAPs/ISPs and all VSPs, i.e., non-trivial to setup on a global scale. Location Information Server INVITE Request URI: urn:service:sos To: urn:service:sos INVITE Request URI: urn:service:sos To: urn:service:sos Route Header: PSAP URI dial Routing Database VSP SIP Proxy
Fully Upgraded End Device End host obtains location information necessary for call routing End host uses LoST to determine emergency numbers and PSAP URI. – SIP proxy may perform additional call routing checks. Routing Database PSAP (1)Location Location + Service Identifier (2) PSAP URI + emergency number (3) (4) (5) Location Information Server INVITE Request URI: urn:service:sos To: urn:service:sos Route Header: PSAP URI INVITE Request URI: urn:service:sos To: urn:service:sos Route Header: PSAP URI dial (Note: This is a random IP device.) (1)GPS Info VSP SIP Proxy
… subsequent slides talk about some of the components in more detail Identifying an emergency call Location – Format of location information – Protocols for obtaining location Emergency Call Routing Standardization of the emergency call procedures for SIP.
Identifying an Emergency Call
Emergency Numbers Emergency Numbers used worldwide, see Emergency numbers vary in countries. Example: for North America, for Europe. Some countries use separate numbers for ambulance/police/fire; others dont
Service URNs User types emergency dial string into the user interface On the protocol level an emergency number independent scheme is desired to mark a call as an emergency call. This lead to the work on Service URNs. Service URN registry established in – Examples: urn:service:sos, urn:service:sos.ambulance, urn:service:sos.fire, urn:service:sos.poison, urn:service:sos.police
Required to support both home and visited emergency number – e.g., for an American traveler who is visiting Europe, both and should be recognized as emergency How does the User Agent learn about emergency numbers: – Home Emergency Number: User can learn this number through LoST* or device configuration. – Visited Emergency Number: Obtained dynamically via LoST* (*): LoST is a protocol, more on later slides. Home and Visited Emergency Numbers
Encoding of Location Information – GEOPRIV uses two formats for location information encoding. Binary Format XML-based Format – For bandwidth constraint environments a functionality- reduced binary encoding is used (e.g., DHCP, link layer protocols) and for application protocols the XML encoding is preferred. – The XML encoding is based on the Presence Information Data Format (PIDF) for Location Objects (LO) as defined in the Geopriv Working Group of IETF (simply PIDF-LO) – PIDF-LO uses the Geography Markup Language (GML) developed by OGC for describing geodetic information.
PIDF-LO: RFC 4119 – The Presence Information Data Format (PIDF) is an XML- based format for presence (RFC 3863) – A PIDF document contains identity information (as part of the entity attribute). – Extends PIDF to accommodate new functionality: Element – Encapsulates location information – GML 3.0 schema (mandatory-to-implement) – Supports civic location format (optional-to-implement) Element – Describes the way location information was derived or discovered. – Example: gps – Registry available at: Element – Entity or organization that supplied this location information Element – Used to indicate privacy preferences
Example: PIDF-LO with Geodetic Info
Example: PIDF-LO with Civic Info
More on Civic Information – Initially civic location was specified for DHCP in RFC 4776* (http://www.ietf.org/rfc/rfc4776.txt)http://www.ietf.org/rfc/rfc4776.txt – RFC 4776 uses a binary format. – With RFC 4119* (PIDF-LO) for some of the RFC 4776 civic elements an XML encoding was specified. – With the document was revised and new civic tokens were added to be able to express addresses in Asia.http://www.ietf.org/rfc/rfc5139.txt – Note every jurisdiction needs to make use of all civic tokens. An example of a profiling for Austria is described in civicaddresses-austriahttp://tools.ietf.org/html/draft-wolf- civicaddresses-austria *: Note that the content of RFC 4776 was developed before the work on PIDF-LO (RFC 4119). It was, however, faster to finish the standardization work on PIDF-LO.
RFC 4119 Civic Location Info LabelDescriptionExample countryThe country is identified by the two- letter ISO 3166 code US A1national subdivisions (state, region, province, prefecture) New York A2county, parish, gun (JP), district (IN)King's County A3city, township, shi (JP)New York A4city division, borough, city district, ward, chou (JP) Manhattan A5Neighbourhood, blockMorningside Heights A6StreetBroadway PRDLeading street directionN, W PODTrailing street suffixSW
RFC 4119 Civic Location Info, cont. LabelDescriptionExample STSStreet suffixAvenue, platz, Street HNOHouse number, numeric part only123 HNSHouse number suffixA, ½ LMKLandmark or vanity addressLow Library LOCAdditional location informationRoom 543 FLRFloor5 NAMName (residence, business or office occupant ) Joes Barbershop PCPostal code
Location Shapes for Geodetic Info – Location determination techniques produce location information in different shape types. The specification uses the GML-based format for describing the shapes: – The following location shapes are described: – Point (2d and 3d) – Polygon (2d) – Circle (2d) – Ellipse (2d) – Arc Band (2d) – Sphere (3d) – Ellipsoid (3d) – Prism (3d) – The document additionally makes a couple of simplifying restrictions (e.g., coordinate reference systems). – Finally, it also describes how PIDF-LO documents are created when location information from multiple sources is available. – Format is loosely aligned with OMA and 3GPP specifications.
1) Target has location information Manual configuration or GPS (without help of the network) 2) Target wants to obtain location info from a LIS in the access network (see LCPs on subsequent slide) 3) Target obtains location from a location server in the users home network OMA MLS/SUPL : 4) Location Server from 3 rd Party Providers using Global Cell-ID database, BSSID database Obtaining Location Information
Location Configuration Protocols (LCPs) Assumes that some entity in the access network knows the location of the Target. LIS is topologically close to the Target. Request from the Target to the LIS needs to contain identifier to lookup location information Identifier will typically be the IP address Protocol exchange may happen at different layers – HTTP in case of HELD – IP in case of DHCP – On top of the link layer but below IP (LLDP-MED) – Link layer Location Information Server Request Location Location Target
LCPs, cont. Link layer mechanisms (e.g., various extensions to IEEE link layer protocols) LLDP-MED – – – DHCP (civic and geospatial) – RFC 4776 for civic location information (slides at – RFC 3825 for geodetic location information (slides at Application Layer Location Configuration Protocol (e.g., HELD )
HELD Example Request POST https://lis.example.com:49152/location HTTP/1.1 Accept: application/held+xml, application/xml;q=0.8, text/xml;q=0.7 Accept-Charset: UTF-8,* Content-Type: application/held+xml Content-Length: 87 civic geodetic Request civic location informationRequest geodetic location info Request for location information (no restrictions)
HELD Response (geodetic) HTTP/1.x 200 OK Server: Example LCS Date: Tue, 10 Jan :42:29 GMT Expires: Tue, 10 Jan :42:29 GMT Cache-control: private Content-Type: application/held+xml Content-Length: 594 T03:42:28+00: T03:42:28+00:00
Location by Reference Previous slides describe how location can be passed around per value. But there are examples when this is not desired. – E.g., when location frequently changes Solution approach: – Instead of retrieving location information per value a reference is obtained. – This reference can be resolved to a location object (more than once) and may yield to fresh location – Access control can also be enforced. The reference plays the role of a privacy-capable generalized identifier.
Architecture SIP, HTTP, etc. + Location Reference Location Recipient Location Reference User Agent (or proxy) Location Information Server Request Location Information Examples: – – https://ls.example.com:9768/357yc6s64ceyoiuy5ax3o Location Reference
LbyR Example Request locationURI
LbyR Example Response https://ls.example.com:9768/357yc6s64ceyoiuy5ax3o
Identifier Extensions HELD allows the source IP address of the HELD request to be used for the location lookup. Sometimes more flexiblity with regard to the identifier choice is needed HELD Identity Extensions Document: Typical usage: – LIS-to-LIS communication scenarios (in DSL wholesale environments) – SIP proxy-to-Location Server communication (only authorized proxies are allowed to contact the LIS)
(2a) Request location for IP address Example PSAP / Call Taker Target (Emergency Caller) (1)(5) dial ISP LIS INVITE Request URI: urn:service:sos To: urn:service:sos INVITE Request URI: urn:service:sos To: urn:service:sos Route Header: PSAP URI (2b) Location VSP SIP Proxy IAP LIS (2a) Request location for VCI/VPI xyz. (2b) Location
The Location Recipient obtains the URI and needs to resolve it to location information. Dereferencing protocol depends on the URI scheme: – SIP Subscribe / Notify (in case of a SIP URI) – HTTP (in case of HTTP URI) (+ secure versions being used; HTTPS and SIPS) Best current practice document for HTTP-based Location URIs: – – Provised polling capabilities For SIP the SIP presence event package is used to obtain location information – Offers also asynchronous notifications ( next slide) De-Referencing
Rate Limiting Asynchronous Notifications of SIP – In a mobile environment when the end hosts location may change it is useful to restrict the number of asynchronous notifications being sent. – SIP offers asynchronous message (with the PubSub concept) and a SUBSCRIBE message may contains rate limiting filters – Document is available with: – Features: 1.Object moves more than a specific distance horizontally or vertically since the last notification 2.Object exceeds a specific speed 3.Object enters or exits pre-defined regions 4.one or more of the values of the specified address labels has changed
Emergency Call Routing
Service URN Location Information Finding the closest PSAP + (PSAP) URI Service URN Service Boundary + + Emergency Number + Location-to-Service Translation (LoST) is an XML-based query and response protocol running on top of HTTP.
Features Protocol specification available with – Satisfies the requirements for mapping protocols: – Provides civic address validation – Returns XML tag names of components (classified into, and ) Offers recursive and iterative query resolution Service boundary may be returned via reference or by value. Functionality for listing available service URNs and listing service URNs per location. Supports extensible location profiles. Currently 2 profiles are available: – geodetic-2d (offers Point, Polygon, Circle, Ellipse, ArcBand) – civic (based on )http://tools.ietf.org/html/rfc5139
LoST Example Query with geodetic location info urn:service:sos.police
LoST Example: Response New York City Police Department urn:service:sos.police …
LoST Example Query with civic location Germany Bavaria Munich Otto-Hahn-Ring urn:service:sos.police
Example: Location Validation DE Bavaria Munich Otto-Hahn-Ring urn:service:sos.police … country A1 A3 A6 PC HNO … Request Response (XML fragment)
Example: listServices and listServicesResponse urn:service:sos urn:service:sos.ambulance urn:service:sos.animal-control urn:service:sos.fire urn:service:sos.gas urn:service:sos.mountain urn:service:sos.marine urn:service:sos.physician urn:service:sos.poison urn:service:sos.police Request Response is a variation of that includes location in the query.
LoST is a protocol that runs between a LoST client and a LoST server. There are, however, multiple ways to use and deploy it. Architecture description: For LoST usage in the NENA i3 architecture see – LoST deployment needs country-specific profiling to fit into consider regional emergency service deployment circumstances. Example questions: – Who runs LoST servers? – Who is allowed to put mapping data into the LoST server? From a Protocol to an Architecture
LoST Architecture, cont. describes a world-wide deployment of LoST for emergency services usage. – Unlike DNS it does not require a single root. There are many root elements and they synchronize their mappings, for example, using – Like DNS it has redundancy mechanisms built-in Does not require support from the ISP/IAP – But leaves the option todo so Dynamic LoST server discovery procedure – via DNS (defined in – Via DHCP (defined in
T3 (.at) Terminology T1 (.us) T2 (.de) FG Resolver seeker Forest Guide Tree Node Tree Node Leaf Node Leaf Node Leaf Node Leaf Node
Terminology Seekers: Consumers of mapping data and may cache responses. Dont act as servers. Resolvers: Know how to contact FGs and tree nodes. May cache results. Does not have authoritative mappings configured. Forest Guide: Knows about the coverage region of all trees. Do not provide mapping data themselves. Redirects only to tree nodes. Tree Node: Maintains mapping data and coverage regions. Knows about the coverage region of all its child nodes. Leaf Nodes only maintain mapping data. No coverage region data. From an implementation point of view: – Coverage Region: Maintains Region & Service URN LoST server mappings – Mapping Data: Maintains Region & Service URN service URLs mappings
Example T1 (.us) T2 (.de) T3 (.at) FG broadcast (gossip) T1:.us T2:.de resolver seeker 313 Westview Leonia, NJ US
Example When query hits T1 tree then it finally travels to a node that knows about the LoST servers responsible for New Jersey: C A1 A2 A3 LoST server name US NJ Atlantic * atlantic.nj.example.org/sos US NJ Bergen * bergen.nj.example.org/sos US NJ Monmouth * monmouth.nj.example.org/sos US NJ Essex * essex.nj.example.org/sos US NJ Essex Newark newark.example.com/sos.... The LoST server at bergen.nj.example.org then contains the following data: country A1 A2 A3 PSAPs and further LoST servers US NJ Bergen Leonia US NJ Bergen Fort Lee US NJ Bergen Teaneck US NJ Bergen Englewood englewoodnj.gov ….
Standardization of the emergency call procedures for SIP.
IETF-based Emergency Call Procedure In the IETF architecture there is no requirement to have the User Agent-to-VSP communication to use SIP. – BUT: The PSAP is assumed to use SIP and hence protocol conversion to SIP is necessary. The architecture aims to work in all contexts but the detailed procedures of the emergency call itself depend on the communication model. – This particularly refers to the User Agent-to-VSP communication. The relevant documents are: – – draft-ietf-ecrit-phonebcp makes use of the Service URN and SIP Location Conveyance ietf-sip-location-conveyance/ as protocol mechanisms. draft-ietf-ecrit-phonebcphttp://tools.ietf.org/wg/sip/draft- ietf-sip-location-conveyance/
Responsibilities Location: – Required LCPs by end hosts: DHCP Location options (RFC 4776 and RFC 3825) HELD (draft-ietf-geopriv-http-location-delivery) LLDP-MED – ISP/IAP need to implement one of them. Identity: – VSP must either use P-Asserted-Identity (RFC 3325) or the SIP Identity (RFC 4474) mechanism to identify the emergency caller. ES Call Routing: – Responsibility of the VSP
Notes on Media Traffic RTP based media traffic RFC 3550 mandatory Minimum requirements for interoperability: Audio codec: G.711 Silence suppression not used. IM: RFC 3428 or RFC 3920 Real-time text: RFC 4103 Video: H.264 RFC 3984 – Better features can be negotiated via SIP offer/answer RFC – Testing: INVITE requests to a service urn with a urn parameter of "test" indicates a request for an automated test. Example: "urn:service.sos.fire;test Response may include a text body (text/plain) with PSAP identity, the requested service, and the location reported with the call. – Currently SRTP and key management of media traffic not required.
– The GEOPRIV WG calls this a using protocol. – SIP is such a using protocol, as defined in ietf-sip-location-conveyancehttp://tools.ietf.org/html/draft- ietf-sip-location-conveyance – Defines the Geolocation header: Points to location per value (using a cid:) or contains a reference (e.g., sips:) – Geolocation header may contain additional parameters: inserted-by parameter: Indicates which entry added location to the message ("endpoint" or "server) used-for-routing parameter: Used when location was used for routing recipient parameter: Indicates intended recipient ("endpoint, "routing-entity or "both) – New geolocation option tag: To indicate support for the this extension by UAs in Require, Supported and Unsupported headers (RFC 3261) – New error message (424 Bad Location Information) Contains addition error value Node identification of the entity that experienced the location-based error Human readable error text pre-defined in the draft – Defines sip/sips/pres as a dereference scheme SIP Location Conveyance
Alice Example: SIP Invite with Location by Value (1) Bob Example shows location added by value. cid: points to location in the body. INVITE SIP/2.0 Via: SIP/2.0/TCP pc33.atlanta.example.com ;branch=z9hG4bK77i832k9 Max-Forwards: 70 To: Bob From: Alice ; tag= Call-ID: Geolocation: recipient=endpoint Supported: geolocation CSeq: INVITE Contact: Accept: application/sdp, application/pidf-xml Content-Type: multipart/mixed; boundary=0a0 Content-Length: 543 INVITE geolocation (if as a message body) sdp
--0a0 Content-Type: application/pidf+xml Content-ID: … N W … ….. --0a0-- Alice Example: SIP Invite with Location by Value (2) Bob INVITE XML fragment of multipart MIME body Example geodetic location
Alice Example: SIP Invite with Location by Value (3) Bob INVITE --0a0 Content-Type: application/pidf+xml Content-ID: US Nevada Las Vegas 399 Convention Center Drive LVCC a0-- XML fragment of multipart MIME body Example civic location
Alice Example: SIP Invite with Location by Reference (1) Bob INVITE SIP/2.0 Via: SIP/2.0/TCP pc33.atlanta.example.com ;branch=z9hG4bK77i832k9 Max-Forwards: 70 To: Bob From: Alice ; tag= Call-ID: Geolocation: Recipient=endpoint Supported: geolocation CSeq: INVITE Contact: Accept: application/sdp, application/pidf-xml Content-Type: application/sdp Content-Length: 243 INVITE Example shows location added by value. e.com represents the location by reference
Alice Bob 200 OK 200 OK may contain either form of location delivery (message body or URI) – Since Request had appropriate Accept header SIP/ OK Via: SIP/2.0/TCP ;branch=z9hG4bK77i832k9 To: Bob ; tag=a6c85e3 From: Alice ;tag= Call-ID: Geolocation: Supported: geolocation CSeq: INVITE Accept: application/sdp, application/pidf-xml Content-Type: application/sdp Content-Length: 142 (…Bobs SDP here…) INVITE Example: SIP Invite with Location by Reference (2)
Location Hiding – Assume: Network operator does not want to provide end host with precise location information. Operator is only willing to provide enough information to accomplish location based routing to the PSAP. – Problem Statement and Requirements provided with req/ req/ – REMINDER: Two types of location information are used for emergency services: (a) Location Information for Dispatch (b) Location Information for Routing – This is not about hiding location towards the PSAP! – Solution proposal available with
Unauthenticated Emergency Services – Reference unauthenticated-access-03.txthttp://tools.ietf.org/id/draft-schulzrinne-ecrit- unauthenticated-access-03.txt – Cases: The emergency caller does not have credentials for access to the network but still has credentials for his VoIP provider. The emergency caller has credentials for network access but does not have credentials for a VoIP provider. The emergency caller has valid credentials but is not authorizated to make a call. – Work assumes lower-layer procedures for omitting network access authentication. – High-level Impact: End host has to implement a specific VoIP profile SIP proxy has to be located in the access network. – Technically complex and difficult to deploy.
Conclusion Standardizing protocols for emergency services means – facing technical challenges – learning to deal with an unclear regulatory framework – balancing conflicting interests of the stakeholders along the entire value chain – working with a large number of players Still work todo? YES… – Clear messages on how to share responsibilities (regulators) – Start to implement (manufacturers & software vendors) – Get engaged in early pilot to gain experience (VSPs, ISPs, IAPs)
Emergency Services Workshops: How to get involved? The Emergency Services Workshop is not a membership organization, but rather an ad-hoc forum for discussions about emergency services. There are no entrance requirements and no fees (other than a small amount to cover meeting costs). To get involved: – Join the list: Subscribe to the mailing list (https://lists.cs.columbia.edu/cucslists/listinfo/es-coordination) for discussions and information sharing in the context of emergency serviceshttps://lists.cs.columbia.edu/cucslists/listinfo/es-coordination – Come to a workshop: The next meeting is currently being planned. Notifications will be sent to the coordination list above. More information can be found at the main workshop page:
IETF ECRIT: History (1/2) JFMAMJJASONDJFMAMJJASOND ECRIT BOF 1 st ECRIT WG Meeting 1 st ECRIT Interim Meeting IETF#63 JFMAMJJASONDJFMAMJJASOND nd ECRIT Interim Meeting 4 th ECRIT WG Meeting 5 th ECRIT WG Meeting IETF#62IETF#61 2 nd ECRIT WG Meeting 3 rd ECRIT WG Meeting IETF#64 IETF#65 IETF#66 IETF ECRIT – 3GPP Workshop 1 st SDO Emergency Services Workshop 2 nd SDO Emergency Services Workshop IETF#67IETF#68 IETF ECRIT – IEEE Workshop 7 th ECRIT WG Meeting 6 th ECRIT WG Meeting 8 th ECRIT WG Meeting 3 nd SDO Emergency Services Workshop
IETF ECRIT: History (2/2) JFMAMJJASONDJFMAMJJASOND th ECRIT WG Meeting IETF#71 IETF#72 4 th SDO Emergency Services Workshop 5 th SDO Emergency Services Workshop IETF#73 10 th ECRIT WG Meeting 11 th ECRIT WG Meeting