Internet StandardsEmergency Services Hannes Tschofenig Mail comments to Hannes.Tschofenig@nsn.com and/or ecrit@ietf.org. 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) High-Level Emergency Services Categorization • Authority-to-Citizen – Example: Tsunami warning • Authority-to-Authority – Example: Communication between emergency personnel Citizen-to-Authority Note that some Standards Development Organizations (SDOs) use the term “individuals” instead of “citizen”. Architectural Considerations VoIP, Inc. (Application Service Provider) Layer 7 Layer 3 Layer 1/2 ISP, Inc. (Internet Service Provider) Last Mile, Inc. (Internet Access Provider) 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 IPbased 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. – http://www.nena.org/media/File/08-001_20051205.pdf 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 http://www.ietf.org/html.charters/ecrit-charter.html – IETF GEOPRIV Working Group http://www.ietf.org/html.charters/geopriv-charter.html – IETF SIP Working Group “Legacy End Points” Location Information Server (2) Location Routing Database (3) Location + Service Identifier (4) PSAP URI (1) INVITE dial 1-2-2 Request URI: 122 To: 122 (5) INVITE SIP Proxy VSP Request URI: urn:service:sos To: 112 Route Header: PSAP URI < Reference to PIDF-LO> PSAP / Call Taker • Dial string provided by the end point may conform to RF 4967 or RFC 3966. • Dial string recognition, location determination, route determination done by 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. Initial Upgrades to End Hosts Location Information Server Routing Database (3) Location + Service Identifier (4) PSAP URI (2) Location (1) dial 1-2-2 INVITE Request URI: urn:service:sos To: urn:service:sos SIP Proxy VSP (5) INVITE Request URI: urn:service:sos To: urn:service:sos Route Header: PSAP URI < Reference to PIDF-LO> PSAP / Call Taker • 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. Fully Upgraded End Device Location Information Server (1) Location (1)GPS Info dial 1-2-2 (Note: This is a random IP device.) Routing Database (2) Location + Service Identifier (3) PSAP URI + emergency number (4) INVITE Request URI: urn:service:sos To: urn:service:sos Route Header: PSAP URI <PIDF-LO> SIP Proxy VSP (5) INVITE Request URI: urn:service:sos PSAP To: urn:service:sos Route Header: PSAP URI <PIDF-LO> • 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. … 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 http://www.sccfd.org/travel.html Emergency numbers vary in countries. Example: 9-1-1 for North America, 1-1-2 for Europe. Some countries use separate numbers for ambulance/police/fire; others don’t 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 http://tools.ietf.org/html/rfc5031 – Examples: urn:service:sos, urn:service:sos.ambulance, urn:service:sos.fire, urn:service:sos.poison, urn:service:sos.police Home and Visited Emergency Numbers • Required to support both home and visited emergency number – e.g., for an American traveler who is visiting Europe, both 9-1-1 and 1-1-2 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. Location Encoding of Location Information – GEOPRIV uses two formats for location information encoding. • Binary Format • XML-based Format – For bandwidth constraint environments a functionalityreduced 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 XMLbased format for presence (RFC 3863) – A PIDF document contains identity information (as part of the ‘entity’ attribute). – Extends PIDF to accommodate new functionality: • <location-info> Element – Encapsulates location information – GML 3.0 <feature.xsd> schema (mandatory-to-implement) – Supports civic location format (optional-to-implement) • <method> Element – Describes the way location information was derived or discovered. – Example: <method>gps</method> – Registry available at: http://www.iana.org/assignments/method-tokens • <provided-by> Element – Entity or organization that supplied this location information • <usage-rules> Element – Used to indicate privacy preferences Example: PIDF-LO with Geodetic Info <?xml version="1.0" encoding="UTF-8"?> <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10" xmlns:gml="http://www.opengis.net/gml" xmlns:cl="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr" entity="pres:mike@seattle.example.com"> <dm:device id="mikepc"> <status> <gp:geopriv> <gp:location-info> <gml:Point srsName="urn:ogc:def:crs:EPSG::4326"> <gml:pos>-43.5723 153.21760</gml:pos> </gml:Point> </gp:location-info> <method>802.11</method> <provided-by>www.example.com</provided-by> <gp:retransmission-allowed>no</gp:retransmission-allowed> <gp:retention-expiry>2003-06-23T04:57:29Z</gp:retention-expiry> <ruleset-reference>https://www.example.com/myrules</ruleset-reference> <note-well>These are my privacy rules</note-well> <gp:usage-rules/> </gp:geopriv> </status> <timestamp>2007-06-22T20:57:29Z</timestamp> <dm:deviceID>mac:8asd7d7d70cf</dm:deviceID> </dm:device> </presence> Example: PIDF-LO with Civic Info <?xml version="1.0" encoding="UTF-8"?> <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10" xmlns:gml="http://www.opengis.net/gml“ xmlns:cl="urn:ietf:params:xml:ns:pidf:geopriv10:civicAd dr" entity="pres:mike@seattle.example.com"> <dm:device id="mikepc"> <status> <gp:geopriv> <gp:location-info> <cl:civicAddress> <cl:country>US</cl:country> <cl:A1>New York</cl:A1> <cl:A3>New York</cl:A3> <cl:A6>Broadway</cl:A6> <cl:HNO>123</cl:HNO> <cl:LOC>Suite 75</cl:LOC> <cl:PC>10027-0401</cl:PC> </cl:civicAddress> </gp:location-info> <gp:usage-rules/> </gp:geopriv> </status> <timestamp>2007-06-22T20:57:29Z</timestamp> <dm:deviceID>mac:8asd7d7d70cf</dm:deviceID> </dm:device> </presence> More on Civic Information – Initially civic location was specified for DHCP in RFC 4776* (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 http://www.ietf.org/rfc/rfc5139.txt the document was revised and new civic tokens were added to be able to express addresses in Asia. – Note every jurisdiction needs to make use of all civic tokens. An example of a profiling for Austria is described in http://tools.ietf.org/html/draft-wolfcivicaddresses-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 Label Description Example country The country is identified by the twoletter ISO 3166 code US A1 national subdivisions (state, region, province, prefecture) New York A2 county, parish, gun (JP), district (IN) King's County A3 city, township, shi (JP) New York A4 city division, borough, city district, ward, chou (JP) Manhattan A5 Neighbourhood, block Morningside Heights A6 Street Broadway PRD Leading street direction N, W POD Trailing street suffix SW RFC 4119 Civic Location Info, cont. Label Description Example STS Street suffix Avenue, platz, Street HNO House number, numeric part only 123 HNS House number suffix A, ½ LMK Landmark or vanity address Low Library LOC Additional location information Room 543 FLR Floor 5 NAM Name (residence, business or office occupant ) Joe’s Barbershop PC Postal code 10027-0401 RFC 5139 Civic Location Info Label Description Example BLD Building (structure) Hope Theatre UNIT Unit (apartment, suite) 12a ROOM Room 450F PLC Place-Type Office PCN Postal community name Leonia POBOX Post office Box (P.O. Box) U40 ADDCODE Additional Code 13203000003 SEAT Seat (desk, cubicle, workstation) WS 181 RD Primary road or street Broadway RDSEC Road section 14 RDBR Road branch Lane 7 RDSUBBR Road sub-branch Alley 8 PRM Road pre-modifier Old POM Road post-modifier Extended 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: http://tools.ietf.org/html/draft-ietf-geopriv-pdif-lo-profile – 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. Obtaining Location Information 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 user’s home network • OMA MLS/SUPL: http://tinyurl.com/6qdbxt 4) Location Server from 3rd Party Providers using Global Cell-ID database, BSSID database Location Configuration Protocols (LCPs) Location Information Server Target Request Location Location • 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 LCPs, cont. • Link layer mechanisms (e.g., various extensions to IEEE link layer protocols) LLDP-MED – http://tinyurl.com/5eqlpq – http://tinyurl.com/5o3yxk – http://tinyurl.com/6hvag5 • DHCP (civic and geospatial) – RFC 4776 for civic location information (slides at http://tinyurl.com/6oj52t) http://www.ietf.org/rfc/rfc4776.txt – RFC 3825 for geodetic location information (slides at http://tinyurl.com/6jgchf) http://www.ietf.org/rfc/rfc3825.txt • Application Layer Location Configuration Protocol (e.g., HELD http://tools.ietf.org/html/draft-ietf-geopriv-http-location-delivery) 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 <?xml version="1.0"?> <locationRequest xmlns="urn:ietf:params:xml:ns:geopriv:held"/> Request for location information (no restrictions) <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?> <locationRequest xmlns="urn:ietf:params:xml:ns:geopriv:held" > <locationRequest xmlns="urn:ietf:params:xml:ns:geopriv:held" > <locationType>civic</locationType> </locationRequest> Request civic location information <locationType>geodetic</locationType> </locationRequest> Request geodetic location info HELD Response (geodetic) HTTP/1.x 200 OK Server: Example LCS Date: Tue, 10 Jan 2006 03:42:29 GMT Expires: Tue, 10 Jan 2006 03:42:29 GMT Cache-control: private Content-Type: application/held+xml Content-Length: 594 <?xml version="1.0" encoding="UTF-8"?> <locationResponse xmlns="urn:ietf:params:xml:ns:geopriv:held" code="success" message="OK"> <presence xmlns="urn:ietf:params:xml:ns:pidf" entity="pres:3650n87934c@ls.example.com"> <tuple id="3b650sf789nd"> <status> <geopriv xmlns="urn:ietf:params:xml:ns:pidf:geopriv10"> <location-info> <Point xmlns="http://www.opengis.net/gml" srsName="urn:ogc:def:crs:EPSG::4326"> <pos>-34.407 150.88001</pos> </Point> </location-info> <usage-rules> <retention-expiry> 2006-01-11T03:42:28+00:00</retention-expiry> </usage-rules> </geopriv> </status> <timestamp>2006-01-10T03:42:28+00:00</timestamp> </tuple> </presence> </locationResponse> 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. Location Information Server Request Architecture Location Reference SIP, HTTP, etc. User Agent (or proxy) + Location Reference Location Recipient • Examples: – sips:9769+357yc6s64ceyoiuy5ax3o@ls.example.com – https://ls.example.com:9768/357yc6s64ceyoiuy5ax3o LbyR Example Request <?xml version="1.0" encoding="UTF-8"?> <locationRequest xmlns="urn:ietf:params:xml:ns:geopriv:held" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <locationType exact="true">locationURI</locationType> </locationRequest> LbyR Example Response <?xml version="1.0" encoding="UTF-8"?> <locationResponse xmlns="urn:ietf:params:xml:ns:geopriv:held" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" code="success" message="OK"> <locationUriSet expires="2006-01-01T13:00:00"> <locationURI> https://ls.example.com:9768/357yc6s64ceyoiuy5ax3o </locationURI> <locationURI> sips:9769+357yc6s64ceyoiuy5ax3o@ls.example.com </locationURI> </locationUriSet> </locationResponse> 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: http://tools.ietf.org/id/draft-winterbottom-geopriv-held-identity-extensions • Typical usage: – LIS-to-LIS communication scenarios (in DSL wholesale environments) http://tools.ietf.org/html/draft-winterbottom-geopriv-held-lis2lis-bcp – SIP proxy-to-Location Server communication (only authorized proxies are allowed to contact the LIS) Example IAP LIS Request (2a) location for VCI/VPI xyz. ISP LIS (2b) Location Request (2a) location for IP address 10.162.93.203 (2b) Location (1) dial 1-1-2 Target (Emergency Caller) INVITE Request URI: urn:service:sos To: urn:service:sos SIP Proxy VSP (5) INVITE Request URI: urn:service:sos To: urn:service:sos Route Header: PSAP URI <Location Reference> PSAP / Call Taker De-Referencing • 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: – http://tools.ietf.org/id/draft-winterbottom-geopriv-deref-protocol – Provised polling capabilities • For SIP the SIP presence event package is used to obtain location information – Offers also asynchronous notifications ( next slide) 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: • http://tools.ietf.org/wg/geopriv/draft-ietf-geopriv-loc-filters/ – 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 Finding the closest PSAP Location Information + Service URN Emergency Number + Service URN + (PSAP) URI Location-to-Service Translation (LoST) is an XML-based query and response protocol running on top of HTTP. + Service Boundary Features • Protocol specification available with – http://tools.ietf.org/html/rfc5222 • Satisfies the requirements for mapping protocols: – http://tools.ietf.org/html/rfc5012 • Provides civic address validation – Returns XML tag names of components (classified into <valid>, <invalid> and <unchecked>) • 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 <findService> Query with geodetic location info <?xml version="1.0" encoding="UTF-8"?> <findService xmlns="urn:ietf:params:xml:ns:lost1" xmlns:p2="http://www.opengis.net/gml" serviceBoundary="value" recursive="true"> <location id="6020688f1ce1896d" profile="geodetic-2d"> <p2:Point id="point1" srsName="urn:ogc:def:crs:EPSG::4326"> <p2:pos>37.775 -122.422</p2:pos> </p2:Point> </location> <service>urn:service:sos.police</service> </findService> LoST Example: <findService> Response <?xml version="1.0" encoding="UTF-8"?> <findServiceResponse xmlns="urn:ietf:params:xml:ns:lost1" xmlns:p2="http://www.opengis.net/gml"> <mapping expires="2007-01-01T01:44:33Z" lastUpdated="2006-11-01T01:00:00Z" source="authoritative.example" sourceId="7e3f40b098c711dbb6060800200c9a66"> <displayName xml:lang="en"> New York City Police Department </displayName> <service>urn:service:sos.police</service> <serviceBoundary profile="geodetic-2d"> <p2:Polygon srsName="urn:ogc:def::crs:EPSG::4326"> <p2:exterior> <p2:LinearRing> <p2:pos>37.775 -122.4194</p2:pos> … <p2:pos>37.775 -122.4194</p2:pos> </p2:LinearRing> </p2:exterior> </p2:Polygon> </serviceBoundary> <uri>sip:nypd@example.com</uri> <uri>xmpp:nypd@example.com</uri> <serviceNumber>911</serviceNumber> </mapping> <path> <via source="resolver.example"/> <via source="authoritative.example"/> </path> <locationUsed id="6020688f1ce1896d"/> </findServiceResponse> LoST Example <findService> Query with civic location <?xml version="1.0" encoding="UTF-8"?> <findService xmlns="urn:ietf:params:xml:ns:lost1" recursive="true" serviceBoundary="value"> <location id="627b8bf819d0bad4d" profile="civic"> <civicAddress xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"> <country>Germany</country> <A1>Bavaria</A1> <A3>Munich</A3> <A6>Otto-Hahn-Ring</A6> <HNO>6</HNO> <PC>81675</PC> </civicAddress> </location> <service>urn:service:sos.police</service> </findService> Example: Location Validation <?xml version="1.0" encoding="UTF-8"?> <findService xmlns="urn:ietf:params:xml:ns:lost1" recursive="true" validateLocation="true" serviceBoundary="value"> <location id="627b8bf819d0bad4d" profile="civic"> <civicAddress xmlns= "urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"> <country>DE</country> <A1>Bavaria</A1> <A3>Munich</A3> <A6>Otto-Hahn-Ring</A6> <HNO>6</HNO> <PC>81675</PC> </civicAddress> </location> <service>urn:service:sos.police</service> </findService> Request <?xml version="1.0" encoding="UTF-8"?> <findServiceResponse xmlns="urn:ietf:params:xml:ns:lost1"> <mapping> … </mapping> <locationValidation> <valid>country A1 A3 A6</valid> <invalid>PC</invalid> <unchecked>HNO</unchecked> </locationValidation> <path> … </path> <locationUsed id="627b8bf819d0bad4d"/> </findServiceResponse> Response (XML fragment) Example: listServices and listServicesResponse <?xml version="1.0" encoding="UTF-8"?> <listServices xmlns="urn:ietf:params:xml:ns:lost1"> <service>urn:service:sos</service> </listServices> <?xml version="1.0" encoding="UTF-8"?> <listServicesResponse xmlns="urn:ietf:params:xml:ns:lost1"> <serviceList> 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 </serviceList> </listServicesResponse> Request Response <listServicesByLocation> is a variation of <listServices> that includes location in the query. From a Protocol to an Architecture • 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: http://tools.ietf.org/html/draft-ietf-ecrit-mapping-arch • For LoST usage in the NENA i3 architecture see – http://tinyurl.com/63dvs4 • 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? LoST Architecture, cont. • http://tools.ietf.org/html/draft-ietf-ecrit-mapping-arch 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 http://www.ietf.org/internet-drafts/draft-ietf-ecrit-lost-sync-00.txt – 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 http://tools.ietf.org/html/rfc5222) – Via DHCP (defined in http://tools.ietf.org/html/rfc5223) Terminology Forest Guide FG FG FG FG FG Resolver T2 seeker T1 (.de) (.us) Tree Tree Tree Tree Node Tree Node T3 (.at) Leaf Node Leaf Node Leaf Node Leaf Node Terminology • Seekers: Consumers of mapping data and may cache responses. Don’t 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 FG FG FG broadcast (gossip) FG T1: .us FG T2: .de resolver seeker 313 Westview Leonia, NJ US T2 T1 (.us) (.de) T3 (.at) 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 US NJ Bergen US NJ Bergen US NJ Bergen US NJ Bergen …. A3 PSAPs and further LoST servers Leonia sip:psap@leonianj.gov Fort Lee sip:emergency@fortleenj.org Teaneck sip:police@teanecknjgov.org 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: – http://tools.ietf.org/wg/ecrit/draft-ietf-ecrit-framework/ – http://tools.ietf.org/wg/ecrit/draft-ietf-ecrit-phonebcp/ • draft-ietf-ecrit-phonebcp makes use of the Service URN and SIP Location Conveyance http://tools.ietf.org/wg/sip/draftietf-sip-location-conveyance/ as protocol mechanisms. 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 3264. – 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. SIP Location Conveyance – The GEOPRIV WG calls this a using protocol. – SIP is such a using protocol, as defined in http://tools.ietf.org/html/draftietf-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 Example: SIP Invite with Location by Value (1) Bob Alice INVITE INVITE sip:bob@192.168.10.20 SIP/2.0 Via: SIP/2.0/TCP pc33.atlanta.example.com ;branch=z9hG4bK77i832k9 Max-Forwards: 70 To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.examplecom>; tag=1928301774 Call-ID: a84b4c76e6Kr456@pc33.atlanta.com Geolocation: cid:alice123@atlanta.example.com; inserted-by=alice@atlanta.example.com; recipient=endpoint Supported: geolocation CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.example.com> Accept: application/sdp, application/pidf-xml Content-Type: multipart/mixed; boundary=0a0 Content-Length: 543 sdp geolocation (if as a message body) • Example shows location added by value. cid: points to location in the body. Example: SIP Invite with Location by Value (2) Bob Alice INVITE --0a0 Content-Type: application/pidf+xml Content-ID: cid:alice123@atlanta.example.com ….. <gml:location> <gml:coordinates>36.132N 115.151W </gml:coordinates> </gml:location> ….. <method>802.11</method> <provided-by>www.example.com</provided-by/> ….. --0a0-- • XML fragment of multipart MIME body • Example geodetic location Example: SIP Invite with Location by Value (3) Bob Alice INVITE --0a0 Content-Type: application/pidf+xml Content-ID: cid:alice123@atlanta.example.com ... <gp:geopriv> <gp:location-info> <cl:civilAddress> <cl:country>US</cl:country> <cl:A1>Nevada</cl:A1> <cl:A3>Las Vegas</cl:A3> <cl:HNO>399</cl:HNO> <cl:A6>Convention Center</cl:A6> <cl:STS>Drive</cl:STS> <cl:PC>89109</cl:PC> <cl:LMK>LVCC</cl:LMK> <cl:RM>110</cl:RM> <cl:civilAddress> <gp:location-info> ... --0a0-- • XML fragment of multipart MIME body • Example civic location Example: SIP Invite with Location by Reference (1) Alice Bob INVITE INVITE sip:bob@192.168.10.20 SIP/2.0 Via: SIP/2.0/TCP pc33.atlanta.example.com ;branch=z9hG4bK77i832k9 Max-Forwards: 70 To: Bob <sip:bob@biloxi.com> From: Alice <sip:alice@atlanta.example.com>; tag=1928301774 Call-ID: a84b4c76e6Kr456@pc33.atlanta.ecample.com Geolocation: sips:alice123@atlanta.example.com; inserted-by=alice@atlanta.example.com; Recipient=endpoint Supported: geolocation CSeq: 314159 INVITE Contact: <sip:alice@pc33.atlanta.example.com> Accept: application/sdp, application/pidf-xml Content-Type: application/sdp Content-Length: 243 • Example shows location added by value. • sips:alice123@atlanta.exampl e.com represents the location by reference Example: SIP Invite with Location by Reference (2) Bob Alice INVITE 200 OK • SIP/2.0 200 OK Via: SIP/2.0/TCP sip:alice@atlanta.com ;branch=z9hG4bK77i832k9 To: Bob <sip:bob@biloxi.com>; tag=a6c85e3 From: Alice <sip:alice@atlanta.com>;tag=1928301774 Call-ID: a84b4c76e6Kr456@pc33.atlanta.com Geolocation: sips:alice123@atlanta.example.com Supported: geolocation CSeq: 314159 INVITE Accept: application/sdp, application/pidf-xml Content-Type: application/sdp Content-Length: 142 (…Bob’s SDP here…) 200 OK may contain either form of location delivery (message body or URI) – Since Request had appropriate Accept header 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 • http://tools.ietf.org/wg/ecrit/draft-ietf-ecrit-location-hidingreq/ – 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 • http://tools.ietf.org/html/draft-barnes-ecrit-rough-loc Unauthenticated Emergency Services – Reference http://tools.ietf.org/id/draft-schulzrinne-ecritunauthenticated-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 e-mail 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 services – Come to a workshop: The next meeting is currently being planned. Notifications will be sent to the coordination email list above. • More information can be found at the main workshop page: http://www.emergency-services-coordination.info Backup Slides IETF ECRIT: History (1/2) 1st ECRIT WG Meeting 1st ECRIT Interim Meeting ECRIT BOF J F 2004 M IETF#61 A M J J S IETF#66 IETF#65 J F 2006 M A O M N D IETF#62 J F 2005 M IETF ECRIT – 3GPP Workshop 5th ECRIT WG Meeting 2nd ECRIT Interim Meeting 4th ECRIT WG Meeting A 2nd ECRIT WG Meeting J J 1st SDO Emergency Services Workshop A S N D ECRIT WG Meeting IETF#63 M J J IETF#64 A S O 7th ECRIT WG Meeting M A M D 8th ECRIT WG Meeting IETF#68 J F 2007 N IETF ECRIT – IEEE Workshop 6th ECRIT WG Meeting IETF#67 O A 3rd J J A 2nd SDO Emergency Services Workshop S O N D 3nd SDO Emergency Services Workshop IETF ECRIT: History (2/2) 11th ECRIT WG Meeting 10th ECRIT WG Meeting IETF#72 IETF#71 J F 2008 M A M J J A S IETF#73 O 9th ECRIT WG Meeting 4th SDO Emergency Services Workshop N D J F 2007 M A M J J A 5th SDO Emergency Services Workshop S O N D