idnits 2.17.1 draft-ietf-sipcore-refer-clarifications-03.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 (March 3, 2015) is 3335 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: September 4, 2015 March 3, 2015 8 Clarifications for the use of REFER with RFC6665 9 draft-ietf-sipcore-refer-clarifications-03 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 September 4, 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 (whether or not the remote 152 target is a GRUU). Such a REFER will be constructed with its Contact 153 header field populated with the dialog's Local URI as specified in 154 section 12 of [RFC3261]. 156 As described in section 4.5.2 of [RFC6665], there are cases where a 157 user agent may fall back to sharing existing dialogs for backwards- 158 compatibility purposes. This applies to REFER only when the peer has 159 not provided a GRUU as its Contact in the existing dialog (i.e. when 160 the peer is a pre-RFC6665 implementation). 162 5. Security Considerations 164 This document introduces no new security considerations directly. 165 The updated considerations in [RFC6665] apply to the implicit 166 subscription created by an accepted REFER request. 168 6. IANA Considerations 170 This document has no actions for IANA. 172 7. Acknowledgements 174 Christer Holmberg provided the formulation for the final paragraph of 175 the introduction. Christer Holmberg and Ivo Sedlacek provided 176 detailed comments during working group discussion of the document. 178 8. Changelog 180 RFC Editor - please remove this section when formatting this document 181 as an RFC 183 -02 to -03 185 Reinforced that the MAY send in-dialog applied no matter what 186 the remote target URI contained. 188 -01 to -02 189 Tweaked the third paragraph of section 3 per list discussion. 190 (Note the subject line of that discussion said -explicit- 191 subscription) 193 -00 to -01 195 Added the 3rd paragraph to the introduction per extensive list 196 discussion 198 draft-sparks-sipcore-refer-clarifications-05 to draft-ietf- 199 sipcore-refer-clarifications-00 201 Attempted to improve the accuracy of the Abstract and 202 Introduction without diluting the essential point of the 203 document. 205 Added an informative reference to RFC5057. 207 Adjusted text to more reflect what RFC6665 (as clarified by 208 draft-roach-sipcore-6665-clarification) actually requires, and 209 added a normative reference to that clarification draft. 210 Specifically, the requirement for the _sender_ of a REFER to 211 use a GRUU as its local targetwas removed. 213 Clarified why the explicit-subscription extensions relieve an 214 in-dialog REFERer from the 6665 requirements for using GRUU as 215 its contact in the INVITE dialog. 217 9. References 219 9.1. Normative References 221 [I-D.roach-sipcore-6665-clarification] 222 Roach, A., "A clarification on the use of Globally 223 Routable User Agent URIs (GRUUs) in the Session Initiation 224 Protocol (SIP) Event Notification Framework", draft-roach- 225 sipcore-6665-clarification-00 (work in progress), October 226 2014. 228 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 229 Requirement Levels", BCP 14, RFC 2119, March 1997. 231 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 232 A., Peterson, J., Sparks, R., Handley, M., and E. 233 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 234 June 2002. 236 [RFC3515] Sparks, R., "The Session Initiation Protocol (SIP) Refer 237 Method", RFC 3515, April 2003. 239 [RFC4538] Rosenberg, J., "Request Authorization through Dialog 240 Identification in the Session Initiation Protocol (SIP)", 241 RFC 4538, June 2006. 243 [RFC5627] Rosenberg, J., "Obtaining and Using Globally Routable User 244 Agent URIs (GRUUs) in the Session Initiation Protocol 245 (SIP)", RFC 5627, October 2009. 247 [RFC6665] Roach, A., "SIP-Specific Event Notification", RFC 6665, 248 July 2012. 250 9.2. Informative References 252 [I-D.ietf-sipcore-refer-explicit-subscription] 253 Sparks, R., "Explicit Subscriptions for the REFER Method", 254 draft-ietf-sipcore-refer-explicit-subscription-00 (work in 255 progress), November 2014. 257 [RFC4488] Levin, O., "Suppression of Session Initiation Protocol 258 (SIP) REFER Method Implicit Subscription", RFC 4488, May 259 2006. 261 [RFC5057] Sparks, R., "Multiple Dialog Usages in the Session 262 Initiation Protocol", RFC 5057, November 2007. 264 [RFC5589] Sparks, R., Johnston, A., and D. Petrie, "Session 265 Initiation Protocol (SIP) Call Control - Transfer", BCP 266 149, RFC 5589, June 2009. 268 Authors' Addresses 270 Robert Sparks 271 Oracle 272 7460 Warren Parkway 273 Suite 300 274 Frisco, Texas 75034 275 US 277 Email: rjsparks@nostrum.com 278 Adam Roach 279 Mozilla 280 Dallas, TX 281 US 283 Phone: +1 650 903 0800 x863 284 Email: adam@nostrum.com