<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc2131 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2131.xml">
<!ENTITY rfc3046 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3046.xml">
<!ENTITY rfc3261 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3261.xml">
<!ENTITY rfc3325 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3325.xml">
<!ENTITY rfc3825 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3825.xml">
<!ENTITY rfc4103 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4103.xml">
<!ENTITY rfc4119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4119.xml">
<!ENTITY rfc4190 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4190.xml">
<!ENTITY rfc4504 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4504.xml">
<!ENTITY identity SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-sip-identity.xml">
<!ENTITY toip SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-sipping-toip.xml">
<!ENTITY gruu SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-sip-gruu.xml">
<!ENTITY conveyance SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-sip-location-conveyance.xml">
<!ENTITY dhcpcivil SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.schulzrinne-geopriv-dhcp-civil.xml">
<!ENTITY profile SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-geopriv-pdif-lo-profile.xml">
<!ENTITY sipservice SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.schulzrinne-sipping-service.xml">
<!ENTITY lost SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-ecrit-lost.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<?rfc compact='yes'?>
<rfc category="std" docName="draft-rosen-sos-phonebcp-01.txt" ipr="full3978">
  <front>
    <title abbrev="Emergency Call Phone BCP">Best Current Practice for
    Communications Services in support of Emergency Calling</title>

    <author fullname="Brian Rosen" initials="B.R" surname="Rosen">
      <organization>NeuStar</organization>

      <address>
        <postal>
          <street>470 Conrad Dr.</street>

          <city>Mars</city>

          <region>PA</region>

          <code>16046</code>

          <country>US</country>
        </postal>

        <phone>+1 724 382 1051</phone>

        <email>br@brianrosen.net</email>
      </address>
    </author>

    <author fullname="James M. Polk" initials="J.P." surname="Polk">
      <organization>Cisco Systems</organization>

      <address>
        <postal>
          <street>3913 Treemont Circle</street>

          <city>Colleyville</city>

          <region>TX</region>

          <code>76034</code>

          <country>US</country>
        </postal>

        <phone>+1-817-271-3552</phone>

        <email>jmpolk@cisco.com</email>
      </address>
    </author>

    <date month="June" day="25" year="2006" />

    <area>RAI</area>

    <workgroup>ecrit</workgroup>

    <abstract>
      <t>Requesting help in an emergency using a communications device such as
      a telephone or mobile is an accepted practice in most of the world. As
      communications devices increasingly utilize the Internet to interconnect
      and communicate, users will continue to expect to use such devices to
      request help, regardless of whether or not they communicate using IP.
      The emergency response community will have to upgrade their facilities
      to support the wider range of communications services, but cannot be
      expected to handle wide variation in device and service capability. The
      IETF has several efforts targeted at standardizing various aspects of
      placing emergency calls. This memo describes best current practice on
      how devices and services should use such standards to reliably make
      emergency calls</t>
    </abstract>
  </front>

  <middle>
    <section title="Requirements notation">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in <xref
      target="RFC2119"></xref>.</t>
    </section>

    <section title="Introduction">
      <t>In this memo, an emergency call refers to a communications session
      established by a user to a "Public Safety Answering Point" (PSAP) which
      is a call center established by response agencies to accept emergency
      calls. We differentiate such calls from other sessions which are created
      by responders using public communications infrastructure often involving
      some kind of priority access as defined in Emergency Telecommunications
      Service (ETS) in IP Telephony <xref target="RFC4190"></xref>. While
      current PSAPs are limited to voice sessions, often with the additional
      capability to serve hearing impaired users with text based "TTY"
      devices, envisioned upgrades to PSAPs will allow sessions with audio,
      video, and several kinds of text including interactive text <xref
      target="RFC4103"></xref> and Instant Messages. and <xref
      target="I-D.ietf-sipping-toip"></xref></t>

      <t>Making an emergency call involves the use of location information,
      referring to the physical location of the caller. Location is used
      within the emergency calling system to route a call to the correct PSAP,
      as well as by the PSAP to choose the correct responder, and direct them
      to the person in need of assistance.</t>

      <t>The steps involved in an emergency call from an IP based device are 
      (with a rough ordering of operation) <list style="numbers">
          <t>Device connects to access network, and obtains initial location</t>

          <t>User dials visited location's emergency number</t>

          <t>User device identifies call as emergency call</t>

          <t>User device includes location indication (by value or by reference)
          in the call set-up messaging</t>

          <t>emergency call set-up is routed to appropriate PSAP based on
          location of the caller</t>

          <t>call is established with PSAP</t>

          <t>caller's location is presented to PSAP operator for dispatch</t>
        </list></t>

      <t>As a quick overview for a typical Ethernet connected telephone using
      SIP signaling: <list style="symbols">
          <t>the phone "boots" and connects to its access network</t>
          <t>the phone would get location from the DHCP server [or an L7
          server].</t>

          <t>It would use "urn:service:sos" as the URI of an emergency
          call.</t>

          <t>It would put its location in the SIP INVITE as a PIDF-LO in the
          body of the INVITE (or a reference to location in a Location header)
          and forward the call to its first hop proxy.</t>

          <t>The proxy recognize the call as an emergency call.</t>

          <t>The proxy would determine the PSAP's URI by using the 
          <xref target="I-D.ietf-ecrit-lost"></xref> mapping server from the 
          location provided in the signaling</t>

          <t>The proxy would use a SIP SRV record in the domain of the
          resulting PSAP URI to determine where to send the call.</t>
        </list></t>

      <t>The (upgraded) PSAP would answer the call as SIP, with location
      included.</t>

      <t><xref target="RFC4504"></xref> details Best Current
      Practice for SIP user agents. This memo can be considered an addition
      to it for endpoints.</t>
    </section>

    <section title="Which devices and services should support emergency calls">
      <t>Although present PSAPs have only support for voice calls placed
      through PSTN facilities or systems connected to the PSTN, future PSAPs
      will support Internet connectivity and a wider range of media types. In
      general, if a user could reasonably expect to be able to call for help
      with the device, then the device or service should support emergency
      calling. Certainly, any device or service that looks like and works like
      a telephone (wired or mobile) should support emergency calling, but
      increasingly, users have expectations that other devices and services
      should work.</t>

      <t>Using current (evolving) standards, devices that create media
      sessions and exchange audio, video and/or text, and have the capability
      to establish sessions to a wide variety of addresses, and communicate
      over private IP networks or the Internet, should support emergency
      calls.</t>
    </section>

    <section anchor="determineloc" title="Determining Location">
      <t>With Internet based communications services, determining where the
      caller is located is more problematic than in PSTN and mobile systems.
      Existing wired phones are tethered with a wire that is connected
      directly to a call control device, a circuit switch. Cellular phones are
      tethered via a radio channel to a cell tower, which connects that cell
      phone to a circuit switch. The primary difficulty with IP based phones
      is that the connectivity, whether wired or radio channel, is decoupled
      from the call control device. The communications service may not have
      any relationship with the access network carrier, and, with NAT and VPN
      tunnels, may have no way to even find out who the access carrier is.</t>

      <t>For this reason, standards have been created for endpoints (devices)
      to obtain location information. The endpoint is a subscriber to both the
      access network and the communications service, and thus is in a position
      to obtain its location from the access network, and supply it to the
      communications service.</t>

      <t>DHCP <xref target="RFC2131"></xref> has been enhanced to provide the
      location of a device. <xref target="RFC3825"></xref> describes how a
      geo-location (lat/lon/alt) may be obtained and <xref
      target="I-D.schulzrinne-geopriv-dhcp-civil"></xref> describes how a
      civic (street address) location can be obtained via DHCP.</t>

      <t>[Placeholder for HELD, LCP or other L7 location determination
      methods]</t>

      <t>For devices that operate on a network where the network operator
      controls the specification of every device connected to that network
      that could be used for emergency calls, the method by which location is
      determined need not be an IETF standard, but can be any method that
      achieves the desired result. Such a method MUST be specified, and every
      device MUST support it.</t>

      <t>For devices that operate in a network where the network operator
      controls the specification of every device connected to that network,
      but the network attachment supports upstream networks to which
      communications devices are connected (such as any network that supports
      Ethernet connected telephones and terminal adapters), the method by
      which location is determined need not be an IETF standard, but can be
      any method which achieves the desired result. However, the network
      attachment MUST support [both] DHCP [AND L7] for upstream communications
      devices to obtain location. For smaller interior (e.g, LAN) networks,
      the DHCP [or L7] server should simply repeat the location obtained from
      the access network. For larger networks, other mechanisms, such as a
      DHCP Relay Agent <xref target="RFC3046"></xref> MUST be used to provide
      more accurate location of endpoints.</t>

      <t>For devices that operate on a network where the network operator does
      not control the specification of every device connected to the network,
      DHCP [or L7] MUST be supported on the network.</t>

      <t>Note: Self Reported location is generally unacceptable in emergency
      calls, although it is being used prior to automatic location
      determination schemes being fielded. Local laws may govern what is
      acceptable in any country or area.</t>

      <t>Devices SHOULD get location immediately after obtaining local network
      configuration information. It is essential for the location to be
      determined BEFORE any VPN tunnels are established. It is equally
      essential that this location information is *not* overwritten by any
      process engaged from establishing a VPN connection. In other words, the
      established VPN to Chicago from the device in Dallas should not
      overwrite the location of "Dallas".</t>

      <t>It is desirable that location information be periodically refreshed.
      For devices which are not expected to roam, refreshing on the order of
      once per day is recommended. For devices which roam, refresh of location
      should be more frequent, with the frequency related to the mobility of
      the device and the ability of the access network to support the refresh
      operation. There can be instances in which a device is aware of when it
      moves, for example when it changes access points. When this type of
      event occurs, the device SHOULD refresh its location.</t>

      <t>It is desirable for location information to be requested immediately
      before placing an emergency call. However, if there is any delay in
      getting more recent location, the call SHOULD be placed with the most
      recent location information the device has. It is recommended that the
      device not wait longer than 500 ms to obtain updated location, and
      systems should be designed such that the typical response is under
      100ms.  These numbers are empiracilly derived, but are intended to keep 
      total call signaling time below 2 seconds.  There are conflicts between the time
      it takes to generate location when measuring techniques are used and the desire
      to route the call quickly.  If an accurate location cannot be determined quickly, 
      a rough location SHOULD be returned within 500ms which can be used to route 
      the call.</t>
    </section>

    <section anchor="marking" title="Determining an emergency call">
      <t>An emergency call is distinguished by the device (or a downstream
      element) by an "address", which in most cases for Internet connected
      devices is still a dialstring, although other user interfaces may be
      used.</t>

      <t>Note: It is undesirable to have a single "button" emergency call user
      interface element. These mechanisms have a very high false call rate.
      PSAPs prefer devices to use their local emergency call dialstring.</t>

      <t>While in some countries there is a single 3 digit dialstring that is
      used for all emergency calls (i.e. 911 in North America), in some
      countries there are several 3 digit numbers used for different types of
      calls. For example, in Switzerland, 117 is used to call police, 118 is
      used to call the fire brigade, and 144 is used for emergency medical
      assistance. In other countries, there are no "short codes" or "service
      codes" for 3 digit dialing of emergency services and local (PSTN)
      numbers are used.</t>

      <t><xref target="I-D.schulzrinne-sipping-service"></xref> introduces a
      universal emergency service URN scheme. On the wire, emergency calls
      SHOULD include this type of URI (in for example, the To: field of a SIP
      call). The scheme includes a single emergency URN (urn:service:sos) and
      responder specific ones (urn:service:sos.police). Using the service sos
      URN scheme, emergency calls can be recognized as such throughout the
      Internet.</t>

      <t>Devices MUST use the service:sos URN scheme to mark emergency
      calls.</t>

      <t>To determine which calls are emergency calls, some entity needs to
      map a user entered dialstring into this URN scheme. A user may "dial"
      1-1-2, but the call would be sent to urn:service:sos. This mapping is
      ideally performed at the endpoint device, but may be performed at an
      intermediate entity (such as a SIP proxy server).</t>

      <t>Note: It is strongly RECOMMENDED that devices recognize the emergency
      dialstring(s) and map to the universal emergency URN. If devices cannot
      do "dial plan interpretation", then the first signaling aware element
      (first hop proxy in SIP signaled devices) SHOULD do the mapping. It is
      important to not require a large number of active elements handle a call
      before it is recognized as an emergency call</t>

      <t>In systems that support roaming, there may be a concept of "visited"
      and "home" networks. Even when there is not a "visited network", the
      user may be roaming (or nomadic) in a different country from their home.
      This gives rise to the problem of which dialstring(s) to recognize, the
      "home" or "visited"? While it is desirable that the "home" dialstrings
      be recognized, it is required (by law in some countries) that the
      "visited" dialstrings be recognized. Dial plan interpretation may need
      to take "visited" emergency dialstrings into account.</t>

      <t>To give an example of this difference in dialstrings: If the device
      is from North America, the home and visited emergency dialstring is
      "9-1-1". If that devices roams to the UK, the home emergency dialstring
      is still "9-1-1", but the visited emergency dialstring would become
      "9-9-9". If the device roams to Paris, the home dialstring remains the
      same, "9-1-1", but the visited dialstring changes from 999 to
      "1-1-2".</t>

      <t>The home emergency dialstrings MAY be provisioned into the device (or
      other element doing dialstring to universal emergency call URN mapping).
      The visited dialstring MAY be discovered by a lower layer protocol that
      is used by the access network, such as DHCP, or with a higher layer
      protocol like SIP (using a REGISTER Request) or HTTP (using a GET
      Request) once the device learns its location. It could be that the
      device knows more than one way to learn the visited emergency
      dialstring, and using the methods in some configured order (until an
      answer is received).</t>
    </section>

    <section title="Session Signaling">
      <t>SIP signaling <xref target="RFC3261"></xref> is expected be supported
      by upgraded PSAPs. Gateways MAY be used between Internet connected
      devices and older PSAPs. Some countries may support other signaling
      protocols into PSAPs.</t>

      <section title="SIP signaling requirements for User Agents">
        <t>Initial signaling Method is INVITE. The Request-URI MUST be a
        service:sos URN unless the device does not do emergency dialstring
        interpretation. If the device does not do emergency dialstring
        interpretation, the expectation is that the Request-URI will be a tel
        URI with the dialed digits, or a sips uri with the dialed digits and a
        USER=PHONE parameter (e.g. sips:911@example.com;user=phone). The call
        would normally be sent to the first hop proxy of the communications
        service. <list style="numbers">
            <t>The To: header MUST be present and SHOULD be the same as the
            Request-URI</t>

            <t>The From: header MUST be present and SHOULD be the AoR of the
            caller.
            &lt;vspace blankLines="1"/&gt;NOTE: unintialized devices may not have an AoR available</t>

            <t>A Via: header MUST be present and SHOULD include the URI of the
            device</t>

            <t>A Route header MAY be present if the device has performed a
            fallback mapping function (see <xref
            target="determineloc"></xref>)</t>

            <t>Either a P-Asserted-Identity <xref target="RFC3325"></xref> or 
            an Identity header <xref target="I-D.ietf-sip-identity"></xref>, or both, SHOULD be
            included to identify the sender.</t>

            <t>A Contact header SHOULD be present (which might contain a GRUU <xref target="I-D.ietf-sip-gruu"></xref>)
            to permit an immediate call-back to the specific device which placed the
            emergency call.</t>

            <t>Other headers MAY be included as per normal sip behavior</t>

            <t>A Supported: header MUST be included with the 'location' option
            tag, unless the device does not understand the concept of SIP
            Location ;</t>

            <t>If the device's location is by-reference, a Location: header
            MUST be present containing the URI of the PIDF-LO reference for
            that device;</t>

            <t>if a device understands the SIP Location Conveyance <xref
            target="I-D.ietf-sip-location-conveyance"></xref> extension and 
            has its location available, it MUST include location either by-value or 
            by-reference.  If it is by-value, the INVITE contains a Supported header 
            with a "location" option tag, and a "cidURL" indicating which message 
            body part contains the PIDF-LO.  If the 
            INVITE contains a location by-reference, it includes the same Supported 
            header with the "location" option tag, and includes the URI of the PIDF-LO 
            on a remote node in a Location header. <xref target="I-D.ietf-geopriv-pdif-lo-profile"></xref> 
            MUST be used</t>

            <t>If a device understand the SIP Location Conveyance extension and 
            has its location unavailable or unknown to that device, it MUST include 
            a Supported header with a "location" option tag, and not include a Location 
            header, and not include a PIDF-LO message body.;</t>

            <t>A normal SDP offer SHOULD be included in the INVITE. The offer
            SHOULD NOT include compressed audio codecs, although a wideband
            codec offer MAY be included.</t>
          </list></t>

        <t>Note: Silence suppression (Voice Activity Detection methods) MUST
        NOT be used on emergency calls. PSAP call takers sometimes get
        information on what is happening in the background to determine how to
        process the call.</t>

      </section>

      <section title="Mapping from Location to a PSAP URI">
        <t>To route an emergency call, we make use of the <xref target="I-D.ietf-ecrit-lost"></xref> mapping
        service which takes a location expressed by a PIDF-LO and returns one
        or more PSAP URIs. The request includes the service URN which is used
        to determine which entity should receive the call. The URI would
        replace the Request-URI in a SIP INVITE.</t>

        <t>User agents that can obtain location information MUST perform the 
        mapping from location information to PSAP URI using <xref target="I-D.ietf-ecrit-lost"></xref>. The mapping 
        is performed whenever the UA acquires new location information that is 
        outside the bounds of the current PSAP coverage region specified in the 
        LoST response or the time-to-live value of that response has expired.</t>

        <t>To deal with old user agents that predate this specification and with 
        UAs that do not have access to their own location data, proxies that 
        recognize a call as an emergency call that is not marked as such (see 
        <xref target="marking"> </xref>) or where the Request-URI is a service:sos URN MUST also 
        perform this mapping.</t>

      </section>

      <section title="Routing the call">
        <t>Normal routing mechanisms for the specified URI should be used. For
        SIP signaled devices, the domain of the URI should be extracted, and
        the DNS consulted for a sip (or sips) SRV. The resulting NAPTR, if
        present, should be used for the FQDN of the server.</t>
      </section>

      <section title="Responding to PSAP signaling">
        <t>The PSAP is expected to use normal signaling (e.g. SIP) as per IETF
        standards. Devices and proxies should expect to: <list style="numbers">
            <t>Be REFERed to a conference bridge; PSAPs often include
            dispatchers, responders or specialists on a call.</t>

            <t>Be REFERed to a secondary PSAP. Some responder's dispatchers
            are not located in the primary PSAP. The call may have to be
            transferred to another PSAP. Most often this will be an attended
            transfer, or a bridged transfer.</t>

            <t>(For devices that are Mobile) SUBSCRIBE to the Presence of the
            AoR (or equivalent for other signaling schemes) to get location
            updates.</t>

            <t>Support Session Timer (or equivalent) to guard against session
            corruption</t>
          </list></t>

        <t>Devices MUST NOT send a BYE (or equivalent for other non-SIP
        signaling). The PSAP must be the only entity that can terminate a
        call. If the user "hangs up" an emergency call, the device should
        ring, and when answered, reconnect the caller to the PSAP.</t>

        <t>There can be a case where the session signaling path is lost, and
        the user agent does not receive the BYE. If the call is hung up, the
        session timer expires, and 5 minutes elapses from the last message
        received by the device from the PSAP, the call may be declared lost.
        If in the 5 minute interval an incoming call is received from the
        domain of the PSAP, the device should drop the old call and alert for
        the (new) incoming call.</t>
      </section>

      <section title="Disabling of features">
        <t>The device and/or service should disable outgoing call features
        such as: <list style="symbols">
            <t>Call Waiting</t>

            <t>Call Transfer</t>

            <t>Three Way Call</t>

            <t>Flash hold</t>

            <t>Outbound Call Blocking</t>
          </list></t>

        <t>The emergency dialstrings SHOULD NOT be permitted in Call Forward
        numbers or speed dial lists.</t>

        <t>The device and/or service SHOULD disable the following incoming
        call features on calls from the PSAP: <list style="symbols">
            <t>Call Waiting (all kinds)</t>

            <t>Do Not Disturb</t>

            <t>Call Forward (all kinds) (if the PSAP calls back within some
            (30min?) interval)</t>
          </list></t>
      </section>
    </section>

    <section title="Security Considerations">
      <t>There are no new security considerations beyond those in the
      normative references. This memo does not introduce any new protocols; it
      specifies use of several of them. Implementers are admonished to ,,,</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      &rfc2119;

      &rfc2131;

      &rfc3046;

      &rfc3261;

      &rfc3325;

      &rfc3825;

      &rfc4103;

      &rfc4119;

      &rfc4190;

      &rfc4504;

      &identity;

      &toip;

      &gruu;

      &conveyance;

      &dhcpcivil;

      &profile;

      &sipservice;

      &lost;
    </references>
  </back>
</rfc>