Difference between revisions of "RFC7090"

From RFC-Wiki
imported>Admin
(Created page with " Internet Engineering Task Force (IETF) H. SchulzrinneRequest for Comments: 7090 Columbia UniversityCategory: Standards Track...")
 
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 +
Internet Engineering Task Force (IETF)                    H. Schulzrinne
 +
Request for Comments: 7090                          Columbia University
 +
Category: Standards Track                                  H. Tschofenig
 +
ISSN: 2070-1721
 +
                                                          C. Holmberg
 +
                                                            Ericsson
 +
                                                            M. Patel
 +
                                  Huawei Technologies (UK) Co., Ltd.
 +
                                                          April 2014
  
 +
          Public Safety Answering Point (PSAP) Callback
  
 
+
'''Abstract'''
 
 
 
 
 
 
Internet Engineering Task Force (IETF)                    H. SchulzrinneRequest for Comments: 7090                          Columbia UniversityCategory: Standards Track                                  H. TschofenigISSN: 2070-1721                                                          C. Holmberg                                                            Ericsson                                                            M. Patel                                  Huawei Technologies (UK) Co., Ltd.                                                          April 2014
 
 
 
          Public Safety Answering Point (PSAP) Callback
 
Abstract
 
  
 
After an emergency call is completed (terminated either prematurely
 
After an emergency call is completed (terminated either prematurely
Line 32: Line 35:
 
PSAP callbacks.
 
PSAP callbacks.
  
 
+
'''Status of This Memo'''
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Status of This Memo
 
  
 
This is an Internet Standards Track document.
 
This is an Internet Standards Track document.
Line 62: Line 49:
 
http://www.rfc-editor.org/info/rfc7090.
 
http://www.rfc-editor.org/info/rfc7090.
  
Copyright Notice
+
'''Copyright Notice'''
  
 
Copyright (c) 2014 IETF Trust and the persons identified as the
 
Copyright (c) 2014 IETF Trust and the persons identified as the
Line 76: Line 63:
 
the Trust Legal Provisions and are provided without warranty as
 
the Trust Legal Provisions and are provided without warranty as
 
described in the Simplified BSD License.
 
described in the Simplified BSD License.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
== Introduction ==
 
== Introduction ==
Line 114: Line 77:
  
 
An overview of the protocol interactions for emergency calling using
 
An overview of the protocol interactions for emergency calling using
the IETF emergency services architecture is described in [RFC6443],
+
the IETF emergency services architecture is described in [[RFC6443]],
and [RFC6881] specifies the technical details.  As part of the
+
and [[RFC6881]] specifies the technical details.  As part of the
 
emergency call setup procedure, two important identifiers are
 
emergency call setup procedure, two important identifiers are
 
conveyed to the PSAP call taker's user agent, namely the address-of-
 
conveyed to the PSAP call taker's user agent, namely the address-of-
 
record (AOR), and if available, the Globally Routable User Agent (UA)
 
record (AOR), and if available, the Globally Routable User Agent (UA)
URIs (GRUUs).  [[RFC3261|RFC 3261]] [RFC3261] defines the AOR as:
+
URIs (GRUUs).  [[RFC3261|RFC 3261]] [[RFC3261]] defines the AOR as:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
   An address-of-record (AOR) is a SIP or SIPS URI that points to a
 
   An address-of-record (AOR) is a SIP or SIPS URI that points to a
Line 140: Line 96:
 
rather than the group of user agents indicated by an AOR.  The GRUU
 
rather than the group of user agents indicated by an AOR.  The GRUU
 
is such a unique user-agent identifier, and it is also globally
 
is such a unique user-agent identifier, and it is also globally
routable.  [RFC5627] specifies how to obtain and use GRUUs.
+
routable.  [[RFC5627]] specifies how to obtain and use GRUUs.
[RFC6881] also makes use of the GRUU for emergency calls.
+
[[RFC6881]] also makes use of the GRUU for emergency calls.
  
 
Regulatory requirements demand that the emergency call setup
 
Regulatory requirements demand that the emergency call setup
Line 168: Line 124:
 
an earlier emergency call that was made "not too long ago".  An exact
 
an earlier emergency call that was made "not too long ago".  An exact
 
time interval is difficult to define in a global IETF standard due to
 
time interval is difficult to define in a global IETF standard due to
the variety of national regulatory requirements, but [RFC6881]
+
the variety of national regulatory requirements, but [[RFC6881]]
 
suggests 30 minutes.
 
suggests 30 minutes.
 
 
 
 
 
 
 
 
 
 
  
 
Nevertheless, to meet the needs from the emergency services
 
Nevertheless, to meet the needs from the emergency services
 
community, a basic mechanism for preferential treatment of PSAP
 
community, a basic mechanism for preferential treatment of PSAP
callbacks was defined in Section 13 of [RFC6443].  The specification
+
callbacks was defined in Section 13 of [[RFC6443]].  The specification
 
says:
 
says:
  
Line 204: Line 150:
 
== Terminology ==
 
== Terminology ==
  
Emergency-services-related terminology is borrowed from [RFC5012].
+
Emergency-services-related terminology is borrowed from [[RFC5012]].
 
This includes terminology like emergency caller, user equipment, call
 
This includes terminology like emergency caller, user equipment, call
 
taker, Emergency Service Routing Proxy (ESRP), and Public Safety
 
taker, Emergency Service Routing Proxy (ESRP), and Public Safety
Line 211: Line 157:
 
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
 
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
 
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [[RFC2119|RFC 2119]] [RFC2119].
+
document are to be interpreted as described in [[RFC2119|RFC 2119]] [[RFC2119]].
  
 
== Callback Scenarios ==
 
== Callback Scenarios ==
  
 
This section illustrates a number of scenarios where the currently
 
This section illustrates a number of scenarios where the currently
specified solution, as described in [RFC6881], for preferential
+
specified solution, as described in [[RFC6881]], for preferential
 
treatment of callbacks fails.  As explained in Section 1, a SIP
 
treatment of callbacks fails.  As explained in Section 1, a SIP
 
entity examines an incoming PSAP callback by comparing the domain of
 
entity examines an incoming PSAP callback by comparing the domain of
Line 229: Line 175:
 
provider uses different SIP proxies for inbound and for outbound call
 
provider uses different SIP proxies for inbound and for outbound call
 
handling.  Unless the two devices are synchronized, the callback
 
handling.  Unless the two devices are synchronized, the callback
 
 
 
 
  
 
reaching the inbound proxy would get treated like any other call
 
reaching the inbound proxy would get treated like any other call
Line 269: Line 211:
  
 
               Figure 1: Example for Routing Asymmetry
 
               Figure 1: Example for Routing Asymmetry
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
=== Multi-Stage Routing ===
 
=== Multi-Stage Routing ===
Line 292: Line 217:
 
routing towards the PSAP occurs in several stages.  In this scenario,
 
routing towards the PSAP occurs in several stages.  In this scenario,
 
we consider a SIP UA that uses the Location-to-Service Translation
 
we consider a SIP UA that uses the Location-to-Service Translation
(LoST) Protocol [RFC5222] to learn the next-hop destination, namely
+
(LoST) Protocol [[RFC5222]] to learn the next-hop destination, namely
 
[email protected], to get the call closer to the PSAP.  This call is
 
[email protected], to get the call closer to the PSAP.  This call is
 
then sent to the proxy of the user's VoIP provider (example.org).
 
then sent to the proxy of the user's VoIP provider (example.org).
Line 331: Line 256:
  
 
               Figure 2: Example for Multi-Stage Routing
 
               Figure 2: Example for Multi-Stage Routing
 
 
 
 
 
 
 
 
  
 
=== Call Forwarding ===
 
=== Call Forwarding ===
Line 355: Line 272:
 
domains whereas the emergency caller's SIP UA or the VoIP outbound
 
domains whereas the emergency caller's SIP UA or the VoIP outbound
 
proxy has stored state.example.
 
proxy has stored state.example.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
                                 ,-------.
 
                                 ,-------.
Line 429: Line 309:
 
   |  +------+    |  |  /  Emergency  \  |      |              |
 
   |  +------+    |  |  /  Emergency  \  |      |              |
 
   |  |PSAP  +----+--+ |  Services    | |      |  example.com  ,
 
   |  |PSAP  +----+--+ |  Services    | |      |  example.com  ,
   |  +------+    |    |  Network    | |      `11:13, 27 October 2014 (CET)11:13, 27 October 2014 (CET)11:13, 27 October 2014 (CET)
+
   |  +------+    |    |  Network    | |      `15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)
 
   |              |    |  (Ambulance)  | |
 
   |              |    |  (Ambulance)  | |
 
   |  example.net  ,    |              | |
 
   |  example.net  ,    |              | |
   `11:13, 27 October 2014 (CET)11:13, 27 October 2014 (CET)11:13, 27 October 2014 (CET)    |  +------+    | |
+
   `15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)    |  +------+    | |
 
                       |  |PSAP  +----+ +
 
                       |  |PSAP  +----+ +
 
                       |  +------+    |
 
                       |  +------+    |
 
                       |              |
 
                       |              |
 
                       |  example.org  ,
 
                       |  example.org  ,
                       `11:13, 27 October 2014 (CET)11:13, 27 October 2014 (CET)11:13, 27 October 2014 (CET)
+
                       `15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)
  
 
                 Figure 3: Example for Call Forwarding
 
                 Figure 3: Example for Call Forwarding
 
 
 
 
 
  
 
=== Network-Based Service URN Resolution ===
 
=== Network-Based Service URN Resolution ===
Line 470: Line 345:
 
  |  +------+    |INVITE from        |  |
 
  |  +------+    |INVITE from        |  |
 
  |              ,[email protected]  |  |
 
  |              ,[email protected]  |  |
  `11:13, 27 October 2014 (CET)11:13, 27 October 2014 (CET)11:13, 27 October 2014 (CET)                    |  |
+
  `15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)                    |  |
 
                                       v  |
 
                                       v  |
 
  +--------+  Query with location  +--+---+-+
 
  +--------+  Query with location  +--+---+-+
Line 490: Line 365:
  
 
     Figure 4: Example for Network-Based Service URN Resolution
 
     Figure 4: Example for Network-Based Service URN Resolution
 
 
 
 
 
 
 
 
  
 
=== PSTN Interworking ===
 
=== PSTN Interworking ===
Line 540: Line 407:
 
               Figure 5: Example for PSTN Interworking
 
               Figure 5: Example for PSTN Interworking
  
'''Note:''' This scenario is considered outside the scope of this document.
+
Note: This scenario is considered outside the scope of this document.
 
The specified solution does not support this use case.
 
The specified solution does not support this use case.
 
 
 
 
 
 
 
 
 
  
 
== SIP PSAP Callback Indicator ==
 
== SIP PSAP Callback Indicator ==
Line 557: Line 415:
  
 
This section defines a new header field value, called "psap-
 
This section defines a new header field value, called "psap-
callback", for the SIP Priority header field defined in [RFC3261].
+
callback", for the SIP Priority header field defined in [[RFC3261]].
 
The value is used to inform SIP entities that the request is
 
The value is used to inform SIP entities that the request is
 
associated with a PSAP callback SIP session.
 
associated with a PSAP callback SIP session.
Line 577: Line 435:
 
==== General ====
 
==== General ====
  
This section defines the ABNF [RFC5234] for the new SIP Priority
+
This section defines the ABNF [[RFC5234]] for the new SIP Priority
 
header field value "psap-callback".
 
header field value "psap-callback".
  
Line 597: Line 455:
 
SIP UA, it would override user-interface configurations, such as
 
SIP UA, it would override user-interface configurations, such as
 
vibrate-only mode, to alert the caller of the incoming call.
 
vibrate-only mode, to alert the caller of the incoming call.
 
 
 
 
 
 
 
  
 
=== Security Requirements ===
 
=== Security Requirements ===
Line 630: Line 481:
 
recognize and accept a callback from the PSAP if it occurs within a
 
recognize and accept a callback from the PSAP if it occurs within a
 
reasonable time after an emergency call was placed, as described in
 
reasonable time after an emergency call was placed, as described in
Section 13 of [RFC6443].  Only a timer started at the time when the
+
Section 13 of [[RFC6443]].  Only a timer started at the time when the
 
original emergency call has ended is required; information about the
 
original emergency call has ended is required; information about the
 
calling party identity is not needed since the callback may use a
 
calling party identity is not needed since the callback may use a
 
different calling party identity, as described in Section 3.  Since
 
different calling party identity, as described in Section 3.  Since
these SIP UA considerations are described already in [RFC6443] as
+
these SIP UA considerations are described already in [[RFC6443]] as
well as in [RFC6881] the rest of this section focuses on the behavior
+
well as in [[RFC6881]] the rest of this section focuses on the behavior
 
of SIP proxies.
 
of SIP proxies.
  
Line 642: Line 493:
 
be provided.  To make this policy decision, the identity of the PSAP
 
be provided.  To make this policy decision, the identity of the PSAP
 
(i.e., calling party identity) is compared with a PSAPs white list.
 
(i.e., calling party identity) is compared with a PSAPs white list.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
                     +----------+
 
                     +----------+
Line 684: Line 520:
  
 
The identity assurance in SIP can come in different forms, namely via
 
The identity assurance in SIP can come in different forms, namely via
the SIP Identity [RFC4474] or the P-Asserted-Identity [RFC3325]
+
the SIP Identity [[RFC4474]] or the P-Asserted-Identity [[RFC3325]]
 
mechanisms.  The former technique relies on a cryptographic assurance
 
mechanisms.  The former technique relies on a cryptographic assurance
 
and the latter on a chain of trust.  Also, the usage of Transport
 
and the latter on a chain of trust.  Also, the usage of Transport
Line 706: Line 542:
 
emergency services operator and the VoIP provider.  If there is a
 
emergency services operator and the VoIP provider.  If there is a
 
relationship between the VoIP provider and the PSAP operator, for
 
relationship between the VoIP provider and the PSAP operator, for
 
 
 
 
  
 
example, when they are both operating in the same geographical
 
example, when they are both operating in the same geographical
Line 726: Line 558:
 
As a second step, SIP UAs MUST maintain a timer that is started with
 
As a second step, SIP UAs MUST maintain a timer that is started with
 
the original emergency call and this timer expires within a
 
the original emergency call and this timer expires within a
reasonable amount of time, such as 30 minutes per [RFC6881].  Such a
+
reasonable amount of time, such as 30 minutes per [[RFC6881]].  Such a
 
timer also ensures that VoIP providers cannot misuse the PSAP
 
timer also ensures that VoIP providers cannot misuse the PSAP
 
callback mechanism, for example, to ensure that their support calls
 
callback mechanism, for example, to ensure that their support calls
Line 749: Line 581:
  
 
This document adds the "psap-callback" value to the SIP "Priority
 
This document adds the "psap-callback" value to the SIP "Priority
Header Field Values" registry allocated by [RFC6878].  The semantic
+
Header Field Values" registry allocated by [[RFC6878]].  The semantic
 
of the newly defined "psap-callback" value is defined in Section 4.
 
of the newly defined "psap-callback" value is defined in Section 4.
 
 
 
 
 
 
 
 
 
 
 
 
  
 
== Acknowledgements ==
 
== Acknowledgements ==
Line 786: Line 606:
 
=== Normative References ===
 
=== Normative References ===
  
[RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate           Requirement Levels", [[BCP14|BCP 14]], [[RFC2119|RFC 2119]], March 1997.
+
[[RFC2119]]  Bradner, S., "Key words for use in RFCs to Indicate
[RFC3261]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,          A., Peterson, J., Sparks, R., Handley, M., and E.          Schooler, "SIP: Session Initiation Protocol", [[RFC3261|RFC 3261]],          June 2002.
+
          Requirement Levels", [[BCP14|BCP 14]], [[RFC2119|RFC 2119]], March 1997.
[RFC5234]  Crocker, D., Ed., and P. Overell, "Augmented BNF for          Syntax Specifications: ABNF", STD 68, [[RFC5234|RFC 5234]], January          2008.
 
[RFC5627]  Rosenberg, J., "Obtaining and Using Globally Routable User          Agent URIs (GRUUs) in the Session Initiation Protocol          (SIP)", [[RFC5627|RFC 5627]], October 2009.
 
[RFC6878]  Roach, A., "IANA Registry for the Session Initiation          Protocol (SIP) "Priority" Header Field", [[RFC6878|RFC 6878]], March          2013.
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 +
[[RFC3261]]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
 +
          A., Peterson, J., Sparks, R., Handley, M., and E.
 +
          Schooler, "SIP: Session Initiation Protocol", [[RFC3261|RFC 3261]],
 +
          June 2002.
  
 +
[[RFC5234]]  Crocker, D., Ed., and P. Overell, "Augmented BNF for
 +
          Syntax Specifications: ABNF", [[STD68|STD 68]], [[RFC5234|RFC 5234]], January
 +
          2008.
  
 +
[[RFC5627]]  Rosenberg, J., "Obtaining and Using Globally Routable User
 +
          Agent URIs (GRUUs) in the Session Initiation Protocol
 +
          (SIP)", [[RFC5627|RFC 5627]], October 2009.
  
 +
[[RFC6878]]  Roach, A., "IANA Registry for the Session Initiation
 +
          Protocol (SIP) "Priority" Header Field", [[RFC6878|RFC 6878]], March
 +
          2013.
  
 
=== Informative References ===
 
=== Informative References ===
  
[RFC3325]  Jennings, C., Peterson, J., and M. Watson, "Private           Extensions to the Session Initiation Protocol (SIP) for           Asserted Identity within Trusted Networks", [[RFC3325|RFC 3325]],           November 2002.
+
[[RFC3325]]  Jennings, C., Peterson, J., and M. Watson, "Private
[RFC4474]  Peterson, J. and C. Jennings, "Enhancements for          Authenticated Identity Management in the Session          Initiation Protocol (SIP)", [[RFC4474|RFC 4474]], August 2006.
+
          Extensions to the Session Initiation Protocol (SIP) for
[RFC5012]  Schulzrinne, H. and R. Marshall, "Requirements for          Emergency Context Resolution with Internet Technologies",          [[RFC5012|RFC 5012]], January 2008.
+
          Asserted Identity within Trusted Networks", [[RFC3325|RFC 3325]],
[RFC5222]  Hardie, T., Newton, A., Schulzrinne, H., and H.          Tschofenig, "LoST: A Location-to-Service Translation          Protocol", [[RFC5222|RFC 5222]], August 2008.
+
          November 2002.
[RFC6443]  Rosen, B., Schulzrinne, H., Polk, J., and A. Newton,          "Framework for Emergency Calling Using Internet          Multimedia", [[RFC6443|RFC 6443]], December 2011.
 
[RFC6881]  Rosen, B. and J. Polk, "Best Current Practice for          Communications Services in Support of Emergency Calling",          [[BCP181|BCP 181]], [[RFC6881|RFC 6881]], March 2013.
 
[STIR]    IETF, "Secure Telephone Identity Revisited (stir) Working          Group", http://datatracker.ietf.org/wg/stir/charter/,          October 2013.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 +
[[RFC4474]]  Peterson, J. and C. Jennings, "Enhancements for
 +
          Authenticated Identity Management in the Session
 +
          Initiation Protocol (SIP)", [[RFC4474|RFC 4474]], August 2006.
  
 +
[[RFC5012]]  Schulzrinne, H. and R. Marshall, "Requirements for
 +
          Emergency Context Resolution with Internet Technologies",
 +
          [[RFC5012|RFC 5012]], January 2008.
  
 +
[[RFC5222]]  Hardie, T., Newton, A., Schulzrinne, H., and H.
 +
          Tschofenig, "LoST: A Location-to-Service Translation
 +
          Protocol", [[RFC5222|RFC 5222]], August 2008.
  
 +
[[RFC6443]]  Rosen, B., Schulzrinne, H., Polk, J., and A. Newton,
 +
          "Framework for Emergency Calling Using Internet
 +
          Multimedia", [[RFC6443|RFC 6443]], December 2011.
  
 +
[[RFC6881]]  Rosen, B. and J. Polk, "Best Current Practice for
 +
          Communications Services in Support of Emergency Calling",
 +
          [[BCP181|BCP 181]], [[RFC6881|RFC 6881]], March 2013.
  
 +
[STIR]    IETF, "Secure Telephone Identity Revisited (stir) Working
 +
          Group", http://datatracker.ietf.org/wg/stir/charter/,
 +
          October 2013.
  
 
Authors' Addresses
 
Authors' Addresses
Line 845: Line 669:
  
 
URI:  http://www.cs.columbia.edu
 
URI:  http://www.cs.columbia.edu
 
  
 
Hannes Tschofenig
 
Hannes Tschofenig
Line 851: Line 674:
  
 
URI:  http://www.tschofenig.priv.at
 
URI:  http://www.tschofenig.priv.at
 
  
 
Christer Holmberg
 
Christer Holmberg
Line 860: Line 682:
  
  
 
  
 
Milan Patel
 
Milan Patel
Line 869: Line 690:
  
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
[[Category:Standards Track]]
 
[[Category:Standards Track]]

Latest revision as of 15:26, 24 October 2020

Internet Engineering Task Force (IETF) H. Schulzrinne Request for Comments: 7090 Columbia University Category: Standards Track H. Tschofenig ISSN: 2070-1721

                                                         C. Holmberg
                                                            Ericsson
                                                            M. Patel
                                  Huawei Technologies (UK) Co., Ltd.
                                                          April 2014
         Public Safety Answering Point (PSAP) Callback

Abstract

After an emergency call is completed (terminated either prematurely by the emergency caller or normally by the call taker), the call taker may feel the need for further communication. For example, the call may have been dropped by accident without the call taker having sufficient information about the current state of an accident victim. A call taker may trigger a callback to the emergency caller using the contact information provided with the initial emergency call. This callback could, under certain circumstances, be treated like any other call and, as a consequence, it may get blocked by authorization policies or may get forwarded to an answering machine.

The IETF emergency services architecture specification already offers a solution approach for allowing Public Safety Answering Point (PSAP) callbacks to bypass authorization policies in order to reach the caller without unnecessary delays. Unfortunately, the specified mechanism only supports limited scenarios. This document discusses shortcomings of the current mechanisms and illustrates additional scenarios where better-than-normal call treatment behavior would be desirable. We describe a solution based on a new header field value for the SIP Priority header field, called "psap-callback", to mark PSAP callbacks.

Status of This Memo

This is an Internet Standards Track document.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7090.

Copyright Notice

Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

Introduction

Summoning police, the fire department, or an ambulance in emergencies is one of the fundamental and most valuable functions of the telephone. As telephone functionality moves from circuit-switched telephony to Internet telephony, its users rightfully expect that this core functionality will continue to work at least as well as it has for the legacy technology. New devices and services are being made available that could be used to make a request for help and that are not traditional telephones. Users are increasingly expecting them to be used to place emergency calls.

An overview of the protocol interactions for emergency calling using the IETF emergency services architecture is described in RFC6443, and RFC6881 specifies the technical details. As part of the emergency call setup procedure, two important identifiers are conveyed to the PSAP call taker's user agent, namely the address-of- record (AOR), and if available, the Globally Routable User Agent (UA) URIs (GRUUs). RFC 3261 RFC3261 defines the AOR as:

  An address-of-record (AOR) is a SIP or SIPS URI that points to a
  domain with a location service that can map the URI to another URI
  where the user might be available.  Typically, the location
  service is populated through registrations.  An AOR is frequently
  thought of as the "public address" of the user.

In SIP systems, a single user can have a number of user agents (handsets, softphones, voicemail accounts, etc.) that are all referenced by the same AOR. There are a number of cases in which it is desirable to have an identifier that addresses a single user agent rather than the group of user agents indicated by an AOR. The GRUU is such a unique user-agent identifier, and it is also globally routable. RFC5627 specifies how to obtain and use GRUUs. RFC6881 also makes use of the GRUU for emergency calls.

Regulatory requirements demand that the emergency call setup procedure itself provides enough information to allow the call taker to initiate a callback to the emergency caller. This is desirable in those cases where the call is dropped prematurely or when further communication needs arise. The AOR and the GRUU serve this purpose.

The communication attempt by the PSAP call taker back to the emergency caller is called a "PSAP callback".

A PSAP callback may, however, be blocked by user-configured authorization policies or may be forwarded to an answering machine since SIP entities (SIP proxies as well as the SIP user equipment itself) cannot differentiate the PSAP callback from any other SIP call. "Call barring", "do not disturb", or "call diversion" (also called call forwarding) are features that prevent delivery of a call. It is important to note that these features may be implemented by SIP intermediaries as well as by the user agent.

Among the emergency services community, there is a desire to treat PSAP callbacks in such a way that the chances of reaching the emergency caller are increased. At the same time, any solution must minimize the chance that other calls bypass call forwarding or other authorization policies. Ideally, the PSAP callback has to relate to an earlier emergency call that was made "not too long ago". An exact time interval is difficult to define in a global IETF standard due to the variety of national regulatory requirements, but RFC6881 suggests 30 minutes.

Nevertheless, to meet the needs from the emergency services community, a basic mechanism for preferential treatment of PSAP callbacks was defined in Section 13 of RFC6443. The specification says:

  A UA may be able to determine a PSAP callback by examining the
  domain of incoming calls after placing an emergency call and
  comparing that to the domain of the answering PSAP from the
  emergency call.  Any call from the same domain and directed to the
  supplied Contact header or AOR after an emergency call should be
  accepted as a callback from the PSAP if it occurs within a
  reasonable time after an emergency call was placed.

This approach mimics a stateful packet-filtering firewall and is indeed helpful in a number of cases. It is also relatively simple to implement even though it requires call state to be maintained by the user agent as well as by SIP intermediaries. Unfortunately, the solution does not work in all deployment scenarios. In Section 3 we describe cases where the currently standardized approach is insufficient.

Terminology

Emergency-services-related terminology is borrowed from RFC5012. This includes terminology like emergency caller, user equipment, call taker, Emergency Service Routing Proxy (ESRP), and Public Safety Answering Point (PSAP).

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 RFC 2119 RFC2119.

Callback Scenarios

This section illustrates a number of scenarios where the currently specified solution, as described in RFC6881, for preferential treatment of callbacks fails. As explained in Section 1, a SIP entity examines an incoming PSAP callback by comparing the domain of the PSAP with the destination domain of the outbound emergency call placed earlier.

Routing Asymmetry

In some deployment environments, it is common to have incoming and outgoing SIP messaging routed through different SIP entities. Figure 1 shows this graphically whereby a Voice over IP (VoIP) provider uses different SIP proxies for inbound and for outbound call handling. Unless the two devices are synchronized, the callback

reaching the inbound proxy would get treated like any other call since the emergency call established state information at the outbound proxy only.

                                               ,-------.
                                             ,'         `.
                  ,-------.                 /  Emergency  \
                ,'         `.              |   Services    |
               /  VoIP       \      I      |   Network     |
              |   Provider    |     n      |               |
              |               |     t      |               |
              |               |     e      |               |
              |   +-------+   |     r      |               |
           +--+---|Inbound|<--+-----m      |               |
           |  |   |Proxy  |   |     e      |   +------+    |
           |  |   +-------+   |     d      |   |PSAP  |    |
           |  |               |     i      |   +--+---+    |
 +----+    |  |               |     a-+    |      |        |
 | UA |<---+  |               |     t |    |      |        |
 |    |----+  |               |     e |    |      |        |
 +----+    |  |               |       |    |      |        |
           |  |               |     P |    |      |        |
           |  |               |     r |    |      |        |
           |  |   +--------+  |     o |    |      |        |
           +--+-->|Outbound|--+---->v |    |   +--+---+    |
              |   |Proxy   |  |     i |    | +-+ESRP  |    |
              |   +--------+  |     d |    | | +------+    |
              |               |     e |    | |             |
              |               |     r +----+-+             |
               \             /             |               |
                `.         ,'               \             /
                  '-------'                  `.         ,'
                                               '-------'
              Figure 1: Example for Routing Asymmetry

Multi-Stage Routing

Consider the emergency call routing scenario shown in Figure 2 where routing towards the PSAP occurs in several stages. In this scenario, we consider a SIP UA that uses the Location-to-Service Translation (LoST) Protocol RFC5222 to learn the next-hop destination, namely [email protected], to get the call closer to the PSAP. This call is then sent to the proxy of the user's VoIP provider (example.org). The user's VoIP provider receives the emergency call and creates a state based on the destination domain, namely example.net. It then routes the call to the indicated ESRP. When the ESRP receives the call, it needs to decide what the next hop is to get to the final PSAP. In our example, the next hop is the PSAP with the URI [email protected].

When a callback is sent from [email protected] towards the emergency caller, the call will get normal treatment by the proxy of the VoIP provider since the domain of the PSAP does not match the stored state information.

                                     ,-----------.
   +----+                          ,'             `.
   | UA |--- [email protected]    /     Emergency    \
   +----+   \                    |      Services    |
             \  ,-------.        |      Network     |
              ,'         `.      |                  |
             /   VoIP      \     |     +------+     |
            (   Provider    )    |     | PSAP |     |
             \ example.org /     |     +--+---+     |
              `.         ,'      |        |         |
                '---+---'        |        |         |
                    |            | [email protected] |
            [email protected]     |        |         |
                    |            |        |         |
                    |            |        |         |
                    |            |     +--+---+     |
                    +------------+-----+ ESRP |     |
                                 |     +------+     |
                                 |                  |
                                  \                /
                                   `.            ,'
                                     '----------'
             Figure 2: Example for Multi-Stage Routing

Call Forwarding

Imagine the following case where an emergency call enters an emergency network (state.example) via an ESRP, but then it gets forwarded to a different emergency services network (in our example, to example.net, example.org, or example.com). The same considerations apply when the police, fire and, ambulance networks are part of the state.example subdomains (e.g., police.state.example).

Similar to the previous scenario, the wrong state information is being set up during the emergency call setup procedure. A callback would originate in the example.net, example.org, or example.com domains whereas the emergency caller's SIP UA or the VoIP outbound proxy has stored state.example.

                               ,-------.
                             ,'         `.
                            /  Emergency  \
                           |   Services    |
                           |   Network     |
                           |(state.example)|
                           |               |
                           |               |
                           |   +------+    |
                           |   |PSAP  +--+ |
                           |   +--+---+  | |
                           |      |      | |
                           |      |      | |
                           |      |      | |
                           |      |      | |
                           |      |      | |
                           |   +--+---+  | |
         ------------------+---+ESRP  |  | |
         [email protected]  |   +------+  | |
                           |             | |
                           |    Call Fwd | |
                           |     +-+-+---+ |
                            \    | | |    /
                             `.  | | |  ,'
                               '-|-|-|-'           ,-------.
                        Police   | | | Fire      ,'         `.
                    +------------+ | +----+     /  Emergency  \
     ,-------.      |              |      |    |   Services    |
   ,'         `.    |              |      |    |   Network     |
  /  Emergency  \   |          Ambulance  |    |    (Fire)     |
 |   Services    |  |              |      |    |               |
 |   Network     |  |              +----+ |    |   +------+    |
 |   (Police)    |  |     ,-------.     | +----+---+PSAP  |    |
 |               |  |   ,'         `.   |      |   +------+    |
 |   +------+    |  |  /  Emergency  \  |      |               |
 |   |PSAP  +----+--+ |   Services    | |      |  example.com  ,
 |   +------+    |    |   Network     | |      `15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)
 |               |    |  (Ambulance)  | |
 |  example.net  ,    |               | |
 `15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)     |   +------+    | |
                      |   |PSAP  +----+ +
                      |   +------+    |
                      |               |
                      |  example.org  ,
                      `15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)
               Figure 3: Example for Call Forwarding

Network-Based Service URN Resolution

The IETF emergency services architecture also considers cases where the resolution from the Service URN to the PSAP URI does not only happen at the SIP UA itself but at intermediate SIP entities, such as the user's VoIP provider.

Figure 4 shows this message exchange of the outgoing emergency call and the incoming PSAP graphically. While the state information stored at the VoIP provider is correct, the state allocated at the SIP UA is not.

    ,-------.
  ,'         `.
 /  Emergency  \
|   Services    |
|   Network     |
|  example.com  |
|               |
|   +------+    |    INVITE to [email protected]
|   |PSAP  +<---+------------------------+
|   |      +----+--------------------+   ^
|   +------+    |INVITE from         |   |
|               ,[email protected]  |   |
`15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)15:26, 24 October 2020 (UTC)                     |   |
                                     v   |
+--------+  Query with location   +--+---+-+
|        |  + urn:service:sos     |  VoIP  |
| LoST   |<-----------------------|Service |
| Server |   [email protected]   |Provider|
|        |----------------------->|        |
+--------+                        +--------+
                                   |     ^
                             INVITE|     | INVITE
                               from|     | to
                 [email protected]|     | urn:service:sos
                                   V     |
                                  +-------+
                                  | SIP   |
                                  | UA    |
                                  | Alice |
                                  +-------+
    Figure 4: Example for Network-Based Service URN Resolution

PSTN Interworking

In case an emergency call enters the Public Switched Telephone Network (PSTN), as shown in Figure 5, there is no guarantee that the callback sometime later leaves the same PSTN/VoIP gateway or that the same endpoint identifier is used in the forward as well as in the backward direction making it difficult to reliably detect PSAP callbacks.

 +-----------+
 | PSTN      |-------------+
 | Calltaker |             |
 | Bob       |<--------+   |
 +-----------+         |   v
            -------------------
        ////                   \\\\      +------------+
       |                           |     |PSTN / VoIP |
       |             PSTN          |---->|Gateway     |
        \\\\                   ////      |            |
            -------------------          +----+-------+
                       ^                      |
                       |                      |
                 +-------------+              |  +--------+
                 |             |              |  |VoIP    |
                 | PSTN / VoIP |              +->|Service |
                 | Gateway     |                 |Provider|
                 |             |<------INVITE----|   Y    |
                 +-------------+                 +--------+
                                                  |     ^
                                                  |     |
                                                INVITE INVITE
                                                  |     |
                                                  V     |
                                                 +-------+
                                                 | SIP   |
                                                 | UA    |
                                                 | Alice |
                                                 +-------+
              Figure 5: Example for PSTN Interworking

Note: This scenario is considered outside the scope of this document. The specified solution does not support this use case.

SIP PSAP Callback Indicator

General

This section defines a new header field value, called "psap- callback", for the SIP Priority header field defined in RFC3261. The value is used to inform SIP entities that the request is associated with a PSAP callback SIP session.

Usage

SIP entities that receive the header field value within an initial request for a SIP session can, depending on local policies, apply PSAP callback-specific procedures for the session or request.

The PSAP callback-specific procedures may be applied by SIP-based network entities and by the callee. The specific actions taken when receiving a call marked as a PSAP callback marked call, such as bypassing services and barring procedures, are outside the scope of this document.

Syntax

General

This section defines the ABNF RFC5234 for the new SIP Priority header field value "psap-callback".

ABNF

   priority-value  =/  "psap-callback"
           Figure 6: ABNF

Security Considerations

Security Threat

The PSAP callback functionality described in this document allows marked calls to bypass blacklists and ignore call-forwarding procedures and other similar features used to raise the attention of emergency callers when attempting to contact them. In the case where the SIP Priority header value, "psap-callback", is supported by the SIP UA, it would override user-interface configurations, such as vibrate-only mode, to alert the caller of the incoming call.

Security Requirements

The security threat discussed in Section 5.1 leads to the requirement to ensure that the mechanisms described in this document cannot be used for malicious purposes, including telemarketing.

Furthermore, if the newly defined extension is not recognized, not verified adequately, or not obeyed by SIP intermediaries or SIP endpoints, then it must not lead to a failure of the call handling procedure. Such a call must be treated like a call that does not have any marking attached.

The indicator described in Section 4 can be inserted by any SIP entity, including attackers. So it is critical that the indicator only lead to preferential call treatment in cases where the recipient has some trust in the caller, as described in the next section.

Security Solution

The approach for dealing with the implementation of the security requirements described in Section 5.2 can be differentiated between the behavior applied by the UA and by SIP proxies. A UA that has made an emergency call MUST keep state information so that it can recognize and accept a callback from the PSAP if it occurs within a reasonable time after an emergency call was placed, as described in Section 13 of RFC6443. Only a timer started at the time when the original emergency call has ended is required; information about the calling party identity is not needed since the callback may use a different calling party identity, as described in Section 3. Since these SIP UA considerations are described already in RFC6443 as well as in RFC6881 the rest of this section focuses on the behavior of SIP proxies.

Figure 7 shows the architecture that utilizes the identity of the PSAP to decide whether a preferential treatment of callbacks should be provided. To make this policy decision, the identity of the PSAP (i.e., calling party identity) is compared with a PSAPs white list.

                   +----------+
                   | List of  |+
                   | valid    ||
                   | PSAPs    ||
                   +----------+|
                    +----------+
                        *
                        * white list
                        *
                        V
     Incoming      +----------+    Normal
     SIP Msg       | SIP      |+   Treatment
    -------------->| Entity   ||======================>
     + Identity    |          ||(if not in white list)
       Info        +----------+|
                   +----------+
                        ||
                        ||
                        || Preferential
                        || Treatment
                        ++========================>
                          (if successfully verified)
              Figure 7: Identity-Based Authorization

The identity assurance in SIP can come in different forms, namely via the SIP Identity RFC4474 or the P-Asserted-Identity RFC3325 mechanisms. The former technique relies on a cryptographic assurance and the latter on a chain of trust. Also, the usage of Transport Layer Security (TLS) between neighboring SIP entities may provide useful identity information. At the time of writing, these identity technologies are being revised in the Secure Telephone Identity Revisited (stir) working group [STIR] to offer better support for legacy technologies interworking and SIP intermediaries that modify the content of various SIP headers and the body. Once the work on these specifications has been completed, they will offer a stronger calling party identity mechanism that limits or prevents identity spoofing.

An important aspect from a security point of view is the relationship between the emergency services network (containing the PSAPs) and the VoIP provider, assuming that the emergency call travels via the VoIP provider and not directly between the SIP UA and the PSAP.

The establishment of a white list with PSAP identities may be operationally complex and dependent on the relationship between the emergency services operator and the VoIP provider. If there is a relationship between the VoIP provider and the PSAP operator, for

example, when they are both operating in the same geographical region, then populating the white list is fairly simple and consequently the identification of a PSAP callback is less problematic compared to the case where the two entities have never interacted with each other before. In the end, the VoIP provider has to verify whether the marked callback message indeed came from a legitimate source.

VoIP providers MUST only give PSAP callbacks preferential treatment when the calling party identity of the PSAP was successfully matched against entries in the white list. If it cannot be verified (because there was no match), then the VoIP provider MUST remove the PSAP callback marking. Thereby, the callback reverts to a normal call. As a second step, SIP UAs MUST maintain a timer that is started with the original emergency call and this timer expires within a reasonable amount of time, such as 30 minutes per RFC6881. Such a timer also ensures that VoIP providers cannot misuse the PSAP callback mechanism, for example, to ensure that their support calls reach their customers.

Finally, a PSAP callback MUST use the same media as the original emergency call. For example, when an initial emergency call established a real-time text communication session, then the PSAP callback must also attempt to establish a real-time communication interaction. The reason for this is twofold. First, the person seeking help may have disabilities that prevent them from using certain media and hence using the same media for the callback avoids unpleasant surprises and delays. Second, the emergency caller may have intentionally chosen a certain media and does not prefer to communicate in a different way. For example, it would be unfortunate if a hostage tries to seek help using instant messaging to avoid any noise when subsequently the ringtone triggered by a PSAP callback using a voice call gets the attention of the hostage-taker. User- interface designs need to cater to such situations.

IANA Considerations

This document adds the "psap-callback" value to the SIP "Priority Header Field Values" registry allocated by RFC6878. The semantic of the newly defined "psap-callback" value is defined in Section 4.

Acknowledgements

We would like to thank the following persons for their feedback: Bernard Aboba, Andrew Allen, John-Luc Bakker, Kenneth Carlberg, Martin Dolly, Keith Drage, Timothy Dwight, John Elwell, Janet Gunn, Cullen Jennings, Hadriel Kaplan, Paul Kyzivat, John Medland, Atle Monrad, James Polk, Dan Romascanu, Brian Rosen, Robert Sparks, Geoff Thompson, and Martin Thomson.

We would also like to thank the ECRIT working group chairs, Marc Linsner and Roger Marshall, for their support. Roger Marshall was the document shepherd for this document. Vijay Gurbani provided the general area review.

During IESG review, the document received good feedback from Barry Leiba, Spencer Dawkins, Richard Barnes, Joel Jaeggli, Stephen Farrell, and Benoit Claise.

References

Normative References

RFC2119 Bradner, S., "Key words for use in RFCs to Indicate

          Requirement Levels", BCP 14, RFC 2119, March 1997.

RFC3261 Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,

          A., Peterson, J., Sparks, R., Handley, M., and E.
          Schooler, "SIP: Session Initiation Protocol", RFC 3261,
          June 2002.

RFC5234 Crocker, D., Ed., and P. Overell, "Augmented BNF for

          Syntax Specifications: ABNF", STD 68, RFC 5234, January
          2008.

RFC5627 Rosenberg, J., "Obtaining and Using Globally Routable User

          Agent URIs (GRUUs) in the Session Initiation Protocol
          (SIP)", RFC 5627, October 2009.

RFC6878 Roach, A., "IANA Registry for the Session Initiation

          Protocol (SIP) "Priority" Header Field", RFC 6878, March
          2013.

Informative References

RFC3325 Jennings, C., Peterson, J., and M. Watson, "Private

          Extensions to the Session Initiation Protocol (SIP) for
          Asserted Identity within Trusted Networks", RFC 3325,
          November 2002.

RFC4474 Peterson, J. and C. Jennings, "Enhancements for

          Authenticated Identity Management in the Session
          Initiation Protocol (SIP)", RFC 4474, August 2006.

RFC5012 Schulzrinne, H. and R. Marshall, "Requirements for

          Emergency Context Resolution with Internet Technologies",
          RFC 5012, January 2008.

RFC5222 Hardie, T., Newton, A., Schulzrinne, H., and H.

          Tschofenig, "LoST: A Location-to-Service Translation
          Protocol", RFC 5222, August 2008.

RFC6443 Rosen, B., Schulzrinne, H., Polk, J., and A. Newton,

          "Framework for Emergency Calling Using Internet
          Multimedia", RFC 6443, December 2011.

RFC6881 Rosen, B. and J. Polk, "Best Current Practice for

          Communications Services in Support of Emergency Calling",
          BCP 181, RFC 6881, March 2013.

[STIR] IETF, "Secure Telephone Identity Revisited (stir) Working

          Group", http://datatracker.ietf.org/wg/stir/charter/,
          October 2013.

Authors' Addresses

Henning Schulzrinne Columbia University Department of Computer Science 450 Computer Science Building New York, NY 10027 US

Phone: +1 212 939 7004 EMail: [email protected] URI: http://www.cs.columbia.edu

Hannes Tschofenig

EMail: [email protected] URI: http://www.tschofenig.priv.at

Christer Holmberg Ericsson Hirsalantie 11 Jorvas 02420 Finland

EMail: [email protected]

Milan Patel Huawei Technologies (UK) Co., Ltd. 300 South Oak Way, Green Park Reading, Berkshire RG2 6UF U.K.

EMail: [email protected]