Re: [rtcweb] Clarification on simulcast and RID and RepairedRtpStreamId

Iñaki Baz Castillo <> Tue, 04 December 2018 11:45 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 0E8AF126CB6 for <>; Tue, 4 Dec 2018 03:45:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.359
X-Spam-Status: No, score=-3.359 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-1.459, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id p_-4OVZHFcog for <>; Tue, 4 Dec 2018 03:45:18 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:4864:20::e2a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id BB1BE128A6E for <>; Tue, 4 Dec 2018 03:45:17 -0800 (PST)
Received: by with SMTP id y27so9611263vsi.1 for <>; Tue, 04 Dec 2018 03:45:17 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=SMaLAJJKNwbQR/R/y7jzyw0/OF93lPONtUr7IAGDBRQ=; b=CjmZXTyx4OYXVHGI9oAwBP6ZT5TLIaeTt8cGvNi2OqLPljAheR8yB/C3X4EuKnQWoV /NEUWpkIXgrKFBcJIhnuEt8Dz3QQ4S3hXnn8CCFWdjU8lo9dA7pMq1g8C87iFgqfOE2y eg55qD2XRwjn18xETN5N0k32sCGK7vkQ/sQvSOuqSxJNrwEnA5t2uvQHgtYD3nBg8Tz3 0OKyAiYYDEqZfyeQQhvqtWzY5tZinLNrLAHMhaBSA34SA+av4kphYlRGbc5gwavJIYsS CmvWF0tQZyFKOWZ6rMQOs/m7TXT8ReeDY4nsr2h1Gtks9BfaPdOcWKrzhR5f83aS96le K92w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=SMaLAJJKNwbQR/R/y7jzyw0/OF93lPONtUr7IAGDBRQ=; b=G4d1bcXLP+iXCkvbaWO+oeB34LszdJg6VFlyycp0KpSmYcR6lX6XiRJeA5oqVPvEy7 WuFQLzdAHM+1nv3eVYrxxpTUPnVcNqtiui5pmZ3ATupwTTQPVowKBS3KCB/Dy9fxaBai mfQSMKF2DJ74B2Vx7NiaTq8YEFz/aSIuPfa54YVnXRkdlJ1m2sfAlxmyHnBrEN0qJ6md jTJISWGMeHZ4ql1gdME0YcgVx6Kung0VtvT8mrL4X9WM5aDG9bJuwO7nAm3SCO2e7Rsl dtsEqdtu3FqIAzykogkiEzENYtxVvFHupzE0WcMkajW2srV/MUyixvDBHsykG2r7kCjy u/og==
X-Gm-Message-State: AA+aEWZKMGWppnuI6RMNk4z5qiJWyGQwfZiPmJX4b7ql1ZSstdq9hQp3 bijZ3cTGzamUE/6EE0EFvldrVN1XTlPcGHAbS48vig==
X-Google-Smtp-Source: AFSGD/UE12DnBQp7Uy8jUqYpfw2+uEvzKfZtV/KgpUrUvVe1sV/ViHfW6LU6oMypKh9O+ETX5zblw/TfZ7bCDV8FNx0=
X-Received: by 2002:a67:6204:: with SMTP id w4mr8802705vsb.68.1543923916698; Tue, 04 Dec 2018 03:45:16 -0800 (PST)
MIME-Version: 1.0
References: <> <> <> <> <> <> <> <> <> <>
In-Reply-To: <>
From: Iñaki Baz Castillo <>
Date: Tue, 04 Dec 2018 12:45:05 +0100
Message-ID: <>
To: Magnus Westerlund <>
Cc: Sergio Garcia Murillo <>,
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <>
Subject: Re: [rtcweb] Clarification on simulcast and RID and RepairedRtpStreamId
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 04 Dec 2018 11:45:20 -0000

On Tue, 4 Dec 2018 at 10:58, Magnus Westerlund
<> wrote:
> However, an RTP middlebox has the freedom to introduce those header
> extensions when switching. They do not need to be sent end-to-end all
> the time. So after the initial establishment of them, I see it as the
> central middlebox responsibility to ensure that they are included in the
> down stream legs towards the conference participants. Also at least for
> video introducing them only on reception of a FIR also makes sense.

The problem here is well known and happens often in this WG: the lack
of proper layer separation in SDP / RTP. The thing is:

1) MID/RID is valid within the context of a transport, nothing else.
And a transport is hop by hop. The receiver (an endpoint, a SFU, a
MCU, whatever) checks packet MID and then packet RID/RRID to figure
out the corresponding "transceiver" or m section and the corresponding
stream (media, simulcast, RTX).

2) If the receiver is a SFU which is gonna multiplex such a "track"
with many others to send them to a receiver over a single transport
(Bundle) then MID/RID does not make any sense because MID is typically
"0" or "1" etc. So the SFU would need to rewrite MID for each receiver
or just not announce MID support at all in the other leg.

3) In the case of RTX this is much more easier: RTX is just hop by
hop. If there is a SFU in the middle, you don't send a RTX packet
directly to the endpoint. You send it to the SFU (assuming the SFU
sent you a NACK). The SFU "decodes" and stores it. If the receiver in
the other leg sends a NACK, the SFU encapsulates such a stored packet
into a new RTX packet and sends it to the receiver. So RTX is hop by
hop, and hence it does not make any sense to talk about reusing
MID/RID headers for same reasons given in 2).

Iñaki Baz Castillo