Internet Engineering Task Force Madhubabu Brahmanapally Internet Draft Krishna Gundamaraju Document: Viswanadham Prerepa draft-madhubabu-megaco-qospackage-00.txt Kenetec Inc July 2001 Expires:January 2002 Megaco/H.248 QoS Packages Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [1]. 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 This document is work in progress and defines the basic QoS Package that addresses the different means of supporting Quality of service (QoS) on IP networks. This memo also defines the RSVP package (that falls into the Integrated services model) and the Differentiated services package in association with the Megaco/H.248 Protocol that can be used to control a Media Gateway (MG) from an external controller, called a Media Gateway controller (MGC). It is intended to satisfy the requirements in section 12 of the Megaco/H.248 requirement document [2]. 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 [3]. Madhubabu et.al Expires January 2002 1 Megaco/H.248 QoS Packages July 2001 3. Document Organization The rest of this draft is organized into the following major sections: * Introduction * Assumptions * Description of the Basic QoS package * Description of the RSVP package * Description of the DiffServ package * References * Author's Addresses 4. Introduction The IP network was not originally designed for supporting non-elastic real-time applications. Efforts were later made to overcome the problem faced by such applications. The two possible solutions identified are 1) to provide more network resource to support all types of applications and/or 2) with the existing network, design a control mechanism for traffic engineering for all the applications. As part of its standardization effort IETF has defined Integrated services and Differentiated services for addressing the traffic Engineering. The Integrated services defines an architecture for supporting real-time as well as the current non-real-time service of IP. The Differentiated services architecture achieves scalability by aggregating traffic classification state which is conveyed by means of IP-layer packet marking using the DS field. This memo is an effort to define a set of new Megaco packages for Integrated and Differentiated services. This ensures QoS for voice/multimedia applications when Megaco is used. This memo first defines a basic QoS Package that identifies the the actual QoS mechanism that needs to be used by the MG. The RSVP package is defined to include events, signals and properties that are exchanged between the MG and the MGC while supporting the Integrated services architecture. The DiffServ Package defines the events, signals and properties that enables MG and MGC to communicate the necessary information for the usage of Differentiated services. The RSVP package is defined to address both the Guaranteed service and Controlled-Load Service models. The ADSPEC object is required only for the intermediate nodes and hence this information is not exchanged between MG and MGC. Two set of properties namely the sending and receiving stream properties are defined as the traffic characteristics of sending and receiving streams may be different. Madhubabu et.al Expires January 2002 2 Megaco/H.248 QoS Packages July 2001 The DiffServ package enables the MGC to use either the Expedited Forwarding or Assured Forwarding. The mechanism of indicating the Differentiated services code point will take care of the actual forwarding method to be used. The choosing of either of the method is transparent to the MG. In Megaco perspective the QoS of service can be any optional functionality supported by the Media gateways. If any of the specified QoS methods are used, it is supported on per stream basis. The events, signals, properties defined in this draft are specific to each stream. The specific QoS mechanism will be disabled either by deletion of the stream or when the termination is subtracted from context. The QoS mechanism can be disabled any time by the MGC. The RSVP resource profiles will be are not directly deduced from the stream descriptor. Thus enabling the MGC to completely specify the Traffic Characteristics. 5. Assumptions. This section lists the basic assumptions of the present document. General: * The document tries to capture both the Integrated and Differentiated services defined by the IETF. Latest works like the M-RSVP and CR-LDP for MPLS are not addressed in this draft. Additional packages (if required) can be later defined to meet these requirements. * If the MGC switches QoS to "off", the MG has to generate the necessary QoS teardown messages by itself. Integrated Services: * If only one MG has the RSVP reservation capability and other doesn't, then no reservation is done. * The MG that receives a Path messages has to interpret the ADSPEC, SENDER_TSPEC and the MGC conveyed information for generating the FLOWSPEC. How the MG will make this decision, is out-of-scope of the present draft. * The RSVP package information only aids the decision making of the RESV message generating MG. It is up to the MG to make the decision based on these properties and the parameters received from the SENDER_TSPEC and ADSPEC objects of the Path Message. * In case of intermediate non-RSVP nodes, the reservation of resources takes the best effort possibility at that node in the chain of nodes between the sender and the receiver. Madhubabu et.al Expires January 2002 3 Megaco/H.248 QoS Packages July 2001 * Generation of RSVP Objects is out of scope of the draft. * This memo doesn't distinguish the usage of either Raw IP packets or UDP encapsulation for RSVP messages. * If the RSVP session establishment fails, the MG will indicate the same to the MGC with the defined events. If the MGC wants the MG to discontinue without RSVP, then MGC may delete the stream. The default behavior at the MG is that even in case of RSVP failures, it continues generating and receiving the media packets. Differentiated Services: * The Differentiated Services defines specific pre-defined values to be set Type-of service field in the IP header. The MGC can specify any value for this field thus enabling the MG to use whatever is specified by the MGC. This may be Diffserv defined value, or can be TOS value (as defined in RFC 1349). 6. BASIC QOS PACKAGE 6.1 Package Package Name: Basic QoS Package Package ID: bqos (To be allocated through IANA) Description: This package provides the basic event and signal handling for terminations that supports QoS for the Media packets between two Media Gateways. Version: 1 Extends: None 6.2 Properties 6.2.1 QoS Method Property Id: qosmeth (0x0001) Description: Provides a value, which is used by the MGC to indicate whether any QoS need to be provided for the specified media stream. The properties carries a possible set of values to indicate what type of QoS method needs to be used. Type: Integer 0 to 99 Possible Values: 0: No QoS Madhubabu et.al Expires January 2002 4 Megaco/H.248 QoS Packages July 2001 1: Integrated services 2: Differentiated Services Default is No QoS (0). Defined in: Local Control descriptor. Characteristics: read/write 6.3 Events None 6.4 Signals None 6.5 Statistics None 6.6 Procedures. The MGC will use the default value (0) of the "qosmeth" for disabling QoS at runtime. The MG while providing any QoS on specific stream should disable and need to initiate necessary release/teardown mechanism (depending upon the type of QoS method used). 7.0 RSVP PACKAGE 7.1 Package Package Name: RSVP Package Package ID: rsvp (To be allocated through IANA) Description: This package provides basic event and signal handling for terminations that supporting RSVP between two Media Gateways. Version: 1 Extends: Basic QoS Package. 7.2 Properties 7.2.1 Receiving stream RSVP QoS Service Model Property Id: rrsvpsmod (0x0001) Description: Provides a value to identify one of the two services models defined for RSVP for the receiving stream. The value indicated can either be Controlled-Load Service or Guaranteed QoS Service. Type: Boolean Possible values: 0 for Guaranteed QoS and Madhubabu et.al Expires January 2002 5 Megaco/H.248 QoS Packages July 2001 1 for Controlled Load Service. Default is Controlled Load Service Defined in: Local Control Descriptor. Characteristics: read/write 7.2.2 RECEVING STREAM FILTER STYLE Property Id: rfilsty (0x0002) Description: Provides a value to identify one of the possible filter types for receiving stream. Type: Integer 0 to 99 Possible Values: 0 for Wildcard Filter Style 1 for Fixed Filter Style 2 for shared Explicit Style Defined in: Local Control Descriptor. Characteristics: read/write. 7.2.3 RECEIVING STREAM TOKEN BUCKET RATE Property Id: rtbrate (0x0003) Description: Provides a value to specify the token bucket rate (in bytes/sec) used while making reservations for the receiving stream. The same can be used while generating the Flowspec for defining the traffic characteristics. Type: Double Possible Values: 1 byte per second to 40 terabytes per second. Defined in: Local Control Descriptor Characteristics: read/write 7.2.4 RECEIVING STREAM TOKEN BUCKET SIZE (DEPTH) Property Id: rtbdepth (0x0004) Description: provides a value to specify the token bucket depth (size) measured Madhubabu et.al Expires January 2002 6 Megaco/H.248 QoS Packages July 2001 in bytes for the receiving stream. Type: Double Possible Values: 1 byte to 250 gigabytes Defined in: Local Control Descriptor. Characteristics: read/write 7.2.5 RECEIVING STREAM PEAK DATA RATE Property Id: rpdrate (0x0005) Description: Provides a value to specify the peak traffic rate, measured in bytes of IP datagrams per second for the receiving stream. Type: Double Possible Values: 1 byte per second to 40 terabytes per second. Defined in: Local Control Descriptor. Characteristics: Read/write 7.2.6 RECEIVING STREAM MINIMUM POLICED UNIT Property Id: rmpu (0x0006) Description: Provides a value for the minimum policed unit, measured in bytes for the receiving stream. Type: Integer Possible Values: 1 to 4294967295 Defined in: Local Control Descriptor. Characteristics: read/write. 7.2.7 RECEIVING STREAM MAXIMUM PACKET SIZE Property Id: rmpsize (0x0007) Description: Provides a value for the maximum packet size, is the biggest packet that will conform to the traffic specification, it is also measured in bytes. This is specific for the receiving stream. Madhubabu et.al Expires January 2002 7 Megaco/H.248 QoS Packages July 2001 Type: Integer Possible Values: 1 to 4294967295 Defined in: Local Control Descriptor Characteristics: read/write. 7.2.8 DIRECTION Property Id: dir (0x0008) Description: Provides information for the MG to decide whether the MG has to generate a Path message or not. If the direction value is not SEND(1), the MG will only respond to Path messages but will never generate Path messages. Type: Boolean Possible Values: 1 for SEND 0 for do not send. Defined in: Local Control Descriptor Characteristics: read/write. 7.2.9 SENDING STREAM RSVP QoS Service Model Property Id: srsvpsmod (0x0001) Description: Provides a value to identify one of the two services models defined for RSVP. The value indicated can either be Controlled-Load Service or Guaranteed QoS Service. Type: Boolean Possible values: 0 for Guaranteed QoS and 1 for Controlled Load Service. Default is Controlled Load Service Defined in: Local Control Descriptor. Characteristics: read/write 7.2.10 SENDING STREAM FILTER STYLE Property Id: sfilsty (0x0002) Description: Provides a value to identify one of the possible filter types for the sending stream. Madhubabu et.al Expires January 2002 8 Megaco/H.248 QoS Packages July 2001 Type: Integer 0 to 99 Possible Values: 0 for Wildcard Filter Style 1 for Fixed Filter Style 2 for shared Explicit Style Defined in: Local Control Descriptor. Characteristics: read/write. 7.2.11 SENDING STREAM TOKEN BUCKET RATE Property Id: stbrate (0x0003) Description: Provides a value to specify the token bucket rate (in bytes/sec) used while making reservations, for the sending stream. The same can be used while generating the Flowspec for defining the traffic characteristics. Type: Double Possible Values: 1 byte per second to 40 terabytes per second. Defined in: Local Control Descriptor Characteristics: read/write 7.2.12 SENDING STREAM TOKEN BUCKET SIZE (DEPTH) Property Id: tbdepth (0x0004) Description: provides a value to specify the token bucket depth (size) measured in bytes for the sending stream. Type: Double Possible Values: 1 byte to 250 gigabytes Defined in: Local Control Descriptor. Characteristics: read/write 7.2.13 SENDING STREAM PEAK DATA RATE Property Id: spdrate (0x0005) Description: Provides a value to specify the peak traffic rate, measured in bytes of IP datagrams per second for Madhubabu et.al Expires January 2002 9 Megaco/H.248 QoS Packages July 2001 the sending stream. Type: Double Possible Values: 1 byte per second to 40 terabytes per second. Defined in: Local Control Descriptor. Characteristics: Read/write 7.2.14 SENDING STREAM MINIMUM POLICED UNIT Property Id: smpu (0x0006) Description: Provides a value for the minimum policed unit, measured in bytes, for the sending stream. Type: Integer Possible Values: 1 to 4294967295 Defined in: Local Control Descriptor. Characteristics: read/write. 7.2.15 SENDING STREAM MAXIMUM PACKET SIZE Property Id: mpsize (0x0007) Description: Provides a value for the maximum packet size, is the biggest packet that will conform to the traffic specification, it is also measured in bytes. This is specified for the sending stream. Type: Integer Possible Values: 1 to 4294967295 Defined in: Local Control Descriptor Characteristics: read/write. 7.3 Events 7.3.1 RSVP CONNECTION RESPONSE EventID: connres (0x0001) Description: Indicates the response for the RSVP connection establishment request sent. This is used when the MG initiates the RSVP Resv message. The confirmation Madhubabu et.al Expires January 2002 10 Megaco/H.248 QoS Packages July 2001 information is indicated back to the MGC using this event. In case of failure the error code is also sent. This event is reported to the MGC whenever the MG changes the reservation parameters (due to any triggers) and generates a new set of Resv Message parameters. Event Descriptor Parameters: None ObservedEventDescriptor Parameters: Response code ParameterID: respc (0x0001) Description: describes the failure reason Type: integer Possible values: As defined in RFC 2205 7.3.2 RSVP ERROR EVENT EventID: rsvperr (0x0002) Description: Indicates that either Path or Resv error message is received. The message type indicates the type of message which triggered this event and the error code defines the actual reason of error. Event Descriptor Parameters: None ObservedEventDescriptor parameters: Message Type ParameterID: msgtype (0x0001) Description: Identifies whether a Path error or Resv Error message is received. Type: Boolean Possible values: 0 for Path 1 for Resv Error Code ParameterID: ec (0x0002) Description: describes the failure reason Type: integer Possible values: As defined in RFC 2205 7.3.3 RSVP TEAR DOWN EventID: rsvptdown (0x0003) Description: Indicates that the MG received a RSVP Tear down Madhubabu et.al Expires January 2002 11 Megaco/H.248 QoS Packages July 2001 message. The message type indicates whether the type of message which triggered this event is PathTear or ResvTear. Event Descriptor Parameters: None Observed Event Descriptor Parameters: Message Type ParameterID: msgtype (0x0001) Description: Identifies whether a PathTear or ResvTear message is received. Type: Boolean Possible values: 0 for Path 1 for Resv 7.3.4 RSVP PATH RECEIVED EventID: rsvpprecv (0x0003) Description: Indicates that the MG received a RSVP Path message. The status type indicates whether the MG has RSVP receiver properties or not. Event Descriptor Parameters: None Observed Event Descriptor Parameters: Status Type ParameterID: stattype (0x0001) Description: Identifies whether a MG has RSVP receiver properties or not. If MG has the receiver properties this status indicates that it has generated a respective Resv message. Type: Boolean Possible values: 0 for NO Receiver properties. 1 for generating Resv. 7.4 Signals 7.4.1 RSVP TEAR DOWN SignalId: rsvptdown (0x0001) Description: This signal triggers a Tear Down message from the MG. Signal Type: BR Duration: Not important. As it doesn't map to any hardware tone/signal. Madhubabu et.al Expires January 2002 12 Megaco/H.248 QoS Packages July 2001 Additional Parameters: None 7.5 Statistics None 7.6 Error code The following additional Megaco/H.248 error code is documented here: Code Text Explanation 1XX RSVP session This error code is used when not established yet MGC specifies the "rsvptdown" signal, when there is no RSVP established. 7.7 Procedures. The RSVP reservation is performed for Media streams, only when both MGs can support RSVP. This document assumes that the application generated Path and Resv messages are initiated by the MG under the control of MGC. For bi-directional reservation both MGs had to generate Path and Resv messages. The generation of RSVP messages from the MG is performed only when both Local and remote descriptors are fully known to both the MGs. If the MGC provides the properties defined in this package before the local and remote descriptor are fully known, the MG will initiate the RSVP messages as soon as it is aware of the fully specified local and remote descriptors. It is the responsibility of the MG to generate periodic Path and Resv messages. The properties srsvpsmod, sfilsty, stbrate, stbdepth, smpu , spdrate and smpsize when used for the Sending MG will be used in the Path messages, whereas the rrsvpsmod, rfilsty, rtbrate, rtbdepth, rmpu , rpdrate and rmpsize properties when used for receiving MG will aid the reservation decision-making at the MG thus will be present in the Resv messages. The sending stream properties are sent from the MGC to MG when the MG has to generate a Path message. The Receiving stream properties are sent to the MG when the MG has to receive media. Thus the receiving stream properties are used by the MG to make the decision for selecting the values in the FLOWSPEC. The rsvptdown signal is only a means by which the MGC can indicate Madhubabu et.al Expires January 2002 13 Megaco/H.248 QoS Packages July 2001 MG to teardown an existing RSVP session. If a RSVP session is not present and the MGC uses this signal in the signals descriptor, the error code 1XX will be used. If a MG doesn't receive any Receiving properties from the MGC but received a Path. The RSVP Teardown message will be generated by the MG when Subtract is received for the termination OR a stream is deleted due to any other reason as defined in the protocol (stream deletion definition is given in the protocol) 8.0 DIFF SERV PACKAGE 8.1 Package Package Name: Diff Serv Package Package ID: diffserv (To be allocated through IANA) Description: This package provides basic event and signal handling for terminations for using the Differentiated services between the two Media Gateways. Version: 1 Extends: Basic QoS Package. 8.2 Properties 8.2.1 Differentiated Service Code Point Property Id: dscp (0x0001) Description: The PHB (Per Hop Behavior) to be applied is specified by this code in the IP header of each packet. Type: Integer Possible values: 0 to 255 Default is 0. Defined in: Local Control Descriptor. Characteristics: read/write 8.3 Events None 8.4 Signals None Madhubabu et.al Expires January 2002 14 Megaco/H.248 QoS Packages July 2001 8.5 Statistics None 8.6 Error code None 8.7 Procedures. The "dscp" property value will be used at the MG to set the same value in the TOS byte of the Media packets it generates. The MG will not worry about the TOS byte set in the packets it receives. If the MGC specifies any "dscp" values which actually doesn't match with the Diff serv defined code points, the MG will still set what ever value is set by the MGC for the given parameter. This enables the MGC to use any predefined values or Experimental values for the TOS byte in the IP Header. 9. Security Considerations For RSVP the security considerations for the intermediate routers are assumed to be taken care as described in RFC 2207. This is necessary as the IP-level security, under either IPv4 or IPv6 may encrypt the entire transport header, hiding the port numbers of data packets from intermediate routers. For Differentiated Services the security considerations are assumed to be taken care as described in Section 6 of RFC 2475. 10. References [1] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. [2] Cuervo, et al. "Megaco Protocol Version 1.0", RFC 3015, November2000. [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997 [4] R. Braden, et.al., "Integrated Services in the Internet Architecture: an Overview", RFC 1633. June 1994. [5] R. Braden, et.al., "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification", RFC 2205, September 1997. [6] J. Wroclawski., "The Use of RSVP with IETF Integrated Services", RFC 2210, September 1997. Madhubabu et.al Expires January 2002 15 Megaco/H.248 QoS Packages July 2001 [7] J. Wroclawski., "Specification of the Controlled-Load Network Element Service", RFC 2211, September 1997. [8] S. Shenker, et.al., "Specification of Guaranteed Quality of Service", RFC 2212, September 1997. [9] S. Shenker, and J. Wroclawski, "General Characterization parameters for Integrated Service Network elements", RFC 2215, September 1997. [10] S. Blake Et.al, "An Architecture for Differentiated Services", RFC 2475, December 1998. [11] S. Blake Et.al, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, December 1998. 11 Acknowledgements The authors thank Dr.Mathi Packiam for his comments and suggestions on this memo. 12. Author's Addresses Madhubabu Brahmanapally Kenetec Inc 550 Spring Street, Naugatuck, CT-06770 Ph: (01)-203-723-4242 Etxn-378 Fax:(01)-203-723-4187 Email: madhubabu@kenetec.com Krishna Gundamaraju Kenetec Inc 550 Spring Street, Naugatuck, CT-06770 Ph: (01)-203-723-4242 Etxn-407 Fax:(01)-203-723-4187 Email: krishna.gundamaraju@kenetec.com Viswanadham Prerepa Kenetec Inc 550 Spring Street, Naugatuck, CT-06770 Ph: (01)-203-723-4242 Etxn-373 Fax:(01)-203-723-4187 email: dham.prerepa@kenetec.com Madhubabu et.al Expires January 2002 16