Internet Engineering Task Force R.Kumar Internet Draft D.Auerbach Document: draft-auerbach-mgcp-rtcpxr-06 C. Sivachelvan Category: Informational Cisco Systems Expires: October 12, 2007 D. Hancock CableLabs B. Hare Arris April 12, 2006 RTCP XR VoIP Metrics Package for the Media Gateway Control Protocol draft-auerbach-mgcp-rtcpxr-06 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 April 5, 2007. Abstract The main intent of this document is to define a Media Gateway Control Protocol (MGCP) package to control the reporting of metrics supported by the VoIP metrics block in RTCP Extended Reports as specified in [RFC 3611]. It also allows the call agent to control whether or not the gateway will request a peer device via SDP to send the VoIP metrics block in RTCP Extended Reports and whether it will respond positively to such requests from the peer device. Besides this primary focus, this MGCP RTCP-XR Package 4/12/2007 package also allows the reporting of metrics defined for RTCP Sender Reports and Receiver Reports [RFC 3550] and the reporting of session description parameters (based on the ones defined in RFC 2327, RFC 2198 etc.). 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 BCP 14, RFC 2119. Table of Contents 1. Introduction 2. VoIP Metrics Package Definition 2.1 Local Connection Options 2.1.1 Responses to the xrm/mcr local connection option 2.1.1.1 Response to a value of "off" 2.1.1.2 Response to a value of "on" 2.1.1.3 Response to a value of "negotiate" 2.1.2 Impact of the xrm/mcr LCO on VoIP metrics block exchange 2.2 MGCP Protocol Procedures 2.2.1 DeleteConnection Procedures 2.2.2 AuditConnection Procedures 2.2.3 ModifyConnection Procedures 2.3 The LVM and RVM Lines for reporting Local And Remote Metrics 2.3.1 Inclusion/Omission of XRM/LVM and XRM/RVM parameters 2.3.2 XRM/LVM and XRM/RVM parameter values 2.3.3 Procedures for the resetting of metrics 2.3.4 Impact redundancy and FEC on packet loss computations 2.3.5 Parameter Extension Mechanism 2.3.6 Formal Syntax of VoIP Metrics Package 2.3.7 Impact of media state changes on VoIP metrics 2.3.8 Applicability of VoIP metrics to Voice Band Data 2.3.9 Applicability of VoIP metrics to Fax Relay and Text Relay 3. Call Flow Examples 3.1 Metrics Reporting during Call agent-initiated Delete Connection 3.2 Metrics Reporting during Gateway-initiated Delete Connection 3.3 Metrics Reporting during Audit Connection 3.4 Metrics Reporting during Modify Connection 4. Security Considerations 5. IANA Considerations 5.1 Package Registration 5.2 Extension Registration 6. Changes from earlier drafts Kumar et al Informational Page 2 MGCP RTCP-XR Package 4/12/2007 6.1 Changes from the -00 version to the -01 version 6.2 Changes from the -01 version to the -02 version 6.3 Changes from the -02 version to the -03 version 6.4 Changes from the -03 version to the -04 version 6.5 Changes from the -04 version to the -05 version 6.6 Changes from the -05 version to the -06 version 6.7 Potential future updates 7. Normative References 8. Acknowledgments 9. Copyright Statement 1. Introduction This document defines a Media Gateway Control Protocol (MGCP) [RFC 3435] package that enables the collection and reporting of metrics that measure the quality of traffic on two-way VoIP connections. This capability is based on and utilizes the VoIP Metrics Block of the RTCP Extended Report as specified in [RFC 3611]. In accordance with [RFC 3435], the term "gateway" is used to denote the device controlled via MGCP. This is not intended to preclude the use of MGCP or of this package to control devices that are not, in the strictest terms, media gateways. For the purposes of this package, the terms "media gateway", "gateway" and "endpoint" are used interchangeably. Also, the terms "media gateway controller" and "call agent" are used interchangeably. In addition to the parameters in the RTCP XR VoIP metrics block, this package allows the collection of statistics defined for RTCP Sender Reports and Receiver Reports [RFC 3550]. The ConnectionParameters structure [RFC 3435] allows the reporting of the local, but not the remote, version of statistics defined for RTCP Sender Reports and Receiver Reports [RFC 3550]. To report both the local and remote versions of these RTP statistics, this package MAY be used. Note that this package does not affect the collection or reporting of connection parameters defined in the base MGCP specification (RFC 3435). Nor does it affect the sending of RTCP Sender Reports (SR) and Receiver Reports (RR). This package also includes session description parameters (based on the ones defined in RFC 2327, RFC 2198 etc.). These MAY be reported via this package to obviate the need for call agents to snoop SDP session descriptors. This package makes a distinction between collecting, responding and reporting. The term "collecting" refers to the process of calculating and accumulating local metric data and accumulating remote metric data received in RTCP Sender, Receiver and Extended Reports from the remote device. The term "responding" in the context of this package is limited to the sending of accumulated local metric data via RTCP Kumar et al Informational Page 3 MGCP RTCP-XR Package 4/12/2007 Extended Reports to the remote device as specified in [RFC 3611]. Note that this package does not control the communication of session statistics via RTCP Sender Reports (SR) and Receiver Reports (RR). These reports MUST be sent in the manner REQUIRED of all RTP endpoints [RFC 3550]. The term "reporting" refers to the process of reporting the accumulated local and remote metric data for the connection to the Call Agent in either a DeleteConnection, ModifyConnection or AuditConnection command sequence. An endpoint will "collect" local session metrics for several reasons: - To report metrics in the "northbound" direction via the XRM/LVM and XRM/RVM parameters specified in this package. - To communicate metrics in the "east-west" direction via RTCP extended reports, - To report metrics in the "northbound" direction via other mechanisms such as connection parameters [RFC 3435] and log transfers not addressed in this document, - To communicate metrics in the "east-west" direction via RTCP Sender Reports and Receiver Reports. The sets of metrics collected for these purposes are not the same. This package is limited to defining the metrics that MAY be reported via the XRM/LVM and XRM/RVM lines. This MAY or MAY not be a superset of the metrics that MAY be communicated via the VoIP metrics block in RTCP extended reports. The Call Agent can ask an endpoint to enable or disable the reporting of metrics via this package. Enabling this reporting also enables the "east-west" communication of metrics via the RTCP XR VoIP metrics block from the local endpoint's perspective. Whether this "east-west" communication actually takes place also depends on the peer endpoint's capabilities. When it disables "northbound" reporting via this package, the call agent MAY either disable the "east-west" communication of metrics via the RTCP XR VoIP metrics block, or it MAY require the endpoint to communicate the VoIP metrics block in the "east-west" direction if the remote end requests it. Disabling "northbound" reporting via this package has no impact on the use of RTCP Sender Reports or Receiver Reports. Like RTCP-XR [RFC 3611], this package focuses on voice metrics. However, it does examine the relevance of these metrics to other media modes such as voice band data [ITU V.152], fax relay [ITU T.38] and text relay [ITU V.151]. The MGGCP-based reporting of metrics that are unique to the voice band data, fax relay and text relay will need to be defined in other MGCP packages. Kumar et al Informational Page 4 MGCP RTCP-XR Package 4/12/2007 The metric data reported to the Call Agent via this package when a connection is deleted, modified or audited represents the data that was accumulated/averaged over a computation interval. This package allows this interval to be selected in a flexible manner. This interval MAY encompass the time since the last metrics reset, if any, or since the start of the session (in the absence of resets). Alternately, this interval MAY consist of a relatively short period (e.g. 5 seconds) prior to metrics capture and reporting. The metrics reset is commanded by the call agent in the case of feature invocations such as call transfer or call pick-up. In the case of media mode shifts (such as voice to voice band data), this package allows the resetting of metrics or their seamless continuation in to the new mode. In the case of call agent-controlled media mode shifts, this resetting is controlled by the call agent. In the case of autonomous, endpoint-controlled media mode shifts, this resetting is also under endpoint control. The preferred behavior, which might not be followed by all endpoints, is for the metrics to be reset. Note that, in some implementations, metrics are not reset during media mode shifts. Instead, metrics that are applicable in the new mode continue to be accumulated/averaged as before. Also, for metrics that are not applicable in the new mode, further computation is suspended until when another media mode shift renders these metrics relevant again. The VoIP Metrics package definition is provided in Section 2. This includes a detailed description of relevant MGCP protocol procedures, a list of parameters that can be reported via this package, and an analysis of the applicability of these parameters to voice band data, fax relay and text relay. In Section 3, we provide four call flow examples showing how to use the package. Security considerations are found in Section 4, followed by the IANA considerations and references. Table 1 lists the metrics based on the VoIP metrics block in RTCP Extended Reports [RFC 3611]. It also includes parameters that address the metrics computation interval and the occurrence of metrics resets since session start. Table 2 lists the metrics based on RTCP Sender Reports and Receiver Reports [RFC 3550]. Note that Table 2 uses the metrics definitions in [RFC 3550] and [RFC 3435] as is, without attempting to improve them by specifying, for instance, a better method for handling duplicates. Table 3 lists session parameters, most of which are from RFCs which define SDP constructs (e.g. RFC 2327, RFC 2198, RFC 2733). Tables 4, 5 and 6 list the applicability of the metrics and session parameters in Tables 1, 2 and 3 respectively to fax relay. Tables 7, 8 and 9 do the same for text relay. Kumar et al Informational Page 5 MGCP RTCP-XR Package 4/12/2007 2. VoIP Session Metrics Package Definition A package is defined for VoIP session metrics. Package Name: XRM Package Version: 0 This package defines the following parameters: - A new local connections option, "mcr" (Metrics Reporting) for enabling and disabling metrics reporting via this package. Note that metrics collection via MGCP might use other mechanisms (e.g. the connection parameters in the base MGCP specification, RFC 3435) that are not impacted by this local connection option. - A new parameter line, "MMO" (Media Metrics Option) that allows the call agent to request local and remote metrics in a modify connection response, and/or to reset the local and remote metrics. - A new parameter line, "LVM" (Local VoIP Metrics), for reporting locally collected metrics. - A new parameter line, "RVM" (Remote VoIP Metrics), for reporting remotely collected metrics communicated to the reporting endpoint via RTCP Extended Reports, Sender Reports and Receiver Reports. 2.1 Local Connection Options The local connection option (LCO) parameter, "xrm/mcr", is an OPTIONAL parameter with one of the following three values: - "off": Disables the reporting of metrics via this package AND the "east-west" communication of metrics via the RTCP XR VoIP metrics block - "on": Enables the reporting of metrics via this package AND the "east-west" communication of metrics via the RTCP XR VoIP metrics block. Whether this "east-west" communication actually takes place also depends on the peer endpoint's capabilities. - "negotiate": Disables the reporting of metrics via this package. However, the endpoint is REQUIRED to communicate the VoIP metrics block in the "east-west" direction if the remote end requests it. For example, L: a:PCMU, xrm/mcr: on assigns a value of "on" to the "mcr" LCO. In CreateConnection commands, the xrm/mcr LCO value defaults to "negotiate". In ModifyConnection commands, the xrm/mcr LCO value Kumar et al Informational Page 6 MGCP RTCP-XR Package 4/12/2007 defaults to its current value for the connection. Thus, if LocalConnectionOptions are either omitted or the xrm/mcr LCO is not included in a ModifyConnection command, the previous xrm/mcr LCO value for the connection is retained. An MGCP endpoint supporting this package SHALL always use SDP to request the VoIP metrics block from the remote device if the value of the "xrm/mcr" LCO is set to "on". However, even if the value of value of the "xrm/mcr" LCO is "on" or "negotiate", the endpoint SHALL NOT send the VoIP metrics block in RTCP Extended Reports (XR) unless the remote device has requested this block via SDP signaling. Thus, for MGCP endpoints supporting this package, the permission in [RFC 3611] to send RTCP XR blocks in the absence of the "rtcp-xr" SDP attribute is revoked. Note that the value of the "xrm/mcr" LCO does not affect the collection or reporting of connection parameters in the connection parameters line (P: line) as defined in the base MGCP specification [RFC 3435]. Nor does it affect the sending of RTCP Sender Reports (SR) and Receiver Reports (RR). An endpoint supporting this package MUST continue to include the connection parameters (P:) line in an audit connection response where this data is requested, in a delete connection response and in a gateway-initiated delete connection. There can be overlap if equivalent parameters are also reported via this package in procedures for the deletion and audit of connections. There is no overlap in the case of modify connection responses since these do not include the connection parameters line. 2.1.1 Responses to the xrm/mcr local connection option This section details the endpoint's response to each of the xrm/mcr LCO values. 2.1.1.1 Response to a value of "off" On receiving this value, the endpoint MUST erase any local or remote VoIP metric data previously collected for the connection, and MUST instruct the far-end device to stop sending RTCP XR VoIP Metrics Report Blocks. The endpoint MUST ignore an SDP request for metrics and MUST NOT transmit local metrics to the peer device. The local endpoint MUST NOT report XR metrics upon receiving or initiating a DeleteConnection sequence and MUST NOT report XR metrics when responding to a ModifyConnection command or an AuditConnection command. Kumar et al Informational Page 7 MGCP RTCP-XR Package 4/12/2007 2.1.1.2 Response to a value of "on" On receiving this value in a CreateConnection or ModifyConnection command, if not already doing so, the endpoint MUST: - Start collecting/calculating the metrics which it will expose to the Call Agent via this package. - Instruct the far-end device to start sending the VoIP Metrics block in RTCP Extended Reports by including an "rtcp-xr" attribute with a value of "voip-metrics" in the SDP. - Report local and remote metrics via the XRM/LVM and XRM/RVM lines defined below in the response to DeleteConnection that targets a single connection, in the response to a ModifyConnection when these metrics are requested, in the response to an AuditConnection when these metrics are audited, and when sending a DeleteConnection command for a single connection. 2.1.1.3 Response to a value of "negotiate" On receiving this value, the endpoint disables the "northbound" reporting of metrics, via this package, to the call agent. Also, it sets an internal flag to indicate that it will respond positively to SDP requests by the remote peer device to send the VoIP metrics block in RTCP Extended Reports. 2.1.2 Impact of the xrm/mcr LCO on VoIP metrics block exchange This section details the concepts introduced in the previous section regarding the use of the xrm/mcr local connection option to govern the endpoint's behavior regarding the negotiation, via SDP, of the VoIP metrics block in RTCP extended reports [RFC 3611]. RFC 3611 adds a new SDP attribute called "rtcp-xr" that can be used by an endpoint to ask the remote device to send RTCP Extended Reports. This attribute is encoded as follows: rtcp-xr: This rtcp-xr attribute can be used as either a session-level or media- level attribute. See [RFC 3611] for more information. Only one of the xr-format values, voip-metrics, is within the scope of this package. For an endpoint supporting this package, the inclusion of the voip- metrics value in an rtcp-xr attribute line in its SDP local session descriptions SHALL be per the following rules: Kumar et al Informational Page 8 MGCP RTCP-XR Package 4/12/2007 - The voip-metrics value SHALL be included if the xrm/mcr LCO is set to "on". - The voip-metrics value SHALL NOT be included if the xrm/mcr LCO is set to "off" or "negotiate". The inclusion or exclusion of any other xr-format values (denoting other RTCP XR blocks) in the rtcp-xr SDP attribute line is independent of the xrm/mcr LCO. This is not addressed by this package. The response of an endpoint supporting this package to the receipt from a remote peer of an SDP remote session description with an rtcp-xr attribute line that has voip-metrics as one of its values (or its only value) SHALL be as follows: - The endpoint MUST send RTCP Extended Reports with the VoIP metrics block to the remote peer if the xrm/mcr LCO is "on" or "negotiate". - The endpoint SHALL NOT send RTCP Extended Reports with the VoIP metrics block to the remote peer if the xrm/mcr LCO is "off". Regardless of the value of the xrm/mcr LCO, an endpoint supporting this package SHALL NOT send RTCP Extended Reports with the VoIP metrics block to the remote peer if any of the following is true: - The rtcp-xr attribute is not included in the SDP remote session description. - The rtcp-xr attribute is included in the SDP remote session description but "voip-metrics" is not one of its values. This includes the case in which the attribute has an empty parameter list. [RFC 3611] allows endpoints that uses SDP (e.g. MGCP endpoints) to exchange RTCP Extended Reports without prior SDP signaling, which is OPTIONAL. This allowance is rescinded for endpoints supporting this package which MUST implement the SDP signalling specified in this section. 2.2 MGCP Protocol Procedures 2.2.1 DeleteConnection Procedures These procedures refer to call agent-initiated delete connection commands that are targeted at a specific connection ID and to gateway- initiated delete connection commands. They do not apply to call agent- initiated delete connection commands that are targeted at all connections associated with a call, an endpoint, an endpoint group or a gateway. In the latter case, the XRM/LVM and XRM/RVM lines (described in detail below) SHALL NOT be returned. Kumar et al Informational Page 9 MGCP RTCP-XR Package 4/12/2007 Endpoints supporting this package MUST report local metrics in the XRM/LVM parameter line in delete connection responses and in gateway- initiated delete connection commands if and only if the local connection option xrm/mcr is set to "on". Endpoints supporting this package MUST report remote metrics, if available, in the XRM/RVM parameter line in delete connection responses and in gateway-initiated delete connection commands if and only if the local connection option xrm/mcr is set to "on". We do not define a mechanism for suppressing metrics reporting in response to a delete connection command that is targeted at a specific connection ID. In situations (such as a switchover)where the call agent needs to delete connections without retaining any records of the connections, it can use the version of the delete connection procedure that targets all connections associated with a call, an endpoint, an endpoint group or a gateway [RFC 3435]. No metrics are returned in response to this version of the delete connection command. 2.2.2 AuditConnection Procedures This package defines two new RequestedInfo values to be used with an AuditConnection (AUCX). These allow a call agent to explicitly request that the endpoint return the current values of either the local or remote metrics. The request does not reset the values. When one or both of these RequestedInfo values are included in an AUCX command, the endpoint MUST return the appropriate metric values if available. The two new RequestedInfo values are: XRM/LVM Return the local voice metric values. XRM/RVM Return the remote voice metric values. The call agent MAY audit the local and remote voice metrics at any time. Some example uses of this capability are: - Audits in response to a "quality alert" event notification [RFC 3660], - Audits in response to an event notification that MAY lead to a media transition e.g. a fax tone event ('ft') or a modem tone event ('mt') [RFC 3660]. - Audits in response to an event notification of a media transition e.g. the start of a gateway-controlled fax procedure {fxr/gwfax(start)} [FAX PKG]. A quality alert event notification MAY be sent in response to a metrics threshold crossing by an endpoint supporting the RTP package defined in Kumar et al Informational Page 10 MGCP RTCP-XR Package 4/12/2007 RFC 3660. When audited within a time window T1 after sending a quality alert, the endpoint SHOULD respond with metrics captured at the time of the threshold crossing rather than metrics captured in response to the associated metrics audit request. In the case of events that MAY lead to a media state transition (e.g. voice to voice band data or fax relay), the endpoint SHOULD respond to a metrics audit received within a time window of T1 with metrics captured just prior to the event notification rather than at the time of the audit. In the case of events that report a media state transition, the endpoint SHOULD respond to a metrics audit received within a time window of T1 with metrics captured just prior to the state transition rather than at the time of the audit. Naturally, the reported values are captured prior to any parameter reset ensuing from the media state change. A value of five seconds is RECOMMENDED for the time window, T1, used to associate an event notification with a metrics audit. However, the value of this window depends on the application. Although not RECOMMENDED, an endpoint MAY automatically associate a metrics audit request with a prior relevant event notification, if any, regardless of the time-lag between the two. The rules in the MGCP base specification [RFC 3435] for handling audits of unsupported parameters and parameters for which an endpoint has no values MUST be followed. As a result: - If an endpoint that does not understand the XRM/LVM or XRM/RVM parameter is audited for that parameter, it MUST NOT generate an error. Instead, the parameter MUST be omitted from the audit response. Since this rule is based on the MGCP base specification, it also applies to endpoints that do not support this package. - If an endpoint that does not have values for the XRM/LVM or XRM/RVM parameter is audited for that parameter, it MUST NOT generate an error. Instead, the parameter MUST be included in the audit response with an empty value. 2.2.3 ModifyConnection Procedures This package defines a new MGCP parameter, the MediaMetricsOption ("MMO") that MAY be OPTIONALly included in a ModifyConnection command on an "XRM/MMO" line. This parameter is forbidden in all other MGCP commands and responses. It can have one of the following four values: - "REP" (report). This option commands the endpoint to report local and remote metrics via this package. Local and remote session parameters MAY also be reported. Kumar et al Informational Page 11 MGCP RTCP-XR Package 4/12/2007 - "RES" (reset). This option commands the endpoint to reset the local and remote metrics. - "RR" (report and reset). Local and remote metrics are first reported and then reset. Local and remote session parameters MAY also be reported. - "NULL". No metrics (local or remote) are reset or reported. This value is equivalent to omitting the "XRM/MMO" line in the ModifyConnection command. Of course, it is more efficient and, therefore, preferable to omit the XRM/MMO line than to use it with an explicit value of "NULL". Note that the XRM/MMO parameter is specific to a ModifyConnection command and its value does not persist following the end of a ModifyConnection procedure. Therefore, this package does not define a RequestedInfo value for auditing the XRM/MMO parameter. Also note that metrics are not reported in response to a "REP" or "RR" value of the XRM/MMO parameter if the value of the XRM/MCR local connection option is "off" or "negotiate". When the value of the XRM/MMO parameter is REP or RR, then the available metrics are reported, as applicable, in the XRM/LVM and XRM/RVM lines defined below. In order to comply with the ABNF rules in [RFC 3435], the connection parameters line (the P: line) SHALL NOT be included in a ModifyConnection response. However, metrics equivalent to the connection parameters (Table 2) can be included in the XRM/LVM and XRM/RVM lines. The metrics that are reset and/or reported in response to the XRM/MMO parameter include metrics associated with RTCP extended reports (Table 1) and metrics associated with RTCP sender reports and receiver reports (Table 2). See the section titled "Procedures for the resetting of metrics" for the values assigned to metrics on reset. The MMO parameter is needed to handle situations in which the call agent invokes a feature that alters the media stream in a manner that renders previous metrics values inapplicable to the new situation. Examples are call transfer and call pick-up. It is also useful in situations in which the call agent choreographs a media state transition such as from voice to voice band data [ITU V.152] or fax relay [ITU T.38]. 2.3 The LVM and RVM Lines for reporting Local And Remote Metrics The "XRM/LVM" and "XRM/RVM" lines are for the reporting of local and remote metrics respectively. For example, an endpoint that is recording Kumar et al Informational Page 12 MGCP RTCP-XR Package 4/12/2007 local metrics and has received remote metrics returns the following lines in a DLCX response: XRM/LVM: PLC=1, JBA=2, JBR=7 ... XRM/RVM: PLC=0, JBA=0, JBR=3 ... The parameters that MAY be reported in an XRM/LVM or XRM/RVM line fall into the following categories: - Parameters that define the metrics computation interval and indicate whether any metrics resets have occurred since session start. These are listed in Table 1. - Parameters based on the VoIP metrics block [RFC 3611]. These are listed in Table 1. - Parameters based on Sender Reports and Receiver Reports [RFC 3550]. These are listed in Table 2. - Parameters that describe the session. These are listed in Table 3. Many of these are based on SDP parameters such as those specified in RFC 2327, RFC 2198, RFC 2733 etc. Although Tables 1-3 include top-level definitions of these parameters, some of their technical details MAY need to gleaned from the references. For instance, the meaning of "standard" vs. "enhanced" packet loss concealment must be obtained from [RFC 3611]. Note that the rationale for allowing the reporting of parameters based on RTCP Sender Reports and Receiver Reports (Table 2) in the XRM/LVM and XRM/RVM lines is two-fold: - The connection parameters line (the P: line) in the MGCP base protocol [RFC 3435] does not address remote metrics, - The ABNF for packet loss in RFC 3435 is inconsistent with its RFC 3550-based textual definition of packet loss. Note that the latency metric in the connection parameters line (the P: line) is not included in Table 2 since it is already included in the RTCP XR VoIP metrics block as the round trip delay. RTCP XR [RFC 3611] allows any method for its computation, including methods based on [RFC 3550] or on the DLRR report block in [RFC 3611]. 2.3.1 Inclusion/Omission of XRM/LVM and XRM/RVM parameters In general, the inclusion of a parameter from Tables 1-3 in the XRM/LVM or XRM/RVM lines is subject to: - The availability of the parameter. - Local policy regarding its inclusion. Kumar et al Informational Page 13 MGCP RTCP-XR Package 4/12/2007 The following rules apply only to endpoints supporting this package: DLCX/MDCX/AUCX rule for XRM/LVM: This rule applies to: (i) Endpoint responses to call agent-initiated delete connection commands that are targeted at a specific connection ID, (ii) Endpoint-initiated delete connection commands, (iii) Endpoint responses to modify connection commands that request session metrics via the XRM/MMO line, (iv) Endpoint responses to audit connection commands that include "XRM/LVM" in the RequestedInfo list. In each of these contexts, the XRM/LVM line MUST be included by an endpoint supporting this package. Further, this endpoint MUST compute at least one metric from the VoIP metrics block (Table 1) and report it in the XRM/LVM line. All other parameters (Tables 2 and 3) are completely OPTIONAL. Their inclusion depends on local policy. The endpoint MUST omit all parameters that are not computed locally rather than include them with dummy values (e.g. 127 for the various MOS parameters). DLCX/MDCX rule for XRM/RVM: This rule applies to: (i) Endpoint responses to call agent-initiated delete connection commands that are targeted at a specific connection ID, (ii) Endpoint-initiated delete connection commands, (iii) Endpoint responses to modify connection commands that request session metrics via the XRM/MMO line. In each of these contexts, the XRM/RVM line MUST be included if the remote peer sends VoIP metrics blocks [RFC 3611] in RTCP Extended Reports. If the remote device indicates that a particular VoIP metrics block parameter is unavailable by sending a dummy value, then the dummy value MUST be reported or the parameter MUST be omitted from the XRM/RVM: line. For example, the dummy value of 127, if used, indicates that the signal level, noise level, residual echo return loss, the various R-factors and MOS estimates are unavailable. If the VoIP metrics block is not received from the remote device, the endpoint MAY omit the XRM/RVM line even if it has non-VoIP metrics block parameters to report in the XRM/RVM line, such as metrics communicated via RTCP Sender Reports (SR) and Receiver Reports (RR). The endpoint MAY, of course, include the XRM/RVM line with known non-VoIP metrics block parameters (Tables 2 and 3) when the VoIP metrics block is not communicated by the remote end. If the remote device indicates that a particular Sender/Receiver Report parameter is unavailable by assigning it a dummy value (such as an inter-arrival jitter of 0), the endpoint MAY either omit it in the XRM/RVM line or assign it a dummy value. AUCX rule for XRM/RVM: This rule applies to endpoint responses to audit connection commands that include "XRM/RVM" in the RequestedInfo list. In this context, the XRM/RVM line MUST be included even if no VoIP metrics blocks are received in RTCP extended reports from the remote device. This line MAY, however, be empty if no data pertaining to RTCP XR VoIP metrics block (Table 1) is provided by the remote device. Alternately, the local endpoint MAY include other known remote Kumar et al Informational Page 14 MGCP RTCP-XR Package 4/12/2007 parameters (Tables 2 and 3) in the XRM/RVM line. If the remote device sends the VoIP metrics block in RTCP Extended Reports and indicates that a particular parameter is unavailable by sending a dummy value, then the dummy value MUST be reported or the parameter MUST be omitted from the XRM/RVM: line. If the remote device indicates that a particular Sender/Receiver Report parameter is unavailable by assigning it a dummy value (such as an inter-arrival jitter of 0), the endpoint MAY either omit it in the XRM/RVM line or assign it a dummy value. Rule for disallowed values: An endpoint receiving a disallowed value in the VoIP metrics block MAY omit it in the XRM/RVM line. For example, RFC 3611 does not allow a value of 60 in the 8-bit MOS-LQ field in the VoIP metrics block. 2.3.2 XRM/LVM and XRM/RVM parameter values The metrics used in the XRM/LVM and XRM/RVM lines (Tables 1-3) are, except when otherwise noted, cumulative/average values over a computation interval. This interval MAY be indicated via the OPTIONAL computation interval (CMPI) parameter in Table 1. The CMPI parameter indicates the period of time over which the XRM/LVM and XRM/RVM parameters are computed. When the CMPI parameter is omitted, the computation interval SHALL be defined as the period from the last metrics reset (if any) up to the time of metrics reporting. If the CMPI parameter is omitted and there has been no metrics reset, then the computation interval SHALL be defined as the period from the start of the session up to the time of metrics reporting. The procedures for communicating voice quality metrics in the XRM/LVM and XRM/RVM lines are invoked at one of the following instances: - the DeleteConnection procedures are invoked end of a session, - the ModifyConnection procedures are invoked end of a call phase, such as when a call transfer is invoked or when the call agent effects a media state transition (e.g. voice to voice band data) - the AuditConnection procedures MAY be invoked whenever the call agent needs a snapshot of the metrics. For instance, these procedures MAY be invoked in response to event notifications from the endpoint. Examples from RFC 3660 of such event notifications are tone events ('ft' and 'mt') and quality alerts ('qa'). The general use is to not use the CMPI parameter for these procedures and to reports metrics accumulated/averaged from the start of the session or from the time of the last metrics reset, as applicable. One exception where an explicit computation interval, conveyed via CMPI, is RECOMMENDED is when the XRM/RVM lines are communicated in response to Kumar et al Informational Page 15 MGCP RTCP-XR Package 4/12/2007 an audit connection that is associated per Section 2.2.2 with a quality alert ('qa') event. In this case, the metrics values of interest are those that pertain to some short interval (e.g. 1-5 seconds) immediately before the threshold crossing occurrence. The OPTIONAL Reset Occurrences ("ROC") parameter is useful in indicating whether a prior reset of metrics has occurred. Although some resets are commanded by the call agent via ModifyConnection procedures, the endpoint is not precluded from autonomously resetting its VoIP metrics. For example, the endpoint MAY reset its metrics when it changes the mode of a media stream (e.g. from voice to voice band data). Since such autonomous resets are not universally implemented, it is beneficial to explicitly indicate their occurrence. For example, ROC=1 in conjunction with an omitted CMPI parameter indicates that the reported metrics have been accumulated/averaged for just the current call phase and not for the entire call duration. It is RECOMMENDED that the unstable or indeterminate periods at the start and end of a call or call phase be factored out of metrics computation. The duration of these guard bands is left to the implementation. Note that the metrics formats used by the call agent to store and report metrics might be different from the formats used in this package. For instance, the media gateway controller can convert the binary representation [RFC 3611] of network packet loss into a fixed- point percentage. Thus, an NLR value of 20 (Table 1) might be stored or displayed as 7.81%. Kumar et al Informational Page 16 MGCP RTCP-XR Package 4/12/2007 TABLE 1: PARAMETERS BASED ON THE RTCP XR VOIP METRICS BLOCK --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Computation | CMPI |The period, in milliseconds, from | |Interval | |the start of metrics computation to| | | |the time of metrics capture for | | | |reporting purposes. This parameter | | | |MAY be omitted. A value of 0 is | | | |equivalent to its omission. | | | |Expressed as an integer number. | --------------------------------------------------------- |Reset | ROC |Whether the metrics have been | |Occurrences | |one or more times since session | | | |start. Expressed as a boolean with | | | |"1" indicating one or more resets | | | |and "0" indicating the absence of | | | |of resets. These resets MAY be | | | |commanded by the call agent, or | | | |autonomously triggered by the | | | |endpoint. This parameter is | | | |OPTIONAL and MAY be omitted. Its | | | |omission does not imply anything | | | |regarding the occurrence of | | | |metrics resets. | --------------------------------------------------------- |Network | NLR |The proportion of packets lost | |packet loss | |since the start of metrics | |rate | |computation expressed as an 8-bit | | | |binary fraction obtained by | | | |dividing the number of packets lost| | | |in the transmission path by the | | | |total number of packets expected by| | | |the receiver, multiplying this | | | |value by 256 and taking the integer| | | |portion of the result. Computed | | | |after taking any loss mitigation | | | |due to FEC and/or redundancy into | | | |account. The numbers of duplicated | | | |packets and discarded packets do | | | |not enter into this calculation. | --------------------------------------------------------- Kumar et al Informational Page 17 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Jitter |JDR |The proportion of the packets | |buffer | |discarded by the receiving | |discard | |jitter buffer since the start of | |rate | |metrics computation expressed as an| | | |8-bit binary fraction obtained by | | | |dividing the number of packets | | | |discarded by the jitter buffer | | | |by the total number of packets | | | |expected by the receiver, | | | |multiplying this value by 256 | | | |and taking the integer portion | | | |of the result. Computed | | | |after taking any loss mitigation | | | |due to FEC and/or redundancy into | | | |account. The number of duplicate | | | |packet discards does not enter | | | |into this calculation. | --------------------------------------------------------- |Burst loss | BLD |The average proportion (since the | |density | |start of metrics computation) of | | | |lost and discarded packets | | | |occurring during burst periods | | | |expressed as an 8 bit | | | |binary fraction obtained by | | | |dividing the sum of the number of | | | |packets detected as lost during | | | |burst periods and the number of | | | |packets discarded by the jitter | | | |buffer during burst periods by | | | |the total number of packets | | | |expected by the receiver, | | | |multiplying this value by 256 | | | |and taking the integer portion | | | |of the result. Computed | | | |after taking any loss mitigation | | | |due to FEC and/or redundancy into | | | |account. Duplicate packet discards | | | |are excluded from this computation.| --------------------------------------------------------- Kumar et al Informational Page 18 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Gap loss | GLD |The average proportion (since the | |density | |start of metrics computation) of | | | |lost and discarded packets | | | |occurring during gap periods | | | |expressed as an 8 bit binary | | | |fraction obtained by | | | |dividing the sum of the number of | | | |packets detected as lost during | | | |gap periods and the number of | | | |packets discarded by the jitter | | | |buffer during gap periods by | | | |the total number of packets | | | |expected by the receiver, | | | |multiplying this value by 256 | | | |and taking the integer portion | | | |of the result. Computed | | | |after taking any loss mitigation | | | |due to FEC and/or redundancy into | | | |account. Duplicate packet discards | | | |are excluded from this computation.| --------------------------------------------------------- |Burst |BD |The average duration of the burst | |duration | |periods, in milliseconds. Computed | | | |from the start of metrics | | | |computation. Bursts are determined | | | |after taking any loss mitigation | | | |due to FEC and/or redundancy into | | | |account. | --------------------------------------------------------- |Gap |GD |The average duration of the gap | |duration | |periods, in milliseconds. Computed | | | |from the start of metrics | | | |computation. Bursts are determined | | | |after taking any loss mitigation | | | |due to FEC and/or redundancy into | | | |account. | --------------------------------------------------------- Kumar et al Informational Page 19 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Round trip |RTD |The round trip delay, in | |network | |milliseconds, between the RTP | |delay | |interfaces of the local and | | | |remote call endpoints. Valid | | | |values MUST be greater than or | | | |equal to 0 milliseconds. This | | | |could be computed on the basis of | | | |RFC 3550, or the DLRR report | | | |block in [RFC 3611] or any other | | | |valid method. The average of all | | | |measurements since the start of | | | |metrics computation SHOULD be used.| --------------------------------------------------------- |End system |ESD |The end system (endpoint) delay, in| |delay | |milliseconds, comprising the | | | |encode, decode and jitter buffer | | | |delay. Valid values MUST be | | | |greater than or equal to 0 | | | |milliseconds. The average of all | | | |measurements since the start | | | |metrics computation SHOULD be used.| --------------------------------------------------------- |Signal |SL |The ratio of the average signal | |level | |level to a 0 dBm0 reference, | | | |expressed in dB. This is | | | |expressed as an integer with an | | | |OPTIONAL negative ("-") sign. | | | |When the sign is omitted, a | | | |positive value is assumed. | | | |Typical values SHOULD generally | | | |be between -15 and -20. | | | |This metric SHALL be averaged | | | |from the start of metrics | | | |computation. A value of 127 | | | |indicates that the parameter is | | | |unavailable. | --------------------------------------------------------- Kumar et al Informational Page 20 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Noise |NL |The ratio of the silent period | |level | |average background noise level to | | | |a 0 dBm0 reference, in dB. This | | | |is expressed as an integer without | | | |a +ve or -ve sign. No sign is | | | |necessary since this value MUST be | | | |equal to or less than 0 dB. A value| | | |of 127 indicates that the parameter| | | |is unavailable. A +ve or -ve sign, | | | |if used, SHALL be ignored. | | | |The metric SHALL be averaged from | | | |the start of metrics computation. | --------------------------------------------------------- |Residual |RERL |The echo return loss after the | |echo return | |effects of echo cancellation, in | |loss | |dB. This value is expressed as | | | |a positive integer without a | | | |negative sign. A value of 127 | | | |indicates that the parameter is | | | |unavailable. Thus, RERL=23 | | | |indicates an echo loss of 23 dB | | | |after factoring in any echo | | | |cancellation. This metric SHALL be | | | |averaged from the start of metrics | | | |computation. | --------------------------------------------------------- |Minimum gap |GMN | The gap/burst transition | |threshold | | threshold; the RECOMMENDED value | | | | is 16. Values in the range 1 - - | | | | 255 are permitted. | --------------------------------------------------------- Kumar et al Informational Page 21 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |R-factor |NSR | Conversational quality | |(Conversat- | | R-factor for the "inner segment", | |-ional | | of the call, which is the VoIP | |quality) | | session on which | | | | the endpoint resides. This value | | | | represents the conversational | | | | quality of the RTP session | | | | calculated per ITU G.107. Valid | | | | values are greater than 0 and | | | | less than or equal to 120. A | | | | value of 127 indicates that the | | | | parameter is unavailable. This | | | | parameter is computed from the | | | | start of metrics computation. | | | | When the term 'R-factor' is used | | | | without further qualification, | | | | this parameter is implied. | --------------------------------------------------------- |R-factor |RLQ | A value representing the | |(Listening | | listening quality of | |quality) | | the RTP session; | | | | calculated as per ITU-T | | | | Recommendation G.107. Valid | | | | values are greater than 0 and | | | | less than or equal to 120. A | | | | value of 127 indicates that the | | | | parameter is unavailable. This | | | | parameter is computed from the | | | | start of metrics computation. | --------------------------------------------------------- |External |XSR | Listening quality R-factor for an | |R-factor | | "external segment" which is any | | | | call segment external to the VoIP | | | | session on which the endpoint | | | | resides. This value is | | | | calculated per ITU-T | | | | Recommendation G.107. Valid | | | | values are greater than 0 and | | | | less than or equal to 120. A | | | | value of 127 indicates that the | | | | parameter is unavailable. This | | | | parameter is computed from the | | | | start of metrics computation. | --------------------------------------------------------- Kumar et al Informational Page 22 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Estimated |MLQ | An estimated receiving end | |MOS-LQ | | listening quality MOS. The | | | | nominal range of MOS scores is | | | | 1-5. Before being expressed in | | | | MGCP, the MOS score is | | | | multiplied by 10 and any | | | | fractional part is truncated. | | | | This results in an integer with | | | | valid values in the range 10 - 50.| | | | A value of 127 indicates that | | | | the parameter is unavailable. | | | | This parameter is computed from | | | | the start of metrics computation. | --------------------------------------------------------- |Estimated |MCQ | An estimated receiving end | |MOS-CQ | | conversational quality MOS. The | | | | nominal range of MOS scores is | | | | 1-5. Before being expressed in | | | | MGCP, the MOS score is | | | | multiplied by 10 and any | | | | fractional part is truncated. | | | | This results in an integer with | | | | valid values in the range 10 - 50.| | | | A value of 127 indicates that | | | | the parameter is unavailable. | | | | This parameter is averaged from | | | | the start of metrics computation. | --------------------------------------------------------- |Packet loss |PLC | The type of packet loss | |concealment | | concealment algorithm in use; | |type | | SHOULD be one of the following | | | | enumeration values: | | | | 0 - Unspecified | | | | 1 - Disabled | | | | 2 - Enhanced | | | | 3 - Standard | --------------------------------------------------------- Kumar et al Informational Page 23 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Jitter |JBA | The adaptability of the jitter | |Buffer | | buffer. Should be one of the | |Adaptability| | following enumeration values: | | | | 0 - Unknown | | | | 1 - Reserved | | | | 2 - Non-adaptive | | | | 3 - Adaptive | --------------------------------------------------------- |Jitter |JBR | The jitter buffer adjustment | |Buffer | | rate. Value is between 0 and | |Rate | | 15. | --------------------------------------------------------- |Nominal |JBN | Current nominal delay in | |jitter | | milliseconds that corresponds to | |buffer | | the nominal jitter buffer delay | |delay | | for packets that arrive exactly | | | | on time. The last computed value | | | | is used. | --------------------------------------------------------- |Maximum |JBM | Current maximum delay in | |jitter | | milliseconds that corresponds to | |buffer | | the earliest arriving packet | |delay | | that would not be discarded. In | | | | simple queue implementations, | | | | this MAY correspond to the | | | | nominal jitter buffer delay. In | | | | adaptive jitter buffer | | | | implementations, this value MAY | | | | dynamically vary up to the | | | | absolute maximum jitter buffer | | | | delay (see below). The last | | | | computed value is used. | --------------------------------------------------------- |Absolute |JBS | Absolute maximum delay in | |maximum | | milliseconds that an adaptive | |jitter | | jitter buffer can reach under | |buffer | | worst case conditions. This is | |delay | | a configured parameter. For fixed | | | | jitter buffers, this must be set | | | | to the maximum jitter buffer | | | | delay. | --------------------------------------------------------- Kumar et al Informational Page 24 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |MOS-LQ |MLES | Algorithm used to estimate the | |Estimation | | the MOS-LQ metric, MLQ. This | |Algorithm | | is expressed as a human-readable | | | | character string with an | | | | unrestricted set of values. | --------------------------------------------------------- |MOS-CQ |MCES | Algorithm used to estimate the | |Estimation | | the MOS-CQ metric, MCQ. This | |Algorithm | | is expressed as a human-readable | | | | character string with an | | | | unrestricted set of values. | --------------------------------------------------------- |R-factor |RFES | Algorithm(s) used to estimate | |Estimation | | the one or more R-factors | |Algorithm(s)| | reported. This is expressed as a | | | | human-readable character string | | | | with an unrestricted set of | | | | values. This string MAY contain | | | | separate descriptions for the | | | | algorithms pertaining to the | | | | R-factors NSR, MLQ and XSR | | | | described above. | --------------------------------------------------------- Kumar et al Informational Page 25 MGCP RTCP-XR Package 4/12/2007 TABLE 2: PARAMETERS BASED ON RTCP SENDER AND RECEIVER REPORTS --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Packets sent |PS | The number of packets that were | | | | were sent on the connection since| | | | the start of metrics computation.| | | | Does not include any FEC packets | | | | sent on a different SSRC or port.| --------------------------------------------------------- |Octets sent |OS | The number of payload octets that| | | | were sent out on the connection | | | | since the start of metrics | | | | computation. Header and padding | | | | octets are not included. Nor are | | | | octets in redundant or FEC | | | | payloads/packets. | --------------------------------------------------------- |Packets |PR | The number of packets that were | |received | | were received on the connection | | | | since the start of metrics | | | | computation. Does not include any| | | | FEC packets received on a | | | | different SSRC or port. | --------------------------------------------------------- |Octets |OR | The number of payload octets that| |received | | were received on the | | | | connection since the start of | | | | metrics computation. Header and | | | | padding octets are not included. | | | | Nor are octets in redundant or | | | | FEC payloads/packets. | --------------------------------------------------------- Kumar et al Informational Page 26 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Packets |PL | The total number of media packets| |lost | | that have been lost since the | | | | beginning of metrics computation.| | | | This is defined to be the number | | | | of packets expected less the | | | | number of packets actually | | | | received, where the number of | | | | packets received includes any | | | | which are late or duplicates. | | | | Thus packets that arrive late are| | | | not counted as lost, and the loss| | | | MAY be negative if there are | | | | duplicates. This metric does not | | | | take any loss mitigation due to | | | | redundancy or FEC into account. | --------------------------------------------------------- |Inter- |IAJ | Per [RFC 3550], the inter-arrival| |arrival | | jitter is defined to be | |jitter | | the mean deviation (smoothed | | | | absolute value) of the difference| | | | in packet spacing at the | | | | the receiver compared to the | | | | sender for a pair of packets. | | | | This metric is averaged from the | | | | start of computation and is | | | | expressed in milliseconds. | | | | The corresponding connection | | | | parameter in [RFC 3435] is JI. | --------------------------------------------------------- Kumar et al Informational Page 27 MGCP RTCP-XR Package 4/12/2007 TABLE 3: SESSION DESCRIPTION PARAMETERS --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |SSRC |SSRC | SSRC of the measured stream. | | | | If it changes due to a collision,| | | | the last value is used. | | | | Represented as the decimal | | | | equivalent of a 32-bit word. | --------------------------------------------------------- |Source IP |IPAS | The source IP address for | |address | | the stream under measurement | --------------------------------------------------------- |Source IP |IPTS | This indicates whether the source| |address type | | IP address is IP version 4 or 6. | --------------------------------------------------------- |Destination |IPAD | The destination IP address for | |IP address | | the stream under measurement. | --------------------------------------------------------- |Destination |IPTD | This indicates whether the | |IP address | | destination IP address is | |type | | IP version 4 or 6. | --------------------------------------------------------- |Source |RTUS | The source RTP/UDPTL port for | |RTP/UDPTL | | the stream under measurement. | |port | | | --------------------------------------------------------- |Destination |RTUD | The destination RTP/UDPTL port | |RTP/UDPTL | | for the stream under measurement| |port | | | --------------------------------------------------------- |Source |RTCS | The source RTCP port for | |RTCP port | | the stream under measurement. | --------------------------------------------------------- |Destination |RTCD | The destination RTCP port for | |RTCP port | | the stream under measurement. | --------------------------------------------------------- |Codec |VCD | The last voice or voice band data| |(voice or | | codec used. This is expressed | |voice band | | as a character string | |data) | | corresponding to a MIME subtype | | | | from [IANA RTP] (e.g. " G726-40")| | | | or as an experimental codec name | | | | starting with "X-". | --------------------------------------------------------- Kumar et al Informational Page 28 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Secondary |VCDS | In the case of RFC 2198 | |codec | | redundancy, the secondary codec | |(voice or | | used. Semantics identical to | |voice band | | primary codec. (See VCD parameter| |data) | | above.) | --------------------------------------------------------- |Media |MMOD | This indicates whether the | |Mode | | the media carried by the session | | | | is audio ("a"), voice band data | | | | ("v"), fax relay ("f"), modem | | | | relay ("m") or text relay ("t"). | | | | The last mode is indicated by | | | | this parameter. Audio and text | | | | relay packets MAY be interleaved | | | | in the text relay mode. | | | | Voice band data, fax relay, modem| | | | relay and text relay are defined | | | | in [ITU V.152], [ITU T.38], | | | | [ITU V.150.1] and [ITU V.151] | | | | respectively. All of these media,| | | | with the exception of modem | | | | relay, can be transported via | | | | RTP. | --------------------------------------------------------- |Sample rate |SMPL | The rate at which media is | |(voice or | | is sampled (samples per second) | |voice band | | for the last voice or voice band | |data) | | data codec used. | --------------------------------------------------------- |Codec frame |FRSZ | The number of octets in a codec | |size | | frame for the last voice or | |(voice or | | voice band data codec. | |voice band | | | |data) | | | --------------------------------------------------------- |RTP payload |PLSZ | The number of octets in a the RTP| |size | | packet payload for the | |(voice or | | last voice or voice band data | |voice band | | codec used. | |data) | | | --------------------------------------------------------- Kumar et al Informational Page 29 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Packetization|PKRT | The number of RTP packets per | |rate | | second for the last voice or | |(voice or | | voice band data codec used. | |voice band | | | |data) | | | --------------------------------------------------------- |Silence |SSUP | This indicates whether silence | |Suppression | | suppression, also known as Voice | |State | | Activity Detection (VAD)is | | | | enabled. The last value is used. | | | | It is assumed that silence | | | | suppression is accompanied by | | | | comfort noise generation. | --------------------------------------------------------- |Echo |ECAN | This indicates whether echo | |Cancellation | | cancellation is enabled. The last| |State | | value is used. | --------------------------------------------------------- |Redundancy |VRED | This indicates whether | |State | | redundancy [RFC 2198] was used | |(voice or | | for the last voice or voice band | |voice band | | data codec. | |data). | | | --------------------------------------------------------- |FEC State |VFEC | This indicates whether | |(voice or | | Forward Error Correction | |voice band | | [RFC 2733] was used for the last | |data). | | voice or voice band data codec. | | | | RFC 2733 FEC MAY be used in | | | | conjunction with RFC 2198 | | | | redundancy. | --------------------------------------------------------- |SSRC of the |FSRC | SSRC of the received FEC stream, | |received FEC | | if any. If it changes due to a | |stream | | collision, the last value is | | | | used. Represented as the decimal | | | | equivalent of a 32-bit word. | --------------------------------------------------------- Kumar et al Informational Page 30 MGCP RTCP-XR Package 4/12/2007 --------------------------------------------------------- | Parameter | Code | Value | | | | | --------------------------------------------------------- |Destination |IPAF | The destination IP address for | |IP address | | the FEC stream received with the | |for FEC | | RTP media stream. Identical to | | | | IPAD (above) if the FEC stream | | | | is sent to the same | | | | IP address as the media | | | | stream under measurement. In | | | | either case, the IP address type | | | | is per the IPTD parameter above. | --------------------------------------------------------- |Destination |RTFD | The destination RTP port for any | |RTP port | | FEC stream received with the RTP | |for FEC | | media stream. Identical to | | | | RTUD (above) if the FEC stream | | | | is sent to the same | | | | RTP port as the media | | | | stream under measurement. | --------------------------------------------------------- 2.3.3 Procedures for the resetting of metrics The metrics associated with the XRM/LVM and XRM/RVM lines MAY be reset/reinitialized in response to the XRM/MMO parameter in a ModifyConnection command from the call agent, or autonomously by the endpoint when a media state transition (e.g. from voice to voice band data) occurs. Also, as a rule an SSRC change SHOULD NOT reset VQ metrics. This is consistent with the base MGCP protocol [RFC 3435]. SSRC can occur due to rare collision events [RFC 3550]. The impact of reset depends on the semantics of each individual parameter. In general, the following actions are taken during metrics reset: - All counters are set to 0. - Measurements that are not counts are set to an unknown value. For example, 127 indicates an unknown value for the signal level, noise level, RERL, the various R-factors and MOS estimates. Further, any computations of the average, minimum and maximum values associated with these measurements are restarted. - The Reset Occurrences (ROC) parameter is not changed. - Configuration parameters such as the absolute maximum jitter buffer delay and session-related parameters (Table 3) reflect current values. Kumar et al Informational Page 31 MGCP RTCP-XR Package 4/12/2007 2.3.4 Impact redundancy and FEC on packet loss computations The packet loss and discard parameters based on the RTCP XR VoIP metrics block [RFC 3611] are computed after taking redundancy and FEC into account. Thus, the following parameters from Table 1 SHALL be computed after taking the effect of redundancy (e.g. RFC 2198) and/or FEC (e.g. RFC 2733) into account: - Network packet loss rate, NLR - Jitter buffer discard rate, JDR - Burst loss density, BLD, and burst duration, BD - Gap loss density, GLD, and gap duration, GD By contrast, the packet receipt and packet loss parameters based on RTCP Sender Reports (SR) and Receiver Reports (RR) do not take redundancy or FEC into account. They are meant to be indicative of impairments "on the wire" than in end-to-end service. Thus, the packets lost (PL) parameter in Table 2 does not take into account any loss mitigation due to redundancy (e.g. RFC 2198) or FEC (e.g. RFC 2733) into account. 2.3.5 Parameter Extension Mechanism The XRM/LVM and XRM/RVM lines MAY include vendor extension parameters that begin with an "X-". An MGCP entity that receives an extension parameter in these lines MUST ignore it if it cannot understand it. Since these parameters introduce an unmanaged name space, there is a potential for name clashing. Vendors are consequently encouraged to include some vendor specific string, e.g. vendor name or stock ticker symbol, in their vendor extensions. For example, if Acme Widgets, a fictional company, wishes to use metric "ABC", it is preferable to use the name "X-acmewidgets-ABC" rather than "X-ABC". Vendors MAY register new metrics in an IANA registry of MGCP names of VoIP metrics. The "X-" prefix is not germane to a metric following registration. 2.3.6 Formal Syntax of VoIP Metrics Package The following describes the ABNF encoding [RFC 2234] for the parameters defined in this package. Per MGCP conventions, all parameters defined in this package are case-insensitive. The standard tokens SP, WSP, ALPHA, DIGIT, HEXDIG etc. are per RFC 2234. MediaMetricsOption = "XRM/MMO:" *WSP ("REP"/"RES"/"RR") Kumar et al Informational Page 32 MGCP RTCP-XR Package 4/12/2007 RemoteVoIPMetrics = "XRM/LVM:" *WSP [VoIPMetric *("," *WSP VoIPMetric)] ; zero or more local metrics ; zero metrics are permitted in AUCX responses RemoteVoIPMetrics = "XRM/RVM:" *WSP [VoIPMetric *("," *WSP VoIPMetric)] ; zero or more remote metrics VoIPMetric = ComputationInterval / ResetOccurrences / NetworkPacketLossRate / JitterBufferDiscardRate / BurstLossDensity / GapLossDensity / BurstDuration / GapDuration / RoundTripNetworkDelay / EndSystemDelay / SignalLevel / NoiseLevel / ResidualEchoReturnLoss / MinimumGapThreshold / RFactor-CQ / RFactor-LQ / ExternalRFactor / EstimatedMOS-LQ / EstimatedMOS-CQ / PacketLossConcealmentType / JitterBufferAdaptability / JitterBufferRate / JitterBufferNominal / JitterBufferMax / JitterBufferAbsMax / MOSLQEstimationAlgorithm / MOSLQEstimationAlgorithm / RfacorEstimationAlgorithms / InterArrivalJitter / PacketsSent / OctetsSent / PacketsReceived / OctetsReceived / PacketsLost / SSRC / SourceIPAddress / SourceIPAddressType / DestinationIPAddress Kumar et al Informational Page 33 MGCP RTCP-XR Package 4/12/2007 / DestinationIPAddressType / SourceRTPPort / DestinationRTPPort / SourceRTCPPort / DestinationRTCPPort / VoiceOrVBDprimaryCodec / VoiceOrVBDsecondaryCodec / MaxCharacterRate / MediaMode / SampleRate / CodecFrameSize / RTPpayloadSize / PacketizationRate / SilenceSuppression / EchoCancellation / RFC2198RedundancyForVoiceOrVBD / RFC2733FECforVoiceOrVBD / FECstreamSSRC / FECDestinationIPAddress / FECDestinationRTPPort / UnregisteredExtension / RegisteredExtension ComputationInterval = "CMPI" = 1*20(DIGIT); ResetOccurrences = "ROC" = "0"/"1"; NetworkPacketLossRate = "NLR=" 1*3(DIGIT) ;0-255 JitterBufferDiscardRate = "JDR=" 1*3(DIGIT) ;0-255 BurstLossDensity = "BLD=" 1*3(DIGIT) ; 0-255 GapLossDensity = "GLD=" 1*3(DIGIT) ; 0-255 BurstDuration = "BD=" 1*5(DIGIT) ; 0-65535 GapDuration = "GD=" 1*5(DIGIT) ; 0-65535 MinimumGapThreshold = "GMN=" 1*3(DIGIT) ; 1-255 RoundTripNetworkDelay = "RTD=" 1*4(DIGIT) ; EndSystemDelay = "ESD=" 1*4(DIGIT) ; SignalLevel = "SL=" ["-"] 1*3(DIGIT) ;-128 to 127 NoiseLevel = "NL=" 1*3(DIGIT) Kumar et al Informational Page 34 MGCP RTCP-XR Package 4/12/2007 ; 0 to 127, indicates dB below 0 dBm0 ResidualEchoReturnLoss = "RERL=" 1*3(DIGIT) ;0-127 RFactor-CQ = "NSR=" 1*3(DIGIT) ;0-120, or 127 RFactor-LQ = "RLQ=" 1*3(DIGIT) ;0-120, or 127 ExternalRFactor = "XRF=" 1*3(DIGIT) ;0-120, or 127 EstimatedMOS-LQ = "MLQ=" 1*3(DIGIT) ; 10-50, or 127 EstimatedMOS-CQ = "MCQ=" 1*3(DIGIT) ; 10-50, or 127 PacketLossConcealmentType= "PLC=" ("0" / "1" / "2" / "3") JitterBufferAdaptability = "JBA=" ("0" / "1" / "2" / "3") JitterBufferRate = "JBR=" 1*2(DIGIT) ;0-15 JitterBufferNominal = "JBN=" 1*5(DIGIT) ;0-65535 JitterBufferMax = "JBM=" 1*5(DIGIT) ;0-65535 JitterBufferAbsMax = "JBS=" 1*5(DIGIT) ;0-65535 MOSLQEstimationAlgorithm = "MLES=" ALPHA 1*127 (permittedchar) ;first character must be alphabetic MOSCQEstimationAlgorithm = "MCES=" ALPHA 1*127 (permittedchar) ;first character must be alphabetic RfactorAlgorithms = "RFES=" ALPHA 1*127 (permittedchar) ;first character must be alphabetic InterArrivalJitter = "IAJ=" 1*3(DIGIT) ; PacketsSent = "PS=" 1*9(DIGIT); OctetsSent = "OS=" 1*9(DIGIT); PacketsReceived = "PR=" 1*9(DIGIT); OctetsReceived = "OR=" 1*9(DIGIT); PacketsLost = "PL=" ["-"] 1*9(DIGIT); SSRC = "SSRC=" 1*10 (DIGIT); 0-4,294,967,296 SourceIPAddressType = "IPTS=" ("IPv4" / "IPv6") DestinationIPAddressType = "IPTD=" ("IPv4" / "IPv6") SourceIPAddress = "IPAS=" (IPv4address / IPv6address) ; IPv4address and IPv6address defined in RFC 3261 DestinationIPAddress = "IPAD=" (IPv4address / IPv6address) ; IPv4address and IPv6address defined in RFC 3261 SourceRTPPort = "RTUS=" 1*5(DIGIT) ;1024-65535 inclusive DestinationRTPPort = "RTUD=" 1*5(DIGIT) Kumar et al Informational Page 35 MGCP RTCP-XR Package 4/12/2007 ;1024-65535 inclusive SourceRTCPPort = "RTCS=" 1*5(DIGIT) ;1024-65535 inclusive DestinationRTCPPort = "RTCD=" 1*5(DIGIT) ;1024-65535 inclusive VoiceOrVBDprimaryCodec = "VCD=" ALPHA 1*31 (permittedchar) ;first character must be alphabetic VoiceOrVBDsecondaryCodec = "VCDS=" ALPHA 1*31 (permittedchar) ;first character must be alphabetic MaxCharacterRate = "CPS=" 1*2 (DIGIT) MediaMode = "MMOD=" "a" / "v" / "f" / "m" / "t" / ALPHA ; audio, voice band data, fax relay, modem relay, text relay ; the token ALPHA is to permit additional future definitions SampleRate = "SMPL=" 1*7 (DIGIT) CodecFrameSize = "FRSZ=" 1*3 (DIGIT) RTPpayloadSize = "PLSZ=" 1*3 (DIGIT) PacketizationRate = "PKRT=" 1*5 (DIGIT) SilenceSuppression = "SSUP=" ("on" / "off") EchoCancellation = "ECAN=" ("on" / "off") RFC2198RedundancyForVoiceOrVBD = "VRED=" ("on" / "off") RFC2733FECforVoiceOrVBD = "VFEC=" ("on" / "off") FECstreamSSRC = "FSRC=" 1*10 (DIGIT); 0-4,294,967,296 FECDestinationIPAddress = "IPAF=" (IPv4address / IPv6address) ; IPv4address and IPv6address defined in RFC 3261 FECDestinationRTPPort = "RTFD=" 1*5(DIGIT) ;1024-65535 inclusive UnregisteredExtension = "X-" ExtensionName "=" ExtensionVal RegisteredExtension = ExtensionName "=" ExtensionVal ExtensionName = 1*32 (ALPHA) ExtensionVal = 1*32 (alphanum) ;More precise definition in extension specifications alphanum = ALPHA / DIGIT permittedchar = alphanum / permittedspecialchar permittedspecialchar = "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")" / SP 2.3.7 Impact of media state changes on VoIP metrics The RECOMMENDED endpoint behavior when the media state changes (e.g. from voice to voice band data or vice versa) is to reset/reinitialize the parameters in Tables 1, 2 and 3. Section 2.3.3 describes the procedures for this resetting/reinitialization. However, it is recognized that some endpoints MAY continue to accumulate or average parameters across media state changes. For example, an endpoint MAY continue to accumulate parameters such as packet loss rate (NLR) and to average parameters such as round trip delay (RTD)across transitions between voice and voice band data. If metrics computation is carried over from one media state to another, Kumar et al Informational Page 36 MGCP RTCP-XR Package 4/12/2007 then metrics and parameters that do not apply to the new state (such as MOS-LQ in the case of fax relay)SHOULD be placed in a suspended state until another state transition (such as fax relay to voice in the case of MOS-LQ) renders them applicable again. If any reporting activity occurs during their suspension, the last applicable value SHOULD be conveyed. If the session is initially established in a mode for which some of the metrics and parameters in Tables 1-3 do not apply, then these parameters MUST be omitted or dummied out (per the rules in Section 2.3.1) for any reporting while they are inapplicable. For example, if an endpoint uses this package to convey the metrics for a session that is currently in the T.38 fax relay mode in which it was initially established, then the MOS-LQ parameter MUST be omitted or dummied out (by setting it to 127). 2.3.8 Applicability of VoIP metrics to Voice Band Data For the definition of voice band data, see [ITU V.152]. Voice band data sessions are RTP sessions. RTCP is REQUIRED in conjunction with any RTP session [RFC 3550]. However, the various blocks in RTCP-XR, such as the VoIP metrics block, are not. They must be negotiated at session establishment. Also note that, since this document is focused on voice, it lacks key voice band data metrics. The parameters from the RTCP XR VoIP metrics block (Table 1) and the RTCP Sender/Receiver Reports (Table 2) MAY be applied to voice band data. The session description parameters (Table 3) are also applicable to voice band data. Note that the utility of the various MOS scores and R-factors might be limited for voice band data since there is no correlation of the various MOS scores and R-factors with the end-users' perspective of the quality of the modem or fax transmission. Notwithstanding, some implementations MAY elect to use the MLQ metric as an indicator of the transmission quality of voice band data channel. For some voice band data sessions, echo cancellation is turned off. For others, it is turned on. If echo cancellation is off, then RERL reverts to the Echo Return Loss of the hybrid transformer or acoustic coupling path. However, some implementations might not measure this parameter in the absence of an active echo canceller. In such cases, this parameter will be omitted in the XRM/LVM and XRM/RVM lines, or set to a dummy value (127) in the XRM/RVM line. Kumar et al Informational Page 37 MGCP RTCP-XR Package 4/12/2007 Many voice band data sessions [ITU V.152] use fixed-length jitter buffers. If this is the case, then this will be reflected in the JBA parameter (set to "non-adaptive"), the JBR parameter (set to 0) and the JBS parameter (set to JBM). 2.3.9 Applicability of VoIP metrics to Fax Relay and Text Relay Since this document is focused on voice, it lacks key metrics related to fax [ITU T.38], text [ITU V.151] and modem [ITU V.150.1] relay. Other specifications such as [FAX PKG] will address in a comprehensive manner the reporting via MGCP of the metrics that pertain to the various relay modes. However, it is instructive to examine how the parameters defined in this document apply to various relay mechanisms. Tables 4, 5 and 6 examine the relevance of the metrics and session parameters listed in Tables 1, 2 and 3 to fax relay [ITU T.38]. Tables 7, 8 and 9 examine the relevance of the metrics and session parameters listed in Tables 1, 2 and 3 to text relay [ITU V.151]. Note that the basic definitions of parameters from Tables 1, 2, and 3 are not repeated in Tables 4 through 9. All that these tables address is the applicability of these parameters to fax relay and text relay. Parameters from Tables 1, 2 and 3 that are not relevant to fax relay are not listed in Tables 4, 5 and 6. Similarly, parameters from Tables 1, 2 and 3 that are not relevant to text relay are not listed in Tables 7, 8 and 9. Relay sessions (fax or text) get established in two ways. In the first case, the session is established as a fax or text relay session during call set-up. In the second case, it is established as an audio session which is transitioned, at media gateways, to fax relay or text relay on the receipt of certain tones or stimuli. A variant of this second case involves a transition from audio to voice band data and subsequently to fax relay or text relay. RTCP is REQUIRED in conjunction with any RTP session [RFC 3550]. This includes RTP-based fax relay and RTP-based text relay. However, the various blocks in RTCP-XR, such as the VoIP metrics block, are not. They must be negotiated at session establishment. Note that, in contrast to RTP-based relay sessions, RTCP is not applicable to non-RTP relay such as UDTPL-based fax relay [ITU T.38]. Note that burst parameters (burst loss density, gap loss density, burst duration, gap duration and the minimum gap threshold) are not germane to relay mechanisms (such as fax relay or text relay) since such relay streams are not continuous for significant periods of time. Any burst characterization is, therefore, likely to be deceptive. Kumar et al Informational Page 38 MGCP RTCP-XR Package 4/12/2007 Also note that the various R-factors and MOS scores in Table 1 are not applicable to baseband data transmission such as fax relay or data relay. TABLE 4: PARAMETERS FROM TABLE 1 THAT ARE APPLICABLE TO FAX RELAY +-----------------+-----------------------------------------------+ | PARAMETER | APPLICABILITY TO FAX RELAY | | from Table 1 | | +-----------------+-----------------------------------------------+ |Network packet |Loss refers to fax relay packets which MAY be | |loss rate(NLR) |UDPTL or RTP [ITU T.38]. Computed after FEC | | |and/or redundancy processing. As described | | |in [ITU T.38], the FEC and redundancy | | |schemes applicable to UDPTL fax relay and RTP | | |fax relay are different. | +-----------------+-----------------------------------------------+ |Jitter buffer |Discards refer to fax relay packets which MAY | |discard rate |be UDPTL or RTP [ITU T.38]. Computed after FEC | |(JDR) |and/or redundancy processing. As described | | |in [ITU T.38], the FEC and redundancy | | |schemes applicable to UDPTL fax relay and RTP | | |fax relay are different. | +-----------------+-----------------------------------------------+ |Round trip |Not very useful for fax relay sessions. Can be | |network delay |computed using RTCP for RTP-based fax relay. | |(RTD) |There is no standard mechanism for round-trip | | |delay computation in the case of UDPTL-based | | |fax relay. | ------------------------------------------------------------------- |End system delay | Not very useful for fax relay sessions. | |(ESD) | | +-----------------+-----------------------------------------------+ Kumar et al Informational Page 39 MGCP RTCP-XR Package 4/12/2007 TABLE 5: PARAMETERS FROM TABLE 2 THAT ARE APPLICABLE TO FAX RELAY +-----------------+-----------------------------------------------+ | PARAMETER | APPLICABILITY TO FAX RELAY | | from Table 2 | | +-----------------+-----------------------------------------------+ |Packets sent |Refers to fax relay packets, which MAY be UDPTL| |(PS) |or RTP. Does not include any RTP FEC packets | | |sent on a different SSRC or port. | +-----------------+-----------------------------------------------+ |Octets sent |Refers only to T.4 image octets in | |(OS) |primary UDPTL/RTP payloads/packets. Octets in | | |redundant/FEC payloads/packets are not counted.| +-----------------+-----------------------------------------------+ |Packets |Refers to fax relay packets, which MAY be UDPTL| |Received |or RTP. Does not include any RTP FEC packets | |(PR) |received on a different SSRC or port. | +-----------------+-----------------------------------------------+ |Octets received |Refers only to T.4 image octets in | |(OR) |primary UDPTL/RTP payloads/packets. Octets in | | |redundant/FEC payloads/packets are not | | |counted. | +-----------------+-----------------------------------------------+ |Packets lost |Refers to lost UDPTL/RTP fax relay packets | |(PL) |without taking into account any loss mitigation| | |due to redundancy or FEC. As described | | |in [ITU T.38], the FEC and redundancy | | |schemes applicable to UDPTL fax relay and RTP | | |fax relay are different. | +-----------------+-----------------------------------------------+ Kumar et al Informational Page 40 MGCP RTCP-XR Package 4/12/2007 TABLE 6: PARAMETERS FROM TABLE 3 THAT ARE APPLICABLE TO FAX RELAY +-----------------+-----------------------------------------------+ | PARAMETER | APPLICABILITY TO FAX RELAY | | from Table 3 | | +-----------------+-----------------------------------------------+ |SSRC |Not applicable to UDPTL-based fax relay. For | |(SSRC) |RTP-based fax relay, this is the SSRC of the | | |RTP fax relay stream. | +-----------------+-----------------------------------------------+ |Source IP address| Applicable to fax relay sessions. | |(IPAS) | | +-----------------+-----------------------------------------------+ |Source IP address| Applicable to fax relay sessions. | |type (IPTS) | | +-----------------+-----------------------------------------------+ |Destination IP | Applicable to fax relay sessions. | |address (IPAD) | | +-----------------+-----------------------------------------------+ |Destination IP | Applicable to fax relay sessions. | |address type | | |(IPTD) | | +-----------------+-----------------------------------------------+ |Source RTP/UDPTL | Applicable to fax relay sessions. | |port (RTUS) | | +-----------------+-----------------------------------------------+ |Destination | Applicable to fax relay sessions. | |RTP/UDPTL port | | |(RTUD) | | +-----------------+-----------------------------------------------+ |Source RTCP | Applicable to RTP-based fax relay sessions. | |port (RTCS) | | +-----------------+-----------------------------------------------+ |Destination RTCP | Applicable to RTP-based fax relay sessions. | |port (RTCD) | | +-----------------+-----------------------------------------------+ |Media Mode (MMOD)| Applicable to fax relay sessions. | +-----------------+-----------------------------------------------+ |SSRC of received |Applicable to RTP-based fax relay if FEC is | |FEC stream |used in conjunction with it. | |(FSRC) | | +-----------------+-----------------------------------------------+ |Destination IP |Applicable to RTP-based fax relay if FEC is | |address for FEC |used in conjunction with it. | |(IPAF) | | +-----------------+-----------------------------------------------+ Kumar et al Informational Page 41 MGCP RTCP-XR Package 4/12/2007 +-----------------+-----------------------------------------------+ | PARAMETER | APPLICABILITY TO FAX RELAY | | from Table 3 | | +-----------------+-----------------------------------------------+ |Destination RTP |Applicable to RTP-based fax relay if FEC is | |port for FEC |used in conjunction with it. | |(RTFD) | | +-----------------+-----------------------------------------------+ TABLE 7: PARAMETERS FROM TABLE 1 THAT ARE APPLICABLE TO TEXT RELAY +-----------------+-----------------------------------------------+ | PARAMETER | APPLICABILITY TO TEXT RELAY | | from Table 1 | | +-----------------+-----------------------------------------------+ |Network packet |Packet loss is computed for a stream of packets| |loss rate(NLR) |sharing an SSRC and, therefore, the same | | |sequence number space. This is either a | | |stream of RTP-based text relay packets or an | | |interleaved stream of audio and text relay | | |packets. This loss rate is computed after FEC | | |and/or redundancy processing. | +-----------------+-----------------------------------------------+ |Jitter buffer |The discard rate is computed for a stream of | |discard rate |packets sharing an SSRC and, therefore, the | |(JDR) |same sequence number space. This is either a | | |stream of RTP-based text relay packets or an | | |interleaved stream of audio and text relay | | |packets. This loss rate is computed after FEC | | |and/or redundancy processing. | +-----------------+-----------------------------------------------+ |Round trip |Applicable to text relay sessions. | |network delay | | |(RTD) | | +-----------------+-----------------------------------------------+ |End system delay |Applicable to text relay sessions. | |(ESD) | | +-----------------+-----------------------------------------------+ Kumar et al Informational Page 42 MGCP RTCP-XR Package 4/12/2007 TABLE 8: PARAMETERS FROM TABLE 2 THAT ARE APPLICABLE TO TEXT RELAY +-----------------+-----------------------------------------------+ | PARAMETER | APPLICABILITY TO TEXT RELAY | | from Table 2 | | +-----------------+-----------------------------------------------+ |Packets sent |Refers to text relay packets. If these packets | |(PS) |share an SSRC with an interleaved audio stream,| | |it refers to the composite stream. Does not | | |include any FEC packets sent on a different | | |SSRC or port. | +-----------------+-----------------------------------------------+ |Octets sent |Refers only to payload octets in primary RTP | |(OS) |payloads/packets. Payload octets include text | | |octets and audio octets sent with the same | | |SSRC. Octets in redundant or FEC | | |payloads/packets are not counted. | +-----------------+-----------------------------------------------+ |Packets received |Refers to text relay packets. If these packets | |(PR) |share an SSRC with an interleaved audio stream,| | |it refers to the composite stream. Does not | | |include any FEC packets received on a different| | |SSRC or port. | +-----------------+-----------------------------------------------+ |Octets received |Refers only to payload octets in primary RTP | |(OR) |payloads/packets. Payload octets include text | | |octets and audio octets received with the same | | |SSRC. Octets in redundant or FEC | | |payloads/packets are not counted. | +-----------------+-----------------------------------------------+ |Packets lost |Refers to text relay packets. If these packets | |(PL) |share an SSRC with an interleaved audio stream,| | |it refers to the composite stream. Does not | | |take into account any loss mitigation due to | | |due to redundancy or FEC. | +-----------------+-----------------------------------------------+ Kumar et al Informational Page 43 MGCP RTCP-XR Package 4/12/2007 TABLE 9: PARAMETERS FROM TABLE 3 THAT ARE APPLICABLE TO TEXT RELAY +-----------------+-----------------------------------------------+ | PARAMETER | APPLICABILITY TO TEXT RELAY | | from Table 3 | | +-----------------+-----------------------------------------------+ |SSRC |Applicable to text relay sessions and sessions | |(SSRC) |with interleaved text relay and audio packets. | +-----------------+-----------------------------------------------+ |Source IP |Applicable to text relay sessions and sessions | |address (IPAS) |with interleaved text relay and audio packets. | +-----------------+-----------------------------------------------+ |Source IP address|Applicable to text relay sessions and sessions | |type (IPTS) |with interleaved text relay and audio packets. | +-----------------+-----------------------------------------------+ |Destination IP |Applicable to text relay sessions and sessions | |address (IPAD) |with interleaved text relay and audio packets. | +-----------------+-----------------------------------------------+ |Destination IP |Applicable to text relay sessions and sessions | |address type |with interleaved text relay and audio packets. | |(IPTD) | | +-----------------+-----------------------------------------------+ |Source RTP/UDPTL |Applicable to text relay sessions and sessions | |port(RTUS) |with interleaved text relay and audio packets. | +-----------------+-----------------------------------------------+ |Destination |Applicable to text relay sessions and sessions | |RTP/UDPTL port |with interleaved text relay and audio packets. | |(RTUD) | | +-----------------+-----------------------------------------------+ |Source RTCP |Applicable to text relay sessions and sessions | |port (RTCS) |with interleaved text relay and audio packets. | +-----------------+-----------------------------------------------+ |Destination RTCP |Applicable to text relay sessions and sessions | |port (RTCD) |with interleaved text relay and audio packets. | +-----------------+-----------------------------------------------+ |Media Mode |Applicable to text relay sessions and sessions | |(MMOD) |with interleaved text relay and audio packets. | +-----------------+-----------------------------------------------+ |SSRC of received |Applicable if FEC is used. | |FEC stream (FSRC)| | +-----------------+-----------------------------------------------+ |Destination IP |Applicable if FEC is used. | |address for FEC | | |(IPAF) | | +-----------------+-----------------------------------------------+ |Destination RTP |Applicable if FEC is used. | |port for FEC | | |(RTFD) | | +-----------------+-----------------------------------------------+ Kumar et al Informational Page 44 MGCP RTCP-XR Package 4/12/2007 3. Call Flow Examples The following examples are partial call flows for the case where the XRM/mcr local connection option is set to "on". Only one endpoint's perspective is shown. In this example, the remote endpoint sends voice metrics to this endpoint via RTCP Extended Reports, Sender Reports and Receiver Reports. Note that these are call flow examples and not examples of typical metrics values. These values have not been derived from real-world situations and, therefore, do not necessarily have the right numeric relationship between themselves. 3.1 Metrics Reporting during Call agent-initiated Delete Connection Step 1: The Call Agent issues a CreateConnection command to the endpoint instructing it to use PCMU media encoding and to invoke RTCP XR metric collection, responding and reporting: CRCX 1000 ds/ds1-1/1@gw-o.example.net MGCP 1.0 C: 1 L: a:PCMU, xrm/mcr: on M: recvonly Step 2: The endpoint acknowledges the command and includes the rtxp-xr attribute set to "voip-metrics": 200 1000 OK I:1 v=0 o=- 25678 753849 IN IP4 128.96.41.1 s=- c=IN IP4 128.96.41.1 t=0 0 m=audio 3456 RTP/AVP 0 a=rtcp-xr:voip-metrics Step 3: The endpoint receives a ModifyConnection command containing an LCO with no xrm/mcr parameter, which indicates that the endpoint SHOULD continue to use the previously received value of "on". Since the received SDP also contains the rtcp-xr attribute with a value of "voip-metrics", it Kumar et al Informational Page 45 MGCP RTCP-XR Package 4/12/2007 is safe to assume that both ends will exchange the VoIP metrics block in RTCP Extended Reports (XR). MDCX 1001 ds/ds1-1/1@gw-o.example.net MGCP 1.0 C: 1 I: 1 L: a:PCMU;G728 M: sendrecv I:1 v=0 o=- 4723891 7428910 IN IP4 128.96.63.25 s=- c=IN IP4 128.96.63.25 t=0 0 m=audio 4082 RTP/AVP 0 a=rtcp-xr:voip-metrics Step 4: The endpoint acknowledges the command and, since VoIP metrics collection/reporting is still "on", includes the rtxp-xr attribute set to "voip-metrics": 200 1001 OK v=0 o=- 25678 753849 IN IP4 128.96.41.1 s=- c=IN IP4 128.96.41.1 t=0 0 m=audio 3456 RTP/AVP 0 a=rtcp-xr:voip-metrics Step 5: The Call Agent eventually issues a DeleteConnection: DLCX 1100 ds/ds1-1/1@gw-o.example.net MGCP 1.0 C: 1 I: 1 Step 6: The endpoint acknowledges the command and returns the standard MGCP connection parameters along with the XRM/LVM line and the XRM/RVM line. Kumar et al Informational Page 46 MGCP RTCP-XR Package 4/12/2007 This endpoint elects to include the remote equivalents of the connection parameters on XRM/RVM line. Note that the remote end has indicated that the ITU G.107 specification has been used to compute the R-factors and that a proprietary algorithm, "Acme Widgets 233", has been used to compute MOS-LQ. The remote end has not indicated the algorithm used to compute MOS-CQ, which is on of the metrics that it has communicated via an RTCP extended report. Also note that new lines shown here are for document formatting reasons only. 250 1100 OK P: PS=5000, OS=200000, PR=6000, OR=340000, PL=800, JI=27, LA=180 XRM/LVM: NLR=28, JDR=14, BLD=128, GLD=10, BD=55, GD=1000, RTD=180,ESD=30, SL=-15, NL=20, RERL=23, GMN=16, NSR=63, RLQ=61, XSR=65, MLQ=33, MCQ=31, PLC=3, JBA=3, JBR=8, JBN=40, JBM=80, JBS=120, SSRC=27513888, IPAD=128.96.41.1, RTPD=3456, VCD=PCMU, VPT=0, MMOD=a, SMPL=8000, PKRT=200, SSUP=on, ECAN=on, VRED=off, VFEC=off XRM/RVM: NLR=6, JDR=2, BLD=50, GLD=3, BD=20, GD=6000, RTD=180, ESD=23, SL=-16, NL=25, RERL=23, GMN=16, NSR=80, RLQ=82, XSR=77, MLQ=37, MCQ=35, PLC=3, JBA=3, JBR=8, JBN=30, JBM=60, JBS=100, MLES=Acme widgets 233, RFES=ITU G.107,PS=6800, OS=272000, PR=4900, OR=196000, IAJ=15, SSRC=832829, IPAD=128.96.63.25, RTPD=4082, VCD=PCMU, VPT=0, MMOD=a, SMPL=8000, PKRT=200, SSUP=on, ECAN=on, VRED=off, VFEC=off 3.2 Metrics Reporting during Gateway-initiated Delete Connection Step 1: The Call Agent issues a CreateConnection command to the endpoint instructing it to use PCMU media encoding and to invoke RTCP XR metric collection and reporting: CRCX 1000 ds/ds1-1/1@gw-o.example.net MGCP 1.0 C: 1 L: a:PCMU, xrm/mcr: on M: recvonly Step 2: The endpoint acknowledges the command and includes the rtxp-xr attribute set to "voip-metrics": 200 1000 OK I:1 Kumar et al Informational Page 47 MGCP RTCP-XR Package 4/12/2007 v=0 o=- 25678 753849 IN IP4 128.96.41.1 s=- c=IN IP4 128.96.41.1 t=0 0 m=audio 3456 RTP/AVP 0 a=rtcp-xr:voip-metrics Step 3: The Endpoint issues a DeleteConnection command including the connection parameters along with the XRM/LVM line and the XRM/RVM line: DLCX 1100 ds/ds1-1/1@gw-o.example.net MGCP 1.0 C: 1 I: 1 E: 900 - - Hardware error P: PS=5000, OS=200000, PR=6000, OR=340000, PL=800, JI=27, LA=180 XRM/LVM: NLR=28, JDR=14, BLD=128, GLD=10, BD=55, GD=1000, RTD=180,ESD=30, SL=-15, NL=20, RERL=23, GMN=16, NSR=63, XSR=65, MLQ=33, MCQ=31, PLC=3, JBA=3, JBR=8, JBN=40, JBM=80, JBS=120, SSRC=27513888, IPAD=128.96.41.1, RTPD=3456, VCD=PCMU, VPT=0, SMPL=8000, PKRT=200, SSUP=on, ECAN=on, VRED=off, VFEC=off XRM/RVM: NLR=6, JDR=2, BLD=50, GLD=3, BD=20, GD=6000, RTD=180, ESD=23, SL=-16, NL=25, RERL=23, GMN=16, NSR=80, XSR=77, MLQ=37, MCQ=35, PLC=3, JBA=3, JBR=8, JBN=30, JBM=60, JBS=100, PS=6800, OS=272000, PR=4900, OR=196000, IAJ=15, SSRC=832829, IPAD=128.96.63.25, RTPD=4082, VCD=PCMU, VPT=0, SMPL=8000, PKRT=200, SSUP=on, ECAN=on, VRED=off, VFEC=off Note that the RLQ parameter is not included in the XRM/LVM or the XRM/RVM lines. This is just an example of allowed parameter omission. This example could have very well been constructed with the RLQ parameter. Step 4: The Call Agent acknowledges the command: 200 1100 OK 3.3 Metrics Reporting during Audit Connection Kumar et al Informational Page 48 MGCP RTCP-XR Package 4/12/2007 Step 1: The Call Agent issues a CreateConnection command to the endpoint instructing it to use PCMU media encoding and to invoke RTCP XR metric collection, responding and reporting: CRCX 1000 ds/ds1-1/1@gw-o.example.net MGCP 1.0 C: 1 L: a:PCMU, xrm/mcr: on M: recvonly Step 2: The endpoint acknowledges the command and includes the rtxp-xr attribute set to "voip-metrics": 200 1000 OK I:1 v=0 o=- 25678 753849 IN IP4 128.96.41.1 s=- c=IN IP4 128.96.41.1 t=0 0 m=audio 3456 RTP/AVP 0 a=rtcp-xr:voip-metrics Step 3: The endpoint receives a ModifyConnection command containing an LCO with no xrm/mcr parameter, which indicates that the endpoint SHOULD continue to use the previously received value of "on". Since the received SDP also contains the rtcp-xr attribute with a value of "voip-metrics", it is safe to assume that both ends will exchange the VoIP metrics block in RTCP Extended Reports (XR). MDCX 1001 ds/ds1-1/1@gw-o.example.net MGCP 1.0 C: 1 I: 1 L: a:PCMU;G728 M: sendrecv v=0 o=- 4723891 7428910 IN IP4 128.96.63.25 s=- c=IN IP4 128.96.63.25 Kumar et al Informational Page 49 MGCP RTCP-XR Package 4/12/2007 t=0 0 m=audio 4082 RTP/AVP 0 a=rtcp-xr:voip-metrics Step 4: The endpoint acknowledges the command and, since VoIP metrics collection/reporting is still "on", includes the rtxp-xr attribute set to "voip-metrics": 200 1001 OK I:1 v=0 o=- 25678 753849 IN IP4 128.96.41.1 s=- c=IN IP4 128.96.41.1 t=0 0 m=audio 3456 RTP/AVP 0 a=rtcp-xr:voip-metrics Step 5: The Call Agent eventually issues a AuditConnection that requests the XRM/LVM and XRM/RVM lines but not the P (connection parameters) line: AUCX 1100 ds/ds1-1/1@gw-o.example.net MGCP 1.0 C: 1 I: 1 F: XRM/LVM, XRM/RVM Step 6: The endpoint acknowledges the command and returns the XRM/LVM line and the XRM/RVM line. This endpoint elects to include the local and remote equivalents of the connection parameters in the XRM/LVM and XRM/RVM line. Also note that new lines shown here are for document formatting reasons only. 200 1100 OK XRM/LVM: NLR=28, JDR=14, BLD=128, GLD=10, BD=55, GD=1000, RTD=180,ESD=30, SL=-15, NL=20, RERL=23, GMN=16, NSR=63, RLQ=61, XSR=65, MLQ=33, MCQ=31, PLC=3, JBA=3, JBR=8, JBN=40, JBM=80, JBS=120, PS=5000, OS=200000, PR=6000, OR=340000, PL=800, IAJ=27, SSRC=27513888, IPAD=128.96.41.1, RTPD=3456, VCD=PCMU, VPT=0, MMOD=a, SMPL=8000, Kumar et al Informational Page 50 MGCP RTCP-XR Package 4/12/2007 PKRT=200, SSUP=on, ECAN=on, VRED=off, VFEC=off XRM/RVM: NLR=6, JDR=2, BLD=50, GLD=3, BD=20, GD=6000, RTD=180, ESD=23, SL=-16, NL=25, RERL=23, GMN=16, NSR=80, RLQ=82, XSR=77, MLQ=37, MCQ=35, PLC=3, JBA=3, JBR=8, JBN=30, JBM=60, JBS=100, PS=6800, OS=272000, PR=4900, OR=196000, IAJ=15, SSRC=832829, IPAD=128.96.63.25, RTPD=4082, VCD=PCMU, VPT=0, MMOD=a, SMPL=8000, PKRT=200, SSUP=on, ECAN=on, VRED=off, VFEC=off 3.4 Metrics Reporting during Modify Connection Step 1: The Call Agent issues a CreateConnection command to the endpoint instructing it to use PCMU media encoding and to invoke RTCP XR metric collection, responding and reporting: CRCX 1000 ds/ds1-1/1@gw-o.example.net MGCP 1.0 C: 1 L: a:PCMU, xrm/mcr: on M: recvonly Step 2: The endpoint acknowledges the command and includes the rtxp-xr attribute set to "voip-metrics": 200 1000 OK I:1 v=0 o=- 25678 753849 IN IP4 128.96.41.1 s=- c=IN IP4 128.96.41.1 t=0 0 m=audio 3456 RTP/AVP 0 a=rtcp-xr:voip-metrics Step 3: The endpoint receives a ModifyConnection command containing an LCO with no xrm/mcr parameter, which indicates that the endpoint SHOULD continue to use the previously received value of "on". Since the received SDP also contains the rtcp-xr attribute with a value of "voip-metrics", it is safe to assume that both ends will exchange the VoIP metrics block in RTCP Extended Reports (XR). Kumar et al Informational Page 51 MGCP RTCP-XR Package 4/12/2007 MDCX 1001 ds/ds1-1/1@gw-o.example.net MGCP 1.0 C: 1 I: 1 L: a:PCMU;G728 M: sendrecv v=0 o=- 4723891 7428910 IN IP4 128.96.63.25 s=- c=IN IP4 128.96.63.25 t=0 0 m=audio 4082 RTP/AVP 0 a=rtcp-xr:voip-metrics Step 4: The endpoint acknowledges the command and, since VoIP metrics collection/reporting is still "on", includes the rtxp-xr attribute set to "voip-metrics": 200 1001 OK I:1 v=0 o=- 25678 753849 IN IP4 128.96.41.1 s=- c=IN IP4 128.96.41.1 t=0 0 m=audio 3456 RTP/AVP 0 a=rtcp-xr:voip-metrics Step 5: The Call Agent eventually issues a ModifyConnection with the XRM/MMO line requesting that local and remote metrics be reset and reported. MDCX 1001 ds/ds1-1/1@gw-o.example.net MGCP 1.0 C: 1 I: 1 L: a:PCMU;G728 M: sendrecv XRM/MMO: RR Kumar et al Informational Page 52 MGCP RTCP-XR Package 4/12/2007 Step 6: The endpoint acknowledges the command and returns the XRM/LVM line and the XRM/RVM line. The endpoint does not include the connection parameters line since this would violate [RFC 3435]. Instead, it includes the local and remote equivalents of the connection parameters in the XRM/LVM and XRM/RVM line. Also note that new lines shown here are for document formatting reasons only. 200 1001 OK XRM/LVM: NLR=28, JDR=14, BLD=128, GLD=10, BD=55, GD=1000, RTD=180,ESD=30, SL=-15, NL=20, RERL=23, GMN=16, NSR=63, RLQ=61, XSR=65, MLQ=33, MCQ=31, PLC=3, JBA=3, JBR=8, JBN=40, JBM=80, JBS=120, PS=5000, OS=200000, PR=6000, OR=340000, PL=800, IAJ=27, SSRC=27513888, IPAD=128.96.41.1, RTPD=3456, VCD=PCMU, VPT=0, MMOD=a, SMPL=8000, PKRT=200, SSUP=on, ECAN=on, VRED=off, VFEC=off XRM/RVM: NLR=6, JDR=2, BLD=50, GLD=3, BD=20, GD=6000, RTD=180, ESD=23, SL=-16, NL=25, RERL=23, GMN=16, NSR=80, RLQ=82, XSR=77, MLQ=37, MCQ=35, PLC=3, JBA=3, JBR=8, JBN=30, JBM=60, JBS=100, PS=6800, OS=272000, PR=4900, OR=196000, IAJ=15, SSRC=832829, IPAD=128.96.63.25, RTPD=4082, VCD=PCMU, VPT=0, MMOD=a, SMPL=8000, PKRT=200, SSUP=on, ECAN=on, VRED=off, VFEC=off 4. Security Considerations This package inherits the security considerations of the base MGCP protocol. A possible new security issue involves a remote device placing extra burden on a local endpoint by requesting metric collection on that local endpoint. This threat can be mitigated by the call agent specifically prohibiting the generation of local metrics using the local connection option: xrm/mcr: off. 5. IANA Considerations 5.1 Package Registration The IANA is hereby requested to register the following MGCP package: Package Title Name Version ------------- ---- ------- RTCP XR metrics XRM 0 5.2. Extension Registration The IANA is requested to create a registry of MGCP names of vendor- specified VoIP metrics. These metrics MAY be used in the XRM/LVM and Kumar et al Informational Page 53 MGCP RTCP-XR Package 4/12/2007 XRM/RVM lines defined in this package. Such a metric SHALL be described in a specification ("source document") approved by an accredited standards organization such as the IETF or ITU. This document MAY be informative and MAY address more than one metric. It MUST include: - Contact name, email address and telephone number. - Metric name, as an alphabetic character string - Description of and ABNF notation for the permitted range of values, - A functional description of the metric i.e. what it measures and how it is to be used, - Optionally, the measurement algorithm and any IPR statements associated with it. 6. Changes from earlier drafts 6.1 Changes from the -00 version to the -01 version All changes from the -00 version to the -01 version of this draft are backwards compatible. All new features in the 01 version are OPTIONAL. Note that the -00 version was incorporated into the PacketCable 1.5 specifications. Changes from the -00 version to the -01 version are: - Inclusion of statistics from the RTCP sender and receiver reports, with the exception of latency which is already present in the RTCP XR VoIP metrics block. The reporting of these statistics via this package is OPTIONAL. - Inclusion of session description parameters based on the ones defined in RFC 2327, RFC 2198 etc. This included media description parameters such as codec type. - Inclusion of a modify connection procedure for the reporting and resetting of voice quality metrics. - Clarification of cumulative vs. interval metrics. For the SR/RR metrics, these rules are inherited from connection parameters in [RFC 3435]. - Inclusion of a new G.107-based parameter, RLQ, for indicating the listening quality of a VoIP session. - Inclusion of a new parameter, MLES, for indicating the algorithm used to estimate the MOS-LQ metric. Kumar et al Informational Page 54 MGCP RTCP-XR Package 4/12/2007 - ABNF correction for requiring at least one metric in the XRM/LVM line. - Inclusion of a mechanism for defining vendor extension metrics that can be used in this package, and a mechanism for OPTIONALly registering these metrics with the IANA. 6.2 Changes from the -01 version to the -02 version All changes from the -01 version of this draft to the -02 version are backwards compatible. These are: - Included the impact of redundancy (e.g. RFC 2198) and FEC (e.g. RFC 2733) on packet loss computation. - Corrections of errors and typos in the ABNF. 6.3 Changes from the -02 version to the -03 version All changes from the -02 version of this draft to the -03 version are backwards compatible. These are: - Added the parameters FSRC, IPAF and RTFD to Table 3 to fully cover the case in which an RFC 2733 FEC is used. - Added section 2.3.9 on the applicability to fax relay and text relay of the VoIP metrics and session parameters reported via this package. 6.4 Changes from the -03 version to the -04 version All changes from the -03 version of this draft to the -04 version are backwards compatible. These are: - Clarification that metrics MAY be reset during media mode shifts, and that this is the preferred behavior. - Clarified how an audit connection MAY be associated with a preceding event notification. This is based on temporal proximity. Included recommendation to report the metrics captured just prior to the event. - Included two new parameters that MAY be OPTIONALly reported: the computation interval (CMPI) and the number of reset occurrences (ROC). - Included section 2.3.7 describing the impact of media state changes on VoIP metrics. 6.5 Changes from the -04 version to the -05 version Spelling errors. 6.6 Changes from the -05 version to the -06 version Formatting. 6.7 Potential future updates - Add list of acronyms Kumar et al Informational Page 55 MGCP RTCP-XR Package 4/12/2007 7. Normative References [RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, March 1997. [RFC 3435] F. Andreasen, B. Foster, "Media Gateway Control Protocol (MGCP) Version 1.0", January 2003. [RFC 3611] T. Friedman, R. Caceres, A. Clark, "RTP Control Protocol Extended Reports (RTCP XR)", November 2003. [RFC 3550] H. Schulzrinne, S. Casner, R. Frederick and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", July 2003. [RFC 2327] M.Handley and V. Jacobson, "SDP: Session Description Protocol", April 1998. [RFC 3660] B.Foster and F.Andreasen, "Basic Media Gateway Control Protocol (MGCP) Packages", December 2003. [RFC 2234] D.Crocker and P.Overell, "Augmented BNF for Syntax Specifications: ABNF", November 1997. [RFC 3261] J.Rosenberg, H.Schulzrinne, G.Camarillo, A.Johnston, J.Peterson, R.Sparks, M.Handley, E.Schooler, "SIP: Session Initiation Protocol", June 2002. [RFC 2198] C.Perkins, I.Kouvelas, O.Hodson, V.Hardman, M.Handley, J.C.Balot, A.Vega-Garcia and S. Fosse-Parisis, "RTP Payload for Redundant Audio Data", September 1997. [RFC 2733] J.Rosenberg, H.Schulzrinne, "An RTP Payload format for Generic Forward Error Correction", December 1999. [IANA RTP] http://www.iana.org/assignments/media-types/audio/. [US-ASCII] Coded Character Set--7-Bit American Standard Code for Information Interchange, ANSI X3.4-1986. [ITU V.152] Procedures for supporting Voice-Band Data over IP Networks, ITU V.152, January 2005. [FAX PKG] draft-andreasen-mgcp-fax-04.txt, Media Gateway Control Protocol Fax Package, F. Andreasen. [RFC 4103] RTP Payload for Text Conversation, Gunnar Hellstrom and Paul Jones. Kumar et al Informational Page 56 MGCP RTCP-XR Package 4/12/2007 [ITU V.150.1] Modem-over-IP networks: Procedures for the end-to-end connection of V-series DCEs, ITU V.150.1, January 2003. [ITU V.151] Procedures for the end-to-end connection of analogue PSTN text telephones over an IP network utilizing Text Relay, Telecommunications Industries Association (TIA) Technical Draft TR- 30.1/05-03-006, Tampa, FL, Feb 28 - March4, 2005. [ITU T.140] Protocol for multimedia application text conversation, February 1998. Also, addendum 1, February 2000. [RFC 2793] G. Hellstrom, RTP Payload for Text Conversation. Also, its upcoming successor documents: G. Hellstrom and P. Jones, draft-ietf- avt-rfc2793bis-09, and G. Hellstrom and P. Jones, draft-ietf-avt-audio- t140c-00. [ITU T.35] Procedure for the allocation of ITU-T defined codes for non- standard facilities, February 2000. [ITU T.38] Procedures for real-time Group 3 facsimile communication over IP networks, September 2005. [ITU P.VTQ] Add a reference when ITU P.VTQ becomes a standard for MOS- LQ. 8. Acknowledgments Contributors to this document include Alan Clark, Joe Stone, Flemming Andreasen, Robert Biskner, Michael Ramalho, Paul Jones, Steve White, Kevin Connor, Jim Frauenthal, Tom Hock, Prakash Bhat, David Ensign and the PacketCable NCS Specification Team. 9. 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. Kumar et al Informational Page 57