Session Initiation Protocol Event Package for Voice Quality Reporting
RFC 6035
Document | Type | RFC - Proposed Standard (November 2010) Errata | |
---|---|---|---|
Authors | Dr. Henry Sinnreich , Amy Pendleton , Alan Clark , Alan Johnston | ||
Last updated | 2015-10-14 | ||
RFC stream | Internet Engineering Task Force (IETF) | ||
Formats | |||
Additional resources | Mailing list discussion | ||
IESG | Responsible AD | Robert Sparks | |
Send notices to | (None) |
RFC 6035
" 1*2DIGIT ]) ;percentage GapDuration = "GD" EQUAL (1*7DIGIT) ;0-3,600,000 -- milliseconds Pendleton, et al. Standards Track [Page 15] RFC 6035 SIP Package for Voice Quality Reporting November 2010 MinimumGapThreshold = "GMIN" EQUAL (1*3DIGIT) ;1-255 Delay = "Delay" HCOLON [ RoundTripDelay WSP ] [ EndSystemDelay WSP ] [ OneWayDelay WSP ] [ SymmOneWayDelay WSP ] [ InterarrivalJitter WSP ] [ MeanAbsoluteJitter ] *(WSP Extension) ; RoundTripDelay SHALL be measured as defined in RFC 3550 [3]. RoundTripDelay = "RTD" EQUAL (1*5DIGIT) ;0-65535 ; EndSystemDelay metric is defined in RFC 3611 [4]. EndSystemDelay = "ESD" EQUAL (1*5DIGIT) ;0-65535 ; OneWayDelay is defined in RFC 2679 [12]. OneWayDelay = "OWD" EQUAL (1*5DIGIT) ;0-65535 ; SymmOneWayDelay is defined as half the sum of RoundTripDelay ; and the EndSystemDelay values for both endpoints. SymmOneWayDelay = "SOWD" EQUAL (1*5DIGIT); 0-65535 ; Interarrival Jitter is calculated as defined RFC 3550 [3] ; and converted into milliseconds. InterarrivalJitter = "IAJ" EQUAL (1*5DIGIT) ;0-65535 ms ; Mean Absolute Jitter is measured as defined ; by ITU-T G.1020 [9] where it is known as MAPDV. MeanAbsoluteJitter = "MAJ" EQUAL (1*5DIGIT);0-65535 ; Signal metrics definitions are provided in RFC 3611 [4]. Signal = "Signal" HCOLON [ SignalLevel WSP ] [ NoiseLevel WSP ] [ ResidualEchoReturnLoss ] *(WSP Extension) ; SignalLevel will normally be a negative value. Pendleton, et al. Standards Track [Page 16] RFC 6035 SIP Package for Voice Quality Reporting November 2010 ; The absence of the negative sign indicates a positive value. ; Where the signal level is negative, the sign MUST be ; included. This metric applies to the speech signal decoded ; from the received packet stream. SignalLevel = "SL" EQUAL ([ "-" ] 1*2DIGIT) ; NoiseLevel will normally be negative and the sign MUST be ; explicitly included. ; The absence of a sign indicates a positive value. ; This metric applies to the speech signal decoded from the ; received packet stream. NoiseLevel = "NL" EQUAL ([ "-" ] 1*2DIGIT) ; Residual Echo Return Loss (RERL) is the ratio between ; the original signal and the echo level as measured after ; echo cancellation or suppression has been applied. ; Expressed in decibels (dB). This is typically a positive ; value. ; This metric relates to the proportion of the speech signal ; decoded from the received packet stream that is reflected ; back in the encoded speech signal output in the transmitted ; packet stream (i.e., will affect the REMOTE user's ; conversational quality). To support the diagnosis of echo- ; related problems experienced by the local user of the device ; generating a report according to this document, the value of ; RERL reported via the RTCP XR VoIP Metrics payload SHOULD be ; reported in the RemoteMetrics set of data. ResidualEchoReturnLoss = "RERL" EQUAL (1*3DIGIT) ; Voice Quality estimation metrics. ; Each quality estimate has an optional associated algorithm. ; These fields permit the implementation to use a variety ; of different calculation methods for each type of metric. QualityEstimates = "QualityEst" HCOLON [ ListeningQualityR WSP ] [ RLQEstAlg WSP ] [ ConversationalQualityR WSP ] [ RCQEstAlg WSP ] [ ExternalR-In WSP ] [ ExtRInEstAlg WSP ] [ ExternalR-Out WSP ] [ ExtROutEstAlg WSP ] [ MOS-LQ WSP ] [ MOSLQEstAlg WSP ] Pendleton, et al. Standards Track [Page 17] RFC 6035 SIP Package for Voice Quality Reporting November 2010 [ MOS-CQ WSP ] [ MOSCQEstAlg WSP ] [ QoEEstAlg ] *(WSP Extension) ListeningQualityR = "RLQ" EQUAL (1*3DIGIT) ; 0 - 120 RLQEstAlg = "RLQEstAlg" EQUAL word ; "P.564" [10], or other ConversationalQualityR = "RCQ" EQUAL (1*3DIGIT) ; 0 - 120 RCQEstAlg = "RCQEstAlg" EQUAL word ; "P.564", or other ; ExternalR-In is measured by the local endpoint for incoming ; connection on the "other" side of this endpoint. For example, ; Phone A <---> Bridge <----> Phone B ; ListeningQualityR = quality for Phone A ----> Bridge path ; ExternalR-In = quality for Bridge <---- Phone B path ExternalR-In = "EXTRI" EQUAL (1*3DIGIT) ; 0 - 120 ExtRInEstAlg = "ExtRIEstAlg" EQUAL word ; "P.564" or other ; ExternalR-Out is copied from the RTCP XR message received from the ; remote endpoint on the "other" side of this endpoint. For example, ; Phone A <---> Bridge <----> Phone B ; ExternalR-Out = quality for Bridge -----> Phone B path ExternalR-Out = "EXTRO" EQUAL (1*3DIGIT) ; 0 - 120 ExtROutEstAlg = "ExtROEstAlg" EQUAL word ; "P.564" or other MOS-LQ = "MOSLQ" EQUAL (DIGIT [ "." 1*3DIGIT ]) ; 0.0 - 4.9 MOSLQEstAlg = "MOSLQEstAlg" EQUAL word ; "P.564" or other MOS-CQ = "MOSCQ" EQUAL (DIGIT [ "." 1*3DIGIT ]) ; 0.0 - 4.9 MOSCQEstAlg = "MOSCQEstAlg" EQUAL word ; "P.564" or other ; QoEEstAlg provides an alternative to the separate ; estimation algorithms for use when the same algorithm ; is used for all measurements. Pendleton, et al. Standards Track [Page 18] RFC 6035 SIP Package for Voice Quality Reporting November 2010 QoEEstAlg = "QoEEstAlg" EQUAL word ; "P.564" or other ; DialogID provides the identification of the dialog with ; which the media session is related. This value is taken ; from the SIP header. DialogID = "DialogID" COLON Call-ID-Parm *(SEMI did-parm) did-parm = to-tag / from-tag / word to-tag = "to-tag" EQUAL token from-tag = "from-tag" EQUAL token ; MetricType provides the metric on which a notification of ; threshold violation was based. The more commonly used metrics ; for alerting purposes are included here explicitly, using the ; character encoding that represents the parameter in ; this ABNF. The Extension parameter can be used to provide ; metrics that are not defined by this document. MetricType = "Type" EQUAL "RLQ" / "RCQ" / "EXTR" / "MOSLQ" / "MOSCQ" / "BD" / "NLR" / "JDR" / "RTD" / "ESD" / "IAJ" / "RERL" / "SL" / "NL" / Extension Direction = "Dir" EQUAL "local" / "remote" Severity = "Severity" EQUAL "Warning" / "Critical" / "Clear" Call-ID-Parm = word [ "@" word ] ; General ABNF notation from RFC 5234. CRLF = %x0D.0A DIGIT = %x30-39 WSP = SP / HTAB ; white space SP = " " HTAB = %x09 ; horizontal tab HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F" / "a" / "b" / "c" / "d" / "e" / "f" DQUOTE = %x22 ; " (Double Quote) ALPHA = %x41-5A / %x61-7A ; A-Z / a-z Pendleton, et al. Standards Track [Page 19] RFC 6035 SIP Package for Voice Quality Reporting November 2010 ; ABNF notation from RFC 3261. alphanum = ALPHA / DIGIT LWS = [ *WSP CRLF ] 1*WSP ; linear whitespace SWS = [ LWS ] ; sep whitespace SEMI = SWS ";" SWS ; semicolon EQUAL = SWS "=" SWS ; equal COLON = SWS ":" SWS ; colon HCOLON = *( SP / HTAB ) ":" SWS token = 1*(alphanum / "-" / "." / "!" / "%" / "*" / "_" / "+" / "`" / "'" / "~" ) IPv4address = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT IPv6address = hexpart [ ":" IPv4address ] hexpart = hexseq / hexseq "::" [ hexseq ] / "::" [ hexseq ] hexseq = hex4 *( ":" hex4) hex4 = 1*4HEXDIG hex2 = 2HEXDIG ; ABNF notation from RFC 3339. date-fullyear = 4DIGIT ; e.g. 2006 date-month = 2DIGIT ; e.g. 01 or 11 date-mday = 2DIGIT ; e.g. 02 or 22 time-hour = 2DIGIT ; e.g. 01 or 13 time-minute = 2DIGIT ; e.g. 03 or 55 time-second = 2DIGIT ; e.g. 01 or 59 time-secfrac = "." 1*DIGIT time-numoffset = ("+" / "-") time-hour ":" time-minute time-offset = "Z" / time-numoffset partial-time = time-hour ":" time-minute ":" time-second [ time-secfrac] full-date = date-fullyear "-" date-month "-" date-mday full-time = partial-time time-offset date-time = full-date "T" full-time ; Miscellaneous definitions ; Extension = word-plus word = 1*(alphanum / "-" / "." / "!" / "%" / "*" / "_" / "+" / "`" / "'" / "~" / "(" / ")" / "<" / ">" / ":" / "\" / DQUOTE / "/" / "[" / "]" / "?" ) Pendleton, et al. Standards Track [Page 20] RFC 6035 SIP Package for Voice Quality Reporting November 2010 word-plus = 1*(alphanum / "-" / "." / "!" / "%" / "*" / "_" / "+" / "`" / "'" / "~" / "(" / ")" / "<" / ">" / ":" / "\" / "/" / "[" / "]" / "?" / "{" / "}" / "=" / " ") 4.6.2. Parameter Definitions and Mappings Parameter values, codec types, and other aspects of the endpoints may change dynamically during a session. The reported values of metrics and configuration parameters SHALL be the current value at the time the report is generated. The Packet Loss Rate and Packet Discard Rate parameters are calculated over the period between the starting and ending timestamps for the report. These are normally calculated from a count of the number of lost or discarded packets divided by the count of the number of packets, and hence are based on the current values of these counters at the time the report was generated. Packet delay variation, signal level, noise level, and echo level are computed as running or interval averages, based on the appropriate standard, e.g., RFC 3550 for Packet Delay Variation (PDV), and the sampled value of these running averages is reported. Delay, packet size, jitter buffer size, and codec-related data may change during a session and the current value of these parameters is reported as sampled at the time the report is generated. 4.6.2.1. General Mapping Percentages from 8-bit, Fixed-Point Numbers RFC 3611 uses an 8-bit, fixed-point number with the binary point at the left edge of the field. This value is calculated by dividing the total number of packets lost by the total number of packets expected and multiplying the result by 256, and then taking the integer part. For any RTCP XR parameter in this format, to map into the equivalent SIP vq-rtcpxr parameter, simply reverse the equation, i.e., divide by 256 and take the integer part. 4.6.2.2. Timestamps Following SIP and other IETF conventions, timestamps are provided in Coordinated Universal Time (UTC) using the ABNF format provided in RFC 3339 [7]. These timestamps SHOULD reflect, as closely as possible, the actual time during which the media session was running to enable correlation to related events occurring in the network and to accounting or billing records. Pendleton, et al. Standards Track [Page 21] RFC 6035 SIP Package for Voice Quality Reporting November 2010 4.6.2.3. SessionDescription The parameters in this field provide a shortened version of the session SDP(s), containing only the relevant parameters for session quality reporting purposes. Where values may change during a session, for example, a codec may change rate, then the most-recent value of the parameter is reported. 4.6.2.3.1. Payload Type This is the "payload type" parameter used in the RTP packets, i.e., the codec. This field can also be mapped from the SDP "rtpmap" attribute field "payload type". IANA-registered types SHOULD be used. 4.6.2.3.2. Payload Desc This parameter is a text description of the codec. This parameter SHOULD use the IANA registry for media-type names where it unambiguously defines the codec. Refer to the "Audio Media Types" registry on http://www.iana.org. 4.6.2.3.3. Sample Rate This parameter is mapped from the SDP "rtpmap" attribute field "clock rate". The field provides the rate at which a voice was sampled, measured in Hertz (Hz). 4.6.2.3.4. Packets Per Second This parameter is not contained in RTP or SDP but can usually be obtained from the device codec. Packets per second provides the (rounded) number of RTP packets that are transmitted per second. 4.6.2.3.5. Frame Duration This parameter is not contained in RTP or SDP but can usually be obtained from the device codec. The field reflects the amount of voice content in each frame within the RTP payload, measured in milliseconds. Note that this value can be combined with the FramesPerPacket to determine the packetization rate. Also, where a sample-based codec is used, a "frame" refers to the set of samples carried in an RTP packet. Pendleton, et al. Standards Track [Page 22] RFC 6035 SIP Package for Voice Quality Reporting November 2010 4.6.2.3.6. Frame Octets This parameter is not contained in RTP or SDP but is usually provided by the device codec. The field provides the number of octets in each frame within the RTP payload. This field is usually not provided when the FrameDuration is provided. Also, where a sample-based codec is used, a "frame" refers to the set of samples carried in an RTP packet. 4.6.2.3.7. Frames Per Packet This parameter is not contained in RTP or SDP but can usually be obtained from the device codec. This field provides the number of frames in each RTP packet. Note that this value can be combined with the FrameDuration to determine the packetization rate. Also, where a sample-based codec is used, a "frame" refers to the set of samples carried in an RTP packet. 4.6.2.3.8. FMTP Options This parameter is taken directly from the SDP attribute "fmtp" defined in RFC 4566. 4.6.2.3.9. Silence Suppression State This parameter does not correspond to SDP, RTP, or RTCP XR. It indicates whether silence suppression, also known as Voice Activity Detection (VAD), is enabled for the identified session. 4.6.2.3.10. Packet Loss Concealment This value corresponds to "PLC" in RFC 3611 in the VoIP Metrics Report Block. The values defined by RFC 3611 are reused by this recommendation and therefore no mapping is required. 4.6.2.4. LocalAddr This field provides the IP address, port, and synchronization source (SSRC) for the session from the perspective of the endpoint that is measuring performance. The IPAddress MAY be in IPv4 or IPv6 format. The SSRC is taken from SDP, RTCP, or RTCP XR input parameters. In the presence of NAT and where a NAT-traversal mechanism such as Session Traversal Utilities for NAT (STUN) [16] is used, the external IP address can be reported, since the internal IP address is not visible to the network operator. Pendleton, et al. Standards Track [Page 23] RFC 6035 SIP Package for Voice Quality Reporting November 2010 4.6.2.5. RemoteAddr This field provides the IP address, port, and SSRC of the session peer from the perspective of the remote endpoint measuring performance. In the presence of NAT and where a NAT-traversal mechanism such as STUN [16] is used, the external IP address can be reported, since the internal IP address is not visible to the network operator. 4.6.2.6. Jitter Buffer Parameters 4.6.2.6.1. Jitter Buffer Adaptive This value corresponds to "JBA" in RFC 3611 in the VoIP Metrics Report Block. The values defined by RFC 3611 are unchanged and therefore no mapping is required. 4.6.2.6.2. Jitter Buffer Rate This value corresponds to "JB rate" in RFC 3611 in the VoIP Metrics Report Block. The parameter does not require any conversion. 4.6.2.6.3. Jitter Buffer Nominal This value corresponds to "JB nominal" in RFC 3611 in the VoIP Metrics Report Block. The parameter does not require any conversion. 4.6.2.6.4. Jitter Buffer Max This value corresponds to "JB maximum" in RFC 3611 in the VoIP Metrics Report Block. The parameter does not require any conversion. 4.6.2.6.5. Jitter Buffer Abs Max This value corresponds to "JB abs max" in RFC 3611 in the VoIP Metrics Report Block. The parameter does not require any conversion. 4.6.2.7. Packet Loss Parameters 4.6.2.7.1. Network Loss Rate This value corresponds to "loss rate" in RFC 3611 in the VoIP Metrics Report Block. For conversion, see Section 4.6.2.1. A loss rate of 100% MAY be reported if media packets were expected but none had been received at the time of session termination. Pendleton, et al. Standards Track [Page 24] RFC 6035 SIP Package for Voice Quality Reporting November 2010 4.6.2.7.2. Jitter Buffer Discard Rate This value corresponds to "discard rate" in RFC 3611 in the VoIP Metrics Report Block. For conversion, see Section 4.6.2.1. 4.6.2.8. Burst/Gap Parameters 4.6.2.8.1. Burst Loss Density This value corresponds to "burst density" in RFC 3611 in the VoIP Metrics Report Block. For conversion, see Section 4.6.2.1. 4.6.2.8.2. Burst Duration This value corresponds to "burst duration" in RFC 3611 in the VoIP Metrics Report Block. This value requires no conversion; the exact value sent in an RTCP XR VoIP Metrics Report Block can be included in the SIP vq-rtcpxr parameter. 4.6.2.8.3. Gap Loss Density This value corresponds to "gap density" in RFC 3611 in the VoIP metrics Report Block. 4.6.2.8.4. Gap Duration This value corresponds to "gap duration" in RFC 3611 in the VoIP Metrics Report Block. This value requires no conversion; the exact value sent in an RTCP XR VoIP Metrics Report Block can be reported. 4.6.2.8.5. Minimum Gap Threshold This value corresponds to "Gmin" in RFC 3611 in the VoIP Metrics Report Block. This value requires no conversion; the exact value sent in an RTCP XR VoIP Metrics Report Block can be reported. 4.6.2.9. Delay Parameters 4.6.2.9.1. Round-Trip Delay This value corresponds to "round trip delay" in RFC 3611 in the VoIP Metrics Report Block and may be measured using the method defined in RFC 3550. The parameter is expressed in milliseconds. Pendleton, et al. Standards Track [Page 25] RFC 6035 SIP Package for Voice Quality Reporting November 2010 4.6.2.9.2. End System Delay This value corresponds to "end system delay" in RFC 3611 in the VoIP Metrics Report Block. This parameter does not require any conversion. The parameter is expressed in milliseconds. 4.6.2.9.3. Symmetric One-Way Delay This value is computed by adding Round-Trip Delay to the local and remote End System Delay and dividing by two. 4.6.2.9.4. One-Way Delay This value SHOULD be measured using the methods defined in IETF RFC 2679 [12]. The parameter is expressed in milliseconds. 4.6.2.9.5. Inter-Arrival Jitter Inter-arrival jitter is calculated as defined in RFC 3550 and converted into milliseconds. 4.6.2.9.6. Mean Absolute Jitter It is recommended that MAJ be measured as defined in ITU-T G.1020 [9]. This parameter is often referred to as MAPDV (Mean Absolute Packet Delay Variation). The parameter is expressed in milliseconds. 4.6.2.10. Signal-Related Parameters 4.6.2.10.1. Signal Level This field corresponds to "signal level" in RFC 3611 in the VoIP Metrics Report Block. This field provides the voice signal relative level is defined as the ratio of the signal level to a 0 dBm0 reference, expressed in decibels. This value can be used directly without extra conversion. 4.6.2.10.2. Noise Level This field corresponds to "noise level" in RFC 3611 in the VoIP Metrics Report Block. This field provides the ratio of the silent period background noise level to a 0 dBm0 reference, expressed in decibels. This value can be used directly without extra conversion. Pendleton, et al. Standards Track [Page 26] RFC 6035 SIP Package for Voice Quality Reporting November 2010 4.6.2.10.3. Residual Echo Return Loss (RERL) This field corresponds to "RERL" in RFC 3611 in the VoIP Metrics Report Block. This field provides the ratio between the original signal and the echo level in decibels, as measured after echo cancellation or suppression has been applied. This value can be used directly without extra conversion. 4.6.2.11. Quality Scores 4.6.2.11.1. ListeningQualityR This field reports the listening quality expressed as an R factor (per G.107). This does not include the effects of echo or delay. The range of R is 0-95 for narrowband calls and 0-120 for wideband calls. Algorithms for computing this value SHOULD be compliant with ITU-T Recommendations P.564 [10] and G.107 [11]. 4.6.2.11.2. RLQEstAlg This field provides a text name for the algorithm used to estimate ListeningQualityR. This field will be free form text and not necessarily reflective of any standards or recommendations. 4.6.2.11.3. ConversationalQualityR This field corresponds to "R factor" in RFC 3611 in the VoIP Metrics Report Block. This parameter provides a cumulative measurement of voice quality from the start of the session to the reporting time. The range of R is 0-95 for narrowband calls and 0-120 for wideband calls. Algorithms for computing this value SHOULD be compliant with ITU-T Recommendations P.564 and G.107. Within RFC 3611, a reported R factor of 127 indicates that this parameter is unavailable; in this case, the ConversationalQualityR parameter MUST be omitted from the vq-rtcpxr event. 4.6.2.11.4. RCQEstAlg This field provides a text name for the algorithm used to estimate ConversationalQualityR. This field will be free form text and not necessarily reflective of any standards or recommendations. 4.6.2.11.5. ExternalR-In This field corresponds to "ext. R factor" in RFC 3611 in the VoIP Metrics Report Block. This parameter reflects voice quality as measured by the local endpoint for incoming connection on "other" side (refer to RFC 3611 for a more-detailed explanation). The range Pendleton, et al. Standards Track [Page 27] RFC 6035 SIP Package for Voice Quality Reporting November 2010 of R is 0-95 for narrowband calls and 0-120 for wideband calls. Algorithms for computing this value SHOULD be compliant with ITU-T Recommendations P.564 and G.107. Within RFC 3611, a reported R factor of 127 indicates that this parameter is unavailable; in this case, the ConversationalQualityR parameter MUST be omitted from the vq-rtcpxr event. 4.6.2.11.6. ExtRInEstAlg This field provides a text name for the algorithm used to estimate ExternalR-In. This field will be free-form text and not necessarily reflective of any standards or recommendations. 4.6.2.11.7. ExternalR-Out This field corresponds to "ext. R factor" in RFC 3611 in the VoIP Metrics Report Block. Here, the value is copied from RTCP XR message received from the remote endpoint on the "other" side of this endpoint; refer to RFC 3611 for a more detailed explanation). The range of R is 0-95 for narrowband calls and 0-120 for wideband calls. Algorithms for computing this value SHOULD be compliant with ITU-T Recommendations P.564 and G.107. Within RFC 3611, a reported R factor of 127 indicates that this parameter is unavailable; in this case, the ConversationalQualityR parameter SHALL be omitted from the vq-rtcpxr event. 4.6.2.11.8. ExtROutEstAlg This field provides a text name for the algorithm used to estimate ExternalR-Out. This field will be free-form text and not necessarily reflective of any standards or recommendations. 4.6.2.11.9. MOS Reporting Conversion of RFC 3611 reported mean opinion scores (MOSs) for use in reporting MOS-LQ and MOS-CQ MUST be performed by dividing the RFC 3611 reported value by 10 if this value is less than or equal to 50 or omitting the MOS-xQ parameter if the RFC 3611 reported value is 127 (which indicates unavailable). 4.6.2.11.9.1. MOS-LQ This field corresponds to "MOSLQ" in RFC 3611 in the VoIP Metrics Report Block. This parameter is the estimated mean opinion score for listening voice quality on a scale from 1 to 5, in which 5 represents "Excellent" and 1 represents "Unacceptable". Algorithms for Pendleton, et al. Standards Track [Page 28] RFC 6035 SIP Package for Voice Quality Reporting November 2010 computing this value SHOULD be compliant with ITU-T Recommendation P.564 [10]. This field provides a text name for the algorithm used to estimate MOS-LQ. 4.6.2.11.9.2. MOS-CQ This field corresponds to "MOSCQ" in RFC 3611 in the VoIP Metrics Report Block. This parameter is the estimated mean opinion score for conversation voice quality on a scale from 1 to 5, in which 5 represents excellent and 1 represents unacceptable. Algorithms for computing this value SHOULD be compliant with ITU-T Recommendation P.564 with regard to the listening quality element of the computed MOS score. 4.6.2.11.9.3. MOSCQEstAlg This field provides a text name for the algorithm used to estimate MOS-CQ. This field will be free-form text and not necessarily reflective of any standards or recommendations. 4.6.2.11.10. QoEEstAlg This field provides a text description of the algorithm used to estimate all voice quality metrics. This parameter is provided as an alternative to the separate estimation algorithms for use when the same algorithm is used for all measurements. This field will be free-form text and not necessarily reflective of any standards or recommendations. 4.7. Message Flow and Syntax Examples This section shows a number of message flow examples showing how the event package works. 4.7.1. End of Session Report Using NOTIFY Pendleton, et al. Standards Track [Page 29] RFC 6035 SIP Package for Voice Quality Reporting November 2010 Alice Proxy/Registrar Collector Bob | | | | | | | | | REGISTER Allow-Event:vq-rtcpxr F1 | | |------------------->| | | | 200 OK F2 | | | |<-------------------| | | | | SUBSCRIBE Event:vq-rtcpxr F3 | | |<-------------------| | | SUBSCRIBE Event:vq-rtcpxr F4 | | |<-------------------| | | | 200 OK F5 | | | |------------------->| | | | | 200 OK F6 | | | |------------------->| | | INVITE F7 | | | |------------------->| | | | | INVITE F8 | | | |---------------------------------------->| | | 200 OK F9 | | | |<----------------------------------------| | 200 OK F10 | | | |<-------------------| | | | ACK F11 | | | |------------------->| | | | | ACK F12 | | | |---------------------------------------->| | RTP | | | |<============================================================>| | RTCP, RTCP XR | | |<============================================================>| | | | | | BYE F13 | | | |------------------->| BYE F14 | | | |---------------------------------------->| | | 200 OK F15 | | | |<----------------------------------------| | 200 OK F16 | | | |<-------------------| | | | NOTIFY Event:vq-rtcpxr F17 | | |------------------->| | | | | NOTIFY Event:vq-rtcpxr F18 | | |------------------->| | | | 200 OK F19 | | | |<-------------------| | | 200 OK F20 | | | |<-------------------| | | Pendleton, et al. Standards Track [Page 30] RFC 6035 SIP Package for Voice Quality Reporting November 2010 Figure 1. Summary report with NOTIFY sent after session termination. In the call flow depicted in Figure 1, the following message format is sent in F17: NOTIFY sip:collector@example.org SIP/2.0 Via: SIP/2.0/UDP pc22.example.org;branch=z9hG4bK3343d7 Max-Forwards: 70 To: <sip:collector@example.org>;tag=43524545 From: Alice <sip:alice@example.org>;tag=a3343df32 Call-ID: 1890463548 CSeq: 4321 NOTIFY Contact: <sip:alice@pc22.example.org> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Event: vq-rtcpxr Accept: application/sdp, message/sipfrag Subscription-State: active;expires=3600 Content-Type: application/vq-rtcpxr Content-Length: ... VQSessionReport: CallTerm CallID: 6dg37f1890463 LocalID: Alice <sip:alice@example.org> RemoteID: Bill <sip:bill@example.net> OrigID: Alice <sip:alice@example.org> LocalGroup: example-phone-55671 RemoteGroup: example-gateway-09871 LocalAddr: IP=10.10.1.100 PORT=5000 SSRC=1a3b5c7d LocalMAC: 00:1f:5b:cc:21:0f RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=0x2468abcd RemoteMAC: 00:26:08:8e:95:02 LocalMetrics: Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z SessionDesc:PT=0 PD=PCMU SR=8000 FD=20 FO=160 FPP=1 PPS=50 PLC=3 SSUP=on JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 PacketLoss:NLR=5.0 JDR=2.0 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 Signal:SL=-18 NL=-50 RERL=55 QualityEst:RLQ=88 RCQ=85 EXTRI=90 MOSLQ=4.1 MOSCQ=4.0 QoEEstAlg=P.564 RemoteMetrics: Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z SessionDesc:PT=0 PD=PCMU SR=8000 FD=20 FO=160 FPP=1 PPS=50 PLC=3 SSUP=on JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 PacketLoss:NLR=5.0 JDR=2.0 Pendleton, et al. Standards Track [Page 31] RFC 6035 SIP Package for Voice Quality Reporting November 2010 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 Signal:SL=-21 NL=-45 RERL=55 QualityEst:RLQ=90 RCQ=85 EXTRI=90 MOSLQ=4.3 MOSCQ=4.2 QoEEstAlg=P.564 DialogID:1890463548@alice.example.org;to-tag=8472761; from-tag=9123dh311 4.7.2. Midsession Threshold Violation Using NOTIFY Alice Proxy/Registrar Collector Bob | | | | | | | | | REGISTER Allow-Event:vq-rtcpxr F1 | | |------------------->| | | | 200 OK F2 | | | |<-------------------| | | | | SUBSCRIBE Event:vq-rtcpxr F3 | | |<-------------------| | | SUBSCRIBE Event:vq-rtcpxr F4 | | |<-------------------| | | | 200 OK F5 | | | |------------------->| | | | | 200 OK F6 | | | |------------------->| | | INVITE F7 | | | |------------------->| | | | | INVITE F8 | | | |---------------------------------------->| | | 200 OK F9 | | | |<----------------------------------------| | 200 OK F10 | | | |<-------------------| | | | ACK F11 | | | |------------------->| | | | | ACK F12 | | | |---------------------------------------->| | RTP | | | |<============================================================>| | RTCP, RTCP XR | | |<============================================================>| | NOTIFY Event:vq-rtcpxr F13 | | |------------------->| | | | | NOTIFY Event:vq-rtcpxr F14 | | |------------------->| | | | 200 OK F15 | | | |<-------------------| | | 200 OK F16 | | | Pendleton, et al. Standards Track [Page 32] RFC 6035 SIP Package for Voice Quality Reporting November 2010 |<-------------------| | | | | | | | BYE F17 | | | |------------------->| BYE F18 | | | |---------------------------------------->| | | 200 OK F19 | | | |<----------------------------------------| | 200 OK F20 | | | |<-------------------| | | | NOTIFY Event:vq-rtcpxr F21 | | |------------------->| | | | | NOTIFY Event:vq-rtcpxr F22 | | |------------------->| | | | 200 OK F23 | | | |<-------------------| | | 200 OK F24 | | | |<-------------------| | | Figure 2. An alert report is sent during the session. In the call flow depicted in Figure 2, the following message format is sent in F13: NOTIFY sip:collector@example.org SIP/2.0 Via: SIP/2.0/UDP pc22.example.org;branch=z9hG4bK3343d7 Max-Forwards: 70 To: <sip:proxy@example.org> From: Alice <sip:alice@example.org>;tag=a3343df32 Call-ID: 1890463548 CSeq: 4331 PUBLISH Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Event: vq-rtcpxr Accept: application/sdp, message/sipfrag Content-Type: application/vq-rtcpxr Content-Length: ... VQAlertReport: Type=NLR Severity=Critical Dir=local CallID: 6dg37f1890463 LocalID: Alice <sip:alice@example.org> RemoteID: Bill <sip:bill@example.org> OrigID: Alice <sip:alice@example.org> LocalGroup: example-phone-55671 RemoteGroup: example-gateway-09871 LocalAddr:IP=10.10.1.100 PORT=5000 SSRC=0x2468abcd LocalMAC: 00:1f:5b:cc:21:0f Pendleton, et al. Standards Track [Page 33] RFC 6035 SIP Package for Voice Quality Reporting November 2010 RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=1357efff RemoteMAC: 00:26:08:8e:95:02 LocalMetrics: Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z SessionDesc:PT=18 PD=G729 SR=8000 FD=20 FO=20 FPP=2 PPS=50 FMTP="annexb=no" PLC=3 SSUP=on JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 PacketLoss:NLR=10.0 JDR=2.0 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 Signal:SL=-21 NL=-50 RERL=55 QualityEst:RLQ=80 RCQ=85 EXTRI=90 MOSLQ=3.5 MOSCQ=3.7 QoEEstAlg=P.564 RemoteMetrics: Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z SessionDesc:PT=18 PD=G729 SR=8000 FD=20 FO=20 FPP=2 PPS=50 FMTP="annexb=no" PLC=3 SSUP=on JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 PacketLoss:NLR=5.0 JDR=2.0 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 Signal:SL=-21 NL=-45 RERL=55 QualityEst:RLQ=90 RCQ=85 MOSLQ=4.3 MOSCQ=4.2 QoEEstAlg=P.564 DialogID:1890463548@alice.example.org;to-tag=8472761; from-tag=9123dh311 Pendleton, et al. Standards Track [Page 34] RFC 6035 SIP Package for Voice Quality Reporting November 2010 4.7.3. End of Session Report Using PUBLISH Alice Proxy/Registrar Collector Bob | | | | | | | | | REGISTER Allow-Event:vq-rtcpxr F1 | | |------------------->| | | | 200 OK F2 | | | |<-------------------| | | | INVITE F3 | | | |------------------->| | | | | INVITE F4 | | | |---------------------------------------->| | | 200 OK F5 | | | |<----------------------------------------| | 200 OK F6 | | | |<-------------------| | | | ACK F7 | | | |------------------->| | | | | ACK F8 | | | |---------------------------------------->| | RTP | | | |<============================================================>| | RTCP | | | |<============================================================>| | | | | | BYE F9 | | | |------------------->| BYE F10 | | | |---------------------------------------->| | | 200 OK F11 | | | |<----------------------------------------| | 200 OK F12 | | | |<-------------------| | | | PUBLISH Event:vq-rtcpxr F13 | | |------------------->| | | | | PUBLISH Event:vq-rtcpxr F14 | | |------------------->| | | | 200 OK F15 | | | |<-------------------| | | 200 OK F16 | | | |<-------------------| | | Figure 3. End of session report sent after session termination. In the message flow depicted in Figure 3, the following message is sent in F13. Pendleton, et al. Standards Track [Page 35] RFC 6035 SIP Package for Voice Quality Reporting November 2010 PUBLISH sip:collector@example.org SIP/2.0 Via: SIP/2.0/UDP pc22.example.org;branch=z9hG4bK3343d7 Max-Forwards: 70 To: <sip:proxy@example.org> From: Alice <sip:alice@example.org>;tag=a3343df32 Call-ID: 1890463548 CSeq: 4331 PUBLISH Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Event: vq-rtcpxr Accept: application/sdp, message/sipfrag Content-Type: application/vq-rtcpxr Content-Length: ... VQSessionReport: CallTerm CallID: 6dg37f1890463 LocalID: Alice <sip:alice@example.org> RemoteID: Bill <sip:bill@example.net> OrigID: Alice <sip:alice@example.org> LocalGroup: example-phone-55671 RemoteGroup: example-gateway-09871 LocalAddr: IP=10.10.1.100 PORT=5000 SSRC=1a3b5c7d LocalMAC: 00:1f:5b:cc:21:0f RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=0x2468abcd RemoteMAC: 00:26:08:8e:95:02 LocalMetrics: Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z SessionDesc:PT=18 PD=G729 SR=8000 FD=20 FO=20 FPP=2 PPS=50 FMTP="annexb=no" PLC=3 SSUP=on JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 PacketLoss:NLR=5.0 JDR=2.0 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 Signal:SL=-21 NL=-50 RERL=55 QualityEst:RLQ=90 RCQ=85 EXTRI=90 MOSLQ=4.2 MOSCQ=4.3 QoEEstAlg=P.564 RemoteMetrics: Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z SessionDesc:PT=18 PD=G729 SR=8000 FD=20 FO=20 FPP=2 PPS=50 FMTP="annexb=no" PLC=3 SSUP=on JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 PacketLoss:NLR=5.0 JDR=2.0 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 Signal:SL=-21 NL=-45 RERL=55 QualityEst:RLQ=90 RCQ=85 MOSLQ=4.3 MOSCQ=4.2 QoEEstAlg=P.564 DialogID:1890463548@alice.example.org;to-tag=8472761; from-tag=9123dh311 Pendleton, et al. Standards Track [Page 36] RFC 6035 SIP Package for Voice Quality Reporting November 2010 4.7.4. Alert Report Using PUBLISH Alice Proxy/Registrar Collector Bob | | | | | INVITE F1 | | | |------------------->| | | | | INVITE F2 | | | |---------------------------------------->| | | 200 OK F3 | | | |<----------------------------------------| | 200 OK F4 | | | |<-------------------| | | | ACK F5 | | | |------------------->| | | | | ACK F6 | | | |---------------------------------------->| | RTP | | | |<============================================================>| | RTCP | | | |<============================================================>| | PUBLISH Event:vq-rtcpxr F7 | | |------------------->| | | | | PUBLISH Event:vq-rtcpxr F8 | | |------------------->| | | | 200 OK F9 | | | |<-------------------| | | 200 OK F10 | | | |<-------------------| | | | | | | | BYE F11 | | | |------------------->| BYE F12 | | | |---------------------------------------->| | | 200 OK F13 | | | |<----------------------------------------| | 200 OK F14 | | | |<-------------------| | | Figure 4. Alert report message flow In the message flow depicted in Figure 4, the following message is sent in F7: PUBLISH sip:collector@example.org SIP/2.0 Via: SIP/2.0/UDP pc22.example.org;branch=z9hG4bK3343d7 Max-Forwards: 70 To: <sip:collector@example.org> From: Alice <sip:alice@example.org>;tag=a3343df32 Call-ID: 1890463548 Pendleton, et al. Standards Track [Page 37] RFC 6035 SIP Package for Voice Quality Reporting November 2010 CSeq: 4321 PUBLISH Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY Event: vq-rtcpxr Accept: application/sdp, message/sipfrag Content-Type: application/vq-rtcpxr Content-Length: ... VQAlertReport: Type=RLQ Severity=Warning Dir=local CallID: 6dg37f1890463 LocalID: Alice <sip:alice@example.org> RemoteID: Bill <sip:bill@example.org> OrigID: Alice <sip:alice@example.org> LocalGroup: example-phone-55671 RemoteGroup: example-gateway-09871 LocalAddr: IP=10.10.1.100 PORT=5000 SSRC=1a3b5c7d LocalMAC: 00:1f:5b:cc:21:0f RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=0x2468abcd RemoteMAC: 00:26:08:8e:95:02 Metrics: Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z SessionDesc:PT=0 PD=PCMU SR=8000 FD=20 FO=160 FPP=1 PPS=50 PLC=3 SSUP=on JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 PacketLoss:NLR=5.0 JDR=2.0 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 Signal:SL=-12 NL=-30 RERL=55 QualityEst:RLQ=60 RCQ=55 EXTR=90 MOSLQ=2.4 MOSCQ=2.3 QoEEstAlg=P.564 RemoteMetrics: Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z SessionDesc:PT=0 PD=PCMU SR=8000 FD=20 FO=160 FPP=1 PPS=50 PLC=3 SSUP=on JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 PacketLoss:NLR=5.0 JDR=2.0 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 Signal:SL=-23 NL=-60 RERL=55 QualityEst:RLQ=90 RCQ=85 EXTRI=90 MOSLQ=4.2 MOSCQ=4.3 QoEEstAlg=P.564 DialogID:1890463548@alice.example.org;to-tag=8472761; from-tag=9123dh3111 Pendleton, et al. Standards Track [Page 38] RFC 6035 SIP Package for Voice Quality Reporting November 2010 4.8. Configuration Dataset for vq-rtcpxr Events It is the suggestion of the authors that the SIP configuration framework [15] be used to establish the necessary parameters for usage of vq-rtcpxr events. A dataset for this purpose should be designed and documented in a separate document upon completion of the framework. 5. IANA Considerations This document registers a new SIP Event Package and a new media type. 5.1. SIP Event Package Registration Package name: vq-rtcpxr Type: package Contact: Amy Pendleton <aspen@telchemy.com> Published Specification: This document 5.2. application/vq-rtcpxr Media Type Registration Type name: application Subtype name: vq-rtcpxr Required parameters: none Optional parameters: none Encoding considerations: 7 bit Security considerations: See next section. Interoperability considerations: none. Published specification: This document. Applications that use this media type: This document type is being used in notifications of VoIP quality reports. Additional Information: Magic Number: None File Extension: None Macintosh file type code: "TEXT" Person and email address for further information: Amy Pendleton <aspen@telchemy.com> Intended usage: COMMON Author / Change controller: The IETF. Pendleton, et al. Standards Track [Page 39] RFC 6035 SIP Package for Voice Quality Reporting November 2010 6. Security Considerations RTCP reports can contain sensitive information since they can provide information about the nature and duration of a session established between two or more endpoints. As a result, any third party wishing to obtain this information SHOULD be properly authenticated by the SIP UA using standard SIP mechanisms and according to the recommendations in [5]. Additionally, the event content MAY be encrypted to ensure confidentiality; the mechanisms for providing confidentiality are detailed in [2]. 7. Contributors The authors would like to thank Rajesh Kumar, Dave Oran, Tom Redman, Shane Holthaus, and Jack Ford for their comments and input. 8. References 8.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. [3] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003. [4] Friedman, T., Caceres, R., and A. Clark, "RTP Control Protocol Extended Reports (RTCP XR)", RFC 3611, November 2003. [5] Roach, A., "Session Initiation Protocol (SIP)-Specific Event Notification", RFC 3265, June 2002. [6] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008. [7] Klyne, G., Ed. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, July 2002. [8] Niemi, A., "Session Initiation Protocol (SIP) Extension for Event State Publication", RFC 3903, October 2004. [9] ITU-T G.1020, "Performance parameter definitions for quality of speech and other voiceband applications utilizing IP networks". Pendleton, et al. Standards Track [Page 40] RFC 6035 SIP Package for Voice Quality Reporting November 2010 [10] ITU-T P.564, "Conformance testing for voice over IP transmission quality assessment models". [11] ITU-T G.107, "The E-model, a computational model for use in transmission planning". [12] Almes, G., Kalidindi, S., and M. Zekauskas, "A One-way Delay Metric for IPPM", RFC 2679, September 1999. 8.2. Informative References [13] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117, January 2008. [14] Hilt, V., Noel, E., Shen, C., and A. Abdelal, "Design Considerations for Session Initiation Protocol (SIP) Overload Control", Work in Progress, July 2009. [15] Petrie, D. and S. Channabasappa, "A Framework for Session Initiation Protocol User Agent Profile Delivery", Work in Progress, October 2010. [16] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing, "Session Traversal Utilities for NAT (STUN)", RFC 5389, October 2008. Authors' Addresses Amy Pendleton Telchemy Incorporated EMail: aspen@telchemy.com Alan Clark Telchemy Incorporated EMail: alan.d.clark@telchemy.com Alan Johnston Avaya St. Louis, MO 63124 EMail: alan.b.johnston@gmail.com Henry Sinnreich Unaffiliated EMail: henry.sinnreich@gmail.com Pendleton, et al. Standards Track [Page 41]