Internet DRAFT - draft-holmberg-ecrit-emergency-callback-id

draft-holmberg-ecrit-emergency-callback-id





ECRIT Working Group                                          C. Holmberg
Internet-Draft                                                  Ericsson
Intended status: Standards Track                        October 24, 2011
Expires: April 26, 2012


  Session Initiation Protocol (SIP) emergency call back identification
           draft-holmberg-ecrit-emergency-callback-id-00.txt

Abstract

   This specification define a new type of Globally Routable User Agent
   URI (GRUU) [RFC5627], called emergency GRUU (eGRUU).  When a User
   Agent (UA) provides makes an emergency call, it can provide the eGRUU
   to a PSAP, which can then use it to make a PSAP callback call.  The
   specification also defines a new URI parameter, "psapcb", which can
   be used to indicate that a URI can be used for PSAP callback calls.
   A registrar will provide the URI parameter as part of the generated
   eGRUU value.  Later, when a PSAP makes a PSAP callback call the URI,
   including the "psapcb" URI parameter, can be used by SIP entities to
   identity callback calls.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on April 26, 2012.

Copyright Notice

   Copyright (c) 2011 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



Holmberg                 Expires April 26, 2012                 [Page 1]

Internet-Draft               Emergency GRUU                 October 2011


   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.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   3.  Applicability and Limitation . . . . . . . . . . . . . . . . .  3
   4.  Overview of operation  . . . . . . . . . . . . . . . . . . . .  4
   5.  RFC 5627 Support . . . . . . . . . . . . . . . . . . . . . . .  4
   6.  User Agent Behavior  . . . . . . . . . . . . . . . . . . . . .  5
     6.1.  General  . . . . . . . . . . . . . . . . . . . . . . . . .  5
     6.2.  Generating a REGISTER Request  . . . . . . . . . . . . . .  5
     6.3.  Learning eGRUUs from REGISTER Responses  . . . . . . . . .  6
     6.4.  Constructing a Self-Made eGRUU . . . . . . . . . . . . . .  6
     6.5.  Using One's Own eGRUU  . . . . . . . . . . . . . . . . . .  6
       6.5.1.  Considerations for Multiple AORs . . . . . . . . . . .  7
     6.6.  Dereferencing an eGRUU . . . . . . . . . . . . . . . . . .  7
     6.7.  Rendering eGRUUs on a User Interface . . . . . . . . . . .  7
   7.  Registrar Behavior . . . . . . . . . . . . . . . . . . . . . .  8
     7.1.  General  . . . . . . . . . . . . . . . . . . . . . . . . .  8
     7.2.  Processing a REGISTER Request  . . . . . . . . . . . . . .  8
     7.3.  Generating a REGISTER Response . . . . . . . . . . . . . .  8
     7.4.  Timing Out a Registration  . . . . . . . . . . . . . . . .  8
     7.5.  Creation of an eGRUU . . . . . . . . . . . . . . . . . . .  9
     7.6.  Registration Event Support . . . . . . . . . . . . . . . .  9
     7.7.  PSAP callback call . . . . . . . . . . . . . . . . . . . .  9
   8.  Proxy Behavior . . . . . . . . . . . . . . . . . . . . . . . .  9
   9.  Grammar  . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     9.1.  ABNF . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
   10. Message Flow Examples  . . . . . . . . . . . . . . . . . . . . 10
     10.1. Example  . . . . . . . . . . . . . . . . . . . . . . . . . 10
   11. Security Considerations  . . . . . . . . . . . . . . . . . . . 10
   12. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10
     12.1. General  . . . . . . . . . . . . . . . . . . . . . . . . . 10
     12.2. Header Field Parameter . . . . . . . . . . . . . . . . . . 10
     12.3. URI Parameter  . . . . . . . . . . . . . . . . . . . . . . 10
     12.4. SIP option-tag . . . . . . . . . . . . . . . . . . . . . . 11
   13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
   14. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 11
   15. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     15.1. Normative References . . . . . . . . . . . . . . . . . . . 12
     15.2. Informational References . . . . . . . . . . . . . . . . . 12
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 12



Holmberg                 Expires April 26, 2012                 [Page 2]

Internet-Draft               Emergency GRUU                 October 2011


1.  Introduction

   EDITOR'S NOTE: We can probably add text from an existing draft here,
   once we decide how to move forward documentation wise.

   This specification define a new type of Globally Routable User Agent
   URI (GRUU) [RFC5627], called emergency GRUU (eGRUU).  When a User
   Agent (UA) provides makes an emergnecy call, it can provide the eGRUU
   to a PSAP, which can then use it to make a PSAP callback call.  The
   specification also defines a new URI parameter, "psapcb", which can
   be used to indicate that a URI can be used for PSAP callback calls.
   A registrar will provide the URI parameter as part of the generated
   eGRUU value.  Later, when a PSAP makes a PSAP callback call the URI,
   including the "psapcb" URI parameter, can be used by SIP entities to
   identity callback calls.


2.  Terminology

   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].

   The terms defined in RFC 5627 apply, with the following additional
   terms defined in this specification:

   Public Safety Answering Point (PSAP): A call center responsible for
   answering calls to an emergency telephone number (referred to as
   emergency call), and dispatching them to the appropriate emergency
   services (e.g. police, firefighting or ambulance).

   PSAP callback: A call made back from a PSAP to a user who previously
   made an emergency call, in case the emergency call dropped, or the
   PSAP needs additional information associated with the emergency call.


3.  Applicability and Limitation

   If a PSAP callback call comes from a Public Switched Telephony
   Network (PSTN), or from another interworking network, the UAC
   representing the PSAP will normally be located in a network
   interworking gateway controller, such as a in a Media Gateway
   Controller (MGC).  The interworking gateway will normally not have
   knowledge of the eGRUU, neither will it be able to determine that the
   call is a PSAP callback call.






Holmberg                 Expires April 26, 2012                 [Page 3]

Internet-Draft               Emergency GRUU                 October 2011


4.  Overview of operation

   The procedures defined in section 3 of RFC 5627 apply also to an
   eGRUU, with the following limitations:

   - An eGRUU MUST be constructed following the same principles and
   rules that apply for constructing a public GRUU.

   OPEN ISSUE: It still needs to be decided whether an eGRUU should be
   constructed as a public GRUU, or whether a temporary GRUU is more
   appropriate.

   - A UA MUST obtain an eGRUU either as part of a REGISTER transaction,
   or via some locally specified administrative mechanism.  A UA MUST
   NOT construct an eGRUU locally.

   - A UA that wants to obtain an eGRUU via its REGISTER request MUST,
   in addition to providingan instance ID in the "+sip.instance" Contact
   header field parameter of the request, also include an "egruu"
   option-tag in the Supported header field.

   NOTE: The "egruu" option-tag will only request for an eGRUU.  If a UA
   also wants to obtain a gruu type defined in RFC 5627, it needs to
   include an "gruu" option-tag in addition to the "egruu" option-tag.

   - A UA, when not acting a PSAP, MUST NOT use an eGRUU in any other
   requests than in an initial INVITE requests for a call that the UA
   determines to be an emergency call.

   - A UA, when acting a PSAP, MUST NOT use an eGRUU in any other
   requests than in an initial INVITE requests for a PSAP callback call.

   - A UA MUST NOT use the "psapcb" URI parameter in any other requests
   than in an initial INVITE requests for a call that the UA determines
   to be an emergency call.

   - Unless a UA is acting as a PSAP, initiating a PSAP callback call,
   it MUST NOT dereference an eGRUU.


5.  RFC 5627 Support

   An entity that requests, or generates, an eGRUU MUST support the
   procedures defined in RFC 5627.  However, the "egruu" option-tag only
   requests an eGRUU.  If a UA, in addtion to the eGRUU, also wants to
   request a gruu type defined in 5627, it also needs to use the "gruu"
   option-tag, as defined in RFC 5627.




Holmberg                 Expires April 26, 2012                 [Page 4]

Internet-Draft               Emergency GRUU                 October 2011


   The UA, registrar and proxy procedures in this specification are
   based on the procedures defined in sections 4, 5 and 6 of RFC 5627,
   with the deviations explicitly described.


6.  User Agent Behavior

6.1.  General

   This section defines the normative behavior for user agents.

6.2.  Generating a REGISTER Request

   The general procedures, not associated with a specific type of GRUU,
   in section 4.1 of RFC 5627 also apply to an eGRUU.

   When a UA compliant to this specification generates a REGISTER
   request (initial or refresh), it MUST include an "egruu" option-tag
   in the Supported header field in the request.  This informs the
   registrar for the domain that the UA supports the eGRUU mechanism.

   A UA MUST NOT insert an "emg-gruu" header field in the Contact header
   field of a REGISTER request.

   If the Call-ID changes in a register refresh, the server will
   invalidate all eGRUUs associated with that UA instance; the only
   valid one will be the new one returned in that REGISTER response.
   When the mechanism defined in RFC 5626 [RFC5626] is used, this rule
   applies to the reg-ids: If the Call-ID changes for the registration
   refresh for a particular reg-id, the server will invalidate all
   eGRUUs associated with that UA instance as a whole.  Consequently, if
   a UA wishes its previously obtained eGRUUs to remain valid, it MUST
   utilize the same Call-ID in REGISTER refreshes.

   A UA SHOULD NOT request a new eGRUU during the lifetime of a
   registration, as the eGRUU might be used by an PSAP making a PSAP
   callback call using the previous eGRUU value.  However, it MAY change
   the Call-ID in a refresh if invalidation is the desired objective.

   If a UA wishes to guarantee that the REGISTER request is not
   processed unless the domain supports and uses this extension, it MAY
   include a Require header field in the request with a value that
   contains the "egruu" option-tag.  This is in addition to the presence
   of the Supported header field, also containing the "egruu" option-
   tag.  The use of the Proxy-Require header field is not necessary and
   is NOT RECOMMENDED.





Holmberg                 Expires April 26, 2012                 [Page 5]

Internet-Draft               Emergency GRUU                 October 2011


6.3.  Learning eGRUUs from REGISTER Responses

   The general procedures, not associated with a specific type of GRUU,
   in section 4.2 of RFC 5627 also apply to an eGRUU.

   If the REGISTER response is a 2xx, each Contact header field that
   contains the "+sip.instance" Contact header field parameter can also
   contain an "emg-gruu" Contact header field parameter.  This header
   field parameter conveys the eGRUU for the UA instance.  The eGRUU
   will be valid for the duration of the registration (that is, through
   refreshes).  The UA can receive a new eGRUU in each successful
   REGISTER response.  If a UA changed its Call-ID in this REGISTER
   request, or did not include an "egruu" option-tag in the Supported
   header field, compared to a previous REGISTER request for the same
   contact or reg-id, the UA MUST discard all eGRUUs learned through
   prior REGISTER responses.  A UA MAY retain zero, one, some, or all of
   the eGRUUs that it is provided during the time over which at least
   one contact or reg-id remains continuously registered.  If a UA
   stores any eGRUUs for use during its registration, it needs to be
   certain that the registration does not accidentally lapse due to
   clock skew between the UA and registrar.  Consequently, the UA MUST
   refresh its registration such that the REGISTER refresh transaction
   will either complete or timeout prior to the expiration of the
   registration.  For default transaction timers, this would be at least
   32 seconds prior to expiration, assuming the registration expiration
   is larger than 64 seconds.  If the registration expiration is less
   than 64 seconds, the UA SHOULD refresh its registration halfway prior
   to expiration.

   Note that, when the mechanism defined in RFC 5626 is in use, and the
   UA is utilizing multiple flows for purposes of redundancy, the eGRUUs
   remain valid as long as at least one flow is registered.  Thus, even
   if the registration of one flow expires, the eGRUUs learned
   previously remain valid.

   The mechanism defined in RFC 3680 [RFC3680] and RFC 5628 [RFC5628]can
   not be used for eGRUUs, as RFC 5628 does not define a mechanism for
   conveying eGRUU information.

6.4.  Constructing a Self-Made eGRUU

   A UA MUST NOT construct a self-made eGRUU.

6.5.  Using One's Own eGRUU

   The procedures defined in section 4.4 of RFC 5627 apply also to an
   eGRUU, with the limitations defined in this section.




Holmberg                 Expires April 26, 2012                 [Page 6]

Internet-Draft               Emergency GRUU                 October 2011


   When a UAC sends an initial SIP INVITE request [RFC3261] for an
   emergency call, it MUST insert the eGRUU in the Contact header field
   of the request.  The UAC MUST use the same eGRUU value that it has
   obtained for the registration associated with the emergency call.

   OPEN ISSUE: It still needs to be decided whether a UA can use the
   "psapcb" parameter if it does not support, or is able to retrieve,
   eGRUU.

   A UA MUST NOT insert an eGRUU in the Contact header field of a SIP
   response, or in any other SIP request than an initial INVITE request
   for calls that it determines as emergency calls.

   NOTE: There might be cases where the UAC does not know that the call
   it is establishing is an emergency call, and will therefor not
   include an eGRUU in the initial SIP INVITE request for the call.  In
   some networks suchs calls will be determined as an emergency call by
   the network.

6.5.1.  Considerations for Multiple AORs

   The procedures in section 4.4.1 of RFC 5627 also apply to an eGRUU.

6.6.  Dereferencing an eGRUU

   The procedures in section 4.5 of RFC 5627 also apply to an eGRUU.

   When a UA, representing a PSAP, sends an initial SIP INVITE request
   for an PSAP callback call, it MUST insert the eGRUU that it received
   in the associated emergency call in the Request-URI [RFC3261] of the
   request.

   NOTE: If the Contact header field of an initial SIP INVITE request
   for an emergency call did not contain a "psabcb" parameter, a UA,
   representing a PSAP, can insert the "psapcb" parameter in the
   Request-URI of the initial SIP INVITE request for an PSAP callback
   call.

   If a UA does not represent a PSAP, making a PSAP callback call, it
   MUST NOT insert an eGRUU and a "psapcb" parameter in the Request-URI
   of the intial SIP INVITE request for the call.

6.7.  Rendering eGRUUs on a User Interface

   An eGRUU MUST NOT be rendered to a user.  The reasons is to prevent a
   user from e.g. using the eGRUU for non-emergency calls.





Holmberg                 Expires April 26, 2012                 [Page 7]

Internet-Draft               Emergency GRUU                 October 2011


7.  Registrar Behavior

7.1.  General

   This section defines the normative behavior for registrars.

7.2.  Processing a REGISTER Request

   A REGISTER request might contain a Require header field with an
   "egruu" option-tag; this indicates that the registrar has to
   understand the eGRUU extension in order to process the request.  It
   does not require the registrar to create an eGRUU, however.

   Next, the registrar MUST check the Contact header fields, and compare
   the contact URIs with the AOR, as defined in section 5.1 of RFC 5627.

   Next, the registrar MUST create a new eGRUU for the AOR and instance,
   according to the procedures in section 7.5 of this specification.

   If the contact contained a "emg-gruu" Contact header field parameter,
   the header field parameter MUST be ignored by the registrar.  A UA
   cannot suggest or otherwise provide an eGRUU to the registrar.

7.3.  Generating a REGISTER Response

   When generating the 200 (OK) response to the REGISTER request, the
   procedures of step 8 of Section 10.3 of RFC 3261 are followed.
   Furthermore, the registrar includes the instance ID in the Contact
   header field, as defined in section 5.2 of RFC 5627.

   If the REGISTER request contained a Supported header field that with
   an "egruu" option-tag, and the registrar has an eGRUU assigned to the
   instance ID and AOR, the registrar MUST add an "emg-gruu" Contact
   header field parameter to that Contact header field.  The value of
   the "emg-gruu" header field parameter MUST contain and MUST contain
   the most recently created eGRUU for that AOR and instance ID.

   The registrar MUST NOT include an "egruu" option-tag in the Require
   or Supported header field of the response.

7.4.  Timing Out a Registration

   The procedures in section 5.3 of RFC 5627 that apply to public gruus
   also apply to an eGRUU.







Holmberg                 Expires April 26, 2012                 [Page 8]

Internet-Draft               Emergency GRUU                 October 2011


7.5.  Creation of an eGRUU

   The procedures in section 5.4 of RFC 5627 that apply to public gruus
   also apply to an eGRUU, with the following addition:

   The eGRUU value MUST contain a SIP-URI [RFC3261], which includes a
   "psapcb" SIP-URI parameter.

7.6.  Registration Event Support

   The procedures defined in section 5.5 of RFC 5627 also apply to an
   eGRUU.

7.7.  PSAP callback call

   When a registrar receives an initial SIP INVITE request for a call,
   and the Request-URI of the request contains an eGRUU (including a
   "psapcb" parameter) that the registrar has previously assigned to the
   called user, the registrar can decide that the call is a PSAP
   callback call.

   NOTE: A registrar might give special treatment to a call identified
   as a PSAP callback call.  Such treatment is outside the scope of this
   specification.


8.  Proxy Behavior

   The procedures defined in section 6 of RFC 5627 also apply to an
   eGRUU.


9.  Grammar

9.1.  ABNF

   This specification defines a new Contact header field parameter,
   "emg-gruu", by extending the grammar for "contact-params" as defined
   in RFC 3261.  It also defines a new URI parameter, "psapcb", by
   extending the grammar for "uri-parameter" as defined in RFC 3261.
   The ABNF [RFC5234] is as follows:

   contact-params =/ emg-gruu

   emg-gruu = "emg-gruu" EQUAL quoted-string

   uri-parameter =/ psap-callback-parameter




Holmberg                 Expires April 26, 2012                 [Page 9]

Internet-Draft               Emergency GRUU                 October 2011


   psap-callback-parameter = "psapcb"


10.  Message Flow Examples

10.1.  Example

   TBD

    Add example flow

                        Figure 1: Example call flow


11.  Security Considerations

   The security considerations defined in RFC 5627 also apply to eGRUUs.


12.  IANA Considerations

12.1.  General

   This specification defines a new Contact header field parameter, a
   new and URI parameter, and a new SIP option-tag.

12.2.  Header Field Parameter

   This specification defines a new header field parameter, as per the
   registry created by RFC 3968 [RFC3968].  The required information is
   as follows:


           Header field in which the parameter can appear:  Contact
       Name of the Parameter:  emg-gruu
       Predefined Values:  none
       RFC Reference:  RFC XXXX [[NOTE TO IANA: Please replace
           XXXX with the RFC number of this specification]]

12.3.  URI Parameter

   This specification defines a new SIP URI parameter, as per the
   registry created by RFC 3968 [RFC3968].  The required information is
   as follows:


           Name of the Parameter:  psapcb
           Predefined Values:  none



Holmberg                 Expires April 26, 2012                [Page 10]

Internet-Draft               Emergency GRUU                 October 2011


           RFC Reference:  RFC XXXX [[NOTE TO IANA: Please replace
           XXXX with the RFC number of this specification]]

12.4.  SIP option-tag

   This specification registers a new SIP option tag, as per the
   guidelines in Section 27.1 of RFC 3261 [RFC3261].  The required
   information is as follows:


           Name:  egruu

       Description:  This option-tag is used to identify the
             emergency Globally Routable User Agent URI (eGRUU)
             extension. When used in a Supported header, it
             indicates that a User Agent understands the
             extension.  When used in a Require header field
             of a REGISTER request, it indicates that the
             registrar is not expected to process the
             registration unless it supports the eGRUU
             extension.


13.  Acknowledgements

   The original idea of using a token based mechanism to associate PSAP
   callback calls with emergency calls was presented by Cullen Jennings.

   Thanks to Fredrik Lindholm, Jan Holm and Ivo Sedlacek for their
   comments and feedbacks on the initial draft.

   Thanks to everyone who took part, and provided input and feedback, in
   the discussions at the IETF#81 meeting.


14.  Change Log

   [RFC EDITOR NOTE: Please remove this section when publishing]

   Changes from draft-holmberg-ecrit-callback-00
   o  Draft file name changed to
      draft-holmberg-ecrit-emergency-callback-id.
   o  New type of GRUU, instead of a feature tag, is used as callback
      identifier.


15.  References




Holmberg                 Expires April 26, 2012                [Page 11]

Internet-Draft               Emergency GRUU                 October 2011


15.1.  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.

   [RFC3968]  Camarillo, G., "The Internet Assigned Number Authority
              (IANA) Header Field Parameter Registry for the Session
              Initiation Protocol (SIP)", BCP 98, RFC 3968,
              December 2004.

   [RFC5234]  Crocker, D. 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.

15.2.  Informational References

   [RFC3680]  Rosenberg, J., "A Session Initiation Protocol (SIP) Event
              Package for Registrations", RFC 3680, March 2004.

   [RFC5626]  Jennings, C., Mahy, R., and F. Audet, "Managing Client-
              Initiated Connections in the Session Initiation Protocol
              (SIP)", RFC 5626, October 2009.

   [RFC5628]  Kyzivat, P., "Registration Event Package Extension for
              Session Initiation Protocol (SIP) Globally Routable User
              Agent URIs (GRUUs)", RFC 5628, October 2009.


Author's Address

   Christer Holmberg
   Ericsson
   Hirsalantie 11
   Jorvas  02420
   Finland

   Email: christer.holmberg@ericsson.com






Holmberg                 Expires April 26, 2012                [Page 12]