idnits 2.17.1 draft-ietf-mmusic-sdp-mux-attributes-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 : ---------------------------------------------------------------------------- == There are 2 instances of lines with non-RFC2606-compliant FQDNs in the document. == There are 1 instance of lines with non-RFC6890-compliant IPv4 addresses in the document. If these are example addresses, they should be changed. -- The document has examples using IPv4 documentation addresses according to RFC6890, but does not use any IPv6 documentation addresses. Maybe there should be IPv6 examples, too? Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors 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 -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The exact meaning of the all-uppercase expression 'MAY NOT' is not defined in RFC 2119. If it is intended as a requirements expression, it should be rewritten using one of the combinations defined in RFC 2119; otherwise it should not be all-uppercase. == The expression 'MAY NOT', while looking like RFC 2119 requirements text, is not defined in RFC 2119, and should not be used. Consider using 'MUST NOT' instead (if that is what you mean). Found 'MAY NOT' in this paragraph: For multiplexing several DCCP-in-UDP encapsulations on the same UDP port, with no RTP traffic on the same port implies collapsing several DCCP port spaces together. This MAY or MAY NOT work depending on the nature of DCCP encapsulations and ports choses thus rendering it to be very application dependant. -- The document date (February 14, 2014) is 3724 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: 'ACK-NACK' is defined on line 2418, but no explicit reference was found in the text == Unused Reference: 'CCM' is defined on line 2423, but no explicit reference was found in the text ** Obsolete normative reference: RFC 4566 (Obsoleted by RFC 8866) == Outdated reference: A later version (-07) exists of draft-dhesikan-tsvwg-rtcweb-qos-02 == Outdated reference: A later version (-54) exists of draft-ietf-mmusic-sdp-bundle-negotiation-03 -- Obsolete informational reference (is this intentional?): RFC 4091 (Obsoleted by RFC 5245) -- Obsolete informational reference (is this intentional?): RFC 4572 (Obsoleted by RFC 8122) -- Obsolete informational reference (is this intentional?): RFC 4583 (Obsoleted by RFC 8856) -- Obsolete informational reference (is this intentional?): RFC 5245 (Obsoleted by RFC 8445, RFC 8839) -- Obsolete informational reference (is this intentional?): RFC 5285 (Obsoleted by RFC 8285) Summary: 1 error (**), 0 flaws (~~), 9 warnings (==), 8 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group S. Nandakumar 3 Internet-Draft Cisco 4 Intended status: Standards Track February 14, 2014 5 Expires: August 18, 2014 7 A Framework for SDP Attributes when Multiplexing 8 draft-ietf-mmusic-sdp-mux-attributes-01 10 Abstract 12 The Session Description Protocol (SDP) provides mechanisms to 13 describe attributes of multimedia sessions and of individual media 14 streams (e.g., Real-time Transport Protocol (RTP) sessions) within a 15 multimedia session. In the RTCWeb WG, there is a need to use a 16 single 5-tuple for sending and receiving media associated with 17 multiple media descriptions ("m=" lines). Such a requirement has 18 raised concerns over the semantic implications of the SDP attributes 19 associated with the RTP Media Streams multiplexed over a single 20 transport layer flow. 22 The scope of this specification is to provide a framework for 23 analyzing the multiplexing characteristics of SDP attributes. The 24 specification also categorizes existing attributes based on the 25 framework described herein. 27 Status of this Memo 29 This Internet-Draft is submitted in full conformance with the 30 provisions of BCP 78 and BCP 79. 32 Internet-Drafts are working documents of the Internet Engineering 33 Task Force (IETF). Note that other groups may also distribute 34 working documents as Internet-Drafts. The list of current Internet- 35 Drafts is at http://datatracker.ietf.org/drafts/current/. 37 Internet-Drafts are draft documents valid for a maximum of six months 38 and may be updated, replaced, or obsoleted by other documents at any 39 time. It is inappropriate to use Internet-Drafts as reference 40 material or to cite them other than as "work in progress." 42 This Internet-Draft will expire on August 18, 2014. 44 Copyright Notice 46 Copyright (c) 2014 IETF Trust and the persons identified as the 47 document authors. All rights reserved. 49 This document is subject to BCP 78 and the IETF Trust's Legal 50 Provisions Relating to IETF Documents 51 (http://trustee.ietf.org/license-info) in effect on the date of 52 publication of this document. Please review these documents 53 carefully, as they describe your rights and restrictions with respect 54 to this document. Code Components extracted from this document must 55 include Simplified BSD License text as described in Section 4.e of 56 the Trust Legal Provisions and are provided without warranty as 57 described in the Simplified BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 62 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 63 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . 5 64 4. SDP Attribute Analysis Framework . . . . . . . . . . . . . . . 6 65 5. Analysis of Existing Attributes . . . . . . . . . . . . . . . 9 66 5.1. RFC4566 - SDP: Session Description Protocol . . . . . . . 10 67 5.2. RFC4585 - RTP/AVPF . . . . . . . . . . . . . . . . . . . . 11 68 5.3. RFC5761 - Multiplexing RTP and RTCP . . . . . . . . . . . 11 69 5.4. RFC4574 - SDP Label Attribute . . . . . . . . . . . . . . 12 70 5.5. RFC5432 - QoS Mechanism Selection in SDP . . . . . . . . . 12 71 5.6. RFC4568 - SDP Security Descriptions . . . . . . . . . . . 13 72 5.7. RFC5762 - RTP over DCCP . . . . . . . . . . . . . . . . . 13 73 5.8. RFC6773 - DCCP-UDP Encapsulation . . . . . . . . . . . . . 14 74 5.9. RFC5506 - Reduced-Size RTCP in RTP Profile . . . . . . . . 14 75 5.10. RFC6787 - Media Resource Control Protocol Version 2 . . . 15 76 5.11. RFC5245 - Interactive Connectivity Establishment (ICE) . . 15 77 5.12. RFC5285 - RTP Header Extensions . . . . . . . . . . . . . 17 78 5.13. RFC3605 - RTCP attribute in SDP . . . . . . . . . . . . . 17 79 5.14. RFC5576 - Source-Specific SDP Attributes . . . . . . . . . 17 80 5.15. RFC6236 - Image Attributes in SDP . . . . . . . . . . . . 18 81 5.16. RFC6285 - Rapid Acquisition of Multicast RTP Sessions . . 19 82 5.17. RFC6230 - Media Control Channel Framework . . . . . . . . 19 83 5.18. RFC6364 - SDP Elements for FEC Framework . . . . . . . . . 19 84 5.19. RFC4796 - Content Attribute . . . . . . . . . . . . . . . 20 85 5.20. RFC3407 - SDP Simple Capability Declaration . . . . . . . 20 86 5.21. RFC6284 - Port Mapping between Unicast and Multicast 87 RTP Sessions . . . . . . . . . . . . . . . . . . . . . . . 21 88 5.22. RFC6714 - MSRP-CEMA . . . . . . . . . . . . . . . . . . . 21 89 5.23. RFC4583 - SDP Format for BFCP Streams . . . . . . . . . . 22 90 5.24. RFC5547 - SDP Offer/Answer for File Transfer . . . . . . . 22 91 5.25. RFC6489 - SDP and RTP Media Loopback Extension . . . . . . 23 92 5.26. RFC5760 - RTCP with Unicast Feedback . . . . . . . . . . . 23 93 5.27. RFC3611 - RTCP XR . . . . . . . . . . . . . . . . . . . . 24 94 5.28. RFC5939 - SDP Capability Negotiation . . . . . . . . . . . 24 95 5.29. RFC6781 - SDP Media Capabilities Negotiation . . . . . . . 25 96 5.30. RFC4567 - Key Management Extensions for SDP and RTSP . . . 26 97 5.31. RFC4572 - Comedia over TLS in SDP . . . . . . . . . . . . 26 98 5.32. RFC4570 - SDP Source Filters . . . . . . . . . . . . . . . 27 99 5.33. RFC6128 - RTCP Port for Multicast Sessions . . . . . . . . 27 100 5.34. RFC6189 - ZRTP . . . . . . . . . . . . . . . . . . . . . . 28 101 5.35. RFC4145 - Connection-Oriented Media . . . . . . . . . . . 28 102 5.36. RFC5159 - OMA BCAST SDP Attributes . . . . . . . . . . . . 29 103 5.37. RFC6193 - Media Description for IKE in SDP . . . . . . . . 29 104 5.38. RFC6064 - SDP and RTSP Extensions for 3GPP . . . . . . . . 30 105 5.39. RFC3108 - ATM SDP . . . . . . . . . . . . . . . . . . . . 33 106 5.40. 3GPP TS 24.182 . . . . . . . . . . . . . . . . . . . . . . 34 107 5.41. 3GPP TS 24.183 . . . . . . . . . . . . . . . . . . . . . . 34 108 5.42. 3GPP TS 24.229 . . . . . . . . . . . . . . . . . . . . . . 35 109 5.43. ITU T.38 . . . . . . . . . . . . . . . . . . . . . . . . . 36 110 5.44. ITU-T H.248.15 . . . . . . . . . . . . . . . . . . . . . . 36 111 5.45. RFC4975 - The Message Session Relay Protocol . . . . . . . 37 112 5.46. Historical . . . . . . . . . . . . . . . . . . . . . . . . 38 113 6. bwtype Attribute Analysis . . . . . . . . . . . . . . . . . . 38 114 6.1. RFC4566 - SDP: Session Description Protocol . . . . . . . 39 115 6.2. RFC3556 - SDP Bandwidth Modifiers for RTCP Bandwidth . . . 39 116 6.3. RFC3890 - Bandwidth Modifier for SDP . . . . . . . . . . . 40 117 7. rtcp-fb Attribute Analysis . . . . . . . . . . . . . . . . . . 40 118 7.1. RFC4585 - RTP/AVPF . . . . . . . . . . . . . . . . . . . . 41 119 7.2. RFC5104 - Codec Control Messages in AVPF . . . . . . . . . 41 120 7.3. RFC6285 - Unicast-Based RAMS . . . . . . . . . . . . . . . 42 121 7.4. RFC6679 - ECN for RTP over UDP/IP . . . . . . . . . . . . 42 122 7.5. RFC6642 - Third-Party Loss Report . . . . . . . . . . . . 43 123 7.6. RFC5104 - Codec Control Messages in AVPF . . . . . . . . . 43 124 8. group Attribute Analysis . . . . . . . . . . . . . . . . . . . 44 125 8.1. RFC5888 - SDP Grouping Framework . . . . . . . . . . . . . 44 126 8.2. RFC3524 - Mapping Media Streams to Resource 127 Reservation Flows . . . . . . . . . . . . . . . . . . . . 44 128 8.3. RFC4091 - ANAT Semantics . . . . . . . . . . . . . . . . . 44 129 8.4. RFC5956 - FEC Grouping Semantics in SDP . . . . . . . . . 45 130 8.5. RFC5583 - Signaling Media Decoding Dependency in SDP . . . 45 131 9. ssrc-group Attribute Analysis . . . . . . . . . . . . . . . . 46 132 9.1. RFC5576 - Source-Specific SDP Attributes . . . . . . . . . 46 133 10. QoS Mechanism Token Analysis . . . . . . . . . . . . . . . . . 46 134 10.1. RFC5432 - QoS Mechanism Selection in SDP . . . . . . . . . 46 135 11. k= Attribute Analysis . . . . . . . . . . . . . . . . . . . . 47 136 11.1. RFC4566 SDP: Session Description Protocol . . . . . . . . 47 137 12. content Atribute Analysis . . . . . . . . . . . . . . . . . . 47 138 12.1. RFC4796 . . . . . . . . . . . . . . . . . . . . . . . . . 47 139 13. Payload Formats . . . . . . . . . . . . . . . . . . . . . . . 47 140 13.1. RFC5109 - RTP Payload Format for Generic FEC . . . . . . . 47 141 14. Multiplexing Media Streams and DSCP Markings . . . . . . . . . 48 142 14.1. Option A . . . . . . . . . . . . . . . . . . . . . . . . . 48 143 14.2. Option B . . . . . . . . . . . . . . . . . . . . . . . . . 49 145 15. Multiplexing Considerations for Encapsulating Attributes . . . 49 146 16. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 52 147 17. Security Considerations . . . . . . . . . . . . . . . . . . . 53 148 18. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 53 149 19. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 53 150 20. References . . . . . . . . . . . . . . . . . . . . . . . . . . 54 151 20.1. Normative References . . . . . . . . . . . . . . . . . . . 54 152 20.2. Informative References . . . . . . . . . . . . . . . . . . 54 153 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 60 155 1. Introduction 157 Real-Time Communication Web (RTCWeb) framework requires Real-time 158 Transport Protocol (RTP) as the media transport protocol and Session 159 Description Protocol (SDP) [RFC4566] for describing and negotiating 160 multi-media communication sessions. 162 SDP defines several attributes for capturing characteristics that 163 apply to the individual media descriptions (described by "m=" lines") 164 and the overall multimedia session. Typically different media types 165 (audio, video etc) described using different media descriptions 166 represent separate RTP Sessions that are carried over individual 167 transport layer flows. However in the IETF RTCWEB WG, a need to use 168 a single 5-tuple for sending and receiving media associated with 169 multiple SDP media descriptions ("m=" lines) has been identified. 170 This would e.g. allow the usage of a single set of Interactive 171 Connectivity Establishment (ICE) [RFC5245] candidates for multiple 172 media descriptions. This in turn has made necessary to understand 173 the interpretation and usage of the SDP attributes defined for the 174 multiplexed media descriptions. 176 Given the number of SDP attributes registered with the IANA [IANA] 177 and possibility of new attributes being defined in the future, there 178 is need for generic future-proof framework to analyze these 179 attributes for their applicability in the transport multiplexing use- 180 cases. 182 The document starts with providing the motivation for requiring such 183 a framework. This is followed by introduction to the SDP attribute 184 analysis framework/procedures, following which several sections 185 applies the framework to the SDP attributes registered with the IANA 186 [IANA] 188 2. Terminology 190 The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", 191 "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be 192 interpreted as described in [RFC2119]. 194 3. Motivation 196 The time and complications of setting up ICE [RFC5245] and DTLS-SRTP 197 [RFC5763] transports for use by RTP, and conservation of ports, forms 198 an requirement to try and reduce the number of transport level flows 199 needed. This has resulted in the definition of ways, such as, 200 [I-D.ietf-mmusic-sdp-bundle-negotiation] and 202 [I-D.ietf-avt-multiplexing-rtp] to multiplex RTP over a single 203 transport flow in order to preserve network resources such as port 204 numbers. This imposes further restrictions on applicability of these 205 SDP attributes as they are defined today. 207 The specific problem is that there are attribute combinations which 208 make sense when specified on independent m-lines -- as with classical 209 SDP -- that do not make sense when those m-lines are then multiplexed 210 over the same transport. To give an obvious example, ICE permits 211 each m=line to have an independently specified ice-ufrag attribute. 212 However, if the media from multiple m-lines is multiplexed over the 213 same ICE component, then the meaning of media-level ice-ufrag 214 attributes becomes muddled. 216 As of today there are close to 250 SDP attributes registered with the 217 IANA [IANA] and more will be added in the future. There is no 218 clearly defined procedure to establish the validity/applicability of 219 these attribute when used with transport multiplexing. 221 4. SDP Attribute Analysis Framework 223 Attributes in an SDP session description can be defined at the 224 session-level and media-level. These attributes could be 225 semantically grouped as noted below. 227 o Attributes related to media content such as media type, encoding 228 schemes, payload types. 229 o Attributes specifying media transport characteristics like RTP/ 230 RTCP port numbers, network addresses, QOS. 231 o Metadata description attributes capturing session timing and 232 origin information. 233 o Attributes establishing relationships between media streams such 234 as grouping framework 236 With the above semantic grouping as the reference, the proposed 237 framework classifies each attribute into one of the following 238 categories: 239 NORMAL Attributes that can be independently specified when 240 multiplexing and retain their original semantics. 242 In the example given below, the direction and label attributes are 243 independently specified for audio and video m=lines. These 244 attributes are not impacted by multiplexing these media streams 245 over a single transport layer flow. 247 v=0 248 o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com 249 s= 250 c=IN IP4 host.atlanta.example.com 251 t=0 0 252 m=audio 49172 RTP/AVP 99 253 a=sendonly 254 a=label:1 255 a=rtpmap:99 iLBC/8000 256 m=video 49172 RTP/AVP 31 257 a=recvonly 258 a=label:2 259 a=rtpmap:31 H261/90000 261 NOT RECOMMENDED Attributes that are recommended against multiplexing 262 since their usage under multiplexing might lead to incorrect 263 behavior. 265 Example: Multiplexing media descriptions having attribute zrtp- 266 hash defined with the media descriptions lacking it, would either 267 complicate the handling of multiplexed streams or might fail 268 multiplexing altogether. 270 v=0 271 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 272 s= 273 c=IN IP4 client.biloxi.example.com 274 t=0 0 275 m=audio 3456 RTP/AVP 97 // with zrtp 276 a=rtpmap:97 iLBC/8000 277 278 a=zrtp-hash:1.10 fe30efd02423cb054e50efd0248742ac7a52c8f91bc2 279 df881ae642c371ba46df 280 281 m=video 34567 RTP/AVP 31 //without zrtp 282 a=rtpmap:31 H261/90000 284 IDENTICAL Attributes that MUST be identical across all the media 285 descriptions being multiplexed. 287 Attributes such as rtcp-mux fall into this category. Since RTCP 288 reporting is done per RTP Session, RTCP Multiplexing MUST to 289 enabled for both the audio and video m=lines in the example below 290 if they are transported over a single 5-tuple. 292 v=0 293 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 294 s= 295 c=IN IP4 client.biloxi.example.com 296 t=0 0 297 m=audio 34567 RTP/AVP 97 298 a=rtcp-mux 299 m=video 34567 RTP/AVP 31 300 a=rtpmap:31 H261/90000 301 a=rtcp-mux 303 SUM Attributes can be set as they are normally used but software 304 using them in a multiplex case, MUST apply the sum of all the 305 attributes being multiplexed instead of trying to use each one. 306 This is typically used for bandwidth or other rate limiting 307 attributes to the underlining transport. 309 The software parsing the SDP sample below, should use the 310 aggregate Application Specific (AS) bandwidth value from the 311 individual media descriptions to determine the AS value for the 312 multiplexed session. Thus the calculated AS value would be 256+64 313 bytes for the given example. 315 v=0 316 o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4 317 c=IN IP4 client.biloxi.example.com 318 t=0 0 319 m=audio 49170 RTP/AVP 0 320 b=AS:64 321 m=video 51372 RTP/AVP 31 322 b=AS:256 324 TRANSPORT Attributes that can be set normally for multiple items in 325 a multiplexed group but the software MUST pick just one of the 326 attribute of the given type for use. The one chosen is the 327 attribute associated with the "m=" line that represents the 328 information being used for the transport of the RTP. 330 In the example below, "a=crypto" attribute is defined for both the 331 audio and the video m=lines. The video media line's a=crypto 332 attribute is chosen since its mid value (bar) appears first in the 333 a=group:BUNDLE line. This is due to BUNDLE grouping semantic 334 [I-D.ietf-mmusic-sdp-bundle-negotiation] which mandates the values 335 from m=line corresponding to the mid appearing first on the 336 a=group:BUNDLE line to be considered for setting up the RTP 337 Transport. 339 v=0 340 o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com 341 s= 342 c=IN IP4 host.atlanta.example.com 343 t=0 0 344 a=group:BUNDLE bar foo 345 m=audio 49172 RTP/AVP 99 346 a=mid:foo 347 a=crypto:1 AES_CM_128_HMAC_SHA1_80 348 inline:d0RmdmcmVCspeEc3QGZiNWpVLFJhQX1cfHAwJSoj|2^20|1:32 349 a=rtpmap:99 iLBC/8000 350 m=video 51374 RTP/AVP 31 351 a=mid:bar 352 a=crypto:1 AES_CM_128_HMAC_SHA1_80 353 inline:EcGZiNWpFJhQXdspcl1ekcmVCNWpVLcfHAwJSoj|2^20|1:32 354 a=rtpmap:96 H261/90000 356 SPECIAL Attributes where the text in the source draft must be 357 consulted for further handling when multiplexed. 359 As an example, for the attribute extmap, the specification 360 defining the extension MUST be referred to understand the 361 multiplexing implications. 363 TBD This category defines attributes that need more information to 364 assign an appropriate category. 366 The idea behind these categories is to provide recommendations for 367 using the attributes under RTP session multiplexing scenarios. 369 Section 5 analyzes attributes listed in IANA [IANA] grouped under the 370 IETF document that defines them. The "Level" column indicates 371 whether the attribute is currently specified as: 373 o S -- Session level 374 o M -- Media level 375 o B -- Both 376 o SR -- Source-level (for a single SSRC) 378 5. Analysis of Existing Attributes 379 5.1. RFC4566 - SDP: Session Description Protocol 381 RFC4566 [RFC4566] defines the Session Description Protocol (SDP) that 382 is intended for describing multimedia sessions for the purposes of 383 session announcement, session invitation, and other forms of 384 multimedia session initiation 386 +------------+----------------+-------+----------+ 387 | Attr Name | Notes | Level | Category | 388 +------------+----------------+-------+----------+ 389 | sendrecv | Not impacted | B | NORMAL | 390 | | | | | 391 | sendonly | Not impacted | B | NORMAL | 392 | | | | | 393 | recvonly | Not impacted | B | NORMAL | 394 | | | | | 395 | inactive | Not impacted | B | NORMAL | 396 | | | | | 397 | cat | Not impacted | S | NORMAL | 398 | | | | | 399 | ptime | Not Impacted | M | NORMAL | 400 | | | | | 401 | maxptime | Not Impacted | M | NORMAL | 402 | | | | | 403 | orient | Not Impacted | M | NORMAL | 404 | | | | | 405 | framerate | Not Impacted | M | NORMAL | 406 | | | | | 407 | quality | Not Impacted | M | NORMAL | 408 | | | | | 409 | rtpmap | Not Impacted | M | NORMAL | 410 | | | | | 411 | fmtp | Not Impacted | M | NORMAL | 412 | | | | | 413 | keywds | Not impacted | S | NORMAL | 414 | | | | | 415 | type | Not Impacted | S | NORMAL | 416 | | | | | 417 | tool | Not Impacted | S | NORMAL | 418 | | | | | 419 | charset | Not Impacted | S | NORMAL | 420 | | | | | 421 | sdplang | Not Impacted | B | NORMAL | 422 | | | | | 423 | lang | Not Impacted | B | NORMAL | 424 | | | | | 425 +------------+----------------+-------+----------+ 426 RFC4566 Attribute Analysis 428 5.2. RFC4585 - RTP/AVPF 430 RFC4585 [RFC4585] defines an extension to the Audio-visual Profile 431 (AVP) that enables receivers to provide, statistically, more 432 immediate feedback to the senders and thus allows for short-term 433 adaptation and efficient feedback-based repair mechanisms to be 434 implemented. 436 +----------+-------------------------------------+-------+----------+ 437 | Attr | Notes | Level | Category | 438 | Name | | | | 439 +----------+-------------------------------------+-------+----------+ 440 | rtcp-fb | The combination of a particular | M | NORMAL | 441 | | Payload Type along with the m=line | | | 442 | | identify the scope and | | | 443 | | applicability of a given RTCP | | | 444 | | feedback to a particular RTP | | | 445 | | Stream. | | | 446 | | | | | 447 +----------+-------------------------------------+-------+----------+ 449 RFC4585 Attribute Analysis 451 Since RTCP feedback attributes are Payload Type (PT) scoped, the 452 usage of identical Payload Type values across multiplexed m=lines is 453 described in [I-D.ietf-mmusic-sdp-bundle-negotiation]. 455 5.3. RFC5761 - Multiplexing RTP and RTCP 457 RFC5761 [RFC5761] discusses issues that arise when multiplexing RTP 458 data packets and RTP Control Protocol (RTCP) packets on a single UDP 459 port. It describes when such multiplexing is and is not appropriate, 460 and it explains how the Session Description Protocol (SDP) can be 461 used to signal multiplexed sessions. 463 +-----------+----------------------------------+-------+------------+ 464 | Name | Notes | Level | Category | 465 +-----------+----------------------------------+-------+------------+ 466 | rtcp-mux | RTP and RTCP Multiplexing affect | M | IDENTICAL | 467 | | the entire RTP Session | | | 468 | | | | | 469 +-----------+----------------------------------+-------+------------+ 471 RFC5761 Attribute Analysis 473 5.4. RFC4574 - SDP Label Attribute 475 RFC4574 [RFC4574] defines a new Session Description Protocol (SDP) 476 media-level attribute: "label". The "label" attribute carries a 477 pointer to a media stream in the context of an arbitrary network 478 application that uses SDP. The sender of the SDP document can attach 479 the "label" attribute to a particular media stream or streams. The 480 application can then use the provided pointer to refer to each 481 particular media stream in its context. 483 +--------+---------------+-------+----------+ 484 | Name | Notes | Level | Category | 485 +--------+---------------+-------+----------+ 486 | label | Not Impacted | M | NORMAL | 487 | | | | | 488 +--------+---------------+-------+----------+ 490 RFC4574 Attribute Analysis 492 5.5. RFC5432 - QoS Mechanism Selection in SDP 494 RFC5432 [RFC5432] defines procedures to negotiate QOS mechanisms 495 using the Session Description Protocol (SDP) offer/answer model. 497 +----------------+-------------------------------+-------+----------+ 498 | Name | Notes | Level | Category | 499 +----------------+-------------------------------+-------+----------+ 500 | qos-mech-send | A single DSCP code point per | B | NORMAL | 501 | | flow being multiplexed | | | 502 | | doesn't impact multiplexing | | | 503 | | since QOS mechanisms are | | | 504 | | signaled/scoped per flow. | | | 505 | | | | | 506 | qos-mech-recv | A single DSCP code point per | B | NORMAL | 507 | | flow being multiplexed | | | 508 | | doesn't impact multiplexing | | | 509 | | since QOS mechanisms are | | | 510 | | signaled/scoped per flow. | | | 511 | | | | | 512 +----------------+-------------------------------+-------+----------+ 514 RFC5432 Attribute Analysis 516 Multiplexing consideration when multiple DSCP code points are defined 517 per flow can be found in Section 14 519 5.6. RFC4568 - SDP Security Descriptions 521 RFC4568 [RFC4568] defines a Session Description Protocol (SDP) 522 cryptographic attribute for unicast media streams. The attribute 523 describes a cryptographic key and other parameters that serve to 524 configure security for a unicast media stream in either a single 525 message or a roundtrip exchange. 527 +--------+---------------------------------------+-------+----------+ 528 | Name | Notes | Level | Category | 529 +--------+---------------------------------------+-------+----------+ 530 | crypto | Refer to section 6.2.5 of | M | SPECIAL | 531 | | [I-D.ietf-mmusic-sdp-bundle-negotiati | | | 532 | | on] | | | 533 | | | | | 534 +--------+---------------------------------------+-------+----------+ 536 RFC4568 Attribute Analysis 538 If the multiplexing scheme cannot ensure unique SSRCs across all the 539 media lines, multiplexing MUST NOT be performed. 541 5.7. RFC5762 - RTP over DCCP 543 The Real-time Transport Protocol (RTP) is a widely used transport for 544 real-time multimedia on IP networks. The Datagram Congestion Control 545 Protocol (DCCP) is a transport protocol that provides desirable 546 services for real-time applications. RFC5762 [RFC5762] specifies a 547 mapping of RTP onto DCCP, along with associated signaling, such that 548 real-time applications can make use of the services provided by DCCP 550 +--------------------+---------------------+---------+--------------+ 551 | Name | Notes | Current | Category | 552 +--------------------+---------------------+---------+--------------+ 553 | dccp-service-code | If RFC6773 is not | M | NOT | 554 | | being used in | | RECOMMENDED | 555 | | addition to | | | 556 | | RFC5762, the port | | | 557 | | in the m= line is a | | | 558 | | DCCP port. DCCP | | | 559 | | being a connection | | | 560 | | oriented protocol, | | | 561 | | does not allow | | | 562 | | multiple | | | 563 | | connections on the | | | 564 | | same 5-tuple. | | | 565 | | | | | 566 +--------------------+---------------------+---------+--------------+ 567 RFC5762 Attribute Analysis 569 If RFC6773 is being used in addition to RFC5762 and provided that 570 DCCP-in-UDP layer has additional demultiplexing, then it may be 571 possible to use different DCCP service codes for each DCCP flow, 572 given each uses a different DCCP port. Although doing so might 573 conflict with the media type of the m= line. None of this is 574 standardized yet and it wouldn't work as explained. Hence 575 multiplexing MUST NOT be performed even in this alternate scenario. 577 5.8. RFC6773 - DCCP-UDP Encapsulation 579 RFC6773 [RFC6773] document specifies an alternative encapsulation of 580 the Datagram Congestion Control Protocol (DCCP), referred to as DCCP- 581 UDP. This encapsulation allows DCCP to be carried through the 582 current generation of Network Address Translation (NAT) middle boxes 583 without modification of those middle boxes 585 +------------+-------------------------------+-------+--------------+ 586 | Name | Notes | Level | Category | 587 +------------+-------------------------------+-------+--------------+ 588 | dccp-port | Multiplexing MUST NOT be | M | NOT | 589 | | performed due to potential | | RECOMMENDED | 590 | | conflict between the port | | | 591 | | used for DCCP | | | 592 | | en/decapsulation and the | | | 593 | | RTP. | | | 594 | | | | | 595 +------------+-------------------------------+-------+--------------+ 597 RFC6773 Attribute Analysis 599 Since RFC6773 is about tunnelling DCCP in UDP, with the UDP port 600 being the port of the DCCP en-/de-capsulation service. This 601 encapsulation allows arbitrary DCCP packets to be encapsulated and 602 the DCCP port choosen MAY conflict with the port chosen for the RTP 603 traffic. 605 For multiplexing several DCCP-in-UDP encapsulations on the same UDP 606 port, with no RTP traffic on the same port implies collapsing several 607 DCCP port spaces together. This MAY or MAY NOT work depending on the 608 nature of DCCP encapsulations and ports choses thus rendering it to 609 be very application dependant. 611 5.9. RFC5506 - Reduced-Size RTCP in RTP Profile 613 RFC5506 [RFC5506] discusses benefits and issues that arise when 614 allowing Real-time Transport Protocol (RTCP) packets to be 615 transmitted with reduced size. 617 +-------------+--------------------------------+-------+------------+ 618 | Name | Notes | Level | Category | 619 +-------------+--------------------------------+-------+------------+ 620 | rtcp-rsize | Reduced size RTCP affects the | M | IDENTICAL | 621 | | entire RTP Session | | | 622 | | | | | 623 +-------------+--------------------------------+-------+------------+ 625 RFC5506 Attribute Analysis 627 5.10. RFC6787 - Media Resource Control Protocol Version 2 629 The Media Resource Control Protocol Version 2 (MRCPv2) allows client 630 hosts to control media service resources such as speech synthesizers, 631 recognizers, verifiers, and identifiers residing in servers on the 632 network. MRCPv2 is not a "stand-alone" protocol -- it relies on 633 other protocols, such as the Session Initiation Protocol (SIP), to 634 coordinate MRCPv2 clients and servers and manage sessions between 635 them, and the Session Description Protocol (SDP) to describe, 636 discover, and exchange capabilities. It also depends on SIP and SDP 637 to establish the media sessions and associated parameters between the 638 media source or sink and the media server. Once this is done, the 639 MRCPv2 exchange operates over the control session established above, 640 allowing the client to control the media processing resources on the 641 speech resource server. RFC6787 [RFC6787] defines attributes for 642 this purpose. 644 +-----------+---------------+-------+----------+ 645 | Name | Notes | Level | Category | 646 +-----------+---------------+-------+----------+ 647 | resource | Not Impacted | M | NORMAL | 648 | | | | | 649 | channel | Not Impacted | M | NORMAL | 650 | | | | | 651 +-----------+---------------+-------+----------+ 653 RFC6787 Attribute Analysis 655 5.11. RFC5245 - Interactive Connectivity Establishment (ICE) 657 RFC5245 [RFC5245] describes a protocol for Network Address 658 Translator(NAT) traversal for UDP-based multimedia sessions 659 established with the offer/answer model. This protocol is called 660 Interactive Connectivity Establishment (ICE). ICE makes use of the 661 Session Traversal Utilities for NAT (STUN) protocol and its 662 extension,Traversal Using Relay NAT (TURN). ICE can be used by any 663 protocol utilizing the offer/answer model, such as the Session 664 Initiation Protocol (SIP). 666 +--------------------+-------------------------+-------+------------+ 667 | Name | Notes | Level | Category | 668 +--------------------+-------------------------+-------+------------+ 669 | ice-lite | Not Impacted | S | NORMAL | 670 | | | | | 671 | ice-options | Not Impacted | S | NORMAL | 672 | | | | | 673 | ice-pwd | ice-pwd MUST be the one | B | TRANSPORT | 674 | | that corresponds to the | | | 675 | | m=line chosen for | | | 676 | | setting up the | | | 677 | | underlying transport | | | 678 | | flow | | | 679 | | | | | 680 | ice-ufrag | ice-ufrag MUST be the | B | TRANSPORT | 681 | | one that corresponds to | | | 682 | | the m=line chosen for | | | 683 | | setting up the | | | 684 | | underlying transport | | | 685 | | flow | | | 686 | | | | | 687 | candidate | ice candidate MUST be | M | TRANSPORT | 688 | | the one that | | | 689 | | corresponds to the | | | 690 | | m=line chosen for | | | 691 | | setting up the | | | 692 | | underlying transport | | | 693 | | flow | | | 694 | | | | | 695 | remote-candidates | ice remote candidate | M | TRANSPORT | 696 | | MUST be the one that | | | 697 | | corresponds to the | | | 698 | | m=line chosen for | | | 699 | | setting up the | | | 700 | | underlying transport | | | 701 | | flow | | | 702 | | | | | 703 +--------------------+-------------------------+-------+------------+ 705 RFC5245 Attribute Analysis 707 5.12. RFC5285 - RTP Header Extensions 709 RFC5285 [RFC5285] provides a general mechanism to use the header 710 extension feature of RTP (the Real-Time Transport Protocol). It 711 provides the option to use a small number of small extensions in each 712 RTP packet, where the universe of possible extensions is large and 713 registration is de-centralized. The actual extensions in use in a 714 session are signaled in the setup information for that session. 716 +---------+--------------------------------------+-------+----------+ 717 | Name | Notes | Level | Category | 718 +---------+--------------------------------------+-------+----------+ 719 | extmap | Specific RTP extension document MUST | B | SPECIAL | 720 | | be referred | | | 721 | | | | | 722 +---------+--------------------------------------+-------+----------+ 724 RFC5285 Attribute Analysis 726 5.13. RFC3605 - RTCP attribute in SDP 728 Originally, SDP assumed that RTP and RTCP were carried on consecutive 729 ports. However, this is not always true when NATs are involved. 730 [RFC3605] specifies an early mechanism to indicate the RTCP port. 732 +-------+--------------------------------------+-------+------------+ 733 | Name | Notes | Level | Category | 734 +-------+--------------------------------------+-------+------------+ 735 | rtcp | Identical attribute value MUST be | M | IDENTICAL | 736 | | used since the RTCP port affects the | | | 737 | | entire RTP session. | | | 738 | | | | | 739 +-------+--------------------------------------+-------+------------+ 741 RFC3605 Attribute Analysis 743 5.14. RFC5576 - Source-Specific SDP Attributes 745 RFC5576 [RFC5576] defines a mechanism to describe RTP media sources, 746 which are identified by their synchronization source (SSRC) 747 identifiers, in SDP, to associate attributes with these sources, and 748 to express relationships among sources. It also defines several 749 source-level attributes that can be used to describe properties of 750 media sources. 752 +----------------+-------------------------------+-------+----------+ 753 | Name | Notes | Level | Category | 754 +----------------+-------------------------------+-------+----------+ 755 | ssrc | Refer to Notes below | M | SPECIAL | 756 | | | | | 757 | ssrc-group | Refer to section Section 9 | M | SPECIAL | 758 | | for specific analysis of the | | | 759 | | grouping semantics | | | 760 | | | | | 761 | cname | Not Impacted [Open Issues: | SR | NORMAL | 762 | | what are the rules for CNAME | | | 763 | | duplication across | | | 764 | | sessions?] | | | 765 | | | | | 766 | previous-ssrc | Refer to notes below | SR | SPECIAL | 767 | | | | | 768 | fmtp | Not Impacted | SR | NORMAL | 769 | | | | | 770 +----------------+-------------------------------+-------+----------+ 772 RFC5576 Attribute Analysis 774 If SSRCs are repeated across m=lines being multiplexed, they MUST all 775 represent the same underlying RTP Source. For more details on 776 implications of SSRC values with in the context of multiplexing 777 please refer to [I-D.ietf-mmusic-sdp-bundle-negotiation] 779 5.15. RFC6236 - Image Attributes in SDP 781 RFC6236 [RFC6236] proposes a new generic session setup attribute to 782 make it possible to negotiate different image attributes such as 783 image size. A possible use case is to make it possible for a low-end 784 hand-held terminal to display video without the need to rescale the 785 image,something that may consume large amounts of memory and 786 processing power. The document also helps to maintain an optimal 787 bitrate for video as only the image size that is desired by the 788 receiver is transmitted. 790 +------------+---------------+-------+----------+ 791 | Name | Notes | Level | Category | 792 +------------+---------------+-------+----------+ 793 | imageattr | Not Impacted | M | NORMAL | 794 | | | | | 795 +------------+---------------+-------+----------+ 797 RFC6236 Attribute Analysis 799 5.16. RFC6285 - Rapid Acquisition of Multicast RTP Sessions 801 RFC6285 [RFC6285] describes a method using the existing RTP and RTP 802 Control Protocol (RTCP) machinery that reduces the acquisition delay. 803 In this method, an auxiliary unicast RTP session carrying the 804 Reference Information to the receiver precedes or accompanies the 805 multicast stream. This unicast RTP flow can be transmitted at a 806 faster than natural bitrate to further accelerate the acquisition. 807 The motivating use case for this capability is multicast applications 808 that carry real-time compressed audio and video. 810 +---------------+-------------------+-------+------------------+ 811 | Name | Notes | Level | Category | 812 +---------------+-------------------+-------+------------------+ 813 | rams-updates | Not recommended | M | NOT RECOMMENDED | 814 | | | | | 815 +---------------+-------------------+-------+------------------+ 817 RFC6285 Attribute Analysis 819 5.17. RFC6230 - Media Control Channel Framework 821 RFC6230 [RFC6230] describes a framework and protocol for application 822 deployment where the application programming logic and media 823 processing are distributed. This implies that application 824 programming logic can seamlessly gain access to appropriate resources 825 that are not co-located on the same physical network entity. The 826 framework uses the Session Initiation Protocol (SIP) to establish an 827 application-level control mechanism between application servers and 828 associated external servers such as media servers. 830 +---------+-----------------+-------+----------+ 831 | Name | Notes | Level | Category | 832 +---------+-----------------+-------+----------+ 833 | cfw-id | Not Applicable | M | NORMAL | 834 | | | | | 835 +---------+-----------------+-------+----------+ 837 RFC6230 Attribute Analysis 839 5.18. RFC6364 - SDP Elements for FEC Framework 841 RFC6364 [RFC6364] specifies the use of the Session Description 842 Protocol (SDP) to describe the parameters required to signal the 843 Forward Error Correction (FEC) Framework Configuration Information 844 between the sender(s) and receiver(s). This document also provides 845 examples that show the semantics for grouping multiple source and 846 repair flows together for the applications that simultaneously use 847 multiple instances of the FEC Framework. 849 +------------------+---------------+-------+----------+ 850 | Name | Notes | Level | Category | 851 +------------------+---------------+-------+----------+ 852 | fec-source-flow | Not Impacted | M | NORMAL | 853 | | | | | 854 | fec-repair-flow | Not Impacted | M | NORMAL | 855 | | | | | 856 | repair-window | Not Impacted | M | NORMAL | 857 | | | | | 858 +------------------+---------------+-------+----------+ 860 RFC6364 Attribute Analysis 862 5.19. RFC4796 - Content Attribute 864 RFC4796 [RFC4796] defines a new Session Description Protocol (SDP) 865 media-level attribute, 'content'. The 'content' attribute defines 866 the content of the media stream to a more detailed level than the 867 media description line. The sender of an SDP session description can 868 attach the 'content' attribute to one or more media streams. The 869 receiving application can then treat each media stream differently 870 (e.g., show it on a big or small screen) based on its content. 872 +----------+---------------+-------+----------+ 873 | Name | Notes | Level | Category | 874 +----------+---------------+-------+----------+ 875 | content | Not Impacted | M | NORMAL | 876 | | | | | 877 +----------+---------------+-------+----------+ 879 RFC4796 Attribute Analysis 881 5.20. RFC3407 - SDP Simple Capability Declaration 883 RFC3407 [RFC3407] defines a set of Session Description Protocol (SDP) 884 attributes that enables SDP to provide a minimal and backwards 885 compatible capability declaration mechanism. 887 +----------+----------------------+-------+----------+ 888 | Name | Notes | Level | Category | 889 +----------+----------------------+-------+----------+ 890 | sqn | Not Impacted | B | NORMAL | 891 | | | | | 892 | csdc | Not Impacted. | B | NORMAL | 893 | | | | | 894 | cpar | Refer to Section 15 | B | SPECIAL | 895 | | | | | 896 | cparmin | Refer to Section 15 | B | SPECIAL | 897 | | | | | 898 | cparmax | Refer to Section 15 | B | SPECIAL | 899 | | | | | 900 +----------+----------------------+-------+----------+ 902 RFC3407 Attribute Analysis 904 5.21. RFC6284 - Port Mapping between Unicast and Multicast RTP Sessions 906 RFC6284 [RFC6284] presents a port mapping solution that allows RTP 907 receivers to choose their own ports for an auxiliary unicast session 908 in RTP applications using both unicast and multicast services. The 909 solution provides protection against denial-of-service or packet 910 amplification attacks that could be used to cause one or more RTP 911 packets to be sent to a victim client 913 +------------------+-------------------------+-------+--------------+ 914 | Name | Notes | Level | Category | 915 +------------------+-------------------------+-------+--------------+ 916 | portmapping-req | Not recommended, if | M | NOT | 917 | | port mapping is | | RECOMMENDED | 918 | | required by the | | | 919 | | application | | | 920 | | | | | 921 +------------------+-------------------------+-------+--------------+ 923 RFC6284 Attribute Analysis 925 5.22. RFC6714 - MSRP-CEMA 927 RFC6714 [RFC6714] defines a Message Session Relay Protocol (MSRP) 928 extension, Connection Establishment for Media Anchoring (CEMA). 929 Support of this extension is OPTIONAL. The extension allows middle 930 boxes to anchor the MSRP connection, without the need for middle 931 boxes to modify the MSRP messages; thus, it also enables secure end- 932 to-end MSRP communication in networks where such middle boxes are 933 deployed. This document also defines a Session Description Protocol 934 (SDP) attribute, 'msrp-cema', that MSRP endpoints use to indicate 935 support of the CEMA extension. 937 +------------+---------------+-------+----------+ 938 | Name | Notes | Level | Category | 939 +------------+---------------+-------+----------+ 940 | msrp-cema | Not Impacted | M | NORMAL | 941 | | | | | 942 +------------+---------------+-------+----------+ 944 RFC6714 Attribute Analysis 946 5.23. RFC4583 - SDP Format for BFCP Streams 948 RFC4583 [RFC4583] document specifies how to describe Binary Floor 949 Control Protocol (BFCP) streams in Session Description Protocol (SDP) 950 descriptions. User agents using the offer/answer model to establish 951 BFCP streams use this format in their offers and answers 953 +------------+---------------------------------+-------+------------+ 954 | Name | Notes | Level | Category | 955 +------------+---------------------------------+-------+------------+ 956 | floorctrl | Must be repeated across all the | M | IDENTICAL | 957 | | multiplexed m=lines | | | 958 | | | | | 959 | confid | Not Impacted | M | NORMAL | 960 | | | | | 961 | userid | Not Impacted | M | NORMAL | 962 | | | | | 963 | floorid | The floorid MUST be globally | M | NORMAL | 964 | | unique | | | 965 | | | | | 966 +------------+---------------------------------+-------+------------+ 968 RFC4583 Attribute Analysis 970 5.24. RFC5547 - SDP Offer/Answer for File Transfer 972 RFC5547 [RFC5547] provides a mechanism to negotiate the transfer of 973 one or more files between two endpoints by using the Session 974 Description Protocol (SDP) offer/answer model specified in [RFC3264]. 976 +----------------------+---------------+-------+----------+ 977 | Name | Notes | Level | Category | 978 +----------------------+---------------+-------+----------+ 979 | file-selector | Not Impacted | M | NORMAL | 980 | | | | | 981 | file-transfer-id | Not Impacted | M | NORMAL | 982 | | | | | 983 | file-disposition | Not Impacted | M | NORMAL | 984 | | | | | 985 | file-date | Not Impacted | M | NORMAL | 986 | | | | | 987 | file-iconfile-range | Not Impacted | M | NORMAL | 988 | | | | | 989 +----------------------+---------------+-------+----------+ 991 RFC5547 Attribute Analysis 993 5.25. RFC6489 - SDP and RTP Media Loopback Extension 995 [MEDIA_LOOPBACK] adds new SDP media types and attributes, which 996 enable establishment of media sessions where the media is looped back 997 to the transmitter. Such media sessions will serve as monitoring and 998 troubleshooting tools by providing the means for measurement of more 999 advanced VoIP, Real-time Text and Video over IP performance metrics. 1001 +------------------------------+----------------+-------+----------+ 1002 | Name | Notes | Level | Category | 1003 +------------------------------+----------------+-------+----------+ 1004 | loopback rtp-pkt-loopback | Not Impacted | M | NORMAL | 1005 | | | | | 1006 | loopback rtp-media-loopback | Not Impacted | M | NORMAL | 1007 | | | | | 1008 | loopback-source | Not Impacted | M | NORMAL | 1009 | | | | | 1010 | loopback-mirror | Not Impacted | M | NORMAL | 1011 | | | | | 1012 +------------------------------+----------------+-------+----------+ 1014 An Extension to the Session Description Protocol (SDP) 1015 and Real-time Transport Protocol (RTP) for Media Loopback 1017 5.26. RFC5760 - RTCP with Unicast Feedback 1019 RFC5760 [RFC5760] specifies an extension to the Real-time Transport 1020 Control Protocol (RTCP) to use unicast feedback to a multicast 1021 sender. The proposed extension is useful for single-source multicast 1022 sessions such as Source-Specific Multicast (SSM) communication where 1023 the traditional model of many-to-many group communication is either 1024 not available or not desired. 1026 +---------------+------------------------------+-------+------------+ 1027 | Name | Notes | Level | Category | 1028 +---------------+------------------------------+-------+------------+ 1029 | rtcp-unicast | The attribute MUST be | M | IDENTICAL | 1030 | | reported across all m=lines | | | 1031 | | multiplexed | | | 1032 | | | | | 1033 +---------------+------------------------------+-------+------------+ 1035 RFC5760 Attribute Analysis 1037 5.27. RFC3611 - RTCP XR 1039 RFC3611 [RFC3611] defines the Extended Report (XR) packet type for 1040 the RTP Control Protocol (RTCP), and defines how the use of XR 1041 packets can be signaled by an application if it employs the Session 1042 Description Protocol (SDP). 1044 +----------+---------------+-------+----------+ 1045 | Name | Notes | Level | Category | 1046 +----------+---------------+-------+----------+ 1047 | rtcp-xr | Not Impacted | B | NORMAL | 1048 | | | | | 1049 +----------+---------------+-------+----------+ 1051 RFC3611 Attribute Analysis 1053 5.28. RFC5939 - SDP Capability Negotiation 1055 RFC5939 [RFC5939] defines a general SDP Capability Negotiation 1056 framework. It also specifies how to provide attributes and transport 1057 protocols as capabilities and negotiate them using the framework. 1058 Extensions for other types of capabilities (e.g., media types and 1059 media formats) may be provided in other documents. 1061 +-------+-------------------------------+-------+----------+ 1062 | Name | Notes | Level | Category | 1063 +-------+-------------------------------+-------+----------+ 1064 | pcfg | Refer to section Section 15 | M | SPECIAL | 1065 | | | | | 1066 | acfg | Refer to section Section 15 | M | SPECIAL | 1067 | | | | | 1068 | csup | Not Impacted | B | NORMAL | 1069 | | | | | 1070 | creq | Not Impacted | B | NORMAL | 1071 | | | | | 1072 | acap | Refer to section Section 15 | B | SPECIAL | 1073 | | | | | 1074 | tcap | Refer to section Section 15 | B | SPECIAL | 1075 | | | | | 1076 +-------+-------------------------------+-------+----------+ 1078 RFC5939 Attribute Analysis 1080 5.29. RFC6781 - SDP Media Capabilities Negotiation 1082 Session Description Protocol (SDP) capability negotiation provides a 1083 general framework for indicating and negotiating capabilities in SDP. 1084 The base framework defines only capabilities for negotiating 1085 transport protocols and attributes. [RFC6781] extends the framework 1086 by defining media capabilities that can be used to negotiate media 1087 types and their associated parameters. 1089 +---------+------------------------------+-------+----------+ 1090 | Name | Notes | Level | Category | 1091 +---------+------------------------------+-------+----------+ 1092 | rmcap | Not Impacted | B | NORMAL | 1093 | | | | | 1094 | omcap | Not Impacted | B | NORMAL | 1095 | | | | | 1096 | mfcap | Not Impacted | B | NORMAL | 1097 | | | | | 1098 | mscap | Refer to section Section 15 | B | SPECIAL | 1099 | | | | | 1100 | lcfg | Refer to section Section 15 | B | SPECIAL | 1101 | | | | | 1102 | sescap | Not Impacted | S | NORMAL | 1103 | | | | | 1104 +---------+------------------------------+-------+----------+ 1106 draft-ietf-mmusic-sdp-media-capabilities Attribute Analysis 1108 5.30. RFC4567 - Key Management Extensions for SDP and RTSP 1110 RFC4567 [RFC4567] defines general extensions for Session Description 1111 Protocol (SDP) and Real Time Streaming Protocol (RTSP) to carry 1112 messages, as specified by a key management protocol, in order to 1113 secure the media. These extensions are presented as a framework, to 1114 be used by one or more key management protocols. As such, their use 1115 is meaningful only when complemented by an appropriate key management 1116 protocol. 1118 +-----------+----------------------------------+-------+------------+ 1119 | Name | Notes | Level | Category | 1120 +-----------+----------------------------------+-------+------------+ 1121 | key-mgmt | Key management protocol MUST be | B | IDENTICAL | 1122 | | identical across all the | | | 1123 | | m=lines | | | 1124 | | | | | 1125 +-----------+----------------------------------+-------+------------+ 1127 RFC4567 Attribute Analysis 1129 5.31. RFC4572 - Comedia over TLS in SDP 1131 RFC4572 [RFC4572] specifies how to establish secure connection- 1132 oriented media transport sessions over the Transport Layer Security 1133 (TLS) protocol using the Session Description Protocol (SDP). It 1134 defines a new SDP protocol identifier, 'TCP/TLS'. It also defines 1135 the syntax and semantics for an SDP 'fingerprint' attribute that 1136 identifies the certificate that will be presented for the TLS 1137 session. This mechanism allows media transport over TLS connections 1138 to be established securely, so long as the integrity of session 1139 descriptions is assured. 1141 +--------------+-------------------------------+-------+------------+ 1142 | Name | Notes | Level | Category | 1143 +--------------+-------------------------------+-------+------------+ 1144 | fingerprint | Fingerprint value from the | B | TRANSPORT | 1145 | | m=line defining the | | | 1146 | | underlying transport is | | | 1147 | | chosen | | | 1148 | | | | | 1149 +--------------+-------------------------------+-------+------------+ 1151 RFC4572 Attribute Analysis 1153 5.32. RFC4570 - SDP Source Filters 1155 RFC4570 [RFC4570] describes how to adapt the Session Description 1156 Protocol (SDP) to express one or more source addresses as a source 1157 filter for one or more destination "connection" addresses. It 1158 defines the syntax and semantics for an SDP "source-filter" attribute 1159 that may reference either IPv4 or IPv6 address(es) as either an 1160 inclusive or exclusive source list for either multicast or unicast 1161 destinations. In particular, an inclusive source-filter can be used 1162 to specify a Source-Specific Multicast (SSM) session 1164 +----------------+-----------------------------+-------+------------+ 1165 | Name | Notes | Level | Category | 1166 +----------------+-----------------------------+-------+------------+ 1167 | source-filter | The attribute MUST be | B | IDENTICAL | 1168 | | repeated across all m=lines | | | 1169 | | multiplexed | | | 1170 | | | | | 1171 +----------------+-----------------------------+-------+------------+ 1173 RFC4570 Attribute Analysis 1175 5.33. RFC6128 - RTCP Port for Multicast Sessions 1177 The Session Description Protocol (SDP) has an attribute that allows 1178 RTP applications to specify an address and a port associated with the 1179 RTP Control Protocol (RTCP) traffic. In RTP-based source-specific 1180 multicast (SSM) sessions, the same attribute is used to designate the 1181 address and the RTCP port of the Feedback Target in the SDP 1182 description. However, the RTCP port associated with the SSM session 1183 itself cannot be specified by the same attribute to avoid ambiguity, 1184 and thus, is required to be derived from the "m=" line of the media 1185 description. Deriving the RTCP port from the "m=" line imposes an 1186 unnecessary restriction. RFC6128 [RFC6128] removes this restriction 1187 by introducing a new SDP attribute. 1189 +-----------------+----------------------------+-------+------------+ 1190 | Name | Notes | Level | Category | 1191 +-----------------+----------------------------+-------+------------+ 1192 | multicast-rtcp | Multicast RTCP port MUST | B | IDENTICAL | 1193 | | be identical across all | | | 1194 | | the m=lines | | | 1195 | | | | | 1196 +-----------------+----------------------------+-------+------------+ 1198 RFC6128 Attribute Analysis 1200 5.34. RFC6189 - ZRTP 1202 RFC6189 [RFC6189] defines ZRTP, a protocol for media path Diffie- 1203 Hellman exchange to agree on a session key and parameters for 1204 establishing unicast Secure Real-time Transport Protocol (SRTP) 1205 sessions for Voice over IP (VoIP) applications. 1207 +------------+-------------------------------+-------+--------------+ 1208 | Name | Notes | Level | Category | 1209 +------------+-------------------------------+-------+--------------+ 1210 | zrtp-hash | Complicates if all the | M | NOT | 1211 | | m=lines are not authenticated | | RECOMMENDED | 1212 | | as given in the example | | | 1213 | | below | | | 1214 | | | | | 1215 +------------+-------------------------------+-------+--------------+ 1217 RFC6189 Attribute Analysis 1219 Example: Multiplexing media descriptions having attribute zrtp-hash 1220 defined with the media descriptions lacking it, would either 1221 complicate the handling of multiplexed stream or fail multiplexing. 1223 v=0 1224 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com 1225 s= 1226 c=IN IP4 client.biloxi.example.com 1227 t=0 0 1228 m=audio 3456 RTP/AVP 97 1229 a=rtpmap:97 iLBC/8000 1230 1231 a=zrtp-hash:1.10 fe30efd02423cb054e50efd0248742ac7a52c8f91bc2 1232 df881ae642c371ba46df 1233 1234 m=video 34567 RTP/AVP 31 1235 a=rtpmap:31 H261/90000 1237 5.35. RFC4145 - Connection-Oriented Media 1239 RFC4145 [RFC4145] describes how to express media transport over TCP 1240 using the Session Description Protocol (SDP). It defines the SDP 1241 'TCP' protocol identifier, the SDP 'setup' attribute, which describes 1242 the connection setup procedure, and the SDP 'connection' attribute, 1243 which handles connection reestablishment. 1245 +-------------+--------------------------------+-------+------------+ 1246 | Name | Notes | Level | Category | 1247 +-------------+--------------------------------+-------+------------+ 1248 | setup | MUST be identical across all | B | IDENTICAL | 1249 | | m=lines | | | 1250 | | | | | 1251 | connection | MUST be identical across all | B | IDENTICAL | 1252 | | m=lines | | | 1253 | | | | | 1254 +-------------+--------------------------------+-------+------------+ 1256 RFC4145 Attribute Analysis 1258 5.36. RFC5159 - OMA BCAST SDP Attributes 1260 RFC5159 [RFC5159] provides descriptions of Session Description 1261 Protocol (SDP) attributes used by the Open Mobile Alliance's 1262 Broadcast Service and Content Protection specification. 1264 +---------------------+---------------+-------+----------+ 1265 | Name | Notes | Level | Category | 1266 +---------------------+---------------+-------+----------+ 1267 | bcastversion | Not Impacted | S | NORMAL | 1268 | | | | | 1269 | stkmstream | Not Impacted | B | NORMAL | 1270 | | | | | 1271 | SRTPAuthentication | Not Impacted | M | NORMAL | 1272 | | | | | 1273 | SRTPROCTxRate | Not Impacted | M | NORMAL | 1274 | | | | | 1275 +---------------------+---------------+-------+----------+ 1277 RFC5159 Attribute Analysis 1279 5.37. RFC6193 - Media Description for IKE in SDP 1281 RFC6193 [RFC6193] specifies how to establish a media session that 1282 represents a virtual private network using the Session Initiation 1283 Protocol for the purpose of on-demand media/application sharing 1284 between peers. It extends the protocol identifier of the Session 1285 Description Protocol (SDP) so that it can negotiate use of the 1286 Internet Key Exchange Protocol (IKE) for media sessions in the SDP 1287 offer/answer model. 1289 +-------------------+--------------------------+-------+------------+ 1290 | Name | Notes | Level | Category | 1291 +-------------------+--------------------------+-------+------------+ 1292 | ike-setup | Attribute MUST be | B | IDENTICAL | 1293 | | identical across all the | | | 1294 | | m=lines | | | 1295 | | | | | 1296 | psk-fingerprint | Attribute MUST be | B | IDENTICAL | 1297 | | identical across all the | | | 1298 | | m=lines | | | 1299 | | | | | 1300 | ike-esp | Attribute MUST be | B | IDENTICAL | 1301 | | identical across all the | | | 1302 | | m=lines | | | 1303 | | | | | 1304 | ike-esp-udpencap | Attribute MUST be | B | IDENTICAL | 1305 | | identical across all the | | | 1306 | | m=lines | | | 1307 | | | | | 1308 +-------------------+--------------------------+-------+------------+ 1310 RFC6193 Attribute Analysis 1312 With the above SDP constraints, a session multiplexed with multiple 1313 m=lines will use only one IPSec association for all of the m= lines. 1315 5.38. RFC6064 - SDP and RTSP Extensions for 3GPP 1317 The Packet-switched Streaming Service (PSS) and the Multimedia 1318 Broadcast/Multicast Service (MBMS) defined by 3GPP use the Session 1319 Description Protocol (SDP) and Real Time Streaming Protocol (RTSP) 1320 with some extensions. RFC6064 [RFC6064] provides information about 1321 these extensions and registers the RTSP and SDP extensions with IANA. 1323 +-------------------------------+------------+-------+--------------+ 1324 | Name | Notes | Level | Category | 1325 +-------------------------------+------------+-------+--------------+ 1326 | X-predecbufsize | Refer to | M | NOT | 1327 | | notes | | RECOMMENDED | 1328 | | below | | | 1329 | | | | | 1330 | X-initpredecbufperiod | Refer to | M | NOT | 1331 | | notes | | RECOMMENDED | 1332 | | below | | | 1333 | | | | | 1334 | X-initpostdecbufperiod | Refer to | M | NOT | 1335 | | notes | | RECOMMENDED | 1336 | | below | | | 1337 | | | | | 1338 | X-decbyterate | Refer to | M | NOT | 1339 | | notes | | RECOMMENDED | 1340 | | below | | | 1341 | | | | | 1342 | 3gpp-videopostdecbufsize | Refer to | M | NOT | 1343 | | notes | | RECOMMENDED | 1344 | | below | | | 1345 | | | | | 1346 | framesize | Refer to | M | NOT | 1347 | | notes | | RECOMMENDED | 1348 | | below | | | 1349 | | | | | 1350 | 3GPP-Integrity-Key | Refer to | S | NOT | 1351 | | notes | | RECOMMENDED | 1352 | | below | | | 1353 | | | | | 1354 | 3GPP-SRTP-Config | Refer to | M | NOT | 1355 | | notes | | RECOMMENDED | 1356 | | below | | | 1357 | | | | | 1358 | alt,alt-default-id | Refer to | M | NOT | 1359 | | notes | | RECOMMENDED | 1360 | | below | | | 1361 | | | | | 1362 | alt-group | Refer to | M | NOT | 1363 | | notes | | RECOMMENDED | 1364 | | below | | | 1365 | | | | | 1366 | 3GPP-Adaptation-Support | Refer to | M | NOT | 1367 | | notes | | RECOMMENDED | 1368 | | below | | | 1369 | | | | | 1370 | 3GPP-Asset-Informatio | Refer to | B | NOT | 1371 | | notes | | RECOMMENDED | 1372 | | below | | | 1373 | | | | | 1374 | mbms-mode | Refer to | B | NOT | 1375 | | notes | | RECOMMENDED | 1376 | | below | | | 1377 | | | | | 1378 | mbms-flowid | MRefer to | M | NOT | 1379 | | notes | | RECOMMENDED | 1380 | | below | | | 1381 | | | | | 1382 | mbms-repair | Refer to | B | NOT | 1383 | | notes | | RECOMMENDED | 1384 | | below | | | 1385 | | | | | 1386 | 3GPP-QoE-Metrics:Corruption | Refer to | M | NOT | 1387 | duration | notes | | RECOMMENDED | 1388 | | below | | | 1389 | | | | | 1390 | 3GPP-QoE-Metrics:Rebuffering | Refer to | M | NOT | 1391 | duration | notes | | RECOMMENDED | 1392 | | below | | | 1393 | | | | | 1394 | 3GPP-QoE-Metrics:Initial | Refer to | M | NOT | 1395 | buffering duration | notes | | RECOMMENDED | 1396 | | below | | | 1397 | | | | | 1398 | 3GPP-QoE-Metrics:Successive | Refer to | M | NOT | 1399 | loss of RTP packets | notes | | RECOMMENDED | 1400 | | below | | | 1401 | | | | | 1402 | 3GPP-QoE-Metrics:Frame rate | Refer to | M | NOT | 1403 | deviation | notes | | RECOMMENDED | 1404 | | below | | | 1405 | | | | | 1406 | 3GPP-QoE-Metrics:Jitter | Refer to | M | NOT | 1407 | duration | notes | | RECOMMENDED | 1408 | | below | | | 1409 | | | | | 1410 | 3GPP-QoE-Metrics:Content | Refer to | B | NOT | 1411 | Switch Time | notes | | RECOMMENDED | 1412 | | below | | | 1413 | | | | | 1414 | 3GPP-QoE-Metrics:Average | Refer to | M | NOT | 1415 | Codec Bitrat | notes | | RECOMMENDED | 1416 | | below | | | 1417 | | | | | 1418 | 3GPP-QoE-Metrics:Codec | Refer to | M | NOT | 1419 | Information | notes | | RECOMMENDED | 1420 | | below | | | 1421 | | | | | 1422 | 3GPP-QoE-Metrics:Buffer | Refer to | M | NOT | 1423 | Status | notes | | RECOMMENDED | 1424 | | below | | | 1425 | | | | | 1426 +-------------------------------+------------+-------+--------------+ 1428 RFC6064 Attribute Analysis 1430 [RFC6064] defines SDP attributes that are applicable in the 1431 declarative usage of SDP alone. For purposes of this document, only 1432 the Offer/Answer usage of SDP is considered as mandated by 1434 [I-D.ietf-mmusic-sdp-bundle-negotiation]. 1436 5.39. RFC3108 - ATM SDP 1438 RFC3108 [RFC3108] describes conventions for using the Session 1439 Description Protocol (SDP) described for controlling ATM Bearer 1440 Connections, and any associated ATM Adaptation Layer (AAL) 1442 +------------------------+--------------+-------+----------+ 1443 | Name | Notes | Level | Category | 1444 +------------------------+--------------+-------+----------+ 1445 | aalType | Not Impacted | B | NORMAL | 1446 | eecid | Not Impacted | B | NORMAL | 1447 | aalType | Not Impacted | B | NORMAL | 1448 | capability | Not Impacted | B | NORMAL | 1449 | qosClass | Not Impacted | B | NORMAL | 1450 | bcob | Not Impacted | B | NORMAL | 1451 | stc | Not Impacted | B | NORMAL | 1452 | upcc | Not Impacted | B | NORMAL | 1453 | atmQOSparms | Not Impacted | B | NORMAL | 1454 | atmTrfcDesc | Not Impacted | B | NORMAL | 1455 | abrParms | Not Impacted | B | NORMAL | 1456 | abrSetup | Not Impacted | B | NORMAL | 1457 | bearerType | Not Impacted | B | NORMAL | 1458 | lij | Not Impacted | B | NORMAL | 1459 | anycast | Not Impacted | B | NORMAL | 1460 | cache | Not Impacted | B | NORMAL | 1461 | bearerSigIE | Not Impacted | B | NORMAL | 1462 | aalApp | Not Impacted | B | NORMAL | 1463 | cbrRate | Not Impacted | B | NORMAL | 1464 | sbc | Not Impacted | B | NORMAL | 1465 | clkrec | Not Impacted | B | NORMAL | 1466 | fec | Not Impacted | B | NORMAL | 1467 | prtfl | Not Impacted | B | NORMAL | 1468 | structure | Not Impacted | B | NORMAL | 1469 | cpsSDUsize | Not Impacted | B | NORMAL | 1470 | aal2CPS | Not Impacted | B | NORMAL | 1471 | aal2CPSSDUrate | Not Impacted | B | NORMAL | 1472 | aal2sscs3661unassured | Not Impacted | B | NORMAL | 1473 | aal2sscs3661assured | Not Impacted | B | NORMAL | 1474 | aal2sscs3662 | Not Impacted | B | NORMAL | 1475 | aal5sscop | Not Impacted | B | NORMAL | 1476 | atmmap | Not Impacted | B | NORMAL | 1477 | silenceSupp | Not Impacted | B | NORMAL | 1478 | ecan | Not Impacted | B | NORMAL | 1479 | gc | Not Impacted | B | NORMAL | 1480 | profileDesc | Not Impacted | B | NORMAL | 1481 | vsel | Not Impacted | B | NORMAL | 1482 | dsel | Not Impacted | B | NORMAL | 1483 | fsel | Not Impacted | B | NORMAL | 1484 | onewaySel | Not Impacted | B | NORMAL | 1485 | codecconfig | Not Impacted | B | NORMAL | 1486 | isup_usi | Not Impacted | B | NORMAL | 1487 | isup_usi | Not Impacted | B | NORMAL | 1488 | chain | Not Impacted | B | NORMAL | 1489 | | | | | 1490 +------------------------+--------------+-------+----------+ 1492 RFC3108 Attribute Analysis 1494 RFC3108 describes conventions for using the Session Description 1495 Protocol (SDP) for characterizing ATM bearer connections using an 1496 AAL1, AAL2 or AAL5 adaptation layers. For AAL1, AAL2 and AAL5, 1497 bearer connections can be used to transport single media streams. In 1498 addition, for AAL1 and AAL2, multiple media streams may be 1499 multiplexed into a bearer connection. For all adaptation types 1500 (AAL1, AAL2 and AAL5), bearer connections may be bundled into a 1501 single media group. In all cases addressed by RFC3108, a real-time 1502 media stream (voice, video, voiceband data, pseudo-wire and others) 1503 or a multiplex of media streams is mapped directly into an ATM 1504 connection. RFC3108 does not address cases where ATM serves as a 1505 low-level transport pipe for IP packets which in turn may carry one 1506 or more real-time (e.g. VoIP) media sessions with a life-cycle 1507 different from that of the underlying ATM transport. 1509 5.40. 3GPP TS 24.182 1511 3GPP TS 24.182 [R3GPPTS24.182] specifies IP multimedia subsystem 1512 Custom Alerting tones 1514 +-------------+----------------------------------+-------+----------+ 1515 | Name | Notes | Level | Category | 1516 +-------------+----------------------------------+-------+----------+ 1517 | g.3gpp.cat | Usage defined for the IP | M | NORMAL | 1518 | | Multimedia Subsystem | | | 1519 | | | | | 1520 +-------------+----------------------------------+-------+----------+ 1522 3GPP TS 24.182 Attribute Analysis 1524 5.41. 3GPP TS 24.183 1526 3GPP TS 24.183 [R3GPPTS24.183]specifies IP multimedia subsystem 1527 Custom Ringing Signal 1528 +-------------+----------------------------------+-------+----------+ 1529 | Name | Notes | Level | Category | 1530 +-------------+----------------------------------+-------+----------+ 1531 | g.3gpp.crs | Usage defined for the IP | M | NORMAL | 1532 | | Multimedia Subsystem | | | 1533 | | | | | 1534 +-------------+----------------------------------+-------+----------+ 1536 3GPP TS 24.183 Attribute Analysis 1538 5.42. 3GPP TS 24.229 1540 3GPP TS 24.229 [R3GPPTS24.229]IP multimedia call control protocol 1541 based on Session Initial protocol and Session Description Protocol. 1543 +------------------+---------------------------+-------+------------+ 1544 | Name | Notes | Level | Category | 1545 +------------------+---------------------------+-------+------------+ 1546 | secondary-realm | Per media-level attribute | M | TRANSPORT | 1547 | | MUST be used per | | | 1548 | | underlying transport | | | 1549 | | | | | 1550 | visited-realm | Per media-level attribute | M | TRANSPORT | 1551 | | MUST be used per | | | 1552 | | underlying transport | | | 1553 | | | | | 1554 | omr-m-cksum | Not Impacted | M | NORMAL | 1555 | | | | | 1556 | omr-s-cksum | Not Impacted | M | NORMAL | 1557 | | | | | 1558 | omr-m-att | Not Impacted | M | NORMAL | 1559 | | | | | 1560 | omr-s-bw | Not Impacted | M | NORMAL | 1561 | | | | | 1562 | omr-s-bw | Not Impacted | M | NORMAL | 1563 | | | | | 1564 | omr-m-att | Not Impacted | M | NORMAL | 1565 | | | | | 1566 | omr-codecs | Not Impacted | M | NORMAL | 1567 | | | | | 1568 +------------------+---------------------------+-------+------------+ 1570 3GPP TS 24.229 Attribute Analysis 1572 5.43. ITU T.38 1574 ITU T.38[T.38] defines procedures for real-time Group 3 facsimile 1575 communications over IP networks. 1577 +------------------------+---------------+-------+----------+ 1578 | Name | Notes | Level | Category | 1579 +------------------------+---------------+-------+----------+ 1580 | T38FaxVersion | Not Impacted | S | NORMAL | 1581 | | | | | 1582 | T38MaxBitRate | Not Impacted | S | NORMAL | 1583 | | | | | 1584 | T38FaxFillBitRemoval | Not Impacted | S | NORMAL | 1585 | | | | | 1586 | T38FaxTranscodingMMR | Not Impacted | S | NORMAL | 1587 | | | | | 1588 | T38FaxTranscodingJBIG | Not Impacted | S | NORMAL | 1589 | | | | | 1590 | T38FaxRateManagement | Not Impacted | S | NORMAL | 1591 | | | | | 1592 | T38FaxMaxBuffer | Not Impacted | S | NORMAL | 1593 | | | | | 1594 | T38FaxMaxDatagram | Not Impacted | S | NORMAL | 1595 | | | | | 1596 | T38FaxUdpEC | Not Impacted | S | NORMAL | 1597 | | | | | 1598 +------------------------+---------------+-------+----------+ 1600 Historic Attribute Analysis 1602 The ITU T.38 attributes are clearly unaffected by multiplexing and 1603 are specific to the working of the fax protocol itself. 1605 5.44. ITU-T H.248.15 1607 ITU-T H.248.15 [H.248.15] defines Gateway Control Protocol SDP H.248 1608 package attribute 1609 +-----------+------------------------------------+-------+----------+ 1610 | Name | Notes | Level | Category | 1611 +-----------+------------------------------------+-------+----------+ 1612 | h248item | It is also only applicable for | B | SPECIAL | 1613 | | signaling the inclusion of H.248 | | | 1614 | | extension packages to a gateway | | | 1615 | | via the local and remote | | | 1616 | | descriptors. The attribute itself | | | 1617 | | is unaffected by multiplexing, but | | | 1618 | | the packaged referenced in a | | | 1619 | | specific use of the attribute may | | | 1620 | | be impacted. Further analysis of | | | 1621 | | each package is needed to | | | 1622 | | determine if there is an issue. | | | 1623 | | This is only a concern in | | | 1624 | | environments using a decomposed | | | 1625 | | server/gateway with H.248 signaled | | | 1626 | | between them. The ITU-T will need | | | 1627 | | to do further analysis of various | | | 1628 | | packages when they specify how to | | | 1629 | | signal the use of multiplexing to | | | 1630 | | a gateway. | | | 1631 | | | | | 1632 +-----------+------------------------------------+-------+----------+ 1634 Historic Attribute Analysis 1636 5.45. RFC4975 - The Message Session Relay Protocol 1638 RFC4975 [RFC4975] the Message Session Relay Protocol, a protocol for 1639 transmitting a series of related instant messages in the context of a 1640 session. Message sessions are treated like any other media stream 1641 when set up via a rendezvous or session creation protocol such as the 1642 Session Initiation Protocol. 1644 +-----------------------+---------------+-------+----------+ 1645 | Name | Notes | Level | Category | 1646 +-----------------------+---------------+-------+----------+ 1647 | accept-types | Not Impacted | M | NORMAL | 1648 | | | | | 1649 | accept-wrapped-types | Not Impacted | M | NORMAL | 1650 | | | | | 1651 | max-size | Not Impacted | M | NORMAL | 1652 | | | | | 1653 | path | Not Impacted | M | NORMAL | 1654 | | | | | 1655 +-----------------------+---------------+-------+----------+ 1656 RFC4975 Attribute Analysis 1658 5.46. Historical 1660 This section specifies analysis for the attributes that are included 1661 for historic usage alone by the [IANA]. 1663 +---------------------+--------------+---------------+--------------+ 1664 | Name | Notes | Level | Category | 1665 +---------------------+--------------+---------------+--------------+ 1666 | rtpred1 | Historic | Not-Applcable | NOT | 1667 | | attributes. | | RECOMMENDED | 1668 | | | | | 1669 | rtpred2 | Historic | Not-Applcable | NOT | 1670 | | attributes. | | RECOMMENDED | 1671 | | | | | 1672 | PSCid | Not | Not-Applcable | TBD | 1673 | | Applicable | | | 1674 | | | | | 1675 | bc_service | Not | Not-Applcable | TBD | 1676 | | Applicable | | | 1677 | | | | | 1678 | bc_program | Not | Not-Applcable | TBD | 1679 | | Applicable | | | 1680 | | | | | 1681 | bc_service_package | Not | Not-Applcable | TBD | 1682 | | Applicable | | | 1683 | | | | | 1684 +---------------------+--------------+---------------+--------------+ 1686 Unknowns Attribute Analysis 1688 6. bwtype Attribute Analysis 1690 This section specifies handling of specific bandwidth attributes when 1691 used in multiplexing scenarios. 1693 6.1. RFC4566 - SDP: Session Description Protocol 1695 +------------+-----------------------------------+-------+----------+ 1696 | Name | Notes | Level | Category | 1697 +------------+-----------------------------------+-------+----------+ 1698 | bwtype:CT | Aggregate bandwidth for the | S | NORMAL | 1699 | | conference | | | 1700 | | | | | 1701 | bwtype:AS | As a session attribute, it | B | NORMAL | 1702 | | specifies the session aggregate | | | 1703 | | unless media-level b=RR and/or | | | 1704 | | b=RS attributes are used. Under | | | 1705 | | this interpretation the | | | 1706 | | multiplexing scheme has no impact | | | 1707 | | and thus NORMAL category | | | 1708 | | applies. | | | 1709 | | | | | 1710 | bwtype:AS | For the media level usage,the | B | SUM | 1711 | | aggregate of individual bandwidth | | | 1712 | | values is considered. | | | 1713 | | | | | 1714 +------------+-----------------------------------+-------+----------+ 1716 RFC4566 bwtype Analysis 1718 6.2. RFC3556 - SDP Bandwidth Modifiers for RTCP Bandwidth 1720 RFC3556 [RFC3556] defines an extension to the Session Description 1721 Protocol (SDP) to specify two additional modifiers for the bandwidth 1722 attribute. These modifiers may be used to specify the bandwidth 1723 allowed for RTP Control Protocol (RTCP) packets in a Real-time 1724 Transport Protocol (RTP) session 1726 +------------+--------------------------------+-------+-------------+ 1727 | Name | Notes | Level | Category | 1728 +------------+--------------------------------+-------+-------------+ 1729 | bwtype:RS | Session level usage represents | B | NORMAL,SUM | 1730 | | session aggregate and media | | | 1731 | | level usage indicates SUM of | | | 1732 | | the individual values while | | | 1733 | | multiplexing | | | 1734 | | | | | 1735 | bwtype:RR | Session level usage represents | B | NORMAL,SUM | 1736 | | session aggregate and media | | | 1737 | | level usage indicates SUM of | | | 1738 | | the individual values while | | | 1739 | | multiplexing | | | 1740 | | | | | 1741 +------------+--------------------------------+-------+-------------+ 1743 RFC3556 bwtype Analysis 1745 6.3. RFC3890 - Bandwidth Modifier for SDP 1747 RFC3890 [RFC3890] defines a Session Description Protocol (SDP) 1748 Transport Independent Application Specific Maximum (TIAS) bandwidth 1749 modifier that does not include transport overhead; instead an 1750 additional packet rate attribute is defined. The transport 1751 independent bit-rate value together with the maximum packet rate can 1752 then be used to calculate the real bit-rate over the transport 1753 actually used. 1755 +--------------+---------------------------------+-------+----------+ 1756 | Name | Notes | Level | Category | 1757 +--------------+---------------------------------+-------+----------+ 1758 | bwtype:TIAS | The usage of TIAS is not | B | SPECIAL | 1759 | | clearly defined Offer/Answer | | | 1760 | | usage. | | | 1761 | | | | | 1762 | maxprate | The usage of TIAS and maxprate | B | SPECIAL | 1763 | | is not well defined under | | | 1764 | | multiplexing | | | 1765 | | | | | 1766 +--------------+---------------------------------+-------+----------+ 1768 RFC3890 bwtype Analysis 1770 The intention of TIAS is that the media level bit-rate is multiplied 1771 with the known per-packet overhead for the selected transport and the 1772 maxprate value to determine the worst case bit-rate from the 1773 transport to more accurately capture the required usage. Summing 1774 TIAS values independently across m=lines and multiplying the computed 1775 sum with maxprate and the per-packet overhead would inflate the value 1776 significantly. Instead performing multiplication and adding the 1777 individual values is a more appropriate usage. This still ignores 1778 the fact that this is a send side declaration, and not intended for 1779 receiver negotiation. 1781 7. rtcp-fb Attribute Analysis 1783 This section analyzes rtcp-fb SDP attributes [RTCP-FB]. 1785 7.1. RFC4585 - RTP/AVPF 1787 RFC4585 [RFC4585] defines an extension to the Audio-visual Profile 1788 (AVP) that enables receivers to provide, statistically, more 1789 immediate feedback to the senders and thus allows for short-term 1790 adaptation and efficient feedback-based repair mechanisms to be 1791 implemented. 1793 +----------+-----------------------------------+-------+------------+ 1794 | Attr | Notes | Level | Category | 1795 | Name | | | | 1796 +----------+-----------------------------------+-------+------------+ 1797 | ack | Not Impacted | M | NORMAL | 1798 | rpsi | | | | 1799 | | | | | 1800 | ack app | Feedback parameters MUST be | M | SPECIAL | 1801 | | handled in the app specific way | | | 1802 | | when multiplexed | | | 1803 | | | | | 1804 | nack | Not Impacted | M | NORMAL | 1805 | | | | | 1806 | nack | Not Impacted | M | NORMAL | 1807 | pli | | | | 1808 | | | | | 1809 | nack | Not Impacted | M | NORMAL | 1810 | sli | | | | 1811 | | | | | 1812 | nack | Not Impacted | M | NORMAL | 1813 | rpsi | | | | 1814 | | | | | 1815 | nack | Feedback parameters MUST be | M | SPECIAL | 1816 | app | handled in the app specific way | | | 1817 | | when multiplexed | | | 1818 | | | | | 1819 | trr-int | This attribute applies to RTP | M | IDENTICAL | 1820 | | Session as a whole | | | 1821 | | | | | 1822 +----------+-----------------------------------+-------+------------+ 1824 RFC4585 Attribute Analysis 1826 7.2. RFC5104 - Codec Control Messages in AVPF 1828 RFC5104 [RFC5104] specifies a few extensions to the messages defined 1829 in the Audio-Visual Profile with Feedback (AVPF). They are helpful 1830 primarily in conversational multimedia scenarios where centralized 1831 multipoint functionalities are in use. However, some are also usable 1832 in smaller multicast environments and point-to-point calls. 1834 +-----------+--------------+-------+----------+ 1835 | Attr Name | Notes | Level | Category | 1836 +-----------+--------------+-------+----------+ 1837 | ccm | Not Impacted | M | Normal | 1838 | | | | | 1839 +-----------+--------------+-------+----------+ 1841 RFC5104 Attribute Analysis 1843 7.3. RFC6285 - Unicast-Based RAMS 1845 +-----------+---------------+-------+----------+ 1846 | Name | Notes | Level | Category | 1847 +-----------+---------------+-------+----------+ 1848 | nack rai | Not Impacted | M | NORMAL | 1849 | | | | | 1850 +-----------+---------------+-------+----------+ 1852 RFC6285 Attribute Analysis 1854 7.4. RFC6679 - ECN for RTP over UDP/IP 1856 RFC6679 [RFC6679] specifies how Explicit Congestion Notification 1857 (ECN) can be used with the Real-time Transport Protocol (RTP) running 1858 over UDP, using the RTP Control Protocol (RTCP) as a feedback 1859 mechanism. It defines a new RTCP Extended Report (XR) block for 1860 periodic ECN feedback, a new RTCP transport feedback message for 1861 timely reporting of congestion events, and a Session Traversal 1862 Utilities for NAT (STUN) extension used in the optional 1863 initialization method using Interactive Connectivity Establishment 1864 (ICE) 1866 +------------------+---------------------------+-------+------------+ 1867 | Name | Notes | Level | Category | 1868 +------------------+---------------------------+-------+------------+ 1869 | ecn-capable-rtp | ECN markup are enabled at | M | IDENTICAL | 1870 | | the RTP Session level | | | 1871 | | | | | 1872 | nack ecn | This attribute enables | M | IDENTICAL | 1873 | | ECN at the RTP session | | | 1874 | | level | | | 1875 | | | | | 1876 +------------------+---------------------------+-------+------------+ 1878 RFC6679 Attribute Analysis 1880 7.5. RFC6642 - Third-Party Loss Report 1882 In a large RTP session using the RTP Control Protocol (RTCP) feedback 1883 mechanism defined in RFC 4585 [RFC4585], a feedback target may 1884 experience transient overload if some event causes a large number of 1885 receivers to send feedback at once. This overload is usually avoided 1886 by ensuring that feedback reports are forwarded to all receivers, 1887 allowing them to avoid sending duplicate feedback reports. However, 1888 there are cases where it is not recommended to forward feedback 1889 reports, and this may allow feedback implosion. RFC6642 [RFC6642] 1890 memo discusses these cases and defines a new RTCP Third-Party Loss 1891 Report that can be used to inform receivers that the feedback target 1892 is aware of some loss event, allowing them to suppress feedback. 1893 Associated Session Description Protocol (SDP) signaling is also 1894 defined. 1896 +-------------+---------------+-------+----------+ 1897 | Name | Notes | Level | Category | 1898 +-------------+---------------+-------+----------+ 1899 | nack tllei | Not Impacted | M | NORMAL | 1900 | | | | | 1901 | nack pslei | Not Impacted | M | NORMAL | 1902 | | | | | 1903 +-------------+---------------+-------+----------+ 1905 RFC6642 Attribute Analysis 1907 7.6. RFC5104 - Codec Control Messages in AVPF 1909 +------------+--------------+-------+----------+ 1910 | Attr Name | Notes | Level | Category | 1911 +------------+--------------+-------+----------+ 1912 | ccm fir | Not Impacted | M | NORMAL | 1913 | | | | | 1914 | ccm tmmbr | Not Impacted | M | NORMAL | 1915 | | | | | 1916 | ccm tstr | Not Impacted | M | NORMAL | 1917 | | | | | 1918 | ccm vbcm | Not Impacted | M | NORMAL | 1919 | | | | | 1920 +------------+--------------+-------+----------+ 1922 RFC5104 Attribute Analysis 1924 8. group Attribute Analysis 1926 This section analyzes SDP "group" semantics [GROUP-SEM]. 1928 8.1. RFC5888 - SDP Grouping Framework 1930 RFC5888 [RFC5888] defines a framework to group "m" lines in the 1931 Session Description Protocol (SDP) for different purposes. 1933 +------------+---------------+-------+----------+ 1934 | Name | Notes | Level | Category | 1935 +------------+---------------+-------+----------+ 1936 | group:LS | Not Impacted | S | NORMAL | 1937 | | | | | 1938 | group:FID | Not Impacted | S | NORMAL | 1939 | | | | | 1940 +------------+---------------+-------+----------+ 1942 RFC5888 Attribute Analysis 1944 8.2. RFC3524 - Mapping Media Streams to Resource Reservation Flows 1946 RFC3524 [RFC3524] defines an extension to the Session Description 1947 Protocol (SDP) grouping framework. It allows requesting a group of 1948 media streams to be mapped into a single resource reservation flow. 1949 The SDP syntax needed is defined, as well as a new "semantics" 1950 attribute called Single Reservation Flow (SRF). 1952 +------------+---------------+-------+----------+ 1953 | Name | Notes | Level | Category | 1954 +------------+---------------+-------+----------+ 1955 | group:SRF | Not Impacted | S | NORMAL | 1956 | | | | | 1957 +------------+---------------+-------+----------+ 1959 RFC3524 Attribute Analysis 1961 8.3. RFC4091 - ANAT Semantics 1963 RFC4091 [RFC4091] defines the Alternative Network Address Types 1964 (ANAT) semantics for the Session Description Protocol (SDP) grouping 1965 framework. The ANAT semantics allow alternative types of network 1966 addresses to establish a particular media stream. 1968 +-------------+---------------------------+-------+-----------------+ 1969 | Name | Notes | Level | Category | 1970 +-------------+---------------------------+-------+-----------------+ 1971 | group:ANAT | ANAT semantics is | S | NOT | 1972 | | obseleted | | RECOMMENDED | 1973 | | | | | 1974 +-------------+---------------------------+-------+-----------------+ 1976 RFC4091 Attribute Analysis 1978 8.4. RFC5956 - FEC Grouping Semantics in SDP 1980 RFC5956 [RFC5956] defines the semantics for grouping the associated 1981 source and FEC-based (Forward Error Correction) repair flows in the 1982 Session Description Protocol (SDP). The semantics defined in the 1983 document are to be used with the SDP Grouping Framework (RFC 5888). 1984 These semantics allow the description of grouping relationships 1985 between the source and repair flows when one or more source and/or 1986 repair flows are associated in the same group, and they provide 1987 support for additive repair flows. SSRC-level (Synchronization 1988 Source) grouping semantics are also defined in this document for 1989 Real-time Transport Protocol (RTP) streams using SSRC multiplexing. 1991 +---------------+---------------+-------+----------+ 1992 | Name | Notes | Level | Category | 1993 +---------------+---------------+-------+----------+ 1994 | group:FEC-FR | Not Impacted | S | NORMAL | 1995 | | | | | 1996 +---------------+---------------+-------+----------+ 1998 RFC5956 Attribute Analysis 2000 8.5. RFC5583 - Signaling Media Decoding Dependency in SDP 2002 RFC5583 [RFC5583] defines semantics that allow for signaling the 2003 decoding dependency of different media descriptions with the same 2004 media type in the Session Description Protocol (SDP). This is 2005 required, for example, if media data is separated and transported in 2006 different network streams as a result of the use of a layered or 2007 multiple descriptive media coding process. 2009 +-------------+----------------+-------+----------+ 2010 | Name | Notes | Level | Category | 2011 +-------------+----------------+-------+----------+ 2012 | depend lay | Not Impacted | M | NORMAL | 2013 | | | | | 2014 | depend mdc | Not Impacted | M | NORMAL | 2015 | | | | | 2016 +-------------+----------------+-------+----------+ 2018 RFC5583 Attribute Analysis 2020 The usage of identical Payload Type values across multiplexed m=lines 2021 is described in [I-D.ietf-mmusic-sdp-bundle-negotiation]. 2023 9. ssrc-group Attribute Analysis 2025 This section analyzes "ssrc-group" semantics [SSRC-GROUP]. 2027 9.1. RFC5576 - Source-Specific SDP Attributes 2029 +---------+---------------+-------+----------+ 2030 | Name | Notes | Level | Category | 2031 +---------+---------------+-------+----------+ 2032 | FID | Not Impacted | M | NORMAL | 2033 | | | | | 2034 | FEC | Not Impacted | M | NORMAL | 2035 | | | | | 2036 | FEC-FR | Not Impacted | M | NORMAL | 2037 | | | | | 2038 +---------+---------------+-------+----------+ 2040 RFC5576 Attribute Analysis 2042 10. QoS Mechanism Token Analysis 2044 This section analyzes QoS tokes specified with SDP[QOS]. 2046 10.1. RFC5432 - QoS Mechanism Selection in SDP 2048 +-------+----------------------------------------+-------+----------+ 2049 | Name | Notes | Level | Category | 2050 +-------+----------------------------------------+-------+----------+ 2051 | rsvp | Not Impacted, since QOS mechanisms are | B | NORMAL | 2052 | | applied per flow. | | | 2053 | | | | | 2054 | nsis | Not Impacted, since QOS mechanisms are | B | NORMAL | 2055 | | applied per flow. | | | 2056 | | | | | 2057 +-------+----------------------------------------+-------+----------+ 2059 RFC5432 Attribute Analysis 2061 11. k= Attribute Analysis 2063 11.1. RFC4566 SDP: Session Description Protocol 2065 +------+------------------------------------+-------+---------------+ 2066 | Name | Notes | Level | Category | 2067 +------+------------------------------------+-------+---------------+ 2068 | k= | It is NOT recommended to use this | S | NOT | 2069 | | attribute | | RECOMMENDED | 2070 | | | | | 2071 +------+------------------------------------+-------+---------------+ 2073 RFC4566 Attribute Analysis 2075 12. content Atribute Analysis 2077 12.1. RFC4796 2079 +------------------+---------------+-------+----------+ 2080 | Name | Notes | Level | Category | 2081 +------------------+---------------+-------+----------+ 2082 | content:slides | Not Impacted | M | NORMAL | 2083 | | | | | 2084 | content:speaker | Not Impacted | M | NORMAL | 2085 | | | | | 2086 | content:main | Not Impacted | M | NORMAL | 2087 | | | | | 2088 | content:sl | Not Impacted | M | NORMAL | 2089 | | | | | 2090 | content:alt | Not Impacted | M | NORMAL | 2091 | | | | | 2092 +------------------+---------------+-------+----------+ 2094 RFC4796 Attribute Analysis 2096 13. Payload Formats 2098 13.1. RFC5109 - RTP Payload Format for Generic FEC 2100 RFC5109 [RFC5109] describes a payload format for generic Forward 2101 Error Correction (FEC) for media data encapsulated in RTP. It is 2102 based on the exclusive-or (parity) operation. The payload format 2103 allows end systems to apply protection using various protection 2104 lengths and levels, in addition to using various protection group 2105 sizes to adapt to different media and channel characteristics. It 2106 enables complete recovery of the protected packets or partial 2107 recovery of the critical parts of the payload depending on the packet 2108 loss situation. 2110 +---------------------+----------------------+-------+--------------+ 2111 | Name | Notes | Level | Category | 2112 +---------------------+----------------------+-------+--------------+ 2113 | audio/ulpfec | Not recommended for | M | NOT | 2114 | | multiplexing due to | | RECOMMENDED | 2115 | | reuse of SSRCs | | | 2116 | | | | | 2117 | video/ulpfec | Not recommended for | M | NOT | 2118 | | multiplexing due to | | RECOMMENDED | 2119 | | reuse of SSRCs | | | 2120 | | | | | 2121 | text/ulpfec | Not recommended for | M | NOT | 2122 | | multiplexing due to | | RECOMMENDED | 2123 | | reuse of SSRCs | | | 2124 | | | | | 2125 | application/ulpfec | Not recommended for | M | NOT | 2126 | | multiplexing due to | | RECOMMENDED | 2127 | | reuse of SSRCs | | | 2128 | | | | | 2129 +---------------------+----------------------+-------+--------------+ 2131 RFC5109 Payload Format Analysis 2133 Draft draft-lennox-payload-ulp-ssrc-mux proposes a simple fix to make 2134 it possible to use ULP with multiplexing and ULP is allowed when used 2135 with that. 2137 14. Multiplexing Media Streams and DSCP Markings 2139 Note: This section does not yet have WG consensus but is included as 2140 a proposal to the WG. There are two options being proposed, A and B. 2141 The authors suggest A. 2143 14.1. Option A 2145 This section provides two rules for multiplexing multiple media 2146 streams with DSCP markings over a single 5-tuple. 2147 Rule 1: Media Streams with markings from different service classes 2148 MUST NOT be multiplexed. For example, a media stream with DSCP 2149 Marking EF MUST NOT be multiplexed with a media stream marked with 2150 AF class. Likewise, a media stream with DSCP marking AF3x MUST 2151 NOT be multiplexed with a media stream marked with AF4x. 2153 Rule 2: Media Streams that belong to the same service class, even 2154 with different drop precedence, MAY be multiplexed. Thus media 2155 streams that all belong to the EF group or all that belong to the 2156 AF4X class can be multiplexed. 2158 For WebRTC applications following the advice in 2159 [I-D.dhesikan-tsvwg-rtcweb-qos], the above rules end up allowing the 2160 audio and video to be multiplexed in many, but not all, cases. 2162 14.2. Option B 2164 Media Streams MAY be multiplexed regardless of what the setting of 2165 the DSCP Per Hop Behavior group (PHB). 2167 15. Multiplexing Considerations for Encapsulating Attributes 2169 NOTE: The analysis given below is still Work-In-Progress and will be 2170 updated soon. 2172 This sections deals with recommendations for defining the 2173 multiplexing charactersitics of the SDP attributes that encaspsulate 2174 other SDP attributes. Such attributes as of today, for example, are 2175 defined in [RFC3407], [RFC5939] and [RFC6781] as part of a generic 2176 framework for indicating and negotiating transport, media and media 2177 format related capabilities in the SDP. 2179 The behavior of such attributes under multiplexing is in turn defined 2180 by the multiplexing behavior of the attributes they encapsulate which 2181 are made known once the negotiation process is completed. 2183 Example 1: Below SDP example captures the following aspects. 2184 1. The Offerer offers audio and video streams with several different 2185 RTP profiles (AVP, SAVP, SAVPF) as potential configurations. 2186 2. ANSWER - 1 corresponds to the SDP answer where the Answerer 2187 accepts RTP/SAVPF as the default profile for both the media 2188 streams. In this scenario both the media streams can be 2189 successfully multiplexed. 2190 3. In ANSWER - 2 SDP, the Answerer accepts the profile RTP/SAVPF for 2191 the audio stream and RTP/AVPF for the video stream. This 2192 scenario results in the failure of the multiplexing as defined in 2193 the section 7.2 of the BUNDLE specifcation 2194 [I-D.ietf-mmusic-sdp-bundle-negotiation]. 2196 v=0 2197 o=- 25678 753849 IN IP4 192.0.2.1 2198 s= 2199 t=0 0 2200 c=IN IP4 192.0.2.1 2201 m=audio 3456 RTP/AVP 98 2202 a=tcap:1 RTP/SAVPF 2203 a=rtpmap:98 OPUS/48000/2 2204 a=pcfg:1 t=1 2206 m=video 51372 RTP/AVP 101 2207 a=rtpmap:101 H264/90000 2208 a=tcap:2 RTP/SAVPF RTP/AVPF 2209 a=pcfg:2 t=2|3 2211 ANSWER - 1 2212 ----------- 2213 v=0 2214 o=- 24351 621814 IN IP4 192.0.2.2 2215 s= 2216 m=audio 3456 RTP/SAVPF 98 2217 a=rtpmap:98 OPUS/48000/2 2218 a=acfg:1 t=1 2220 m=video 51372 RTP/SAVPF 101 2221 a=rtpmap:101 H264/90000 2222 a=acfg:2 t=2 2224 ANSWER - 2 2225 ----------- 2226 v=0 2227 o=- 24351 621814 IN IP4 192.0.2.2 2228 s= 2229 m=audio 3456 RTP/SAVPF 98 2230 a=rtpmap:98 OPUS/48000/2 2231 a=acfg:1 t=1 2233 m=video 51372 RTP/AVPF 101 2234 a=rtpmap:101 H264/90000 2235 a=acfg:2 t=3 2237 Example 2: Below SDP example captures the following aspects. 2238 1. Offerer offers use of plain RTP and Secure RTP as alternatives. 2239 For the Secure RTP stream, it can be established using either 2240 DTLS-SRTP or SDP security descriptions 2242 2. ANSWER - 1 corresponds to the SDP answer where the Answerer 2243 accepts DTLS based encryption for both the audio and video 2244 streams. This scenario can lead to successfull multiplexing of 2245 the audio and the video streams. 2246 3. In ANSWER - 2 SDP, the Answerer accepts plain RTP for the audio 2247 stream and DTLS based encryption for the video stream. This 2248 scenario results in unsuccesfull multiplexing of the media 2249 streams since the encryption scheme applies to the entire RTP 2250 Session and cannot be applied to video media stream alone when 2251 multiplexed. 2253 OFFER 2254 ----- 2255 v=0 2256 o=- 25678 753849 IN IP4 192.0.2.1 2257 s= 2258 t=0 0 2259 c=IN IP4 192.0.2.1 2260 a=acap:1 setup:actpass 2261 a=acap:2 fingerprint: SHA-1 \ 2262 4A:AD:B9:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB 2263 a=tcap:1 UDP/TLS/RTP/SAVP RTP/SAVP 2264 m=audio 59000 RTP/AVP 98 2265 a=rtpmap:98 AMR/8000 2266 a=acap:3 crypto:1 AES_CM_128_HMAC_SHA1_32 2267 inline:NzB4d1BINUAvLEw6UzF3WSJ+PSdFcGdUJShpX1Zj|2^20|1:32 2268 a=pcfg:1 t=1 a=1,2 2269 a=pcfg:2 t=2 a=3 2271 m=video 59123 RTP/AVP 100 2272 a=rtpmap:100 VP8/90000 2273 a=pcfg:3 t=1 a=1,2 2275 ANSWER - 1 2276 ----------- 2277 v=0 2278 o=- 24351 621814 IN IP4 192.0.2.2 2279 s= 2280 t=0 0 2281 c=IN IP4 192.0.2.2 2283 m=audio 54568 UDP/TLS/RTP/SAVP 98 2284 a=rtpmap:98 AMR/8000 2285 a=acfg:1 t=1 a=1,2 2287 m=video 54968 UDP/TLS/RTP/SAVP 100 2288 a=rtpmap:100 VP8/90000 2289 a=acfg:3 t=1 a=1,2 2291 ANSWER - 2 2292 ----------- 2293 v=0 2294 o=- 24351 621814 IN IP4 192.0.2.2 2295 s= 2296 t=0 0 2297 c=IN IP4 192.0.2.2 2298 m=audio 54568 RTP/AVP 98 2299 a=rtpmap:98 AMR/8000 2301 m=video 54968 UDP/TLS/RTP/SAVP 100 2302 a=rtpmap:100 VP8/90000 2303 a=setup:active 2304 a=fingerprint: SHA-1 \ 2305 FF:FF:FF:B1:3F:82:18:3B:54:02:12:DF:3E:5D:49:6B:19:E5:7C:AB 2306 a=acfg:3 t=1 a=1,2 2308 In conclusion, the mutliplexing behavior of the encapsulating 2309 attributes are defined based on the multiplexing behavior of the 2310 attributes they encapsulate. Thus care should be taken in 2311 determining if certain combinations of these attributes can be used 2312 in the context of transport multplexing. 2314 16. IANA Considerations 2316 IANA shall register categories from this specification by expanding 2317 the Session Description Protocol (SDP) Parameters table with a column 2318 listing categories against each SDP parameter. 2320 +---------------------+ 2321 | Category | 2322 +---------------------+ 2323 | NORMAL | 2324 +---------------------+ 2325 | NOT RECOMMENDED | 2326 +---------------------+ 2327 | IDENTICAL | 2328 +---------------------+ 2329 | TRANSPORT | 2330 +---------------------+ 2331 | SPECIAL | 2332 ---------------------- 2334 17. Security Considerations 2336 All the attributes which involve security key needs a careful review 2337 to ensure two-time pad vulnerability is not created. 2339 18. Acknowledgments 2341 I would like to thank Cullen Jennings for suggesting the categories, 2342 contributing text and reviewing the draft. I would also link to 2343 thank Magnus, Christer and Dan on suggesting structural changes 2344 helping improve the document readability. 2346 I would like also to thank following experts on their inputs and 2347 reviews as listed - Flemming Andreasen(5.20,5.28,5.29,15), Rohan 2348 Mahy(5.45), Eric Burger(5.22),Christian Huitema(5.13), Christer 2349 Holmberg(5.17,5.22,5.40,5.41), Richard Ejzak (5.36,5.42,5.43,5.44), 2350 Colin Perkins(5.7,5.8), Magnus westerlund(5.2,5.3,5.9,5.26, 2351 5.27,6.1,6.2,6.3,8.3,7), Roni Evens(5.12,5.27,8.4), Subha 2352 Dhesikan(5.5,12.1,14), Dan Wing(5.6,5.11,5.30,5.34,5.37), Ali C 2353 Begen(5.1,5.16,5.18,5.21,5.33,8.2,8.4,13.1), Bo Burman (7.2,7.6), 2354 Charles Eckel(5.14,5.23,5.24,9.1,8.5), Paul Kyzivat(5.24), Ian 2355 Johansson(5.15), Saravanan Shanmugham(5.10), Paul E Jones(5.25), 2356 Rajesh Kumar(5.39), Jonathan Lennox(5.31,5,14,11.1), Mo 2357 Zanaty(5.4,5.19,8.1,8.3,8.5,12.1), Christian Huitema (5.13), Qin Wu 2358 (5.38 PM-Dir review). 2360 19. Change Log 2362 [RFC EDITOR NOTE: Please remove this section when publishing] 2364 Changes from draft-ietf-mmusic-sdp-mux-attributes-00 2365 o Added Section 15 to provide recommendations on multiplexing SDP 2366 encapsulating attributes. Also updated sections 5.20, 5.28, 5.29 2367 to refer to Section 15. 2368 o Updated Section 5.38 to incorporate PM-dir review inputs from Qin 2369 Wu 2370 o Updated Sections 5.2,5.14,8.5 to refer to BUNDLE draft for more 2371 clarity. 2372 o Fixed few nits regarding sentence clarity and fill-in the NOTES 2373 section where information was lacking. 2375 Changes from draft-nandakumar-mmusic-mux-attributes-05 2376 o Renamed the document to be a WG document. 2377 o Added Section 14. 2379 o Updated Open Issues based on IETF88 discussions. 2381 Changes from draft-nandakumar-mmusic-mux-attributes-04 2382 o Added few OPEN ISSUES that needs to be discussed. 2383 o Updated sections 5.10,5.23,5,24,5,25,7.2,9.1,5.12,5.27,8.4, 2384 5.44,5.11,5.4,5.19,10.1,10.5,5.21,10.4,15.1 2385 o Updated Table Column name Current to Level and improved TRANSPORT 2386 category explanation on suggestions form Dan Wing. 2387 o Grouped all the rtcp-fb attribute analysis under a single section 2388 as suggested by Magnus/ 2390 Changes from draft-nandakumar-mmusic-mux-attributes-03 2391 o Maintenance change to clean up grammatical nits and wordings. 2393 Changes from draft-nandakumar-mmusic-mux-attributes-02 2394 o Updated Sections 5.3,5.5,5.6,5.7,5.9,5.8,5.11,5.13,5.22,5.34, 2395 5.37,5.40,5.41,5.42,5.43,5.44,5.45,6.1,6.2,6.3,8,3,12.1 based on 2396 the inputs from the respective RFC Authors. 2398 Changes from draft-nandakumar-mmusic-mux-attributes-01 2399 o Replaced Category BAD with NOT RECOMMENDED. 2400 o Added Category TBD. 2401 o Updated IANA Consideration Section. 2403 Changes from draft-nandakumar-mmusic-mux-attributes-00 2404 o Added new section for dealing with FEC payload types. 2406 20. References 2408 20.1. Normative References 2410 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 2411 Requirement Levels", BCP 14, RFC 2119, March 1997. 2413 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 2414 Description Protocol", RFC 4566, July 2006. 2416 20.2. Informative References 2418 [ACK-NACK] 2419 "S Description Protocol (SDP) RTCP ACK/NACK Feedback 2420 attributes", . 2423 [CCM] "S Description Protocol (SDP) RTCP-FB Codec Control 2424 Messages", . 2427 [GROUP-SEM] 2428 "S Description Protocol (SDP) "group" semantics", . 2432 [H.248.15] 2433 "Gateway control protocol: SDP H.248 package attribute", 2434 . 2436 [I-D.dhesikan-tsvwg-rtcweb-qos] 2437 Dhesikan, S., Druta, D., Jones, P., and J. Polk, "DSCP and 2438 other packet markings for RTCWeb QoS", 2439 draft-dhesikan-tsvwg-rtcweb-qos-02 (work in progress), 2440 July 2013. 2442 [I-D.ietf-avt-multiplexing-rtp] 2443 El-Khatib, K., Luo, G., Bochmann, G., and Pinjiang. Feng, 2444 "Multiplexing Scheme for RTP Flows between Access 2445 Routers", Internet-Draft http://tools.ietf.org/html/ 2446 draft-ietf-avt-multiplexing-rtp-01, October 1999. 2448 [I-D.ietf-mmusic-sdp-bundle-negotiation] 2449 Holmberg, C., Alvestrand, H., and C. Jennings, 2450 "Multiplexing Negotiation Using Session Description 2451 Protocol (SDP) Port Numbers", 2452 draft-ietf-mmusic-sdp-bundle-negotiation-03 (work in 2453 progress), February 2013. 2455 [IANA] "S Description Protocol (SDP) Parameters", . 2459 [MEDIA_LOOPBACK] 2460 Kaplan, H., Hedayat, K., Venna, N., Jones, P., and N. 2461 Stratton, "An Extension to the Session Description 2462 Protocol (SDP) and Real-time Transport Protocol (RTP) for 2463 Media Loopback", Internet-Draft 6489, January 2013. 2465 [QOS] "S Description Protocol (SDP) QoS Mechanism Tokens", . 2469 [R3GPPTS24.182] 2470 "IP Multimedia Subsystem (IMS) Customized Alerting Tones 2471 (CAT); Protocol specification", 2472 . 2474 [R3GPPTS24.183] 2475 "IP Multimedia Subsystem (IMS) Customized Ringing Signal 2476 (CRS); Protocol specification", 2477 . 2479 [R3GPPTS24.229] 2480 "IP multimedia call control protocol based on Session 2481 Initiation Protocol (SIP) and Session Description Protocol 2482 (SDP);", 2483 . 2485 [RFC3108] Kumar, R. and M. Mostafa, "Conventions for the use of the 2486 Session Description Protocol (SDP) for ATM Bearer 2487 Connections", RFC 3108, May 2001. 2489 [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model 2490 with Session Description Protocol (SDP)", RFC 3264, 2491 June 2002. 2493 [RFC3407] Andreasen, F., "S Description Protocol (SDP) Simple 2494 Capability Declaration", RFC 3407, October 2002. 2496 [RFC3524] Camarillo, G. and A. Monrad, "Mapping of Media Streams to 2497 Resource Reservation Flows", RFC 3524, April 2003. 2499 [RFC3556] Casner, S., "S Description Protocol (SDP) Bandwidth 2500 Modifiers for RTP Control Protocol (RTCP) Bandwidth", 2501 RFC 3556, July 2003. 2503 [RFC3605] Huitema, C., "Real Time Control Protocol (RTCP) attribute 2504 in Session Description Protocol (SDP)", RFC 3605, 2505 October 2003. 2507 [RFC3611] Friedman, T., Caceres, R., and A. Clark, "RTP Control 2508 Protocol Extended Reports (RTCP XR)", RFC 3611, 2509 November 2003. 2511 [RFC3890] Westerlund, M., "A Transport Independent Bandwidth 2512 Modifier for the Session Description Protocol (SDP)", 2513 RFC 3890, September 2004. 2515 [RFC4091] Camarillo, G. and J. Rosenberg, "The Alternative Network 2516 Address Types (ANAT) Semantics for the Session Description 2517 Protocol (SDP) Grouping Framework", RFC 4091, June 2005. 2519 [RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in 2520 the Session Description Protocol (SDP)", RFC 4145, 2521 September 2005. 2523 [RFC4567] Arkko, J., Lindholm, F., Naslund, M., Norrman, K., and E. 2524 Carrara, "Key Management Extensions for Session 2525 Description Protocol (SDP) and Real Time Streaming 2526 Protocol (RTSP)", RFC 4567, July 2006. 2528 [RFC4568] Andreasen, F., Baugher, M., and D. Wing, "S Description 2529 Protocol (SDP) Security Descriptions for Media Streams", 2530 RFC 4568, July 2006. 2532 [RFC4570] Quinn, B. and R. Finlayson, "S Description Protocol (SDP) 2533 Source Filters", RFC 4570, July 2006. 2535 [RFC4572] Lennox, J., "Connection-Oriented Media Transport over the 2536 Transport Layer Security (TLS) Protocol in the Session 2537 Description Protocol (SDP)", RFC 4572, July 2006. 2539 [RFC4574] Levin, O. and G. Camarillo, "The Session Description 2540 Protocol (SDP) Label Attribute", RFC 4574, August 2006. 2542 [RFC4583] Camarillo, G., "S Description Protocol (SDP) Format for 2543 Binary Floor Control Protocol (BFCP) Streams", RFC 4583, 2544 November 2006. 2546 [RFC4585] Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey, 2547 "Extended RTP Profile for Real-time Transport Control 2548 Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585, 2549 July 2006. 2551 [RFC4796] Hautakorpi, J. and G. Camarillo, "The Session Description 2552 Protocol (SDP) Content Attribute", RFC 4796, 2553 February 2007. 2555 [RFC4975] Campbell, B., Mahy, R., and C. Jennings, "The Message 2556 Session Relay Protocol (MSRP)", RFC 4975, September 2007. 2558 [RFC5104] Wenger, S., Chandra, U., Westerlund, M., and B. Burman, 2559 "Codec Control Messages in the RTP Audio-Visual Profile 2560 with Feedback (AVPF)", RFC 5104, February 2008. 2562 [RFC5109] Li, A., "RTP Payload Format for Generic Forward Error 2563 Correction", RFC 5109, December 2007. 2565 [RFC5159] Dondeti, L. and A. Jerichow, "S Description Protocol (SDP) 2566 Attributes for Open Mobile Alliance (OMA) Broadcast 2567 (BCAST) Service and Content Protection", RFC 5159, 2568 March 2008. 2570 [RFC5245] Rosenberg, J., "Interactive Connectivity Establishment 2571 (ICE): A Protocol for Network Address Translator (NAT) 2572 Traversal for Offer/Answer Protocols", RFC 5245, 2573 July 2006. 2575 [RFC5285] Singer, D. and H. Desineni, "A General Mechanism for RTP 2576 Header Extensions", RFC 5285, July 2008. 2578 [RFC5432] Polk, J., Dhesikan, S., and G. Camarillo, "Quality of 2579 Service (QoS) Mechanism Selection in the Session 2580 Description Protocol (SDP)", RFC 5432, March 2009. 2582 [RFC5506] Johansson, I., "Support for Reduced-Size Real-Time 2583 Transport Control Protocol (RTCP): Opportunities and 2584 Consequences", RFC 5506, April 2009. 2586 [RFC5547] Garcia-Martin, M., Isomaki, M., Camarillo, G., Loreto, S., 2587 and P. Kyzivat, "A Session Description Protocol (SDP) 2588 Offer/Answer Mechanism to Enable File Transfer", RFC 5547, 2589 May 2009. 2591 [RFC5576] Lennox, J., Ott, J., and T. Schierl, "Source-Specific 2592 Media Attributes in the Session Description Protocol 2593 (SDP)", RFC 5576, June 2009. 2595 [RFC5583] Schierl, T. and S. Wenger, "Signaling Media Decoding 2596 Dependency in the Session Description Protocol (SDP)", 2597 RFC 5583, July 2009. 2599 [RFC5760] Ott, J., Chesterfield, J., and E. Schooler, "RTP Control 2600 Protocol (RTCP) Extensions for Single-Source Multicast 2601 Sessions with Unicast Feedback", RFC 5760, February 2010. 2603 [RFC5761] Perkins, C. and M. Westerlund, "Multiplexing RTP Data and 2604 Control Packets on a Single Port", RFC 5761, April 2010. 2606 [RFC5762] Perkins, C., "RTP and the Datagram Congestion Control 2607 Protocol (DCCP)", RFC 5762, April 2010. 2609 [RFC5763] Fischl, J., Tschofenig, H., and E. Rescorla, "Framework 2610 for Establishing a Secure Real-time Transport Protocol 2611 (SRTP) Security Context Using Datagram Transport Layer 2612 Security (DTLS)", RFC 5763, May 2010. 2614 [RFC5888] Camarillo, G. and H. Schulzrinne, "The Session Description 2615 Protocol (SDP) Grouping Framework", RFC 5888, June 2010. 2617 [RFC5939] Andreasen, F., "S Description Protocol (SDP) Capability 2618 Negotiation", RFC 5939, September 2010. 2620 [RFC5956] Begen, A., "Forward Error Correction Grouping Semantics in 2621 the Session Description Protocol", RFC 5956, 2622 September 2010. 2624 [RFC6064] Westerlund, M. and P. Frojdh, "SDP and RTSP Extensions 2625 Defined for 3GPP Packet-Switched Streaming Service and 2626 Multimedia Broadcast/Multicast Service", RFC 6064, 2627 January 2011. 2629 [RFC6128] Begen, A., "RTP Control Protocol (RTCP) Port for Source- 2630 Specific Multicast (SSM) Sessions", RFC 6128, 2631 February 2011. 2633 [RFC6189] Zimmermann, P., Johnston, A., and J. Callas, "ZRTP: Media 2634 Path Key Agreement for Unicast Secure RTP", RFC 6189, 2635 April 2011. 2637 [RFC6193] Saito, M., Wing, D., and M. Toyama, "Media Description for 2638 the Internet Key Exchange Protocol (IKE) in the Session 2639 Description Protocol (SDP)", RFC 6193, April 2011. 2641 [RFC6230] Boulton, C., Melanchuk, T., and S. McGlashan, "Media 2642 Control Channel Framework", RFC 6230, May 2011. 2644 [RFC6236] Johansson, I. and K. Jung, "Negotiation of Generic Image 2645 Attributes in the Session Description Protocol (SDP)", 2646 RFC 6236, May 2011. 2648 [RFC6284] Begen, A., Wing, D., and T. Van Caenegem, "Port Mapping 2649 between Unicast and Multicast RTP Sessions", RFC 6284, 2650 June 2011. 2652 [RFC6285] Ver Steeg, B., Begen, A., Van Caenegem, T., and Z. Vax, 2653 "Unicast-Based Rapid Acquisition of Multicast RTP 2654 Sessions", RFC 6285, June 2011. 2656 [RFC6364] Begen, A., "S Description Protocol Elements for the 2657 Forward Error Correction (FEC) Framework", RFC 6364, 2658 October 2011. 2660 [RFC6642] Wu, Q., Xia, F., and R. Even, "RTP Control Protocol (RTCP) 2661 Extension for a Third-Party Loss Report", RFC 6642, 2662 June 2012. 2664 [RFC6679] Westerlund, M., Johansson, I., Perkins, C., O'Hanlon, P., 2665 and K. Carlberg, "Explicit Congestion Notification (ECN) 2666 for RTP over UDP", RFC 6679, August 2012. 2668 [RFC6714] Holmberg, C., Blau, S., and E. Burger, "Connection 2669 Establishment for Media Anchoring (CEMA) for the Message 2670 Session Relay Protocol (MSRP)", RFC 6714, August 2012. 2672 [RFC6773] Phelan, T., Fairhurst, G., and C. Perkins, "DCCP-UDP: A 2673 Datagram Congestion Control Protocol UDP Encapsulation for 2674 NAT Traversal", RFC 6773, November 2012. 2676 [RFC6781] Gimlan, R., Evan, R., and F. Andreasen, "Session 2677 Description Protocol (SDP) Media Capabilities 2678 Negotiation", RFC 6781, Febrauary 2013. 2680 [RFC6787] Burnett, D. and S. Shanmugham, "Media Resource Control 2681 Protocol Version 2 (MRCPv2)", RFC 6787, November 2012. 2683 [RTCP-FB] "S Description Protocol (SDP) RTCP Feedback attributes", < 2684 http://www.iana.org/assignments/sdp-parameters/ 2685 sdp-parameters.xml#sdp-parameters-14>. 2687 [SSRC-GROUP] 2688 "S Description Protocol (SDP) "ssrc-group" semantics", . 2692 [T.38] "Procedures for real-time Group 3 facsimile communication 2693 over IP networks", . 2695 Author's Address 2697 Suhas Nandakumar 2698 Cisco 2699 170 West Tasman Drive 2700 San Jose, CA 95134 2701 USA 2703 Email: snandaku@cisco.com