Network Working Group H. Desineni Internet-Draft N. Leung Updates: 3264 (if approved) Qualcomm Intended status: Standards Track July 18, 2007 Expires: January 19, 2008 Bandwidth attributes in SDP Offer/Answer model draft-hdesinen-mmusic-oa-bw-attr-00.txt Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on January 19, 2008. Copyright Notice Copyright (C) The IETF Trust (2007). Desineni & Leung Expires January 19, 2008 [Page 1] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 Abstract This document defines several SDP bandwidth attributes that can be used while establishing unicast multimedia sessions with SDP offer/ answer model. The defined SDP attributes can also be used to make optimized QoS resource allocation decisions over links in the end-to- end media path. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Background . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Asymmetric bandwidth problem . . . . . . . . . . . . . . . . . 6 5. The MSR Bandwidth Modifier . . . . . . . . . . . . . . . . . . 7 5.1. Definition . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2. Usage Rules . . . . . . . . . . . . . . . . . . . . . . . 7 5.3. ABNF Definition . . . . . . . . . . . . . . . . . . . . . 7 5.4. Example . . . . . . . . . . . . . . . . . . . . . . . . . 7 6. Additional bandwidth attributes for optimized QoS resource allocation . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6.1. MSPR . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6.2. PPO . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6.3. RB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6.4. Bit-rate over the last and first hop links . . . . . . . . 9 6.5. Example offer/answer exchange . . . . . . . . . . . . . . 10 7. Obsolete the RFC3890 mandated usage of 'maxprate' with 'TIAS' . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 8. Elastic bit-rate limits . . . . . . . . . . . . . . . . . . . 13 8.1. ERB . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 8.2. ESB . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 8.3. Example . . . . . . . . . . . . . . . . . . . . . . . . . 13 9. ABNF definitions for new SDP attributes . . . . . . . . . . . 15 10. Security Considerations . . . . . . . . . . . . . . . . . . . 16 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 18 12.1. Normative References . . . . . . . . . . . . . . . . . . . 18 12.2. Informative References . . . . . . . . . . . . . . . . . . 18 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19 Intellectual Property and Copyright Statements . . . . . . . . . . 20 Desineni & Leung Expires January 19, 2008 [Page 2] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 1. Introduction RFC 3264 defines the SDP Offer/answer model for unicast multimedia sessions where information from both participants is needed for the complete view of the session. According to RFC 3264, bandwidth attribute present in the SDP offer signals the desired bandwidth that the offerer would like to receive. Hence, bandwidth attributes "AS" and "TIAS" defined in RFC 3550 and RFC 3890 respectively can only be used as receive-only attributes in SDP offer/answer model. A stream receiver (Offerer or Answerer) signals the value of "TIAS" based on maximum media bitrate it desires to receive. The stream sender (Answerer or Offerer) may send media at a maximum bitrate much lower than "TIAS". Knowing the sender's (smaller) maximum media bitrate and parameters like per packet protocol header overhead enables better resource allocation over first/last hop links. An offerer usually does not have a good estimate of 'maxprate' defined in RFC 3890. This is due to the fact that the sender's packetization behavior is totally outside the control of the stream receiver. While using variable rate video codecs, the output RTP packet rate of a sender does not remain constant. Any video bandwidth estimations based on maximum video packet rate can be misleading. Advanced packet-switched wide area networks (e.g., 3GPP HSPA) have evolved towards providing elastic bandwidth capacity limits to their terminals. Such terminals are allowed to operate in an elastic bandwidth zone between two bandwidth limits, the guaranteed bitrate (GBR) and the maximum bitrate (MBR). For example, a video codec can adapt its video encoding rate in the elastic bandwidth zone enforced by the network. This document defines two bandwidth attributes which capture the elastic media stream bandwidth limits enforced by a network on its terminals. Desineni & Leung Expires January 19, 2008 [Page 3] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 2. Conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [1]. Desineni & Leung Expires January 19, 2008 [Page 4] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 3. Background SDP offer/answer model defined in RFC3264 does not define sufficient bandwidth attributes that can help optimized resource allocation over links in the end-to-end the media path. Section 4 captures a use case which describes the need for additional SDP attributes. Section 5.8 of RFC 4566 defines the syntax for "b=" bandwidth attribute. It also defines the bandwidth type "AS" as application's concept of maximum bandwidth. According to section 6.2 of RFC 3550, for RTP based applications, "AS" includes the header overhead due to lower layer transport and network protocols (e.g., UDP, IP ) and does not include the overhead due to link level headers. Section 6.2 of RFC 3890 defines the bandwidth type "TIAS". In the context of RTP transport, "TIAS" provides the bandwidth for RTP payload which includes payload format header and payload data. "TIAS" does not include any other layer overhead including RTP layer. According to RFC3264, any bandwidth attribute present in an SDP offer signals the desired bandwidth that the offerer would like to receive. Hence, bandwidth attributes "AS" and "TIAS" defined in RFC 3550 and RFC 3890 respectively can only be used as receive-only attributes in SDP offer/answer model. Desineni & Leung Expires January 19, 2008 [Page 5] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 4. Asymmetric bandwidth problem In SDP offer/answer model, the answerer's send bitrate for the stream in answerer->offerer direction depends on the value of "AS" or "TIAS" signaled in the SDP offer. The answerer may send media at a bit-rate much lower than "AS" or "TIAS" signaled by the offerer. This could be due to several reasons including QoS resource limitation over the answerer's first hop link. Similarly, offerer's send bitrate for the stream in offerer->answerer direction may be much lower than "AS" or "TIAS" signaled in the SDP answer. Wireless wide area networks commonly have some type of QoS negotiation enabling the sending device to learn the maximum bitrate available over the first hop link (uplink). Signaling the maximum media send bitrate to the receiving device can be beneficial to allocate proper QoS resources over the media path. Such signaling is especially useful in preventing resource over allocation over last hop wireless link. Bandwidth inequality over first and last hop links can also arise when the offerer and answerer are attached to different types of networks. e.g., Offerer is a cellular device and answerer is a PC phone with a more restrictive first hop link speed. The 'MSR' bandwidth modifier defined in the following section can be used to specify the maximum media bitrate in 'send' direction of a stream. For an example usage, see Section 5.4. Desineni & Leung Expires January 19, 2008 [Page 6] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 5. The MSR Bandwidth Modifier 5.1. Definition MSR bandwidth modifier is defined as shown below: b=MSR: ; see [7] for ABNF definition. The Maximum Send Rate (MSR) bandwidth modifier specifies the maximum media bitrate in 'send' direction of a stream in SDP offer/answer model. 'MSR' has an integer bit-rate value in bits per second. A fractional bandwidth value SHALL always be rounded up to the next integer. The bandwidth value is the maximum bit-rate without counting the protocol header bytes from IP or other transport layers like TCP,UDP and RTP. 5.2. Usage Rules 'MSR' bandwidth modifier is intended to be used only at the SDP media level. It MUST not be used with a 'recvonly' stream. 5.3. ABNF Definition The bandwidth modifier: MSR-bandwidth-def = "b" "=" "MSR" ":" bandwidth-value CRLF bandwidth-value = 1*DIGIT 5.4. Example Alice offers a receive only stream to Bob with maximum receive media bitrate ("TIAS") 128000bps (H.263 profile 0 level 45). Bob responds with SDP answer by marking the stream as sendonly. Note that the SDP answer from Bob does not include any bandwidth attribute as it contains a sendonly stream. [Offer from Alice] m=video 34564 RTP/AVP 96 a=rtpmap:96 h263-1998/90000 a=fmtp:96 profile=0; level=45; b=TIAS:128000 a=maxprate:20 a=recvonly Desineni & Leung Expires January 19, 2008 [Page 7] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 [Answer from Bob] m=video 46236 RTP/AVP 96 a=rtpmap:96 h263-1998/90000 a=fmtp:96 profile=0;level=45; a=sendonly Due to QoS limitation on its first hop link, Bob can send media at maximum bitrate of 64000bps only. Unaware of Bob's maximum media bitrate, Alice overallocates QoS resources on its access (last hop) link. Signaling Bob's maximum media bitrate in the SDP answer can help Alice reserve correct QoS resources in its access (last hop) link. The complete offer/answer example with proposed bandwidth attribute 'MSR' is shown below. [Offer from Alice] m=video 34564 RTP/AVP 96 a=rtpmap:96 h263-1998/90000 a=fmtp:96 profile=0; level=45; b=TIAS:128000 a=maxprate:20 a=recvonly [Answer from Bob] m=video 46236 RTP/AVP 96 a=rtpmap:96 h263-1998/90000 a=fmtp:96 profile=0;level=45; b=MSR:64000 a=sendonly Desineni & Leung Expires January 19, 2008 [Page 8] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 6. Additional bandwidth attributes for optimized QoS resource allocation Note that 'MSR' attribute alone is not sufficient to capture the end to end QoS requirement for a unicast media stream. A media sender is not aware of the actual bit-rate that results over the last hop downlink of the receiver. Signaling per packet overhead (PPO) at the receiver's downlink can help a sender estimate the resulting bit-rate over the receiver's downlink. The attributes defined in the following section can help both sender and receiver compute the bitrate that results over first and last hop links. An underlying assumption is that the media bit-rate (excluding the header overhead) will not change end to end. There might be changes in the protocol header overhead as the media traverses different types of networks (E.g.,IPv4 to IPv6 cloud). 6.1. MSPR Maximum Send Packet Rate (MSPR) is defined as the maximum RTP packet rate at a stream sender. This is a send only attribute and it is signaled by media sender. An intermediate node (Gateway or a SIP B2BUA) which performs protocol layer translation (e.g., IPv4 to IPv6) can use this attribute to estimate the total stream bandwidth, including protocol overhead, that is required in the destination network. 6.2. PPO Per Packet Overhead (PPO) is defined as the average per packet overhead counted in bytes, measured from layer 'X' to the RTP media layer (including the RTP header), where layer 'X' can be any layer below RTP. This is a receive only attribute and it is signaled by media receiver. 6.3. RB Receive Bit-rate (RB) is defined as the last hop's maximum receiver bit-rate at layer 'X'. 'RB' will be same as 'AS' if 'X' is IP layer and there is no compression above IP layer. This is a receive only attribute and it is signaled by media receiver. According to RFC3550, the bandwidth attribute "AS" can be used only when IP/UDP/ RTP headers are not compressed. "RB" is useful in environments where a link in the media path uses header compression. 6.4. Bit-rate over the last and first hop links Using the attributes defined in the above sections and using the following formula, a sender can calculate the resulting bit-rate over Desineni & Leung Expires January 19, 2008 [Page 9] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 the receiver's last hop link, at the same layer 'X' at which RB was computed. br-last-hop is the maximum media bit-rate over the last hop link. br-last-hop = MSR + (MSPR * PPO) To prevent exceeding the capacity of the last hop link, a media sender can choose a combination of MSR and MSPR such that the value of br-last-hop does not exceed the value of RB signaled by the media receiver. (MSR+(MSPR * PPO)) <= RB A sender may not send at RB due to bandwidth limitations over its immediate first hop link. Under such circumstances, signaling the value of br-last-hop can benefit the receiver to allocate only necessary QoS resources over its downlink. br-last-hop can be signaled using the attribute 'SB' (Send Bandwidth). A sender has the freedom to choose a combination of actual media bit-rate and actual packet rate as long as the resulting value of SB does not exceed the value of RB. A media sender will choose SB such that SB <= RB. SB can be calculated using the following formula: SB = (Actual MSR + Actual packet rate * PPO over the receiver's downlink) Note that both SB and RB denote the bit-rate at the same protocol layer 'X' on the receiver's link as selected by the receiver when reporting its PPO value. This document recommends stream receivers to signal the SDP attributes 'RB' and 'PPO' at layer 'X', and TIAS. It recommends stream senders to signal the attributes 'SB' also at layer 'X' and 'MSR'. 6.5. Example offer/answer exchange Alice make the following SDP offer Bob. Alice's downlink has 40 bytes of per packet protocol overhead and it can support video at a maximum bit-rate of 140800bps (including protocol overhead). Alice can send video at a maximum bit rate of 64000bps (excluding protocol overhead). m=video <> b=TIAS:128000 (bps) b=RB:140800 (bps) a=PPO:40 (bytes) b=MSR:64000 (bps) Desineni & Leung Expires January 19, 2008 [Page 10] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 Bob sends the following SDP answer in response to the SDP offer from Alice. Bob's downlink can provide the QoS resources required to support Alice's video stream. Bob's uplink video stream requires less QoS resources than offered over Alice's downlink. m=video <> b=TIAS:64000 (bps) b=RB:76800 (bps) a=PPO:40 (bytes) b=MSR:64000 (bps) b=SB:72000; MSPR:25 Desineni & Leung Expires January 19, 2008 [Page 11] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 7. Obsolete the RFC3890 mandated usage of 'maxprate' with 'TIAS' Per RFC3890, it is mandatory to signal 'maxprate' with 'TIAS'. The following are some of the disadvantages of this approach. An encoder implementation for an application typically only supports a limited number of packetization rates. For example, a speech service usually has a fixed frame duration and video encoders may be optimized for only generating a certain number of video slices per video frame at certain video frame rates. Without knowledge of these implementation limitations, a media receiver may easily set a maxprate value that does not match any of the sender's packetization rates. This can result in unnecessarily restrictive operation as the sender has to use a lower packetization rate, thus underutilizing the bandwidth at the receiver's link. This could even result in no usable packetization rate if maxprate is set below the encoder's minimum rate. Furthermore, the purpose of maxprate is for the receiver to use this along with the TIAS parameter to limit the total stream bandwidth (including overhead) the sender would send over the receiver's link. However, compared to the 'PPO' and 'RB' parameters specified in sections 6.2 and 6.3 of this document, this approach is unnecessarily restrictive for achieving a bandwidth limit at the receiver. This prevents the sender from choosing among all combinations of media bit rates and packetization rates that would meet the receiver's bandwidth restrictions. Due to the above reasons, the mandatory usage of 'maxprate' with ''TIAS' in offer/answer model is obsoleted by this document. Note that a streaming session is still allowed to use 'maxprate' with 'TIAS' in a declarative manner. (Note: At the time of writing this document, per the knowledge of the authors, there are no offer/answer implementations of 'maxprate' with 'TIAS'. There are only declarative TIAS implementations in the offer/answer model) Desineni & Leung Expires January 19, 2008 [Page 12] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 8. Elastic bit-rate limits A flow is elastic if its source can handle the transport of its data over varying transport conditions such as variations in available bandwidth. To enable time-sensitive elastic applications such as packet-switched multimedia services to make more accurate use of elastic bandwidth capacity, some type of networks(e.g., 3GPP) are signalling both minimum guaranteed bandwidth and maximum elastic bandwidth limits to terminals in their network. The following parameters (ERB,ESB) enable end-terminals to coordinate and negotiate the elastic bandwidth limits provided by their respective networks. ERB and ESB shall always be set to the bandwidth values granted by the access network. Note that ERB and ESB are bit-rate values at the same protocol layer 'X' at which PPO attribute was signaled by the media receiver. 8.1. ERB ERB: Same as "RB" except that it indicates maximum receivable elastic throughput including media and overhead to protocol layer X. This is set based on a maximum elastic throughput limit communicated to the receiver by its network (Downlink MBR in 3GPP network). Combined with ERB information a sender can choose what combinations of media rate and packetization rate could fit through the receiver's "maximum receivable elastic bandwidth" constraint at layer X. This is a receive only attribute and hence signaled by only a media receiver. 8.2. ESB ESB: Same as "SB" except that it indicates maximum sending elastic throughput including media and overhead at protocol layer X. Layer 'X' is same as the layer at which ERB is signaled. This is set based on a maximum elastic throughput limit communicated to the sender by its network (Uplink MBR in 3GPP network). This is a sendonly attribute and hence signaled by only a media sender. Note that this attribute is sent only in response to "ERB" attribute received from a media receiver. 8.3. Example SDP offer from Alice to Bob: Using ERB, Alice signals the bandwidth granted by its access network. Desineni & Leung Expires January 19, 2008 [Page 13] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 m=video <> b=TIAS:256000 (bps, supported by the decoder) b=ERB:190000 (bps, signaled by the access network) b=RB:140000 (bps, signaled by the access network) a=PPO:40 (bytes) b=ESB:100000 (bps, signaled by the access network) b=SB:72000; MSPR:25 Bob sends the following SDP answer: Using ESB, Bos signals the bandwidth granted by its access network. m=video <> b=ERB:84000 (bps) b=RB:72000 (bps) a=PPO:40 (bytes) b=ESB:190000 (bps) b=SB:140000; MSPR:25 b=MSR:128000 (bps) Desineni & Leung Expires January 19, 2008 [Page 14] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 9. ABNF definitions for new SDP attributes ABNF definitions for the SDP attributes defined in Section 6 are TBD. Desineni & Leung Expires January 19, 2008 [Page 15] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 10. Security Considerations [TBD] Desineni & Leung Expires January 19, 2008 [Page 16] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 11. IANA Considerations [TBD] Desineni & Leung Expires January 19, 2008 [Page 17] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 12. References 12.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Schulzrinne, H., "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, March 1997. [3] Rosenberg, J., "An Offer/Answer Model with Session Description Protocol (SDP)", RFC 3264, June 2002. [4] Narten, T., "Guidelines for Writing an IANA Considerations Section in RFCs", RFC 2434, October 1998. [5] Handley, M., "SDP: Session Description Protocol", RFC 4566, July 2006. [6] Westerlund, M., "A Transport Independent Bandwidth Modifier for the Session Description Protocol (SDP)", RFC 3890, September 2004. [7] Crocker, C., "Augmented BNF for Syntax Specifications: ABNF", RFC 4234, October 2005. 12.2. Informative References [8] Schulzrinne, H., "RTP Profile for Audio and Video Conferences with Minimal Control", STD 65, RFC 3551, July 2003. [9] Schulzrinne, H., "Real Time Streaming Protocol (RTSP)", RFC 2326, April 1998. [10] Johnston, A., "SDP Offer/Answer Examples", RFC 4317, December 2005. [11] Westerlund, M., "Codec Control Messages in the RTP Audio-Visual Profile with Feedback (AVPF)", draft-ietf-avt-avpf-ccm-08.txt(Work in Progress) , July 2007. [12] Westerlund, M., "How to Write an RTP Payload Format", draft-ietf-avt-rtp-howto-00.txt(Work in Progress) , May 2006. Desineni & Leung Expires January 19, 2008 [Page 18] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 Authors' Addresses Harikishan Desineni Qualcomm 5775 Morehouse Drive San Diego, CA 92126 USA Phone: +1 858 845 8996 Email: hd@qualcomm.com URI: http://www.qualcomm.com Nikolai Leung Qualcomm 7710 Takoma Ave Takoma Park, MD 20912 USA Phone: +1 858 845 3333 Email: nleung@qualcomm.com URI: http://www.qualcomm.com Desineni & Leung Expires January 19, 2008 [Page 19] Internet-Draft Bandwidth attributes in SDP O/A model July 2007 Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgment Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Desineni & Leung Expires January 19, 2008 [Page 20]