B. Beser Internet Draft 3Com Document: draft-beser-mmusic-capabilities-00.txt March 2000 Category: Informational Codec Capabilities Attribute for SDP Status of this Memo This document is an Internet-Draft and is NOT offered in accordance with Section 10 of RFC2026 [1], and the author does not provide the IETF with any rights other than to publish as an Internet-Draft 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. 1. Abstract The need for assured communication arisen protocols like RSVP [2] and SBM [3] which are linked to access technologies to guarantee the delay and drop probabilities of a given IP flow. One of the side-effects of the assurance is that when the bandwidth of the IP flow goes outside the contracted region then the IP flow will be disturbed and the communication will be effected. This document discusses the effects of assured communication to SDP protocol, identifies the weaknesses and proposes a new attribute to rectify these weaknesses. 2. Conventions used in this document 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 [4]. Internet Draft draft-beser-mmusic-capabilities-00.txt March 2000 4. Introduction The introduction of commercial services (e.g. VoIP) brought along with the quality concept. Although the quality has many dimensions one of the basic aspects of quality is the packet delay and drop probabilities. Resource Reservation Protocol (RSVP) answers these basic QoS requirements by making a contract with the client. Using RSVP protocol the client defines its IP flow using a set of filters and defines its IP flow by using a set of measures. When the Router accepts the contract it is assumed that as far as the client is within the contracted parameters it will get the requested QoS. The Session Description Protocol [5] which is designed for the advertisement of conference sessions and communicate the relevant conference setup information to recipients. SDP by definition does not contain elements that would enable the end-points for media encoding negotiations. In this document a new attribute Codec Capabilities is defined such that end-points will know codec choices at the same time having definite codec(s) agreed for communication. 5. The Current SDP Codec Communication Several drafts are written to identify and solve problems involving QoS setup in IP telephony [6, 7, 8]. In all of the drafts that are cited it is assumed that the both ends of communication will have a solid understanding of which codec the other side will use. For example consider the call flow of Figure 1 which is taken from [6] which uses SIP messaging [9]. A B ----------INV-(1)------------> <------180 w/SDP-(2)----------- <.....PATH..B2A................ ..........RESV.B2A............> ..........PATH.A2B............> <,,,,,,,,RESVCONF B2A,,,,,,,,,, LOCAL RB <........RESV...A2B............ ,,,,,,,,,,,,RESVCONF A2B,,,,,,> RINGING <--------------- 200 OK-(3)---- --------------ACK ------------> Internet Draft draft-beser-mmusic-capabilities-00.txt March 2000 For the case of simplicity lets assume that both A and B has two codec's G.726 for voice communications and G.711 for fax and modem. In this case the SIP messages INVITE, 183 and 200 OK will contain the following SDP's. INVITE (1) SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=TakeMeHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 96 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv 183 (2) SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 96 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv 200OK (3) SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 96 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv At the end of the messaging both of the ends have information regarding both ends, meaning G.711 and G.726 codecs. The problem is that if both ends does not have any kind of pre- agreement than although both ends will use 8Kb/s bandwidth they has to reserve 64Kb/s since they cannot control when will the other end switch to the high bandwidth codec. Which would mean that there will be an over-reservation of 56Kb/s. Internet Draft draft-beser-mmusic-capabilities-00.txt March 2000 6. Codec Capabilities The _m=_ Media Announcements has double interpretations: first it contains the capabilities of the receiver, and second it contains the expected Codec(s) at the same time. The proposed attribute codec Capabilities takes the double meaning from Media Announcements. Codec Capabilities shows to the other end the originators capabilities and preferences. 7. Definition The Codec Capabilities attribute is defined as: a= cap: The definitions of and are the same as Media Announcement and they are used for identifying the correct media announcement for the cases that there are more than one media announcement. The is an preference list containing: = ["/"["/"]] The leftmost item in the list is the most desired codec to be used with the order of decreasing reference moving right in the list. The contains the payload types that the originator is willing to send and/or receive. The field is optional and if exists it MUST contain one of the following: r: if the client is willing to receive (default). s: if the client is willing to send. a: if the client is willing to send and/or receive. b: if the client is willing to both send and receive. The nonexistence of field means the client is willing to receive. The difference between "a" and "b" is the fact that if "a" is used it is possible for a media exchange in one direction and with a different selection in the other direction. If "b" is to be used the media exchange can only take place if both directions use the same codec type. The field is optional and if exists it is used for tying multiple media streams together. If there is no grouping for the payload type than either 0 SHOULD be used or the field MUST be omitted. Internet Draft draft-beser-mmusic-capabilities-00.txt March 2000 8. Examples 8.1. IP Telephony If the previous example is to be re-written: INVITE SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 a=cap: audio 49170 RTP/AVP 0/a/0 96/a/0 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv 183 SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 a=cap: audio 49170 RTP/AVP 0/a/0 96/a/0 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv 200OK SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 a=cap: audio 49170 RTP/AVP 0/a/0 96/a/0 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv 8.2. UAS with Limited Processing Power If the UAS has limited processing power and cannot handle both sending and receiving of low bandwidth codecs simultaneously then the SDP will be: INVITE SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome Internet Draft draft-beser-mmusic-capabilities-00.txt March 2000 c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 a=cap: audio 49170 RTP/AVP 0/b/0 96/s/1 0/r/1 0/s/2 96/r/2 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv 8.3. Sending Capabilities without Tying the Originator Codec In all of the examples above the originator set the Codec it wants to receive without knowing the other ends capabilities. The only way to achieve this is to have symmetric codec definition for bth send and receive dircetions such that the receiving end chooses the codec for both directions. The SDP exchange will be: INVITE SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 96 a=cap: audio 49170 RTP/AVP 0/b/0 96/b/0 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv 183 SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 a=cap: audio 49170 RTP/AVP 0/a/0 96/a/0 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv At the end of 183 exchange both ends has the codec(s) that will be used both directions for media exchange, and originator has the knowledge that the terminating end can support any codec combination, and the preferred codec is G.726. 8.4. Codec change The codec change by the consent of other end can be achieved by changing the first payload type defined in the Codec Capablities List. If the above example the originator decides that both ends should change to a lower bandwidth codec G726 then the SDP exchange will be: Internet Draft draft-beser-mmusic-capabilities-00.txt March 2000 INVITE SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 a=cap: audio 49170 RTP/AVP 96/b/0 0/b/0 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv 183 SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 96 a=cap: audio 49170 RTP/AVP 0/a/0 96/a/0 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv Notice that the terminating end still shows its preference for the higher bandwidth lower processing power codec keeping the preference list the same. 8.5. Rejection of Codec Change If in the above example the other end is to reject the request because it does not have processing power than it would reply with SDP: 183 SDP: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 a=cap: audio 49170 RTP/AVP 0/a/0 96/a/0 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv In the above SDP the G.726 is still retained in the capabilities but it is possible for the other end not to use the codec anymore which would result with the SDP: 183 SDP: Internet Draft draft-beser-mmusic-capabilities-00.txt March 2000 v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 a=cap: audio 49170 RTP/AVP 0/a/0 a=rtpmap:0 PCMU/8000 a=rtpmap:96 G726-32/8000 a=qos:mandatory sendrecv 8.6. Tying Multiple Media Types If there is a limited bandwidth between two end-points that is not sufficient for both high quality high bandwidth voice Codec and Video communications. Than the definition of SDP will be: High Quality Voice: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 99 a=cap: audio 49170 RTP/AVP 99/a/0 0/a/1 a=rtpmap:0 PCMU/8000 a=rtpmap:99 VeryHighQualityCodec/64000 a=qos:mandatory sendrecv a=cap: video 51372 RTP/AVP 31 b 1 Both Voice and Video: INVITE: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=WannaGoHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 99 a=cap: audio 49170 RTP/AVP 0/a/1 99/a/0 a=rtpmap:0 PCMU/8000 a=rtpmap:99 VeryHighQualityCodec/64000 a=qos:mandatory sendrecv a=cap: video 51372 RTP/AVP 31 b 1 183/200: v=0 o=MotherShip 2987933615 2987933615 IN IP4 1.2.3.4 s=TakeMeHome c=IN IP4 224.2.17.12/127 t=907165245 0 m=audio 49170 RTP/AVP 0 a=cap: audio 49170 RTP/AVP 0/a/1 99/a/0 a=rtpmap:0 PCMU/8000 a=rtpmap:99 VeryHighQualityCodec/64000 Internet Draft draft-beser-mmusic-capabilities-00.txt March 2000 a=qos:mandatory sendrecv m= video 51372 RTP/AVP 31 b 1 a=cap: video 51372 RTP/AVP 31 b 1 9. Security Considerations If the contents of the SDP contained in the messages are private then end-to-end encryption of the message body can be used to prevent unauthorized access to the content. 10. References 1. Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. 2. RFC 2210, The Use of RSVP with IETF Integrated Services by J. Wroclawski, September 1997. 3. SBM (Subnet Bandwidth Manager): A Protocol for RSVP-based Admission Control over IEEE 802-style networks by Raj Yavatkar, Don Hoffman, Yoram Bernet, Fred Baker and Michael Speer. Internet-Draft, work in progress, May 1999. 4. Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 5. M. Handley and V. Jacobson, "SDP: session description protocol, "Request for Comments (Proposed Standard) 2327, Internet Engineering 6. Rosenberg, J., Schulzrinne,H., Donovan S., _Establishing QoS and Security Preconditions for SDP Sessions_, Internet Draft, April 1998 7. Manyfolks, " Integration of Resource Management and SIP for IP Telephony", draft-manyfolks-sip-resource-00.txt, March 2000. 8. Sinnreich, H., Donovan, S., Rawlins, D., Thomas, S., _IP Communication with QoS, Authorization and Usage Reporting_, draft-sinnreich-sip-qos-sp-00.txt, October 1999. 9. M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, "SIP: session initiation protocol," Request for Comments (Proposed Standard) 2543, Internet Engineering Task Force, Mar. 1999. 11. Acknowledgments I would like to extend a heartfelt thanks to all those who contributed to the development of PacketCable DCS specification. Particular thanks are given Mike Mannette, Kurt Steinbrenner (3Com); Dave Boardman (Arris), K.K. Ramakrishnan, Bill Marshall, Doug Nortz, Chuck Kalmanek, and Tung-Hai Hsiao (AT&T); Dave Oran, Bill Guckel, Flemming Andreasen and Michael Ramalho (Cisco); John Pickens (Com21); D.R. Evans (Lucent Cable Communications); Poornima Internet Draft draft-beser-mmusic-capabilities-00.txt March 2000 Lalwaney, Jon Fellows, John Wheeler (Motorola); Keith Kelly (NetSpeak); Edward Miller, and Glenn Russell (CableLabs). 11. Author's Address Burcak Beser 3Com Mount Prospect, IL 60056 Email: Burcak_Beser@3com.com Internet Draft draft-beser-mmusic-capabilities-00.txt March 2000