Framework for Telepresence Multi-Streams
RFC 0000
Mark Duckworth, Ed.
Polycom
Andover
MA
01810
United States of America
mark.duckworth@polycom.com
Andrew Pepperell
Acano
Uxbridge
United Kingdom
apeppere@gmail.com
Stephan Wenger
Vidyo, Inc.
433 Hackensack Ave.
Hackensack
NJ
07601
United States of America
stewe@stewe.org
June 2020
ART
CLUE
example
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.
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:
ORIGINAL: 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)             |                                 |
        +=======================+=================================+

TEST 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) |
TEST 2: Example Synchronization Identity MCC Attribute Usage
Capture Scene #1 |
VC1 VC2 VC3 AC1 CSV(VC1,VC2,VC3) CSV(AC1) | Description=Left Description=Center Description=Right Description=Room
Capture Scene #2 |
VC4 VC5 VC6 AC2 CSV(VC4,VC5,VC6) CSV(AC2) | Description=Left Description=Center Description=Right Description=Room
Capture Scene #3 |
VC7 AC3 |
Capture Scene #4 |
VC8 AC4 |
Capture Scene #5 |
MCC1(VC1,VC4,VC7) MCC2(VC2,VC5,VC8) MCC3(VC3,VC6) MCC4(AC1,AC2,AC3,AC4) CSV(MCC1,MCC2,MCC3) CSV(MCC4) | SynchronizationID=1 MaxCaptures=1 SynchronizationID=1 MaxCaptures=1 MaxCaptures=1 SynchronizationID=1 MaxCaptures=1