idnits 2.17.1 draft-ietf-sipcore-content-id-04.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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year (Using the creation date from RFC5621, updated by this document, for RFC5378 checks: 2007-08-30) -- 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 (May 8, 2017) is 2538 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) No issues found here. Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SIPCORE Working Group C. Holmberg 3 Internet-Draft I. Sedlacek 4 Updates: 5621 (if approved) Ericsson 5 Intended status: Standards Track May 8, 2017 6 Expires: November 9, 2017 8 Content-ID header field in Session Initiation Protocol (SIP) 9 draft-ietf-sipcore-content-id-04 11 Abstract 13 This document specifies the Content-ID header field for usage in the 14 Session Initiation Protocol (SIP). The document also updates RFC 15 5621, to enable a Content-ID URL to reference a complete message-body 16 and metadata provided by some additional SIP header fields. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at http://datatracker.ietf.org/drafts/current/. 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 This Internet-Draft will expire on November 9, 2017. 35 Copyright Notice 37 Copyright (c) 2017 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (http://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 1.1. Identifying a body part . . . . . . . . . . . . . . . . . 2 54 1.2. Referencing a body part . . . . . . . . . . . . . . . . . 3 55 1.3. Problem statement . . . . . . . . . . . . . . . . . . . . 3 56 1.4. Consequences . . . . . . . . . . . . . . . . . . . . . . 3 57 1.4.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 3 58 1.4.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . 4 59 1.5. Solution . . . . . . . . . . . . . . . . . . . . . . . . 4 60 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4 61 3. Content-ID header field . . . . . . . . . . . . . . . . . . . 4 62 3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 4 63 3.2. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 5 64 3.3. Semantics . . . . . . . . . . . . . . . . . . . . . . . . 5 65 3.4. Procedures . . . . . . . . . . . . . . . . . . . . . . . 5 66 3.4.1. UA procedures . . . . . . . . . . . . . . . . . . . . 5 67 3.4.2. Proxy procedures . . . . . . . . . . . . . . . . . . 6 68 4. Update to RFC 5621 . . . . . . . . . . . . . . . . . . . . . 6 69 5. Security considerations . . . . . . . . . . . . . . . . . . . 6 70 6. IANA considerations . . . . . . . . . . . . . . . . . . . . . 6 71 6.1. Header field . . . . . . . . . . . . . . . . . . . . . . 7 72 7. Change log . . . . . . . . . . . . . . . . . . . . . . . . . 7 73 8. Normative references . . . . . . . . . . . . . . . . . . . . 7 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 76 1. Introduction 78 1.1. Identifying a body part 80 A SIP message consists of a start-line, one or more header fields, an 81 empty line indicating the end of the header fields, and an optional 82 message-body, as specified in [RFC3261]. 84 The message-body can be a non-multipart message-body or a multipart 85 message-body as specified in [RFC3261]. 87 [RFC5621] defines generic handling of a multipart message-body in a 88 SIP message. 90 A multipart message-body contains zero, one or several body parts, 91 encoded using [RFC2045] format. 93 A body part in the multipart message-body is described using header 94 fields such as Content-Disposition, Content-Encoding, and Content- 95 Type, which provide information on the content of the body part, as 96 specified in [RFC5621]. A body part in the multipart message-body 97 can also contain a Content-ID header field with an ID value uniquely 98 identifying the body part, as specified in [RFC2045]. 100 1.2. Referencing a body part 102 A SIP header field can reference a body part using a Content-ID URL, 103 as specified in [RFC5621]. 105 The Content-ID URL is specified in [RFC2392]. [RFC2392] specifies 106 how to identify the body part referenced by a Content-ID URL. The 107 Content-ID URL value is included in the Content-ID header field of 108 the body part. 110 Examples of SIP header fields referencing a body part using a 111 Content-ID URL are: 113 o [RFC6442] specifies how a Geolocation header field references a 114 body part using a Content-ID URL, for providing location. 115 o [RFC5368] specifies how a Refer-To header field references a body 116 part using a Content-ID URL, to provide a list of targets. 118 1.3. Problem statement 120 It is currently not specified how to uniquely identify a complete 121 message-body of a SIP message using a Content-ID header field, and 122 how to reference a complete message-body using a Content-ID URL. 124 1.4. Consequences 126 The examples below shows the consequences of the problem described 127 above. 129 1.4.1. Example 1 131 If a UAC sends an INVITE request conveying location as specified in 132 [RFC6442], if the UAC decides not to include an SDP offer, and if the 133 location is conveyed by value, then the UAC needs to include only one 134 MIME entity in the INVITE request. This content can be e.g. of the 135 application/pidf+xml MIME type. 137 However, due to [RFC6442] requiring inclusion of a Geolocation header 138 field referencing the body part with the location information, the 139 UAC includes a multipart message-body with single body part in the 140 INVITE request, and includes the location information of application/ 141 pidf+xml MIME type and an associated Content-ID header field in the 142 body part. 144 1.4.2. Example 2 146 If a UAC sends an REFER request including a list of targets as 147 specified in [RFC5368], then the UAC needs to include only one MIME 148 entity in the REFER request. This content is of the application/ 149 resource-lists+xml MIME type. 151 However, due to [RFC5368] requiring inclusion of a Refer-To header 152 field referencing the body part containing the list of targets, the 153 UAC includes a multipart message-body with single body part in the 154 REFER request, and includes the list of targets of application/ 155 resource-lists+xml MIME type and an associated Content-ID header 156 field in the body part. 158 1.5. Solution 160 In order to solve the problems described above, this document: 162 o Specifies and registers the Content-ID header field as a SIP 163 header field; and 164 o Specifies that, when used as a SIP header field, the Content-ID 165 header field identifies the complete message-body, and metadata 166 provided by some additional SIP header fields, of the SIP message; 167 and 168 o Updates [RFC5621], to enable a Content-ID URL to reference a 169 complete message-body and metadata provided by some additional SIP 170 header fields. 172 NOTE: In [RFC5621], the Content-ID URL references a specific body 173 part only. 175 2. Conventions 177 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 178 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 179 document are to be interpreted as described in [RFC2119]. 181 3. Content-ID header field 183 3.1. Introduction 185 This section defines the usage of the Content-ID header field for 186 SIP. 188 3.2. Syntax 190 The ABNF [RFC5234] for the Content-ID header field is: 192 Content-ID = "Content-ID" HCOLON msg-id 194 msg-id = "<" id-left "@" id-right ">" 196 NOTE: id-left and id-right are specified in [RFC5322]. HCOLON is 197 defined in [RFC3261]. 199 NOTE: When used in a SIP header field, the msg-id syntax has been 200 simplified compared to the syntax in [RFC5322]. 202 3.3. Semantics 204 The Content-ID header field included in the header fields of a SIP 205 message identifies the message-body of the SIP message, and the 206 metadata provided by: 208 o a MIME-Version header field, if included in the header fields of 209 the SIP message; and 210 o any 'Content-' prefixed header fields (including the Content-ID 211 header field itself) included in the header fields of the SIP 212 message. 214 The Content-ID header field can be included in any SIP message which 215 is allowed to contain a message-body. 217 3.4. Procedures 219 3.4.1. UA procedures 221 A UA MAY include a Content-ID header field in any SIP message that is 222 allowed to contain a message-body. 224 A UA MUST NOT include a Content-ID header field in any SIP message 225 that is not allowed to contain a message-body. 227 The UA MUST set the value of the Content-ID header field to a 228 globally unique value. 230 3.4.2. Proxy procedures 232 A proxy MUST NOT add a Content-ID header field in a SIP message. 234 A proxy MUST NOT modify a Content-ID header field included in a SIP 235 message. 237 A proxy MUST NOT delete a Content-ID header field from a SIP message. 239 4. Update to RFC 5621 241 This section updates section 9.1 of [RFC5621], by allowing a Content- 242 ID URL to reference a message-body and the related metadata 243 (Section 3.3), in addition to allowing a reference to a body part. 245 OLD TEXT: 247 Content-ID URLs allow creating references to body parts. A given 248 Content-ID URL [RFC2392], which can appear in a header field or 249 within a body part (e.g., in an SDP attribute), points to a 250 particular body part. 252 NEW TEXT: 254 Content-ID URLs allow creating references to body parts or 255 message-bodies (and the header fields describing the 256 message-bodies). A given Content-ID URL [RFC2392], which can appear 257 in a header field or within a body part (e.g., in an SDP attribute), 258 points to a particular body part or the message-body (and the 259 header fields describing the message-body). 261 5. Security considerations 263 The Content-ID header field value MUST NOT reveal sensitive user 264 information. 266 If the message-body associated with the Content-ID header field is an 267 encrypted body, it MUST NOT be possible to derive a key that can be 268 used to decrypt the body from the Content-ID header field value. 270 6. IANA considerations 272 This specification registers a new SIP header field according to the 273 procedures in [RFC3261]. 275 6.1. Header field 277 The header field described in Section 3 has been registered in the 278 "Header Fields" sub-registry of the "Session Initiation Protocol 279 (SIP) Parameters" registry by adding a row with these values: 281 [RFC EDITOR NOTE: Please replace XXXX with the RFC number of this 282 document when publishing] 284 Header Name: Content-ID 286 compact: 288 Reference: RFCXXXX 290 7. Change log 292 [RFC EDITOR NOTE: Please remove this section when publishing] 294 Changes from draft-ietf-sipcore-content-id-03 296 o Changes based on doc shepard review: 297 o - Reference to RFC 5234 added. 298 o - Editorial changes. 300 Changes from draft-ietf-sipcore-content-id-02 302 o Editorial changes based on comments from Paul Kyzivat. 304 Changes from draft-ietf-sipcore-content-id-01 306 o Update to RFC 5621 added. 307 o Editorial changes. 309 8. Normative references 311 [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 312 Extensions (MIME) Part One: Format of Internet Message 313 Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996, 314 . 316 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 317 Requirement Levels", BCP 14, RFC 2119, 318 DOI 10.17487/RFC2119, March 1997, 319 . 321 [RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource 322 Locators", RFC 2392, DOI 10.17487/RFC2392, August 1998, 323 . 325 [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 326 Specifications: ABNF", STD 68, RFC 5234, 327 DOI 10.17487/RFC5234, January 2008, 328 . 330 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, 331 DOI 10.17487/RFC5322, October 2008, 332 . 334 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 335 A., Peterson, J., Sparks, R., Handley, M., and E. 336 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 337 DOI 10.17487/RFC3261, June 2002, 338 . 340 [RFC5368] Camarillo, G., Niemi, A., Isomaki, M., Garcia-Martin, M., 341 and H. Khartabil, "Referring to Multiple Resources in the 342 Session Initiation Protocol (SIP)", RFC 5368, 343 DOI 10.17487/RFC5368, October 2008, 344 . 346 [RFC5621] Camarillo, G., "Message Body Handling in the Session 347 Initiation Protocol (SIP)", RFC 5621, 348 DOI 10.17487/RFC5621, September 2009, 349 . 351 [RFC6442] Polk, J., Rosen, B., and J. Peterson, "Location Conveyance 352 for the Session Initiation Protocol", RFC 6442, 353 DOI 10.17487/RFC6442, December 2011, 354 . 356 Authors' Addresses 358 Christer Holmberg 359 Ericsson 360 Hirsalantie 11 361 Jorvas 02420 362 Finland 364 Email: christer.holmberg@ericsson.com 365 Ivo Sedlacek 366 Ericsson 367 Sokolovska 79 368 Praha 18600 369 Czech Republic 371 Email: ivo.sedlacek@ericsson.com