Re: [xrblock] Benoit Claise's Discuss on draft-ietf-xrblock-rtcp-xr-post-repair-loss-count-08: (with DISCUSS and COMMENT)

Benoit Claise <> Thu, 15 January 2015 18:06 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 4B61B1B2E62; Thu, 15 Jan 2015 10:06:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -12.011
X-Spam-Status: No, score=-12.011 tagged_above=-999 required=5 tests=[BAYES_40=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, J_CHICKENPOX_22=0.6, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 8LCvt-CfMhOP; Thu, 15 Jan 2015 10:06:01 -0800 (PST)
Received: from ( []) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 56A061B2DBE; Thu, 15 Jan 2015 10:06:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=40876; q=dns/txt; s=iport; t=1421345162; x=1422554762; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to; bh=EiaFyFhJhuj27qfux+7FWM/FmgMLsw3eaGbbbsXrKUw=; b=b8BD1pvT8vbZZk0KxxoFBji+rG+GKV17qOceDrsjkQp3cbBvkVEzbLny aMSDz+pO1vZwMknD0Kn2CiEkvyeGtsI2hN4ayLzekKN7iaP+6tx7CYLPe NEx0v/rYnsv25XVd7+MGoZkCbSR3kKy+GDLLSarfqnIIWHFAUNcy2t/0A 0=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.09,404,1418083200"; d="scan'208,217";a="308902477"
Received: from (HELO ([]) by with ESMTP; 15 Jan 2015 18:05:59 +0000
Received: from [] ( []) by (8.14.5/8.14.5) with ESMTP id t0FI5umb028834; Thu, 15 Jan 2015 18:05:56 GMT
Message-ID: <>
Date: Thu, 15 Jan 2015 19:05:56 +0100
From: Benoit Claise <>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.7.0
MIME-Version: 1.0
To: Varun Singh <>, "Huangyihong (Rachel)" <>
References: <> <> <> <>
In-Reply-To: <>
Content-Type: multipart/alternative; boundary="------------020603020702040206050004"
Archived-At: <>
Cc: "" <>, "" <>, The IESG <>, "" <>
Subject: Re: [xrblock] Benoit Claise's Discuss on draft-ietf-xrblock-rtcp-xr-post-repair-loss-count-08: (with DISCUSS and COMMENT)
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Metric Blocks for use with RTCP's Extended Report Framework working group discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 15 Jan 2015 18:06:10 -0000

Varun, Rachel,

I believe that we are converging.
Do I understand correctly that you want to remove the MUST NOT in "This 
metric MUST NOT count the lost packets for which repair might still be 
What I'm missing at this point is either an OLD/NEW type of email from 
both of you (there were conflicting messages earlier on), or a new draft 

Regards, Benoit
> Hi Benoit,
> Comment inline.
>> On 08 Jan 2015, at 17:42, Benoit Claise < 
>> <>> wrote:
>> Hi Varun,
>>>> I was expecting a MUST instead of RECOMMENDED.
>>>> Did the WG discuss that point?
>>> This was discussed in Vancouver IETF and decide to keep the language as close to the one in
>> Then the mistake is in RFC 5725, no?
> see below.
>>>> In which situation would you need this exception, and what could you
>>>> actually deduce if you apply it?
>>> One reason that it is not MUST is to align the end_seq to the Highest sequence number in the RTCP RR.
>> Help me understand something.
>> I'll repeat my question: what could you actually deduce if you apply it?
>> I thought the goal was it the reverse.
>>       This metric MUST NOT count the lost packets for which repair might
>>       still be possible.
>> Therefore you have to wait until all repair mechanisms have done 
>> their jobs.
>> From there, you send this block.
> One reason for synchronising the intervals of the XR end_seq and the 
> RR’s HSN is, there is no ambiguity in calculating the number of 
>  packets that are yet to be repaired:
> still to be repaired lost packet = cumulative number of packets lost - 
> post-repair loss count -  repaired loss count.
> The first is reported in the RR, the other two are in the XR, and this 
> only works if the begin_seq points to the first packet in the session. 
> The "still to be repaired lost packets" can help the sender adapt the 
> FEC interval i.e., generate fewer or more FEC packets.
> If it were a MUST, then the end_seq will be a value smaller than the 
> HSN unless the endpoint generates the RR+XR when all the FEC packet 
> for an interval have arrived.
> Alternatively, applications that are not concerned about the “still to 
> be repaired packets” instead wish to compare post-repair loss with 
> repaired loss count may prefer to count only those packets for which 
> all the FEC packets are available. For example, this information can 
> help switch between error-repair schemes.
>> And, if you want to better align the intervals, you align the end_seq 
>> to the Highest sequence number in the RTCP RR.
> Yes, and if the endpoint does not have all the FEC packet that covers 
> the HSN, it won’t be able to align the interval.
>>>> 2. Question:
>>>>    The relationship
>>>>    between the metrics in this report block and the pre-repair loss
>>>>    metric of RTCP XR could be expressed in the following formula:
>>>>       cumulative number of packets lost = post-repair loss count +
>>>>       repaired loss count + to be repaired lost packet
>>>>    "cumulative number of packets lost" is the metric from RTCP SR/RR.
>>>>    "post-repair loss count" and "repaired loss count" are the metrics
>>>>    defined in this draft.
>>>> Am I correct that it's difficult (if not impossible) to compare those
>>>> values with a small granularity because:
>>>> 1. RFC 3550 section 6.4.1 SR: Sender Report RTCP Packet sends the
>>>> "cumulative number of packets lost" with timestamps
>>> The RR has a highest sequence number, the cumulative lost is from the beginning of the session.
>> Ok.
>>> The XR can point the first sequence received to begin_seq and HSN to the end_seq and then values in the  RR and the XR are synchronized.
>> Ok, I completely missed that from the draft.
> Do you think we need to add some examples?
>>>> 2. draft-ietf-xrblock-rtcp-xr-post-repair-loss-count sends "post-repair
>>>> loss count" and "repaired loss count" with sequence numbers.
>>>> On top of that, the intervals are different!
>>> I think this is an implementation concern. It is possible for the endpoint to report
>>> 1. Cumulatively, begin_seq points to the first packet
>> Is this covered in the draft?
>> I read:
>>     This packet may be stacked with other RTCP packets to form compound
>>     RTCP packets and share the average reporting interval calculated by
>>     the RTCP method described in [RFC3550  <>]. When comparing this metric
>>     with pre-repair loss metric of RTCP SR/RR, ambiguity may occur as
>>     noted in [RFC5725  <>]: Some packets will not be repaired in the current
>>     RTCP interval, but could be repaired later.
>> Specifically the "average reporting interval". I could not have 
>> deduced that the begin_seq could remain 1 for all "intervals”.
> It is possible to keep it fixed. Further due to the unreliability of 
> RTCP, many implementations pick begin_seq that spans across multiple 
> reporting intervals. Further, the description of begin_seq does not 
> limit the application, but does it need clarification?
> begin_seq: 16 bits
>        The first sequence number that this block reports on.
> We can add:
>        The first sequence number that this block reports on. It can remain fixed when calculating metrics over several RTCP reporting intervals.
>>> 2. Interval, begin_seq points to the HSN of the previous RTCP RR
>>> In which case the XR and the RTCP RRs are the same intervals
>>> However, it is correct that if the begin_seq and end_seq report on different intervals than the RTCP rr then the cumulative loss reported in the RR won't match the XR. However, in these cases the endpoint would need to rely on the post-repair loss count and repaired loss count to calculate the efficiency of the error resilience algorithm.
>> I believe this needs some clarifying text.
>> Thanks for engaging.
>> Regards, Benoit
> ---
> <>