TOC |
|
This document defines a set of RTP Control Protocol Extended Reports (RTCP XR) Report Blocks and associated SDP parameters allowing the report of video quality metrics, primarily for video applications of RTP.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.
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.”
This Internet-Draft will expire on January 10, 2011.
Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
1.
Introduction
2.
Terminology
2.1.
Standards Language
2.2.
Acronyms
3.
Applicability
4.
RTP Flows Synchronization Delay Report Block
5.
Audio-Video Synchronization Report Block
6.
Video Statistics Summary Report Block
7.
TR 101 290 Decodability Metrics Report Block
8.
Video Stream Metrics Report Block
8.1.
Packet Loss and Discard Metrics
8.2.
Burst Metrics
8.3.
Delay Metrics
8.4.
Configuration Parameter Metrics
8.5.
Jitter Buffer Parameters
9.
Perceptual Quality Metrics Report Block
10.
SDP Signaling
11.
IANA Considerations
12.
Security Considerations
13.
Acknowledgements
14.
References
14.1.
Normative References
14.2.
Informative References
§
Authors' Addresses
TOC |
Along with the wide deployment of broadband access and the development of
new IPTV services (e.g., broadcast video, video on demand),
there is increasing interest in monitoring and managing networks and
applications that deliver real-time applications over IP, to ensure that all
end users obtain acceptable video/audio quality. The main drives come
from operators, since offering performance monitoring capability can
help diagnose network impairments, facilitate in root cause
analysis and aid in verifying compliance with service level agreements (SLAs) between
Internet Service Providers (ISPs) and content providers.
The factors that affect real-time application quality can be
split into two categories. The first category consists of network-dependent
factors such as packet loss, delay and jitter (which also
translates into losses in the playback buffer). The factors in the
second category are application-specific factors that affect video
quality and its sensitivity to network errors. These factors can be but
not limited to video codec and loss recovery technique, coding bit rate,
packetization scheme, and content characteristics.
Compared with application-specific factors, the network-dependent
factors sometimes are not sufficient to measure video quality, since the
ability to analyze the video in the application layer provides
quantifiable measurements for subscriber Quality of Experience (QoE) that may not be captured in
the transmission layers or from the RTP layer down. In a typical
scenario, monitoring of the transmission layers can produce statistics suggesting
that quality is not an issue, such as the fact that network jitter is
not excessive.
However, problems may occur in the service layers leading
to poor subscriber QoE. Therefore monitoring using only network-level
measurements may be insufficient when application layer video quality is
required.
In order to provide accurate measures of video quality for operators
when transporting video across a network, conveying video quality metrics in RTCP XR packets
[RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.)
has the following three benefits:
- Tuning the video encoder algorithm to satisfy video quality requirements
- Determining which system techniques to use in a given situation and when to switch from one technique to another as system parameters change
- Verifying the continued correct operation of an existing system
RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611] defines seven report block
formats for network management and quality monitoring.
However, there are no block types specifically designed for conveying video quality
metrics. This document focuses on specifying new report block types used
to convey video-specific quality metrics.
The report block types defined in this document fall into two
categories. The first category consists of synchronization information
on received RTP packets. The report blocks in the second category convey
metrics relating to packet receipts defined in RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611]
that are summary in nature but include data that is more
detailed, or of a different type, than that conveyed in existing RTCP
packets.
Six report block formats are defined by this document. Of
these, two are synchronization information blocks:
- RTP Flows Synchronization Delay Report Block
- Audio-Video Synchronization Report Block
The other four are summary metrics blocks:
- Statistics Summary Report Block
- TR 101 290 Decodability Metrics Block [ETSI] (ETSI, “Digital Video Broadcasting (DVB); Measurement guidelines for DVB systems,” 2001.)
- Video Stream Metrics Report Block
- Perceptual Quality Metrics Block
TOC |
TOC |
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.) [RFC2119].
TOC |
- SSRC
- Synchronization Source (Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, “RTP: A Transport Protocol for Real-Time Applications,” July 2003.) [RFC3550]
- TS
- Transport Stream (International Organization for Standardization, “Information technology - Generic coding of moving pictures and associated audio information: Systems,” October 2007.) [ISO‑IEC.13818‑1.2007]
TOC |
All the report blocks defined in this document could be used by
dedicated network monitoring applications. As specified in
RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611], for such an application it might be
appropriate to allow more than 5% of RTP data bandwidth to be used for
RTCP packets, thus allowing proportionately larger and more detailed
report blocks.
The Audio-Video Synchronization Report Block Section 5 (Audio-Video Synchronization Report Block)
has been defined for video
conferencing applications. Such applications can use this report
block to monitor A/V component synchronization to ensure satisfactory
QoE.
Tighter tolerances than typically used have been recommended for such
applications.
The Flows Synchronization Delay Report Block has been defined
primarily for layered or multi-description video coding applications.
When joining a layered video session in such an application, a receiver may
not synchronize playout across the multimedia session until RTCP SR
packets have been received on all of the component RTP sessions. This
report block can be used to ensure synchronization between different
media layers for the same multimedia session.
The Stream Metrics Report Block and Statistics Summary Report Block
can be applied to any real time video application, while the TR 101 290
Decodability Metrics Report Block and Perceptual Quality Metrics Report
Block can be used in any real-time AV application
[ETSI] (ETSI, “Digital Video Broadcasting (DVB); Measurement guidelines for DVB systems,” 2001.).
TOC |
This block reports synchronization delay between RTP sessions of the
same video stream sent using Multi-Session Transmission [I‑D.ietf‑avt‑rtp‑svc] (Wenger, S., Wang, Y., Schierl, T., and A. Eleftheriadis, “RTP Payload Format for SVC Video,” April 2010.)
beyond the
information carried in the standard RTCP packet format. Information is
recorded about session bandwidth and synchronization delay.
The RTP Flows Synchronization Delay Report Block has the following format:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD | Reserved | Block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of Sender | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Session Bandwidth | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Initial Synchronization Delay | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Block type (BT): 8 bits
- The Statistics Summary Report Block is identified by the constant <RFSD>.
- Reserved: 8 bits
- This field is reserved for future definition. In the absence of such a definition, the bits in this field MUST be set to zero and MUST be ignored by the receiver.
- Block length: 16 bits
- The constant 3, in accordance with the definition of this field in Section 3 of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611].
- SSRC of Sender: 32 bits
- The SSRC of the RTP data packet source being reported upon by this report block. (Section 4.1 of (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611]).
- Session Bandwidth: 32 bits
- This field indicates the maximum bandwidth allocated to each RTP Session. The value in this field represents the bandwidth allocation per RTP Session in kilobits per second, with values in the range 0 <= BW < 65536.
- Initial Synchronization Delay: 32 bits
- The average delay, expressed in units of 1/65536 seconds, between the RTCP packets received on all of the components RTP sessions and the beginning of session [I‑D.ietf‑avt‑rapid‑rtp‑sync] (Perkins, C. and T. Schierl, “Rapid Synchronisation of RTP Flows,” May 2010.). The value is calculated as follows:
- Initial Synchronization Delay = max((the time interval between receiving the first RTP packet with synchronization metadata and the start of a session), (the time interval between receiving the first RTCP packet in the RTP session with the longest RTCP reporting interval and the start of a session)).
TOC |
This block reports the audio-video synchronization requirements between audio and video components beyond the information carried in the standard RTCP packet format. Information is recorded about tolerant audio lead video time and tolerant audio lag video time. The Audio-Video Synchronization Report Block has the following format:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD |L| Reserved | Block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Audio Lead Video | Audio Lag Video | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Block type (BT): 8 bits
- The Statistics Summary Report Block is identified by the constant <AVS>.
- Audio Lead/Lag Video flag (L): 1 bit
- Bit set to 1 if Audio Lead Video field contains a report, 0 if Audio Lag Video field contains a report.
- Reserved: 7 bits
- This field is reserved for future definition. In the absence of such a definition, the bits in this field MUST be set to zero and MUST be ignored by the receiver.
- Block length: 16 bits
- The constant 2, in accordance with the definition of this field in Section 3 of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611].
- SSRC of source: 32 bits
- As defined in Section 4.1 of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611].
- Audio Lead Video time: 16 bits
- This field indicates the tolerant audio lead video time in milliseconds [DSLF] (Rahrer, T., Ed., Fiandra, Ed., and Wright, Ed., “Triple-play Services Quality of Experience (QoE) Requirements,” December 2006.). This value is calculated based on the interarrival time between previous video RTP packet and the next first audio RTP packet and timestamps of both previous video RTP packet and the next first audio packet.
- Audio Lag Video time: 16 bits
- This field indicates the tolerant audio lag video time in milliseconds [DSLF] (Rahrer, T., Ed., Fiandra, Ed., and Wright, Ed., “Triple-play Services Quality of Experience (QoE) Requirements,” December 2006.). This value is calculated based on the interarrival time between previous video RTP packet and the next first audio RTP packet and timestamps of both previous video RTP packet and the next first audio packet.
TOC |
This block reports statistics beyond the information carried in the
Statistics Summary Report Block RTCP packet specified in the section 4.6
of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611]. Information is recorded about lost
frame packets, duplicated frame packets, lost layered component packets,
duplicated layered component packets. Such information can be useful for
network management and video quality monitoring.
The report block contents are dependent upon a series of flag bits
carried in the first part of the header. Not all parameters need to be
reported in each block. Flags indicate which parameters are reported and
which are not. The fields corresponding to unreported parameters MUST be
present, but are set to zero. The receiver MUST ignore any Video Statistics Summary Report
Block with a non-zero value in any field flagged as unreported.
The Video Statistics Summary Report Block has the following format:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD |L|D|FT | LT |P| block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | begin_seq | end_seq | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | lost_frames | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | dup frames | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | lost_layered component packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | dup layered component_packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | lost_partial frame packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | dup partial frame_packets | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Block type (BT): 8 bits
- The Video Statistics Summary Report Block is identified by the constant <VSS>.
- loss report flag (L): 1 bit
- Bit set to 1 if the lost_frame packets field, the lost_layered_component field or the lost partial frame packets field contains a report, 0 otherwise.
- duplicate report flag (D): 1 bit
- Bit set to 1 of the dup_frame packets field, the dup_layered_component packets field or the dup partial frame packets field contains a report, 0 otherwise.
- Frame type indicator (FT): 2 bits
- This field is used to indicate the frame type to be reported. Bits set to 01 if the lost_frames field or dup_frames field contain a I_frame report, 10 if the lost_frames field and dup_frames field contain a P frame report, 11 if the lost_frames field and dup_frames field contain a B frame report, 00 otherwise.
- Layer Type indicator (LT): 3 bits
- This field is used to indicate the layer type of layered video to be reported. LT is set to 001 if the loss_component_packet field and dup_component packet contain the base layer packet in SVC [I‑D.ietf‑avt‑rtp‑svc] (Wenger, S., Wang, Y., Schierl, T., and A. Eleftheriadis, “RTP Payload Format for SVC Video,” April 2010.), 010 if the loss_component packet field and dup_component packet contain enhancement layer 1 packet in SVC, 011 if the loss_component packet field and dup_component packet contain the enhancement layer 2 packet, 000 otherwise.
- P: 1 bit
- Bit set to 1 if the lost_partial frame packets field or the dup_partial_frame packets field contains a report, 0 otherwise.
- Block length: 16 bits
- The constant 8, in accordance with the definition of this field in Section 3 of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611].
- SSRC of source: 32 bits
- As defined in Section 4.1 of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611].
- begin_seq: 16 bits
- As defined in Section 4.1 of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611].
- end_seq: 16 bits
- As defined in Section 4.1 of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611].
- lost_frames: 32 bits
- Number of lost_frames in the above sequence number interval.
- dup_frames: 32 bits
- Number of dup_frames in the above sequence number interval.
- lost_layered component packets: 32 bits
- Number of lost_component packets in the above sequence number interval.
- dup_layered component packets: 32 bits
- Number of dup_component packets in the above sequence number interval.
- lost_partial frame packets: 32 bits
- Number of lost_partial frame packets in the above sequence number interval.
- dup_partial frame packets: 32 bits
- Number of dup_partial frame packets in the above sequence number interval.
TOC |
This block reports decodability metrics statistics beyond the
information carried in the standard RTCP packet format. Information is
recorded about the number of Transport Stream Synchronization Losses,
Sync byte errors, Continuity count errors, Transport errors, Program Clock Reference (PCR) errors,
PCR repetition errors, PCR discontinuity
indicator errors, and Presentation Time Stamp (PTS) errors [ETSI] (ETSI, “Digital Video Broadcasting (DVB); Measurement guidelines for DVB systems,” 2001.).
Such information can be useful for network
management and video quality monitoring.
Note that this is only applicable to MPEG-2 RTP streams [RFC2250] (Hoffman, D., Fernando, G., Goyal, V., and M. Civanlar, “RTP Payload Format for MPEG1/MPEG2 Video,” January 1998.).
and not
to any other video codec.
The report block contents are dependent upon a series of flag bits
carried in the first part of the header. Not all parameters need to be
reported in each block. Flags indicate which are and which are not
reported. The fields corresponding to unreported parameters MUST be
present, but are set to zero. The receiver MUST ignore any Decodability
Metrics Block with a non-zero value in any field flagged as
unreported.
The Decodability Metrics Block has the following format:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD |L|B|C|T|P|S|rvd| block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | begin_seq | end_seq | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Number of packets | Number of TSs | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transport Stream Synchronization Losses | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sync byte errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Continuity count errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Transport errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCR errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCR repetition errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PCR discontinuity indicator errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PTS errors | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- block type (BT): 8 bits
- A TR 101 290 decodability metrics report block is identified by the constant <TDM>.
- Transport Stream Synchronization Loss flag (L): 1 bit
- Bit set to 1 if the Transport Stream Synchronization Loss field contains a report, 0 otherwise.
- Sync byte error flag (B): 1 bit
- Bit set to 1 if the Sync byte error field contains a report, 0 otherwise.
- Continuity count error flag (C): 1 bit
- Bit set to 1 if the Continuity count error field contains a report, 0 otherwise.
- Transport error flag (T): 1 bit
- Bit set to 1 if the Transport error field contains a report, 0 otherwise.
- PCR related error flag (P): 1 bit
- Bit set to 1 if the PCR error field, PCR repetition error field and PCR discontinuity indicator error fields contain a report, 0 otherwise.
- PTS error flag (S): 1 bit
- Bit set to 1 if the PTS error field contains a report, 0 otherwise.
- rvd: 2 bits
- This field is reserved for future definition. In the absence of such a definition, the bits in this field MUST be set to zero and MUST be ignored by the receiver.
- block length: 16 bits
- The constant 10, in accordance with the definition of this field in Section 3 of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611].
- SSRC of source: 32 bits
- As defined in Section 4.1 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
- begin_seq: 16 bits
- As defined in Section 4.1 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
- end_seq: 16 bits
- As defined in Section 4.1 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
- Number of Packets: 16 bits
- Number of RTP packets in the above sequence number interval.
- Number of TSs: 16 bits
- Number of Transport Streams in the above sequence number interval.
- Transport Stream Synchronization Losses: 32 bits
- Number of Transport Stream Synchronization Losses in the above sequence number interval.
- Sync byte errors: 32 bits
- Number of Transport sync byte errors in the above sequence number interval.
- Continuity count error: 32 bits
- Number of Transport Continuity count errors in the above sequence number interval.
- Transport errors: 32 bits
- Number of Transport errors in the above sequence number interval.
- PCR errors: 32 bits
- Number of PCR errors in the above sequence number interval.
- PCR repetition errors: 32 bits
- Number of Transport PCR repetition errors in the above sequence number interval.
- PCR discontinuity indicator errors: 32 bits
- Number of PCR discontinuity indicator errors in the above sequence number interval.
- PTS errors: 32 bits
- Number of PTS errors in the above sequence number interval.
TOC |
The Video Stream Metrics Report Block provides metrics for monitoring
the quality of video stream. This metrics includes Loss and discard
metrics, Burst metrics, Delay metrics for I-Frame packets, B-Frame
packets and P-Frame packets, Configuration parameter metrics. The block
reports separately on packets lost on the IP channel, and those that
have been received but then discarded by the receiving jitter buffer. It
also reports on the combined effect of losses and discards, as both have
equal effect on video quality.
In order to properly assess the quality of a video stream, it is
desirable to consider the degree of burstiness of packet loss
RFC 3357 (Koodli, R. and R. Ravikanth, “One-way Loss Pattern Sample Metrics,” August 2002.) [RFC3357].
Following the one-way loss pattern sample metrics
discussed in [RFC3357] (Koodli, R. and R. Ravikanth, “One-way Loss Pattern Sample Metrics,” August 2002.),
a measure of the spacing
between consecutive network packet loss or error events, is a ”loss
distance”. The loss distance metric captures the spacing between the
loss periods. The duration of a loss or error event (e.g. and how many
packets are lost in that duration) is a “loss period”, the loss period
metric captures the frequency and length (burstiness) of loss once it
starts. Delay reports include the transit delay between RTP end points
and the end system processing delays, both of which contribute to the
user perceived delay.
Implementations MUST provide values for all the fields defined here.
For certain metrics, if the value is undefined or unknown, then the
specified default or unknown field value MUST be provided.
The block is encoded as six 32-bit words:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD |FT | reserved | block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss rate | Discard rate | Loss Period | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss Distance | Max Loss Duration | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Round trip delay | End system delay | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Gmin | RX config | JB nominal | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | JB maximum | JB abs max | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- block type (BT): 8 bits
- A Video Stream Metrics Report Block is identified by the constant <VSM>.
- Frame type indicator (FT): 2 bits
- This field is used to indicate the frame type to be reported. Bits set to 01 if the Loss rate field and discard rate field contain a I_frame report, 10 if the Loss rate field and discard rate field contain a P frame report, 11 if the Loss rate field and discard rate field contain a B frame report, 00 otherwise.
- reserved: 6 bits
- This field is reserved for future definition. In the absence of such a definition, the bits in this field MUST be set to zero and MUST be ignored by the receiver.
- block length: 16 bits
- The constant 8, in accordance with the definition of this field in Section 3 of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611].
- SSRC of source: 32 bits
- The SSRC of the RTP data packet source being reported upon by this report block. in accordance with the definition of this field in Section 3 of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611].
The remaining fields are described in the following four sections: Packet Loss and Discard Metrics, Delay Metrics, Configuration Metrics, and Jitter Buffer Parameters.
TOC |
It is very useful to distinguish between packets lost by the
network and those discarded due to jitter. Both have equal effect on
the quality of the video stream, however, having separate counts helps
identify the source of quality degradation. These fields MUST be
populated, and MUST be set to zero if no packets have been
received.
- Loss rate for I-Frame packets: 8 bits
- The fraction of RTP data packets from the source lost since the beginning of reception, expressed as a fixed point number with the binary point at the left edge of the field. This value is calculated by dividing the total number of I frame packets lost (after the effects of applying any error protection such as FEC) by the total number of packets expected, multiplying the result of the division by 256, limiting the maximum value to 255 (to avoid overflow), and taking the integer part. The numbers of duplicated packets and discarded packets do not enter into this calculation. Since receivers cannot be required to maintain unlimited buffers, a receiver MAY categorize late-arriving packets as lost. The degree of lateness that triggers a loss SHOULD be significantly greater than that which triggers a discard.
- Discard rate for I-Frame packets: 8 bits
- The fraction of RTP data packets from the source that have been discarded since the beginning of reception, due to late or early arrival, under-run or overflow at the receiving jitter buffer. This value is expressed as a fixed point number with the binary point at the left edge of the field. It is calculated by dividing the total number of I-Frame packets discarded (excluding duplicate packet discards) by the total number of packets expected, multiplying the result of the division by 256, limiting the maximum value to 255 (to avoid overflow), and taking the integer part.
- Loss rate for P-Frame packets: 8 bits
- The loss rate for P-Frame packets is similar to the loss rate for I-Frame packets. The value is calculated by dividing the total number of P frame packets lost (after the effects of applying any error protection such as FEC) by the total number of packets expected, multiplying the result of the division by 256.
- Discard rate for P-Frame packets: 8 bits
- The discard rate for P-Frame packets is similar to the discard rate for I-Frame packets. The value is calculated by dividing the total number of P-Frame packets discarded (excluding duplicate packet discards) by the total number of packets expected, multiplying the result of the division by 256.
- Loss rate for B-Frame packets: 8 bits
- The loss rate for B-Frame packets is similar to the loss rate for P-Frame packets. The value is calculated by dividing the total number of B frame packets lost (after the effects of applying any error protection such as FEC) by the total number of packets expected, multiplying the result of the division by 256.
- Discard rate for P-Frame packets: 8 bits
- The discard rate for B-Frame packets is similar to the discard rate for P-Frame packets. The value is calculated by dividing the total number of B-Frame packet discarded (excluding duplicate packet discards) by the total number of packets expected, multiplying the result of the division by 256.
TOC |
- Loss Distance: 16 bits
- The mean duration, expressed in milliseconds, of the loss intervals that have occurred since the beginning of reception [DSLF] (Rahrer, T., Ed., Fiandra, Ed., and Wright, Ed., “Triple-play Services Quality of Experience (QoE) Requirements,” December 2006.). The duration of each loss distance is calculated based upon the frames that mark the beginning and end of that period. It is equal to the timestamp of the end frame, plus the duration of the end frame, minus the timestamp of the beginning frame. If the actual values are not available, estimated values MUST be used. If there have been no burst periods, the burst duration value MUST be zero.
- Loss Period: 16 bits
- The mean duration, expressed in milliseconds, of the burst loss periods that have occurred since the beginning of reception [DSLF] (Rahrer, T., Ed., Fiandra, Ed., and Wright, Ed., “Triple-play Services Quality of Experience (QoE) Requirements,” December 2006.). The duration of each period is calculated based upon the frame that marks the end of the prior burst loss and the frame that marks the beginning of the subsequent burst loss. It is equal to the timestamp of the subsequent burst frame, minus the timestamp of the prior burst packet, plus the duration of the prior burst packet. If the actual values are not available, estimated values MUST be used. In the case of a gap that occurs at the beginning of reception, the sum of the timestamp of the prior burst packet and the duration of the prior burst packet are replaced by the reception start time. In the case of a gap that occurs at the end of reception, the timestamp of the subsequent burst packet is replaced by the reception end time. If there have been no gap periods, the gap duration value MUST be zero.
- Max Loss Duration of a single error: 16 bits
- The maximum loss duration, expressed in milliseconds, of the loss periods that have occurred since the beginning of reception. The recommended max loss duration is specified as less than 16 ms in [DSLF] (Rahrer, T., Ed., Fiandra, Ed., and Wright, Ed., “Triple-play Services Quality of Experience (QoE) Requirements,” December 2006.), which provides a balance between interleaver depth protection from xDSL errors induced by impulse noise, delay added to other applications and video service QoE requirements to reduce visible impairments.
TOC |
Similar to the delay metrics for audio stream defined in the
section 4.7.3 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.), the delay metrics for
video stream fall into two categories: end-system delay due to RTP
payload multiplexing and round trip delay due to multiplexing RTP
frames within a UDP frame.
- Round trip delay: 16 bits
- As defined in Section 4.7.3 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
- End system delay: 16 bits
- As defined in Section 4.7.3 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
TOC |
Similar to the configuration metrics defined in the section 4.7.6
of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.), the configuration metrics for video
stream include Gmin, receiver configuration byte, packet loss
concealment, jitter buffer adaptive, and jitter buffer rate.
- Gmin: 8 bits
- As defined in Section 4.7.6 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
- Receiver configuration byte (RX config): 8 bits
- As defined in Section 4.7.6 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
- Jitter buffer adaptive (JBA): 2 bits
- As defined in Section 4.7.6 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
- Jitter buffer rate (JB rate): 4 bits
- As defined in Section 4.7.6 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
TOC |
Similar to the jitter buffer parameters defined in the section
4.7.7 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.),
the Jitter Buffer Parameters for video streams
include jitter buffer nominal delay, jitter buffer maximum delay and
jitter buffer absolute maximum delay.
- Jitter buffer nominal delay (JB nominal): 16 bits
- As defined in Section 4.7.7 of[RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
- Jitter buffer maximum delay (JB maximum): 16 bits
- As defined in Section 4.7.7 of[RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
- Jitter buffer absolute maximum delay (JB abs max): 16 bits
- As defined in Section 4.7.7 of[RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
TOC |
This block reports perceptual quality metrics beyond the
information carried in the standard RTCP packet format. Information is
recorded about Video MOS, Audio Video MOS, Video Service Transmission
Quality, Video Service Audio Quality, Video Service Multimedia Quality and
Video Service Picture Quality.
The report block contents are dependent upon a series of flag bits
carried in the first part of the header. Not all parameters need to be
reported in each block. Flags indicate which are and which are not
reported. The fields corresponding to unreported parameters MUST be
present, but are set to zero. The receiver MUST ignore any Perceptual Quality Metrics Block
with a non-zero value in any field flagged as unreported.
The Perceptual Quality Metrics Block has the following format:
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | BT=TBD |I|S|T|A|M|P|Rsd| block length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | SSRC of source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MOS-V | MOS-AV | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VSTQ | VSAQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | VSMQ | VSPQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loss Period VSPQ | Loss Distance VSPQ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- Block type (BT): 8 bits
- The Perceptual Quality Metrics Block is identified by the constant <PQM>.
- Interval Metric flag (I): 1 bit
- This field is used to indicate whether the Basic Loss/Discard metrics are Interval or Cumulative metrics, that is, whether the reported values applies to the most recent measurement interval duration between successive metrics reports (I=1) (the Interval Duration) or to the accumulation period characteristic of cumulative measurements (I=0) (the Cumulative Duration).
- MOS-V flag (S): 1 bit
- Bit set to 1 if the MOS-V field and MOS-AV field contain a report, 0 otherwise.
- Video Service Transmission Quality flag (T): 1 bit
- Bit set to 1 if the VSTQ field contains a report, 0 otherwise.
- Video Service Audio Quality flag (A): 1 bit
- Bit set to 1 if the VSAQ field contains a report, 0 otherwise.
- Video Service Multimedia Quality flag (M): 1 bit
- Bit set to 1 if the VSMQ field contains a report, 0 otherwise.
- Video Service Picture Quality flag (P): 1 bit
- Bit set to 1 if the VSPQ field, Loss Period VSPQ, Loss Distance VSPQ contains a report, 0 otherwise.
- Rsd.: 2 bits
- This field is reserved for future definition. In the absence of such a definition, the bits in this field MUST be set to zero and MUST be ignored by the receiver.
- SSRC of source: 32 bits
- As defined in Section 4.1 of [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.).
- MOS-V: 16 bits
- The estimated mean opinion score for video quality (MOS-V) is a video quality metric on a scale from 1 to 5, in which 5 represents excellent and 1 represents unacceptable. This metric is defined as not including the effects of audio impairments and can be compared to MOS scores obtained from video quality tests. It is expressed as an integer in the range 10 to 50, corresponding to MOS x 10. For example, a value of 35 would correspond to an estimated MOS score of 3.5.
A value of 127 indicates that this parameter is unavailable. Values other than 127 and the valid range defined above MUST NOT be sent and MUST be ignored by the receiving system.
- MOS-AV: 16 bits
The estimated mean opinion score for Audio-Video quality (MOS-AV) is defined as including the effects of delay and other effects that would affect Audio-Video quality. It is expressed as an integer in the range 10 to 50, corresponding to MOS x 10, as for MOS-AV. A value of 127 indicates that this parameter is unavailable. Values other than 127 and the valid range defined above MUST NOT be sent and MUST be ignored by the receiving system.
- VSTQ: 16 bits
- Video Service Transmission Quality (TBC)
- VSAQ: 16 bits
- Video Service Audio Quality (TBC)
- VSMQ: 16 bits
- Video Service Multimedia Quality (TBC)
- VSPQ: 16 bits
- Video Service Picture Quality (TBC)
- Loss Period VSPQ: 16 bits
- Video Service Picture Quality during Loss Period (TBC)
- Loss Distance VSPQ: 16 bits
- Video Service Picture Quality during Loss Distance (TBC)
TOC |
Six new parameters are defined for the six report blocks defined in this document to be used with Session Description Protocol (SDP) [RFC4566] (Handley, M., Jacobson, V., and C. Perkins, “SDP: Session Description Protocol,” July 2006.) using the Augmented Backus-Naur Form (ABNF) [RFC5234] (Crocker, D. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF,” January 2008.). They have the following syntax within the "rtcp-xr" attribute [RFC3611] (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.):
rtcp-xr-attrib = "a=rtcp-xr:" [xr-format *(SP xr-format)] CRLF xr-format = RTP-flows-syn / audio-video-syn / percept-quality-metrics / video-stream-metric / video-stat-summary / decodability-metric RTP-flows-syn = "RTP-flows-syn" ["=" max-size] max-size = 1*DIGIT ; maximum block size in octets audio-video-syn = "audio-video-syn" ["=" max-size] max-size = 1*DIGIT ; maximum block size in octets percept-quality-metrics = "percept-quality-metrics" ["=" max-size] max-size = 1*DIGIT ; maximum block size in octets video-stream-metric = "video-stream-metric" ["=" max-size] max-size = 1*DIGIT ; maximum block size in octets video-stat-summary = "video-stat-summary" ["=" stat-flag *("," stat-flag)] stat-flag = "I Frame loss and duplication" / "P Frame loss and duplication" / "B Frame loss and duplication" decodability-metric = "decodability-metric" ["=" stat-flag *("," stat-flag)] stat-flag = "Interval Metric" / "MOS-V and MOS-AV" / "VSTQ" / "VSAQ" / "VSMQ" / "VSPQ"
Refer to Section 5.1 of RFC 3611 (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611] for a detailed description and the full syntax of the "rtcp-xr" attribute.
TOC |
New report block types for RTCP XR are subject to IANA registration. For
general guidelines on IANA allocations for RTCP XR, refer to
Section 6.2 of (Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” November 2003.) [RFC3611].
This document assigns six new block type values in the RTCP XR Block Type
Registry:
- Name:
- RFSD
- Long Name:
- RTP Flows Synchronization Delay
- Value
- <RFSD>
- Reference:
- Section 4 (RTP Flows Synchronization Delay Report Block)
- Name:
- AVS
- Long Name:
- Audio-Video Synchronization
- Value
- <AVS>
- Reference:
- Section 5 (Audio-Video Synchronization Report Block)
- Name:
- VSS
- Long Name:
- Video Statistics Summary
- Value
- <VSS>
- Reference:
- Section 6 (Video Statistics Summary Report Block)
- Name:
- TDM
- Long Name:
- TR 101 290 Decodability Metrics
- Value
- <TDM>
- Reference:
- Section 7 (TR 101 290 Decodability Metrics Report Block)
- Name:
- VSM
- Long Name:
- Video Stream Metrics
- Value
- <VSM>
- Reference:
- Section 8 (Video Stream Metrics Report Block)
- Name:
- PQM
- Long Name:
- Perceptual Quality Metric
- Value
- <PQM>
- Reference:
- Section 9 (Perceptual Quality Metrics Report Block)
This document also registers six SDP [RFC4566] (Handley, M., Jacobson, V., and C. Perkins, “SDP: Session Description Protocol,” July 2006.) parameters for the "rtcp-xr" attribute in the RTCP XR SDP Parameters Registry:
- "RTP-flows-syn"
- “audio-video-syn”
- “percept-quality-metrics”
- “video-stream-metric”
- “video-stat-summary”
- “decodability-metric”
The contact information for the registrations is:
Qin Wu sunseawq@huawei.com 101 Software Avenue, Yuhua District Nanjing, JiangSu 210012 China
TOC |
TBC
TOC |
The authors would like to thank Youqing Yang, Wenxiao Yu and Yinliang Hu for their valuable comments and suggestions on this document.
TOC |
TOC |
[ETSI] | ETSI, “Digital Video Broadcasting (DVB); Measurement guidelines for DVB systems,” Technical Report TR 101 290, 2001. |
[I-D.ietf-avt-rapid-rtp-sync] | Perkins, C. and T. Schierl, “Rapid Synchronisation of RTP Flows,” draft-ietf-avt-rapid-rtp-sync-11 (work in progress), May 2010 (TXT). |
[I-D.ietf-avt-rtp-svc] | Wenger, S., Wang, Y., Schierl, T., and A. Eleftheriadis, “RTP Payload Format for SVC Video,” draft-ietf-avt-rtp-svc-21 (work in progress), April 2010 (TXT). |
[ISO-IEC.13818-1.2007] | International Organization for Standardization, “Information technology - Generic coding of moving pictures and associated audio information: Systems,” ISO International Standard 13818-1, October 2007. |
[RFC2119] | Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML). |
[RFC2250] | Hoffman, D., Fernando, G., Goyal, V., and M. Civanlar, “RTP Payload Format for MPEG1/MPEG2 Video,” RFC 2250, January 1998 (TXT, HTML, XML). |
[RFC3550] | Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, “RTP: A Transport Protocol for Real-Time Applications,” STD 64, RFC 3550, July 2003 (TXT, PS, PDF). |
[RFC3611] | Friedman, T., Caceres, R., and A. Clark, “RTP Control Protocol Extended Reports (RTCP XR),” RFC 3611, November 2003 (TXT). |
[RFC4566] | Handley, M., Jacobson, V., and C. Perkins, “SDP: Session Description Protocol,” RFC 4566, July 2006 (TXT). |
[RFC5234] | Crocker, D. and P. Overell, “Augmented BNF for Syntax Specifications: ABNF,” STD 68, RFC 5234, January 2008 (TXT). |
TOC |
[DSLF] | Rahrer, T., Ed., Fiandra, Ed., and Wright, Ed., “Triple-play Services Quality of Experience (QoE) Requirements,” DSL Forum Technical Report TR-126, December 2006. |
[RFC3357] | Koodli, R. and R. Ravikanth, “One-way Loss Pattern Sample Metrics,” RFC 3357, August 2002 (TXT). |
TOC |
Qin Wu | |
Huawei | |
101 Software Avenue, Yuhua District | |
Nanjing, Jiangsu 210012 | |
China | |
Email: | sunseawq@huawei.com |
Glen Zorn | |
Network Zen | |
77/440 Soi Phoomjit, Rama IV Road | |
Phra Khanong, Khlong Toie | |
Bangkok 10110 | |
Thailand | |
Phone: | +66 (0) 87 502 4274 |
Email: | gwz@net-zen.net |