idnits 2.17.1 draft-ietf-sipcore-refer-clarifications-01.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 21, 2015) is 3382 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: July 25, 2015 January 21, 2015 8 Clarifications for the use of REFER with RFC6665 9 draft-ietf-sipcore-refer-clarifications-01 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 July 25, 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 will accept a REFER request needs to include a GRUU in the 109 Contact header field of all dialog-forming and target-refresh methods 110 (such as INVITE) [I-D.roach-sipcore-6665-clarification]. This 111 ensures that out-of-dialog REFER requests corresponding to any 112 resulting INVITE dialogs arrive at this UA. Future extensions (such 113 as [I-D.ietf-sipcore-refer-explicit-subscription]) might relax this 114 requirement by defining a REFER request that cannot create an 115 implicit subscription, thus not causing the accepting UA to become an 116 RFC6665 notifier in the context of this dialog. 118 4. Dialog reuse is prohibited 120 If a peer in an existing dialog has provided a GRUU as its Contact, 121 sending a REFER that might result in an additional dialog usage 122 within that dialog is prohibited. This is a direct consequence of 123 [RFC6665] requiring the use of GRUU, and the requirements in section 124 4.5.2 of that document. 126 A user agent constructing a REFER request that could result in an 127 implicit subscription in a dialog MUST build it as an out-of-dialog 128 message as defined in [RFC3261], unless the remote endpoint is an 129 older, pre-RFC6665 implementation (as determined by the absence of a 130 GRUU in the remote target). Thus, the REFER request will have no tag 131 parameter in its To: header field. 133 Using the "norefersub" option tag [RFC4488] does not change this 134 requirement, even if used in a "Require" header field. Even if the 135 recipient supports the "norefersub" mechanism, and accepts the 136 request with the option tag in the "Require" header field, it is 137 allowed to return a "Refer-Sub" header field with a value of "true" 138 in the response, and create an implicit subscription. 140 A user agent wishing to identify an existing dialog (such as for call 141 transfer as defined in [RFC5589]) MUST use the "Target-Dialog" 142 extension defined in [RFC4538] to do so, and user agents accepting 143 REFER MUST be able to process that extension in requests they 144 receive. 146 If a user agent can be certain that no implicit subscription will be 147 created as a result of sending a REFER request (such as by requiring 148 an extension that disallows any such subscription 149 [I-D.ietf-sipcore-refer-explicit-subscription]), the REFER request 150 MAY be sent within an existing dialog. Such a REFER will be 151 constructed with its Contact header field populated with the dialog's 152 Local URI as specified in section 12 of [RFC3261]. 154 As described in section 4.5.2 of [RFC6665], there are cases where a 155 user agent may fall back to sharing existing dialogs for backwards- 156 compatibility purposes. This applies to REFER only when the peer has 157 not provided a GRUU as its Contact in the existing dialog (i.e. when 158 the peer is a pre-RFC6665 implementation). 160 5. Security Considerations 162 This document introduces no new security considerations directly. 163 The updated considerations in [RFC6665] apply to the implicit 164 subscription created by an accepted REFER request. 166 6. IANA Considerations 168 This document has no actions for IANA. 170 7. Acknowledgements 172 Christer Holmberg provided the formulation for the final paragraph of 173 the introduction. Christer Holmberg and Ivo Sedlacek provided 174 detailed comments during working group discussion of the document. 176 8. Changelog 178 RFC Editor - please remove this section when formatting this document 179 as an RFC 181 -00 to -01 183 Added the 3rd paragraph to the introduction per extensive list 184 discussion 186 draft-sparks-sipcore-refer-clarifications-05 to draft-ietf- 187 sipcore-refer-clarifications-00 188 Attempted to improve the accuracy of the Abstract and 189 Introduction without diluting the essential point of the 190 document. 192 Added an informative reference to RFC5057. 194 Adjusted text to more reflect what RFC6665 (as clarified by 195 draft-roach-sipcore-6665-clarification) actually requires, and 196 added a normative reference to that clarification draft. 197 Specifically, the requirement for the _sender_ of a REFER to 198 use a GRUU as its local targetwas removed. 200 Clarified why the explicit-subscription extensions relieve an 201 in-dialog REFERer from the 6665 requirements for using GRUU as 202 its contact in the INVITE dialog. 204 9. References 206 9.1. Normative References 208 [I-D.roach-sipcore-6665-clarification] 209 Roach, A., "A clarification on the use of Globally 210 Routable User Agent URIs (GRUUs) in the Session Initiation 211 Protocol (SIP) Event Notification Framework", draft-roach- 212 sipcore-6665-clarification-00 (work in progress), October 213 2014. 215 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 216 Requirement Levels", BCP 14, RFC 2119, March 1997. 218 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 219 A., Peterson, J., Sparks, R., Handley, M., and E. 220 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 221 June 2002. 223 [RFC3515] Sparks, R., "The Session Initiation Protocol (SIP) Refer 224 Method", RFC 3515, April 2003. 226 [RFC4538] Rosenberg, J., "Request Authorization through Dialog 227 Identification in the Session Initiation Protocol (SIP)", 228 RFC 4538, June 2006. 230 [RFC5627] Rosenberg, J., "Obtaining and Using Globally Routable User 231 Agent URIs (GRUUs) in the Session Initiation Protocol 232 (SIP)", RFC 5627, October 2009. 234 [RFC6665] Roach, A., "SIP-Specific Event Notification", RFC 6665, 235 July 2012. 237 9.2. Informative References 239 [I-D.ietf-sipcore-refer-explicit-subscription] 240 Sparks, R., "Explicit Subscriptions for the REFER Method", 241 draft-ietf-sipcore-refer-explicit-subscription-00 (work in 242 progress), November 2014. 244 [RFC4488] Levin, O., "Suppression of Session Initiation Protocol 245 (SIP) REFER Method Implicit Subscription", RFC 4488, May 246 2006. 248 [RFC5057] Sparks, R., "Multiple Dialog Usages in the Session 249 Initiation Protocol", RFC 5057, November 2007. 251 [RFC5589] Sparks, R., Johnston, A., and D. Petrie, "Session 252 Initiation Protocol (SIP) Call Control - Transfer", BCP 253 149, RFC 5589, June 2009. 255 Authors' Addresses 257 Robert Sparks 258 Oracle 259 7460 Warren Parkway 260 Suite 300 261 Frisco, Texas 75034 262 US 264 Email: rjsparks@nostrum.com 266 Adam Roach 267 Mozilla 268 Dallas, TX 269 US 271 Phone: +1 650 903 0800 x863 272 Email: adam@nostrum.com