Protocol for Controlling Multiple Streams for Telepresence (CLUE)
RFC 8847

Document Type RFC - Experimental (January 2021; No errata)
Authors Roberta Presta  , Simon Romano 
Last updated 2021-01-18
Replaces draft-presta-clue-protocol
Stream Internet Engineering Task Force (IETF)
Formats plain text html xml pdf htmlized (tools) htmlized bibtex
Stream WG state Submitted to IESG for Publication
Document shepherd Paul Kyzivat
Shepherd write-up Show (last changed 2017-02-24)
IESG IESG state RFC 8847 (Experimental)
Action Holders
Consensus Boilerplate Yes
Telechat date
Responsible AD Adam Roach
Send notices to "Daniel C. Burnett" <>, "Paul Kyzivat" <>
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack

Internet Engineering Task Force (IETF)                         R. Presta
Request for Comments: 8847                                   S P. Romano
Category: Experimental                              University of Napoli
ISSN: 2070-1721                                             January 2021

   Protocol for Controlling Multiple Streams for Telepresence (CLUE)


   The Controlling Multiple Streams for Telepresence (CLUE) protocol is
   an application protocol conceived for the description and negotiation
   of a telepresence session.  The design of the CLUE protocol takes
   into account the requirements and the framework defined within the
   IETF CLUE Working Group.  A companion document, RFC 8848, delves into
   CLUE signaling details as well as the SIP / Session Description
   Protocol (SDP) session establishment phase.  CLUE messages flow over
   the CLUE data channel, based on reliable and ordered SCTP-over-DTLS
   transport.  ("SCTP" stands for "Stream Control Transmission
   Protocol".)  Message details, together with the behavior of CLUE
   Participants acting as Media Providers and/or Media Consumers, are
   herein discussed.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for examination, experimental implementation, and

   This document defines an Experimental Protocol for the Internet
   community.  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).  Not
   all documents approved by the IESG are candidates for any level of
   Internet Standard; see 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

Copyright Notice

   Copyright (c) 2021 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
   ( 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.  Introduction
   2.  Terminology
   3.  Conventions
   4.  Overview of the CLUE Protocol
   5.  Protocol Messages
     5.1.  'options'
     5.2.  'optionsResponse'
     5.3.  'advertisement'
     5.4.  'ack'
     5.5.  'configure'
     5.6.  'configureResponse'
     5.7.  Response Codes and Reason Strings
   6.  Protocol State Machines
     6.1.  Media Provider's State Machine
     6.2.  Media Consumer's State Machine
   7.  Versioning
   8.  Extensions
     8.1.  Extension Example
   9.  XML Schema
   10. Call Flow Example
     10.1.  CLUE Message No. 1: 'options'
     10.2.  CLUE Message No. 2: 'optionsResponse'
     10.3.  CLUE Message No. 3: 'advertisement'
     10.4.  CLUE Message No. 4: 'configure+ack'
     10.5.  CLUE Message No. 5: 'configureResponse'
     10.6.  CLUE Message No. 6: 'advertisement'
     10.7.  CLUE Message No. 7: 'ack'
     10.8.  CLUE Message No. 8: 'configure'
     10.9.  CLUE Message No. 9: 'configureResponse'
   11. Security Considerations
   12. IANA Considerations
     12.1.  URN Sub-Namespace Registration
     12.2.  XML Schema Registration
     12.3.  Media Type Registration for "application/clue+xml"
     12.4.  CLUE Protocol Registry
       12.4.1.  CLUE Message Types
       12.4.2.  CLUE Response Codes
   13. References
     13.1.  Normative References
     13.2.  Informative References
   Authors' Addresses

1.  Introduction

   The Controlling Multiple Streams for Telepresence (CLUE) protocol is
   an application protocol used by two CLUE Participants to enhance the
   experience of a multimedia telepresence session.  The main goals of
   the CLUE protocol are as follows:

   1.  enabling a Media Provider (MP) to properly announce its current
       telepresence capabilities to a Media Consumer (MC) in terms of
       available media captures, groups of encodings, simultaneity
       constraints, and other information defined in [RFC8845].

   2.  enabling an MC to request the desired multimedia streams from the
       offering MP.

   CLUE-capable endpoints are connected by means of the CLUE data
   channel -- an SCTP-over-DTLS channel that is opened and established
   as described in [RFC8848] and [RFC8850].  ("SCTP" stands for "Stream
   Control Transmission Protocol".)  CLUE protocol messages flowing over
Show full document text