idnits 2.17.1 draft-ietf-sipcore-content-id-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 : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 8, 2017) is 2605 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) == Unused Reference: 'RFC2046' is defined on line 298, but no explicit reference was found in the text Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). 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 Intended status: Standards Track Ericsson 5 Expires: September 9, 2017 March 8, 2017 7 Content ID header field in Session Initiation Protocol (SIP) 8 draft-ietf-sipcore-content-id-01 10 Abstract 12 This document specifies the Content-ID header field for usage in the 13 Session Initiation Protocol (SIP). 15 Status of This Memo 17 This Internet-Draft is submitted in full conformance with the 18 provisions of BCP 78 and BCP 79. 20 Internet-Drafts are working documents of the Internet Engineering 21 Task Force (IETF). Note that other groups may also distribute 22 working documents as Internet-Drafts. The list of current Internet- 23 Drafts is at http://datatracker.ietf.org/drafts/current/. 25 Internet-Drafts are draft documents valid for a maximum of six months 26 and may be updated, replaced, or obsoleted by other documents at any 27 time. It is inappropriate to use Internet-Drafts as reference 28 material or to cite them other than as "work in progress." 30 This Internet-Draft will expire on September 9, 2017. 32 Copyright Notice 34 Copyright (c) 2017 IETF Trust and the persons identified as the 35 document authors. All rights reserved. 37 This document is subject to BCP 78 and the IETF Trust's Legal 38 Provisions Relating to IETF Documents 39 (http://trustee.ietf.org/license-info) in effect on the date of 40 publication of this document. Please review these documents 41 carefully, as they describe your rights and restrictions with respect 42 to this document. Code Components extracted from this document must 43 include Simplified BSD License text as described in Section 4.e of 44 the Trust Legal Provisions and are provided without warranty as 45 described in the Simplified BSD License. 47 Table of Contents 49 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 50 1.1. Setting up ID value uniquely identifying body . . . . . . 2 51 1.2. Referencing the ID value uniquely identifying body . . . 3 52 1.3. Problem statement . . . . . . . . . . . . . . . . . . . . 3 53 1.4. Examples of the problem . . . . . . . . . . . . . . . . . 3 54 1.4.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 3 55 1.4.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . 4 56 1.5. Solution . . . . . . . . . . . . . . . . . . . . . . . . 4 57 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 5 58 3. Content-ID header field . . . . . . . . . . . . . . . . . . . 5 59 3.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 5 60 3.2. Syntax . . . . . . . . . . . . . . . . . . . . . . . . . 5 61 3.3. Semantic . . . . . . . . . . . . . . . . . . . . . . . . 5 62 3.4. Procedures . . . . . . . . . . . . . . . . . . . . . . . 6 63 3.4.1. UA procedures . . . . . . . . . . . . . . . . . . . . 6 64 3.4.2. Proxy procedures . . . . . . . . . . . . . . . . . . 6 65 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 66 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 67 5.1. Header Field . . . . . . . . . . . . . . . . . . . . . . 6 68 6. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 7 69 7. Normative References . . . . . . . . . . . . . . . . . . . . 7 70 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 72 1. Introduction 74 1.1. Setting up ID value uniquely identifying body 76 A SIP message consists of a start-line, one or more header fields, an 77 empty line indicating the end of the header fields, and an optional 78 message-body, as specified in [RFC3261]. 80 A message-body of the SIP message can contain one body only or can 81 contain several body parts, as specified in [RFC3261] and [RFC5621]. 83 A body part encoded using [RFC2045] can contain a Content-ID header 84 field with an ID value uniquely identifying the body part, as 85 specified in [RFC2045]. 87 However, when the message-body of the SIP message contains one body 88 only, there is no body part specified. Thus, there is also no 89 defined method how to convey an ID value uniquely identifying the 90 body part. 92 1.2. Referencing the ID value uniquely identifying body 94 A SIP header field can contain a reference to a body part using a 95 Content-ID URL, as specified in [RFC5621]. 97 The Content-ID URL is specified in [RFC2392]. [RFC2392] also 98 specifies how to discover the body part referenced by a Content-ID 99 URL. 101 Examples of a SIP header field referencing a body part using a 102 Content-ID URL are: 104 o [RFC6442] specifies how a Geolocation header field references a 105 body part using a Content-ID URL, for providing location. 106 o [RFC5368] specifies how a Refer-To header field references a body 107 part using a Content-ID URL, to provide a list of targets. 109 1.3. Problem statement 111 Since the Content-ID header field is not a defined SIP header field: 113 o If solely one body needs to be transported in a SIP message and 114 the UAC does not need to include in the SIP message a SIP header 115 field referencing the body part, then the UAC sets the message- 116 body to the body. 117 o However, if solely one body needs to be transported in a SIP 118 message and the UAC needs to include in the SIP message a SIP 119 header field referencing the body part, then the UAC sets the 120 message-body to be of the "multipart" MIME type and includes one 121 body part and associated Content-ID header field. 123 1.4. Examples of the problem 125 1.4.1. Example 1 127 If a UAC sends an INVITE request conveying location as specified in 128 [RFC6442], if the UAC decides not to include an SDP offer, and if the 129 location is conveyed by value, then the UAC needs to include one body 130 only in the INVITE request. 132 This body contains the location information and can be e.g. of the 133 application/pidf+xml MIME type. 135 However, due to [RFC6442] requiring inclusion of a Geolocation header 136 field referencing the body part containing the location information, 137 the UAC needs to include a message-body of "multipart/mixed" MIME 138 type in the INVITE request, and the UAC needs to include a body part 139 of the application/pidf+xml MIME type and associated Content-ID 140 header field in the message-body of the "multipart/mixed" MIME type. 142 1.4.2. Example 2 144 If a UAC sends an REFER request including a list of targets as 145 specified in [RFC5368], then the UAC needs to include one body only 146 in the REFER request. 148 This body contains the list of targets and 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 needs to include a message-body of the "multipart/mixed" MIME 154 type in the REFER request and the UAC needs to include a body part of 155 the application/resource-lists+xml MIME type and associated Content- 156 ID header field in the message-body of the "multipart/mixed" MIME 157 type. 159 1.5. Solution 161 To avoid the unnecessary usage of a message-body of a "multipart" 162 MIME type when only one body needs to be included in a SIP message, 163 this document specifies a Content-ID header field as a SIP header 164 field. 166 The Content-ID header field included in header fields of a SIP 167 message identifies a body part consisting of the message-body of the 168 SIP message and: 170 o a MIME-Version header field, if included in the header fields of 171 the SIP message; 172 o a Content-Disposition header field, if included in the header 173 fields of the SIP message; 174 o a Content-Encoding header field, if included in the header fields 175 of the SIP message; 176 o a Content-ID header field, if included in the header fields of the 177 SIP message; 178 o a Content-Language header field, if included in the header fields 179 of the SIP message; 180 o a Content-Length header field, if included in the header fields of 181 the SIP message; 182 o a Content-Type header field, if included in the header fields of 183 the SIP message. 185 2. Conventions 187 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 188 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 189 document are to be interpreted as described in [RFC2119]. 191 3. Content-ID header field 193 3.1. Introduction 195 This section defines the usage of the Content-ID header field for 196 SIP. 198 3.2. Syntax 200 The ABNF for the Content-ID header fields is: 202 Content-ID = "Content-ID" HCOLON msg-id 204 NOTE: msg-id is specified in [RFC5322]. 206 3.3. Semantic 208 A Content-ID header field included in header fields of a SIP message 209 indicates a globally unique identification of a body part consisting 210 of the message-body of the SIP message and: 212 o a MIME-Version header field, if included in the header fields of 213 the SIP message; 214 o a Content-Disposition header field, if included in the header 215 fields of the SIP message; 216 o a Content-Encoding header field, if included in the header fields 217 of the SIP message; 218 o a Content-ID header field, if included in the header fields of the 219 SIP message; 220 o a Content-Language header field, if included in the header fields 221 of the SIP message; 222 o a Content-Length header field, if included in the header fields of 223 the SIP message; 224 o a Content-Type header field, if included in the header fields of 225 the SIP message. 227 The Content-ID header field can be included in any SIP message which 228 is allowed to contain a message-body. 230 3.4. Procedures 232 3.4.1. UA procedures 234 A UA MAY include a Content-ID header field in any SIP message which 235 is allowed to contain a message-body. 237 A UA MUST NOT include a Content-ID header field in any SIP message 238 which is not allowed to contain a message-body. 240 The UA MUST set the value of the Content-ID header field to a 241 globally unique value. 243 3.4.2. Proxy procedures 245 A proxy MUST NOT add a Content-ID header field in a SIP message. 247 A proxy MUST NOT modify a Content-ID header field included in a SIP 248 message. 250 A proxy MUST NOT delete a Content-ID header field from a SIP message. 252 4. Security Considerations 254 The Content-ID header field value MUST NOT reveal sensitive user 255 information. 257 If the message-body associated with the Content-ID header field 258 contains encrypted content, it MUST NOT be possible to derive a key 259 that can be used to decrypt the message-body content from the 260 Content-ID header field value. 262 5. IANA Considerations 264 This specification registers a new SIP header field according to the 265 procedures in [RFC3261]. 267 5.1. Header Field 269 [RFC EDITOR NOTE: Please replace XXXX with the RFC number of this 270 document when publishing] 272 RFC Number: RFC XXXX 274 Header Field Name: Content-ID 276 Compact Form: none 278 6. Change Log 280 [RFC EDITOR NOTE: Please remove this section when publishing] 282 Changes in draft-ietf-sipcore-content-id-01: 284 o Clean up of section 1, including shortening introduction and 285 cleaning up of "body" and "body part" usages. 286 o Clarify that the SIP header fields forming the body part are not 287 required to be present in the SIP message. 288 o MIME-Version header field included as one of the SIP header fields 289 forming the body part; 291 7. Normative References 293 [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 294 Extensions (MIME) Part One: Format of Internet Message 295 Bodies", RFC 2045, DOI 10.17487/RFC2045, November 1996, 296 . 298 [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail 299 Extensions (MIME) Part Two: Media Types", RFC 2046, 300 DOI 10.17487/RFC2046, November 1996, 301 . 303 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 304 Requirement Levels", BCP 14, RFC 2119, 305 DOI 10.17487/RFC2119, March 1997, 306 . 308 [RFC2392] Levinson, E., "Content-ID and Message-ID Uniform Resource 309 Locators", RFC 2392, DOI 10.17487/RFC2392, August 1998, 310 . 312 [RFC5322] Resnick, P., Ed., "Internet Message Format", RFC 5322, 313 DOI 10.17487/RFC5322, October 2008, 314 . 316 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 317 A., Peterson, J., Sparks, R., Handley, M., and E. 318 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 319 DOI 10.17487/RFC3261, June 2002, 320 . 322 [RFC5368] Camarillo, G., Niemi, A., Isomaki, M., Garcia-Martin, M., 323 and H. Khartabil, "Referring to Multiple Resources in the 324 Session Initiation Protocol (SIP)", RFC 5368, 325 DOI 10.17487/RFC5368, October 2008, 326 . 328 [RFC5621] Camarillo, G., "Message Body Handling in the Session 329 Initiation Protocol (SIP)", RFC 5621, 330 DOI 10.17487/RFC5621, September 2009, 331 . 333 [RFC6442] Polk, J., Rosen, B., and J. Peterson, "Location Conveyance 334 for the Session Initiation Protocol", RFC 6442, 335 DOI 10.17487/RFC6442, December 2011, 336 . 338 Authors' Addresses 340 Christer Holmberg 341 Ericsson 342 Hirsalantie 11 343 Jorvas 02420 344 Finland 346 Email: christer.holmberg@ericsson.com 348 Ivo Sedlacek 349 Ericsson 350 Sokolovska 79 351 Praha 18600 352 Czech Republic 354 Email: ivo.sedlacek@ericsson.com