Internet Engineering Task Force (IETF) M. Duckworth, Ed. Request for Comments: 0000 Polycom Category: Standards Track A. Pepperell ISSN: 2070-1721 Acano S. Wenger Vidyo June 2020 Framework for Telepresence Multi-Streams Abstract This document defines a framework for a protocol to enable devices in a telepresence conference to interoperate. The protocol enables communication of information about multiple media streams so a sending system and receiving system can make reasonable decisions about transmitting, selecting, and rendering the media streams. This protocol is used in addition to SIP signaling and Session Description Protocol (SDP) negotiation for setting up a telepresence session. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc0000. Copyright Notice Copyright (c) 2020 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 (https://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. Table of Contents 1. Synchronization Identity Authors' Addresses 1. Synchronization Identity The Synchronization Identity MCC attribute indicates how the individual Captures in multiple MCC Captures are synchronized. To indicate that the Capture Encodings associated with MCCs contain Captures from the same source at the same time, a Provider should set the same Synchronization Identity on each of the concerned MCCs. It is the Provider that determines what the source for the Captures is, so a Provider can choose how to group together Single Media Captures into a combined "source" for the purpose of switching them together to keep them synchronized according to the SynchronizationID attribute. For example, when the Provider is in an MCU, it may determine that each separate CLUE Endpoint is a remote source of media. The Synchronization Identity may be used across media types, i.e., to synchronize audio- and video-related MCCs. Without this attribute it is assumed that multiple MCCs may provide content from different sources at any particular point in time. For example: +=======================+=================================+ | Capture Scene #1 | | +-----------------------|---------------------------------+ | VC1 | Description=Left | | VC2 | Description=Center | | VC3 | Description=Right | | AC1 | Description=Room | | CSV(VC1,VC2,VC3) | | | CSV(AC1) | | +=======================+=================================+ | Capture Scene #2 | | +-----------------------|---------------------------------+ | VC4 | Description=Left | | VC5 | Description=Center | | VC6 | Description=Right | | AC2 | Description=Room | | CSV(VC4,VC5,VC6) | | | CSV(AC2) | | +=======================+=================================+ | Capture Scene #3 | | +-----------------------|---------------------------------+ | VC7 | | | AC3 | | +=======================+=================================+ | Capture Scene #4 | | +-----------------------|---------------------------------+ | VC8 | | | AC4 | | +=======================+=================================+ | Capture Scene #5 | | +-----------------------|---------------------------------+ | MCC1(VC1,VC4,VC7) | SynchronizationID=1 | | | MaxCaptures=1 | | MCC2(VC2,VC5,VC8) | SynchronizationID=1 | | | MaxCaptures=1 | | MCC3(VC3,VC6) | MaxCaptures=1 | | MCC4(AC1,AC2,AC3,AC4) | SynchronizationID=1 | | | MaxCaptures=1 | | CSV(MCC1,MCC2,MCC3) | | | CSV(MCC4) | | +=======================+=================================+ Figure 1: Example Synchronization Identity MCC Attribute Usage +-----------------------+-----------------------------+ | Capture Scene #1 | | +=======================+=============================+ | VC1 | Description=Left | +-----------------------+-----------------------------+ | VC2 | Description=Center | +-----------------------+-----------------------------+ | VC3 | Description=Right | +-----------------------+-----------------------------+ | AC1 | Description=Room | +-----------------------+-----------------------------+ | CSV(VC1,VC2,VC3) | | +-----------------------+-----------------------------+ | CSV(AC1) | | +-----------------------+-----------------------------+ | Capture Scene #2 | | +-----------------------+-----------------------------+ | VC4 | Description=Left | +-----------------------+-----------------------------+ | VC5 | Description=Center | +-----------------------+-----------------------------+ | VC6 | Description=Right | +-----------------------+-----------------------------+ | AC2 | Description=Room | +-----------------------+-----------------------------+ | CSV(VC4,VC5,VC6) | | +-----------------------+-----------------------------+ | CSV(AC2) | | +-----------------------+-----------------------------+ | Capture Scene #3 | | +-----------------------+-----------------------------+ | VC7 | | +-----------------------+-----------------------------+ | AC3 | | +-----------------------+-----------------------------+ | Capture Scene #4 | | +-----------------------+-----------------------------+ | VC8 | | +-----------------------+-----------------------------+ | AC4 | | +-----------------------+-----------------------------+ | Capture Scene #5 | | +-----------------------+-----------------------------+ | MCC1(VC1,VC4,VC7) | SynchronizationID=1 | | | MaxCaptures=1 | +-----------------------+-----------------------------+ | MCC2(VC2,VC5,VC8) | SynchronizationID=1 | | | MaxCaptures=1 | +-----------------------+-----------------------------+ | MCC3(VC3,VC6) | MaxCaptures=1 | +-----------------------+-----------------------------+ | MCC4(AC1,AC2,AC3,AC4) | SynchronizationID=1 | | | MaxCaptures=1 | +-----------------------+-----------------------------+ | CSV(MCC1,MCC2,MCC3) | | +-----------------------+-----------------------------+ | CSV(MCC4) | | +-----------------------+-----------------------------+ Table 1: TEST Example Synchronization Identity MCC Attribute Usage Authors' Addresses Mark Duckworth (editor) Polycom Andover, MA 01810 United States of America Email: mark.duckworth@polycom.com Andrew Pepperell Acano Uxbridge United Kingdom Email: apeppere@gmail.com Stephan Wenger Vidyo, Inc. 433 Hackensack Ave. Hackensack, NJ 07601 United States of America Email: stewe@stewe.org