[Moq] Re: MOQT redundancy implementation
Gwendal Simon <gwendal.simon@quortex.io> Fri, 16 October 2026 12:12 UTC
Received: from CWXP265CU010.outbound.protection.outlook.com (mail-ukwestazlp170120004.outbound.protection.outlook.com [IPv6:2a01:111:f403:c206::4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange secp256r1 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id CF07146 for <moq@ietf.org>; Fri, 16 Oct 2026 12:12:21 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=quortex.io header.s=selector1 header.b=qUdKWHia; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (mx.ietf.org: domain of gwendal.simon@quortex.io designates 2a01:111:f403:c206::4 as permitted sender) smtp.mailfrom=gwendal.simon@quortex.io; dmarc=pass (policy=quarantine) header.from=quortex.io
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZlPB2gRPs92I6jDNOgoq7c+qxBGu+GPJNjwxq0/FZQuo18s2SEZAKMXodZbgFGhH4HWaJ3DyVypf2n6yJqNbIp4DQU0g+dkBriQv0AzkQx0FHSuBpVWAQjJKW/wu8Cqy5ipkMNZJASTCbmWtnyuNlROQiVOArc58ubK4/rwdvQC5mRuIsnLSsc3nHKihsHQ23MP71xKsUDCeFn3kDYphVwBgotROwrtCHQKNSFdxuBqMuOZ/0H2mO56O7XML2WDmubGlhhKGhyGul84RhDZkoUa2RFgWnIRCpGrO45zW8/s3a9fVVE4XaPpZneuAfBS4o/O6tubFzXXdzaJNKJkY3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wTGki+HSDmvSv08s3qjzj+EmWsPe+yKuOWsAyKgm34g=; b=Ywd5ZM/zvIsiVCNyorRQGjLIvQEJKEWBUkF1jAYCGpmHy4x9pmx3aYhZEF2ZpJYt9L9xXqLN4DiYjvmiONQHydx21koqCt5BZGM3yhbha1Ekz98vgni/sco3aPN5VfuGffwLgOsEB/xyx9a2fy/A3ttNUBwZI4Yhv6On9jjCZyYe2y0mNB5l1YOiYpfKng8S1l9kR45pu7Y6Obpgo2tHRdK040t+3QQGncwm3GlPWykp2e9CuFUeTVl4AfASYSBf2RfykVOMGuSb/mOpnyZIlfMysD6o5O/ZvNYlHu+o+DFfkw9RzkZakv0pORM45EVCzO/ItDXHVhxBYLmr9XCLyQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=quortex.io; dmarc=pass action=none header.from=quortex.io; dkim=pass header.d=quortex.io; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quortex.io; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wTGki+HSDmvSv08s3qjzj+EmWsPe+yKuOWsAyKgm34g=; b=qUdKWHiaDIcwtd2RK7nciPZSSJhPFPXvCK9z3Q+TScnUNXnyC9Skm/kowO8LnL4Do8sP2lfgxVt8niTdxCz/x9iVXyWlrTpdhNXQTYLH7qzijX4Z7vOZGWfwoYThbQj+qKnbuUOgaQeAJVZjS611H1TMzlaklJ23T+kDBi7KvvxDv5DIDT3t35Zn+PCtN8wCfgB4VVH2Rujb09QMIuKsDX2OPM40obammUzN3e0Sx8Mp9wbK7SugdF6mnvnm+hPiOn2iEMq/MsgR3/EJGiQ6sZUYsl8FOYiWR5gZV1Qc8xxTKPhck8baCkWsI366pxolN1FvAcIe8yo9hivJ7nJ4PA==
Received: from LODP302MB985664.GBRP302.PROD.OUTLOOK.COM (2603:10a6:600:4f3::18) by LO9P302MB1146.GBRP302.PROD.OUTLOOK.COM (2603:10a6:600:3d1::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.15; Fri, 16 Oct 2026 12:12:19 +0000
Received: from LODP302MB985664.GBRP302.PROD.OUTLOOK.COM ([fe80::b7e7:d1a8:a1f4:10e3]) by LODP302MB985664.GBRP302.PROD.OUTLOOK.COM ([fe80::b7e7:d1a8:a1f4:10e3%4]) with mapi id 15.21.0522.013; Fri, 16 Oct 2026 12:12:18 +0000
From: Gwendal Simon <gwendal.simon@quortex.io>
To: "moq@ietf.org" <moq@ietf.org>
Thread-Topic: [Moq] MOQT redundancy implementation
Thread-Index: AQHdXMNB1PrhIL67oUKXOsu1QCPA0bb/6VDP
Date: Fri, 16 Oct 2026 12:12:18 +0000
Message-ID: <LODP302MB9856643E1861764D7C3F1F7F98889B2@LODP302MB985664.GBRP302.PROD.OUTLOOK.COM>
References: <CANPF1druy0DV2JH9LA-hMzSskcpVzKdwrvxMU+MkNKcZMLGEfg@mail.gmail.com>
In-Reply-To: <CANPF1druy0DV2JH9LA-hMzSskcpVzKdwrvxMU+MkNKcZMLGEfg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: LODP302MB985664:EE_|LO9P302MB1146:EE_
x-ms-office365-filtering-correlation-id: 31a21bc0-923b-4a03-c776-08df2b7eb990
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|10070799003|376014|366016|1800799024|23010399003|38070700021|56012099006|261009223027099003|10067099003|22082099003|18002099003|6133799003|13003099007|8096899003;
x-microsoft-antispam-message-info: G0F4omhg0PQxwTCrVaQP9GGjLVq1nNgm1mHgQJ33UN/bMriEY8qE2Wi5PK3CnLjokbIuDTJ8zrTpuHlNKmNheCMiPf81eo6qkLBCL5byLzWb3AI3UV3x4ueHaTeF7ZDMsP5Gj86tPjsy2slLXVWymGfohx2xJU5bjztermoR4EsWqcDKALJ1WSW0xsaFxy++hN49J/QejaRVuu2NXUy7FCdmSTR6EYJcJ/OpSHlyqG7Dw7lzlkS6ZX0jqVQR8rV4oseCFdk9MLzNGEHc+/0kyoD853m7C1OU9d0zSlh1ZQdmTC0JyeOWc/tN4hQ7tcvON8XMkkl2c4hnxbDHufBG/CgY9x0YH8ZlVX87iemtBudbuVERWJhKHA5o96sv+8xpkHob4E9TB05K8nrq7VojVPvHbpgDWWC1qI8/3dGmnPKPuzdpV3jb4cPLeg1rqyn0lW0keaAFWmbTt7/YDu4IyDPqUhtmMUMvce/0QgHjzYa8VX9jHtJ/OK/B9kdwjGJg9JLn8o37SO9yS5d0L9MUu4wv7mpnRxOUVx4B33HbUwetbejZ0ZONZ77Hp9lKvcHwl2BU3TIvV0Lv/cz37nxcUkbrBUO+pm+zI1mXtymSuvCgaptPSG1Y4WqoelONbxGSpE82ppuER4nFqg4wawoVReEiU6wgbgwuscDmkh4kMcE=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LODP302MB985664.GBRP302.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(376014)(366016)(1800799024)(23010399003)(38070700021)(56012099006)(261009223027099003)(10067099003)(22082099003)(18002099003)(6133799003)(13003099007)(8096899003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 2
x-ms-exchange-antispam-messagedata-0: OTQNc9bVz+aZxjCpx/bLVb/lfhv62uGLOrpl1gqZwN6Pwtv3194CBMDYALh6PARLUO+SomEhKOrlJYzL6Knh/xiuieVkN2/h7zp4DkNxPDGl3YAGFkOdJRBGWf2kuBw0/2DzewwoGKLKtpBHiWFc1zQxxOkj8cJ/x/R273Ys3bppFjNeK1tAp3j2jFW3sF41LlhhtXML7qwhC5KS7dAmvzo4qGGHZoV+Jc46cgyE7NNb3M22wxDBz6R+VPqdJhmj6YuXTdABtmGMQitCIrsJpmCK/zDH8MXg2iMd8KrXdOEpyZYcZGuEBiK2NIcURFrhSxdpdDNoqyFb06I14zagTavAkbg8fpySwTVA3lFcFBOLS5dCd8La1ZWZ1/p4a7wKEFD03E9iRknQ7RSyJtbXabtZtagEMDgkKiYDwSgCYVjjHNAXvFWeXm2LcGGlLtWgmO1LBY7aqtIwMVxyJp8TsZ32QjdSPjHjMbQdCy3UCBRHSzDDGFPFxln1eF0wqec9mkbLmy99M5wDWJ1Om42AczsgHAjGztubY1gXgYxTJEYgyXw/ISSaq87bdVwu+KHuAM7iy/Qa5Kibh7oFEe7YrjVb4Ly0psCFD+g8ZlaKeBZh3T5SPd6aIlLjpUW/LLunx2u9jfd8i1owGThPVCNUSjeTcBDC3mJpCgK8hiMGZNbQO5PiSw+moKbBuzXUEz4HwgVwmcyAPTPY7aTtcCnEk7r/qdDmE6Z/Gn3liIG5CQOMlRGRfmV5q+nY1hBwTOgH9OjUygtU3btYfeebmSWrfW7iHtz2wPxEpialMJY4eC8axPblurei6ZNOIAgonUzAcb8Thu8qBZcsJhZAaJbpVmw5DjebL46BR+lk1yI93JNNwP9ODqq/aWZzelWDZXTzOrmKAV7U9ssbeL55P/7ELiRAuXixT75dBbvfO8XBh/VEq+aCAswCI9qcw3McTFUgIdSIP9ImW9SG3+nht0fxcAECJQpGHs22mDUv+iBhPRTfxGREuQlRNT6hXKX4K/FolNyNPWZtAZ4IWpgUO4TlZXvoubQ6XfYcqdvVCvXsSZ8BQLqVFgGZ175JPuOCy7ASXQ3dijUW8L47YF5NO4MScv2QIr0xNsnyUuKHxblRalUsle3eKifL4TrPi4jfT3jVoKxHJwSnf65uiSicj0602F2GwagXtwISFGMOV2wpt5nes7hDihwlI8xEUyFCpDbidY/Mooj2qQEG7TA1k5PHeH/FJ+29BCTMcjFgUw2Ol+x2u3fKBDQK+1dMOcucrdlt0mFmVxTF0Ppp+ognq97+wfcRSfS9Yd+JoHf0lSIi2/RAoaMZP4Byor/0o9KrDWyBQkbIkYIEz2DB5hxRh4BL6lGAn3U47icFXPCM4aqb/4wy4nHRd/rCeX7/A0YY0yJ9AQNlh89LssNrFXcjxj4wJzaRXWUBVafQwcJmQPl/rehTWgU8lTaj+XcepfanOmUFVn9Vw1mEqrat6koFICNRE8VCKLYcR9t2uh7ZcYNLh0bjT1fWxbEUK4y61Iqh3idqoqD1LKs5BzxylkrgkSPW/AAfm8pdnlTH8DFsjf0qP70mSeajf9qECOqYedSazgtk1MeOOqf0HL3NuT9Ly0FR556QDL96lHb6TpDzRda5kgk3rJO4E58RCLZs+CRlEDiDyTNJ0sCBmutbZV3XcAPHrz0BT6AqbdE1DazsST4X+G/HvpWIhELg/KYBlVr6RSAj4yesJyRexAJdq4UN6iyV/X6oYJHDPSEDqYSAkkgeh4u0U+esHYw8L5dm1R1FgUU6mAyg9q66
x-ms-exchange-antispam-messagedata-1: eXbgGGniZTSBbg==
Content-Type: multipart/alternative; boundary="_000_LODP302MB9856643E1861764D7C3F1F7F98889B2LODP302MB985664_"
MIME-Version: 1.0
X-OriginatorOrg: quortex.io
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: LODP302MB985664.GBRP302.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 31a21bc0-923b-4a03-c776-08df2b7eb990
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2026 12:12:18.8814 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 20f44118-8cdf-4da6-88b9-d0f6149e24bf
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: b4jUzuTb+Dp1WTo3pdiEMli2wthw5Hfn894h4PrDOOYFoDHqFA5aKtyJTcRME5DaGD8GEqa/qD+fNoNEYGr0HeouRrrf3ppWtGPormF3114=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LO9P302MB1146
X-Spamd-Bar: -----------------
Message-ID-Hash: MWYCR7PZDYSPLWXF5H36SLT3C5PYXZUO
X-Message-ID-Hash: MWYCR7PZDYSPLWXF5H36SLT3C5PYXZUO
X-MailFrom: gwendal.simon@quortex.io
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [Moq] Re: MOQT redundancy implementation
List-Id: Media over QUIC <moq.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/moq/n6MEBVioyJ_3V_HbRacWKMPhYQ8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/moq>
List-Help: <mailto:moq-request@ietf.org?subject=help>
List-Owner: <mailto:moq-owner@ietf.org>
List-Post: <mailto:moq@ietf.org>
List-Subscribe: <mailto:moq-join@ietf.org>
List-Unsubscribe: <mailto:moq-leave@ietf.org>
Hi Jordi, Thanks for the demo. I am glad to see a player receive the same track from two relays and merge the copies. In your code, do you compare the payloads of duplicate Objects? A conflict can happen at the player when the two relays receive the track from different encoders (or when one relay corrupts an Object). If the player detects a conflict, the draft says it MUST cancel its subscription from that publisher. Which of the two relays would it cancel? More generally, conflicts are likely to happen when two encoders publish the same track (which is a common setup in broadcast deployments). A single encoder is safe, because it assigns every group and object ID once. With two encoders, a relay MUST subscribe to both. If the two encoders assign the same IDs but produce one Object differently, the relay MUST treat the track as Malformed and immediately terminate every downstream subscription. To sum up, a backup encoder (added for resilience) becomes a risk: one conflicting Object can break the entire stream. I opened an issue on this topic: https://github.com/moq-wg/moq-transport/issues/2003 Gwendal ________________________________ From: Jordi Cenzano Ferret <jcenzano=40meta.com@dmarc.ietf.org> Sent: Thursday, October 15, 2026 6:35 PM To: moq@ietf.org <moq@ietf.org> Subject: [Moq] MOQT redundancy implementation Just wanted to let you know I took advantage of the interim interop time and implemented MOQT-level redundancy. You can find a demo in this video<https://youtu.be/Br8xqAgCMA0>. The redundancy is implemented at the MOQT layer and is payload agnostic. It is based on the fact that groupID-ObjID are preserved throughout the pipeline. Test URLS: * Encoder sending data to 2 relays (to Madrid & Los Angeles): https://moq-madrid.jordicenzano.name/demo/encoder/index.html?host=https://moq-madrid.jordicenzano.name:4433/moq&hostbackup=https://moq-losangeles.jordicenzano.name:4433/moq * Player consuming from 2 relays (from: Madrid & Los Angeles - double bandwidth): https://moq-madrid.jordicenzano.name/demo/player/index.html?host=https://moq-madrid.jordicenzano.name:4433/moq&hostbackup=https://moq-losangeles.jordicenzano.name:4433/moq Thanks Jordi
- [Moq] MOQT redundancy implementation Jordi Cenzano Ferret
- [Moq] Re: MOQT redundancy implementation Gwendal Simon
- [Moq] Re: MOQT redundancy implementation Law, Will
- [Moq] Re: MOQT redundancy implementation Jordi Cenzano Ferret
- [Moq] Re: MOQT redundancy implementation Felician Nemeth