idnits 2.17.1 draft-ietf-sipping-multiple-refer-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1.a on line 21. -- Found old boilerplate from RFC 3978, Section 5.5 on line 461. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 438. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 445. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 451. ** The document seems to lack an RFC 3978 Section 5.1 IPR Disclosure Acknowledgement. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. ** The document uses RFC 3667 boilerplate or RFC 3978-like boilerplate instead of verbatim RFC 3978 boilerplate. After 6 May 2005, submission of drafts without verbatim RFC 3978 boilerplate is not accepted. The following non-3978 patterns matched text found in the document. That text should be removed or replaced: This document is an Internet-Draft and is subject to all provisions of Section 3 of RFC 3667. By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 6 instances of too long lines in the document, the longest one being 1 character in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- 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 (September 23, 2004) is 7155 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) == Outdated reference: A later version (-05) exists of draft-ietf-simple-xcap-list-usage-03 -- Possible downref: Normative reference to a draft: ref. '7' == Outdated reference: A later version (-07) exists of draft-ietf-sipping-uri-services-00 == Outdated reference: A later version (-12) exists of draft-ietf-sipping-conference-package-05 Summary: 6 errors (**), 0 flaws (~~), 6 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 SIPPING Working Group G. Camarillo 2 Internet-Draft Ericsson 3 Expires: March 24, 2005 A. Niemi 4 H. Khartabil 5 M. Isomaki 6 M. Garcia-Martin 7 Nokia 8 September 23, 2004 10 Refering to Multiple Resources in the Session Initiation Protocol 11 (SIP) 12 draft-ietf-sipping-multiple-refer-01.txt 14 Status of this Memo 16 This document is an Internet-Draft and is subject to all provisions 17 of section 3 of RFC 3667. By submitting this Internet-Draft, each 18 author represents that any applicable patent or other IPR claims of 19 which he or she is aware have been or will be disclosed, and any of 20 which he or she become aware will be disclosed, in accordance with 21 RFC 3668. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF), its areas, and its working groups. Note that 25 other groups may also distribute working documents as 26 Internet-Drafts. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 The list of current Internet-Drafts can be accessed at 34 http://www.ietf.org/ietf/1id-abstracts.txt. 36 The list of Internet-Draft Shadow Directories can be accessed at 37 http://www.ietf.org/shadow.html. 39 This Internet-Draft will expire on March 24, 2005. 41 Copyright Notice 43 Copyright (C) The Internet Society (2004). 45 Abstract 47 This document defines extensions to the SIP REFER method so that this 48 method can be used to refer servers to multiple resources. These 49 extensions include the use of pointers to Uniform Resource Identifier 50 (URI)-lists in the Refer-To header field and the "multiple-refer" SIP 51 option-tag. 53 Table of Contents 55 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 56 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3 57 3. Overview of operation . . . . . . . . . . . . . . . . . . . 3 58 4. The multiple-refer SIP Option-Tag . . . . . . . . . . . . . 4 59 5. Suppressing REFER's Implicit Subscription . . . . . . . . . 4 60 6. Behavior of SIP REFER-Issuers . . . . . . . . . . . . . . . 5 61 7. Behavior of REFER-Recipients . . . . . . . . . . . . . . . . 5 62 8. Default URI-List Format . . . . . . . . . . . . . . . . . . 5 63 9. Example . . . . . . . . . . . . . . . . . . . . . . . . . . 6 64 10. Security Considerations . . . . . . . . . . . . . . . . . . 9 65 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . 9 66 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 67 12.1 Normative References . . . . . . . . . . . . . . . . . . . 9 68 12.2 Informational References . . . . . . . . . . . . . . . . . 10 69 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 10 70 Intellectual Property and Copyright Statements . . . . . . . 12 72 1. Introduction 74 The SIP [3] REFER method [5] allows a user agent to request a server 75 to send a request to a third party. Still, a number of applications 76 need to request a server to initiate transactions towards a set of 77 destinations. In one example, the moderator of a conference may want 78 the conference server to send BYE requests to a group of 79 participants. In another example, the same moderator may want the 80 conference server to INVITE a set of new participants. 82 We define an extension to REFER so that REFER can be used to refer 83 servers to multiple destinations. In addition, we use the REFER 84 extension defined in [7] which suppresses REFER's implicit 85 subscription. 87 2. Terminology 89 In this document, the key words "MUST", "MUST NOT", "REQUIRED", 90 "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT 91 RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as 92 described in BCP 14, RFC 2119 [1] and indicate requirement levels for 93 compliant implementations. 95 We define the following three new terms: 97 REFER-Issuer: the user agent issuing the REFER request. 98 REFER-Recipient: the user agent receiving the REFER request. 99 REFER-Target: the intended final recipient of the request to be 100 generated by the REFER-Recipient. 102 3. Overview of operation 104 This document defines an extension to the SIP REFER method [5] that 105 allows a SIP User Agent Client (UAC) to include a list of 106 REFER-Targets in a REFER request and send it to a server. The server 107 will create a new request for each entry in the list of REFER-Target 108 URIs. 110 We represent the multiple REFER-Targets of a REFER using a URI-list. 111 A UAC (User Agent Client) that wants to refer a server to a set of 112 destinations creates a SIP REFER request. The Refer-To header 113 contains a pointer to a URI-list, which is included in a body part, 114 and an option-tag in the Required header field: "multiple-refer". 115 This option-tag indicates the requirement to support the 116 functionality described in this specification. 118 When the server receives such request it creates a new request per 119 destination and sends them. 121 This document does not provide any mechanism for UACs to find out 122 about the results of a REFER with multiple REFER-Targets. 123 Furthermore, it does not provide support for the implicit 124 subscription mechanism that is part of the SIP REFER method. The way 125 UACs are kept informed about the results of a REFER is service 126 specific. For example, a UAC sending a REFER to INVITE a set of 127 participants to a conference may discover which participants were 128 successfully brought into the conference by subscribing to the 129 conference state event [9]. 131 4. The multiple-refer SIP Option-Tag 133 We define a new SIP option-tag for the Require and Supported header 134 fields: "multiple-refer". 136 A user agent including the "multiple-refer" option-tag in a Supported 137 header indicates compliance with this specification. 139 A user agent generating a REFER with a pointer to a URI-list in its 140 Refer-To header field MUST include the "multiple-refer" option-tag in 141 the Require header field of the REFER. 143 5. Suppressing REFER's Implicit Subscription 145 REFER requests with a single REFER-Target establish implicitly a 146 subscription to the refer event. The REFER-Issuer is informed about 147 the result of the transaction towards the REFER-Target through this 148 implicit subscription. As described in RFC 3515 [5], NOTIFY requests 149 sent as a result of an implicit subscription created by a REFER 150 request contain a body of type "message/sipfrag" [4] that describes 151 the status of the transaction initiated by the REFER-Recipient. 153 In the case of a REFER-Issuer that generates a REFER with multiple 154 REFER-targets, the REFER-Issuer is typically already subscribed to 155 other event package that can provide the information about the result 156 of the transactions towards the REFER-Targets. For example, a 157 moderator instructing a conference server to send a BYE request to a 158 set of participants is usually subscribed to the conference state 159 event package for the conference. Notifications to this event 160 package will keep the moderator and the rest of the subscribers 161 informed of the current list of conference participants. 163 Most of the applications using multiple REFER do not need its 164 implicit subscription. Consequently, a SIP REFER-Issuer generating a 165 REFER request with multiple REFER-Targets SHOULD include the 166 "norefersub" option-tag in a Require header field to indicate that no 167 notifications about the requests should be sent to the REFER-Issuer. 168 The "norefersub" SIP option-tag is defined in [7] and suppresses the 169 REFER's implicit subscription. 171 At the time of writing, there is no extension that allows to report 172 the status of several transactions over a REFER's implicit 173 subscription. That is the motivation for this document to recommend 174 the usage of the "norefersub" option-tag. If in the future such an 175 extension is defined, REFER-Issuers using it could refrain from using 176 the "norefersub" option-tag and use the new extension instead. 178 6. Behavior of SIP REFER-Issuers 180 As indicated in Section 4 and Section 5 a SIP REFER-Issuer that 181 creates a REFER request with multiple REFER-Targets includes a 182 "multiple-refer" and a "norefersub" option-tags in the Require header 183 field. 185 The Refer-To header field of a REFER request with multiple 186 REFER-Targets MUST contain a pointer (i.e., a Content-ID Uniform 187 Resource Locator (URL) [2]) that points to the body part that carries 188 the URI-list. 190 7. Behavior of REFER-Recipients 192 The REFER-Recipient follows the rules in Section 2.4.2 of RFC 3515 193 [5] to determine the status code of the response to the REFER. 195 The REFER-Recipient follows the rules in RFC 3515 [5] to generate the 196 necessary requests towards the REFER-Targets, acting as if it had 197 received a regular (no URI-list) REFER per each URI in the URI-list. 199 8. Default URI-List Format 201 The default format for URI-list bodies used in a multiple REFER 202 request is the resource list document specified in [6]. User agents 203 able to generate or receive REFERs with multiple REFER-Targets MUST 204 support this format as specified in [6] and MAY support other 205 formats. 207 Nevertheless, the Extensible Markup Language (XML) Configuration 208 Access Protocol (XCAP) resource list document provides features, such 209 as hierarchical lists and the ability to include entries by reference 210 relative to the XCAP root URI, that are not needed by the multiplet 211 REFER service defined in this document. Therefore, when using the 212 default resource list document, SIP REFER-Issuers generating REFERs 213 with multiple REFER-Targets SHOULD use flat lists (i.e., no 214 hierarchical lists) and SHOULD NOT use elements. 216 A REFER-Recipient receiving a URI-list with more information than 217 what has just been described MAY discard all the extra information. 219 Figure 1 shows an example of a flat list that follows the resource 220 list document. 222 223 225 226 227 228 229 230 232 Figure 1: URI List 234 9. Example 236 Figure 2 shows an example flow where a REFER-Issuer sends a 237 multiple-REFER request to a REFER-Recipient. The REFER-Recipient 238 generates a BYE request per REFER-Target. 240 +--------+ +---------+ +--------+ +--------+ +--------+ 241 | REFER | | REFER | | REFER | | REFER | | REFER | 242 | issuer | |recipient| |target 1| |target 2| |target 3| 243 +--------+ +---------+ +--------+ +--------+ +--------+ 244 | 1. REFER | | | | 245 | ---------------->| | | | 246 | 2. 202 Accepted | | | | 247 |<---------------- | 3. BYE | | | 248 | | ------------->| | | 249 | | 4. BYE | | | 250 | | ------------------------->| | 251 | | 5. BYE | | | 252 | | ------------------------------------->| 253 | | 6. 200 OK | | | 254 | |<------------- | | | 255 | | 7. 200 OK | | | 256 | |<------------------------- | | 257 | | 8. 200 OK | | | 258 | |<------------------------------------- | 259 | | | | | 260 | | | | | 261 | | | | | 263 Figure 2: Example flow or a REFER request containin multiple 264 REFER-Targets 266 The REFER request (1) contains a Refer-To header field that includes 267 a pointer to the message body, which carries a list with the URIs of 268 the REFER-Targets. The REFER's Require header field carries both the 269 "multiple-refer" and the "norefersub" option-tags. Figure 3 shows an 270 example of this REFER request. The resource list document contains 271 the list of REFER-Target URIs along with the method of the SIP 272 request that the REFER-Recipient generates. 274 REFER sip:conf-123@example.com SIP/2.0 275 Via: SIP/2.0/TCP client.chicago.example.com 276 ;branch=z9hG4bKhjhs8ass83 277 Max-Forwards: 70 278 To: "Conference 123" 279 From: Carol ;tag=32331 280 Call-ID: d432fa84b4c76e66710 281 CSeq: 2 REFER 282 Contact: 283 Refer-To: 284 Require: multiple-refer, norefersub 285 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY 286 Allow-Events: dialog 287 Accept: application/sdp, message/sipfrag 288 Content-Type: application/resource-lists+xml 289 Content-Disposition: uri-list 290 Content-Length: 307 291 Content-ID: 293 294 296 297 298 299 300 301 303 Figure 3: REFER request with multiple REFER-Targets 305 Figure 4 shows an example of the BYE request (3) that the 306 REFER-Recipient sends to the first REFER-Target. 308 REFER sip:bill@example.com SIP/2.0 309 Via: SIP/2.0/TCP conference.example.com 310 ;branch=z9hG4bKhjhs8assmm 311 Max-Forwards: 70 312 From: "Conference 123" ;tag=88734 313 To: ;tag=29872 314 Call-ID: d432fa84b4c34098s812 315 CSeq: 34 BYE 316 Content-Length: 0 318 Figure 4: BYE request 320 10. Security Considerations 322 The Framework and Security Considerations for SIP URI-List Services 323 [8] discusses issues related to SIP URI-list services. Given that a 324 server accepting REFERs with multiple REFER-targets acts as an 325 URI-list service, implementations of this type of server MUST follow 326 the security-related rules in [8]. These rules include mandatory 327 authentication and authorization of clients, and opt-in lists. 329 Additionally, servers SHOULD only accept REFER requests within the 330 context of an application the server understands (e.g., a 331 conferencing application). This implies that servers MUST NOT accept 332 REFERs for methods they do not understand. The idea behind these two 333 rules is that servers are not used as dumb servers whose only 334 function is to fan-out random messages they do not understand. 336 11. IANA Considerations 338 This document defines a new SIP option-tag: "multiple-refer". This 339 option-tag should be registered in the SIP parameter registry at: 341 http://www.iana.org/assignments/sip-parameters 343 SIP user agents that place the "multiple-refer" option-tag in a 344 Supported header field understand REFER requests that contain 345 resource list document describing multiple REFER-Targets. 347 12. References 349 12.1 Normative References 351 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement 352 Levels", BCP 14, RFC 2119, March 1997. 354 [2] Levinson, E., "Content-ID and Message-ID Uniform Resource 355 Locators", RFC 2392, August 1998. 357 [3] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., 358 Peterson, J., Sparks, R., Handley, M. and E. Schooler, "SIP: 359 Session Initiation Protocol", RFC 3261, June 2002. 361 [4] Sparks, R., "Internet Media Type message/sipfrag", RFC 3420, 362 November 2002. 364 [5] Sparks, R., "The Session Initiation Protocol (SIP) Refer 365 Method", RFC 3515, April 2003. 367 [6] Rosenberg, J., "Extensible Markup Language (XML) Formats for 368 Representing Resource Lists", 369 draft-ietf-simple-xcap-list-usage-03 (work in progress), July 370 2004. 372 [7] Olson, S., "REFER extensions", 373 draft-olson-sipping-refer-extensions-02 (work in progress), July 374 2004. 376 [8] Camarillo, G., "Requirements and Framework for Session 377 Initiation Protocol (SIP)Uniform Resource Identifier (URI)-List 378 Services", draft-ietf-sipping-uri-services-00 (work in 379 progress), July 2004. 381 12.2 Informational References 383 [9] Rosenberg, J. and H. Schulzrinne, "A Session Initiation Protocol 384 (SIP) Event Package for Conference State", 385 draft-ietf-sipping-conference-package-05 (work in progress), 386 July 2004. 388 Authors' Addresses 390 Gonzalo Camarillo 391 Ericsson 392 Hirsalantie 11 393 Jorvas 02420 394 Finland 396 EMail: Gonzalo.Camarillo@ericsson.com 397 Aki Niemi 398 Nokia 399 P.O. Box 321 400 NOKIA GROUP, FIN 00045 401 Finland 403 EMail: Aki.Niemi@nokia.com 405 Hisham Khartabil 406 Nokia 407 P.O. Box 321 408 NOKIA GROUP, FIN 00045 409 Finland 411 EMail: Hisham.Khartabil@nokia.com 413 Markus Isomaki 414 Nokia 415 Itamerenkatu 11-13 416 Helsinki 00180 417 Finland 419 EMail: Markus.Isomaki@nokia.com 421 Miguel A. Garcia-Martin 422 Nokia 423 P.O.Box 407 424 NOKIA GROUP, FIN 00045 425 Finland 427 EMail: miguel.an.garcia@nokia.com 429 Intellectual Property Statement 431 The IETF takes no position regarding the validity or scope of any 432 Intellectual Property Rights or other rights that might be claimed to 433 pertain to the implementation or use of the technology described in 434 this document or the extent to which any license under such rights 435 might or might not be available; nor does it represent that it has 436 made any independent effort to identify any such rights. Information 437 on the procedures with respect to rights in RFC documents can be 438 found in BCP 78 and BCP 79. 440 Copies of IPR disclosures made to the IETF Secretariat and any 441 assurances of licenses to be made available, or the result of an 442 attempt made to obtain a general license or permission for the use of 443 such proprietary rights by implementers or users of this 444 specification can be obtained from the IETF on-line IPR repository at 445 http://www.ietf.org/ipr. 447 The IETF invites any interested party to bring to its attention any 448 copyrights, patents or patent applications, or other proprietary 449 rights that may cover technology that may be required to implement 450 this standard. Please address the information to the IETF at 451 ietf-ipr@ietf.org. 453 Disclaimer of Validity 455 This document and the information contained herein are provided on an 456 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 457 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 458 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 459 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 460 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 461 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 463 Copyright Statement 465 Copyright (C) The Internet Society (2004). This document is subject 466 to the rights, licenses and restrictions contained in BCP 78, and 467 except as set forth therein, the authors retain all their rights. 469 Acknowledgment 471 Funding for the RFC Editor function is currently provided by the 472 Internet Society.