idnits 2.17.1 draft-ietf-sipping-rtcp-summary-13.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document seems to contain a disclaimer for pre-RFC5378 work, and may have content which was first submitted before 10 November 2008. The disclaimer is necessary when there are original authors that you have been unable to contact, or if some do not wish to grant the BCP78 rights to the IETF Trust. If you are able to get all authors (current and original) to grant those rights, you can and should remove the disclaimer; otherwise, the disclaimer is needed and you can ignore this comment. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (August 4, 2010) is 5006 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3265 (ref. '5') (Obsoleted by RFC 6665) -- Possible downref: Non-RFC (?) normative reference: ref. '9' -- Possible downref: Non-RFC (?) normative reference: ref. '10' -- Possible downref: Non-RFC (?) normative reference: ref. '11' ** Obsolete normative reference: RFC 2679 (ref. '12') (Obsoleted by RFC 7679) -- Obsolete informational reference (is this intentional?): RFC 5117 (ref. '13') (Obsoleted by RFC 7667) == Outdated reference: A later version (-18) exists of draft-ietf-sipping-config-framework-17 -- Obsolete informational reference (is this intentional?): RFC 5389 (ref. '16') (Obsoleted by RFC 8489) Summary: 2 errors (**), 0 flaws (~~), 2 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SIPPING WG A. Pendleton 3 Internet-Draft A. Clark 4 Intended status: Standards Track Telchemy Incorporated 5 Expires: February 5, 2011 A. Johnston 6 Avaya 7 H. Sinnreich 8 Unaffiliated 9 August 4, 2010 11 Session Initiation Protocol Event Package for Voice Quality Reporting 12 draft-ietf-sipping-rtcp-summary-13 14 Abstract 16 This document defines a Session Initiation Protocol (SIP) event 17 package that enables the collection and reporting of metrics that 18 measure the quality for Voice over Internet Protocol (VoIP) sessions. 19 Voice call quality information derived from RTP Control Protocol 20 Extended Reports (RTCP-XR) and call information from SIP is conveyed 21 from a User Agent (UA) in a session, known as a reporter, to a third 22 party, known as a collector. A registration for the application/ 23 vq-rtcp-xr MIME type is also included. 25 Status of this Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at http://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on February 5, 2011. 42 Copyright Notice 44 Copyright (c) 2010 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (http://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 This document may contain material from IETF Documents or IETF 58 Contributions published or made publicly available before November 59 10, 2008. The person(s) controlling the copyright in some of this 60 material may not have granted the IETF Trust the right to allow 61 modifications of such material outside the IETF Standards Process. 62 Without obtaining an adequate license from the person(s) controlling 63 the copyright in such materials, this document may not be modified 64 outside the IETF Standards Process, and derivative works of it may 65 not be created outside the IETF Standards Process, except to format 66 it for publication as an RFC or to translate it into languages other 67 than English. 69 Table of Contents 71 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 72 1.1. Applicability Statement . . . . . . . . . . . . . . . . . 4 73 1.2. Use of the Mechanism . . . . . . . . . . . . . . . . . . . 4 74 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 75 3. SIP Events for VoIP Quality Reporting . . . . . . . . . . . . 6 76 3.1. SUBSCRIBE NOTIFY Method . . . . . . . . . . . . . . . . . 6 77 3.2. PUBLISH Method . . . . . . . . . . . . . . . . . . . . . . 6 78 3.3. Multi-Party and Multi-Segment Calls . . . . . . . . . . . 7 79 3.4. Overload Avoidance . . . . . . . . . . . . . . . . . . . . 7 80 4. Event Package Formal Definition . . . . . . . . . . . . . . . 8 81 4.1. Event Package Name . . . . . . . . . . . . . . . . . . . . 8 82 4.2. Event Package Parameters . . . . . . . . . . . . . . . . . 8 83 4.3. SUBSCRIBE Bodies . . . . . . . . . . . . . . . . . . . . . 8 84 4.4. Subscribe Duration . . . . . . . . . . . . . . . . . . . . 8 85 4.5. NOTIFY Bodies . . . . . . . . . . . . . . . . . . . . . . 8 86 4.6. Voice Quality Event and Semantics . . . . . . . . . . . . 9 87 4.6.1. ABNF Syntax Definition . . . . . . . . . . . . . . . . 10 88 4.6.2. Parameter Definitions and Mappings . . . . . . . . . . 20 89 4.7. Message Flow and Syntax Examples . . . . . . . . . . . . . 28 90 4.7.1. End of Session Report using NOTIFY . . . . . . . . . . 29 91 4.7.2. Mid Session Threshold Violation using NOTIFY . . . . . 31 92 4.7.3. End of Session Report using PUBLISH . . . . . . . . . 33 93 4.7.4. Alert Report using PUBLISH . . . . . . . . . . . . . . 35 94 4.8. Configuration Dataset for vq-rtcpxr Events . . . . . . . . 37 95 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 96 5.1. SIP Event Package Registration . . . . . . . . . . . . . . 37 97 5.2. application/vq-rtcp-xr MIME Registration . . . . . . . . . 38 98 6. Security Considerations . . . . . . . . . . . . . . . . . . . 38 99 7. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 38 100 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 39 101 8.1. Normative References . . . . . . . . . . . . . . . . . . . 39 102 8.2. Informative References . . . . . . . . . . . . . . . . . . 39 103 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 40 105 1. Introduction 107 Real time communications over IP networks use SIP for signaling with 108 RTP/RTCP for media transport and reporting respectively. These 109 protocols are very flexible and can support an extremely wide 110 spectrum of usage scenarios. For this reason, extensions to these 111 protocols must be specified in the context of a specific usage 112 scenario. In this memo, extensions to SIP are proposed to support 113 the reporting of RTP Control Protocol Extended Reports [4] metrics. 115 1.1. Applicability Statement 117 RTP is utilized in many different architectures and topologies. RFC 118 5117 [13] lists and describes the following topologies: point to 119 point, point to multipoint using multicast, point to multipoint using 120 the RFC 3550 translator, point to multipoint using the RFC 3550 mixer 121 model, point to multipoint using video switching MCUs, point to 122 multipoint using RTCP-terminating MCU, and non-symmetric mixer/ 123 translators. As the abstract to this document points out, this 124 specification is for reporting quality of Voice over Internet 125 Protocol(VoIP) sessions. As such, only the first topology, point to 126 point, is currently supported by this specification. This reflects 127 both current VoIP deployments which are predominantly point to point 128 using unicast, and also the state of research in the area of quality. 130 How to accurately report the quality of a multipart conference or a 131 session involving multiple hops through translators and mixers is 132 currently an area of research in the industry. However, this 133 mechanism can easily be used for centrally mixed conference calls, in 134 which each leg of the conferences is just a point to point call. 135 This mechanism could be extended to cover additional RTP topologies 136 in the future once these topics progress out of the realm of research 137 and into actual Internet deployments. 139 1.2. Use of the Mechanism 141 RTCP reports are usually sent to other participating endpoints in a 142 session which can make collection of performance information by 143 administration or management systems too complex. In the usage 144 scenarios addressed in this memo, the data contained in RTCP XR VoIP 145 metrics reports (RFC3611 [4]) are forwarded to a central collection 146 server systems using SIP. 148 Applications residing in the server or elsewhere can aid in network 149 management to alleviate bandwidth constraints and also to support 150 customer service by identifying and acknowledging calls of poor 151 quality. Specifying such applications are however beyond the scope 152 of this paper. 154 There is a large portfolio of quality parameters that can be 155 associated with VoIP, but only a minimal necessary number of 156 parameters are included on the RTCP-XR reports: 158 1. The codec type, as resulting from the SDP offer-answer 159 negotiation in SIP, 161 2. The burst gap loss density and max gap duration, since voice cut- 162 outs are the most annoying quality impairment in VoIP, 164 3. Round trip delay because it is critical to conversational 165 quality, 167 4. Conversational quality as a catch-all for other voice quality 168 impairments, such as random distributed packet loss, jitter, annoying 169 silent suppression effects, etc. 171 In specific usage scenarios where other parameters are required, 172 designers can include other parameters beyond the scope of this 173 paper. 175 RTCP reports are best effort only, and though very useful have a 176 number of limitations as discussed in [3]. This must be considered 177 when using RTCP reports in managed networks. 179 This document defines a new SIP event package, vq-rtcpxr, and a new 180 MIME type, application/vq-rtcpxr, that enable the collection and 181 reporting of metrics that measure quality for RTP [3] sessions. The 182 definitions of the metrics used in the event package are based on 183 RTCP Extended Reports [4] and RTCP [3]; a mapping between the SIP 184 event parameters and the parameters within the aforementioned RFC's 185 is defined within this document in section 4.6.2. 187 Monitoring of voice quality is believed to be the highest priority 188 for usage of this mechanism and as such, the metrics in the event 189 package are largely tailored for voice quality measurements. The 190 event package is designed to be extensible. However the negotiation 191 of such extensions is not defined in this document. 193 The event package supports reporting both the voice quality metrics 194 for both inbound and outbound directions. Voice quality metrics for 195 the inbound direction can generally be computed locally by the 196 reporting endpoint however voice quality metrics for the outbound 197 direction are computed by the remote endpoint and sent to the 198 reporting endpoint using the RTCP Extended Reports [4]. 200 Configuration of usage of the event package is not covered in this 201 document. It is the recommendation of this document that the SIP 202 configuration framework [15] be used. This is discussed in Section 203 4.8. 205 The event package SHOULD be used with the SUBSCRIBE/NOTIFY method 206 however it MAY be also used with the PUBLISH method [8] for backward 207 compatibility with some existing implementations. Message flow 208 examples for both methods are provided in this document. 210 2. Terminology 212 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 213 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 214 document are to be interpreted as described in BCP 14, RFC 2119 [1]. 216 3. SIP Events for VoIP Quality Reporting 218 This document defines a SIP events package [5] for Voice over IP 219 performance reporting. A SIP UA can send these events to an entity 220 which can make the information available to other applications. For 221 purposes of illustration, the entities involved in SIP vq-rtcpxr 222 event reporting will be referred to as follows: 224 o REPORTER is an entity involved in the measurement and reporting of 225 media quality i.e. the SIP UA involved in a media session. 227 o COLLECTOR is an entity that receives SIP vq-rtcpxr events. A 228 COLLECTOR may be a proxy server or another entity that is capable of 229 supporting SIP vq-rtcpxr events. 231 3.1. SUBSCRIBE NOTIFY Method 233 The COLLECTOR SHALL send a SUBSCRIBE to the REPORTER to explicitly 234 establish the relationship. The REPORTER SHOULD send the voice 235 quality metric reports using the NOTIFY method. The REPORTER MUST 236 NOT send any vq-rtcpxr events if a COLLECTOR address has not been 237 configured. The REPORTER populates the Request-URI according to the 238 rules for an in-dialog request. The COLLECTOR MAY send a SUBSCRIBE 239 to a SIP Proxy acting on behalf of the reporting SIP UA's. 241 3.2. PUBLISH Method 243 A SIP UA that supports this specification MAY also send the service 244 quality metric reports using the PUBLISH method [8], however this 245 approach SHOULD NOT be used in general on the public Internet. The 246 PUBLISH method MAY be supported for backward compatibility with 247 existing implementations. 249 The REPORTER MAY therefore populate the Request-URI of the PUBLISH 250 method with the address of the COLLECTOR. To ensure security of SIP 251 proxies and the COLLECTOR, the REPORTER MUST be configured with the 252 address of the COLLECTOR, preferably using the SIP UA configuration 253 framework [15], as described in section 5.8. 255 It is RECOMMENDED that the REPORTER send an OPTIONS message to the 256 COLLECTOR to ensure support of the PUBLISH message. 258 If PUBLISH is not supported, then the reporter can only wait for a 259 SUBSCRIBE request from the collector and then deliver the 260 information in NOTIFYs. If a REPORTER sends a PUBLISH to a 261 COLLECTOR that does not support or allow this method, a 501 Not 262 Implemented or a 405 Method Not Allowed response will be received, 263 and the REPORTER will stop publication. 265 3.3. Multi-Party and Multi-Segment Calls 267 A voice quality metric report may be sent for each session 268 terminating at the REPORTER and may contain multiple report bodies. 269 For a multi-party call the report MAY contain report bodies for the 270 session between the reporting endpoint and each remote endpoint for 271 which there was an RTP session during the call. 273 Multi-party services such as call hold and call transfer can result 274 in the user participating in a series of concatenated sessions, 275 potentially with different choices of codec or sample rate, although 276 these may be perceived by the user as a single call. A REPORTER MAY 277 send a voice quality metric report at the end of each session or MAY 278 send a single voice quality metric report containing an application/ 279 vq-rtcp-xr body for each segment of the call. 281 3.4. Overload Avoidance 283 Users of this extension should ensure they implement general SIP 284 mechanisms for avoiding overload. For instance, an overloaded proxy 285 or COLLECTOR MUST send a 503 Service Unavailable or other 5xx 286 response with an appropriate Retry-After time specified. REPORTERs 287 MUST act on these responses and respect the Retry-After time 288 interval. In addition, future SIP extensions to better handle 289 overload as covered in [14] should be followed as they are 290 standardized. 292 To avoid overload of SIP Proxies or COLLECTORS it is important to do 293 capacity planning and to minimize the number of reports that are 294 sent. 296 Approaches to avoiding overload include: 298 a. Send only one report at the end of each call 300 b. Use interval reports only on "problem" calls that are being 301 closely monitored 303 c. Limit the number of alerts that can be sent to a maximum of one 304 per call. 306 4. Event Package Formal Definition 308 4.1. Event Package Name 310 This document defines a SIP Event Package as defined in RFC 3265 [5]. 312 4.2. Event Package Parameters 314 No event package parameters are defined. 316 4.3. SUBSCRIBE Bodies 318 SUBSCRIBE bodies are described by this specification. 320 4.4. Subscribe Duration 322 Subscriptions to this event package MAY range from minutes to weeks. 323 Subscriptions in hours or days are more typical and are RECOMMENDED. 324 The default subscription duration for this event package is one hour. 326 4.5. NOTIFY Bodies 328 There are three notify bodies: a Session report, an Interval session 329 report, and an Alert report. 331 The Session report SHOULD be used for reporting when a voice media 332 session terminates or when a media change occurs, such as a codec 333 change or a session forks and MUST NOT be used for reporting at 334 arbitrary points in time. This report MUST be used for cumulative 335 metric reporting and the report timestamps MUST be from the start of 336 a media session to the time at which the report is generated. 338 The Interval report SHOULD be used for periodic or interval reporting 339 and MUST NOT be used for reporting for the complete media session. 340 This report is intended to capture short duration metric reporting 341 and the report intervals SHOULD be non-overlapping time windows. 343 The Alert report MAY be used when voice quality degrades during a 344 session. The time window to which an Alert report relates MAY be a 345 short time interval or from the start of the call to the point the 346 alert is generated; this time window SHOULD be selected to provide 347 the most useful information to support problem diagnosis. 349 Session, Interval and Alert reports MUST populate the metrics with 350 values that are measured over the interval explicitly defined by the 351 "start" and "stop" timestamps. 353 Voice quality summary reports reference only one codec (payload 354 type). This payload type SHOULD be the main voice payload, not 355 comfort noise or telephone events payloads. For applications that 356 consistently and rapidly switch codecs, the most used codec should be 357 reported. All values in the report, such as IP addresses, SSRC, etc 358 represent those values as received by the REPORTER. In some 359 scenarios, these may not be the same on either end of the session - 360 the COLLECTOR will need logic to be able to put these sessions 361 together. The values of parameters such as sample rate, frame 362 duration, frame octets, packets per second, round trip delay, etc 363 depend on the type of report they are present in. If present in a 364 Session or an Interval report, they represent average values over the 365 session or interval. If present in an Alert report, they represent 366 instantaneous values. 368 The REPORTER always includes local quality reporting information and 369 should, if possible, share remote quality reporting information to 370 the COLLECTOR. This remote quality could be available from received 371 RTCP-XR reports or other sources. Reporting this is useful in cases 372 where the other end might support RTCP-XR but not this voice quality 373 reporting. 375 This specification defines a new MIME type application/vq-rtcpxr 376 which is a text encoding of the RTCP and RTCP-XR statistics with some 377 additional metrics and correlation information. 379 4.6. Voice Quality Event and Semantics 381 This section describes the syntax extensions required for event 382 publication in SIP. The formal syntax definitions described in this 383 section are expressed in the Augmented BNF [6] format used in SIP 384 [2], and contains references to elements defined therein. 386 Additionally, the definition of the timestamp format is provided in 387 [7]. Note that most of the parameters are optional. In practice, 388 most implementations will send a subset of the parameters. It is not 389 the intention of this document to define what parameters may or may 390 not be useful for monitoring the quality of a voice session, but to 391 enable reporting of voice quality. As such, the syntax allows the 392 implementer to choose which metrics are most appropriate for their 393 solution. As there are no "invalid", "unknown", or "not applicable" 394 values in the syntax, the intention is to exclude any parameters for 395 which values are not available, not applicable, or unknown. 397 The authors recognize that implementers may need to add new parameter 398 lines to the reports and new metrics to the existing parameter lines. 399 The extension tokens are intended to fulfill this need. 401 4.6.1. ABNF Syntax Definition 403 VQReportEvent = AlertReport / SessionReport / IntervalReport 405 SessionReport = "VQSessionReport" [ HCOLON "CallTerm" ] CRLF 406 SessionInfo CRLF 407 LocalMetrics [ CRLF RemoteMetrics ] 408 [ CRLF DialogID ] 410 ; CallTerm indicates the final report of a session. 412 IntervalReport = "VQIntervalReport" [ HCOLON "CallTerm" ] CRLF 413 SessionInfo CRLF 414 LocalMetrics [ CRLF RemoteMetrics ] 415 [ CRLF DialogID ] 417 LocalMetrics = "LocalMetrics" HCOLON CRLF Metrics 419 RemoteMetrics = "RemoteMetrics" HCOLON CRLF Metrics 421 AlertReport = "VQAlertReport" HCOLON 422 MetricType WSP Severity WSP Direction CRLF 423 SessionInfo CRLF 424 LocalMetrics [ CRLF RemoteMetrics ] 425 [ DialogID ] 427 SessionInfo = 428 CallID CRLF 429 LocalID CRLF 430 RemoteID CRLF 431 OrigID CRLF 432 LocalAddr CRLF 433 RemoteAddr CRLF 434 LocalGroupID CRLF 435 RemoteGroupID CRLF 436 [ LocalMACAddr CRLF ] 437 [ RemoteMACAddr CRLF ] 439 Metrics = TimeStamps CRLF 441 [ SessionDescription CRLF ] 442 [ JitterBuffer CRLF ] 443 [ PacketLoss CRLF ] 444 [ BurstGapLoss CRLF ] 445 [ Delay CRLF ] 446 [ Signal CRLF ] 447 [ QualityEstimates CRLF ] 448 *(Extension CRLF) 450 ; Timestamps are provided in Coordinated Universal Time (UTC) 451 ; using the ABNF format provided in RFC3339, 452 ; "Date and Time on the Internet: Timestamps" 453 ; These timestamps SHOULD reflect, as closely as 454 ; possible, the actual time during which the media session 455 ; was running to enable correlation to events occurring 456 ; in the network infrastructure and to accounting records 457 ; Timezones other than "Z" are not allowed. 459 TimeStamps = "Timestamps" HCOLON StartTime WSP StopTime 460 StartTime = "START" EQUAL date-time 461 StopTime = "STOP" EQUAL date-time 463 ; SessionDescription provides a shortened version of the 464 ; session SDP but contains only the relevant parameters for 465 ; session quality reporting purposes 467 SessionDescription = "SessionDesc" HCOLON 468 [ PayloadType WSP ] 469 [ PayloadDesc WSP ] 470 [ SampleRate WSP ] 471 [ PacketsPerSecond WSP ] 472 [ FrameDuration WSP ] 473 [ FrameOctets WSP ] 474 [ FramesPerPacket WSP ] 475 [ FmtpOptions WSP ] 476 [ PacketLossConcealment WSP ] 477 [ SilenceSuppressionState ] 478 *(WSP Extension) 480 ; PayloadType provides the PT parameter used in the RTP packets 482 PayloadType = "PT" EQUAL (1*3DIGIT) 484 ; PayloadDesc provides a text description of the codec 485 ; This parameter SHOULD use the IANA registry for 486 ; media-type names defined by RFC 4855 where it unambiguously 487 ; defines the codec. Refer to: 489 ; http://www.iana.org/assignments/media-types/audio/ 491 PayloadDesc = "PD" EQUAL (word / DQUOTE word-plus DQUOTE) 493 ; SampleRate reports the rate at which voice was sampled 494 ; in the case of narrowband codecs, this value will typically 495 ; be 8000. 496 ; For codecs that are able to change sample rates the lowest and 497 ; highest sample rates MUST be reported (e.g. 8000;16000). 499 SampleRate = "SR" EQUAL (1*6DIGIT) *(SEMI (1*66DIGIT)) 501 ; FrameDuration can be combined with the FramesPerPacket 502 ; to determine the packetization rate; the units for 503 ; FrameDuration are milliseconds. NOTE: for frame based codecs, 504 ; each frame constitutes a single frame; for sample-based codecs, 505 ; a "frame" refers to the set of samples carried in an RTP packet 507 FrameDuration = "FD" EQUAL (1*4DIGIT) 509 ; FrameOctets provides the number of octets in each frame 510 ; at the time the report is generated (i.e. last value) 511 ; This MAY be used where FrameDuration is not available 512 ; NOTE: for frame-based codecs, each frame constitutes a single frame; 513 ; for sample-based codecs, a "frame" refers to the set of samples 514 ; carried in an RTP packet. 516 FrameOctets = "FO" EQUAL (1*5DIGIT) 518 ; FramesPerPacket provides the number of frames in each RTP 519 ; packet at the time the report is generated 520 ; NOTE: for frame based codecs, each frame constitutes a single frame; 521 ; for sample-based codecs, a "frame" refers to the set of samples 522 ; carried in an RTP packet 524 FramesPerPacket = "FPP" EQUAL (1*2DIGIT) 526 ; Packets per second provides the average number of packets 527 ; that are transmitted per second, as at the time the report is 528 ; generated. 530 PacketsPerSecond = "PPS" EQUAL (1*5DIGIT) 532 ; FMTP options from SDP. Note that the parameter is delineated 533 ; by " " to avoid parsing issues in transitioning between SDP 534 ; and SIP parsing 536 FmtpOptions = "FMTP" EQUAL DQUOTE word-plus DQUOTE 537 ; PacketLossConcealment indicates whether a PLC algorithm was 538 ; or is being used for the session. The values follow the same 539 ; numbering convention as RFC 3611[4]. 540 ; 0 - unspecified 541 ; 1 - disabled 542 ; 2 - enhanced 543 ; 3 - standard 545 PacketLossConcealment = "PLC" EQUAL ("0" / "1" / "2" / "3") 547 ; SilenceSuppressionState indicates whether silence suppression, 548 ; also known as Voice Activity Detection (VAD) is enabled. 550 SilenceSuppressionState = "SSUP" EQUAL ("on" / "off") 552 ; CallId provides the call id from the SIP dialog 554 CallID = "CallID" HCOLON Call-ID-Parm 556 ; LocalID provides the identification of the reporting endpoint 557 ; of the media session [2]. 559 LocalID = "LocalID" HCOLON (name-addr/addr-spec) 561 ; RemoteID provides the identification of the remote endpoint 562 ; of the media session [2]. 564 RemoteID = "RemoteID" HCOLON (name-addr/addr-spec) 566 ; Originator specifies provides the identification of the 567 ; endpoint which originated the session 569 OrigID = "OrigID" HCOLON (name-addr/addr-spec) 571 ; LocalAddr provides the IP address, port and ssrc of the 572 ; endpoint/UA which is the receiving end of the stream being 573 ; measured. 575 LocalAddr = "LocalAddr" HCOLON IPAddress WSP Port WSP Ssrc 577 ; RemoteAddr provides the IP address, port and ssrc of the 578 ; the source of the stream being measured. 580 RemoteAddr = "RemoteAddr" HCOLON IPAddress WSP Port WSP Ssrc 582 ; LocalMACAddr provides the MAC address 583 ; of the local SIP device 584 LocalMACAddr = "LocalMAC" HCOLON hex2 *(":" hex2) 586 ; RemoteMACAddr provides the MAC address 587 ; of the remote SIP device 589 RemoteMACAddr = "RemoteMAC" HCOLON hex2 *(":" hex2) 591 ; LocalGroupID provides the identification for the purposes 592 ; of aggregation for the local endpoint 594 LocalGroupID = "LocalGroup" HCOLON word-plus 596 ; RemoteGroupID provides the identification for the purposes 597 ; of aggregation for the remote endpoint 599 RemoteGroupID = "RemoteGroup" HCOLON word-plus 601 ; For clarification, the LocalAddr in the LocalMetrics report 602 ; MUST be the RemoteAddr in the RemoteMetrics report. 604 IPAddress = "IP" EQUAL IPv6address / IPv4address 605 Port = "PORT" EQUAL 1*DIGIT 606 Ssrc = "SSRC" EQUAL ( %x30.78 1*8HEXDIG) 608 JitterBuffer = "JitterBuffer" HCOLON 609 [ JitterBufferAdaptive WSP ] 610 [ JitterBufferRate WSP ] 611 [ JitterBufferNominal WSP ] 612 [ JitterBufferMax WSP ] 613 [ JitterBufferAbsMax ] 614 *(WSP Extension) 616 ; JitterBufferAdaptive indicates whether the jitter buffer in 617 ; the endpoint is adaptive, static, or unknown. 618 ; The values follow the same numbering convention as RFC3611. 619 ; For more details, please refer to that document. 620 ; 0 - unknown 621 ; 1 - reserved 622 ; 2 - non-adaptive 623 ; 3 - adaptive 625 JitterBufferAdaptive = "JBA" EQUAL ("0" / "1" / "2" / "3") 627 ; JitterBuffer metric definitions are provided in RFC3611 629 JitterBufferRate = "JBR" EQUAL (1*2DIGIT) ;0-15 630 JitterBufferNominal = "JBN" EQUAL (1*5DIGIT) ;0-65535 631 JitterBufferMax = "JBM" EQUAL (1*5DIGIT) ;0-65535 632 JitterBufferAbsMax = "JBX" EQUAL (1*5DIGIT) ;0-65535 634 ; PacketLoss metric definitions are provided in RFC3611 636 PacketLoss = "PacketLoss" HCOLON 637 [ NetworkPacketLossRate WSP ] 638 [ JitterBufferDiscardRate ] 639 *(WSP Extension) 641 NetworkPacketLossRate = 642 "NLR" EQUAL (1*3DIGIT [ "." 1*2DIGIT ]) ;percentage 644 JitterBufferDiscardRate = 645 "JDR" EQUAL (1*3DIGIT [ "." 1*2DIGIT ]) ;percentage 647 ; BurstGapLoss metric definitions are provided in RFC3611 [4] 649 BurstGapLoss = "BurstGapLoss" HCOLON 650 [ BurstLossDensity WSP ] 651 [ BurstDuration WSP ] 652 [ GapLossDensity WSP ] 653 [ GapDuration WSP ] 654 [ MinimumGapThreshold ] 655 *(WSP Extension) 657 BurstLossDensity = 658 "BLD" EQUAL (1*3DIGIT [ "." 1*2DIGIT ]) ;percentage 660 BurstDuration = 661 "BD" EQUAL (1*7DIGIT) ;0-3,600,000 -- milliseconds 663 GapLossDensity = 664 "GLD" EQUAL (1*3DIGIT [ "." 1*2DIGIT ]) ;percentage 666 GapDuration = 667 "GD" EQUAL (1*7DIGIT) ;0-3,600,000 -- milliseconds 669 MinimumGapThreshold = 670 "GMIN" EQUAL (1*3DIGIT) ;1-255 672 Delay = "Delay" HCOLON 673 [ RoundTripDelay WSP ] 674 [ EndSystemDelay WSP ] 675 [ OneWayDelay WSP ] 676 [ SymmOneWayDelay WSP ] 677 [ InterarrivalJitter WSP ] 678 [ MeanAbsoluteJitter ] 679 *(WSP Extension) 681 ; RoundTripDelay SHALL be measured as defined in RFC3550 [3]. 683 RoundTripDelay = "RTD" EQUAL (1*5DIGIT) ;0-65535 685 ; EndSystemDelay metric is defined in RFC 3611 [4] 687 EndSystemDelay = "ESD" EQUAL (1*5DIGIT) ;0-65535 689 ; OneWayDelay is defined in RFC 2679 [12] 691 OneWayDelay = "OWD" EQUAL (1*5DIGIT) ;0-65535 693 ; SymmOneWayDelay is defined as half the sum of RoundTripDelay 695 ; and the EndSystemDelay values for both endpoints. 697 SymmOneWayDelay = "SOWD" EQUAL (1*5DIGIT); 0-65535 699 ; Interarrival Jitter is calculated as defined RFC 3550 700 ; and converted into milliseconds 702 InterarrivalJitter = "IAJ" EQUAL (1*5DIGIT) ;0-65535 ms 704 ; Mean Absolute Jitter is measured as defined 706 ; by ITU-T G.1020 [9] where it is known as MAPDV 708 MeanAbsoluteJitter = "MAJ" EQUAL (1*5DIGIT);0-65535 710 ; Signal metrics definitions are provided in RFC 3611 712 Signal = "Signal" HCOLON 713 [ SignalLevel WSP ] 714 [ NoiseLevel WSP ] 715 [ ResidualEchoReturnLoss ] 716 *(WSP Extension) 718 ; SignalLevel will normally be a negative value 719 ; the absence of the negative sign indicates a positive value. 720 ; Where the signal level is negative, the sign MUST be 721 ; included. This metric applies to the speech signal decoded 722 ; from the received packet stream. 724 SignalLevel = "SL" EQUAL ([ "-" ] 1*2DIGIT) 726 ; NoiseLevel will normally be negative and the sign MUST be 727 ; explicitly included. 728 ; The absence of a sign indicates a positive value 729 ; This metric applies to the speech signal decoded from the 730 ; received packet stream. 732 NoiseLevel = "NL" EQUAL ([ "-" ] 1*2DIGIT) 734 ; Residual Echo Return Loss (RERL) the ratio between 735 ; the original signal and the echo level as measured after 736 ; echo cancellation or suppression has been applied. 737 ; Expressed in decibels (dB). This is typically a positive 738 ; value. 739 ; This metric relates to the proportion of the speech signal 740 ; decoded from the received packet stream that is reflected 741 ; back in the encoded speech signal output in the transmitted 742 ; packet stream (i.e. will affect the REMOTE user's 743 ; conversational quality). To support the diagnosis of echo 744 ; related problems experienced by the local user of the device 745 ; generating a report according to this document, the value of 746 ; RERL reported via the RTCP XR VoIP Metrics payload SHOULD be 747 ; reported in the RemoteMetrics set of data. 749 ResidualEchoReturnLoss = "RERL" EQUAL (1*3DIGIT) 751 ; Voice Quality estimation metrics 752 ; Each quality estimate has an optional associated algorithm. 753 ; These fields permit the implementation to use a variety 754 ; of different calculation methods for each type of metric 756 QualityEstimates = "QualityEst" HCOLON 757 [ ListeningQualityR WSP ] 758 [ RLQEstAlg WSP ] 759 [ ConversationalQualityR WSP ] 760 [ RCQEstAlg WSP ] 761 [ ExternalR-In WSP ] 762 [ ExtRInEstAlg WSP ] 763 [ ExternalR-Out WSP ] 764 [ ExtROutEstAlg WSP ] 765 [ MOS-LQ WSP ] 766 [ MOSLQEstAlg WSP ] 767 [ MOS-CQ WSP ] 768 [ MOSCQEstAlg WSP ] 769 [ QoEEstAlg ] 770 *(WSP Extension) 772 ListeningQualityR = "RLQ" EQUAL (1*3DIGIT) ; 0 - 120 774 RLQEstAlg = "RLQEstAlg" EQUAL word ; "P.564" [10], or other 776 ConversationalQualityR = "RCQ" EQUAL (1*3DIGIT) ; 0 - 120 777 RCQEstAlg = "RCQEstAlg" EQUAL word ; "P.564", or other 779 ; ExternalR-In is measured by the local endpoint for incoming 780 ; connection on "other" side of this endpoint 781 ; e.g. Phone A <---> Bridge <----> Phone B 782 ; ListeningQualityR = quality for Phone A ----> Bridge path 783 ; ExternalR-In = quality for Bridge <---- Phone B path 785 ExternalR-In = "EXTRI" EQUAL (1*3DIGIT) ; 0 - 120 787 ExtRInEstAlg = "ExtRIEstAlg" EQUAL word ; "P.564" or other 789 ; ExternalR-Out is copied from RTCP XR message received from the 790 ; remote endpoint on "other" side of this endpoint 791 ; e.g. Phone A <---> Bridge <----> Phone B 792 ; ExternalR-Out = quality for Bridge -----> Phone B path 794 ExternalR-Out = "EXTRO" EQUAL (1*3DIGIT) ; 0 - 120 796 ExtROutEstAlg = "ExtROEstAlg" EQUAL word ; "P.564" or other 798 MOS-LQ = "MOSLQ" EQUAL (DIGIT [ "." 1*3DIGIT ]) ; 0.0 - 4.9 800 MOSLQEstAlg = "MOSLQEstAlg" EQUAL word ; "P.564" or other 802 MOS-CQ = "MOSCQ" EQUAL (DIGIT [ "." 1*3DIGIT ]) ; 0.0 - 4.9 804 MOSCQEstAlg = "MOSCQEstAlg" EQUAL word ; "P.564" or other 806 ; QoEEstAlg provides an alternative to the separate 807 ; estimation algorithms for use when the same algorithm 808 ; is used for all measurements 810 QoEEstAlg = "QoEEstAlg" EQUAL word ; "P.564" or other 812 ; DialogID provides the identification of the dialog with 813 ; which the media session is related. This value is taken 814 ; from the SIP header. 816 DialogID = "DialogID" COLON Call-ID-Parm *(SEMI did-parm) 818 did-parm = to-tag / from-tag / word 820 to-tag = "to-tag" EQUAL token 822 from-tag = "from-tag" EQUAL token 824 ; MetricType provides the metric on which a notification of 825 ; threshold violation was based. The more commonly used metrics 826 ; for alerting purposes are included here explicitly, using the 827 ; character encoding that represents the parameter in 828 ; this ABNF. The Extension parameter can be used to provide 829 ; metrics that are not defined by this draft. 831 MetricType = "Type" EQUAL "RLQ" / "RCQ" / "EXTR" / 832 "MOSLQ" / "MOSCQ" / 833 "BD" / "NLR" / "JDR" / 834 "RTD" / "ESD" / "IAJ" / 835 "RERL" / "SL" / "NL" / Extension 837 Direction = "Dir" EQUAL "local" / "remote" 838 Severity = "Severity" EQUAL "Warning" / "Critical" / 839 "Clear" 841 Call-ID-Parm = word [ "@" word ] 843 ; General ABNF notation from RFC5234 845 CRLF = %x0D.0A 846 DIGIT = %x30-39 847 WSP = SP / HTAB ; white space 848 SP = " " 849 HTAB = %x09 ; horizontal tab 850 HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F" / 851 "a" / "b" / "c" / "d" / "e" / "f" 852 DQUOTE = %x22 ; " (Double Quote) 853 ALPHA = %x41-5A / %x61-7A ; A-Z / a-z 855 ; ABNF notation from RFC3261 857 alphanum = ALPHA / DIGIT 858 LWS = [ *WSP CRLF ] 1*WSP ; linear whitespace 859 SWS = [ LWS ] ; sep whitespace 860 SEMI = SWS ";" SWS ; semicolon 861 EQUAL = SWS "=" SWS ; equal 862 COLON = SWS ":" SWS ; colon 863 HCOLON = *( SP / HTAB ) ":" SWS 865 token = 1*(alphanum / "-" / "." / "!" / "%" / "*" 866 / "_" / "+" / "`" / "'" / "~" ) 868 IPv4address = 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT "." 1*3DIGIT 869 IPv6address = hexpart [ ":" IPv4address ] 870 hexpart = hexseq / hexseq "::" [ hexseq ] / "::" 871 [ hexseq ] 872 hexseq = hex4 *( ":" hex4) 873 hex4 = 1*4HEXDIG 874 hex2 = 2HEXDIG 876 ; ABNF notation from RFC3339 878 date-fullyear = 4DIGIT ; e.g. 2006 879 date-month = 2DIGIT ; e.g. 01 or 11 880 date-mday = 2DIGIT ; e.g. 02 or 22 881 time-hour = 2DIGIT ; e.g. 01 or 13 882 time-minute = 2DIGIT ; e.g. 03 or 55 883 time-second = 2DIGIT ; e.g. 01 or 59 884 time-secfrac = "." 1*DIGIT 885 time-numoffset = ("+" / "-") time-hour ":" time-minute 886 time-offset = "Z" / time-numoffset 887 partial-time = time-hour ":" time-minute ":" time-second [ time-secfrac] 888 full-date = date-fullyear "-" date-month "-" date-mday 889 full-time = partial-time time-offset 890 date-time = full-date "T" full-time 892 ; Miscellaneous definitions 893 ; 895 Extension = word-plus 897 word = 1*(alphanum / "-" / "." / "!" / "%" / "*" / 898 "_" / "+" / "`" / "'" / "~" / 899 "(" / ")" / "<" / ">" / 900 ":" / "\" / DQUOTE / 901 "/" / "[" / "]" / "?" ) 903 word-plus = 1*(alphanum / "-" / "." / "!" / "%" / "*" / 904 "_" / "+" / "`" / "'" / "~" / 905 "(" / ")" / "<" / ">" / ":" / 906 "\" / "/" / "[" / "]" / "?" / 907 "{" / "}" / "=" / " ") 909 4.6.2. Parameter Definitions and Mappings 911 Parameter values, codec types and other aspects of the endpoints may 912 change dynamically during a session. The reported values of metrics 913 and configuration parameters SHALL be the current value at the time 914 the report is generated. 916 The Packet Loss Rate and Packet Discard Rate parameters are 917 calculated over the period between the starting and ending timestamps 918 for the report. These are normally calculated from a count of the 919 number of lost or discarded packets divided by the count of the 920 number of packets, and hence are based on the current values of these 921 counters at the time the report was generated. 923 Packet delay variation, signal level, noise level, echo level are 924 computed as running or interval averages, based on the appropriate 925 standard (e.g. RFC3550 for PDV) and the sampled value of these 926 running averages is reported. Delay, packet size, jitter buffer size 927 and codec related data may change during a session and the current 928 value of these parameters is reported as sampled at the time the 929 report is generated. 931 4.6.2.1. General mapping percentages from 8 bit, fixed point numbers 933 RFC3611 uses an 8 bit, fixed point number with the binary point at 934 the left edge of the field. This value is calculated by dividing the 935 total number of packets lost by the total number of packets expected 936 and multiplying the result by 256, and taking the integer part. 938 For any RTCP XR parameter in this format, to map into the equivalent 939 SIP vq-rtcpxr parameter, simply reverse the equation i.e. divide by 940 256 and taking the integer part. 942 4.6.2.2. Timestamps 944 Following SIP and other IETF convention, timestamps are provided in 945 Coordinated Universal Time (UTC) using the ABNF format provided in 946 RFC 3339 [7]. These timestamps SHOULD reflect, as closely as 947 possible, the actual time during which the media session was running 948 to enable correlation to related events occurring in the network and 949 to accounting or billing records. 951 4.6.2.3. SessionDescription 953 The parameters in this field provide a shortened version of the 954 session SDP(s), containing only the relevant parameters for session 955 quality reporting purposes. Where values may change durina a 956 session, for example a codec may change rate, then the most recent 957 value of the parameter is reported. 959 4.6.2.3.1. Payload Type 961 This is the "payload type" parameter used in the RTP packets i.e. the 962 codec. This field can also be mapped from the SDP "rtpmap" attribute 963 field "payload type". IANA registered types SHOULD be used. 965 4.6.2.3.2. Payload Desc 967 This parameter a text description of the codec. This parameter 968 SHOULD use the IANA registry for media-type names where it 969 unambiguously defines the codec. Refer to: 970 http://www.iana.org/assignments/media-types/audio/ 972 4.6.2.3.3. Sample Rate 974 This parameter is mapped from the SDP "rtpmap" attribute field "clock 975 rate". The field provides the rate at which voice was sampled, 976 measured in Hertz (Hz). 978 4.6.2.3.4. Packets Per Second 980 This parameter is not contained in RTP or SDP but can usually be 981 obtained from the device codec. Packets per second provides the 982 (rounded) number of RTP packets that are transmitted per second. 984 4.6.2.3.5. Frame Duration 986 This parameter is not contained in RTP or SDP but can usually be 987 obtained from the device codec. The field reflects the amount of 988 voice content in each frame within the RTP payload, measured in 989 milliseconds. Note this value can be combined with the 990 FramesPerPacket to determine the packetization rate. Also, where a 991 sample-based codec is used, a "frame" refers to the set of samples 992 carried in an RTP packet. 994 4.6.2.3.6. Frame Octets 996 This parameter is not contained in RTP or SDP but is usually provided 997 by the device codec. The field provides the number of octets in each 998 frame within the RTP payload. This field is usually not provided 999 when the FrameDuration is provided. Also, where a sample-based codec 1000 is used, a "frame" refers to the set of samples carried in an RTP 1001 packet. 1003 4.6.2.3.7. Frames Per Packet 1005 This parameter is not contained in RTP or SDP but can usually be 1006 obtained from the device codec. This field provides the number of 1007 frames in each RTP packet. Note this value can be combined with the 1008 FrameDuration to determine the packetization rate. Also, where a 1009 sample-based codec is used, a "frame" refers to the set of samples 1010 carried in an RTP packet. 1012 4.6.2.3.8. FMTP Options 1014 This parameter is taken directly from the SDP attribute "fmtp" 1015 defined in RFC4566. 1017 4.6.2.3.9. Silence Suppression State 1019 This parameter does not correspond to SDP, RTP, or RTCP XR. It 1020 indicates whether silence suppression, also known as Voice Activity 1021 Detection (VAD) is enabled for the identified session. 1023 4.6.2.3.10. Packet Loss Concealment 1025 This value corresponds to "PLC" in RFC3611 in the VoIP Metrics Report 1026 Block. The values defined by RFC3611 are reused by this 1027 recommendation and therefore no mapping is required. 1029 4.6.2.4. LocalAddr 1031 This field provides the IP address, port and synchronization source 1032 (SSRC) for the session from the perspective of the endpoint that is 1033 measuring performance. The IPAddress MAY be IPv4 or IPv6 format. 1034 The SSRC is taken from SDP, RTCP, or RTCP XR input parameters. 1036 In the presence of NAT and where a NAT-traversal mechanism such as 1037 STUN [16] is used, the external IP address can be reported, since the 1038 internal IP address is not visible to the network operator. 1040 4.6.2.5. RemoteAddr 1042 This field provides the IP address, port and ssrc of the session peer 1043 from the perspective of the remote endpoint measuring performance. 1044 In the presence of NAT and where a NAT-traversal mechanism such as 1045 STUN [16] is used, the external IP address can be reported, since the 1046 internal IP address is not visible to the network operator. 1048 4.6.2.6. Jitter Buffer Parameters 1050 4.6.2.6.1. Jitter Buffer Adaptive 1052 This value corresponds to "JBA" in RFC3611 in the VoIP Metrics Report 1053 Block. The values defined by RFC3611 are unchanged and therefore no 1054 mapping is required. 1056 4.6.2.6.2. Jitter Buffer Rate 1058 This value corresponds to "JB rate" in RFC3611 in the VoIP Metrics 1059 Report Block. The parameter does not require any conversion. 1061 4.6.2.6.3. Jitter Buffer Nominal 1063 This value corresponds to "JB nominal" in RFC3611 in the VoIP Metrics 1064 Report Block. The parameter does not require any conversion. 1066 4.6.2.6.4. Jitter Buffer Max 1068 This value corresponds to "JB maximum" in RFC3611 in the VoIP Metrics 1069 Report Block. The parameter does not require any conversion. 1071 4.6.2.6.5. Jitter Buffer Abs Max 1073 This value corresponds to "JB abs max" in RFC3611 in the VoIP Metrics 1074 Report Block. The parameter does not require any conversion. 1076 4.6.2.7. Packet Loss Parameters 1078 This value corresponds to "loss rate" in RFC3611 in the VoIP Metrics 1079 Report Block. For conversion, see "General mapping percentages from 1080 8 bit, fixed point numbers". 1082 4.6.2.7.1. Jitter Buffer Discard Rate 1084 This value corresponds to "discard rate" in RFC3611 in the VoIP 1085 Metrics Report Block. For conversion, see "General mapping 1086 percentages from 8 bit, fixed point numbers". 1088 4.6.2.8. Burst/Gap Parameters 1090 4.6.2.8.1. Burst Loss Density 1092 This value corresponds to "burst density" in RFC3611 in the VoIP 1093 Metrics Report Block. For conversion, see "General mapping 1094 percentages from 8 bit, fixed point numbers". 1096 4.6.2.8.2. Burst Duration 1098 This value corresponds to "burst duration" in RFC3611 in the VoIP 1099 Metrics Report Block. This value requires no conversion; the exact 1100 value sent in an RTCP XR VoIP Metrics Report Block can be included in 1101 the SIP vq-rtcpxr parameter. 1103 4.6.2.8.3. Gap Loss Density 1105 This value corresponds to "gap density" in RFC3611 in the VoIP 1106 metrics Report Block. 1108 4.6.2.8.4. Gap Duration 1110 This value corresponds to "gap duration" in RFC3611 in the VoIP 1111 Metrics Report Block. This value requires no conversion; the exact 1112 value sent in an RTCP XR VoIP Metrics Report Block can be reported. 1114 4.6.2.8.5. Minimum Gap Threshold 1116 This value corresponds to "Gmin" in RFC3611 in the VoIP Metrics 1117 Report Block. This value requires no conversion; the exact value 1118 sent in an RTCP XR VoIP Metrics Report Block can be reported. 1120 4.6.2.9. Delay Parameters 1122 4.6.2.9.1. Round Trip Delay 1124 This value corresponds to "round trip delay" in RFC3611 in the VoIP 1125 Metrics Report Block and may be measured using the method defined in 1126 RFC3550. The parameter is expressed in milliseconds. 1128 4.6.2.9.2. End System Delay 1130 This value corresponds to "end system delay" in RFC3611 in the VoIP 1131 Metrics Report Block. This parameter does not require any 1132 conversion. The parameter is expressed in milliseconds. 1134 4.6.2.9.3. Symmetric One Way Delay 1136 This value is computed by adding Round Trip Delay to the local and 1137 remote End System Delay and dividing by two. 1139 4.6.2.9.4. One Way Delay 1141 This value SHOULD be measured using the methods defined in IETF RFC 1142 2679 [12]. The parameter is expressed in milliseconds. 1144 4.6.2.9.5. Inter-arrival Jitter 1146 Inter-arrival jitter is calculated as defined in RFC 3550 and 1147 converted into milliseconds. 1149 4.6.2.9.6. Mean Absolute Jitter 1151 It is recommended that MAJ be measured as defined in ITU-T G.1020 1152 [9]. This parameter is often referred to as MAPDV. The parameter is 1153 expressed in milliseconds. 1155 4.6.2.10. Signal-related Parameters 1157 4.6.2.10.1. Signal Level 1159 This field corresponds to "signal level" in RFC3611 in the VoIP 1160 Metrics Report Block. This field provides the voice signal relative 1161 level is defined as the ratio of the signal level to a 0 dBm0 1162 reference, expressed in decibels. This value can be used directly 1163 without extra conversion. 1165 4.6.2.10.2. Noise Level 1167 This field corresponds to "noise level" in RFC3611 in the VoIP 1168 Metrics Report Block. This field provides the ratio of the silent 1169 period background noise level to a 0 dBm0 reference, expressed in 1170 decibels. This value can be used directly without extra conversion. 1172 4.6.2.10.3. Residual Echo Return Loss (RERL) 1174 This field corresponds to "RERL" in RFC3611 in the VoIP Metrics 1175 Report Block. This field provides the ratio between the original 1176 signal and the echo level in decibels, as measured after echo 1177 cancellation or suppression has been applied. This value can be used 1178 directly without extra conversion. 1180 4.6.2.11. Quality Scores 1182 4.6.2.11.1. ListeningQualityR 1184 This field reports the listening quality expressed as an R factor 1185 (per G.107). This does not include the effects of echo or delay. 1186 The range of R is 0-95 for narrowband calls and 0-120 for wideband 1187 calls. Algorithms for computing this value SHOULD be compliant with 1188 ITU-T Recommendations P.564 [10] and G.107 [11]. 1190 4.6.2.11.2. RLQEstAlg 1192 This field provides a text name for the algorithm used to estimate 1193 ListeningQualityR. This field will be free form text and not 1194 necessarily reflective of any standards or recommendations. 1196 4.6.2.11.3. ConversationalQualityR 1198 This field corresponds to "R factor" in RFC3611 in the VoIP Metrics 1199 Report Block. This parameter provides a cumulative measurement of 1200 voice quality from the start of the session to the reporting time. 1201 The range of R is 0-95 for narrowband calls and 0-120 for wideband 1202 calls. Algorithms for computing this value SHOULD be compliant with 1203 ITU-T Recommendation P.564 and G.107. Within RFC3611 a reported R 1204 factor of 127 indicates that this parameter is unavailable; in this 1205 case the ConversationalQualityR parameter MUST be omitted from the 1206 vq-rtcpxr event. 1208 4.6.2.11.4. RCQEstAlg 1210 This field provides a text name for the algorithm used to estimate 1211 ConversationalQualityR. This field will be free form text and not 1212 necessarily reflective of any standards or recommendations. 1214 4.6.2.11.5. ExternalR-In 1216 This field corresponds to "ext. R factor" in RFC3611 in the VoIP 1217 Metrics Report Block. This parameter reflects voice quality as 1218 measured by the local endpoint for incoming connection on "other" 1219 side (refer to RFC3611 for a more detailed explanation). The range 1220 of R is 0-95 for narrowband calls and 0-120 for wideband calls. 1221 Algorithms for computing this value SHOULD be compliant with ITU-T 1222 Recommendation P.564 and G.107. Within RFC3611 a reported R factor 1223 of 127 indicates that this parameter is unavailable; in this case the 1224 ConversationalQualityR parameter MUST be omitted from the vq-rtcpxr 1225 event. 1227 4.6.2.11.6. ExtRInEstAlg 1229 This field provides a text name for the algorithm used to estimate 1230 ExternalR-In. This field will be free form text and not necessarily 1231 reflective of any standards or recommendations. 1233 4.6.2.11.7. ExternalR-Out 1235 This field corresponds to "ext. R factor" in RFC3611 in the VoIP 1236 Metrics Report Block. Here, the value is copied from RTCP XR message 1237 received from the remote endpoint on "other" side of this endpoint 1238 refer to RFC3611 for a more detailed explanation). The range of R is 1239 0-95 for narrowband calls and 0-120 for wideband calls. Algorithms 1240 for computing this value SHOULD be compliant with ITU-T 1241 Recommendation P.564 and G.107. Within RFC3611 a reported R factor 1242 of 127 indicates that this parameter is unavailable; in this case the 1243 ConversationalQualityR parameter SHALL be omitted from the vq-rtcpxr 1244 event. 1246 4.6.2.11.8. ExtROutEstAlg 1248 This field provides a text name for the algorithm used to estimate 1249 ExternalR-Out. This field will be free form text and not necessarily 1250 reflective of any standards or recommendations. 1252 4.6.2.11.9. MOS Reporting 1254 Conversion of RFC3611 reported MOS scores for use in reporting MOS-LQ 1255 and MOS-CQ MUST be performed by dividing the RFC3611 reported value 1256 by 10 if this value is less than or equal to 50 or omitting the 1257 MOS-xQ parameter if the RFC3611 reported value is 127 (which 1258 indicates unavailable). 1260 4.6.2.11.9.1. MOS-LQ 1262 This field corresponds to "MOSLQ" in RFC3611 in the VoIP Metrics 1263 Report Block. This parameter is the estimated mean opinion score for 1264 listening voice quality on a scale from 1 to 5, in which 5 represents 1265 "Excellent" and 1 represents "Unacceptable". Algorithms for 1266 computing this value SHOULD be compliant with ITU-T Recommendation 1267 P.564 [10]. This field provides a text name for the algorithm used 1268 to estimate MOS-LQ. 1270 4.6.2.11.9.2. MOS-CQ 1272 This field corresponds to "MOSCQ" in RFC3611 in the VoIP Metrics 1273 Report Block. This parameter is the estimated mean opinion score for 1274 conversation voice quality on a scale from 1 to 5, in which 5 1275 represents excellent and 1 represents unacceptable. Algorithms for 1276 computing this value SHOULD be compliant with ITU-T Recommendation 1277 P.564 with regard to the listening quality element of the computed 1278 MOS score. 1280 4.6.2.11.9.3. MOSCQEstAlg 1282 This field provides a text name for the algorithm used to estimate 1283 MOS-CQ. This field will be free form text and not necessarily 1284 reflective of any standards or recommendations. 1286 4.6.2.11.10. QoEEstAlg 1288 This field provides a text description of the algorithm used to 1289 estimate all voice quality metrics. This parameter is provided as an 1290 alternative to the separate estimation algorithms for use when the 1291 same algorithm is used for all measurements. This field will be free 1292 form text and not necessarily reflective of any standards or 1293 recommendations. 1295 4.7. Message Flow and Syntax Examples 1297 This section shows a number of message flow examples showing how the 1298 event package works. 1300 4.7.1. End of Session Report using NOTIFY 1302 Alice Proxy/Registrar Collector Bob 1303 | | | | 1304 | | | | 1305 | REGISTER Allow-Event:vq-rtcpxr F1 | | 1306 |------------------->| | | 1307 | 200 OK F2 | | | 1308 |<-------------------| | | 1309 | | SUBSCRIBE Event:vq-rtcpxr F3 | 1310 | |<-------------------| | 1311 | SUBSCRIBE Event:vq-rtcpxr F4 | | 1312 |<-------------------| | | 1313 | 200 OK F5 | | | 1314 |------------------->| | | 1315 | | 200 OK F6 | | 1316 | |------------------->| | 1317 | INVITE F7 | | | 1318 |------------------->| | | 1319 | | INVITE F8 | | 1320 | |---------------------------------------->| 1321 | | 200 OK F9 | | 1322 | |<----------------------------------------| 1323 | 200 OK F10 | | | 1324 |<-------------------| | | 1325 | ACK F11 | | | 1326 |------------------->| | | 1327 | | ACK F12 | | 1328 | |---------------------------------------->| 1329 | RTP | | | 1330 |<============================================================>| 1331 | RTCP, RTCP XR | | 1332 |<============================================================>| 1333 | | | | 1334 | BYE F13 | | | 1335 |------------------->| BYE F14 | | 1336 | |---------------------------------------->| 1337 | | 200 OK F15 | | 1338 | |<----------------------------------------| 1339 | 200 OK F16 | | | 1340 |<-------------------| | | 1341 | NOTIFY Event:vq-rtcpxr F17 | | 1342 |------------------->| | | 1343 | | NOTIFY Event:vq-rtcpxr F18 | 1344 | |------------------->| | 1345 | | 200 OK F19 | | 1346 | |<-------------------| | 1347 | 200 OK F20 | | | 1348 |<-------------------| | | 1350 Figure 1. Summary report with NOTIFY sent after session termination. 1351 In the call flow depicted in Figure 1, the following message format 1352 is sent in F17: 1354 NOTIFY sip:collector@example.org SIP/2.0 1355 Via: SIP/2.0/UDP pc22.example.org;branch=z9hG4bK3343d7 1356 Max-Forwards: 70 1357 To: ;tag=43524545 1358 From: Alice ;tag=a3343df32 1359 Call-ID: 1890463548 1360 CSeq: 4321 NOTIFY 1361 Contact: 1362 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 1363 SUBSCRIBE, NOTIFY 1364 Event: vq-rtcpxr 1365 Accept: application/sdp, message/sipfrag 1366 Subscription-State: active;expires=3600 1367 Content-Type: application/vq-rtcpxr 1368 Content-Length: ... 1370 VQSessionReport: CallTerm 1371 CallID: 6dg37f1890463 1372 LocalID: Alice 1373 RemoteID: Bill 1374 OrigID: Alice 1375 LocalGroup: example-phone-55671 1376 RemoteGroup: example-gateway-09871 1377 LocalAddr: IP=10.10.1.100 PORT=5000 SSRC=1a3b5c7d 1378 LocalMAC: 00:1f:5b:cc:21:0f 1379 RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=0x2468abcd 1380 RemoteMAC: 00:26:08:8e:95:02 1381 LocalMetrics: 1382 Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z 1383 SessionDesc:PT=0 PD=PCMU SR=8000 FD=20 FO=160 FPP=1 PPS=50 1384 PLC=3 SSUP=on 1385 JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 1386 PacketLoss:NLR=5.0 JDR=2.0 1387 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 1388 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 1389 Signal:SL=-18 NL=-50 RERL=55 1390 QualityEst:RLQ=88 RCQ=85 EXTRI=90 MOSLQ=4.1 MOSCQ=4.0 1391 QoEEstAlg=P.564 1392 RemoteMetrics: 1393 Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z 1394 SessionDesc:PT=0 PD=PCMU SR=8000 FD=20 FO=160 FPP=1 PPS=50 1395 PLC=3 SSUP=on 1397 JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 1398 PacketLoss:NLR=5.0 JDR=2.0 1399 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 1400 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 1401 Signal:SL=-21 NL=-45 RERL=55 1402 QualityEst:RLQ=90 RCQ=85 EXTRI=90 MOSLQ=4.3 MOSCQ=4.2 1403 QoEEstAlg=P.564 1404 DialogID:1890463548@alice.example.org;to-tag=8472761; 1405 from-tag=9123dh311 1407 4.7.2. Mid Session Threshold Violation using NOTIFY 1409 Alice Proxy/Registrar Collector Bob 1410 | | | | 1411 | | | | 1412 | REGISTER Allow-Event:vq-rtcpxr F1 | | 1413 |------------------->| | | 1414 | 200 OK F2 | | | 1415 |<-------------------| | | 1416 | | SUBSCRIBE Event:vq-rtcpxr F3 | 1417 | |<-------------------| | 1418 | SUBSCRIBE Event:vq-rtcpxr F4 | | 1419 |<-------------------| | | 1420 | 200 OK F5 | | | 1421 |------------------->| | | 1422 | | 200 OK F6 | | 1423 | |------------------->| | 1424 | INVITE F7 | | | 1425 |------------------->| | | 1426 | | INVITE F8 | | 1427 | |---------------------------------------->| 1428 | | 200 OK F9 | | 1429 | |<----------------------------------------| 1430 | 200 OK F10 | | | 1431 |<-------------------| | | 1432 | ACK F11 | | | 1433 |------------------->| | | 1434 | | ACK F12 | | 1435 | |---------------------------------------->| 1436 | RTP | | | 1437 |<============================================================>| 1438 | RTCP, RTCP XR | | 1439 |<============================================================>| 1440 | NOTIFY Event:vq-rtcpxr F17 | | 1441 |------------------->| | | 1442 | | NOTIFY Event:vq-rtcpxr F18 | 1443 | |------------------->| | 1444 | | 200 OK F19 | | 1445 | |<-------------------| | 1446 | 200 OK F20 | | | 1447 |<-------------------| | | 1448 | | | | 1449 | BYE F13 | | | 1450 |------------------->| BYE F14 | | 1451 | |---------------------------------------->| 1452 | | 200 OK F15 | | 1453 | |<----------------------------------------| 1454 | 200 OK F16 | | | 1455 |<-------------------| | | 1456 | NOTIFY Event:vq-rtcpxr F17 | | 1457 |------------------->| | | 1458 | | NOTIFY Event:vq-rtcpxr F18 | 1459 | |------------------->| | 1460 | | 200 OK F19 | | 1461 | |<-------------------| | 1462 | 200 OK F20 | | | 1463 |<-------------------| | | 1465 Figure 2. An alert report is sent during the session. 1466 In the call flow depicted in Figure 2, the following message 1467 format is sent in F17: 1469 NOTIFY sip:collector@example.org SIP/2.0 1470 Via: SIP/2.0/UDP pc22.example.org;branch=z9hG4bK3343d7 1471 Max-Forwards: 70 1472 To: 1473 From: Alice ;tag=a3343df32 1474 Call-ID: 1890463548 1475 CSeq: 4331 PUBLISH 1476 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 1477 SUBSCRIBE, NOTIFY 1478 Event: vq-rtcpxr 1479 Accept: application/sdp, message/sipfrag 1480 Content-Type: application/vq-rtcpxr 1481 Content-Length: ... 1483 VQAlertReport: Type=NLR Severity=Critical Dir=local 1484 CallID: 6dg37f1890463 1485 LocalID: Alice 1486 RemoteID: Bill 1487 OrigID: Alice 1488 LocalGroup: example-phone-55671 1489 RemoteGroup: example-gateway-09871 1490 LocalAddr:IP=10.10.1.100 PORT=5000 SSRC=0x2468abcd 1491 LocalMAC: 00:1f:5b:cc:21:0f 1492 RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=1357efff 1493 RemoteMAC: 00:26:08:8e:95:02 1494 LocalMetrics: 1495 Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z 1496 SessionDesc:PT=18 PD=G729 SR=8000 FD=20 FO=20 FPP=2 PPS=50 1497 FMTP="annexb=no" PLC=3 SSUP=on 1498 JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 1499 PacketLoss:NLR=10.0 JDR=2.0 1500 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 1501 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 1502 Signal:SL=-21 NL=-50 RERL=55 1503 QualityEst:RLQ=80 RCQ=85 EXTRI=90 MOSLQ=3.5 MOSCQ=3.7 1504 QoEEstAlg=P.564 1505 RemoteMetrics: 1506 Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z 1507 SessionDesc:PT=18 PD=G729 SR=8000 FD=20 FO=20 FPP=2 PPS=50 1508 FMTP="annexb=no" PLC=3 SSUP=on 1509 JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 1510 PacketLoss:NLR=5.0 JDR=2.0 1511 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 1512 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 1513 Signal:SL=-21 NL=-45 RERL=55 1514 QualityEst:RLQ=90 RCQ=85 MOSLQ=4.3 MOSCQ=4.2 QoEEstAlg=P.564 1515 DialogID:1890463548@alice.example.org;to-tag=8472761; 1516 from-tag=9123dh311 1518 4.7.3. End of Session Report using PUBLISH 1520 Alice Proxy/Registrar Collector Bob 1521 | | | | 1522 | | | | 1523 | REGISTER Allow-Event:vq-rtcpxr F1 | | 1524 |------------------->| | | 1525 | 200 OK F2 | | | 1526 |<-------------------| | | 1527 | INVITE F3 | | | 1528 |------------------->| | | 1529 | | INVITE F4 | | 1530 | |---------------------------------------->| 1531 | | 200 OK F5 | | 1532 | |<----------------------------------------| 1533 | 200 OK F6 | | | 1534 |<-------------------| | | 1535 | ACK F7 | | | 1536 |------------------->| | | 1537 | | ACK F8 | | 1538 | |---------------------------------------->| 1539 | RTP | | | 1540 |<============================================================>| 1541 | RTCP | | | 1542 |<============================================================>| 1543 | | | | 1544 | BYE F9 | | | 1545 |------------------->| BYE F10 | | 1546 | |---------------------------------------->| 1547 | | 200 OK F11 | | 1548 | |<----------------------------------------| 1549 | 200 OK F12 | | | 1550 |<-------------------| | | 1551 | PUBLISH Event:vq-rtcpxr F13 | | 1552 |------------------->| | | 1553 | | PUBLISH Event:vq-rtcpxr F14 | 1554 | |------------------->| | 1555 | | 200 OK F15 | | 1556 | |<-------------------| | 1557 | 200 OK F16 | | | 1558 |<-------------------| | | 1560 Figure 3. End of session report sent after session termination. 1561 In the message flow depicted in Figure 3, the following message is 1562 sent in F13. 1564 PUBLISH sip:collector@example.org SIP/2.0 1565 Via: SIP/2.0/UDP pc22.example.org;branch=z9hG4bK3343d7 1566 Max-Forwards: 70 1567 To: 1568 From: Alice ;tag=a3343df32 1569 Call-ID: 1890463548 1570 CSeq: 4331 PUBLISH 1571 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 1572 SUBSCRIBE, NOTIFY 1573 Event: vq-rtcpxr 1574 Accept: application/sdp, message/sipfrag 1575 Content-Type: application/vq-rtcpxr 1576 Content-Length: ... 1578 VQSessionReport: CallTerm 1579 CallID: 6dg37f1890463 1580 LocalID: Alice 1581 RemoteID: Bill 1582 OrigID: Alice 1583 LocalGroup: example-phone-55671 1584 RemoteGroup: example-gateway-09871 1585 LocalAddr: IP=10.10.1.100 PORT=5000 SSRC=1a3b5c7d 1586 LocalMAC: 00:1f:5b:cc:21:0f 1587 RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=0x2468abcd 1588 RemoteMAC: 00:26:08:8e:95:02 1589 LocalMetrics: 1590 Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z 1591 SessionDesc:PT=18 PD=G729 SR=8000 FD=20 FO=20 FPP=2 PPS=50 1592 FMTP="annexb=no" PLC=3 SSUP=on 1593 JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 1594 PacketLoss:NLR=5.0 JDR=2.0 1595 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 1596 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 1597 Signal:SL=-21 NL=-50 RERL=55 1598 QualityEst:RLQ=90 RCQ=85 EXTRI=90 MOSLQ=4.2 MOSCQ=4.3 1599 QoEEstAlg=P.564 1600 RemoteMetrics: 1601 Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z 1602 SessionDesc:PT=18 PD=G729 SR=8000 FD=20 FO=20 FPP=2 PPS=50 1603 FMTP="annexb=no" PLC=3 SSUP=on 1604 JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 1605 PacketLoss:NLR=5.0 JDR=2.0 1606 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 1607 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 1608 Signal:SL=-21 NL=-45 RERL=55 1609 QualityEst:RLQ=90 RCQ=85 MOSLQ=4.3 MOSCQ=4.2 QoEEstAlg=P.564 1610 DialogID:1890463548@alice.example.org;to-tag=8472761; 1611 from-tag=9123dh311 1613 4.7.4. Alert Report using PUBLISH 1615 Alice Proxy/Registrar Collector Bob 1616 | | | | 1617 | INVITE F1 | | | 1618 |------------------->| | | 1619 | | INVITE F2 | | 1620 | |---------------------------------------->| 1621 | | 200 OK F3 | | 1622 | |<----------------------------------------| 1623 | 200 OK F4 | | | 1624 |<-------------------| | | 1625 | ACK F5 | | | 1626 |------------------->| | | 1627 | | ACK F6 | | 1628 | |---------------------------------------->| 1629 | RTP | | | 1630 |<============================================================>| 1631 | RTCP | | | 1632 |<============================================================>| 1633 | PUBLISH Event:vq-rtcpxr F7 | | 1634 |------------------->| | | 1635 | | PUBLISH Event:vq-rtcpxr F8 | 1636 | |------------------->| | 1637 | | 200 OK F9 | | 1638 | |<-------------------| | 1639 | 200 OK F10 | | | 1640 |<-------------------| | | 1641 | | | | 1642 | BYE F12 | | | 1643 |------------------->| BYE F13 | | 1644 | |---------------------------------------->| 1645 | | 200 OK F14 | | 1646 | |<----------------------------------------| 1647 | 200 OK F15 | | | 1648 |<-------------------| | | 1650 Figure 4. Alert report message flow 1652 In the message flow depicted in Figure 4, the following message is 1653 sent in F7: 1655 PUBLISH sip:collector@example.org SIP/2.0 1656 Via: SIP/2.0/UDP pc22.example.org;branch=z9hG4bK3343d7 1657 Max-Forwards: 70 1658 To: 1659 From: Alice ;tag=a3343df32 1660 Call-ID: 1890463548 1661 CSeq: 4321 PUBLISH 1662 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, 1663 SUBSCRIBE, NOTIFY 1664 Event: vq-rtcpxr 1665 Accept: application/sdp, message/sipfrag 1666 Content-Type: application/vq-rtcpxr 1667 Content-Length: ... 1669 VQAlertReport: Type=RLQ Severity=Warning Dir=local 1670 CallID: 6dg37f1890463 1671 LocalID: Alice 1672 RemoteID: Bill 1673 OrigID: Alice 1674 LocalGroup: example-phone-55671 1675 RemoteGroup: example-gateway-09871 1676 LocalAddr: IP=10.10.1.100 PORT=5000 SSRC=1a3b5c7d 1677 LocalMAC: 00:1f:5b:cc:21:0f 1678 RemoteAddr:IP=11.1.1.150 PORT=5002 SSRC=0x2468abcd 1679 RemoteMAC: 00:26:08:8e:95:02 1680 Metrics: 1681 Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z 1682 SessionDesc:PT=0 PD=PCMU SR=8000 FD=20 FO=160 FPP=1 PPS=50 1683 PLC=3 SSUP=on 1685 JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 1686 PacketLoss:NLR=5.0 JDR=2.0 1687 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 1688 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 1689 Signal:SL=-12 NL=-30 RERL=55 1690 QualityEst:RLQ=60 RCQ=55 EXTR=90 MOSLQ=2.4 MOSCQ=2.3 1691 QoEEstAlg=P.564 1692 RemoteMetrics: 1693 Timestamps:START=2004-10-10T18:23:43Z STOP=2004-10-01T18:26:02Z 1694 SessionDesc:PT=0 PD=PCMU SR=8000 FD=20 FO=160 FPP=1 PPS=50 1695 PLC=3 SSUP=on 1696 JitterBuffer:JBA=3 JBR=2 JBN=40 JBM=80 JBX=120 1697 PacketLoss:NLR=5.0 JDR=2.0 1698 BurstGapLoss:BLD=0 BD=0 GLD=2.0 GD=500 GMIN=16 1699 Delay:RTD=200 ESD=140 SOWD=200 IAJ=2 MAJ=10 1700 Signal:SL=-23 NL=-60 RERL=55 1701 QualityEst:RLQ=90 RCQ=85 EXTRI=90 MOSLQ=4.2 MOSCQ=4.3 1702 QoEEstAlg=P.564 1703 DialogID:1890463548@alice.example.org;to-tag=8472761; 1704 from-tag=9123dh3111 1706 4.8. Configuration Dataset for vq-rtcpxr Events 1708 It is the suggestion of the authors that the SIP configuration 1709 framework [15] be used to establish the necessary parameters for 1710 usage of vq-rtcpxr events. A dataset for this purpose should be 1711 designed and documented in a separate draft upon completion of the 1712 framework. 1714 5. IANA Considerations 1716 This document registers a new SIP Event Package and a new MIME type. 1718 5.1. SIP Event Package Registration 1720 Package name: vq-rtcpx 1721 Type: package 1722 Contact: Amy Pendleton 1723 Published Specification: This document 1725 5.2. application/vq-rtcp-xr MIME Registration 1727 MIME media type name: application 1728 MIME subtype name: vq-rtcpxr 1729 Mandatory parameters: none 1730 Optional parameters: none 1731 Encoding considerations: 7bit 1732 Security considerations: See next section. 1733 Interoperability considerations: none. 1734 Published specification: This document. 1736 Applications which use this media type: This document type is 1737 being used in notifications of VoIP quality reports. 1739 Additional Information: 1741 Magic Number: None 1742 File Extension: None 1743 Macintosh file type code: "TEXT" 1745 Personal and email address for further information: Amy Pendleton 1746 1748 Intended usage: COMMON 1750 Author/Change controller: The IETF. 1752 6. Security Considerations 1754 RTCP reports can contain sensitive information since they can provide 1755 information about the nature and duration of a session established 1756 between two or more endpoints. As a result, any third party wishing 1757 to obtain this information SHOULD be properly authenticated by the 1758 SIP UA using standard SIP mechanisms and according to the 1759 recommendations in [5]. Additionally the event content MAY be 1760 encrypted to ensure confidentiality; the mechanisms for providing 1761 confidentiality are detailed in [2]. 1763 7. Contributors 1765 The authors would like to thank Rajesh Kumar, Dave Oran, Tom Redman, 1766 Shane Holthaus and Jack Ford for their comments and input. 1768 8. References 1769 8.1. Normative References 1771 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement 1772 Levels", BCP 14, RFC 2119, March 1997. 1774 [2] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., 1775 Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: 1776 Session Initiation Protocol", RFC 3261, June 2002. 1778 [3] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, 1779 "RTP: A Transport Protocol for Real-Time Applications", STD 64, 1780 RFC 3550, July 2003. 1782 [4] Friedman, T., Caceres, R., and A. Clark, "RTP Control Protocol 1783 Extended Reports (RTCP XR)", RFC 3611, November 2003. 1785 [5] Roach, A., "Session Initiation Protocol (SIP)-Specific Event 1786 Notification", RFC 3265, June 2002. 1788 [6] Crocker, D. and P. Overell, "Augmented BNF for Syntax 1789 Specifications: ABNF", STD 68, RFC 5234, January 2008. 1791 [7] Klyne, G., Ed. and C. Newman, "Date and Time on the Internet: 1792 Timestamps", RFC 3339, July 2002. 1794 [8] Niemi, A., "Session Initiation Protocol (SIP) Extension for 1795 Event State Publication", RFC 3903, October 2004. 1797 [9] ITU-T G.1020, "Performance parameter definitions for quality of 1798 speech and other voiceband applications utilizing IP 1799 networks.". 1801 [10] ITU-T P.564, "Conformance testing for voice over IP 1802 transmission quality assessment models.". 1804 [11] ITU-T G.107, "The E-model, a computational model for use in 1805 transmission planning.". 1807 [12] Almes, G., Kalidindi, S., and M. Zekauskas, "A One-way Delay 1808 Metric for IPPM", RFC 2679, September 1999. 1810 8.2. Informative References 1812 [13] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 5117, 1813 January 2008. 1815 [14] Hilt, V., Noel, E., Shen, C., and A. Abdelal, "Design 1816 Considerations for Session Initiation Protocol (SIP) Overload 1817 Control", draft-ietf-sipping-overload-design-02 (work in 1818 progress), July 2009. 1820 [15] Channabasappa, S., "A Framework for Session Initiation Protocol 1821 User Agent Profile Delivery", 1822 draft-ietf-sipping-config-framework-17 (work in progress), 1823 February 2010. 1825 [16] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing, "Session 1826 Traversal Utilities for NAT (STUN)", RFC 5389, October 2008. 1828 Authors' Addresses 1830 Amy Pendleton 1831 Telchemy Incorporated 1833 Email: aspen@telchemy.com 1835 Alan Clark 1836 Telchemy Incorporated 1838 Email: alan.d.clark@telchemy.com 1840 Alan Johnston 1841 Avaya 1842 St. Louis, MO 63124 1844 Email: alan.b.johnston@gmail.com 1846 Henry Sinnreich 1847 Unaffiliated 1849 Email: henry.sinnreich@gmail.com