--- 1/draft-ietf-mmusic-sdp-mux-attributes-08.txt 2015-07-05 15:15:05.053978768 -0700 +++ 2/draft-ietf-mmusic-sdp-mux-attributes-09.txt 2015-07-05 15:15:05.245983497 -0700 @@ -1,29 +1,29 @@ Network Working Group S. Nandakumar Internet-Draft Cisco -Intended status: Standards Track January 20, 2015 -Expires: July 24, 2015 +Intended status: Standards Track July 5, 2015 +Expires: January 6, 2016 A Framework for SDP Attributes when Multiplexing - draft-ietf-mmusic-sdp-mux-attributes-08 + draft-ietf-mmusic-sdp-mux-attributes-09 Abstract The Session Description Protocol (SDP) provides mechanisms to describe attributes of multimedia sessions and of individual media streams (e.g., Real-time Transport Protocol (RTP) sessions) within a multimedia session. Typically media associated with individual media - descriptions ("m=" lines) represent seperate RTP Sessions and are - thus carried over individual underlying transport layer flows. For - scenarios where SDP is used to negotiate the usage of single 5-tuple - for sending and receiving media associated with multiple media + descriptions ("m=" lines) represent RTP sessions and are thus carried + over individual underlying transport layer flows. For scenarios + where SDP is used to negotiate the usage of single 5-tuple for + sending and receiving media associated with multiple media descriptions, it is required to understand the semantic implications of the SDP attributes associated with the RTP Media Streams multiplexed over a single underlying transport layer flow. The purpose of this specification is to provide a framework for analyzing the multiplexing characteristics of SDP attributes. This specification also categorizes the existing SDP attributes based on the framework described herein. Status of This Memo @@ -34,21 +34,21 @@ Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." - This Internet-Draft will expire on July 24, 2015. + This Internet-Draft will expire on January 6, 2016. Copyright Notice Copyright (c) 2015 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents @@ -72,21 +72,21 @@ Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 6 4. SDP Attribute Analysis Framework . . . . . . . . . . . . . . 7 4.1. Category: NORMAL . . . . . . . . . . . . . . . . . . . . 7 4.2. Category: NOT RECOMMENDED . . . . . . . . . . . . . . . . 8 4.3. Category: IDENTICAL . . . . . . . . . . . . . . . . . . . 8 - 4.4. Category: SUM . . . . . . . . . . . . . . . . . . . . . . 8 + 4.4. Category: SUM . . . . . . . . . . . . . . . . . . . . . . 9 4.5. Category: TRANSPORT . . . . . . . . . . . . . . . . . . . 9 4.6. Category: INHERIT . . . . . . . . . . . . . . . . . . . . 10 4.7. Category: IDENTICAL-PER-PT . . . . . . . . . . . . . . . 11 4.8. Category: SPECIAL . . . . . . . . . . . . . . . . . . . . 12 4.9. Category: TBD . . . . . . . . . . . . . . . . . . . . . . 12 5. Analysis of Existing Attributes . . . . . . . . . . . . . . . 12 5.1. RFC4566 - SDP: Session Description Protocol . . . . . . . 13 5.2. RFC4585 - RTP/AVPF . . . . . . . . . . . . . . . . . . . 14 5.3. RFC5761 - Multiplexing RTP and RTCP . . . . . . . . . . . 15 5.4. RFC3312 - Integration of Resource Management and (SIP) . 15 @@ -95,215 +95,217 @@ 5.7. RFC4568 - SDP Security Descriptions . . . . . . . . . . . 17 5.8. RFC5762 - RTP over DCCP . . . . . . . . . . . . . . . . . 17 5.9. RFC6773 - DCCP-UDP Encapsulation . . . . . . . . . . . . 18 5.10. RFC5506 - Reduced-Size RTCP in RTP Profile . . . . . . . 19 5.11. RFC6787 - Media Resource Control Protocol Version 2 . . . 19 5.12. RFC5245 - Interactive Connectivity Establishment (ICE) . 20 5.13. RFC5285 - RTP Header Extensions . . . . . . . . . . . . . 21 5.14. RFC3605 - RTCP attribute in SDP . . . . . . . . . . . . . 22 5.15. RFC5576 - Source-Specific SDP Attributes . . . . . . . . 22 5.16. RFC7273 - RTP Clock Source Signalling . . . . . . . . . . 23 - 5.17. RFC6236 - Image Attributes in SDP . . . . . . . . . . . . 24 + 5.17. RFC6236 - Image Attributes in SDP . . . . . . . . . . . . 23 5.18. RFC7197 - Duplication Delay Attribute in SDP . . . . . . 24 5.19. RFC7266 - RTCP XR Blocks for MOS Metric Reporting . . . 24 5.20. RFC6285 - Rapid Acquisition of Multicast RTP Sessions . . 25 5.21. RFC6230 - Media Control Channel Framework . . . . . . . . 25 - 5.22. RFC6364 - SDP Elements for FEC Framework . . . . . . . . 26 + 5.22. RFC6364 - SDP Elements for FEC Framework . . . . . . . . 25 5.23. RFC4796 - Content Attribute . . . . . . . . . . . . . . . 26 - 5.24. RFC3407 - SDP Simple Capability Declaration . . . . . . . 27 + 5.24. RFC3407 - SDP Simple Capability Declaration . . . . . . . 26 5.25. RFC6284 - Port Mapping between Unicast and Multicast RTP Sessions . . . . . . . . . . . . . . . . . . . . . . . . 27 - 5.26. RFC6714 - MSRP-CEMA . . . . . . . . . . . . . . . . . . . 28 + 5.26. RFC6714 - MSRP-CEMA . . . . . . . . . . . . . . . . . . . 27 5.27. RFC4583 - SDP Format for BFCP Streams . . . . . . . . . . 28 5.28. RFC5547 - SDP Offer/Answer for File Transfer . . . . . . 29 5.29. RFC6849 - SDP and RTP Media Loopback Extension . . . . . 29 5.30. RFC5760 - RTCP with Unicast Feedback . . . . . . . . . . 30 - 5.31. RFC3611 - RTCP XR . . . . . . . . . . . . . . . . . . . . 30 - 5.32. RFC5939 - SDP Capability Negotiation . . . . . . . . . . 30 - 5.33. RFC6871- SDP Media Capabilities Negotiation . . . . . . . 31 + 5.31. RFC3611 - RTCP XR . . . . . . . . . . . . . . . . . . . . 31 + 5.32. RFC5939 - SDP Capability Negotiation . . . . . . . . . . 31 + 5.33. RFC6871- SDP Media Capabilities Negotiation . . . . . . . 32 5.34. RFC7006 - Miscellaneous Capabilities Negotiation SDP . . 32 5.35. RFC4567 - Key Management Extensions for SDP and RTSP . . 33 5.36. RFC4572 - Comedia over TLS in SDP . . . . . . . . . . . . 34 5.37. RFC4570 - SDP Source Filters . . . . . . . . . . . . . . 34 5.38. RFC6128 - RTCP Port for Multicast Sessions . . . . . . . 35 5.39. RFC6189 - ZRTP . . . . . . . . . . . . . . . . . . . . . 35 - 5.40. RFC4145 - Connection-Oriented Media . . . . . . . . . . . 35 + 5.40. RFC4145 - Connection-Oriented Media . . . . . . . . . . . 36 5.41. RFC6947 - The SDP ALTC Attribute . . . . . . . . . . . . 36 5.42. RFC7195 - SDP Extension for Circuit Switched Bearers - in PSTN . . . . . . . . . . . . . . . . . . . . . . . . . 36 + in PSTN . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.43. RFC7272 - IDMS Using the RTP Control Protocol (RTCP) . . 37 - 5.44. RFC5159 - OMA BCAST SDP Attributes . . . . . . . . . . . 37 + 5.44. RFC5159 - OMA BCAST SDP Attributes . . . . . . . . . . . 38 5.45. RFC6193 - Media Description for IKE in SDP . . . . . . . 38 5.46. RFC2326 - Real Time Streaming Protocol . . . . . . . . . 39 - 5.47. RFC6064 - SDP and RTSP Extensions for 3GPP . . . . . . . 39 - 5.48. RFC3108 - ATM SDP . . . . . . . . . . . . . . . . . . . . 42 + 5.47. RFC6064 - SDP and RTSP Extensions for 3GPP . . . . . . . 40 + 5.48. RFC3108 - ATM SDP . . . . . . . . . . . . . . . . . . . . 43 5.49. 3GPP TS 26.114 . . . . . . . . . . . . . . . . . . . . . 45 - 5.50. 3GPP TS 183.063 . . . . . . . . . . . . . . . . . . . . . 45 - 5.51. 3GPP TS 24.182 . . . . . . . . . . . . . . . . . . . . . 45 - 5.52. 3GPP TS 24.183 . . . . . . . . . . . . . . . . . . . . . 46 - 5.53. 3GPP TS 24.229 . . . . . . . . . . . . . . . . . . . . . 46 - 5.54. ITU T.38 . . . . . . . . . . . . . . . . . . . . . . . . 47 - 5.55. ITU-T Q.1970 . . . . . . . . . . . . . . . . . . . . . . 48 - 5.56. ITU-T H.248.15 . . . . . . . . . . . . . . . . . . . . . 49 - 5.57. RFC4975 - The Message Session Relay Protocol . . . . . . 50 - 5.58. Historical Attributes . . . . . . . . . . . . . . . . . . 50 - 6. bwtype Attribute Analysis . . . . . . . . . . . . . . . . . . 50 - 6.1. RFC4566 - SDP: Session Description Protocol . . . . . . . 51 - 6.2. RFC3556 - SDP Bandwidth Modifiers for RTCP Bandwidth . . 51 - 6.3. RFC3890 - Bandwidth Modifier for SDP . . . . . . . . . . 52 - 7. rtcp-fb Attribute Analysis . . . . . . . . . . . . . . . . . 52 - 7.1. RFC4585 - RTP/AVPF . . . . . . . . . . . . . . . . . . . 52 - 7.2. RFC5104 - Codec Control Messages in AVPF . . . . . . . . 53 - 7.3. RFC6285 - Unicast-Based RAMS . . . . . . . . . . . . . . 54 - 7.4. RFC6679 - ECN for RTP over UDP/IP . . . . . . . . . . . . 54 - 7.5. RFC6642 - Third-Party Loss Report . . . . . . . . . . . . 55 - 7.6. RFC5104 - Codec Control Messages in AVPF . . . . . . . . 56 - 8. group Attribute Analysis . . . . . . . . . . . . . . . . . . 56 - 8.1. RFC5888 - SDP Grouping Framework . . . . . . . . . . . . 56 + 5.50. 3GPP TS 183.063 . . . . . . . . . . . . . . . . . . . . . 46 + 5.51. 3GPP TS 24.182 . . . . . . . . . . . . . . . . . . . . . 46 + 5.52. 3GPP TS 24.183 . . . . . . . . . . . . . . . . . . . . . 47 + 5.53. 3GPP TS 24.229 . . . . . . . . . . . . . . . . . . . . . 47 + 5.54. ITU T.38 . . . . . . . . . . . . . . . . . . . . . . . . 48 + 5.55. ITU-T Q.1970 . . . . . . . . . . . . . . . . . . . . . . 50 + 5.56. ITU-T H.248.15 . . . . . . . . . . . . . . . . . . . . . 50 + 5.57. RFC4975 - The Message Session Relay Protocol . . . . . . 51 + 5.58. Historical Attributes . . . . . . . . . . . . . . . . . . 52 + 6. bwtype Attribute Analysis . . . . . . . . . . . . . . . . . . 52 + 6.1. RFC4566 - SDP: Session Description Protocol . . . . . . . 53 + 6.2. RFC3556 - SDP Bandwidth Modifiers for RTCP Bandwidth . . 53 + 6.3. RFC3890 - Bandwidth Modifier for SDP . . . . . . . . . . 54 + 7. rtcp-fb Attribute Analysis . . . . . . . . . . . . . . . . . 54 + 7.1. RFC4585 - RTP/AVPF . . . . . . . . . . . . . . . . . . . 54 + 7.2. RFC5104 - Codec Control Messages in AVPF . . . . . . . . 55 + 7.3. RFC6285 - Unicast-Based RAMS . . . . . . . . . . . . . . 56 + 7.4. RFC6679 - ECN for RTP over UDP/IP . . . . . . . . . . . . 56 + 7.5. RFC6642 - Third-Party Loss Report . . . . . . . . . . . . 57 + 7.6. RFC5104 - Codec Control Messages in AVPF . . . . . . . . 58 + 8. group Attribute Analysis . . . . . . . . . . . . . . . . . . 58 + 8.1. RFC5888 - SDP Grouping Framework . . . . . . . . . . . . 58 8.2. RFC3524 - Mapping Media Streams to Resource - Reservation Flows . . . . . . . . . . . . . . . . . . . . 57 - 8.3. RFC4091 - ANAT Semantics . . . . . . . . . . . . . . . . 57 - 8.4. RFC5956 - FEC Grouping Semantics in SDP . . . . . . . . . 58 - 8.5. RFC5583 - Signaling Media Decoding Dependency in SDP . . 58 - 8.6. RFC7104 - Duplication Grouping Semantics in the SDP . . 59 - 9. ssrc-group Attribute Analysis . . . . . . . . . . . . . . . . 59 - 9.1. RFC5576 - Source-Specific SDP Attributes . . . . . . . . 59 - 9.2. RFC7104 - Duplication Grouping Semantics in the SDP . . . 59 - 10. QoS Mechanism Token Analysis . . . . . . . . . . . . . . . . 60 - 10.1. RFC5432 - QoS Mechanism Selection in SDP . . . . . . . . 60 - 11. k= Attribute Analysis . . . . . . . . . . . . . . . . . . . . 60 - 11.1. RFC4566 SDP: Session Description Protocol . . . . . . . 60 - 12. content Attribute Analysis . . . . . . . . . . . . . . . . . 61 - 12.1. RFC4796 . . . . . . . . . . . . . . . . . . . . . . . . 61 - 13. Payload Formats . . . . . . . . . . . . . . . . . . . . . . . 61 - 13.1. RFC5109 - RTP Payload Format for Generic FEC . . . . . . 61 - 14. Multiplexing Considerations for Encapsulating Attributes . . 62 - 14.1. RFC3407 - cpar Attribute Analysis . . . . . . . . . . . 62 - 14.2. RFC5939 Analysis . . . . . . . . . . . . . . . . . . . . 63 + Reservation Flows . . . . . . . . . . . . . . . . . . . . 59 + 8.3. RFC4091 - ANAT Semantics . . . . . . . . . . . . . . . . 59 + 8.4. RFC5956 - FEC Grouping Semantics in SDP . . . . . . . . . 60 + 8.5. RFC5583 - Signaling Media Decoding Dependency in SDP . . 60 + 8.6. RFC7104 - Duplication Grouping Semantics in the SDP . . 61 + 9. ssrc-group Attribute Analysis . . . . . . . . . . . . . . . . 61 + 9.1. RFC5576 - Source-Specific SDP Attributes . . . . . . . . 61 + 9.2. RFC7104 - Duplication Grouping Semantics in the SDP . . . 61 + 10. QoS Mechanism Token Analysis . . . . . . . . . . . . . . . . 62 + 10.1. RFC5432 - QoS Mechanism Selection in SDP . . . . . . . . 62 + 11. k= Attribute Analysis . . . . . . . . . . . . . . . . . . . . 63 + 11.1. RFC4566 SDP: Session Description Protocol . . . . . . . 63 + 12. content Attribute Analysis . . . . . . . . . . . . . . . . . 63 + 12.1. RFC4796 . . . . . . . . . . . . . . . . . . . . . . . . 63 + 13. Payload Formats . . . . . . . . . . . . . . . . . . . . . . . 64 + 13.1. RFC5109 - RTP Payload Format for Generic FEC . . . . . . 64 + 14. Multiplexing Considerations for Encapsulating Attributes . . 64 + 14.1. RFC3407 - cpar Attribute Analysis . . . . . . . . . . . 65 + 14.2. RFC5939 Analysis . . . . . . . . . . . . . . . . . . . . 65 14.2.1. Recommendation - Procedures for Potential - Configuration Pairing . . . . . . . . . . . . . . . 64 - 14.2.1.1. Example: Transport Capability Multiplexing . . . 65 - 14.2.1.2. Example: Attribute Capability Multiplexing . . . 66 - 14.3. RFC6871 Analysis . . . . . . . . . . . . . . . . . . . . 66 - 14.3.1. Recommendation: Dealing with Payload Type Numbers . 66 + Configuration Pairing . . . . . . . . . . . . . . . 66 + 14.2.1.1. Example: Transport Capability Multiplexing . . . 67 + 14.2.1.2. Example: Attribute Capability Multiplexing . . . 68 + 14.3. RFC6871 Analysis . . . . . . . . . . . . . . . . . . . . 69 + 14.3.1. Recommendation: Dealing with Payload Type Numbers . 69 14.3.1.1. Example: Attribute Capability Under Shared - Payload Type . . . . . . . . . . . . . . . . . . 67 + Payload Type . . . . . . . . . . . . . . . . . . 69 - 14.3.2. Recommendation: Dealing with Latent Configurations . 68 - 15. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 68 - 15.1. New 'Multiplexing Categories' subregistry . . . . . . . 68 - 15.2. 'Mux Category' column for subregistries . . . . . . . . 69 - 15.2.1. Table: SDP bwtype . . . . . . . . . . . . . . . . . 69 - 15.2.2. Table: att-field (session level) . . . . . . . . . . 70 - 15.2.3. Table: att-field (both session and media level) . . 71 - 15.2.4. Table: att-field (media level only) . . . . . . . . 72 - 15.2.5. Table: att-field (source level) . . . . . . . . . . 75 - 15.2.6. Table: content SDP Parameters . . . . . . . . . . . 76 - 15.2.7. Table: Semantics for the 'group' SDP Attribute . . . 76 - 15.2.8. Table: 'rtcp-fb' Attribute Values . . . . . . . . . 77 - 15.2.9. Table: 'ack' and 'nack' Attribute Values . . . . . . 77 - 15.2.10. Table: 'depend' SDP Attribute Values . . . . . . . . 77 - 15.2.11. Table: 'cs-correlation' Attribute Values . . . . . . 78 - 15.2.12. Table: Semantics for the 'ssrc-group' SDP Attribute 78 - 15.2.13. Table: SDP/RTSP key management protocol identifiers 78 - 15.2.14. Table: Codec Control Messages . . . . . . . . . . . 79 - 15.2.15. Table: QoS Mechanism Tokens . . . . . . . . . . . . 79 - 15.2.16. Table: SDP Capability Negotiation Option Tags . . . 79 - 15.2.17. Table: Timestamp Reference Clock Source Parameters . 80 - 15.2.18. Table: Media Clock Source Parameters . . . . . . . . 80 - 16. Security Considerations . . . . . . . . . . . . . . . . . . . 81 - 17. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 81 - 18. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 81 - 19. References . . . . . . . . . . . . . . . . . . . . . . . . . 84 - 19.1. Normative References . . . . . . . . . . . . . . . . . . 84 - 19.2. Informative References . . . . . . . . . . . . . . . . . 84 - Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 90 + 14.3.2. Recommendation: Dealing with Latent Configurations . 70 + 15. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 71 + 15.1. New 'Multiplexing Categories' subregistry . . . . . . . 71 + 15.2. 'Mux Category' column for subregistries . . . . . . . . 72 + 15.2.1. Table: SDP bwtype . . . . . . . . . . . . . . . . . 72 + 15.2.2. Table: att-field (session level) . . . . . . . . . . 72 + 15.2.3. Table: att-field (both session and media level) . . 73 + 15.2.4. Table: att-field (media level only) . . . . . . . . 75 + 15.2.5. Table: att-field (source level) . . . . . . . . . . 78 + 15.2.6. Table: content SDP Parameters . . . . . . . . . . . 79 + 15.2.7. Table: Semantics for the 'group' SDP Attribute . . . 79 + 15.2.8. Table: 'rtcp-fb' Attribute Values . . . . . . . . . 79 + 15.2.9. Table: 'ack' and 'nack' Attribute Values . . . . . . 80 + 15.2.10. Table: 'depend' SDP Attribute Values . . . . . . . . 80 + 15.2.11. Table: 'cs-correlation' Attribute Values . . . . . . 81 + 15.2.12. Table: Semantics for the 'ssrc-group' SDP Attribute 81 + 15.2.13. Table: SDP/RTSP key management protocol identifiers 81 + 15.2.14. Table: Codec Control Messages . . . . . . . . . . . 82 + 15.2.15. Table: QoS Mechanism Tokens . . . . . . . . . . . . 82 + 15.2.16. Table: SDP Capability Negotiation Option Tags . . . 82 + 15.2.17. Table: Timestamp Reference Clock Source Parameters . 83 + 15.2.18. Table: Media Clock Source Parameters . . . . . . . . 83 + 16. Security Considerations . . . . . . . . . . . . . . . . . . . 83 + 17. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 84 + 18. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 84 + 19. References . . . . . . . . . . . . . . . . . . . . . . . . . 87 + 19.1. Normative References . . . . . . . . . . . . . . . . . . 87 + 19.2. Informative References . . . . . . . . . . . . . . . . . 87 + Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 93 1. Introduction SDP defines several attributes for capturing characteristics that apply to the individual media descriptions (described by "m=" lines") and the overall multimedia session. Typically different media types (audio, video, etc.) described using different media descriptions - represent separate RTP Sessions that are carried over individual + represent separate RTP sessions that are carried over individual transport layer flows. However [I-D.ietf-mmusic-sdp-bundle-negotiation] defines a way to use a single address:port combination (BUNDLE address) for receiving media associated with multiple SDP media descriptions. This would for e.g. allow the usage of a single set of ICE [RFC5245] candidates for multiple media descriptions. This in turn has made necessary to understand the interpretation and usage of the SDP attributes defined for the multiplexed media descriptions. Given the number of SDP attributes registered with the [IANA] and possibility of new attributes being defined in the future, there is need for generic future-proof framework to analyze these attributes for their applicability in the transport multiplexing use-cases. The document starts with providing the motivation for requiring such a framework. This is followed by introduction to the SDP attribute - analysis framework/procedures, following which several sections - applies the framework to the SDP attributes registered with the - [IANA]. + analysis framework/procedures, following which several sections apply + the framework to the SDP attributes registered with the [IANA]. 2. Terminology 5-tuple: A collection of the following values: source address, source port, destination address, destination port, and transport-layer protocol. The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 3. Motivation The time and complications of setting up ICE [RFC5245] and DTLS-SRTP - [RFC5763] transports for use by RTP, and conservation of ports, forms - an requirement to try and reduce the number of transport level flows - needed. This has resulted in the definition of ways, such as, + [RFC5763] transports for use by RTP, and conservation of ports (to + avoid maintaining large number of NAT bindings open, reduce time/ + ports needed for ICE to detect connectivity), forms a requirement to + try and reduce the number of transport level flows needed. This has + resulted in the definition of ways, such as, [I-D.ietf-mmusic-sdp-bundle-negotiation] to multiplex RTP over a single transport flow in order to preserve network resources such as port numbers. This imposes further restrictions on applicability of the SDP attributes as they are defined today. The specific problem is that there are attribute combinations which make sense when specified on independent "m= " lines -- as with classical SDP -- that do not make sense when those "m=" lines are then multiplexed over the same transport. To give an obvious example, ICE permits each "m=" line to have an independently specified ice-ufrag attribute. However, if the media from multiple "m=" lines is multiplexed over the same ICE component, then the meaning of media-level ice-ufrag attributes becomes muddled. - As of today there are close to 250 SDP attributes registered with the - [IANA] and more will be added in the future. There is no clearly - defined procedure to establish the validity/applicability of these - attribute when used with transport multiplexing. + At the time of writing this document there are close to 250 SDP + attributes registered with the [IANA] and more will be added in the + future. There is no clearly defined procedure to establish the + validity/applicability of these attributes when used with transport + multiplexing. 4. SDP Attribute Analysis Framework Attributes in an SDP session description can be defined at the - session-level and media-level. These attributes could be + session-level and media-level. Informally, these attributes could be semantically grouped as noted below. o Attributes related to media content such as media type, encoding schemes, payload types. o Attributes specifying media transport characteristics like RTP/ RTCP port numbers, network addresses, QOS. o Metadata description attributes capturing session timing and origin information. - o Attributes establishing relationships between media streams such - as grouping framework + o Attributes establishing relationships between media descriptions + such as grouping framework [RFC5888] With the above semantic grouping as a reference, the proposed framework classifies each attribute into one of the following categories: 4.1. Category: NORMAL Attributes that can be independently specified when multiplexing and retain their original semantics. @@ -321,47 +323,50 @@ a=sendonly a=label:1 a=rtpmap:99 iLBC/8000 m=video 49172 RTP/AVP 31 a=recvonly a=label:2 a=rtpmap:31 H261/90000 4.2. Category: NOT RECOMMENDED - Attributes that are recommended against multiplexing since their + Attributes that are not recommended for multiplexing since their usage under multiplexing might lead to incorrect behavior. - Example: Multiplexing media descriptions having attribute zrtp-hash - defined with the media descriptions lacking it, would either - complicate the handling of multiplexed streams or might fail - multiplexing altogether. + Example: Multiplexing media descriptions over a single DCCP transport + [RFC5762] is NOT RECOMMENDED since DCCP being a connection oriented + protocol doesn't allow multiple connections on the same 5-tuple. v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 - m=audio 3456 RTP/AVP 97 // with zrtp - a=rtpmap:97 iLBC/8000 - a=zrtp-hash:1.10 fe30efd02423cb054e50efd0248742ac7a52c8f91bc2 - df881ae642c371ba46df - m=video 34567 RTP/AVP 31 //without zrtp - a=rtpmap:31 H261/90000 + m=video 5004 DCCP/RTP/AVP 99 + a=rtpmap:99 h261/9000 + a=dccp-service-code:SC=x52545056 + a=setup:passive + a=connection:new + m=video 5004 DCCP/RTP/AVP 100 + a=rtpmap:100 h261/9000 + a=dccp-service-code:SC=x5254504f + a=setup:passive + a=connection:new 4.3. Category: IDENTICAL Attributes and their associated values (if any) that MUST be identical across all the media descriptions being multiplexed. Attributes such as rtcp-mux fall into this category. Since RTCP - reporting is done per RTP Session, RTCP Multiplexing MUST be enabled + reporting is done per RTP session, RTCP Multiplexing MUST be enabled for both the audio and video "m=" lines if they are transported over a single 5-tuple. v=0 o=bob 2890844527 2890844527 IN IP4 client.biloxi.example.com s= c=IN IP4 client.biloxi.example.com t=0 0 m=audio 34567 RTP/AVP 97 a=rtcp-mux @@ -388,24 +393,23 @@ c=IN IP4 client.biloxi.example.com t=0 0 m=audio 49170 RTP/AVP 0 b=AS:64 m=video 51372 RTP/AVP 31 b=AS:256 4.5. Category: TRANSPORT Attributes that can be set normally for multiple items in a - multiplexed group but the software MUST pick just one of the - attributes of the given type for use. The one chosen is the - attribute associated with the "m=" line that represents the - information being used for the transport of the RTP. + multiplexed group but the software MUST pick the one that's + associated with the "m=" line whose information is used for setting + up the underlying transport. In the example below, "a=crypto" attribute is defined for both the audio and the video "m=" lines. The video media line's a=crypto attribute is chosen since its mid value (bar) appears first in the a=group:BUNDLE line. This is due to BUNDLE grouping semantic [I-D.ietf-mmusic-sdp-bundle-negotiation] which mandates the values from "m=" line corresponding to the mid appearing first on the a=group:BUNDLE line to be considered for setting up the RTP Transport. @@ -423,24 +427,24 @@ m=video 51374 RTP/AVP 31 a=mid:bar a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:EcGZiNWpFJhQXdspcl1ekcmVCNWpVLcfHAwJSoj|2^20|1:32 a=rtpmap:96 H261/90000 4.6. Category: INHERIT Attributes that encapsulate other SDP attributes or parameters. These attributes inherit their multiplexing characteristics from the - attributes or parameters they encapsulate. Such attributes as of - today, are defined in [RFC3407], [RFC5939] and [RFC6871] as part of a - generic framework for indicating and negotiating transport, media and - media format related capabilities in the SDP. + attributes or parameters they encapsulate. Such attributes are + defined in [RFC3407], [RFC5939] and [RFC6871] as part of a generic + framework for indicating and negotiating transport, media and media + format related capabilities in the SDP. The inheritance manifests itself when the encapsulated attribute or parameter is being leveraged. In the case of SDP Capability Negotiation [RFC5939] for example, this occurs when a capability (encapsulating attribute) is used as part of a configuration; the configuration inherits the multiplexing category of each of its constituent (encapsulated) attributes and parameters. This in turn MAY place constraints on what constitutes a valid configuration from a multiplexing point of view, e.g. because some attributes MUST be IDENTICAL (see Section 14 for further details). @@ -469,28 +473,29 @@ Attributes that define the RTP payload configuration on per Payload Type basis and MUST have identical values across all the media descriptions for a given RTP Payload Type when repeated. These Payload Types identify the same codec configuration as defined in the Section 10.1.2 of [I-D.ietf-mmusic-sdp-bundle-negotiation] under this context. In the SDP example below, Payload Types 96 and 97 are repeated across all the video "m=" lines and all the payload specific parameters (ex: - rtpmap, fmtp) are identical. + rtpmap, fmtp) are identical (Note: some line breaks included are due + to formatting only). v=0 o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com s= c=IN IP4 host.atlanta.example.com t=0 0 - a=group:BUNDLE cam1, cam2 + a=group:BUNDLE cam1 cam2 m= video 96 97 a=mid:cam1 a=rtpmap:96 H264/90000 a=fmtp:96 profile-level-id=42400d; max-fs=3600; max-fps=3000; max-mbps=108000; max-br=1000 a=rtpmap:97 H264/90000 a=fmtp:97 profile-level-id=42400a; max-fs=240; max-fps=3000; max-mbps=7200; max-br=200 m= video 96 97 a=mid:cam2 @@ -499,45 +504,45 @@ max-mbps=108000; max-br=1000 a=rtpmap:97 H264/90000 a=fmtp:97 profile-level-id=42400a; max-fs=240; max-fps=3000; max-mbps=7200; max-br=200 4.8. Category: SPECIAL Attributes where the text in the specification defining the attribute MUST be consulted for further handling when multiplexed. - As an example, for the attribute extmap, the specification defining - the extension needs to be referred to understand the multiplexing - implications. + As an example, for the attribute extmap [RFC5285], the specification + defining the extension needs to be referred to understand the + multiplexing implications. 4.9. Category: TBD Attributes that have not been analyzed under the proposed - multiplexing framework yet. For the purposes of implementations it - is advised to consider "NOT RECOMMENDED" as the category when + multiplexing framework. For the purposes of implementations it is + advised to consider "NOT RECOMMENDED" as the category when multiplexing these attributes. 5. Analysis of Existing Attributes This section analyzes attributes listed in [IANA], grouped under the IETF document that defines them. The "Level" column indicates whether the attribute is currently specified as: o S -- Session level o M -- Media level o B -- Both - o SR -- Source-level (for a single SSRC) + o SR -- Source-level (for a single SSRC) [RFC5576] The "Mux Category" column identifies multiplexing category assigned per attribute and the "Notes" column captures additional informative details regarding the assigned category, wherever necessary. 5.1. RFC4566 - SDP: Session Description Protocol [RFC4566] defines the Session Description Protocol (SDP) that is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of @@ -638,21 +643,21 @@ packets and RTP Control Protocol (RTCP) packets on a single UDP port. It describes when such multiplexing is and is not appropriate, and it explains how the Session Description Protocol (SDP) can be used to signal multiplexed sessions. +-----------+----------------------------------+-------+------------+ | Name | Notes | Level | Mux | | | | | Category | +-----------+----------------------------------+-------+------------+ | rtcp-mux | RTP and RTCP Multiplexing | M | IDENTICAL | - | | affects the entire RTP Session | | | + | | affects the entire RTP session | | | | | | | | +-----------+----------------------------------+-------+------------+ RFC5761 Attribute Analysis 5.4. RFC3312 - Integration of Resource Management and (SIP) [RFC3312] defines a generic framework for preconditions, which are extensible through IANA registration. This document also discusses how network quality of service can be made a precondition for @@ -666,23 +671,23 @@ | des | Refer to notes below | M | NOT RECOMMENDED | | | | | | | conf | Refer to notes below | M | NOT RECOMMENDED | | | | | | | curr | Refer to notes below | M | NOT RECOMMENDED | | | | | | +-------+-----------------------+-------+------------------+ RFC3312 Attribute Analysis - A mismatched set of preconditions across media descriptions results - in Session establishment failures due to inability in meeting the - right resource reservations requested. + NOTE: A mismatched set of preconditions across media descriptions + results in Session establishment failures due to inability in meeting + the right resource reservations requested. 5.5. RFC4574 - SDP Label Attribute [RFC4574] defines a new Session Description Protocol (SDP) media- level attribute: "label". The "label" attribute carries a pointer to a media stream in the context of an arbitrary network application that uses SDP. The sender of the SDP document can attach the "label" attribute to a particular media stream or streams. The application can then use the provided pointer to refer to each particular media stream in its context. @@ -694,37 +699,34 @@ | | | | | +--------+---------------+-------+--------------+ RFC4574 Attribute Analysis 5.6. RFC5432 - QoS Mechanism Selection in SDP [RFC5432] defines procedures to negotiate QOS mechanisms using the Session Description Protocol (SDP) offer/answer model. - +----------------+------------------------+-------+--------------+ - | Name | Notes | Level | Mux Category | - +----------------+------------------------+-------+--------------+ - | qos-mech-send | Refer to notes below | B | NORMAL | + +----------------+----------------------------+-------+-------------+ + | Name | Notes | Level | Mux | + | | | | Category | + +----------------+----------------------------+-------+-------------+ + | qos-mech-send | Refer to section Section | B | TRANSPORT | + | | 10 | | | | | | | | - | qos-mech-recv | Refer to notes below. | B | NORMAL | + | qos-mech-recv | Refer to section Section | B | TRANSPORT | + | | 10 | | | | | | | | - +----------------+------------------------+-------+--------------+ + +----------------+----------------------------+-------+-------------+ RFC5432 Attribute Analysis - A single DSCP code point per flow being multiplexed doesn't impact - multiplexing since QOS mechanisms are signaled/scoped per flow. For - scenarios that involves having different DSCP code points for packets - being transmitted over the same 5-tuple, issues as discussed in - [I.D-draft-ietf-dart-dscp-rtp] needs to be taken into consideration. - 5.7. RFC4568 - SDP Security Descriptions [RFC4568] defines a Session Description Protocol (SDP) cryptographic attribute for unicast media streams. The attribute describes a cryptographic key and other parameters that serve to configure security for a unicast media stream in either a single message or a roundtrip exchange. +---------+------------------------------------+-------+------------+ | Name | Notes | Level | Mux | @@ -790,43 +792,42 @@ | dccp-port | Multiplexing MUST not be | M | NOT | | | performed due to potential | | RECOMMENDED | | | conflict between the port | | | | | used for DCCP | | | | | en/decapsulation and the RTP | | | | | | | | +------------+-------------------------------+-------+--------------+ RFC6773 Attribute Analysis - RFC6773 is about tunneling DCCP in UDP, with the UDP port being the - port of the DCCP en-/de-capsulation service. This encapsulation + NOTE: RFC6773 is about tunneling DCCP in UDP, with the UDP port being + the port of the DCCP en-/de-capsulation service. This encapsulation allows arbitrary DCCP packets to be encapsulated and the DCCP port - chosen MAY conflict with the port chosen for the RTP traffic. - - 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 choices thus rendering it to + chosen MAY conflict with the port chosen for the RTP traffic. 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 encapsulation and ports choices thus rendering it to be very application dependent. 5.10. RFC5506 - Reduced-Size RTCP in RTP Profile [RFC5506] discusses benefits and issues that arise when allowing Real-time Transport Protocol (RTCP) packets to be transmitted with reduced size. +-------------+--------------------------------+-------+------------+ | Name | Notes | Level | Mux | | | | | Category | +-------------+--------------------------------+-------+------------+ | rtcp-rsize | Reduced size RTCP affects the | M | IDENTICAL | - | | entire RTP Session | | | + | | entire RTP session | | | | | | | | +-------------+--------------------------------+-------+------------+ RFC5506 Attribute Analysis 5.11. RFC6787 - Media Resource Control Protocol Version 2 The Media Resource Control Protocol Version 2 (MRCPv2) allows client hosts to control media service resources such as speech synthesizers, recognizers, verifiers, and identifiers residing in servers on the @@ -952,41 +953,40 @@ are identified by their synchronization source (SSRC) identifiers, in SDP, to associate attributes with these sources, and to express relationships among sources. It also defines several source-level attributes that can be used to describe properties of media sources. +----------------+----------------------+-------+-------------------+ | Name | Notes | Level | Mux Category | +----------------+----------------------+-------+-------------------+ | ssrc | Refer to Notes below | M | NORMAL | | | | | | - | ssrc-group | Refer to section | M | NORMAL | - | | Section 9 for | | | - | | specific analysis of | | | - | | the grouping | | | - | | semantics | | | + | ssrc-group | Refer to Section 9 | M | NORMAL | + | | for specific | | | + | | analysis of the | | | + | | grouping semantics | | | | | | | | | cname | Not Impacted | SR | NORMAL | | | | | | | previous-ssrc | Refer to notes below | SR | NORMAL | | | | | | | fmtp | The attribute value | SR | IDENTICAL-PER-PT | | | MUST be same for a | | | | | given codec | | | | | configuration | | | | | | | | +----------------+----------------------+-------+-------------------+ RFC5576 Attribute Analysis - If SSRCs are repeated across "m=" lines being multiplexed, they MUST - all represent the same underlying RTP Source. + NOTE: If SSRCs are repeated across "m=" lines being multiplexed, they + MUST all represent the same underlying RTP Source. 5.16. RFC7273 - RTP Clock Source Signalling [RFC7273] specifies Session Description Protocol (SDP) signalling that identifies timestamp reference clock sources and SDP signalling that identifies the media clock sources in a multimedia session. +------------+---------------+-------+--------------+ | Name | Notes | Level | Mux Category | +------------+---------------+-------+--------------+ @@ -1157,23 +1157,23 @@ | cpar | Refer to Section 14 | B | INHERIT | | | | | | | cparmin | Refer to notes below | B | SPECIAL | | | | | | | cparmax | Refer to notes below | B | SPECIAL | | | | | | +----------+------------------------+-------+--------------+ RFC3407 Attribute Analysis - Since the attributes (a=cparmin and a=cparmax) define minimum and - maximum numerical values associated with the attributes described in - a=cpar, it is recommended to consult the document defining the + NOTE: Since the attributes (a=cparmin and a=cparmax) define minimum + and maximum numerical values associated with the attributes described + in a=cpar, it is recommended to consult the document defining the attribute. 5.25. RFC6284 - Port Mapping between Unicast and Multicast RTP Sessions [RFC6284] presents a port mapping solution that allows RTP receivers to choose their own ports for an auxiliary unicast session in RTP applications using both unicast and multicast services. The solution provides protection against denial-of-service or packet amplification attacks that could be used to cause one or more RTP packets to be sent to a victim client. @@ -1195,29 +1195,36 @@ [RFC6714] defines a Message Session Relay Protocol (MSRP) extension, Connection Establishment for Media Anchoring (CEMA). Support of this extension is OPTIONAL. The extension allows middle boxes to anchor the MSRP connection, without the need for middle boxes to modify the MSRP messages; thus, it also enables secure end-to-end MSRP communication in networks where such middle boxes are deployed. This document also defines a Session Description Protocol (SDP) attribute, 'msrp-cema', that MSRP endpoints use to indicate support of the CEMA extension. - +------------+---------------+-------+--------------+ + +------------+-----------------------+-------+--------------+ | Name | Notes | Level | Mux Category | - +------------+---------------+-------+--------------+ - | msrp-cema | Not Impacted | M | NORMAL | + +------------+-----------------------+-------+--------------+ + | msrp-cema | Refer to notes below | M | TBD | | | | | | - +------------+---------------+-------+--------------+ + +------------+-----------------------+-------+--------------+ RFC6714 Attribute Analysis + NOTE: As per section 9.1 of [I-D.ietf-mmusic-sdp-bundle-negotiation], + there exists no publicly available specification that defines + procedures for multiplexing/demultiplexing MRSP flows over a single + 5-tuple. Once such a specification is available, the multiplexing + categories assignments for the attributes in this section MUST be + revisited. + 5.27. RFC4583 - SDP Format for BFCP Streams [RFC4583] document specifies how to describe Binary Floor Control Protocol (BFCP) streams in Session Description Protocol (SDP) descriptions. User agents using the offer/answer model to establish BFCP streams use this format in their offers and answers. +------------+---------------------------------+-------+------------+ | Name | Notes | Level | Mux | | | | | Category | @@ -1236,58 +1243,74 @@ +------------+---------------------------------+-------+------------+ RFC4583 Attribute Analysis 5.28. RFC5547 - SDP Offer/Answer for File Transfer [RFC5547] provides a mechanism to negotiate the transfer of one or more files between two endpoints by using the Session Description Protocol (SDP) offer/answer model specified in [RFC3264]. - +----------------------+---------------+-------+--------------+ + +-------------------+-----------------------+-------+--------------+ | Name | Notes | Level | Mux Category | - +----------------------+---------------+-------+--------------+ - | file-selector | Not Impacted | M | NORMAL | + +-------------------+-----------------------+-------+--------------+ + | file-selector | Refer to notes below | M | TBD | | | | | | - | file-transfer-id | Not Impacted | M | NORMAL | + | file-transfer-id | Refer to notes below | M | TBD | | | | | | - | file-disposition | Not Impacted | M | NORMAL | + | file-disposition | Refer to notes below | M | TBD | | | | | | - | file-date | Not Impacted | M | NORMAL | + | file-date | Refer to notes below | M | TBD | | | | | | - | file-iconfile-range | Not Impacted | M | NORMAL | + | file-icon | Refer to notes below | M | TBD | | | | | | - +----------------------+---------------+-------+--------------+ + | file-range | Refer to notes below | M | TBD | + | | | | | + +-------------------+-----------------------+-------+--------------+ RFC5547 Attribute Analysis + NOTE: As per section 9.1 of [I-D.ietf-mmusic-sdp-bundle-negotiation], + there exists no publicly available specification that defines + procedures for multiplexing/demultiplexing MRSP flows over a single + 5-tuple. Once such a specification is available, the multiplexing + categories assignments for attributes in this section MUST be + revisited. + 5.29. RFC6849 - SDP and RTP Media Loopback Extension [RFC6849] adds new SDP media types and attributes, which enable establishment of media sessions where the media is looped back to the transmitter. Such media sessions will serve as monitoring and troubleshooting tools by providing the means for measurement of more advanced VoIP, Real-time Text, and Video over IP performance metrics. - +---------------------------+----------------+-------+--------------+ + +---------------------+-----------------+-------+-------------------+ | Name | Notes | Level | Mux Category | - +---------------------------+----------------+-------+--------------+ - | loopback rtp-pkt-loopback | Not Impacted | M | NORMAL | + +---------------------+-----------------+-------+-------------------+ + | loopback rtp-pkt- | The attribute | M | IDENTICAL-PER-PT | + | loopback | value MUST be | | | + | | same for a | | | + | | given codec | | | + | | configuration | | | | | | | | - | loopback rtp-media- | Not Impacted | M | NORMAL | - | loopback | | | | + | loopback rtp-media- | The attribute | M | IDENTICAL-PER-PT | + | loopback | value MUST be | | | + | | same for a | | | + | | given codec | | | + | | configuration | | | | | | | | | loopback-source | Not Impacted | M | NORMAL | | | | | | | loopback-mirror | Not Impacted | M | NORMAL | | | | | | - +---------------------------+----------------+-------+--------------+ + +---------------------+-----------------+-------+-------------------+ RFC6849 Analysis 5.30. RFC5760 - RTCP with Unicast Feedback [RFC5760] specifies an extension to the Real-time Transport Control Protocol (RTCP) to use unicast feedback to a multicast sender. The proposed extension is useful for single-source multicast sessions such as Source-Specific Multicast (SSM) communication where the traditional model of many-to-many group communication is either not @@ -1322,78 +1345,78 @@ RFC3611 Attribute Analysis 5.32. RFC5939 - SDP Capability Negotiation [RFC5939] defines a general SDP Capability Negotiation framework. It also specifies how to provide attributes and transport protocols as capabilities and negotiate them using the framework. Extensions for other types of capabilities (e.g., media types and media formats) may be provided in other documents. - +---------+-------------------------------+-------+--------------+ + +---------+-----------------------+-------+--------------+ | Name | Notes | Level | Mux Category | - +---------+-------------------------------+-------+--------------+ - | pcfg | Refer to Section Section 14 | M | SPECIAL | + +---------+-----------------------+-------+--------------+ + | pcfg | Refer to Section 14 | M | SPECIAL | | | | | | - | acfg | Refer to Section Section 14 | M | SPECIAL | + | acfg | Refer to Section 14 | M | SPECIAL | | | | | | | csup | Not Impacted | B | NORMAL | | | | | | | creq | Not Impacted | B | NORMAL | | | | | | - | acap | Refer to section Section 14 | B | INHERIT | + | acap | Refer to Section 14 | B | INHERIT | | | | | | - | tcap | Refer to section Section 14 | B | INHERIT | + | tcap | Refer to Section 14 | B | INHERIT | | | | | | | cap-v0 | Not Impacted | B | NORMAL | | | | | | - +---------+-------------------------------+-------+--------------+ + +---------+-----------------------+-------+--------------+ RFC5939 Attribute Analysis 5.33. RFC6871- SDP Media Capabilities Negotiation Session Description Protocol (SDP) capability negotiation provides a general framework for indicating and negotiating capabilities in SDP. The base framework defines only capabilities for negotiating transport protocols and attributes. [RFC6871] extends the framework by defining media capabilities that can be used to negotiate media types and their associated parameters. - +---------+-----------------------------+-------+-------------------+ + +---------+-----------------------+-------+-------------------+ | Name | Notes | Level | Mux Category | - +---------+-----------------------------+-------+-------------------+ - | rmcap | Refer to Section Section 14 | B | IDENTICAL-PER-PT | + +---------+-----------------------+-------+-------------------+ + | rmcap | Refer to Section 14 | B | IDENTICAL-PER-PT | | | | | | | omcap | Not Impacted | B | NORMAL | | | | | | - | mfcap | Refer to Section Section 14 | B | IDENTICAL-PER-PT | + | mfcap | Refer to Section 14 | B | IDENTICAL-PER-PT | | | | | | - | mscap | Refer to Section Section 14 | B | INHERIT | + | mscap | Refer to Section 14 | B | INHERIT | | | | | | - | lcfg | Refer to Section Section 14 | B | SPECIAL | + | lcfg | Refer to Section 14 | B | SPECIAL | | | | | | | sescap | Refer to notes below | S | NOT RECOMMENDED | | | | | | | med-v0 | Not Impacted | S | NORMAL | | | | | | - +---------+-----------------------------+-------+-------------------+ + +---------+-----------------------+-------+-------------------+ RFC6871 - Attribute Analysis - The "sescap" attribute is NOT RECOMMENDED for use with multiplexing. - The reason is that it requires the use of unique configuration - numbers across the entire SDP (per [RFC6871]) as opposed to within a - media description only (per [RFC5939]). As described in Section 14, - the use of identical configuration numbers between multiplexed - (bundled) media descriptions is the default way of indicating - compatible configurations in a bundle. + NOTE: The "sescap" attribute is NOT RECOMMENDED for use with + multiplexing. The reason is that it requires the use of unique + configuration numbers across the entire SDP (per [RFC6871]) as + opposed to within a media description only (per [RFC5939]). As + described in Section 14, the use of identical configuration numbers + between multiplexed (bundled) media descriptions is the default way + of indicating compatible configurations in a bundle. 5.34. RFC7006 - Miscellaneous Capabilities Negotiation SDP [RFC7006] extends the SDP capability negotiation framework to allow endpoints to negotiate three additional SDP capabilities. In particular, this memo provides a mechanism to negotiate bandwidth ("b=" line), connection data ("c=" line), and session or media titles ("i=" line for each session or media). +----------+-----------------------------------+-------+------------+ @@ -1518,27 +1541,30 @@ RFC6128 Attribute Analysis 5.39. RFC6189 - ZRTP [RFC6189] defines ZRTP, a protocol for media path Diffie-Hellman exchange to agree on a session key and parameters for establishing unicast Secure Real-time Transport Protocol (SRTP) sessions for Voice over IP (VoIP) applications. - +------------+-------------------------------+-------+--------------+ - | Name | Notes | Level | Mux Category | - +------------+-------------------------------+-------+--------------+ - | zrtp-hash | Complicates if all the "m=" | M | NOT | - | | lines are not authenticated | | RECOMMENDED | + +------------+---------------------------------+-------+------------+ + | Name | Notes | Level | Mux | + | | | | Category | + +------------+---------------------------------+-------+------------+ + | zrtp-hash | zrtp-hash attribute MUST be the | M | TRANSPORT | + | | one that corresponds to the | | | + | | "m=" line chosen for setting up | | | + | | the underlying transport flow | | | | | | | | - +------------+-------------------------------+-------+--------------+ + +------------+---------------------------------+-------+------------+ RFC6189 Attribute Analysis 5.40. RFC4145 - Connection-Oriented Media [RFC4145] describes how to express media transport over TCP using the Session Description Protocol (SDP). It defines the SDP 'TCP' protocol identifier, the SDP 'setup' attribute, which describes the connection setup procedure, and the SDP 'connection' attribute, which handles connection reestablishment. @@ -1580,35 +1606,49 @@ RFC6947 Attribute Analysis 5.42. RFC7195 - SDP Extension for Circuit Switched Bearers in PSTN [RFC7195] describes use cases, requirements, and protocol extensions for using the Session Description Protocol (SDP) offer/answer model for establishing audio and video media streams over circuit-switched bearers in the Public Switched Telephone Network (PSTN). - +--------------------------+---------------+-------+--------------+ - | Name | Notes | Level | Mux Category | - +--------------------------+---------------+-------+--------------+ - | cs-correlation:callerid | Not Impacted | M | NORMAL | + +--------------------------+-------------------+-------+------------+ + | Name | Notes | Level | Mux | + | | | | Category | + +--------------------------+-------------------+-------+------------+ + | cs-correlation:callerid | Refer to notes | M | TBD | + | | below | | | | | | | | - | cs-correlation:uuie | Not Impacted | M | NORMAL | + | cs-correlation:uuie | Refer to notes | M | TBD | + | | below | | | | | | | | - | cs-correlation:dtmf | Not Impacted | M | NORMAL | + | cs-correlation:dtmf | Refer to notes | M | TBD | + | | below | | | | | | | | - | cs-correlation:external | Not Impacted | M | NORMAL | + | cs-correlation:external | Refer to notes | M | TBD | + | | below | | | | | | | | - +--------------------------+---------------+-------+--------------+ + +--------------------------+-------------------+-------+------------+ RFC7195 Attribute Analysis + NOTE: [RFC7195] defines SDP attributes for establishing audio and + video media streams over circuit-switched bearers by defining a new + nettype value "PSTN". However, section 7.2 of + [I-D.ietf-mmusic-sdp-bundle-negotiation] requires the "c=" line + nettype value of 'IN'. If in future there exists a specification + that defines procedures to multiplex media streams over nettype + "PSTN", the multiplexing categories for attributes in this section + MUST be revisited. + 5.43. RFC7272 - IDMS Using the RTP Control Protocol (RTCP) [RFC7272] defines a new RTP Control Protocol (RTCP) Packet Type and an RTCP Extended Report (XR) Block Type to be used for achieving Inter-Destination Media Synchronization (IDMS). +------------+---------------+-------+--------------+ | Name | Notes | Level | Mux Category | +------------+---------------+-------+--------------+ | rtcp-idms | Not Impacted | M | NORMAL | @@ -1616,32 +1656,35 @@ +------------+---------------+-------+--------------+ RFC7272 Attribute Analysis 5.44. RFC5159 - OMA BCAST SDP Attributes [RFC5159] provides descriptions of Session Description Protocol (SDP) attributes used by the Open Mobile Alliance's Broadcast Service and Content Protection specification. - +---------------------+---------------+-------+--------------+ - | Name | Notes | Level | Mux Category | - +---------------------+---------------+-------+--------------+ + +---------------------+-----------------------+-------+-------------+ + | Name | Notes | Level | Mux | + | | | | Category | + +---------------------+-----------------------+-------+-------------+ | bcastversion | Not Impacted | S | NORMAL | | | | | | | stkmstream | Not Impacted | B | NORMAL | | | | | | - | SRTPAuthentication | Not Impacted | M | NORMAL | + | SRTPAuthentication | Needs further | M | TBD | + | | analysis | | | | | | | | - | SRTPROCTxRate | Not Impacted | M | NORMAL | + | SRTPROCTxRate | Needs further | M | TBD | + | | analysis | | | | | | | | - +---------------------+---------------+-------+--------------+ + +---------------------+-----------------------+-------+-------------+ RFC5159 Attribute Analysis 5.45. RFC6193 - Media Description for IKE in SDP [RFC6193] specifies how to establish a media session that represents a virtual private network using the Session Initiation Protocol for the purpose of on-demand media/application sharing between peers. It extends the protocol identifier of the Session Description Protocol (SDP) so that it can negotiate use of the Internet Key Exchange @@ -1664,23 +1707,23 @@ | | "m=" lines | | | | | | | | | ike-esp-udpencap | Attribute MUST be | B | IDENTICAL | | | identical across all the | | | | | "m=" lines | | | | | | | | +-------------------+--------------------------+-------+------------+ RFC6193 Attribute Analysis - With the above SDP constraints, a session multiplexed with multiple - "m=" lines will use only one IPSec association for all of the "m=" - lines. + NOTE: With the above SDP constraints, a session multiplexed with + multiple "m=" lines will use only one IPSec association for all of + the "m=" lines. 5.46. RFC2326 - Real Time Streaming Protocol The Real Time Streaming Protocol, or RTSP, is an application-level protocol for control over the delivery of data with real-time properties. RTSP provides an extensible framework to enable controlled, on-demand delivery of real-time data, such as audio and video. +----------+---------------------------------+-------+--------------+ @@ -1695,21 +1738,21 @@ | control | RTSP is not supported for RTP | B | NOT | | | Stream multiplexing | | RECOMMENDED | | | | | | | mtag | RTSP is not supported for RTP | B | NOT | | | Stream multiplexing | | RECOMMENDED | | | | | | +----------+---------------------------------+-------+--------------+ RFC2326 Attribute Analysis - [RFC2326] defines SDP attributes that are applicable in the + NOTE: [RFC2326] defines SDP attributes that are applicable in the declarative usage of SDP alone. For purposes of this document, only the Offer/Answer usage of SDP is considered as mandated by [I-D.ietf-mmusic-sdp-bundle-negotiation]. 5.47. RFC6064 - SDP and RTSP Extensions for 3GPP The Packet-switched Streaming Service (PSS) and the Multimedia Broadcast/Multicast Service (MBMS) defined by 3GPP use the Session Description Protocol (SDP) and Real Time Streaming Protocol (RTSP) with some extensions. [RFC6064] provides information about these @@ -1827,21 +1870,21 @@ | | below | | | | | | | | | 3GPP-QoE-Metrics:Buffer | Refer to | M | NOT | | Status | notes | | RECOMMENDED | | | below | | | | | | | | +-------------------------------+------------+-------+--------------+ RFC6064 Attribute Analysis - [RFC6064] defines SDP attributes that are applicable in the + NOTE: [RFC6064] defines SDP attributes that are applicable in the declarative usage of SDP alone. For purposes of this document, only the Offer/Answer usage of SDP is considered as mandated by [I-D.ietf-mmusic-sdp-bundle-negotiation]. 5.48. RFC3108 - ATM SDP [RFC3108] describes conventions for using the Session Description Protocol (SDP) described for controlling ATM Bearer Connections, and any associated ATM Adaptation Layer (AAL). @@ -1932,43 +1975,39 @@ | | below | | RECOMMENDED | | uiLayer1_Prot | Refer to notes | B | NOT | | | below | | RECOMMENDED | | chain | Refer to notes | B | NOT | | | below | | RECOMMENDED | | | | | | +------------------------+------------------+-------+---------------+ RFC3108 Attribute Analysis - RFC3108 describes conventions for using the Session Description + NOTE: RFC3108 describes conventions for using the Session Description Protocol (SDP) for characterizing ATM bearer connections using an AAL1, AAL2 or AAL5 adaptation layers. For AAL1, AAL2 and AAL5, bearer connections can be used to transport single media streams. In addition, for AAL1 and AAL2, multiple media streams MAY be multiplexed into a bearer connection. For all adaptation types (AAL1, AAL2 and AAL5), bearer connections MAY be bundled into a single media group. In all cases addressed by RFC3108, a real-time media stream (voice, video, voiceband data, pseudo-wire and others) or a multiplex of media streams is mapped directly into an ATM connection. RFC3108 does not address cases where ATM serves as a low-level transport pipe for IP packets which in turn MAY carry one or more real-time (e.g. VoIP) media sessions with a life-cycle different from that of the underlying ATM transport. - [I-D.ietf-mmusic-sdp-bundle-negotiation] is applicable only for - nettypes IN and address types "IP4" or "IP6". - 5.49. 3GPP TS 26.114 [R3GPPTS26.114] specifies IP multimedia subsystem: Media handling and interaction - +----------------------+-------------------------+-------+----------+ | Name | Notes | Level | Mux | | | | | Category | +----------------------+-------------------------+-------+----------+ | 3gpp_sync_info | Usage defined for the | M | NORMAL | | | IP Multimedia Subsystem | | | | | | | | | 3gpp_MaxRecvSDUSize | Usage defined for the | M | NORMAL | | | IP Multimedia Subsystem | | | | | | | | @@ -2064,57 +2103,76 @@ | | | | | +------------------+---------------------------+-------+------------+ 3GPP TS 24.229 Attribute Analysis 5.54. ITU T.38 [T.38] defines procedures for real-time Group 3 facsimile communications over IP networks. - +------------------------+---------------+-------+--------------+ - | Name | Notes | Level | Mux Category | - +------------------------+---------------+-------+--------------+ - | T38FaxVersion | Not Impacted | S | NORMAL | + +------------------------+--------------------+-------+-------------+ + | Name | Notes | Level | Mux | + | | | | Category | + +------------------------+--------------------+-------+-------------+ + | T38FaxVersion | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38MaxBitRate | Not Impacted | S | NORMAL | + | T38MaxBitRate | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38FaxFillBitRemoval | Not Impacted | S | NORMAL | + | T38FaxFillBitRemoval | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38FaxTranscodingMMR | Not Impacted | S | NORMAL | + | T38FaxTranscodingMMR | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38FaxTranscodingJBIG | Not Impacted | S | NORMAL | + | T38FaxTranscodingJBIG | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38FaxRateManagement | Not Impacted | S | NORMAL | + | T38FaxRateManagement | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38FaxMaxBuffer | Not Impacted | S | NORMAL | + | T38FaxMaxBuffer | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38FaxMaxDatagram | Not Impacted | S | NORMAL | + | T38FaxMaxDatagram | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38FaxUdpEC | Not Impacted | S | NORMAL | + | T38FaxUdpEC | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38FaxMaxIFP | Not Impacted | S | NORMAL | + | T38FaxMaxIFP | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38FaxUdpECDepth | Not Impacted | S | NORMAL | + | T38FaxUdpECDepth | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38FaxUdpFECMaxSpan | Not Impacted | S | NORMAL | + | T38FaxUdpFECMaxSpan | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38ModemType | Not Impacted | S | NORMAL | + | T38ModemType | Refer to notes | S | TBD | + | | below | | | | | | | | - | T38VendorInfo | Not Impacted | S | NORMAL | + | T38VendorInfo | Refer to notes | S | TBD | + | | below | | | | | | | | - +------------------------+---------------+-------+--------------+ + +------------------------+--------------------+-------+-------------+ ITU T.38 Attribute Analysis - The ITU T.38 attributes are clearly unaffected by multiplexing and - are specific to the working of the fax protocol itself. + NOTE: As per section 9.1 of [I-D.ietf-mmusic-sdp-bundle-negotiation], + there exists no publicly available specification that defines + procedures for multiplexing/demultiplexing fax protocols flows over a + single 5-tuple. Once such a specification is available, the + multiplexing category assignments for the attributes in this section + MUST be revisited. 5.55. ITU-T Q.1970 [Q.1970] defines BICC IP bearer control protocol. +--------+---------------------------------------+-------+----------+ | Name | Notes | Level | Mux | | | | | Category | +--------+---------------------------------------+-------+----------+ | ipbcp | ipbcp version identifies type of | S | SPECIAL | @@ -2162,35 +2219,47 @@ ITU-T H.248.15 Attribute Analysis 5.57. RFC4975 - The Message Session Relay Protocol [RFC4975] the Message Session Relay Protocol, a protocol for transmitting a series of related instant messages in the context of a session. Message sessions are treated like any other media stream when set up via a rendezvous or session creation protocol such as the Session Initiation Protocol. - +-----------------------+---------------+-------+--------------+ - | Name | Notes | Level | Mux Category | - +-----------------------+---------------+-------+--------------+ - | accept-types | Not Impacted | M | NORMAL | + +-----------------------+---------------------+-------+-------------+ + | Name | Notes | Level | Mux | + | | | | Category | + +-----------------------+---------------------+-------+-------------+ + | accept-types | Refer to notes | M | TBD | + | | below | | | | | | | | - | accept-wrapped-types | Not Impacted | M | NORMAL | + | accept-wrapped-types | Refer to notes | M | TBD | + | | below | | | | | | | | - | max-size | Not Impacted | M | NORMAL | + | max-size | Refer to notes | M | TBD | + | | below | | | | | | | | - | path | Not Impacted | M | NORMAL | + | path | Refer to notes | M | TBD | + | | below | | | | | | | | - +-----------------------+---------------+-------+--------------+ + +-----------------------+---------------------+-------+-------------+ RFC4975 Attribute Analysis + NOTE: As per section 9.1 of [I-D.ietf-mmusic-sdp-bundle-negotiation], + there exists no publicly available specification that defines + procedures for multiplexing/demultiplexing MRSP flows over a single + 5-tuple. Once such a specification is available, the multiplexing + categories assignments for the attributes in this section MUST be + revisited. + 5.58. Historical Attributes This section specifies analysis for the attributes that are included for historic usage alone by the [IANA]. +----------+----------------------+-------+------------------+ | Name | Notes | Level | Mux Category | +----------+----------------------+-------+------------------+ | rtpred1 | Historic attributes | M | NOT RECOMMENDED | | | | | | @@ -2256,44 +2325,44 @@ 6.3. RFC3890 - Bandwidth Modifier for SDP [RFC3890] defines a Session Description Protocol (SDP) Transport Independent Application Specific Maximum (TIAS) bandwidth modifier that does not include transport overhead; instead an additional packet rate attribute is defined. The transport independent bit-rate value together with the maximum packet rate can then be used to calculate the real bit-rate over the transport actually used. - +------------------+-----------------------------+-------+----------+ + +--------------+---------------------------------+-------+----------+ | Name | Notes | Level | Mux | | | | | Category | - +------------------+-----------------------------+-------+----------+ + +--------------+---------------------------------+-------+----------+ | bwtype:TIAS | The usage of TIAS is not | B | SPECIAL | - | | clearly defined | | | - | | Offer/Answer usage. | | | + | | clearly defined Offer/Answer | | | + | | usage. | | | | | | | | - | bwtype:maxprate | The usage of TIAS and | B | SPECIAL | - | | maxprate is not well | | | - | | defined under multiplexing | | | + | maxprate | The usage of TIAS and maxprate | B | SPECIAL | + | | is not well defined under | | | + | | multiplexing | | | | | | | | - +------------------+-----------------------------+-------+----------+ + +--------------+---------------------------------+-------+----------+ RFC3890 bwtype Analysis - The intention of TIAS is that the media level bit-rate is multiplied - with the known per-packet overhead for the selected transport and the - maxprate value to determine the worst case bit-rate from the - transport to more accurately capture the required usage. Summing - TIAS values independently across "m=" lines and multiplying the - computed sum with maxprate and the per-packet overhead would inflate - the value significantly. Instead performing multiplication and - adding the individual values is a more appropriate usage. + NOTE: The intention of TIAS is that the media level bit-rate is + multiplied with the known per-packet overhead for the selected + transport and the maxprate value to determine the worst case bit-rate + from the transport to more accurately capture the required usage. + Summing TIAS values independently across "m=" lines and multiplying + the computed sum with maxprate and the per-packet overhead would + inflate the value significantly. Instead performing multiplication + and adding the individual values is a more appropriate usage. 7. rtcp-fb Attribute Analysis This section analyzes rtcp-fb SDP attributes. 7.1. RFC4585 - RTP/AVPF [RFC4585] defines an extension to the Audio-visual Profile (AVP) that enables receivers to provide, statistically, more immediate feedback to the senders and thus allows for short-term adaptation and @@ -2390,21 +2459,21 @@ feedback, a new RTCP transport feedback message for timely reporting of congestion events, and a Session Traversal Utilities for NAT (STUN) extension used in the optional initialization method using Interactive Connectivity Establishment (ICE). +------------------+---------------------------+-------+------------+ | Name | Notes | Level | Mux | | | | | Category | +------------------+---------------------------+-------+------------+ | ecn-capable-rtp | ECN markup are enabled at | M | IDENTICAL | - | | the RTP Session level | | | + | | the RTP session level | | | | | | | | | nack ecn | This attribute enables | M | IDENTICAL | | | ECN at the RTP session | | | | | level | | | | | | | | +------------------+---------------------------+-------+------------+ RFC6679 Attribute Analysis 7.5. RFC6642 - Third-Party Loss Report @@ -2464,21 +2533,21 @@ | ccm | The attribute value MUST be | M | IDENTICAL-PER-PT | | vbcm | same for a given codec | | | | | configuration | | | | | | | | +--------+------------------------------+-------+-------------------+ RFC5104 Attribute Analysis 8. group Attribute Analysis - This section analyzes SDP "group" attribute semantics. + This section analyzes SDP "group" attribute semantics [RFC5888]. 8.1. RFC5888 - SDP Grouping Framework [RFC5888] defines a framework to group "m" lines in the Session Description Protocol (SDP) for different purposes. +------------+---------------+-------+--------------+ | Name | Notes | Level | Mux Category | +------------+---------------+-------+--------------+ | group:LS | Not Impacted | S | NORMAL | @@ -2630,31 +2699,45 @@ 10. QoS Mechanism Token Analysis This section analyzes QoS tokes specified with SDP. 10.1. RFC5432 - QoS Mechanism Selection in SDP [RFC5432] defines procedures to negotiate QOS mechanisms using the Session Description Protocol (SDP) offer/answer model. - +-------+---------------+-------+--------------+ - | Name | Notes | Level | Mux Category | - +-------+---------------+-------+--------------+ - | rsvp | Not Impacted | B | NORMAL | + +-------+--------------------------------------+-------+------------+ + | Name | Notes | Level | Mux | + | | | | Category | + +-------+--------------------------------------+-------+------------+ + | rsvp | rsvp attribute MUST be the one that | B | TRANSPORT | + | | corresponds to the "m=" line chosen | | | + | | for setting up the underlying | | | + | | transport flow | | | | | | | | - | nsis | Not Impacted | B | NORMAL | + | nsis | rsvp attribute MUST be the one that | B | TRANSPORT | + | | corresponds to the "m=" line chosen | | | + | | for setting up the underlying | | | + | | transport | | | | | | | | - +-------+---------------+-------+--------------+ + +-------+--------------------------------------+-------+------------+ RFC5432 Attribute Analysis + NOTE: A single DSCP code point per flow being multiplexed doesn't + impact multiplexing since QOS mechanisms are signaled/scoped per + flow. For scenarios that involve having different DSCP code points + for packets being transmitted over the same 5-tuple, issues as + discussed in [I.D-draft-ietf-dart-dscp-rtp] need to be taken into + consideration. + 11. k= Attribute Analysis 11.1. RFC4566 SDP: Session Description Protocol [RFC4566] defines the Session Description Protocol (SDP) that is intended for describing multimedia sessions for the purposes of session announcement, session invitation, and other forms of multimedia session initiation. +------+------------------------------------+-------+---------------+ @@ -2782,21 +2865,21 @@ For this purpose, [RFC5939] defines the following o A set of capabilities for the session and its associated media stream components, supported by each side. The attribute ("a=acap") defines how to list an attribute name and its associated value (if any) as a capability. The attribute ("a=tcap") defines how to list transport protocols (e.g., "RTP/ AVP") as capabilities. o A set of potential configurations ("a=pcfg") provided by the - offerer to indicate whcich combination of those capabilities can + offerer to indicate which combinations of those capabilities can be used for the session and its associated media stream components. Potential configurations are not ready for use until fully negotiated. They provide an alternative that MAY be used, subject to SDP capability negotiation procedures. In particular the answerer MAY choose one of the potential configurations for use as part of the current Offer/Answer exchange. o An actual configuration ("a=acfg") for the session and its associated media stream components. The actual configuration identifies the potential configuration that was negotiated for @@ -2819,22 +2902,22 @@ Offerer to make sure that the generated potential configurations between the multiplexed streams can (easily) be negotiated to be consistent between those streams. In particular, the procedures aim to simplify Answerer's procedure to choose potential configurations that are consistent across all the multiplexed media descriptions. A potential configuration selects a set of attributes and parameters that become part of the media description when negotiated. When multiplexing media descriptions with potential configurations specified, there MAY be a need for coordinating this selection - between multiplexed media descriptions ensuring right multiplexing - behavior. + between multiplexed media descriptions to ensure the right + multiplexing behavior. Although it is possible to analyze the various potential configurations in multiplexed media descriptions to find combinations that satisfy such constraints, it can quickly become complicated to do so. The procedures defined in [RFC5939] state that each potential configuration in the SDP has a unique configuration number, however the scope of uniqueness is limited to each media description. To make it simple for the answerer to chose valid combinations of @@ -2858,31 +2941,30 @@ bundle-pcfg, then the resulting SDP will have all multiplexing constraints satisfied for those media descriptions. o Since it is nearly impossible to define a generic mechanism for various capability extensions, this document does't provide procedures for dealing with the capability extension attributes. However, Section 14.3 provide analysis of media capability extension attributes as defined in [RFC6871]. The above allows the answerer to easily find multiplexing compatible - combinations of potential configurations:- The answerer simply choses + combinations of potential configurations: The answerer simply choses a potential configuration (number) that is present in all of the media descriptions with potential configurations in the bundle. Note that it is still possible for the offerer to provide additional potential configurations with independent configuration numbers. The answerer will have to perform more complicated analysis to determine valid multiplexed combinations of those. 14.2.1.1. Example: Transport Capability Multiplexing - v=0 o=alice 2890844526 2890844527 IN IP4 host.atlanta.example.com s= c=IN IP4 host.atlanta.example.com t=0 0 a=tcap:1 RTP/SAVPF a=tcap:2 RTP/SAVP a=group:BUNDLE audio video m= audio a=mid:audio @@ -2976,35 +3058,35 @@ mode-set=0,2,4,7 a=rmcap:4 audio AMR/8000/1 a=rmcap:5 audio OPUS/48000/2 a=mfcap:5 minptime=40 a=mfcap:4 mode-change-capability=1 a=pcfg:1 m=4 pt=4:97 a=pcfg:4 m=5 pt=5:101 In the example above, the potential configuration number "1" is repeated when referring to media and media format capability used for - the Payload Type 97. This implies that both the media capability 2 + the Payload Type 96. This implies that both the media capability 2 and 4 along with their media format capabilities MUST refer to the same codec configuration, as per the definition of IDENTICAL-PER-PT. 14.3.2. Recommendation: Dealing with Latent Configurations [RFC6871] adds the notion of a latent configurations, which provides configuration information that may be used to guide a subsequent offer/exchange, e.g. by adding another media stream or use alternative codec combinations not currently offered. Latent configurations have configuration numbers which cannot overlap with the potential configuration numbers [RFC6871]. Supported combinations of potential and latent configurations are indicated by - use of the "a=sescap" attribute, however use of this attribute is not - recommended with multiplexed media, since it requires the use of + use of the "a=sescap" attribute, however use of this attribute is NOT + RECOMMENDED with multiplexed media, since it requires the use of unique configuration numbers across the SDP. Taken together, this means there is no well-defined way to indicate supported combinations of latent configurations, or combinations of latent and potential configurations with multiplexed media. It is still allowed to use the latent configuration attribute, however the limitations above will apply. To determine valid combinations, actual negotiation will have to be attempted subsequently instead. 15. IANA Considerations @@ -3121,20 +3202,26 @@ | rtsp-ice-d-m | NOT RECOMMENDED | +---------------------+------------------+ 15.2.3. Table: att-field (both session and media level) The following values are to be added to the "att-field (both session and media level)" subregistry in the "Session Description Protocol (SDP) Parameters" registry. The references should be updated to point at this RFC as well as the previous references. + NOTE: The attributes from draft-ietf-rmt-flute-sdp ('flute-tsi', + 'flute-ch', 'FEC-declaration', 'FEC-OTI-extension', 'content-desc') + were not analyzed for their multiplexing behavior due to the expired + status of the draft. For purposes of this specification, the + multiplexing category of 'TBD' is assigned. + +-------------------------+-------------------+ | SDP Name | Mux Category | +-------------------------+-------------------+ | recvonly | NORMAL | | sendrecv | NORMAL | | sendonly | NORMAL | | sdplang | NORMAL | | lang | NORMAL | | h248item | SPECIAL | | sqn | NORMAL | @@ -3206,38 +3293,38 @@ | orient | NORMAL | | orient:portrait | NORMAL | | orient:landscape | NORMAL | | orient:seascape | NORMAL | | framerate | IDENTICAL-PER-PT | | quality | NORMAL | | rtpmap | IDENTICAL-PER-PT | | fmtp | IDENTICAL-PER-PT | | rtpred1 | NOT RECOMMENDED | | rtpred2 | NOT RECOMMENDED | - | T38FaxVersion | NORMAL | - | T38MaxBitRate | NORMAL | - | T38FaxFillBitRemoval | NORMAL | - | T38FaxTranscodingMMR | NORMAL | - | T38FaxTranscodingJBIG | NORMAL | - | T38FaxRateManagement | NORMAL | - | T38FaxMaxBuffer | NORMAL | - | T38FaxMaxDatagram | NORMAL | - | T38FaxUdpEC | NORMAL | + | T38FaxVersion | TBD | + | T38MaxBitRate | TBD | + | T38FaxFillBitRemoval | TBD | + | T38FaxTranscodingMMR | TBD | + | T38FaxTranscodingJBIG | TBD | + | T38FaxRateManagement | TBD | + | T38FaxMaxBuffer | TBD | + | T38FaxMaxDatagram | TBD | + | T38FaxUdpEC | TBD | | maxptime | IDENTICAL-PER-PT | | des | NOT RECOMMENDED | | curr | NOT RECOMMENDED | | conf | NOT RECOMMENDED | | mid | NORMAL | | rtcp | TRANSPORT | | rtcp-fb | IDENTICAL-PER-PT | | label | NORMAL | - | T38VendorInfo | NORMAL | + | T38VendorInfo | TBD | | crypto | TRANSPORT | | eecid | NOT RECOMMENDED | | aalType | NOT RECOMMENDED | | capability | NOT RECOMMENDED | | qosClass | NOT RECOMMENDED | | bcob | NOT RECOMMENDED | | stc | NOT RECOMMENDED | | upcc | NOT RECOMMENDED | | atmQOSparms | NOT RECOMMENDED | | atmTrfcDesc | NOT RECOMMENDED | @@ -3273,45 +3360,45 @@ | onewaySel | NOT RECOMMENDED | | codecConfig | NOT RECOMMENDED | | isup_usi | NOT RECOMMENDED | | uiLayer1_Prot | NOT RECOMMENDED | | chain | NOT RECOMMENDED | | floorctrl | IDENTICAL | | confid | NORMAL | | userid | NORMAL | | floorid | NORMAL | | FEC | NORMAL | - | accept-types | NORMAL | - | accept-wrapped-types | NORMAL | - | max-size | NORMAL | - | path | NORMAL | + | accept-types | TBD | + | accept-wrapped-types | TBD | + | max-size | TBD | + | path | TBD | | dccp-service-code | NOT RECOMMENDED | | rtcp-mux | IDENTICAL | | candidate | TRANSPORT | | ice-mismatch | NORMAL | | remote-candidates | TRANSPORT | - | SRTPAuthentication | NORMAL | - | SRTPROCTxRate | NORMAL | + | SRTPAuthentication | TBD | + | SRTPROCTxRate | TBD | | rtcp-rsize | IDENTICAL | - | file-selector | NORMAL | - | file-transfer-id | NORMAL | - | file-disposition | NORMAL | - | file-date | NORMAL | - | file-icon | NORMAL | + | file-selector | TBD | + | file-transfer-id | TBD | + | file-disposition | TBD | + | file-date | TBD | + | file-icon | TBD | | file-range | NORMAL | - | depend | IDENTICAL-PER-PT | + | depend | TBD-PER-PT | | ssrc | NORMAL | | ssrc-group | NORMAL | | rtcp-unicast | IDENTICAL | | pcfg | SPECIAL | | acfg | SPECIAL | - | zrtp-hash | NOT RECOMMENDED | + | zrtp-hash | TRANSPORT | | X-predecbufsize | NOT RECOMMENDED | | X-initpredecbufperiod | NOT RECOMMENDED | | X-initpostdecbufperiod | NOT RECOMMENDED | | X-decbyterate | NOT RECOMMENDED | | 3gpp-videopostdecbufsize | NOT RECOMMENDED | | framesize | NOT RECOMMENDED | | 3GPP-SRTP-Config | NOT RECOMMENDED | | alt | NOT RECOMMENDED | | alt-default-id | NOT RECOMMENDED | | 3GPP-Adaption-Support | NOT RECOMMENDED | @@ -3328,37 +3415,37 @@ | ecn-capable-rtp | IDENTICAL | | visited-realm | TRANSPORT | | secondary-realm | TRANSPORT | | omr-s-cksum | NORMAL | | omr-m-cksum | NORMAL | | omr-codecs | NORMAL | | omr-m-att | NORMAL | | omr-s-att | NORMAL | | omr-m-bw | NORMAL | | omr-s-bw | NORMAL | - | msrp-cema | NORMAL | + | msrp-cema | TBD | | dccp-port | NOT RECOMMENDED | | resource | NORMAL | | channel | NORMAL | | cmid | NORMAL | | content | NORMAL | | lcfg | SPECIAL | | loopback | NORMAL | | loopback-source | NORMAL | | loopback-mirror | NORMAL | | chatroom | TBD | | altc | TRANSPORT | - | T38FaxMaxIFP | NORMAL | - | T38FaxUdpECDepth | NORMAL | - | T38FaxUdpFECMaxSpan | NORMAL | - | T38ModemType | NORMAL | - | cs-correlation | NORMAL | + | T38FaxMaxIFP | TBD | + | T38FaxUdpECDepth | TBD | + | T38FaxUdpFECMaxSpan | TBD | + | T38ModemType | TBD | + | cs-correlation | TBD | | rtcp-idms | NORMAL | +---------------------------+-------------------+ 15.2.5. Table: att-field (source level) The following values are to be added to the "att-field (source level)" registry in the "Session Description Protocol (SDP) Parameters" registry. The references should be updated to point at this RFC as well as the previous references. @@ -3464,24 +3551,24 @@ 15.2.11. Table: 'cs-correlation' Attribute Values The following values are to be added to the " "cs-correlation" Attribute Values" subregistry in the "Session Description Protocol (SDP) Parameters" registry. The references should be updated to point at this RFC as well as the previous references. +-----------+--------------+ | Value | Mux Category | +-----------+--------------+ - | callerid | NORMAL | - | uuie | NORMAL | - | dtmf | NORMAL | - | external | NORMAL | + | callerid | TBD | + | uuie | TBD | + | dtmf | TBD | + | external | TBD | +-----------+--------------+ 15.2.12. Table: Semantics for the 'ssrc-group' SDP Attribute The following values are to be added to the Semantics for the "Semantics for the "ssrc-group" SDP Attribute" subregistry in the "Session Description Protocol (SDP) Parameters" registry. The references should be updated to point at this RFC as well as the previous references. @@ -3526,22 +3613,22 @@ 15.2.15. Table: QoS Mechanism Tokens The following values are to be added to the "QoS Mechanism Tokens" subregistry in the "Session Description Protocol (SDP) Parameters" registry. The references should be updated to point at this RFC as well as the previous references. +---------------+--------------+ | QoS Mechanism | Mux Category | +---------------+--------------+ - | rsvp | NORMAL | - | nsis | NORMAL | + | rsvp | TRANSPORT | + | nsis | TRANSPORT | +---------------+--------------+ 15.2.16. Table: SDP Capability Negotiation Option Tags The following values are to be added to the "SDP Capability Negotiation Option Tags" subregistry in the "Session Description Protocol (SDP) Parameters" registry. The references should be updated to point at this RFC as well as the previous references. +---------------+--------------+ @@ -3619,28 +3706,37 @@ Ian Johansson(5.15), Saravanan Shanmugham(5.11), Paul E Jones(5.30), Rajesh Kumar(5.48), Jonathan Lennox(5.36,5,15,9.1,11.1), Mo Zanaty(5.4,5.5,5.23,8.1,8.3,8.5,12.1), Christian Huitema (5.14), Qin Wu (5.47 PM-Dir review), Hans Stokking(5.43,5.16), Christian Groves (5.48,5.55), Thomas Stach. 18. Change Log [RFC EDITOR NOTE: Please remove this section when publishing] + Changes from draft-ietf-mmusic-sdp-mux-attributes-06 - 08 + + o Assigned TBD category to all the attributes for whom there exists + no specification on multiplexing behavior over the underlying + transport protocol today. + + o Incorporated comments from Flemming and Ari (post last call) + Changes from draft-ietf-mmusic-sdp-mux-attributes-06 o Incorporated last call review comments from Thomas Stach and Ari Keranen. o Fixed more nits to prep for the LastCall. Changes from draft-ietf-mmusic-sdp-mux-attributes-05 + o Incorporated review comments from Christian Grooves and Ari Keranen. o Fixed more nits to prep for the LastCall. Changes from draft-ietf-mmusic-sdp-mux-attributes-04 o Fixed minor nits overall. o Updated Acknowledgement Sections @@ -3755,23 +3851,23 @@ [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session Description Protocol", RFC 4566, July 2006. 19.2. Informative References [H.248.15] "Gateway control protocol: SDP H.248 package attribute", . [I.D-draft-ietf-dart-dscp-rtp] - Black, D. and P. Jones, "The Session Description Protocol - (SDP) Content Attribute", draft-ietf-dart-dscp-rtp-07 - (work in progress), September 2014. + Black, D. and P. Jones, "Differentiated Services + (DiffServ) and Real-time Communication", draft-ietf-dart- + dscp-rtp-10 (work in progress), September 2014. [IANA] "Session Description Protocol (SDP) Parameters", . [Q.1970] "Q.1970 : BICC IP bearer control protocol", . [R3GPPTS183.063] "TISPAN - IMS based ITPV Stage 3 specification.",