Re: [AVTCORE] WGLC review on draft-ietf-avtcore-multi-media-rtp-session-09

Colin Perkins <> Thu, 10 September 2015 20:42 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 4D3E31B6BEC for <>; Thu, 10 Sep 2015 13:42:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id A5Xwy-3K_IEd for <>; Thu, 10 Sep 2015 13:42:26 -0700 (PDT)
Received: from ( [IPv6:2a00:1098:0:82:1000:0:2:1]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 8C1691B6BE7 for <>; Thu, 10 Sep 2015 13:42:26 -0700 (PDT)
Received: from [] (port=34030 helo=[]) by with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from <>) id 1Za8fo-0001jl-5N; Thu, 10 Sep 2015 21:42:24 +0100
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 8.2 \(2104\))
From: Colin Perkins <>
In-Reply-To: <>
Date: Thu, 10 Sep 2015 21:42:22 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <> <>
To: "Asveren, Tolga" <>
X-Mailer: Apple Mail (2.2104)
X-BlackCat-Spam-Score: -28
X-Mythic-Debug: Threshold = On =
Archived-At: <>
Cc: Ali Begen <>, "" <>
Subject: Re: [AVTCORE] WGLC review on draft-ietf-avtcore-multi-media-rtp-session-09
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 10 Sep 2015 20:42:28 -0000

> On 10 Sep 2015, at 21:27, Asveren, Tolga <> wrote:
> Inline...
> Thanks,
> Tolga
>> -----Original Message-----
>> From: Colin Perkins []
>> Sent: Thursday, September 10, 2015 1:57 PM
>> To: Asveren, Tolga <>
>> Cc:; Ali Begen <>
>> Subject: Re: [AVTCORE] WGLC review on draft-ietf-avtcore-multi-media-rtp-
>> session-09
>> On 10 Sep 2015, at 17:55, Asveren, Tolga <> wrote:
>>>>> The RTCP timing rules in RFC 3550 don't support different reporting
>>>>> intervals for different SSRCs (other than a sender/receiver split),
>>>>> and doing so runs a risk of causing inappropriate RTCP timeouts. We
>>>>> could add a reference to RFC 3550 here, if it helps?
>>>> [TOLGA] Can't this be changed? On a high level, aren’t we talking about two different RTCP streams here? Why should their timing be aligned in any way?
>>> Their timing isn’t aligned, they merely use the same base RTCP reporting interval, before randomisation, and modulo the difference between sender and receiver bandwidth allocation. This is the usual RFC 3550 RTCP timing rules. If you want different reporting intervals, you need to use separate RTP sessions.
>>> [TOLGA] I was also referring to reporting timing but admittedly not being clear. But then again, why should their timing be the same? Is there a technical justification or “just” because RFC3550 (which probably did not consider the use case defined/explained in this draft as it was not defined yet) says so?
>> The technical justification is as I said above: you get inappropriate timeouts, because the algorithm is based on all SSRCs using the same base reporting interval.
> [TOLGA] But that is exactly what I am asking, why can’t that be changed so that algorithm for different SSRCs are executed independently if multiple streams are multiplexed?

Because that wouldn’t be compatible with existing RTP. You’re essentially saying you want to run multiple RTP sessions in parallel on the same port, to get different RTCP timing behaviour for each media. That would be easy to implement if we’d chosen a shim-based approach, rather than the BUNDLE approach (and was one of the many reasons some of us advocated that). It doesn’t work with the single RTP session model we adopted, however. You’d have to partition the SSRC space for the different sessions, rewrite RTCP scheduling and timeout rules, collision resolution, etc. By the time you’ve done that, you have a whole new protocol, incompatible, and sharing little but the packet syntax with RTP.

Using RTP/AVPF with the T_rr_interval parameter gives a lot of flexibility, and you can almost certainly do something that has a similar effect to what you suggest using it, in a compatible way. Failing that, run multiple RTP sessions on different transport layer ports, and you have flexibility to use whatever different RTCP intervals you want.

Colin Perkins