summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc7647.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc7647.txt')
-rw-r--r--doc/rfc/rfc7647.txt339
1 files changed, 339 insertions, 0 deletions
diff --git a/doc/rfc/rfc7647.txt b/doc/rfc/rfc7647.txt
new file mode 100644
index 0000000..a2b1c04
--- /dev/null
+++ b/doc/rfc/rfc7647.txt
@@ -0,0 +1,339 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) R. Sparks
+Request for Comments: 7647 Oracle
+Updates: 3515 A.B. Roach
+Category: Standards Track Mozilla
+ISSN: 2070-1721 September 2015
+
+
+ Clarifications for the Use of REFER with RFC 6665
+
+Abstract
+
+ The SIP REFER method relies on the SIP-Specific Event Notification
+ framework. That framework was revised by RFC 6665. This document
+ highlights the implications of the requirement changes in RFC 6665,
+ and updates the definition of the REFER method described in RFC 3515
+ to clarify and disambiguate the impact of those changes.
+
+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/rfc7647.
+
+Copyright Notice
+
+ Copyright (c) 2015 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.
+
+
+
+
+
+
+Sparks & Roach Standards Track [Page 1]
+
+RFC 7647 Refer Clarifications September 2015
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
+ 2. Conventions Used in This Document . . . . . . . . . . . . . . 2
+ 3. Use of GRUU Is Mandatory . . . . . . . . . . . . . . . . . . 3
+ 4. Dialog Reuse Is Prohibited . . . . . . . . . . . . . . . . . 3
+ 5. The 202 Response Code Is Deprecated . . . . . . . . . . . . . 4
+ 6. Security Considerations . . . . . . . . . . . . . . . . . . . 4
+ 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 4
+ 7.1. Normative References . . . . . . . . . . . . . . . . . . 4
+ 7.2. Informative References . . . . . . . . . . . . . . . . . 5
+ Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 6
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
+
+1. Introduction
+
+ The SIP REFER method relies on the SIP-Specific Event Notification
+ framework. That framework was revised by [RFC6665]. This document
+ highlights the implications of the requirement changes in RFC 6665,
+ and updates [RFC3515] to clarify and disambiguate the impact of those
+ changes.
+
+ Accepting a REFER request (without invoking extensions) results in an
+ implicit SIP-Events subscription. If that REFER was part of an
+ existing dialog, the implicit subscription creates a new, problematic
+ dialog usage within that dialog [RFC5057]. The "norefersub"
+ extension defined in [RFC4488] asks to suppress this implicit
+ subscription, but cannot prevent its creation.
+
+ There are implementations in some known specialized environments
+ (such as 3GPP) that use out-of-signaling agreements to ensure that
+ in-dialog REFER requests using the RFC 4488 extension do not create a
+ new subscription inside that dialog. In the 3GPP environment, the
+ behavior is based on capabilities advertised using media feature
+ tags. That mechanism does not, however, prevent additional dialog
+ usages when interoperating with implementations that do not support
+ the mechanism. The extensions in [RFC7614] provide a standardized
+ mechanism that allows avoiding any additional dialog usage.
+
+2. Conventions Used in This Document
+
+ 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 [RFC2119].
+
+
+
+
+
+
+
+Sparks & Roach Standards Track [Page 2]
+
+RFC 7647 Refer Clarifications September 2015
+
+
+3. Use of GRUU Is Mandatory
+
+ Section 4.5.1 of [RFC6665] makes GRUU [RFC5627] mandatory for
+ notifiers to implement and use as the local target in the
+ subscription created by the REFER request.
+
+ A user agent (UA) accepting a REFER that creates a subscription MUST
+ populate its Contact header field with a GRUU.
+
+ A UA that might possibly become a notifier (e.g., by accepting a
+ REFER request that creates a subscription) needs to include a GRUU in
+ the Contact header field of dialog-forming and target-refresh methods
+ (such as INVITE) [RFC7621]. This ensures that out-of-dialog REFER
+ requests corresponding to any resulting INVITE dialogs arrive at this
+ UA. Extensions can relax this requirement by defining a REFER
+ request that cannot create an implicit subscription, thus not causing
+ the accepting UA to become an RFC 6665 notifier in the context of
+ this dialog. [RFC7614] is an example of such an extension.
+
+4. Dialog Reuse Is Prohibited
+
+ If a peer in an existing dialog has provided a GRUU as its Contact,
+ sending a REFER that might result in an additional dialog usage
+ within that dialog is prohibited. This is a direct consequence of
+ [RFC6665] requiring the use of GRUU and the requirements in
+ Section 4.5.2 of that document.
+
+ A user agent constructing a REFER request that could result in an
+ implicit subscription in a dialog MUST build it as an out-of-dialog
+ message as defined in [RFC3261], unless the remote endpoint is an
+ older implementation of RFC 3515 that has not been updated to conform
+ to RFC 6665 (as determined by the absence of a GRUU in the remote
+ target). Thus, the REFER request will have no tag parameter in its
+ To: header field.
+
+ Using the "norefersub" option tag [RFC4488] does not change this
+ requirement, even if used in a "Require" header field. Even if the
+ recipient supports the "norefersub" mechanism, and accepts the
+ request with the option tag in the "Require" header field, it is
+ allowed to return a "Refer-Sub" header field with a value of "true"
+ in the response, and create an implicit subscription.
+
+ A user agent wishing to identify an existing dialog (such as for call
+ transfer as defined in [RFC5589]) MUST use the "Target-Dialog"
+ extension defined in [RFC4538] to do so, and user agents accepting
+ REFER MUST be able to process that extension in requests they
+ receive.
+
+
+
+
+Sparks & Roach Standards Track [Page 3]
+
+RFC 7647 Refer Clarifications September 2015
+
+
+ If a user agent can be certain that no implicit subscription will be
+ created as a result of sending a REFER request (such as by requiring
+ an extension that disallows any such subscription [RFC7614]), the
+ REFER request MAY be sent within an existing dialog (whether or not
+ the remote target is a GRUU). Such a REFER will be constructed with
+ its Contact header field populated with the dialog's local URI as
+ specified in Section 12 of [RFC3261].
+
+ As described in Section 4.5.2 of [RFC6665], there are cases where a
+ user agent may fall back to sharing existing dialogs for backwards-
+ compatibility purposes. This applies to a REFER only when the peer
+ has not provided a GRUU as its Contact in the existing dialog (i.e.,
+ when the peer is an implementation of RFC 3515 that has not been
+ updated to conform with RFC 6665).
+
+5. The 202 Response Code Is Deprecated
+
+ Section 8.3.1 of [RFC6665] requires that elements not send a 202
+ response code to a subscribe request, but use the 200 response code
+ instead. Any 202 response codes received to a subscribe request are
+ treated as 200s. These changes also apply to REFER. Specifically,
+ an element accepting a REFER request MUST NOT reply with a 202
+ response code and MUST treat any 202 responses received as identical
+ to a 200 response. Wherever [RFC3515] requires sending a 202
+ response code, a 200 response code MUST be sent instead.
+
+6. Security Considerations
+
+ This document introduces no new security considerations directly.
+ The updated considerations in [RFC6665] apply to the implicit
+ subscription created by an accepted REFER request.
+
+7. References
+
+7.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119,
+ DOI 10.17487/RFC2119, March 1997,
+ <http://www.rfc-editor.org/info/rfc2119>.
+
+ [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
+ A., Peterson, J., Sparks, R., Handley, M., and
+ E. Schooler, "SIP: Session Initiation Protocol", RFC 3261,
+ DOI 10.17487/RFC3261, June 2002,
+ <http://www.rfc-editor.org/info/rfc3261>.
+
+
+
+
+
+Sparks & Roach Standards Track [Page 4]
+
+RFC 7647 Refer Clarifications September 2015
+
+
+ [RFC3515] Sparks, R., "The Session Initiation Protocol (SIP) Refer
+ Method", RFC 3515, DOI 10.17487/RFC3515, April 2003,
+ <http://www.rfc-editor.org/info/rfc3515>.
+
+ [RFC4538] Rosenberg, J., "Request Authorization through Dialog
+ Identification in the Session Initiation Protocol (SIP)",
+ RFC 4538, DOI 10.17487/RFC4538, June 2006,
+ <http://www.rfc-editor.org/info/rfc4538>.
+
+ [RFC5627] Rosenberg, J., "Obtaining and Using Globally Routable User
+ Agent URIs (GRUUs) in the Session Initiation Protocol
+ (SIP)", RFC 5627, DOI 10.17487/RFC5627, October 2009,
+ <http://www.rfc-editor.org/info/rfc5627>.
+
+ [RFC6665] Roach, A.B., "SIP-Specific Event Notification", RFC 6665,
+ DOI 10.17487/RFC6665, July 2012,
+ <http://www.rfc-editor.org/info/rfc6665>.
+
+ [RFC7621] Roach, A.B., "A Clarification on the Use of Globally
+ Routable User Agent URIs (GRUUs) in the SIP Event
+ Notification Framework", RFC 7621, DOI 10.17487/RFC7621,
+ August 2015, <http://www.rfc-editor.org/info/rfc7621>.
+
+7.2. Informative References
+
+ [RFC4488] Levin, O., "Suppression of Session Initiation Protocol
+ (SIP) REFER Method Implicit Subscription", RFC 4488,
+ DOI 10.17487/RFC4488, May 2006,
+ <http://www.rfc-editor.org/info/rfc4488>.
+
+ [RFC5057] Sparks, R., "Multiple Dialog Usages in the Session
+ Initiation Protocol", RFC 5057, DOI 10.17487/RFC5057,
+ November 2007, <http://www.rfc-editor.org/info/rfc5057>.
+
+ [RFC5589] Sparks, R., Johnston, A., Ed., and D. Petrie, "Session
+ Initiation Protocol (SIP) Call Control - Transfer",
+ BCP 149, RFC 5589, DOI 10.17487/RFC5589, June 2009,
+ <http://www.rfc-editor.org/info/rfc5589>.
+
+ [RFC7614] Sparks, R., "Explicit Subscriptions for the REFER Method",
+ RFC 7614, DOI 10.17487/RFC7614, August 2015,
+ <http://www.rfc-editor.org/info/rfc7614>.
+
+
+
+
+
+
+
+
+
+Sparks & Roach Standards Track [Page 5]
+
+RFC 7647 Refer Clarifications September 2015
+
+
+Acknowledgements
+
+ Christer Holmberg provided the formulation for the final paragraph of
+ the introduction. Christer Holmberg and Ivo Sedlacek provided
+ detailed comments during working group discussion of the document.
+
+Authors' Addresses
+
+ Robert Sparks
+ Oracle
+ 7460 Warren Parkway
+ Suite 300
+ Frisco, Texas 75034
+ United States
+
+ Email: rjsparks@nostrum.com
+
+
+ Adam Roach
+ Mozilla
+ Dallas, TX
+ United States
+
+ Phone: +1 650 903 0800 x863
+ Email: adam@nostrum.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Sparks & Roach Standards Track [Page 6]
+