idnits 2.17.1 draft-ietf-sipcore-refer-clarifications-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- -- The draft header indicates that this document updates RFC3515, but the abstract doesn't seem to directly say this. It does mention RFC3515 though, so this could be OK. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year (Using the creation date from RFC3515, updated by this document, for RFC5378 checks: 2001-08-28) -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (January 30, 2015) is 3373 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) -- Possible downref: Normative reference to a draft: ref. 'I-D.roach-sipcore-6665-clarification' == Outdated reference: A later version (-03) exists of draft-ietf-sipcore-refer-explicit-subscription-00 Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group R. Sparks 3 Internet-Draft Oracle 4 Updates: 3515 (if approved) A. Roach 5 Intended status: Standards Track Mozilla 6 Expires: August 3, 2015 January 30, 2015 8 Clarifications for the use of REFER with RFC6665 9 draft-ietf-sipcore-refer-clarifications-02 11 Abstract 13 The SIP REFER method relies on the SIP-Specific Event Notification 14 Framework. That framework was revised by RFC6665. This document 15 highlights the implications of the requirement changes in RFC6665, 16 and updates the definition of the REFER method, RFC3515, to clarify 17 and disambiguate the impact of those changes. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on August 3, 2015. 36 Copyright Notice 38 Copyright (c) 2015 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (http://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Conventions and Definitions . . . . . . . . . . . . . . . . . 2 54 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 3. Use of GRUU is mandatory . . . . . . . . . . . . . . . . . . 3 56 4. Dialog reuse is prohibited . . . . . . . . . . . . . . . . . 3 57 5. Security Considerations . . . . . . . . . . . . . . . . . . . 4 58 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4 59 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 4 60 8. Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . 4 61 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 62 9.1. Normative References . . . . . . . . . . . . . . . . . . 5 63 9.2. Informative References . . . . . . . . . . . . . . . . . 6 64 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6 66 1. Conventions and Definitions 68 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 69 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 70 document are to be interpreted as described in [RFC2119]. 72 2. Introduction 74 The SIP REFER method relies on the SIP-Specific Event Notification 75 Framework. That framework was revised by [RFC6665]. This document 76 highlights the implications of the requirement changes in RFC6665, 77 and updates [RFC3515] to clarify and disambiguate the impact of those 78 changes. 80 Accepting a REFER request (without invoking extensions) results in an 81 implicit SIP-Events subscription. If that REFER was part of an 82 existing dialog, the implicit subscription creates a new, problematic 83 dialog-usage within that dialog [RFC5057]. The "norefersub" 84 extension defined in [RFC4488] asks to suppress this implicit 85 subscription, but cannot prevent its creation. 87 There are implementations in some known specialized environments 88 (such as 3gpp) that use out-of-signalling agreements to ensure that 89 in-dialog REFER requests using the RFC4488 extension do not create a 90 new subscription inside that dialog. In the 3gpp environment, the 91 behavior is based on capabilities advertised using media feature 92 tags. That mechanism does not, however, prevent additional dialog 93 usages when interoperating with implementations that do not support 94 the mechanism. The extensions in 96 [I-D.ietf-sipcore-refer-explicit-subscription] provide a standardized 97 mechanism that allows avoiding any additional dialog usage. 99 3. Use of GRUU is mandatory 101 Section 4.5.1 of [RFC6665] makes GRUU [RFC5627] mandatory for 102 notifiers to implement and use as the local target in the 103 subscription created by the REFER request. 105 A user agent accepting a REFER that creates a subscription MUST 106 populate its Contact header field with a GRUU. 108 A UA that might possibly become a notifier (e.g. by accepting a REFER 109 request that creates a subscription) needs to include a GRUU in the 110 Contact header field of dialog-forming and target-refresh methods 111 (such as INVITE) [I-D.roach-sipcore-6665-clarification]. This 112 ensures that out-of-dialog REFER requests corresponding to any 113 resulting INVITE dialogs arrive at this UA. Future extensions (such 114 as [I-D.ietf-sipcore-refer-explicit-subscription]) might relax this 115 requirement by defining a REFER request that cannot create an 116 implicit subscription, thus not causing the accepting UA to become an 117 RFC6665 notifier in the context of this dialog. 119 4. Dialog reuse is prohibited 121 If a peer in an existing dialog has provided a GRUU as its Contact, 122 sending a REFER that might result in an additional dialog usage 123 within that dialog is prohibited. This is a direct consequence of 124 [RFC6665] requiring the use of GRUU, and the requirements in section 125 4.5.2 of that document. 127 A user agent constructing a REFER request that could result in an 128 implicit subscription in a dialog MUST build it as an out-of-dialog 129 message as defined in [RFC3261], unless the remote endpoint is an 130 older, pre-RFC6665 implementation (as determined by the absence of a 131 GRUU in the remote target). Thus, the REFER request will have no tag 132 parameter in its To: header field. 134 Using the "norefersub" option tag [RFC4488] does not change this 135 requirement, even if used in a "Require" header field. Even if the 136 recipient supports the "norefersub" mechanism, and accepts the 137 request with the option tag in the "Require" header field, it is 138 allowed to return a "Refer-Sub" header field with a value of "true" 139 in the response, and create an implicit subscription. 141 A user agent wishing to identify an existing dialog (such as for call 142 transfer as defined in [RFC5589]) MUST use the "Target-Dialog" 143 extension defined in [RFC4538] to do so, and user agents accepting 144 REFER MUST be able to process that extension in requests they 145 receive. 147 If a user agent can be certain that no implicit subscription will be 148 created as a result of sending a REFER request (such as by requiring 149 an extension that disallows any such subscription 150 [I-D.ietf-sipcore-refer-explicit-subscription]), the REFER request 151 MAY be sent within an existing dialog. Such a REFER will be 152 constructed with its Contact header field populated with the dialog's 153 Local URI as specified in section 12 of [RFC3261]. 155 As described in section 4.5.2 of [RFC6665], there are cases where a 156 user agent may fall back to sharing existing dialogs for backwards- 157 compatibility purposes. This applies to REFER only when the peer has 158 not provided a GRUU as its Contact in the existing dialog (i.e. when 159 the peer is a pre-RFC6665 implementation). 161 5. Security Considerations 163 This document introduces no new security considerations directly. 164 The updated considerations in [RFC6665] apply to the implicit 165 subscription created by an accepted REFER request. 167 6. IANA Considerations 169 This document has no actions for IANA. 171 7. Acknowledgements 173 Christer Holmberg provided the formulation for the final paragraph of 174 the introduction. Christer Holmberg and Ivo Sedlacek provided 175 detailed comments during working group discussion of the document. 177 8. Changelog 179 RFC Editor - please remove this section when formatting this document 180 as an RFC 182 -02 to -01 184 Tweaked the third paragraph of section 3 per list discussion. 185 (Note the subject line of that discussion said -explicit- 186 subscription) 188 -00 to -01 189 Added the 3rd paragraph to the introduction per extensive list 190 discussion 192 draft-sparks-sipcore-refer-clarifications-05 to draft-ietf- 193 sipcore-refer-clarifications-00 195 Attempted to improve the accuracy of the Abstract and 196 Introduction without diluting the essential point of the 197 document. 199 Added an informative reference to RFC5057. 201 Adjusted text to more reflect what RFC6665 (as clarified by 202 draft-roach-sipcore-6665-clarification) actually requires, and 203 added a normative reference to that clarification draft. 204 Specifically, the requirement for the _sender_ of a REFER to 205 use a GRUU as its local targetwas removed. 207 Clarified why the explicit-subscription extensions relieve an 208 in-dialog REFERer from the 6665 requirements for using GRUU as 209 its contact in the INVITE dialog. 211 9. References 213 9.1. Normative References 215 [I-D.roach-sipcore-6665-clarification] 216 Roach, A., "A clarification on the use of Globally 217 Routable User Agent URIs (GRUUs) in the Session Initiation 218 Protocol (SIP) Event Notification Framework", draft-roach- 219 sipcore-6665-clarification-00 (work in progress), October 220 2014. 222 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 223 Requirement Levels", BCP 14, RFC 2119, March 1997. 225 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 226 A., Peterson, J., Sparks, R., Handley, M., and E. 227 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 228 June 2002. 230 [RFC3515] Sparks, R., "The Session Initiation Protocol (SIP) Refer 231 Method", RFC 3515, April 2003. 233 [RFC4538] Rosenberg, J., "Request Authorization through Dialog 234 Identification in the Session Initiation Protocol (SIP)", 235 RFC 4538, June 2006. 237 [RFC5627] Rosenberg, J., "Obtaining and Using Globally Routable User 238 Agent URIs (GRUUs) in the Session Initiation Protocol 239 (SIP)", RFC 5627, October 2009. 241 [RFC6665] Roach, A., "SIP-Specific Event Notification", RFC 6665, 242 July 2012. 244 9.2. Informative References 246 [I-D.ietf-sipcore-refer-explicit-subscription] 247 Sparks, R., "Explicit Subscriptions for the REFER Method", 248 draft-ietf-sipcore-refer-explicit-subscription-00 (work in 249 progress), November 2014. 251 [RFC4488] Levin, O., "Suppression of Session Initiation Protocol 252 (SIP) REFER Method Implicit Subscription", RFC 4488, May 253 2006. 255 [RFC5057] Sparks, R., "Multiple Dialog Usages in the Session 256 Initiation Protocol", RFC 5057, November 2007. 258 [RFC5589] Sparks, R., Johnston, A., and D. Petrie, "Session 259 Initiation Protocol (SIP) Call Control - Transfer", BCP 260 149, RFC 5589, June 2009. 262 Authors' Addresses 264 Robert Sparks 265 Oracle 266 7460 Warren Parkway 267 Suite 300 268 Frisco, Texas 75034 269 US 271 Email: rjsparks@nostrum.com 273 Adam Roach 274 Mozilla 275 Dallas, TX 276 US 278 Phone: +1 650 903 0800 x863 279 Email: adam@nostrum.com