One document matched: draft-ietf-sipping-rtcp-summary-02.txt
Differences from draft-ietf-sipping-rtcp-summary-01.txt
SIPPING Working Group A. Pendleton
Internet-Draft Nortel
Expires: November 1, 2007 A. Johnston
Avaya
H. Sinnreich
Pulver
A. Clark
Telchemy Incorporated
May 2007
Session Initiation Protocol Package for Voice Quality Reporting Event
draft-ietf-sipping-rtcp-summary-02
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 November 1, 2007.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Abstract
This document defines a SIP event package that enables the collection
and reporting of metrics that measure the quality for Voice over
Internet Protocol (VoIP) sessions.
Pendleton, et al. Expires November 1, 2007 [Page 1]
Internet-Draft SIP Package for Voice Quality Reporting May 2006
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. SIP Events Usage . . . . . . . . . . . . . . . . . . . . . . . 3
3.1. PUBLISH Usage . . . . . . . . . . . . . . . . . . . . . . 3
3.2 PUBLISH Overload Avoidance . . . . . . . . . . . . . . . . 4
3.3 SUBSCRIBE/NOTIFY Usage . . . . . . . . . . . . . . . . . . 4
4. Event Package Formal Definition . . . . . . . . . . . . . . . 4
4.1. Event Package Name . . . . . . . . . . . . . . . . . . . . 4
4.2. Event Package Parameters . . . . . . . . . . . . . . . . . 4
4.3. SUBSCRIBE Bodies . . . . . . . . . . . . . . . . . . . . . 4
4.4. Subscription Duration . . . . . . . . . . . . . . . . . . 4
4.5. NOTIFY Bodies . . . . . . . . . . . . . . . . . . . . . . 4
4.6. Voice Quality Event Syntax and Semantics . . . . . . . . . 5
4.6.1. ABNF Syntax Definition . . . . . . . . . . . . . . . . 6
4.6.2. Parameter Definitions and Mapppings. . . . . . . . . . 14
4.7. Message Flow and Syntax Examples . . . . . . . . . . . . . 22
4.7.1. End of Session Report using PUBLISH . . . . . . . . . 22
4.7.2. Alert Report using PUBLISH . . . . . . . . . . . . . . 24
4.7.3. End of Session Report using NOTIFY . . . . . . . . . . 26
4.7.4. Mid Session Threshold Violation using NOTIFY . . . . . 28
4.8. Configuration Dataset for vq-rtcpxr Events . . . . . . . 30
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31
5.1. SIP Event Package Registration . . . . . . . . . . . . . . 31
5.2. application/vq-rtcp-xr MIME Registration . . . . . . . . . 31
6. Security Considerations . . . . . . . . . . . . . . . . . . . 32
7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 32
8. Normative References . . . . . . . . . . . . . . . . . . . . . 32
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 33
Intellectual Property and Copyright Statements . . . . . . . . . . 33
Pendleton, et al. Expires November 1, 2007 [Page 2]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
1. Introduction
This document defines a new SIP event package, vq-rtcpxr, and a new
MIME type, application/vq-rtcpxr, that enable the collection and
reporting of metrics that measure quality for RTP [3] sessions. The
definitions of the metrics used in the event package are based on
RTCP Extended Reports [4] and RTCP [3]; a mapping between the SIP
event parameters and the parameters within the forementioned RFC's
is defined within this document in section 4.6.2.
Monitoring of voice quality is believed to be the highest priority
for usage of this mechanism and as such, the metrics in the event
package are largely tailored for voice quality measurement. However,
the event package is designed to be extensible for use with any
RTP application. The negotiation of such extensions is not defined
in this recommendation.
The event package supports reporting both the local and remote versions
of these statistics. It is expected that providing all views of voice
quality will help facilitate multiple provider scenarios and faster
problem resolution. Note that in multi-party calls, multiple reports
need to be generated: either one per endpoint or one per media session.
Configuration of usage of the event package is not covered in this
document. It is the recommendation of this document that the SIP
configuration framework [8] be used. The authors have defined
a configuration dataset that would facilitate this support in section 5.8.
The event package can be used either with the SUBSCRIBE/NOTIFY methods
or the PUBLISH method. Message flow examples for both mechanims are
provided in this document.
2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described in BCP 14, RFC 2119 [1] and indicate requirement levels for
compliant implementations.
3. SIP Events Approach
This document defines a new SIP events package [5]. A SIP UA can
send these events using either the PUBLISH or SUBSCRIBE/NOTIFY
methods to an entity which can make the information available to
other applications. For purposes of illustration, the entities
involved in SIP vq-rtcpxr event reporting will be referred to
as follows:
- REPORTER is an entity involved in the measurement and reporting
of media quality i.e. the SIP UA involved in a media session.
- COLLECTOR is an entity that receives SIP vq-rtcpxr events. A
COLLECTOR may be a proxy server or another entity that is capable
of supporting SIP vq-rtcpxr events.
The REPORTER shall be configured with one or more COLLECTOR's. The
configuration process is out of scope for this recommendation, but it
is suggested that the SIP configuration framework [8] be used for
this purpose. A dataset should be defined for vq-rtcpxr following
the suggestions in section 5.8. The REPORTER shall not send any
vq-rtcpxr events where a COLLECTOR has not been configured.
3.1 PUBLISH Usage
A SIP UA that supports this specification may send the service
quality metric reports using the PUBLISH method. The primary
intention of using PUBLISH for this event is reduction of
transaction processing.
The use of PUBLISH by this event is unique in that it does not
require a soft or hard state to be maintained by either the
REPORTER or the COLLECTOR. Furthermore the information that is
provided in the vq-rtcpxr event is not expected to have an
expiration, rather, the information is associated with the
timestamps in the event itself.
The REPORTER shall populate the Request-URI of the PUBLISH method
with the address of the resource (AOR) of the COLLECTOR. To ensure
security of SIP proxies and the COLLECTOR, the REPORTER must be
configured with the AOR of the COLLECTOR, preferably using the
SIP UA configuration framework [8], as described in section 5.8.
. It is recommended that the REPORTER send an OPTIONS message to the
COLLECTOR to ensure support of the PUBLISH message.
Pendleton, et al. Expires November 1, 2007 [Page 3]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
3.2 PUBLISH Overload Avoidance
A concern over the usage of the PUBLISH method is the potential
overloading of servers receiving the events, particularly in the
threshold reporting model. There are many approaches to solving this
type of problem, but clearly the REPORTER's needs to adhere to some
guidelines to reduce the probability of causing this overload
condition. Some suggested solutions are:
a) limit sending of one threshold report per metric per session
b) limit sending of one threshold report per session regardless
of the metric
c) limit sending a new threshold report to when a metric state
has been sustained for a reasonable amount of time, e.g.20-30 seconds.
Additionally, it is recommended that COLLECTORS that receive these
reports use the 503 response code and include the Retry-after header
with an appropriate time delay, depending on the needs of the COLLECTOR.
3.3. SUBSCRIBE/NOTIFY Usage
The REPORTER may send the voice quality metric reports using the
NOTIFY method. In this case, the COLLECTOR will send a SUBSCRIBE
to the REPORTER to explicitly establish the relationship and
the configuration of the AOR of the COLLECTOR is not needed,
but may still be optionally supported.
The REPORTER shall populate the Request-URI of the PUBLISH method
with the address of the resource (AOR) of the COLLECTOR.
4. Event Package Formal Definition
4.1. Event Package Name
This document defines a SIP Event Package as defined in RFC 3265 [2].
The event-package token name for this package is:
"vq-rtcpxr"
4.2. Event Package Parameters
No event package parameters are defined.
4.3. SUBSCRIBE Bodies
No SUBSCRIBE bodies are described by this specification.
4.4. Subscription Duration
Subscriptions to this event package MAY range from minutes to weeks.
Subscriptions in hours or days are more typical and are RECOMMENDED.
The default subscription duration for this event package is one hour.
4.5. NOTIFY and PUBLISH Bodies
There are three notify bodies: a session report, an interval session
report, and a alert report.
Pendleton, et al. Expires November 1, 2007 [Page 4]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
The session report is used for end of session reporting. This can be
generated when a voice media session terminates or when a media
change occurs, such as a codec change or a session forks. This
report is intended to allow cumulative metric reporting. The session
reports will populate the metrics with values that are measured over
the interval explicitly defined by the "start" and "stop" timestamps.
The interval report is used for periodic or interval reporting. This
report is intended to capture short duration metric reporting.
Interval reports will populate the metrics with values that are
measured over the interval explicitly defined by the "start" and
"stop" timestamps.
The threshold report is used when voice quality degrades during a
session. The session report parameters are also included in the
alert report to provide all of the necessary diagnostic information.
Like the interval report, the metrics in the threshold reports will
be populated with values that are measured over the interval
explicitly defined by the "start" and "stop" timestamps.
This specification defines a new MIME type application/vq-rtcpxr
which is a text encoding of the RTCP and RTCP-XR statistics, along
with some additional metrics and correlation information.
4.6. Voice Quality Event Syntax and Semantics
This section describes the syntax extensions required for event
publication in SIP. The formal syntax definitions described in this
section are expressed in the Augmented BNF [6] format used in SIP [2],
and contains references to elements defined therein. Additionally,
the definition of the timestamp format is provided in [7]. Note that
most of the parameters are optional. In practice, most
implementations will send a subset of the parameters. It is not the
intention of this document to define what parameters may or may not
be useful for monitoring the quality of a voice session, but to
enable reporting of voice quality. As such, the syntax allows the
implementer to choose which metrics are most appropriate for their
solution. As there are no "invalid", "unknown", or "not applicable"
values in the syntax, the intention is to exclude any parameters for
which values are not available, not applicable, or unknown.
Additionally, the authors recognize that implementers may need to add
new parameter lines to the reports and new metrics to the existing
parameter lines. The extension tokens are intended to fulfill this
need.
Pendleton, et al. Expires November 1, 2007 [Page 5]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
4.6.1 ABNF Syntax Defintion
VQReportEvent = AlertReport / SessionReport / IntervalReport
SessionReport = "VQSessionReport" CRLF
LocalMetrics [CRLF RemoteMetrics]
[DialogID]
IntervalReport = "VQIntervalReport" CRLF
LocalMetrics [CRLF RemoteMetrics]
[DialogID]
LocalMetrics = "LocalMetrics" COLON CRLF Metrics
RemoteMetrics = "RemoteMetrics" COLON CRLF Metrics
AlertReport = "VQAlertReport" COLON
MetricType WSP Severity WSP Direction CRLF
"Metrics:" CRLF
Metrics
[CRLF "OtherDirMetrics:" CRLF Metrics]
[DialogID]
Metrics = TimeStamps CRLF
[SessionDescription CRLF]
CallID CRLF
LocalAddr CRLF
RemoteAddr CRLF
[JitterBuffer CRLF]
[PacketLoss CRLF]
[BurstGapLoss CRLF]
[Delay CRLF]
[Signal CRLF]
[QualityEstimates CRLF]
*(Extension CRLF)
; Timestamps are provided in Coordinated Universal Time (UTC)
; using the ABNF format provided in RFC3339,
; "Date and Time on the Internet: Timestamps"
; These timestamps should reflect, as closely as
; possible, the actual time during which the media session
; was running to enable correlation to events occurring
; in the network infrastructure and to accounting or billing
; records
TimeStamps = "Timestamps" COLON StartTime WSP StopTime
StartTime = "START" EQUAL date-time
StopTime = "STOP" EQUAL date-time
Pendleton, et al. Expires November 1, 2007 [Page 6]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
; SessionDescription provides a shortened version of the
; session SDP but contains only the relevant parameters for
; session quality reporting purposes
SessionDescription = "SessionDesc" COLON
[PayloadType WSP]
[PayloadDesc WSP]
[SampleRate WSP]
[FrameDuration WSP]
[FrameOctets WSP]
[FramesPerPacket WSP]
[PacketsPerSecond WSP]
[FmtpOptions WSP]
[PacketLossConcealment WSP]
[SilenceSuppressionState]
*(WSP Extension)
; PayloadType provides the PT parameter used in the RTP packets
; i.e. the codec used for decoding received RTP packets
; It is recommended that IANA registered values are used
; where possible.
PayloadType = "PT" EQUAL (1*3DIGIT)
; PayloadDesc provides a text description of the codec
; It is recommended that IANA registered names are used
; where possible.
PayloadDesc = "PD" EQUAL word
; SampleRate provides the rate at which voice was sampled
; in the case of narrowband codecs, the value will typically be 8000
SampleRate = "SR" EQUAL (1*5DIGIT)
; FrameDuration can be combined with the FramesPerPacket to determine
; the packetization rate; the units for this are milliseconds.
FrameDuration = "FD" EQUAL (1*3DIGIT)
; FrameOctets provides the number of octets in each frame
; Used where FrameDuration is not available
FrameOctets = "FO" EQUAL (1*4DIGIT)
; FramesPerPacket provides the number of frames in each RTP packet
FramesPerPacket = "FPP" EQUAL (1*2DIGIT)
; Packets per second provides the number of packets, including one or
; more frames within each, that are transmitted per second
PacketsPerSecond = "PPS" EQUAL (1*5DIGIT)
; FMTP options from SDP. Note that the parameter is deliniated
; by " " to avoid parsing issues in transitioning between SDP and
; SIP parsing
FmtpOptions = "FMTP" EQUAL DQUOTE word-plus DQUOTE
Pendleton, et al. Expires November 1, 2007 [Page 7]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
; PacketLossConcealment indicates whether a PLC algorithm was
; or is being used for the session. The values follow the same
; numbering convention as RFC 3611. For more details,
; please refer to RFC 3611, RTCP XR
; 0 - unspecified
; 1 - disabled
; 2 - enhanced
; 3 - standard
PacketLossConcealment = "PLC" EQUAL ("0" / "1" / "2" / "3")
; SilenceSuppressionState indicates whether silence suppression,
; also known as Voice Activity Detection (VAD) is enabled.
SilenceSuppressionState = "SSUP" EQUAL ("on" / "off")
; CallId provides the call id from the SIP header
CallID = "CallID" COLON Call-ID-Parm
; LocalAddr provides the IP address, port and ssrc for the
; session from the perspective of the endpoint/UA which is
; sending the report
LocalAddr = "LocalAddr" COLON IPAddress WSP Port WSP Ssrc
; RemoteAddr provides the IP address, port and ssrc for the
; session from the perspective of the peer of the endpoint/UA
; that is sending the report
RemoteAddr = "RemoteAddr" COLON IPAddress WSP Port WSP Ssrc
IPAddress = "IP" EQUAL IPv6address / IPv4address
Port = "PORT" EQUAL 1*DIGIT
Ssrc = "SSRC" EQUAL 1*8HEXDIG
JitterBuffer = "JitterBuffer" COLON
[JitterBufferAdaptive WSP]
[JitterBufferRate WSP]
[JitterBufferNominal WSP]
[JitterBufferMax WSP]
[JitterBufferAbsMax]
*(WSP Extension)
; JitterBufferAdaptive indicates whether the jitter buffer in the
; endpoint is adaptive, static, or unknown.
; The values follow the same numbering convention as RFC 3611.
; For more details, please refer to that document.
; 0 - unknown
; 1 - reserved
; 2 - non-adaptive
; 3 - adaptive
JitterBufferAdaptive = "JBA" EQUAL ("0" / "1" / "2" / "3")
Pendleton, et al. Expires November 1, 2007 [Page 8]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
; JitterBuffer metric definitions are provided in RTCP XR, RFC 3611
JitterBufferRate = "JBR" EQUAL (1*2DIGIT) ;0-15
JitterBufferNominal = "JBN" EQUAL (1*5DIGIT) ;0-65535
JitterBufferMax = "JBM" EQUAL (1*5DIGIT) ;0-65535
JitterBufferAbsMax = "JBX" EQUAL (1*5DIGIT) ;0-65535
; PacketLoss metric definitions are provided in RTCP XR, RFC 3611
PacketLoss = "PacketLoss" COLON
[NetworkPacketLossRate WSP]
[JitterBufferDiscardRate]
*(WSP Extension)
NetworkPacketLossRate =
"NLR" EQUAL (1*3DIGIT ["." 1*2DIGIT]) ;percentage
JitterBufferDiscardRate =
"JDR" EQUAL (1*3DIGIT ["." 1*2DIGIT]) ;percentage
; BurstGapLoss metric definitions are provided in RTCP XR, RFC 3611
BurstGapLoss = "BurstGapLoss" COLON
[BurstLossDensity WSP]
[BurstDuration WSP]
[GapLossDensity WSP]
[GapDuration WSP]
[MinimumGapThreshold]
*(WSP Extension)
BurstLossDensity =
"BLD" EQUAL (1*3DIGIT ["." 1*2DIGIT]) ;percentage
BurstDuration =
"BD" EQUAL (1*7DIGIT) ;0-3,600,000 -- milliseconds
GapLossDensity =
"GLD" EQUAL (1*3DIGIT ["." 1*2DIGIT]) ;percentage
GapDuration =
"GD" EQUAL (1*7DIGIT) ;0-3,600,000 -- milliseconds
MinimumGapThreshold =
"GMIN" EQUAL (1*3DIGIT) ;1-255
Delay = "Delay" COLON
[RoundTripDelay WSP]
[EndSystemDelay WSP]
[OneWayDelay WSP]
[InterarrivalJitter WSP]
[MeanAbsoluteJitter]
*(WSP Extension)
Pendleton, et al. Expires November 1, 2007 [Page 9]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
; RoundTripDelay is recommended to be measured as defined in
; RTCP, RFC 3550.
RoundTripDelay = "RTD" EQUAL (1*5DIGIT) ;0-65535
; EndSystemDelay metric is defined in RTCP XR, RFC 3611
EndSystemDelay = "ESD" EQUAL (1*5DIGIT) ;0-65535
; OneWayDelay is recommended to be measured according to
; recommendations provided by the IPPM working group but may be
; based on alternative measurement recommendations
OneWayDelay = "OWD" EQUAL (1*5DIGIT) ;0-65535
; Interarrival Jitter is recommended to be measured as defined
; in RTCP, RFC 3550, but may be based on alternatives
InterarrivalJitter = "IAJ" EQUAL (1*5DIGIT) ;0-65535
; Mean Absolute Jitter is recommended to be measured as defined
; by ITU-T G.1020 where it is known as MAPDV
MeanAbsoluteJitter = "MAJ" EQUAL (1*5DIGIT);0-65535
; Signal metrics definitions are provided in RTCP XR, RFC 3611
Signal = "Signal" COLON
[SignalLevel WSP]
[NoiseLevel WSP]
[ResidualEchoReturnLoss]
*(WSP Extension)
; SignalLevel will normally be a positive value
; the absence of the negative sign indicates a positive value
; where the signal level is negative, the sign must be included
SignalLevel = "SL" EQUAL (["-"] 1*2DIGIT)
; NoiseLevel will normally be negative but to align with the
; the encoding of SignalLevel, the sign must be explicitly included
; again, the absence of a sign indicates a positive value
NoiseLevel = "NL" EQUAL (["-"] 1*2DIGIT)
; Residual Echo Return Loss (RERL) the ratio between
; the original signal and the echo level as measured after
; echo cancellation or suppression has been applied.
; Expressed in decibels (dB).
ResidualEchoReturnLoss = "RERL" EQUAL (1*3DIGIT)
Pendleton, et al. Expires November 1, 2007 [Page 10]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
; Voice Quality estimation metrics
; The definition of these metrics are provided in RTCP XR and
; the new High Resolution proposal, RTCP HD.
; Each quality estmiate 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" COLON
[ListeningQualityR WSP]
[RLQEstAlg WSP]
[ConversationalQualityR WSP]
[RCQEstAlg WSP]
[ExternalR-In WSP]
[ExtRInEstAlg WSP]
[ExternalR-Out WSP]
[ExtROutEstAlg WSP]
[MOS-LQ WSP]
[MOSLQEstAlg WSP]
[MOS-CQ WSP]
[MOSCQEstAlg WSP]
[QoEEstAlg]
*(WSP Extension)
ListeningQualityR = "RLQ" EQUAL (1*3DIGIT) ; 0 - 120
RLQEstAlg = "RLQEstAlg" EQUAL word ; "PESQ", "G.107", or other
ConversationalQualityR = "RCQ" EQUAL (1*3DIGIT) ; 0 - 120
RCQEstAlg = "RCQEstAlg" EQUAL word ; "PESQ", "G.107", or other
; ExternalR-In is measured by the local endpoint for incoming
; connection on "other" side of this endpoint
; e.g. PhoneA <---> Bridge <----> Phone B
; ListeningQualityR = quality for PhoneA ----> Bridge path
; ExternalR-In = quality for Bridge <---- PhoneB path
ExternalR-In = "EXTRI" EQUAL (1*3DIGIT) ; 0 - 120
ExtRInEstAlg = "ExtRIEstAlg" EQUAL word ; "PESQ" or other
; ExternalR-Out is copied from RTCP XR message received from the
; remote endpoint on "other" side of this endpoint
; e.g. PhoneA <---> Bridge <----> Phone B
; ExternalR-Out = quality for Bridge -----> PhoneB path
ExternalR-Out = "EXTRO" EQUAL (1*3DIGIT) ; 0 - 120
ExtROutEstAlg = "ExtROEstAlg" EQUAL word ; "PESQ" or other
MOS-LQ = "MOSLQ" EQUAL (DIGIT ["." 1*2DIGIT]) ; 0.0 - 4.9
MOSLQEstAlg = "MOSLQEstAlg" EQUAL word ; "PESQ" or other
MOS-CQ = "MOSCQ" EQUAL (DIGIT ["." 1*2DIGIT]) ; 0.0 - 4.9
MOSCQEstAlg = "MOSCQEstAlg" EQUAL word ; "PESQ" or other
Pendleton, et al. Expires November 1, 2007 [Page 11]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
; alternative to the separate estimation algorithms
; for use when the same algorithm is used for all measurements
QoEEstAlg = "QoEEstAlg" EQUAL word; "PESQ" 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 and the
; token parameter allows for extension
MetricType = "Type" EQUAL "RLQ" / "RCQ" / "EXTR" /
"MOSLQ" / "MOSCQ" /
"BD" / "NLR" / "JDR" /
"RTD" / "ESD" / "IAD" /
"RERL" / Extension
Direction = "Dir" EQUAL "local" / "remote"
Severity = "Severity" EQUAL "Warning" / "Critical" /
"Clear"
Call-ID-Parm = word [ "@" word ]
; miscellaneous needs for ABNF
; some of these are pulled out of RFC2234 or RFC3261
; where this is the case, it is noted.
; taken from RFC2234
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
; taken from RFC3261
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
token = 1*(alphanum / "-" / "." / "!" / "%" / "*"
/ "_" / "+" / "`" / "'" / "~" )
Pendleton, et al. Expires November 1, 2007 [Page 12]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
IPv4address = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT
IPv6address = hexpart [ ":" IPv4address ]
hexpart = hexseq / hexseq "::" [ hexseq ] / "::" [ hexseq ]
hexseq = hex4 *( ":" hex4)
hex4 = 1*4HEXDIG
; DATE-TIME format
; taken from RFC3339, refer for more information
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 for the syntax
;
Extension = word-plus
word = 1*(alphanum / "-" / "." / "!" / "%" / "*" /
"_" / "+" / "`" / "'" / "~" /
"(" / ")" / "<" / ">" /
":" / "\" / DQUOTE /
"/" / "[" / "]" / "?" )
word-plus = 1*(alphanum / "-" / "." / "!" / "%" / "*" /
"_" / "+" / "`" / "'" / "~" /
"(" / ")" / "<" / ">" / ":" /
"\" / "/" / "[" / "]" / "?" /
"{" / "}" / "=" / " ")
Pendleton, et al. Expires November 1, 2007 [Page 13]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
4.6.2 Parameter Definitions and Mappings
4.6.2.1 General mapping percentages from 8 bit, fixed point numbers
RFC3611 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 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.
4.6.2.2 Timestamps
Following SIP and other IETF convention, timestamps are provided
in Coordinated Universal Time (UTC) using the ABNF format provided
in IETF RFC3339 [x]. 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.
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.
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.
Payload Desc
This parameter is not mapped from any specific SDP
or RTP field; provides a text description of the
Payload Type/codec.
Sample Rate
This parameter is mapped from the SDP "rtpmap"
attribute field "clock rate". The field provides
the rate at which voice was sampled, measured in
Hertz (hZ).
Pendleton, et al. Expires November 1, 2007 [Page 14]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
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
this value can be combined with the FramesPerPacket
to determine the packetization rate.
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 FrameDuration is provided.
Frames Per Packet
This parameter is not contained in RTP or SDP but can
usually be obtained from the device codec. This fiels
provides the number of frames in each RTP packet. Note
this value can be combined with the FrameDuration
to determine the packetization rate.
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 number of RTP packets that are transmitted
per second.
FMTP
This parameter is taken directly from the SDP attribute
"fmtp".
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.
Packet Loss Concealment
This value corresponds to "PLC" in RFC3611 in the
VoIP Metrics Report Block. The values defined by RFC3611
are reused by this recommendation and therefore no mapping is
required.
Pendleton, et al. Expires November 1, 2007 [Page 15]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
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 sending the event. The IPAddress can be IPv4 or IPv6
format. The SSRC is taken from SDP, RTCP, or RTCP XR input
paramters.
4.6.2.5 RemoteAddr
This field provides the IP address, port and ssrc of the session
peer from the perspective of the endpoint sending the event.
4.6.2.6 Jitter Buffer Parameters
Jitter Buffer Adaptive
This value corresponds to "JBA" in RFC3611 in the
VoIP Metrics Report Block. The values defined by RFC3611
are reused by this recommendation and therefore no mapping
is required.
Jitter Buffer Rate
This value corresponds to "JB rate" in RFC3611 in the
VoIP Metrics Report Block. The parameter does not
require any mapping calculations.
Jitter Buffer Nominal
This value corresponds to "JB nominal" in RFC3611 in the
VoIP Metrics Report Block. The parameter does not
require any mapping calculations.
Jitter Buffer Max
This value corresponds to "JB maximum" in RFC3611 in the
VoIP Metrics Report Block. The parameter does not
require any conversion.
Jitter Buffer Abs Max
This value corresponds to "JB abs max" in RFC3611 in the
VoIP Metrics Report Block. The parameter does not
require any conversion.
Pendleton, et al. Expires November 1, 2007 [Page 16]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
4.6.2.7 Packet Loss Parameters
Network Packet Loss Rate
This value corresponds to "loss rate" in RFC3611 in the
VoIP Metrics Report Block. For conversion, see
"General mapping percentages from 8 bit, fixed point numbers".
Jitter Buffer Discard Rate
This value corresponds to "discard rate" in RFC3611 in the
VoIP Metrics Report Block. For conversion, see "General
mapping percentages from 8 bit, fixed point numbers".
4.6.2.8 Burst/Gap Parameters
Burst Loss Density
This value corresponds to "burst density" in RFC3611 in the
VoIP Metrics Report Block. For conversion, see "General
mapping percentages from 8 bit, fixed point numbers".
Burst Duration
This value corresponds to "burst duration" in RFC3611 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.
Gap Loss Density
This value corresponds to "gap density" in RFC3611 in the
VoIP Metrics Report Block.
See "General mapping percentages from 8 bit, fixed point numbers".
Gap Duration
This value corresponds to "gap duration" in RFC3611 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.
Minimum Gap Threshold
This value corresponds to "Gmin" in RFC3611 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.
Pendleton, et al. Expires November 1, 2007 [Page 17]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
4.2.6.10 Delay Parameters
Round Trip Delay
This value corresponds to "round trip delay" in RFC3611 in the
VoIP Metrics Report Block. This parameter does no require
any conversion.
End System Delay
This value corresponds to "end system delay" in RFC3611 in the
VoIP Metrics Report Block. This parameter does no require
any conversion.
One Way Delay
This value may be measured based on IETF IPPM recommendations
or may be calculated as described in RFC3611:
one way delay = ( RTD + ESD(A) + ESD(B) ) / 2
The parameter is expected to be expressed in milliseconds.
Interarrival Jitter
It is recommended that IAJ be measured as defined in RTCP, RFC 3550.
The parameter is expected to be expressed in milliseconds.
Mean Absolute Jitter
It is recommended that MAJ be measured as defined by ITU-T G.1020.
This parameter is often referred to as MAPDV. The parameter is
expected to be expressed in milliseconds.
4.2.6.11 Signal-related Parameters
Signal Level
This field corresponds to "signal level" in RFC3611 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.
Noise Level
This field corresponds to "noise level" in RFC3611 in the
VoIP Metrics Report Block. This field provide 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. Expires November 1, 2007 [Page 18]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
Residual Echo Return Loss (RERL)
This field corresponds to "RERL" in RFC3611 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.2.6.13 Quality Scores
ListeningQualityR
This field does not have a direct mapping from RFC3611 but
is expected to be provided in the RTCP High Resolution
(RTCP HR) draft [x]. The parameter reflects voice quality
measured only from the listening related parameters i.e. does
not include RERL, delay, signal level, or noise level. The
scale used will typically be ITU-T G.107 compliant (0-100) but
can be greater where wideband audio codecs are used.
RLQEstAlg
This field provides a text description of the algorithm used
to estimate ListeningQualityR.
ConversationalQualityR
This field corresponds to "R factor" in RFC3611 in the VoIP
Metrics Report Block. This parameter provides a cumulative
measurement of voice quality including all metrics per
ITU-T G.107 definition (but may be extended by vendor
specific metrics as well.) The scale used will typically be
ITU-T G.107 compliant (0-100) but can be greater where
wideband audio codecs are used. Although in most cases the value
does not need to be converted, a value of 127 indicates that
this parameter is unavailable and should not be included in the
vq-rtcpxr event.
RCQEstAlg
This field provides a text description of the algorithm used
to estimate ConversationalQualityR
ExternalR-In
This field corresponds to "ext. R factor" in RFC3611 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 RFC3611 for a more
detailed explanation). The scale used will typically be
ITU-T G.107 compliant (0-100) but can be greater where
wideband audio codecs are used. Although in most cases the value
does not need to be converted, a value of 127 indicates that
this parameter is unavailable and should not be included in the
vq-rtcpxr event.
Pendleton, et al. Expires November 1, 2007 [Page 19]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
ExtRInEstAlg
This field provides a text description of the algorithm used
to estimate ExternalR-In.
ExternalR-Out
This field corresponds to "ext. R factor" in RFC3611 in the
VoIP Metrics Report Block. Here, the value is copied from
RTCP XR message received from the remote endpoint on "other"
side of this endpoint refer to RFC3611 for a more detailed
explanation). The scale used will typically be ITU-T G.107
compliant (0-100) but can be greater where wideband audio
codecs are used. Although in most cases the value does not
need to be converted, a value of 127 indicates that this
parameter is unavailable and should not be included in the
vq-rtcpxr event.
ExtROutEstAlg
This field provides a text description of the algorithm used
to estimate ExternalR-Out.
MOS-LQ
This field corresponds to "MOSLQ" in RFC3611 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. The RFC3611 format is expressed as an integer
in the range 10 to 50, corresponding to MOS x 10. Therefore
the value should be divided by 10 to convert to vq-rtcpxr
format. Additionally, a value of 127 in RFC3611 indicates
that the parameter is unavailable and should not be included
in the vq-rtcpxr event.
MOSLQEstAlg
This field provides a text description of the algorithm used
to estimate MOS-LQ.
MOS-CQ
This field corresponds to "MOSCQ" in RFC3611 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. The RFC3611 format is expressed as an integer
in the range 10 to 50, corresponding to MOS x 10. Therefore
the value should be divided by 10 to convert to vq-rtcpxr
format. Additionally, a value of 127 in RFC3611 indicates
that the parameter is unavailable and should not be included
in the vq-rtcpxr event.
Pendleton, et al. Expires November 1, 2007 [Page 20]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
MOSCQEstAlg
This field provides a text description of the algorithm used
to estimate MOS-CQ.
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.
Pendleton, et al. Expires November 1, 2007 [Page 21]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
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 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 1. End of session report sent after session termination.
Pendleton, et al. Expires November 1, 2007 [Page 22]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
In the message flow depicted in Figure 1, the following message
is sent in F13.
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@alice.example.org
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
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
CallID:1890463548@alice.example.org
LocalAddr:IP=10.10.1.100 PORT=5000 SSRC=2468abcd
RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=1357efff
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 OWD=100 IAJ=2 MAJ=10
Signal:SL=2 NL=-10 RERL=55
QualityEst:RLQ=90 RCQ=85 EXTRI=90 MOSLQ=3.4 MOSCQ=3.3 QoEEstAlg=AlgX
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
CallID:1890463548@alice.example.org
LocalAddr:IP=11.1.1.150 PORT=5002 SSRC=1357efff
RemoteAddr:IP=10.10.1.100 PORT=5000 SSRC=2468abcd
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 OWD=100 IAJ=2 MAJ=10
Signal:SL=2 NL=-10 RERL=55
QualityEst:RLQ=90 RCQ=85 MOSLQ=3.4 MOSCQ=3.3 QoEEstAlg=AlgX
DialogID:1890463548@alice.example.org;to-tag=8472761;
from-tag=9123dh311
Pendleton, et al. Expires November 1, 2007 [Page 23]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
4.7.2. 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 F12 | | |
|------------------->| BYE F13 | |
| |---------------------------------------->|
| | 200 OK F14 | |
| |<----------------------------------------|
| 200 OK F15 | | |
|<-------------------| | |
Figure 2. Alert report message flow
Pendleton, et al. Expires November 1, 2007 [Page 24]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
In the message flow depicted in Figure 2, 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@alice.example.org
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
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
CallID:1890463548@alice.example.org
LocalAddr:IP=10.10.1.100 PORT=5000 SSRC=2a4b6c8d
RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=9f7e5d3c
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 OWD=100 IAJ=2 MAJ=10
Signal:SL=2 NL=-10 RERL=55
QualityEst:RLQ=90 RCQ=85 EXTR=90 MOSLQ=3.4 MOSCQ=3.3 QoEEstAlg=AlgX
OtherDirMetrics:
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
CallID:1890463548@alice.example.rog
LocalAddr:IP=11.1.1.150 PORT=5002 SSRC=9f7e5d3c
RemoteAddr:IP=10.10.1.100 PORT=5000 SSRC=2a4b6c8d
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 OWD=100 IAJ=2 MAJ=10
Signal:SL=2 NL=-10 RERL=55
QualityEst:RLQ=90 RCQ=85 EXTRI=90 MOSLQ=3.4 MOSCQ=3.3 QoEEstAlg=AlgX
DialogID:1890463548@alice.example.org;to-tag=8472761;
from-tag=9123dh3111
Pendleton, et al. Expires November 1, 2007 [Page 25]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
4.7.3. End of Session Report 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 | |
|<============================================================>|
| | | |
| 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 | | |
|<-------------------| | |
Figure 3. Summary report with NOTIFY sent after session termination.
Pendleton, et al. Expires November 1, 2007 [Page 26]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
In the call flow depicted in Figure 3, 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@alice.example.org
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
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
CallID:1890463548@alice.example.org
LocalAddr:IP=10.10.1.100 PORT=5000 SSRC=1a3b5c7d
RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=2468abcd
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 OWD=100 IAJ=2 MAJ=10
Signal:SL=2 NL=-10 RERL=55
QualityEst:RLQ=90 RCQ=85 EXTRI=90 MOSLQ=3.4 MOSCQ=3.3 QoEEstAlg=AlgX
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
CallID:1890463548@alice.example.org
LocalAddr:IP=11.1.1.150 PORT=5002 SSRC=2468abcd
RemoteAddr:IP=10.10.1.100 PORT=5000 SSRC=1a3b5c7d
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 OWD=100 IAJ=2 MAJ=10
Signal:SL=2 NL=-10 RERL=55
QualityEst:RLQ=90 RCQ=85 EXTRI=90 MOSLQ=3.4 MOSCQ=3.3 QoEEstAlg=AlgX
DialogID:1890463548@alice.example.org;to-tag=8472761;
from-tag=9123dh311
Pendleton, et al. Expires November 1, 2007 [Page 27]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
4.7.4. Mid Session 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 F17 | |
|------------------->| | |
| | NOTIFY Event:vq-rtcpxr F18 |
| |------------------->| |
| | 200 OK F19 | |
| |<-------------------| |
| 200 OK F20 | | |
|<-------------------| | |
| | | |
| 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 | | |
|<-------------------| | |
Figure 4. Summary report sent during session with threshold report.
Pendleton, et al. Expires November 1, 2007 [Page 28]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
In the call flow depicted in Figure 4, 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>
From: Alice <sip:alice@example.org>;tag=a3343df32
Call-ID: 1890463548@alice.example.org
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
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
CallID:1890463548@alice.example.org
LocalAddr:IP=10.10.1.100 PORT=5000 SSRC=1a3b5c7d
RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=2468abcd
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 OWD=100 IAJ=2 MAJ=10
Signal:SL=2 NL=-10 RERL=55
QualityEst:RLQ=90 RCQ=85 EXTR=90 MOSLQ=3.4 MOSCQ=3.3 QoEEstAlg=AlgX
OtherDirMetrics:
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
CallID:1890463548@alice.example.org
LocalAddr:IP=11.1.1.150 PORT=5002 SSRC=2468abcd
RemoteAddr:IP=10.10.1.100 PORT=5000 SSRC=1a3b5c7d
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=10
Delay:RTD=200 ESD=140 OWD=100 IAJ=2 MAJ=10
Signal:SL=2 NL=-10 RERL=55
QualityEst:RLQ=90 RCQ=85 EXTRI=90 MOSLQ=3.4 MOSCQ=3.3 QoEEstAlg=AlgX
DialogID:1890463548@alice.example.org;to-tag=8472761;
from-tag=9123dh31111
Pendleton, et al. Expires November 1, 2007 [Page 29]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
4.8 Configuration Dataset for vq-rtcpxr Events
It is the suggestion of the authors that the SIP configuration
framework [8] be used to establish the necessary parameters for
usage of vq-rtcpxr events. A dataset for this purpose is provided
below:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:ietf:params:xml:ns:vqrtcpxrdataset"
xmlns:tns="urn:ietf:params:xml:ns:vqrtcpxrdataset"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
<xs:element name="rtcpxr-collector">
<xs:complexType>
<xs:sequence>
<xs:element name="address" type=xs:string/>
<xs:element name="port" type=xs:integer/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<xs:complexType>
<xs:sequence>
<xs:element name="threshold-parameter">
<xs:sequence>
<xs:element name="parameter-name" type=xs:string/>
<xs:element name="warning-level" type=xs:integer/>
<xs:element name="excessive-level" type=xs:integer/>
</xs:sequence>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="session-report-settings">
<xs:complexType>
<xs:sequence>
<xs:element name="enable" type=xs:boolean/>
<xs:element name="remote-report" type=xs:boolean/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="interval-report-settings">
<xs:complexType>
<xs:sequence>
<xs:element name="enable" type=xs:boolean/>
<xs:element name="remote-report" type=xs:boolean/>
<xs:element name="timer" type=xs:integer/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Pendleton, et al. Expires November 1, 2007 [Page 30]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
5. IANA Considerations
This document registers a new SIP Event Package and a new MIME type.
5.1. SIP Event Package Registration
Package name: vq-rtcpxr
Type: package
Contact: Amy Pendleton <aspen@nortel.com>
Published Specification: This document
5.2. application/vq-rtcp-xr MIME Registration
MIME media type name: application
MIME subtype name: vq-rtcpxr
Mandatory parameters: none
Optional parameters: none
Encoding considerations: text
Security considerations: See next section.
Interoperability considerations: none.
Published specification: This document.
Applications which 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"
Personal and email address for further information: Amy Pendleton
<aspen@nortel.com>
Intended usage: COMMON
Author/Change controller: The IETF.
Pendleton, et al. Expires November 1, 2007 [Page 31]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
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 and Tom
Redman for their discussions.
8. 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] Huitema, C., "Real Time Control Protocol (RTCP) attribute in
Session Description Protocol (SDP)", RFC 3605, October 2003.
[5] Roach, A., "Session Initiation Protocol (SIP)-Specific Event
Notification", RFC 3265, June 2002.
[6] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997.
[7] Klyne, G. and C. Newman, "Date and Time on the Internet:
Timestamps", RFC 3339, July 2002.
[8] Petrie, D., "A Framework for Session Initiation Protocol User
Agent Profile Delivery", draft-ietf-sipping-config-framework-08
(work in progress), March 2006.
Pendleton, et al. Expires November 1, 2007 [Page 32]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
Authors' Addresses
Amy Pendleton
Nortel
2380 Performance Drive
Richardson, TX 75081
Email: aspen@nortel.com
Alan Johnston
Avaya
100 South 4th Street
St. Louis, MO 63104
Email: alan.johnston@sipstation.com
Henry Sinnreich
Pulver
115 Broadhollow Drive, Suite 250
Melville, NY 11747, NY 11747
Email: henry@pulver.com
Alan Clark
Telchemy Incorporated
3360 Martins Farm Road, Suite 200
Suwanee, GA 30024
Email: alan@telchemy.com
Pendleton, et al. Expires November 1, 2007 [Page 32]
Internet-Draft SIP Package for Voice Quality Reporting May 2007
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
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.
Copyright Statement
Copyright (C) The Internet Society (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.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Pendleton, et al. Expires November 1, 2007 [Page 33]
| PAFTECH AB 2003-2026 | 2026-04-23 10:32:24 |