<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="exp" consensus="true" docName="draft-ietf-clue-protocol-19" indexInclude="true" ipr="trust200902" number="8847" prepTime="2021-01-17T22:40:12" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-clue-protocol-19" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc8847" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="CLUE">Protocol for Controlling Multiple Streams for Telepresence (CLUE)</title>
    <seriesInfo name="RFC" value="8847" stream="IETF"/>
    <author initials="R." surname="Presta" fullname="Roberta Presta">
      <organization showOnFrontPage="true">University of Napoli</organization>
      <address>
        <postal>
          <street>Via Claudio 21</street>
          <code>80125</code>
          <city>Napoli</city>
          <country>Italy</country>
        </postal>
        <email>roberta.presta@unina.it</email>
      </address>
    </author>
    <author initials="S P." surname="Romano" fullname="Simon Pietro Romano">
      <organization showOnFrontPage="true">University of Napoli</organization>
      <address>
        <postal>
          <street>Via Claudio 21</street>
          <code>80125</code>
          <city>Napoli</city>
          <country>Italy</country>
        </postal>
        <email>spromano@unina.it</email>
      </address>
    </author>
    <date month="01" year="2021"/>
    <keyword>CLUE</keyword>
    <keyword>Telepresence</keyword>
    <keyword>Protocol</keyword>
    <keyword>Framework</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">
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. 
      
</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for examination, experimental implementation, and
            evaluation.
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            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. 
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc8847" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2021 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-terminology">Terminology</xref></t>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-conventions">Conventions</xref></t>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-overview-of-the-clue-protoc">Overview of the CLUE Protocol</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-protocol-messages">Protocol Messages</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.5.2">
              <li pn="section-toc.1-1.5.2.1">
                <t indent="0" pn="section-toc.1-1.5.2.1.1"><xref derivedContent="5.1" format="counter" sectionFormat="of" target="section-5.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-options">'options'</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.2">
                <t indent="0" pn="section-toc.1-1.5.2.2.1"><xref derivedContent="5.2" format="counter" sectionFormat="of" target="section-5.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-optionsresponse">'optionsResponse'</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.3">
                <t indent="0" pn="section-toc.1-1.5.2.3.1"><xref derivedContent="5.3" format="counter" sectionFormat="of" target="section-5.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-advertisement">'advertisement'</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.4">
                <t indent="0" pn="section-toc.1-1.5.2.4.1"><xref derivedContent="5.4" format="counter" sectionFormat="of" target="section-5.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ack">'ack'</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.5">
                <t indent="0" pn="section-toc.1-1.5.2.5.1"><xref derivedContent="5.5" format="counter" sectionFormat="of" target="section-5.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-configure">'configure'</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.6">
                <t indent="0" pn="section-toc.1-1.5.2.6.1"><xref derivedContent="5.6" format="counter" sectionFormat="of" target="section-5.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-configureresponse">'configureResponse'</xref></t>
              </li>
              <li pn="section-toc.1-1.5.2.7">
                <t indent="0" pn="section-toc.1-1.5.2.7.1"><xref derivedContent="5.7" format="counter" sectionFormat="of" target="section-5.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-response-codes-and-reason-s">Response Codes and Reason Strings</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-protocol-state-machines">Protocol State Machines</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.6.2">
              <li pn="section-toc.1-1.6.2.1">
                <t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent="6.1" format="counter" sectionFormat="of" target="section-6.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-media-providers-state-machi">Media Provider's State Machine</xref></t>
              </li>
              <li pn="section-toc.1-1.6.2.2">
                <t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent="6.2" format="counter" sectionFormat="of" target="section-6.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-media-consumers-state-machi">Media Consumer's State Machine</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-versioning">Versioning</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="8" format="counter" sectionFormat="of" target="section-8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-extensions">Extensions</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="8.1" format="counter" sectionFormat="of" target="section-8.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-extension-example">Extension Example</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="9" format="counter" sectionFormat="of" target="section-9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-xml-schema">XML Schema</xref></t>
          </li>
          <li pn="section-toc.1-1.10">
            <t indent="0" pn="section-toc.1-1.10.1"><xref derivedContent="10" format="counter" sectionFormat="of" target="section-10"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-call-flow-example">Call Flow Example</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.10.2">
              <li pn="section-toc.1-1.10.2.1">
                <t indent="0" pn="section-toc.1-1.10.2.1.1"><xref derivedContent="10.1" format="counter" sectionFormat="of" target="section-10.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-message-no-1-options">CLUE Message No. 1: 'options'</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.2">
                <t indent="0" pn="section-toc.1-1.10.2.2.1"><xref derivedContent="10.2" format="counter" sectionFormat="of" target="section-10.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-message-no-2-optionsre">CLUE Message No. 2: 'optionsResponse'</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.3">
                <t indent="0" pn="section-toc.1-1.10.2.3.1"><xref derivedContent="10.3" format="counter" sectionFormat="of" target="section-10.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-message-no-3-advertise">CLUE Message No. 3: 'advertisement'</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.4">
                <t indent="0" pn="section-toc.1-1.10.2.4.1"><xref derivedContent="10.4" format="counter" sectionFormat="of" target="section-10.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-message-no-4-configure">CLUE Message No. 4: 'configure+ack'</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.5">
                <t indent="0" pn="section-toc.1-1.10.2.5.1"><xref derivedContent="10.5" format="counter" sectionFormat="of" target="section-10.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-message-no-5-configure">CLUE Message No. 5: 'configureResponse'</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.6">
                <t indent="0" pn="section-toc.1-1.10.2.6.1"><xref derivedContent="10.6" format="counter" sectionFormat="of" target="section-10.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-message-no-6-advertise">CLUE Message No. 6: 'advertisement'</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.7">
                <t indent="0" pn="section-toc.1-1.10.2.7.1"><xref derivedContent="10.7" format="counter" sectionFormat="of" target="section-10.7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-message-no-7-ack">CLUE Message No. 7: 'ack'</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.8">
                <t indent="0" pn="section-toc.1-1.10.2.8.1"><xref derivedContent="10.8" format="counter" sectionFormat="of" target="section-10.8"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-message-no-8-configure">CLUE Message No. 8: 'configure'</xref></t>
              </li>
              <li pn="section-toc.1-1.10.2.9">
                <t indent="0" pn="section-toc.1-1.10.2.9.1"><xref derivedContent="10.9" format="counter" sectionFormat="of" target="section-10.9"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-message-no-9-configure">CLUE Message No. 9: 'configureResponse'</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.11">
            <t indent="0" pn="section-toc.1-1.11.1"><xref derivedContent="11" format="counter" sectionFormat="of" target="section-11"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.12">
            <t indent="0" pn="section-toc.1-1.12.1"><xref derivedContent="12" format="counter" sectionFormat="of" target="section-12"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.12.2">
              <li pn="section-toc.1-1.12.2.1">
                <t indent="0" pn="section-toc.1-1.12.2.1.1"><xref derivedContent="12.1" format="counter" sectionFormat="of" target="section-12.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-urn-sub-namespace-registrat">URN Sub-Namespace Registration</xref></t>
              </li>
              <li pn="section-toc.1-1.12.2.2">
                <t indent="0" pn="section-toc.1-1.12.2.2.1"><xref derivedContent="12.2" format="counter" sectionFormat="of" target="section-12.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-xml-schema-registration">XML Schema Registration</xref></t>
              </li>
              <li pn="section-toc.1-1.12.2.3">
                <t indent="0" pn="section-toc.1-1.12.2.3.1"><xref derivedContent="12.3" format="counter" sectionFormat="of" target="section-12.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-media-type-registration-for">Media Type Registration for "application/clue+xml"</xref></t>
              </li>
              <li pn="section-toc.1-1.12.2.4">
                <t indent="0" pn="section-toc.1-1.12.2.4.1"><xref derivedContent="12.4" format="counter" sectionFormat="of" target="section-12.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-protocol-registry">CLUE Protocol Registry</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.12.2.4.2">
                  <li pn="section-toc.1-1.12.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.12.2.4.2.1.1"><xref derivedContent="12.4.1" format="counter" sectionFormat="of" target="section-12.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-message-types">CLUE Message Types</xref></t>
                  </li>
                  <li pn="section-toc.1-1.12.2.4.2.2">
                    <t indent="0" pn="section-toc.1-1.12.2.4.2.2.1"><xref derivedContent="12.4.2" format="counter" sectionFormat="of" target="section-12.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-clue-response-codes-2">CLUE Response Codes</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.13">
            <t indent="0" pn="section-toc.1-1.13.1"><xref derivedContent="13" format="counter" sectionFormat="of" target="section-13"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-references">References</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.13.2">
              <li pn="section-toc.1-1.13.2.1">
                <t indent="0" pn="section-toc.1-1.13.2.1.1"><xref derivedContent="13.1" format="counter" sectionFormat="of" target="section-13.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-normative-references">Normative References</xref></t>
              </li>
              <li pn="section-toc.1-1.13.2.2">
                <t indent="0" pn="section-toc.1-1.13.2.2.1"><xref derivedContent="13.2" format="counter" sectionFormat="of" target="section-13.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.14">
            <t indent="0" pn="section-toc.1-1.14.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgements">Acknowledgements</xref></t>
          </li>
          <li pn="section-toc.1-1.15">
            <t indent="0" pn="section-toc.1-1.15.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section anchor="sec-intro" numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1">
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:
</t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-1-2">
        <li pn="section-1-2.1" derivedCounter="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 <xref target="RFC8845" format="default" sectionFormat="of" derivedContent="RFC8845"/>.
</li>
        <li pn="section-1-2.2" derivedCounter="2.">enabling an MC to request the desired multimedia streams from the 
offering MP.</li>
      </ol>
      <t indent="0" pn="section-1-3">
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 <xref target="RFC8848" format="default" sectionFormat="of" derivedContent="RFC8848"/> and 
<xref target="RFC8850" format="default" sectionFormat="of" derivedContent="RFC8850"/>.  ("SCTP" stands for "Stream Control
Transmission Protocol".)
CLUE protocol messages flowing over such a channel are detailed in this 
document, both syntactically and semantically.
</t>
      <t indent="0" pn="section-1-4">
In <xref target="sec-overview" format="default" sectionFormat="of" derivedContent="Section 4"/>, we provide a general overview of the 
CLUE protocol.
CLUE protocol messages are detailed in <xref target="sec-messages" format="default" sectionFormat="of" derivedContent="Section 5"/>.
The CLUE protocol state machines are introduced in 
<xref target="sec-sm" format="default" sectionFormat="of" derivedContent="Section 6"/>.
Versioning and extensions are discussed 
in Sections <xref target="sec-versioning" format="counter" sectionFormat="of" derivedContent="7"/> and <xref target="sec-ext" format="counter" sectionFormat="of" derivedContent="8"/>, 
respectively. The XML schema <xref target="W3C.REC-xml-20081126" format="default" sectionFormat="of" derivedContent="W3C.REC-xml-20081126"/>
defining the CLUE messages is provided in 
<xref target="sec-schema" format="default" sectionFormat="of" derivedContent="Section 9"/>. 
</t>
    </section>
    <section anchor="sec-teminology" numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-terminology">Terminology</name>
      <t indent="0" pn="section-2-1">This document refers to terminology that is also used in 
<xref target="RFC8845" format="default" sectionFormat="of" derivedContent="RFC8845"/> and 
<xref target="RFC7262" format="default" sectionFormat="of" derivedContent="RFC7262"/>. 
For convenience, we list those terms below.  The definition of "CLUE
Participant", as also listed below, originates from this document.</t>
      <dl newline="false" spacing="normal" indent="3" pn="section-2-2">
        <dt pn="section-2-2.1">Capture Encoding:</dt>
        <dd pn="section-2-2.2">A specific encoding of a Media Capture, 
to be sent via RTP <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/>.</dd>
        <dt pn="section-2-2.3">CLUE Participant (CP):</dt>
        <dd pn="section-2-2.4"> An entity able to use the CLUE 
protocol within a telepresence session. 
It can be an endpoint or an MCU (Multipoint Control Unit) able to use the 
CLUE protocol.
</dd>
        <dt pn="section-2-2.5">CLUE-capable device:</dt>
        <dd pn="section-2-2.6"> 
A device that (1) supports the CLUE data channel 
<xref target="RFC8850" format="default" sectionFormat="of" derivedContent="RFC8850"/>, the CLUE protocol,
and the principles of CLUE negotiation and (2) seeks CLUE-enabled calls.
</dd>
        <dt pn="section-2-2.7">Endpoint:</dt>
        <dd pn="section-2-2.8">A CLUE-capable device that is the logical point
of final termination through receiving, decoding, and rendering, and/or
initiation through the capturing, encoding, and sending of media
streams.  An endpoint consists of one or more physical devices
that source and sink media streams, and exactly one 
participant (as described in <xref target="RFC4353" format="default" sectionFormat="of" derivedContent="RFC4353"/>)
that, in turn, includes exactly one user agent <xref target="RFC3261" format="default" sectionFormat="of" derivedContent="RFC3261"/>. Endpoints can be anything from multiscreen/multicamera
rooms to handheld devices.
</dd>
        <dt pn="section-2-2.9">Multipoint Control Unit (MCU):</dt>
        <dd pn="section-2-2.10">A CLUE-capable device that connects
two or more endpoints together into one single multimedia
conference <xref target="RFC7667" format="default" sectionFormat="of" derivedContent="RFC7667"/>. 
An MCU includes a mixer (as defined in <xref target="RFC4353" format="default" sectionFormat="of" derivedContent="RFC4353"/>),
without the requirement per <xref target="RFC4353" format="default" sectionFormat="of" derivedContent="RFC4353"/> to send media to each
participant.</dd>
        <dt pn="section-2-2.11">Media:</dt>
        <dd pn="section-2-2.12">Any data that, after suitable encoding, can be 
conveyed over RTP, including audio, video, or timed text.</dd>
        <dt pn="section-2-2.13">Media Capture:</dt>
        <dd pn="section-2-2.14">A source of media -- for example, from one or more 
Capture Devices or constructed from other Media streams.</dd>
        <dt pn="section-2-2.15">Media Consumer (MC):</dt>
        <dd pn="section-2-2.16">A CP (i.e., an Endpoint
 or an MCU) able to receive Capture Encodings.</dd>
        <dt pn="section-2-2.17">Media Provider (MP):</dt>
        <dd pn="section-2-2.18">A CP (i.e., an Endpoint 
or an MCU) able to send Capture Encodings.</dd>
        <dt pn="section-2-2.19">Stream:</dt>
        <dd pn="section-2-2.20">A Capture Encoding sent from an MP to 
an MC via RTP <xref target="RFC3550" format="default" sectionFormat="of" derivedContent="RFC3550"/>.</dd>
      </dl>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-conventions">Conventions</name>
      <t indent="0" pn="section-3-1">The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
    "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>",
    "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOULD</bcp14>",
    "<bcp14>SHOULD NOT</bcp14>",
    "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
    "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are
    to be interpreted as described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="of" derivedContent="RFC2119"/>
        <xref target="RFC8174" format="default" sectionFormat="of" derivedContent="RFC8174"/> when, and only when, they appear in all capitals,
    as shown here.</t>
    </section>
    <section anchor="sec-overview" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-overview-of-the-clue-protoc">Overview of the CLUE Protocol</name>
      <t indent="0" pn="section-4-1">
The CLUE protocol is conceived to enable CLUE telepresence sessions.
It is designed to address Session Description Protocol (SDP) limitations in terms of the 
description of some information about the multimedia streams that are 
involved in a real-time multimedia conference.
Indeed, by simply using SDP, it is not possible to convey information
about the features of the flowing multimedia streams that are needed 
to enable a "being there" rendering experience.
Such information is contained in the CLUE framework document 
<xref target="RFC8845" format="default" sectionFormat="of" derivedContent="RFC8845"/>
and formally defined and described in the CLUE data model document
<xref target="RFC8846" format="default" sectionFormat="of" derivedContent="RFC8846"/>.
The CLUE protocol represents the mechanism for the exchange of
telepresence information between CPs.   
It mainly provides the messages to enable an MP to advertise 
its telepresence capabilities and to enable an MC to select 
the desired telepresence options.
</t>
      <t indent="0" pn="section-4-2">
The CLUE protocol, as defined in this document and further described below,
is a stateful client-server XML-based application protocol.
CLUE protocol messages flow on a reliable and ordered SCTP-over-DTLS 
transport channel connecting two CPs.
Messages carry information taken from the XML-based CLUE data model 
<xref target="RFC8846" format="default" sectionFormat="of" derivedContent="RFC8846"/>.  
Three main communication phases can be identified:
</t>
      <dl newline="true" spacing="normal" indent="3" pn="section-4-3">
        <dt pn="section-4-3.1">Establishment of the CLUE data channel:</dt>
        <dd pn="section-4-3.2">In this phase, the CLUE data 
channel setup takes place. If it completes successfully, the CPs are 
able to communicate and start the initiation phase.</dd>
        <dt pn="section-4-3.3">Negotiation of the CLUE protocol version and extensions (initiation phase):</dt>
        <dd pn="section-4-3.4">The CPs connected via the CLUE data channel agree on the protocol version and extensions to be used during the telepresence session. Special CLUE 
messages are used for such a task ('options' and 'optionsResponse'). 
The negotiation of the version and extensions can be performed once during the 
CLUE session and only at this stage.
At the end of that basic negotiation, each CP starts its activity as a 
CLUE MP and/or CLUE MC.</dd>
        <dt pn="section-4-3.5">Description and negotiation of CLUE telepresence capabilities:</dt>
        <dd pn="section-4-3.6">In this 
phase, the MP-MC dialogues take place on the data channel by means of 
the CLUE protocol messages.</dd>
      </dl>
      <t indent="0" pn="section-4-4">
As soon as the channel is ready, the CPs must agree on the 
protocol version and extensions to be used within the telepresence session.
CLUE protocol version numbers are characterized by a major version 
number and a minor version number, both unsigned integers, separated by a dot. 
While minor version numbers denote backward-compatible changes in the 
context of a given major version, different major version numbers 
generally indicate a lack of interoperability between the protocol 
implementations. 
In order to correctly establish a CLUE dialogue, the involved CPs must 
have in common a major version number (see <xref target="sec-versioning" format="default" sectionFormat="of" derivedContent="Section 7"/> 
for further details).
The subset of the extensions that are allowed 
within the CLUE session is also determined in the initiation phase. 
It includes only the extensions that are supported by 
both parties.   
A mechanism for the negotiation of the CLUE protocol version and 
extensions is part of the initiation phase.
According to such a solution, the CP that is the CLUE Channel  
Initiator (CI) issues a proper CLUE message ('options') 
to the CP that is the Channel Receiver (CR), specifying the supported 
version and extensions. 
The CR then answers by selecting the subset of the CI extensions 
that it is able to support and determines the protocol version to 
be used.
</t>
      <t indent="0" pn="section-4-5">
After the negotiation phase is completed, CPs describe 
and agree on the media flows to be exchanged. 
In many cases, CPs will seek to both transmit and receive media. Hence,
in a call between two CPs (e.g., CPs A and B), there would be two separate message 
exchange sequences, as follows:
</t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-4-6">
        <li pn="section-4-6.1" derivedCounter="1.">the one needed to describe and set up the media streams sent from 
A to B, i.e., the dialogue between A's MP side and B's MC side.</li>
        <li pn="section-4-6.2" derivedCounter="2.">the one needed to describe and set up the media streams sent from B 
to A, i.e., the dialogue between B's MP side and A's MC side.</li>
      </ol>
      <t indent="0" pn="section-4-7">
 CLUE messages for the media session description and negotiation are 
 designed by considering the MP side to be the server side of the 
 protocol, since it produces and provides media streams, and the MC 
 side as the client side of the protocol, since it requests and receives 
 media streams.
 The messages that are exchanged to set up the telepresence media 
 session are described by focusing on a single MP-MC dialogue.  
      </t>
      <t indent="0" pn="section-4-8">  
 The MP first advertises its available media captures and encoding 
 capabilities to the MC, as well as its simultaneity constraints,  
 according to the information model defined in 
 <xref target="RFC8845" format="default" sectionFormat="of" derivedContent="RFC8845"/>.
 The CLUE message conveying the MP's multimedia offer is the 
 'advertisement' message. 
 Such a message leverages the XML data model definitions provided in 
  <xref target="RFC8846" format="default" sectionFormat="of" derivedContent="RFC8846"/>.   
      </t>
      <t indent="0" pn="section-4-9">
  The MC selects the desired streams of the MP by using the 'configure' 
  message, which makes reference to the information carried in the 
  previously received 'advertisement'.
      </t>
      <t indent="0" pn="section-4-10">
  Besides 'advertisement' and 'configure', 
  other messages have been conceived in order to provide all needed 
  mechanisms and operations. Such messages are detailed in the 
  following sections.
      </t>
    </section>
    <section anchor="sec-messages" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-protocol-messages">Protocol Messages</name>
      <t indent="0" pn="section-5-1">
CLUE protocol messages are textual XML-based messages that enable the 
configuration of the telepresence session. 
The formal definition of such messages is provided in the XML schema 
in <xref target="sec-schema" format="default" sectionFormat="of" derivedContent="Section 9"/>. 
This section includes non-normative excerpts of the schema to aid in 
describing it.
</t>
      <t indent="0" pn="section-5-2">
The XML definitions of the CLUE information provided in 
<xref target="RFC8846" format="default" sectionFormat="of" derivedContent="RFC8846"/> are included 
within some CLUE protocol messages 
(namely the 'advertisement' and 'configure' messages), in 
order to use the concepts defined in <xref target="RFC8845" format="default" sectionFormat="of" derivedContent="RFC8845"/>.  
</t>
      <t indent="0" pn="section-5-3">
The CLUE protocol messages are as follows:
</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-4">
        <li pn="section-5-4.1">options</li>
        <li pn="section-5-4.2">optionsResponse</li>
        <li pn="section-5-4.3">advertisement</li>
        <li pn="section-5-4.4">ack</li>
        <li pn="section-5-4.5">configure</li>
        <li pn="section-5-4.6">configureResponse</li>
      </ul>
      <t indent="0" pn="section-5-5">
While the 'options' and 'optionsResponse' messages are exchanged in the 
initiation phase between the CPs, the other messages are involved in 
MP-MC dialogues. Please note that the word "dialogue" as used in this document is 
not related to SIP's usage of the same term. It refers to message exchange
sequences between a CLUE MP and a Clue MC.  
</t>
      <t indent="0" pn="section-5-6">
Each CLUE message inherits a basic structure, as depicted in the following 
excerpt (<xref target="fig_message" format="default" sectionFormat="of" derivedContent="Figure 1"/>): 
</t>
      <figure anchor="fig_message" align="left" suppress-title="false" pn="figure-1">
        <name slugifiedName="name-structure-of-a-clue-message">Structure of a CLUE Message</name>
        <sourcecode name="" type="xml" markers="false" pn="section-5-7.1">
&lt;xs:complexType name="clueMessageType" abstract="true"&gt;
  &lt;xs:sequence&gt;
    &lt;xs:element name="clueId" type="xs:string" minOccurs="0"/&gt;
    &lt;xs:element name="sequenceNr" type="xs:positiveInteger"/&gt;
  &lt;/xs:sequence&gt;
  &lt;xs:attribute name="protocol" type="xs:string" fixed="CLUE"
        use="required"/&gt;
  &lt;xs:attribute name="v" type="versionType" use="required"/&gt;
&lt;/xs:complexType&gt;

&lt;!-- VERSION TYPE --&gt;
&lt;xs:simpleType name="versionType"&gt;
  &lt;xs:restriction base="xs:string"&gt;
    &lt;xs:pattern value="[1-9][0-9]*\.[0-9]+" /&gt;
  &lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;</sourcecode>
      </figure>
      <t indent="0" pn="section-5-8">
The information contained in each CLUE message is as follows:
</t>
      <dl spacing="normal" indent="3" newline="false" pn="section-5-9">
        <dt pn="section-5-9.1">clueId:</dt>
        <dd pn="section-5-9.2">An optional XML element containing the identifier (in the form of a 
generic string) of the CP within the telepresence system.</dd>
        <dt pn="section-5-9.3">sequenceNr:</dt>
        <dd pn="section-5-9.4">An XML element containing the local message sequence 
number.
The sender <bcp14>MUST</bcp14> increment the sequence number by one for each new 
message sent, and
the receiver <bcp14>MUST</bcp14> remember the most recent sequence number received and 
send back 
a 402 error if it receives a message with an unexpected sequence number
(e.g., sequence number gap, repeated sequence number, sequence number 
too small). 
The initial sequence number can be chosen randomly by each party.</dd>
        <dt pn="section-5-9.5">protocol:</dt>
        <dd pn="section-5-9.6">A mandatory attribute set to "CLUE", identifying the 
protocol the messages refer to.</dd>
        <dt pn="section-5-9.7">v:</dt>
        <dd pn="section-5-9.8">A mandatory attribute carrying the version of the protocol. 
The content of the "v" attribute is composed of the major version number 
followed by a dot and then by the minor version number of the CLUE 
protocol in use. The major number cannot be "0", and if it is more than
one digit, it cannot start with a "0".
Allowed values of this kind are "1.3", "2.0", "20.44", etc.
This document describes version 1.0.</dd>
      </dl>
      <t indent="0" pn="section-5-10">
Each CP is responsible for creating and updating up to three independent
streams of sequence numbers in messages it sends: (i) one for the 
messages sent in the initiation phase, (ii) one for the messages sent as
an MP (if it is acting as an MP), and (iii) one for the messages sent as an MC 
(if it is acting as an MC). 
</t>
      <t indent="0" pn="section-5-11">
In particular, CLUE response messages ('optionsResponse', 'ack', 'configureResponse')
derive from a base type, inheriting from the clueMessageType, which is defined as follows 
(<xref target="fig_clue_response" format="default" sectionFormat="of" derivedContent="Figure 2"/>):
</t>
      <figure anchor="fig_clue_response" align="left" suppress-title="false" pn="figure-2">
        <name slugifiedName="name-structure-of-clue-response-">Structure of CLUE Response Messages</name>
        <sourcecode name="" type="xml" markers="false" pn="section-5-12.1">
&lt;xs:complexType name="clueResponseType"&gt;
 &lt;xs:complexContent&gt;
  &lt;xs:extension base="clueMessageType"&gt;
   &lt;xs:sequence&gt;
    &lt;xs:element name="responseCode" type="responseCodeType"/&gt;
    &lt;xs:element name="reasonString" type="xs:string" minOccurs="0"/&gt;
   &lt;/xs:sequence&gt;
  &lt;/xs:extension&gt;
 &lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;</sourcecode>
      </figure>
      <t indent="0" pn="section-5-13">
The elements &lt;responseCode&gt; and &lt;reasonString&gt; are populated as detailed in 
<xref target="sec-resp-codes" format="default" sectionFormat="of" derivedContent="Section 5.7"/>.
      </t>
      <section anchor="subsec-options" numbered="true" toc="include" removeInRFC="false" pn="section-5.1">
        <name slugifiedName="name-options">'options'</name>
        <t indent="0" pn="section-5.1-1">
The 'options' message is sent by the CP that is the CI
to the CP that is the CR as soon as the CLUE data channel is ready.
Besides the information envisioned in the basic structure, it specifies:
</t>
        <dl spacing="normal" indent="3" newline="false" pn="section-5.1-2">
          <dt pn="section-5.1-2.1">&lt;mediaProvider&gt;:</dt>
          <dd pn="section-5.1-2.2">A mandatory boolean field set to "true" if the CP is 
able to act as an MP.</dd>
          <dt pn="section-5.1-2.3">&lt;mediaConsumer&gt;:</dt>
          <dd pn="section-5.1-2.4">A mandatory boolean field set to "true" if the CP is 
able to act as an MC.</dd>
          <dt pn="section-5.1-2.5">&lt;supportedVersions&gt;:</dt>
          <dd pn="section-5.1-2.6">The list of supported versions.</dd>
          <dt pn="section-5.1-2.7">&lt;supportedExtensions&gt;:</dt>
          <dd pn="section-5.1-2.8">The list of supported extensions.</dd>
        </dl>
        <t indent="0" pn="section-5.1-3">
The XML schema of such a message is shown below 
(<xref target="fig_options" format="default" sectionFormat="of" derivedContent="Figure 3"/>):
</t>
        <figure anchor="fig_options" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-structure-of-a-clue-options">Structure of a CLUE 'options' Message</name>
          <sourcecode name="" type="xml" markers="false" pn="section-5.1-4.1">
&lt;!-- CLUE OPTIONS --&gt;
&lt;xs:complexType name="optionsMessageType"&gt;
  &lt;xs:complexContent&gt;
    &lt;xs:extension base="clueMessageType"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element name="mediaProvider" type="xs:boolean" /&gt;
        &lt;xs:element name="mediaConsumer" type="xs:boolean" /&gt;
        &lt;xs:element name="supportedVersions" type="versionsListType"
                minOccurs="0"/&gt;
        &lt;xs:element name="supportedExtensions"
              type="extensionsListType"
                minOccurs="0"/&gt;
        &lt;xs:any namespace="##other" processContents="lax"
                minOccurs="0"/&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
    &lt;/xs:extension&gt;
  &lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;

&lt;!-- VERSIONS LIST TYPE --&gt;
&lt;xs:complexType name="versionsListType"&gt;
  &lt;xs:sequence&gt;
    &lt;xs:element name="version" type="versionType" minOccurs="1"
        maxOccurs="unbounded"/&gt;
    &lt;xs:any namespace="##other" processContents="lax" minOccurs="0"/&gt;
  &lt;/xs:sequence&gt;
  &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
&lt;/xs:complexType&gt;

&lt;!-- EXTENSIONS LIST TYPE --&gt;
&lt;xs:complexType name="extensionsListType"&gt;
  &lt;xs:sequence&gt;
    &lt;xs:element name="extension" type="extensionType" minOccurs="1"
        maxOccurs="unbounded"/&gt;
    &lt;xs:any namespace="##other" processContents="lax" minOccurs="0"/&gt;
  &lt;/xs:sequence&gt;
  &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
&lt;/xs:complexType&gt;

&lt;!-- EXTENSION TYPE --&gt;
&lt;xs:complexType name="extensionType"&gt;
  &lt;xs:sequence&gt;
    &lt;xs:element name="name" type="xs:string" /&gt;
    &lt;xs:element name="schemaRef" type="xs:anyURI" /&gt;
    &lt;xs:element name="version" type="versionType" /&gt;
    &lt;xs:any namespace="##other" processContents="lax" minOccurs="0"/&gt;
  &lt;/xs:sequence&gt;
  &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
&lt;/xs:complexType&gt;</sourcecode>
        </figure>
        <t indent="0" pn="section-5.1-5">
&lt;supportedVersions&gt; contains the list of versions that are 
supported by the CI,
each one represented in a child &lt;version&gt; element.
The content of each &lt;version&gt; element is a string made of the 
major version number
followed by a dot and then by the minor version number (e.g., 1.3 or 
2.4).
Exactly one &lt;version&gt; element <bcp14>MUST</bcp14> be provided 
for each major version supported, containing the maximum minor version 
number of such a version, since all minor versions are backward 
compatible.
If no &lt;supportedVersions&gt; is carried within the 'options' message, 
the CI supports only the version declared in the "v" attribute
and all the versions having the same major version number and lower 
minor version number.
For example, if the "v" attribute has a  value of "3.4" and there is no 
&lt;supportedVersions&gt; element in the 'options' message, 
it means the CI supports only major version 3 with 
all minor versions from 3.0 through 3.4. If &lt;supportedVersions&gt; is provided, 
at least one &lt;version&gt; element <bcp14>MUST</bcp14> be included.
In this case, the "v" attribute <bcp14>SHOULD</bcp14> be set to the largest minor 
version of the smallest major version advertised in  the 
&lt;supportedVersions&gt; list.
Indeed, the intention behind the "v" attribute is that some 
implementation that receives a version number in the "v" field 
with a major number higher than it understands is supposed to 
close the connection, since it runs a risk of misinterpreting 
the contents of messages.
The minor version is less useful in this context, 
since minor versions are defined to be both backward and 
forward compatible and the value can in any case be parsed out of the
&lt;version&gt; list.  It is more useful to know the highest 
minor version supported than some random minor version, as it 
indicates the full feature set that is supported. 
</t>
        <t indent="0" pn="section-5.1-6">
The &lt;supportedExtensions&gt; element specifies the list of extensions 
supported by the CI.
If there is no &lt;supportedExtensions&gt; in the 'options' message, the CI 
does not support anything other than what is envisioned in the versions 
it supports.
For each extension, an &lt;extension&gt; element is provided.
An extension is characterized by a name, an XML schema of reference where 
the extension is defined, and the version of the protocol that the extension 
refers to.
</t>
      </section>
      <section anchor="subsec-options-response" numbered="true" toc="include" removeInRFC="false" pn="section-5.2">
        <name slugifiedName="name-optionsresponse">'optionsResponse'</name>
        <t indent="0" pn="section-5.2-1">
The 'optionsResponse' (<xref target="fig_options_response" format="default" sectionFormat="of" derivedContent="Figure 4"/>) 
is sent by a CR to a CI as a reply to the 'options' 
message.
The 'optionsResponse' contains 
a mandatory response code and a reason string indicating 
the processing result of the 'options' message.
If the responseCode is between 200 and 299 inclusive, 
the response <bcp14>MUST</bcp14> also include &lt;mediaProvider&gt;,  
&lt;mediaConsumer&gt;, &lt;version&gt;, and &lt;commonExtensions&gt; 
elements; it <bcp14>MAY</bcp14> include them for any other response
code.  &lt;mediaProvider&gt; and &lt;mediaConsumer&gt; 
elements (which are of a boolean nature) are associated with the 
supported roles (in terms of the MP and the MC, respectively), 
similarly to what the CI does in the 'options' message. 
The &lt;version&gt; element indicates the highest commonly supported 
version number.  
The content of the &lt;version&gt; 
element <bcp14>MUST</bcp14> be a string made of the major version number 
followed by a dot and then by the minor version number (e.g., 1.3 or 
2.4).
Finally, the commonly supported extensions are copied in the 
&lt;commonExtensions&gt; element.
</t>
        <figure anchor="fig_options_response" align="left" suppress-title="false" pn="figure-4">
          <name slugifiedName="name-structure-of-a-clue-optionsr">Structure of a CLUE 'optionsResponse' Message</name>
          <sourcecode name="" type="xml" markers="false" pn="section-5.2-2.1">
&lt;!-- CLUE 'optionsResponse' --&gt;
&lt;xs:complexType name="optionsResponseMessageType"&gt;
  &lt;xs:complexContent&gt;
    &lt;xs:extension base="clueResponseType"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element name="mediaProvider" type="xs:boolean"
                minOccurs="0"/&gt;
        &lt;xs:element name="mediaConsumer" type="xs:boolean"
                minOccurs="0"/&gt;
        &lt;xs:element name="version" type="versionType" minOccurs="0"/&gt;
        &lt;xs:element name="commonExtensions" type="extensionsListType"
                minOccurs="0"/&gt;
        &lt;xs:any namespace="##other" processContents="lax"
                minOccurs="0"/&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
    &lt;/xs:extension&gt;
  &lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;</sourcecode>
        </figure>
        <t indent="0" pn="section-5.2-3">
Upon reception of the 'optionsResponse', the version to be used is the one
provided in the &lt;version&gt; element of the message. 
The subsequent CLUE messages <bcp14>MUST</bcp14> use such a version number in the "v" 
attribute. The allowed extensions in the CLUE dialogue are those 
indicated in the &lt;commonExtensions&gt; element of the 'optionsResponse' message.
</t>
      </section>
      <section anchor="subsec-adv" numbered="true" toc="include" removeInRFC="false" pn="section-5.3">
        <name slugifiedName="name-advertisement">'advertisement'</name>
        <t indent="0" pn="section-5.3-1"> 
The 'advertisement' message is used by each MP to advertise the 
available media captures and related information to the corresponding MC.
The MP sends an 'advertisement' to the MC as soon as it is ready after the 
successful completion of the initiation phase, i.e., as soon as the 
CPs have agreed on the version and extensions of the CLUE protocol.

During a single CLUE session, an MP may send new 'advertisement' messages to replace
 the previous advertisement if, for instance, its CLUE 
telepresence media capabilities change mid‑call. A new 'advertisement' completely 
replaces the previous 'advertisement'.

        </t>
        <t indent="0" pn="section-5.3-2">
The 'advertisement' structure is defined in the schema excerpt below 
(<xref target="fig_adv" format="default" sectionFormat="of" derivedContent="Figure 5"/>).
The 'advertisement' contains elements compliant with the CLUE data model that 
characterize the MP's telepresence offer. 
Namely, such elements are the list of</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5.3-3">
          <li pn="section-5.3-3.1">media captures (&lt;mediaCaptures&gt;),</li>
          <li pn="section-5.3-3.2">encoding groups (&lt;encodingGroups&gt;),</li>
          <li pn="section-5.3-3.3">capture scenes (&lt;captureScenes&gt;),</li>
          <li pn="section-5.3-3.4">simultaneous sets (&lt;simultaneousSets&gt;),</li>
          <li pn="section-5.3-3.5">global views (&lt;globalViews&gt;), and</li>
          <li pn="section-5.3-3.6">represented participants (&lt;people&gt;).</li>
        </ul>
        <t indent="0" pn="section-5.3-4">Each of them is fully described in the CLUE framework document 
<xref target="RFC8845" format="default" sectionFormat="of" derivedContent="RFC8845"/> and formally defined in the CLUE
data model document <xref target="RFC8846" format="default" sectionFormat="of" derivedContent="RFC8846"/>.
        </t>
        <figure anchor="fig_adv" align="left" suppress-title="false" pn="figure-5">
          <name slugifiedName="name-structure-of-a-clue-adverti">Structure of a CLUE 'advertisement' Message</name>
          <sourcecode name="" type="xml" markers="false" pn="section-5.3-5.1">
&lt;!-- CLUE ADVERTISEMENT MESSAGE TYPE --&gt;
&lt;xs:complexType name="advertisementMessageType"&gt;
  &lt;xs:complexContent&gt;
    &lt;xs:extension base="clueMessageType"&gt;
      &lt;xs:sequence&gt;
        &lt;!-- mandatory --&gt;
        &lt;xs:element name="mediaCaptures"
              type="dm:mediaCapturesType"/&gt;
        &lt;xs:element name="encodingGroups"
              type="dm:encodingGroupsType"/&gt;
        &lt;xs:element name="captureScenes"
              type="dm:captureScenesType"/&gt;
        &lt;!-- optional --&gt;
        &lt;xs:element name="simultaneousSets"
              type="dm:simultaneousSetsType" minOccurs="0"/&gt;
        &lt;xs:element name="globalViews" type="dm:globalViewsType"
              minOccurs="0"/&gt;
        &lt;xs:element name="people"
              type="dm:peopleType" minOccurs="0"/&gt;
        &lt;xs:any namespace="##other" processContents="lax"
              minOccurs="0"/&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
    &lt;/xs:extension&gt;
  &lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;</sourcecode>
        </figure>
      </section>
      <section anchor="sec-adv-ack" numbered="true" toc="include" removeInRFC="false" pn="section-5.4">
        <name slugifiedName="name-ack">'ack'</name>
        <t indent="0" pn="section-5.4-1">
The 'ack' message
is sent by an MC to an MP to acknowledge an 'advertisement' message.
As can be seen from the message schema provided in the following
excerpt (<xref target="fig_adv_ack" format="default" sectionFormat="of" derivedContent="Figure 6"/>), 
the 'ack' contains a response code and may contain a reason string 
for describing the processing result of the 'advertisement'.
The &lt;advSequenceNr&gt; element carries the sequence number of the 
'advertisement' message the 'ack' refers to.
</t>
        <figure anchor="fig_adv_ack" align="left" suppress-title="false" pn="figure-6">
          <name slugifiedName="name-structure-of-a-clue-ack-mes">Structure of a CLUE 'ack' Message</name>
          <sourcecode name="" type="xml" markers="false" pn="section-5.4-2.1">
&lt;!-- 'ack' MESSAGE TYPE --&gt;
&lt;xs:complexType name="advAcknowledgementMessageType"&gt;
  &lt;xs:complexContent&gt;
    &lt;xs:extension base="clueResponseType"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element name="advSequenceNr" type="xs:positiveInteger"/&gt;
        &lt;xs:any namespace="##other" processContents="lax"
                minOccurs="0"/&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
    &lt;/xs:extension&gt;
  &lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;</sourcecode>
        </figure>
      </section>
      <section anchor="sec-conf" numbered="true" toc="include" removeInRFC="false" pn="section-5.5">
        <name slugifiedName="name-configure">'configure'</name>
        <t indent="0" pn="section-5.5-1">
The 'configure' message is sent from an MC to an MP 
to list the advertised captures the MC wants to receive.
The MC <bcp14>MUST</bcp14> send a 'configure' after the reception of an 'advertisement', as well as each 
time it wants to request other captures that have been previously advertised by 
the MP.
The content of the 'configure' message is shown below (<xref target="fig_conf" format="default" sectionFormat="of" derivedContent="Figure 7"/>).
</t>
        <figure anchor="fig_conf" align="left" suppress-title="false" pn="figure-7">
          <name slugifiedName="name-structure-of-a-clue-configu">Structure of a CLUE 'configure' Message</name>
          <sourcecode name="" type="xml" markers="false" pn="section-5.5-2.1">
&lt;!-- CLUE 'configure' MESSAGE TYPE --&gt;
&lt;xs:complexType name="configureMessageType"&gt;
  &lt;xs:complexContent&gt;
    &lt;xs:extension base="clueMessageType"&gt;
      &lt;xs:sequence&gt;
        &lt;!-- mandatory fields --&gt;
        &lt;xs:element name="advSequenceNr" type="xs:positiveInteger"/&gt;
        &lt;xs:element name="ack" type="successResponseCodeType"
                minOccurs="0"/&gt;
        &lt;xs:element name="captureEncodings"
                type="dm:captureEncodingsType" minOccurs="0"/&gt;
        &lt;xs:any namespace="##other" processContents="lax"
                minOccurs="0"/&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
    &lt;/xs:extension&gt;
  &lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;</sourcecode>
        </figure>
        <t indent="0" pn="section-5.5-3">
The &lt;advSequenceNr&gt; element contains the sequence number of 
the 'advertisement' message the 'configure' refers to.
</t>
        <t indent="0" pn="section-5.5-4">
The optional &lt;ack&gt; element, when present, contains a success
response code, as defined in <xref target="sec-resp-codes" format="default" sectionFormat="of" derivedContent="Section 5.7"/>. 
It indicates that the 'configure' message also acknowledges 
with success the referred advertisement ('configure+ack' message). 
 
The &lt;ack&gt; element <bcp14>MUST NOT</bcp14> be present if an 'ack' message 
(associated with the advertisement carrying that specific sequence 
number) has already been sent back to the MP.

</t>
        <t indent="0" pn="section-5.5-5">
The most important content of the 'configure' message is the list of
capture encodings provided in the &lt;captureEncodings&gt; element 
(see <xref target="RFC8846" format="default" sectionFormat="of" derivedContent="RFC8846"/> for the 
definition of &lt;captureEncodings&gt;). 
Such an element contains a sequence of capture encodings,
representing the streams to be instantiated. 
</t>
      </section>
      <section anchor="sec-conf-resp" numbered="true" toc="include" removeInRFC="false" pn="section-5.6">
        <name slugifiedName="name-configureresponse">'configureResponse'</name>
        <t indent="0" pn="section-5.6-1">

The 'configureResponse' message is sent from the MP to 
the MC to communicate 
the processing result of requests carried in the previously received 
'configure' message.
As shown in <xref target="fig_conf_resp" format="default" sectionFormat="of" derivedContent="Figure 8"/>, it contains a
response code (and, optionally, a reason string) indicating either the 
success or failure (along with failure details) of the 'configure' request 
processing. 
The &lt;confSequenceNr&gt; element that follows contains 
the sequence number of the 'configure' message the response refers to.
There is no partial execution of commands. As an example,
if an MP is able to understand all the selected capture encodings except
one, then the whole command fails and nothing is instantiated.
</t>
        <figure anchor="fig_conf_resp" align="left" suppress-title="false" pn="figure-8">
          <name slugifiedName="name-structure-of-a-clue-configur">Structure of a CLUE 'configureResponse' Message</name>
          <sourcecode name="" type="xml" markers="false" pn="section-5.6-2.1">
&lt;!-- 'configureResponse' MESSAGE TYPE --&gt;
&lt;xs:complexType name="configureResponseMessageType"&gt;
  &lt;xs:complexContent&gt;
    &lt;xs:extension base="clueResponseType"&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element name="confSequenceNr"
              type="xs:positiveInteger" /&gt;
        &lt;xs:any namespace="##other" processContents="lax"
              minOccurs="0"/&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax" /&gt;
    &lt;/xs:extension&gt;
  &lt;/xs:complexContent&gt;
&lt;/xs:complexType&gt;</sourcecode>
        </figure>
      </section>
      <section anchor="sec-resp-codes" numbered="true" toc="include" removeInRFC="false" pn="section-5.7">
        <name slugifiedName="name-response-codes-and-reason-s">Response Codes and Reason Strings</name>
        <t indent="0" pn="section-5.7-1"> 
 Response codes are defined as a sequence of three digits.
 A well-defined meaning is associated with the first digit.
 Response codes beginning with "2" are associated with successful 
 responses.
 Response codes that do not begin with either "2" or "1" indicate an 
 error response, i.e., that an error occurred while processing a CLUE 
 request.
 In particular, response codes beginning with "3" indicate problems 
 with the XML content of the message ("Bad syntax", "Invalid value", 
 etc.), while response codes beginning with "4" refer to problems 
 related to CLUE protocol semantics ("Invalid sequencing", "Version not 
 supported", etc.).
 200, 300, and 400 codes are the most generic codes in their respective categories.
 Further response codes can be defined either in future versions of the 
 protocol or by leveraging the extension mechanism. 
 In both cases, the new response codes <bcp14>MUST</bcp14> be registered with IANA.
 Such new response
 codes <bcp14>MUST NOT</bcp14> override the codes defined in this document, and they <bcp14>MUST</bcp14> 
 respect the semantics of the first code digit.
</t>
        <t indent="0" pn="section-5.7-2">
This document does not define response codes starting with "1", and such
response codes are not allowed to appear in major version 1 of the CLUE
protocol. The range from 100 to 199 inclusive is reserved for future 
major versions of the protocol to define response codes for delayed or 
incomplete operations, if necessary. Response codes starting with "5" 
through "9" are reserved for future major versions of the protocol to 
define new classes of responses and are not allowed in major version 1 
of the CLUE protocol.
Response codes starting with "0" are not allowed.
</t>
        <t indent="0" pn="section-5.7-3">
The response codes and reason strings defined for use with version 1 of the 
CLUE protocol are listed in <xref target="clue-resp-codes-table" format="default" sectionFormat="of" derivedContent="Table 1"/>.
The "Description" text contained in the table can be sent in the 
&lt;reasonString&gt; element of a response message. Implementations can 
(and are encouraged to) include descriptions of the error
condition that are more specific, if possible.
</t>
        <table anchor="clue-resp-codes-table" align="center" pn="table-1">
          <name slugifiedName="name-clue-response-codes">CLUE Response Codes</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Response Code</th>
              <th align="left" colspan="1" rowspan="1">Reason String</th>
              <th align="center" colspan="1" rowspan="1">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">200</td>
              <td align="left" colspan="1" rowspan="1">Success</td>
              <td align="left" colspan="1" rowspan="1">The request has been successfully processed.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">300</td>
              <td align="left" colspan="1" rowspan="1">Low-level request error</td>
              <td align="left" colspan="1" rowspan="1">A generic low-level request error has occurred.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">301</td>
              <td align="left" colspan="1" rowspan="1">Bad syntax</td>
              <td align="left" colspan="1" rowspan="1">The XML syntax of the message is not correct.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">302</td>
              <td align="left" colspan="1" rowspan="1">Invalid value</td>
              <td align="left" colspan="1" rowspan="1">The message contains an invalid parameter value.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">303</td>
              <td align="left" colspan="1" rowspan="1">Conflicting values</td>
              <td align="left" colspan="1" rowspan="1">The message contains values that cannot be used together.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">400</td>
              <td align="left" colspan="1" rowspan="1">Semantic errors</td>
              <td align="left" colspan="1" rowspan="1">The received CLUE protocol message contains semantic errors.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">401</td>
              <td align="left" colspan="1" rowspan="1">Version not supported</td>
              <td align="left" colspan="1" rowspan="1">The protocol version used in the message is not supported.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">402</td>
              <td align="left" colspan="1" rowspan="1">Invalid sequencing</td>
              <td align="left" colspan="1" rowspan="1">The received message contains an unexpected sequence number (e.g.,
sequence number gap, repeated sequence number, or sequence number
outdated).</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">403</td>
              <td align="left" colspan="1" rowspan="1">Invalid identifier</td>
              <td align="left" colspan="1" rowspan="1">The clueId used in the message is invalid or unknown.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">404</td>
              <td align="left" colspan="1" rowspan="1">Advertisement expired</td>
              <td align="left" colspan="1" rowspan="1">The sequence number of the advertisement the 'configure' message refers to is out of date.</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">405</td>
              <td align="left" colspan="1" rowspan="1">Subset choice not allowed</td>
              <td align="left" colspan="1" rowspan="1">The subset choice is not allowed for the specified Multiple Content Capture.</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="sec-sm" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-protocol-state-machines">Protocol State Machines</name>
      <t indent="0" pn="section-6-1">
The CLUE protocol is an application protocol used between two CPs 
in order to properly configure a multimedia telepresence session.

CLUE protocol messages flow over the CLUE data channel, 
an SCTP-over-DTLS channel established as depicted in 
<xref target="RFC8850" format="default" sectionFormat="of" derivedContent="RFC8850"/>.
We herein discuss the state machines associated with the
CP (<xref target="fig_protocol_participant" format="default" sectionFormat="of" derivedContent="Figure 9"/>), 
the MP role (<xref target="fig_protocol_provider" format="default" sectionFormat="of" derivedContent="Figure 10"/> in <xref target="sec-mp" format="default" sectionFormat="of" derivedContent="Section 6.1"/>), and the 
MC role (<xref target="fig_protocol_consumer" format="default" sectionFormat="of" derivedContent="Figure 11"/> in <xref target="sec-mc" format="default" sectionFormat="of" derivedContent="Section 6.2"/>), respectively.
Endpoints often wish to both send and receive media, i.e., act as both an
MP and an MC. 
As such, there will often be two sets of messages flowing in opposite 
directions; the state machines of these two flows do not interact with 
each other. 
Only the CLUE application logic is considered.
The interaction of CLUE protocol and SDP negotiations for the media 
streams exchanged is discussed in <xref target="RFC8848" format="default" sectionFormat="of" derivedContent="RFC8848"/>.
      
</t>
      <figure anchor="fig_protocol_participant" align="left" suppress-title="false" pn="figure-9">
        <name slugifiedName="name-clue-participant-state-mach">CLUE Participant State Machine</name>
        <artwork name="" type="" align="left" alt="" pn="section-6-2.1">
                            +----+
    +----------------------&gt;|IDLE|&lt;----------------------------+
    |                       +-+--+                             |
    |                         |                                |
    |                         |  start                         |
    |                         |  channel                       |
    |                         v                                |
    |  channel error /     +--------+                          |
    |  session ends        | CHANNEL|                          |
    +----------------------+ SETUP  |                          |
    |                      +--+-----+                          |
    |                         |                                |
    |                         |  channel                       |
    |                         |  established                   |
    |  channel error /        v                 OPTIONS phase  |
    |  session ends         +-------+           failure        |
    +-----------------------+OPTIONS+--------------------------+
    |                       +-+-----+
    |                         |
    |                         |  OPTIONS phase
    |                         |  success
    |                         v
    |   channel error /    +---------+
    |   session ends       | ACTIVE  |
    +----------------------+         |
                           | +----+  +------------------+
                           | | MP |  |    send/receive  |
                           | +----+  |    CLUE messages |
                           |         |&lt;-----------------+
                           | +----+  |
                           | | MC |  |
                           | +----+  |
                           |         |
                           +---------+</artwork>
      </figure>
      <t indent="0" pn="section-6-3">
The main state machines focus on the behavior of the CP acting as a CLUE CI/CR.
</t>
      <t indent="0" pn="section-6-4">
The initial state is the IDLE state.
When in the IDLE state, the CLUE data channel is not established and
no CLUE-controlled media are exchanged between the two 
CLUE-capable devices in question (if there is an ongoing exchange of media streams, 
such media streams are not currently CLUE controlled).
</t>
      <t indent="0" pn="section-6-5">
When the CLUE data channel is set up ("start channel"), 
the CP moves from the IDLE state to the CHANNEL SETUP state.
</t>
      <t indent="0" pn="section-6-6">
If the CLUE data channel is successfully set up ("channel established"), 
the CP moves from the CHANNEL SETUP state to the OPTIONS state.
Otherwise, if a "channel error" occurs, it moves back to the IDLE state.
The same transition happens if the CLUE-enabled 
telepresence session ends ("session ends"), i.e., when an 
SDP negotiation for removing the CLUE data channel is performed.
</t>
      <t indent="0" pn="section-6-7">
When in the OPTIONS state, the CP addresses the initiation phase where 
both parts agree on the version and extensions to be used in the 
subsequent CLUE message exchange phase.
If the CP is the CI, it sends an 'options' message and 
waits for the 'optionsResponse' message.
If the CP is the CR, it waits for the 'options' message 
and, as soon as it arrives, replies with the 'optionsResponse' message.
If the negotiation is successfully completed ("OPTIONS phase success"), 
the CP moves from the OPTIONS state to the ACTIVE state.
If the initiation phase fails ("OPTIONS phase failure"), the CP moves 
from the OPTIONS state to the IDLE state. 
The initiation phase might fail for one of the following reasons: 
</t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-6-8">
        <li pn="section-6-8.1" derivedCounter="1.">The CI receives an 'optionsResponse' with an error response code.</li>
        <li pn="section-6-8.2" derivedCounter="2.">The CI does not receive any 'optionsResponse', and a timeout error 
is raised.</li>
        <li pn="section-6-8.3" derivedCounter="3.">The CR does not receive any 'options', and a timeout error is raised.</li>
      </ol>
      <t indent="0" pn="section-6-9">
When in the ACTIVE state, the CP starts the envisioned sub-state 
machines (i.e., the MP state machine and the MC state machine) 
according to the roles it plays in the telepresence sessions. 
Such roles have been previously declared in the 'options' and 
'optionsResponse' messages involved in the initiation phase 
(see Sections <xref target="subsec-options" format="counter" sectionFormat="of" derivedContent="5.1"/> and 
<xref target="subsec-options-response" format="counter" sectionFormat="of" derivedContent="5.2"/> for details).
When in the ACTIVE state, the CP delegates the sending and 
processing of the CLUE messages to the appropriate MP/MC 
sub-state machines. 
If the CP receives a further 'options'/'optionsResponse' message, 
it <bcp14>MUST</bcp14> ignore the message and stay in the ACTIVE state. 
</t>
      <section anchor="sec-mp" numbered="true" toc="include" removeInRFC="false" pn="section-6.1">
        <name slugifiedName="name-media-providers-state-machi">Media Provider's State Machine</name>
        <t indent="0" pn="section-6.1-1">
As soon as the sub-state machine of the MP 
(<xref target="fig_protocol_provider" format="default" sectionFormat="of" derivedContent="Figure 10"/>) is activated, it is in 
the ADV state.
In the ADV state, the MP prepares the 'advertisement' message 
reflecting its actual telepresence capabilities.
</t>
        <figure anchor="fig_protocol_provider" align="left" suppress-title="false" pn="figure-10">
          <name slugifiedName="name-media-providers-state-machin">Media Provider's State Machine</name>
          <artwork name="" type="" align="left" alt="" pn="section-6.1-2.1">
                          +-----+
            +------------&gt;| ADV |&lt;-------------------+
            |             +-+---+                    |
            |  advertisement|       NACK received    |
            |           sent|                        |
            |               v                        |
     changed|             +--------+                 |
telepresence+-------------+WAIT FOR+-----------------+
    settings|  +----------+  ACK   |
            |  |configure +-+------+
            |  |  +ack      |
            |  |received    |ack received
            |  |            v
            |  |          +--------+
            +-------------+WAIT FOR|
            |  |          |  CONF  |
            |  |          +-+------+&lt;-----------------------------+
            |  |            |                                     |
            |  |            |configure received                   |
            |  |            v                                     |
            |  +---------&gt;+---------+ error configureResponse sent|
            +-------------+CONF     |-----------------------------+
            |  +---------&gt;|RESPONSE +
            |  |          +---------+
            |  |              |
            |  |              |successful
            |  |              |configureResponse
            |  |              |sent
            |  |              |
            |  |              |
            |  |configure     |
            |  |received      v
            |  |          +-----------+
            |  +----------+ESTABLISHED|
            +-------------+-----------+</artwork>
        </figure>
        <t indent="0" pn="section-6.1-3">
After the 'advertisement' has been sent ("advertisement sent"), 
the MP moves from the ADV state to the WAIT FOR ACK state.  If an 
'ack' message with a successful response code arrives 
("ack received"), the MP moves to the WAIT FOR CONF state.  
If a NACK arrives (i.e., an 'ack' message with an error response 
code), the MP moves back to the ADV state for preparation of a new 
'advertisement'.
When in the WAIT FOR ACK state, if a 'configure' message with the
&lt;ack&gt; element set to "200" arrives ("configure+ack received"), 
the MP goes directly to the CONF RESPONSE state. 
'configure+ack' messages referring to out-of-date (i.e., having 
a sequence number less than the highest generated so far) 
advertisements <bcp14>MUST</bcp14> be ignored, i.e., they do not trigger any 
state transition.  If the telepresence settings of the MP change 
while in the WAIT FOR ACK state ("changed telepresence settings"), 
the MP switches from the WAIT FOR ACK state to the ADV state to 
create a new 'advertisement'.
</t>
        <t indent="0" pn="section-6.1-4">
When in the WAIT FOR CONF state, the MP listens to the channel for a
'configure' request coming from the MC. When a 'configure' arrives
("configure received"), the MP switches to the CONF RESPONSE state.
If the telepresence settings change in the
meantime ("changed telepresence settings"), the MP moves from the
WAIT FOR CONF state back to the ADV state to create the new 'advertisement'
to be sent to the MC.</t>
        <t indent="0" pn="section-6.1-5">

The MP in the CONF RESPONSE state processes the received 'configure'
in order to produce a 'configureResponse' message.  If the MP
successfully processes the MC's configuration, then it sends a 200
'configureResponse' ("successful configureResponse sent") and moves to
the ESTABLISHED state.  If there are errors in the 'configure'
processing, then the MP issues a 'configureResponse' carrying an
error response code and goes back to the
WAIT FOR CONF state to wait for a new configuration request.  
Finally, if there are changes in the MP's telepresence
settings ("changed telepresence settings"), the MP switches to the
ADV state.
</t>
        <t indent="0" pn="section-6.1-6">
The MP in the ESTABLISHED state has successfully negotiated the media
streams with the MC by means of the CLUE messages.  If there are
changes in the MP's telepresence settings ("changed telepresence
settings"), the MP moves back to the ADV state.  In the ESTABLISHED
state, the CLUE-controlled media streams of the session are those
described in the last successfully processed 'configure' message.
</t>
        <t indent="0" pn="section-6.1-7">Messages not shown for a state do not cause the state to change.</t>
      </section>
      <section anchor="sec-mc" numbered="true" toc="include" removeInRFC="false" pn="section-6.2">
        <name slugifiedName="name-media-consumers-state-machi">Media Consumer's State Machine</name>
        <t indent="0" pn="section-6.2-1">
As soon as the sub-state machine of the MC 
(<xref target="fig_protocol_consumer" format="default" sectionFormat="of" derivedContent="Figure 11"/>) is activated, it is in the 
WAIT FOR ADV state.
An MC in the WAIT FOR ADV state is waiting for an 'advertisement' coming from the 
MP. If the 'advertisement' arrives ("ADV received"), the MC moves to the ADV 
PROCESSING state.
Otherwise, the MC stays in the WAIT FOR ADV state.
</t>
        <figure anchor="fig_protocol_consumer" align="left" suppress-title="false" pn="figure-11">
          <name slugifiedName="name-media-consumers-state-machin">Media Consumer's State Machine</name>
          <artwork name="" type="" align="left" alt="" pn="section-6.2-2.1">
                      +----------+
                      | WAIT FOR |
                      |   ADV    |
                      +----+-----+&lt;--------+
                           |               |
              advertisement|      NACK sent|
                   received|               |
                           v               |
                      +-----------+--------+
                      |  ADV      +
                      | PROCESSING|&lt;-----------------------+
                      +-+-----+---+                        |
                        |     |                            |
         configure+ack  |     |  ack                       |
                sent    |     |  sent                      |
                        |     v                            |
                        |  +-----+                         |
                        |  |CONF |  advertisement received |
  +-----------------------&gt;|     +-------------------------+
  |error                |  +--+--+                         |
  |configureResponse    |     |                            |
  |received             |     |configure                   |
  |                     |     |sent                        |
  |                     |     |                            |
  |                     v     v              advertisement |
  +------------------+---------------+            received |
          +---------&gt;|   WAIT FOR    +---------------------+
          |          |  CONF RESPONSE+                     |
          |          +-------+-------+                     |
          |                  |                             |
          |                  |                             |
          |                  |successful                   |
          |                  |configureResponse            |
          |                  |received                     |
          |configure         v                             |
          |sent        +-----------+ advertisement received|
          +------------+ESTABLISHED+-----------------------+
                       +-----------+</artwork>
        </figure>
        <t indent="0" pn="section-6.2-3">
In the ADV PROCESSING state, the 'advertisement' is parsed by the MC.
If the 'advertisement' is successfully processed, two scenarios are
possible.  In the first case, the MC issues a successful 'ack'
message to the MP ("ack sent") and moves to the CONF state.  This
typically happens when the MC needs some more time to produce the
'configure' message associated with the received 'advertisement'.  In
the latter case, the MC is able to immediately prepare and send back
to the MP a 'configure' message.  Such a message will have the &lt;ack&gt;
element set to "200" ("configure+ack sent") and will allow the MC to
move directly to the WAIT FOR CONF RESPONSE state.
</t>
        <t indent="0" pn="section-6.2-4"> 
If the processing of the 'advertisement' is unsuccessful (bad syntax, missing XML
elements, etc.), the MC sends a NACK message (i.e., an 'ack' with
an error response code) to the MP and, optionally, further describes
the problem via a proper reason phrase.  In this scenario ("NACK sent"), 
the MC switches back to the WAIT FOR ADV
state and waits for a new 'advertisement'.
</t>
        <t indent="0" pn="section-6.2-5">
When in the CONF state, the MC prepares the 'configure' request to be
issued to the MP on the basis of the previously acked
'advertisement'.  When the 'configure' has been sent ("configure
sent"), the MC moves to the WAIT FOR CONF RESPONSE state.  If a new
'advertisement' arrives in the meantime ("advertisement received"),
the MC goes back to the ADV PROCESSING state.
</t>
        <t indent="0" pn="section-6.2-6"> 
In the WAIT FOR CONF RESPONSE state, the MC waits for the MP's
response to the issued 'configure' or 'configure+ack'.  If a 200
'configureResponse' message is received ("successful
configureResponse received"), it means that the MP and the MC have
successfully agreed on the media streams to be shared.  Then, the MC
can move to the ESTABLISHED state.  On the other hand, if an error
response is received  ("error configureResponse received"), 
the MC moves back to the CONF state to prepare a new
'configure' request.  If a new 'advertisement' is received in the WAIT
FOR CONF RESPONSE state, the MC switches to the ADV PROCESSING state.
</t>
        <t indent="0" pn="section-6.2-7">
When the MC is in the ESTABLISHED state, the telepresence session
configuration has been set up at the CLUE application level according
to the MC's preferences.  Both the MP and the MC have agreed on (and
are aware of) the CLUE-controlled media streams to be exchanged
within the call.  While in the ESTABLISHED state, the MC might
decide to change something in the call settings; in this case, the MC
then issues a new 'configure' ("configure sent") and moves to the
WAIT FOR CONF RESPONSE state to wait for the new 'configureResponse'.
On the other hand, if the MC is in the ESTABLISHED state and
a new 'advertisement' ("advertisement received") arrives from the MP,
it means that something has changed on the MP's side; the MC then moves
to the ADV PROCESSING state.
</t>
        <t indent="0" pn="section-6.2-8">Messages not shown for a state do not cause the state to change.</t>
      </section>
    </section>
    <section anchor="sec-versioning" numbered="true" toc="include" removeInRFC="false" pn="section-7">
      <name slugifiedName="name-versioning">Versioning</name>
      <t indent="0" pn="section-7-1">
CLUE protocol messages are XML messages compliant to the CLUE protocol XML schema 
<xref target="RFC8846" format="default" sectionFormat="of" derivedContent="RFC8846"/>.
The version of the protocol corresponds to the version of the schema.
Both the client and the server have to test the compliance of the received messages with 
the XML schema of the CLUE protocol.
If the compliance is not verified, the message cannot be processed further.
</t>
      <t indent="0" pn="section-7-2">
The client and server cannot communicate if they do not share exactly 
the same XML schema.
Such a schema is associated with the CLUE URN 
"urn:ietf:params:xml:ns:clue-protocol".
If all CLUE-enabled devices use that schema,
there will be no interoperability problems due to schema issues.
</t>
      <t indent="0" pn="section-7-3">This document defines version 1.0 of the CLUE protocol schema, using XML schema version 1.0 <xref target="W3C.REC-xml-20081126" format="default" sectionFormat="of" derivedContent="W3C.REC-xml-20081126"/>. The version usage is 
similar in philosophy to the Extensible Messaging and Presence Protocol (XMPP) <xref target="RFC6120" format="default" sectionFormat="of" derivedContent="RFC6120"/>. 
A version number has major and minor components, each a non-negative integer.
Changes to the major version denote non-interoperable changes. 
Changes to the minor version denote schema changes that are backward compatible 
by ignoring unknown XML elements or other backward-compatible changes.
</t>
      <t indent="0" pn="section-7-4">
The minor versions of the XML schema <bcp14>MUST</bcp14> be backward compatible, 
not only in terms of the schema but semantically and procedurally as well. 
This means that they should define further features and functionality besides 
those defined in the previous versions, in an incremental way, without impacting 
the basic rules defined in the previous version of the schema.
In this way, if an MP is able to "speak", for example, version 1.5 of the protocol while the 
MC only understands version 1.4, 
the MP should have no problem in reverting the dialogue back to version 1.4
without exploiting 1.5 features and functionality.
Version 1.4 is 
the one to be spoken and has to appear in the "v" 
attribute of the subsequent CLUE messages. 
In other words, in this example, the  MP 
<bcp14>MUST</bcp14> use version 1.4.
That said, and in keeping with the general IETF 
protocol "robustness principle" stating that 
an implementation must be conservative in its sending behavior
and liberal in its receiving behavior <xref target="RFC1122" format="default" sectionFormat="of" derivedContent="RFC1122"/>, 
CPs 
<bcp14>MUST</bcp14> ignore unknown elements or attributes that are not envisioned 
in the negotiated protocol version and related extensions.
</t>
    </section>
    <section anchor="sec-ext" numbered="true" toc="include" removeInRFC="false" pn="section-8">
      <name slugifiedName="name-extensions">Extensions</name>
      <t indent="0" pn="section-8-1">
Although the standard version of the CLUE protocol XML schema is designed 
to thoroughly cope with the requirements emerging from the application domain,
new needs might arise, and new extensions can then be designed.
Extensions specify information and behaviors 
that are not described in a certain version of the protocol and specified 
in the related RFC document. Such information and behaviors can be optionally 
used in a CLUE dialogue and <bcp14>MUST</bcp14> be negotiated in the CLUE initiation phase.
They can relate to:
</t>
      <ol spacing="normal" type="1" indent="adaptive" start="1" pn="section-8-2">
        <li pn="section-8-2.1" derivedCounter="1.">
    new information, to be carried in the existing messages.
    For example, more fields may be added within an existing message.
</li>
        <li pn="section-8-2.2" derivedCounter="2.">
    new messages. 
    This is the case if there is no proper message for a certain task, 
    so a brand new CLUE message needs to be defined.
</li>
      </ol>
      <t indent="0" pn="section-8-3">
As to the first category of extensions, it is possible to distinguish between
protocol-specific and data model information.
Indeed, CLUE messages are envelopes carrying both of the following:
</t>
      <ol spacing="normal" indent="adaptive" start="1" type="1" pn="section-8-4">
        <li pn="section-8-4.1" derivedCounter="1.">XML elements defined within the CLUE protocol XML schema itself 
(protocol-specific information).</li>
        <li pn="section-8-4.2" derivedCounter="2.">other XML elements compliant to the CLUE data model schema 
(data model information).</li>
      </ol>
      <t indent="0" pn="section-8-5">
When new protocol-specific information is needed somewhere in the protocol 
messages, it can be added in place of the &lt;any&gt; elements and 
&lt;anyAttribute&gt; elements envisioned by the protocol schema.
The policy currently defined in the protocol schema for handling 
&lt;any&gt; and &lt;anyAttribute&gt; elements is as follows:
</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-8-6">
        <li pn="section-8-6.1"> elementFormDefault="qualified"</li>
        <li pn="section-8-6.2"> attributeFormDefault="unqualified"</li>
      </ul>
      <t indent="0" pn="section-8-7">    
The new information must be qualified by namespaces 
other than "urn:ietf:params:xml:ns:clue-protocol" (the protocol URN) 
and "urn:ietf:params:xml:ns:clue-info" (the data model URN). 
Elements or attributes from unknown namespaces <bcp14>MUST</bcp14> be ignored.  
</t>
      <t indent="0" pn="section-8-8">
The other matter concerns data model information.
Data model information is defined by the XML schema associated 
with the URN "urn:ietf:params:xml:ns:clue-info".
Note that there are also extensibility issues for the XML elements defined in such a schema.
Those issues are overcome by using &lt;any&gt; and &lt;anyAttribute&gt; 
placeholders.
New information within data model elements can be added in place
of &lt;any&gt; and &lt;anyAttribute&gt; schema elements, as long as they are properly namespace qualified.
</t>
      <t indent="0" pn="section-8-9">On the other hand (the second category of extensions), "extra" CLUE protocol messages, 
i.e., messages not envisioned in the latest standard version of the schema, might be needed.
In that case, the messages and the associated behavior should be defined in 
external documents that both communication parties must be aware of.
</t>
      <t indent="0" pn="section-8-10">
As shown in <xref target="fig_extension" format="default" sectionFormat="of" derivedContent="Figure 12"/>, the 
fields of the &lt;extension&gt; element (either new information 
or new messages) take the following values:
</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-8-11">
        <li pn="section-8-11.1">a name.</li>
        <li pn="section-8-11.2">an external XML schema defining the XML information and/or the XML 
messages representing the extension.</li>
        <li pn="section-8-11.3">the major standard version of the protocol that the extension 
refers to.</li>
      </ul>
      <figure anchor="fig_extension" align="left" suppress-title="false" pn="figure-12">
        <name slugifiedName="name-the-extension-element">The &lt;extension&gt; Element</name>
        <sourcecode name="" type="xml" markers="false" pn="section-8-12.1">
  &lt;xs:complexType name="extensionType"&gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name="name" type="xs:string" /&gt;
      &lt;xs:element name="schemaRef" type="xs:anyURI"/&gt;
      &lt;xs:element name="version" type="versionType"/&gt;
      &lt;xs:any namespace="##other" processContents="lax"
            minOccurs="0"/&gt;
    &lt;/xs:sequence&gt;
    &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
  &lt;/xs:complexType&gt;</sourcecode>
      </figure>
      <t indent="0" pn="section-8-13">
The above-described &lt;extension&gt; element is carried within 
the 'options' and 'optionsResponse' messages to 
represent the extensions supported by both the CI and the CR.
</t>
      <t indent="0" pn="section-8-14">
Extensions <bcp14>MUST</bcp14> be defined in a separate XML schema file and
<bcp14>MUST</bcp14> be provided with a companion document describing their semantics 
and use. 
</t>
      <section anchor="sec-extension-example" numbered="true" toc="include" removeInRFC="false" pn="section-8.1">
        <name slugifiedName="name-extension-example">Extension Example</name>
        <t indent="0" pn="section-8.1-1">
An example of an extension might be a "new" capture attribute (i.e., a 
capture attribute that is not envisioned in the current standard 
defining the CLUE data model in 
<xref target="RFC8846" format="default" sectionFormat="of" derivedContent="RFC8846"/>) needed to further 
describe a video capture.
</t>
        <t indent="0" pn="section-8.1-2">
The CLUE data model document <xref target="RFC8846" format="default" sectionFormat="of" derivedContent="RFC8846"/>
envisions the possibility of adding this kind of 
"extra" information in the description of a video capture. 
For convenience, the XML definition of a video capture taken
from <xref target="RFC8846" format="default" sectionFormat="of" derivedContent="RFC8846"/> is 
shown in <xref target="fig_video_capture" format="default" sectionFormat="of" derivedContent="Figure 13"/> below. 
</t>
        <figure anchor="fig_video_capture" align="left" suppress-title="false" pn="figure-13">
          <name slugifiedName="name-xml-definition-of-a-clue-vi">XML Definition of a CLUE Video Capture</name>
          <sourcecode name="" type="xml" markers="false" pn="section-8.1-3.1">
&lt;!-- VIDEO CAPTURE TYPE --&gt;
   &lt;xs:complexType name="videoCaptureType"&gt;
    &lt;xs:complexContent&gt;
     &lt;xs:extension base="tns:mediaCaptureType"&gt;
      &lt;xs:sequence&gt;
       &lt;xs:any namespace="##other" processContents="lax"
             minOccurs="0"
       maxOccurs="unbounded"/&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
     &lt;/xs:extension&gt;
    &lt;/xs:complexContent&gt;
   &lt;/xs:complexType&gt;</sourcecode>
        </figure>
        <t indent="0" pn="section-8.1-4">
According to such a definition, a video capture might have, 
after the set of generic media capture attributes, 
a set of new attributes defined elsewhere, i.e., 
in an XML schema defining an extension.
The XML schema defining the extension might look like the following 
(<xref target="fig_xml_extension" format="default" sectionFormat="of" derivedContent="Figure 14"/>):

</t>
        <figure anchor="fig_xml_extension" align="left" suppress-title="false" pn="figure-14">
          <name slugifiedName="name-xml-schema-defining-an-exte">XML Schema Defining an Extension</name>
          <sourcecode name="" type="xml" markers="false" pn="section-8.1-5.1">
&lt;?xml version="1.0" encoding="UTF-8" ?&gt;
&lt;xs:schema version="1.0"
  targetNamespace="https://example.extensions.com/myVideoExtensions"
  xmlns:xs="https://www.w3.org/2001/XMLSchema"
  xmlns="https://example.extensions.com/myVideoExtensions"
  elementFormDefault="qualified"
  attributeFormDefault="unqualified"&gt;

        &lt;!--
              This is the new element to be put in place of the &lt;any&gt;
              element in the video capture definition
              of the CLUE data model schema
        --&gt;

        &lt;xs:element name="myVideoExtension"&gt;
                &lt;xs:complexType&gt;
                        &lt;xs:sequence&gt;
                             &lt;xs:element ref="newVideoAttribute1"/&gt;
                             &lt;xs:element ref="newVideoAttribute2"/&gt;
                        &lt;/xs:sequence&gt;
                &lt;/xs:complexType&gt;
        &lt;/xs:element&gt;

        &lt;xs:element name="newVideoAttribute1" type="xs:string"/&gt;

        &lt;xs:element name = "newVideoAttribute2" type = "xs:boolean"/&gt;
&lt;/xs:schema&gt;</sourcecode>
        </figure>
        <t indent="0" pn="section-8.1-6">
By using the extension above, a video capture can be further described 
in the advertisement using the &lt;myVideoExtension&gt; 
element containing two extra pieces of information (&lt;newVideoAttribute1&gt; 
and &lt;newVideoAttribute2&gt;),
besides using the attributes envisioned for a generic media capture.
As stated in this document, 
both participants must be aware of the extension schema and 
related semantics to use such an extension and must negotiate 
it via the 'options' and 'optionsResponse' messages.
</t>
      </section>
    </section>
    <section anchor="sec-schema" numbered="true" toc="include" removeInRFC="false" pn="section-9">
      <name slugifiedName="name-xml-schema">XML Schema</name>
      <t indent="0" pn="section-9-1">
The XML schema defining the CLUE messages is provided below 
(<xref target="fig_clue_schema" format="default" sectionFormat="of" derivedContent="Figure 15"/>).
</t>
      <figure anchor="fig_clue_schema" align="left" suppress-title="false" pn="figure-15">
        <name slugifiedName="name-schema-defining-clue-messag">Schema Defining CLUE Messages</name>
        <sourcecode name="" type="xml" markers="false" pn="section-9-2.1">
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;xs:schema xmlns:xs="https://www.w3.org/2001/XMLSchema"
        xmlns="urn:ietf:params:xml:ns:clue-protocol"
        xmlns:dm="urn:ietf:params:xml:ns:clue-info"
        version="1.0"
        targetNamespace="urn:ietf:params:xml:ns:clue-protocol"
        elementFormDefault="qualified"
        attributeFormDefault="unqualified"&gt;
  &lt;!-- Import data model schema --&gt;
  &lt;xs:import namespace="urn:ietf:params:xml:ns:clue-info"/&gt;
  &lt;!-- ELEMENT DEFINITIONS --&gt;
  &lt;xs:element name="options" type="optionsMessageType" /&gt;
  &lt;xs:element name="optionsResponse"
        type="optionsResponseMessageType"/&gt;
  &lt;xs:element name="advertisement" type="advertisementMessageType"/&gt;
  &lt;xs:element name="ack" type="advAcknowledgementMessageType"/&gt;
  &lt;xs:element name="configure" type="configureMessageType"/&gt;
  &lt;xs:element name="configureResponse"
        type="configureResponseMessageType"/&gt;
  &lt;!-- CLUE MESSAGE TYPE --&gt;
  &lt;xs:complexType name="clueMessageType" abstract="true"&gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name="clueId" type="xs:string" minOccurs="0" /&gt;
      &lt;xs:element name="sequenceNr" type="xs:positiveInteger" /&gt;
    &lt;/xs:sequence&gt;
    &lt;xs:attribute name="protocol" type="xs:string" fixed="CLUE"
        use="required" /&gt;
    &lt;xs:attribute name="v" type="versionType" use="required" /&gt;
  &lt;/xs:complexType&gt;
  &lt;!-- CLUE RESPONSE TYPE --&gt;
  &lt;xs:complexType name="clueResponseType"&gt;
    &lt;xs:complexContent&gt;
      &lt;xs:extension base="clueMessageType"&gt;
        &lt;xs:sequence&gt;
          &lt;xs:element name="responseCode" type="responseCodeType" /&gt;
          &lt;xs:element name="reasonString" type="xs:string"
                minOccurs="0"/&gt;
        &lt;/xs:sequence&gt;
      &lt;/xs:extension&gt;
    &lt;/xs:complexContent&gt;
  &lt;/xs:complexType&gt;
  &lt;!-- VERSION TYPE --&gt;
  &lt;xs:simpleType name="versionType"&gt;
    &lt;xs:restriction base="xs:string"&gt;
      &lt;xs:pattern value="[1-9][0-9]*\.[0-9]+" /&gt;
    &lt;/xs:restriction&gt;
  &lt;/xs:simpleType&gt;
  &lt;!-- RESPONSE CODE TYPE --&gt;
  &lt;xs:simpleType name="responseCodeType"&gt;
    &lt;xs:restriction base="xs:integer"&gt;
      &lt;xs:pattern value="[1-9][0-9][0-9]" /&gt;
    &lt;/xs:restriction&gt;
  &lt;/xs:simpleType&gt;
  &lt;!-- SUCCESS RESPONSE CODE TYPE --&gt;
  &lt;xs:simpleType name="successResponseCodeType"&gt;
    &lt;xs:restriction base="xs:integer"&gt;
      &lt;xs:pattern value="2[0-9][0-9]" /&gt;
    &lt;/xs:restriction&gt;
  &lt;/xs:simpleType&gt;
  &lt;!-- CLUE OPTIONS --&gt;
  &lt;xs:complexType name="optionsMessageType"&gt;
    &lt;xs:complexContent&gt;
      &lt;xs:extension base="clueMessageType"&gt;
        &lt;xs:sequence&gt;
          &lt;xs:element name="mediaProvider" type="xs:boolean"/&gt;
          &lt;xs:element name="mediaConsumer" type="xs:boolean"/&gt;
          &lt;xs:element name="supportedVersions"
                type="versionsListType"
                minOccurs="0" /&gt;
          &lt;xs:element name="supportedExtensions"
                type="extensionsListType" minOccurs="0"/&gt;
          &lt;xs:any namespace="##other" processContents="lax"
                minOccurs="0"/&gt;
        &lt;/xs:sequence&gt;
        &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
      &lt;/xs:extension&gt;
    &lt;/xs:complexContent&gt;
  &lt;/xs:complexType&gt;
  &lt;!-- VERSIONS LIST TYPE --&gt;
  &lt;xs:complexType name="versionsListType"&gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name="version" type="versionType" minOccurs="1"
        maxOccurs="unbounded"/&gt;
      &lt;xs:any namespace="##other" processContents="lax"
        minOccurs="0"/&gt;
    &lt;/xs:sequence&gt;
    &lt;xs:anyAttribute namespace="##other" processContents="lax" /&gt;
  &lt;/xs:complexType&gt;
  &lt;!-- EXTENSIONS LIST TYPE --&gt;
  &lt;xs:complexType name="extensionsListType"&gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name="extension" type="extensionType"
        minOccurs="1"
        maxOccurs="unbounded"/&gt;
      &lt;xs:any namespace="##other" processContents="lax"
        minOccurs="0"/&gt;
    &lt;/xs:sequence&gt;
    &lt;xs:anyAttribute namespace="##other" processContents="lax" /&gt;
  &lt;/xs:complexType&gt;
  &lt;!-- EXTENSION TYPE --&gt;
  &lt;xs:complexType name="extensionType"&gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name="name" type="xs:string" /&gt;
      &lt;xs:element name="schemaRef" type="xs:anyURI" /&gt;
      &lt;xs:element name="version" type="versionType" /&gt;
      &lt;xs:any namespace="##other" processContents="lax"
        minOccurs="0"/&gt;
    &lt;/xs:sequence&gt;
    &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
  &lt;/xs:complexType&gt;
  &lt;!-- CLUE 'optionsResponse' --&gt;
  &lt;xs:complexType name="optionsResponseMessageType"&gt;
    &lt;xs:complexContent&gt;
      &lt;xs:extension base="clueResponseType"&gt;
        &lt;xs:sequence&gt;
          &lt;xs:element name="mediaProvider" type="xs:boolean"
                minOccurs="0"/&gt;
          &lt;xs:element name="mediaConsumer" type="xs:boolean"
                minOccurs="0"/&gt;
          &lt;xs:element name="version" type="versionType"
                minOccurs="0"/&gt;
          &lt;xs:element name="commonExtensions"
                type="extensionsListType" minOccurs="0"/&gt;
          &lt;xs:any namespace="##other" processContents="lax"
                minOccurs="0"/&gt;
        &lt;/xs:sequence&gt;
        &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
      &lt;/xs:extension&gt;
    &lt;/xs:complexContent&gt;
  &lt;/xs:complexType&gt;
  &lt;!-- CLUE ADVERTISEMENT MESSAGE TYPE --&gt;
  &lt;xs:complexType name="advertisementMessageType"&gt;
    &lt;xs:complexContent&gt;
      &lt;xs:extension base="clueMessageType"&gt;
        &lt;xs:sequence&gt;
          &lt;!-- mandatory --&gt;
          &lt;xs:element name="mediaCaptures"
                type="dm:mediaCapturesType"/&gt;
          &lt;xs:element name="encodingGroups"
                type="dm:encodingGroupsType"/&gt;
          &lt;xs:element name="captureScenes"
                type="dm:captureScenesType"/&gt;
          &lt;!-- optional --&gt;
          &lt;xs:element name="simultaneousSets"
                type="dm:simultaneousSetsType" minOccurs="0"/&gt;
          &lt;xs:element name="globalViews" type="dm:globalViewsType"
                minOccurs="0"/&gt;
          &lt;xs:element name="people"
                type="dm:peopleType" minOccurs="0"/&gt;
          &lt;xs:any namespace="##other" processContents="lax"
                minOccurs="0"/&gt;
        &lt;/xs:sequence&gt;
        &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
      &lt;/xs:extension&gt;
    &lt;/xs:complexContent&gt;
  &lt;/xs:complexType&gt;
  &lt;!-- 'ack' MESSAGE TYPE --&gt;
  &lt;xs:complexType name="advAcknowledgementMessageType"&gt;
    &lt;xs:complexContent&gt;
      &lt;xs:extension base="clueResponseType"&gt;
        &lt;xs:sequence&gt;
          &lt;xs:element name="advSequenceNr"
                type="xs:positiveInteger"/&gt;
          &lt;xs:any namespace="##other" processContents="lax"
                minOccurs="0"/&gt;
        &lt;/xs:sequence&gt;
        &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
      &lt;/xs:extension&gt;
    &lt;/xs:complexContent&gt;
  &lt;/xs:complexType&gt;
  &lt;!-- CLUE 'configure' MESSAGE TYPE --&gt;
  &lt;xs:complexType name="configureMessageType"&gt;
    &lt;xs:complexContent&gt;
      &lt;xs:extension base="clueMessageType"&gt;
        &lt;xs:sequence&gt;
          &lt;!-- mandatory fields --&gt;
          &lt;xs:element name="advSequenceNr"
                type="xs:positiveInteger"/&gt;
          &lt;xs:element name="ack" type="successResponseCodeType"
                minOccurs="0"/&gt;
          &lt;xs:element name="captureEncodings"
                type="dm:captureEncodingsType" minOccurs="0"/&gt;
          &lt;xs:any namespace="##other" processContents="lax"
                minOccurs="0"/&gt;
        &lt;/xs:sequence&gt;
        &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
      &lt;/xs:extension&gt;
    &lt;/xs:complexContent&gt;
  &lt;/xs:complexType&gt;
  &lt;!-- 'configureResponse' MESSAGE TYPE --&gt;
  &lt;xs:complexType name="configureResponseMessageType"&gt;
    &lt;xs:complexContent&gt;
      &lt;xs:extension base="clueResponseType"&gt;
        &lt;xs:sequence&gt;
          &lt;xs:element name="confSequenceNr"
                type="xs:positiveInteger"/&gt;
          &lt;xs:any namespace="##other" processContents="lax"
                minOccurs="0"/&gt;
        &lt;/xs:sequence&gt;
        &lt;xs:anyAttribute namespace="##other" processContents="lax"/&gt;
      &lt;/xs:extension&gt;
    &lt;/xs:complexContent&gt;
  &lt;/xs:complexType&gt;
&lt;/xs:schema&gt;</sourcecode>
      </figure>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-10">
      <name slugifiedName="name-call-flow-example">Call Flow Example</name>
      <t indent="0" pn="section-10-1">
This section describes the CLUE protocol messages exchanged in the following
call flow.  For simplicity, only one direction of media is shown, as the other direction is 
precisely symmetric.
</t>
      <artwork name="" type="" align="left" alt="" pn="section-10-2">
                 +-----+               +-----+
                 |     |               |     |
                 | CP1 |               | CP2 |
                 |     |               |     |
                 +--+--+               +--+--+
                    |                     |
                    |    1. options       |
                    +--------------------&gt;|
                    |                     |
                    |                     |
                    |2. optionsResponse   |
                    |&lt;--------------------+
                    |                     |
                    |                     |
                    |3. advertisement     |
                    +--------------------&gt;|
                    |                     |
                    |                     |
                    |4. configure+ack     |
                    |&lt;--------------------+
                    |                     |
                    |                     |
                    |5. configureResponse |
                    +--------------------&gt;|
                    |                     |
                    |                     |
                    |6. advertisement     |
                    +--------------------&gt;|
                    |                     |
                    |                     |
                    |    7. ack           |
                    |&lt;--------------------+
                    |                     |
                    |                     |
                    |8. configure         |
                    |&lt;--------------------+
                    |                     |
                    |                     |
                    |9. configureResponse |
                    +--------------------&gt;|
                    |                     |
                    |                     |
                    .                     .
                    .                     .
                    .                     .</artwork>
      <t indent="0" pn="section-10-3">
Two CPs, CP1 and CP2, have successfully set up the CLUE channel according to 
<xref target="RFC8850" format="default" sectionFormat="of" derivedContent="RFC8850"/>.
CP1 is the CI, and CP2 is the CR.
</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-10-4">
        <li pn="section-10-4.1">The initiation phase starts (negotiation of the CLUE protocol version and extensions).
CP1, as the CI, sends to CP2 an 'options' message specifying the supported versions and extensions (<xref target="opt-example" format="default" sectionFormat="of" derivedContent="Section 10.1"/>).
CP1 supports (i) version 1.4 with extensions E1, E2, and E3 and (ii) version 2.7 with extensions E4 and E5.
Because of such capabilities, CP1 sends an 'options' message with the "v"
attribute set to "1.4" and explicitly specifies all the supported versions 
and extensions in the corresponding fields of the 'options' message.
In the 'options' message, CP1 also specifies that it intends to act as both an MP and an MC.</li>
        <li pn="section-10-4.2">CP2 supports versions 3.0, 2.9, and 1.9 of the CLUE protocol, each version without any extensions.
Version 2.7 is the best common choice.
Given the received 'options' message, CP2 answers with an 'optionsResponse' message in which it specifies only version 2.7 as the agreed-upon version 
of the CLUE protocol to be used, leaving blank the extensions part of the message to say that no extensions will be used in the CLUE session
 (<xref target="optRes-example" format="default" sectionFormat="of" derivedContent="Section 10.2"/>).
In the 'optionsResponse' message, CP2 also specifies that it intends to act as both an MP and an MC.</li>
      </ul>
      <t indent="0" pn="section-10-5">
After the initiation phase is completed, CP1 and CP2 start their activity as
the MP and the MC, respectively. 
For the sake of simplicity, the rest of the call flow focuses only on the dialogue between MP 
CP1 and MC CP2.
</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-10-6">
        <li pn="section-10-6.1">CP1 advertises a telepresence configuration like the one described in 
<xref target="RFC8846" sectionFormat="comma" section="27" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8846#section-27" derivedContent="RFC8846"/>,
 where there are 
(i) three main video streams captured by three cameras, with the central camera capable of capturing a zoomed-out view of the overall telepresence room, 
(ii) a multicontent capture of the loudest segment of the room, and 
(iii) one audio capture for the audio of the whole room (<xref target="adv-example" format="default" sectionFormat="of" derivedContent="Section 10.3"/>).
</li>
        <li pn="section-10-6.2">CP2 receives CP1's 'advertisement' message and, after processing it, sends
back to CP1 a 'configure+ack' message in which it declares its interest in the
multicontent capture and the audio capture only (<xref target="confAck-example" format="default" sectionFormat="of" derivedContent="Section 10.4"/>).</li>
        <li pn="section-10-6.3">CP1 answers CP2's 'configure+ack' message with a 'configureResponse' 
message that includes a 200 (Success) response code to accept all of CP2's requests
 (<xref target="confRes-example" format="default" sectionFormat="of" derivedContent="Section 10.5"/>).</li>
        <li pn="section-10-6.4">To reflect the changes in its telepresence offer, CP1 issues a new 'advertisement' message to CP2
 (<xref target="adv2-example" format="default" sectionFormat="of" derivedContent="Section 10.6"/>), this time also adding a composed 
capture made of a big picture representing the current speaker and two picture-in-picture boxes representing the previous speakers 
(see <xref target="RFC8846" sectionFormat="comma" section="28" format="default" derivedLink="https://rfc-editor.org/rfc/rfc8846#section-28" derivedContent="RFC8846"/> for
more details regarding the telepresence description).</li>
        <li pn="section-10-6.5">CP2 acknowledges the second 'advertisement' message with an 'ack' message  (<xref target="ack-example" format="default" sectionFormat="of" derivedContent="Section 10.7"/>).</li>
        <li pn="section-10-6.6">Later in the session, CP2 changes the requested media streams from CP1 by sending to CP1 a 'configure' message replacing the
previously selected video streams with the new composed media streams advertised by CP1
 (<xref target="conf-example" format="default" sectionFormat="of" derivedContent="Section 10.8"/>).
 Media streams from the previous configuration continue to 
 flow during the reconfiguration process.</li>
        <li pn="section-10-6.7">Finally, CP1 accepts CP2's latest request with a 'configureResponse' message (<xref target="confRes2-example" format="default" sectionFormat="of" derivedContent="Section 10.9"/>).</li>
      </ul>
      <t indent="0" pn="section-10-7">We would also like to point out that in the depicted flow three distinct sequence number spaces per sender are involved 
(two of which appear in the snippets, since we only show one direction of media). The discontinuity
between the sequence number values in Sections <xref target="optRes-example" format="counter" sectionFormat="of" derivedContent="10.2"/> and <xref target="adv-example" format="counter" sectionFormat="of" derivedContent="10.3"/> 
is hence correct.
</t>
      <section anchor="opt-example" numbered="true" toc="include" removeInRFC="false" pn="section-10.1">
        <name slugifiedName="name-clue-message-no-1-options">CLUE Message No. 1: 'options'</name>
        <sourcecode name="" type="xml" markers="false" pn="section-10.1-1">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;options xmlns="urn:ietf:params:xml:ns:clue-protocol"
 xmlns:ns2="urn:ietf:params:xml:ns:clue-info"
 xmlns:ns3="urn:ietf:params:xml:ns:vcard-4.0"
 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
 protocol="CLUE" v="1.4"&gt;
    &lt;clueId&gt;CP1&lt;/clueId&gt;
    &lt;sequenceNr&gt;51&lt;/sequenceNr&gt;
    &lt;mediaProvider&gt;true&lt;/mediaProvider&gt;
    &lt;mediaConsumer&gt;true&lt;/mediaConsumer&gt;
    &lt;supportedVersions&gt;
        &lt;version&gt;1.4&lt;/version&gt;
        &lt;version&gt;2.7&lt;/version&gt;
    &lt;/supportedVersions&gt;
    &lt;supportedExtensions&gt;
        &lt;extension&gt;
                &lt;name&gt;E1&lt;/name&gt;
                &lt;schemaRef&gt;URL_E1&lt;/schemaRef&gt;
                &lt;version&gt;1.4&lt;/version&gt;
        &lt;/extension&gt;
        &lt;extension&gt;
                &lt;name&gt;E2&lt;/name&gt;
                &lt;schemaRef&gt;URL_E2&lt;/schemaRef&gt;
                &lt;version&gt;1.4&lt;/version&gt;
        &lt;/extension&gt;
        &lt;extension&gt;
                &lt;name&gt;E3&lt;/name&gt;
                &lt;schemaRef&gt;URL_E3&lt;/schemaRef&gt;
                &lt;version&gt;1.4&lt;/version&gt;
        &lt;/extension&gt;
        &lt;extension&gt;
                &lt;name&gt;E4&lt;/name&gt;
                &lt;schemaRef&gt;URL_E4&lt;/schemaRef&gt;
                &lt;version&gt;2.7&lt;/version&gt;
        &lt;/extension&gt;
        &lt;extension&gt;
                &lt;name&gt;E5&lt;/name&gt;
                &lt;schemaRef&gt;URL_E5&lt;/schemaRef&gt;
                &lt;version&gt;2.7&lt;/version&gt;
        &lt;/extension&gt;
    &lt;/supportedExtensions&gt;
&lt;/options&gt;</sourcecode>
      </section>
      <section anchor="optRes-example" numbered="true" toc="include" removeInRFC="false" pn="section-10.2">
        <name slugifiedName="name-clue-message-no-2-optionsre">CLUE Message No. 2: 'optionsResponse'</name>
        <sourcecode name="" type="xml" markers="false" pn="section-10.2-1">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;optionsResponse xmlns="urn:ietf:params:xml:ns:clue-protocol"
 xmlns:ns2="urn:ietf:params:xml:ns:clue-info"
 xmlns:ns3="urn:ietf:params:xml:ns:vcard-4.0"
 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
 protocol="CLUE" v="1.4"&gt;
    &lt;clueId&gt;CP2&lt;/clueId&gt;
    &lt;sequenceNr&gt;62&lt;/sequenceNr&gt;
    &lt;responseCode&gt;200&lt;/responseCode&gt;
    &lt;reasonString&gt;Success&lt;/reasonString&gt;
    &lt;mediaProvider&gt;true&lt;/mediaProvider&gt;
    &lt;mediaConsumer&gt;true&lt;/mediaConsumer&gt;
    &lt;version&gt;2.7&lt;/version&gt;
&lt;/optionsResponse&gt;</sourcecode>
      </section>
      <section anchor="adv-example" numbered="true" toc="include" removeInRFC="false" pn="section-10.3">
        <name slugifiedName="name-clue-message-no-3-advertise">CLUE Message No. 3: 'advertisement'</name>
        <sourcecode name="" type="xml" markers="false" pn="section-10.3-1">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;ns2:advertisement xmlns="urn:ietf:params:xml:ns:clue-info"
 xmlns:ns2="urn:ietf:params:xml:ns:clue-protocol"
 xmlns:ns3="urn:ietf:params:xml:ns:vcard-4.0"
 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
 protocol="CLUE" v="2.7"&gt;
    &lt;ns2:clueId&gt;CP1&lt;/ns2:clueId&gt;
    &lt;ns2:sequenceNr&gt;11&lt;/ns2:sequenceNr&gt;
    &lt;ns2:mediaCaptures&gt;
      &lt;mediaCapture
         xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
         xsi:type="audioCaptureType" captureID="AC0"
         mediaType="audio"&gt;
         &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
            &lt;spatialInformation&gt;
                &lt;captureOrigin&gt;
                   &lt;capturePoint&gt;
                      &lt;x&gt;0.0&lt;/x&gt;
                      &lt;y&gt;0.0&lt;/y&gt;
                      &lt;z&gt;10.0&lt;/z&gt;
                 &lt;/capturePoint&gt;
                 &lt;lineOfCapturePoint&gt;
                   &lt;x&gt;0.0&lt;/x&gt;
                   &lt;y&gt;1.0&lt;/y&gt;
                   &lt;z&gt;10.0&lt;/z&gt;
                  &lt;/lineOfCapturePoint&gt;
                &lt;/captureOrigin&gt;
              &lt;/spatialInformation&gt;
             &lt;individual&gt;true&lt;/individual&gt;
             &lt;encGroupIDREF&gt;EG1&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;main audio from the room
             &lt;/description&gt;
             &lt;priority&gt;1&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;room&lt;/view&gt;
             &lt;capturedPeople&gt;
                 &lt;personIDREF&gt;alice&lt;/personIDREF&gt;
                 &lt;personIDREF&gt;bob&lt;/personIDREF&gt;
                 &lt;personIDREF&gt;ciccio&lt;/personIDREF&gt;
             &lt;/capturedPeople&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC0"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureOrigin&gt;
                         &lt;capturePoint&gt;
                         &lt;x&gt;-2.0&lt;/x&gt;
                         &lt;y&gt;0.0&lt;/y&gt;
                         &lt;z&gt;10.0&lt;/z&gt;
                     &lt;/capturePoint&gt;
                 &lt;/captureOrigin&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;-1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;-1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;individual&gt;true&lt;/individual&gt;
             &lt;encGroupIDREF&gt;EG0&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;left camera video capture
             &lt;/description&gt;
             &lt;priority&gt;1&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;individual&lt;/view&gt;
             &lt;capturedPeople&gt;
                 &lt;personIDREF&gt;ciccio&lt;/personIDREF&gt;
             &lt;/capturedPeople&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC1"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureOrigin&gt;
                         &lt;capturePoint&gt;
                         &lt;x&gt;0.0&lt;/x&gt;
                         &lt;y&gt;0.0&lt;/y&gt;
                         &lt;z&gt;10.0&lt;/z&gt;
                     &lt;/capturePoint&gt;
                 &lt;/captureOrigin&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;-1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;-1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;individual&gt;true&lt;/individual&gt;
             &lt;encGroupIDREF&gt;EG0&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;central camera video capture
             &lt;/description&gt;
             &lt;priority&gt;1&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;individual&lt;/view&gt;
             &lt;capturedPeople&gt;
                 &lt;personIDREF&gt;alice&lt;/personIDREF&gt;
             &lt;/capturedPeople&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC2"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureOrigin&gt;
                         &lt;capturePoint&gt;
                         &lt;x&gt;2.0&lt;/x&gt;
                         &lt;y&gt;0.0&lt;/y&gt;
                         &lt;z&gt;10.0&lt;/z&gt;
                     &lt;/capturePoint&gt;
                 &lt;/captureOrigin&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;individual&gt;true&lt;/individual&gt;
             &lt;encGroupIDREF&gt;EG0&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;right camera video capture
             &lt;/description&gt;
             &lt;priority&gt;1&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;individual&lt;/view&gt;
             &lt;capturedPeople&gt;
                 &lt;personIDREF&gt;bob&lt;/personIDREF&gt;
             &lt;/capturedPeople&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC3"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;content&gt;
                 &lt;sceneViewIDREF&gt;SE1&lt;/sceneViewIDREF&gt;
             &lt;/content&gt;
             &lt;policy&gt;SoundLevel:0&lt;/policy&gt;
             &lt;encGroupIDREF&gt;EG0&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;loudest room segment
             &lt;/description&gt;
             &lt;priority&gt;2&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;individual&lt;/view&gt;
             &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC4"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureOrigin&gt;
                         &lt;capturePoint&gt;
                         &lt;x&gt;0.0&lt;/x&gt;
                         &lt;y&gt;0.0&lt;/y&gt;
                         &lt;z&gt;10.0&lt;/z&gt;
                     &lt;/capturePoint&gt;
                 &lt;/captureOrigin&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;7.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;7.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;13.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;13.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;individual&gt;true&lt;/individual&gt;
             &lt;encGroupIDREF&gt;EG0&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;zoomed-out view of all people in
             the room&lt;/description&gt;
             &lt;priority&gt;2&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;room&lt;/view&gt;
             &lt;capturedPeople&gt;
                 &lt;personIDREF&gt;alice&lt;/personIDREF&gt;
                 &lt;personIDREF&gt;bob&lt;/personIDREF&gt;
                 &lt;personIDREF&gt;ciccio&lt;/personIDREF&gt;
                 &lt;/capturedPeople&gt;
         &lt;/mediaCapture&gt;
     &lt;/ns2:mediaCaptures&gt;
     &lt;ns2:encodingGroups&gt;
         &lt;encodingGroup encodingGroupID="EG0"&gt;
             &lt;maxGroupBandwidth&gt;600000&lt;/maxGroupBandwidth&gt;
             &lt;encodingIDList&gt;
                 &lt;encodingID&gt;ENC1&lt;/encodingID&gt;
                 &lt;encodingID&gt;ENC2&lt;/encodingID&gt;
                 &lt;encodingID&gt;ENC3&lt;/encodingID&gt;
             &lt;/encodingIDList&gt;
         &lt;/encodingGroup&gt;
         &lt;encodingGroup encodingGroupID="EG1"&gt;
             &lt;maxGroupBandwidth&gt;300000&lt;/maxGroupBandwidth&gt;
             &lt;encodingIDList&gt;
                 &lt;encodingID&gt;ENC4&lt;/encodingID&gt;
                 &lt;encodingID&gt;ENC5&lt;/encodingID&gt;
             &lt;/encodingIDList&gt;
         &lt;/encodingGroup&gt;
     &lt;/ns2:encodingGroups&gt;
     &lt;ns2:captureScenes&gt;
         &lt;captureScene scale="unknown" sceneID="CS1"&gt;
             &lt;sceneViews&gt;
                 &lt;sceneView sceneViewID="SE1"&gt;
                     &lt;mediaCaptureIDs&gt;
                         &lt;mediaCaptureIDREF&gt;VC0&lt;/mediaCaptureIDREF&gt;
                         &lt;mediaCaptureIDREF&gt;VC1&lt;/mediaCaptureIDREF&gt;
                         &lt;mediaCaptureIDREF&gt;VC2&lt;/mediaCaptureIDREF&gt;
                     &lt;/mediaCaptureIDs&gt;
                 &lt;/sceneView&gt;
                 &lt;sceneView sceneViewID="SE2"&gt;
                     &lt;mediaCaptureIDs&gt;
                         &lt;mediaCaptureIDREF&gt;VC3&lt;/mediaCaptureIDREF&gt;
                     &lt;/mediaCaptureIDs&gt;
                 &lt;/sceneView&gt;
                 &lt;sceneView sceneViewID="SE3"&gt;
                     &lt;mediaCaptureIDs&gt;
                         &lt;mediaCaptureIDREF&gt;VC4&lt;/mediaCaptureIDREF&gt;
                     &lt;/mediaCaptureIDs&gt;
                 &lt;/sceneView&gt;
                 &lt;sceneView sceneViewID="SE4"&gt;
                     &lt;mediaCaptureIDs&gt;
                         &lt;mediaCaptureIDREF&gt;AC0&lt;/mediaCaptureIDREF&gt;
                     &lt;/mediaCaptureIDs&gt;
                 &lt;/sceneView&gt;
             &lt;/sceneViews&gt;
         &lt;/captureScene&gt;
     &lt;/ns2:captureScenes&gt;
     &lt;ns2:simultaneousSets&gt;
         &lt;simultaneousSet setID="SS1"&gt;
             &lt;mediaCaptureIDREF&gt;VC3&lt;/mediaCaptureIDREF&gt;
             &lt;sceneViewIDREF&gt;SE1&lt;/sceneViewIDREF&gt;
         &lt;/simultaneousSet&gt;
         &lt;simultaneousSet setID="SS2"&gt;
             &lt;mediaCaptureIDREF&gt;VC0&lt;/mediaCaptureIDREF&gt;
             &lt;mediaCaptureIDREF&gt;VC2&lt;/mediaCaptureIDREF&gt;
             &lt;mediaCaptureIDREF&gt;VC4&lt;/mediaCaptureIDREF&gt;
         &lt;/simultaneousSet&gt;
     &lt;/ns2:simultaneousSets&gt;
     &lt;ns2:people&gt;
         &lt;person personID="bob"&gt;
             &lt;personInfo&gt;
                 &lt;ns3:fn&gt;
                   &lt;ns3:text&gt;Bob&lt;/ns3:text&gt;
                 &lt;/ns3:fn&gt;
             &lt;/personInfo&gt;
             &lt;personType&gt;minute taker&lt;/personType&gt;
         &lt;/person&gt;
         &lt;person personID="alice"&gt;
             &lt;personInfo&gt;
                 &lt;ns3:fn&gt;
                     &lt;ns3:text&gt;Alice&lt;/ns3:text&gt;
                 &lt;/ns3:fn&gt;
             &lt;/personInfo&gt;
             &lt;personType&gt;presenter&lt;/personType&gt;
         &lt;/person&gt;
         &lt;person personID="ciccio"&gt;
             &lt;personInfo&gt;
                 &lt;ns3:fn&gt;
                     &lt;ns3:text&gt;Ciccio&lt;/ns3:text&gt;
                 &lt;/ns3:fn&gt;
             &lt;/personInfo&gt;
             &lt;personType&gt;chairman&lt;/personType&gt;
             &lt;personType&gt;timekeeper&lt;/personType&gt;
         &lt;/person&gt;
     &lt;/ns2:people&gt;
&lt;/ns2:advertisement&gt;</sourcecode>
      </section>
      <section anchor="confAck-example" numbered="true" toc="include" removeInRFC="false" pn="section-10.4">
        <name slugifiedName="name-clue-message-no-4-configure">CLUE Message No. 4: 'configure+ack'</name>
        <sourcecode name="" type="xml" markers="false" pn="section-10.4-1">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;ns2:configure xmlns="urn:ietf:params:xml:ns:clue-info"
 xmlns:ns2="urn:ietf:params:xml:ns:clue-protocol"
 xmlns:ns3="urn:ietf:params:xml:ns:vcard-4.0"
 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
 protocol="CLUE" v="2.7"&gt;
    &lt;ns2:clueId&gt;CP2&lt;/ns2:clueId&gt;
    &lt;ns2:sequenceNr&gt;22&lt;/ns2:sequenceNr&gt;
    &lt;ns2:advSequenceNr&gt;11&lt;/ns2:advSequenceNr&gt;
    &lt;ns2:ack&gt;200&lt;/ns2:ack&gt;
    &lt;ns2:captureEncodings&gt;
        &lt;captureEncoding ID="ce123"&gt;
           &lt;captureID&gt;AC0&lt;/captureID&gt;
           &lt;encodingID&gt;ENC4&lt;/encodingID&gt;
        &lt;/captureEncoding&gt;
        &lt;captureEncoding ID="ce223"&gt;
           &lt;captureID&gt;VC3&lt;/captureID&gt;
           &lt;encodingID&gt;ENC1&lt;/encodingID&gt;
           &lt;configuredContent&gt;
              &lt;sceneViewIDREF&gt;SE1&lt;/sceneViewIDREF&gt;
           &lt;/configuredContent&gt;
       &lt;/captureEncoding&gt;
    &lt;/ns2:captureEncodings&gt;
&lt;/ns2:configure&gt;</sourcecode>
      </section>
      <section anchor="confRes-example" numbered="true" toc="include" removeInRFC="false" pn="section-10.5">
        <name slugifiedName="name-clue-message-no-5-configure">CLUE Message No. 5: 'configureResponse'</name>
        <sourcecode name="" type="xml" markers="false" pn="section-10.5-1">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;ns2:configureResponse xmlns="urn:ietf:params:xml:ns:clue-info"
 xmlns:ns2="urn:ietf:params:xml:ns:clue-protocol"
 xmlns:ns3="urn:ietf:params:xml:ns:vcard-4.0"
 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
 protocol="CLUE" v="2.7"&gt;
    &lt;ns2:clueId&gt;CP1&lt;/ns2:clueId&gt;
    &lt;ns2:sequenceNr&gt;12&lt;/ns2:sequenceNr&gt;
    &lt;ns2:responseCode&gt;200&lt;/ns2:responseCode&gt;
    &lt;ns2:reasonString&gt;Success&lt;/ns2:reasonString&gt;
    &lt;ns2:confSequenceNr&gt;22&lt;/ns2:confSequenceNr&gt;
&lt;/ns2:configureResponse&gt;</sourcecode>
      </section>
      <section anchor="adv2-example" numbered="true" toc="include" removeInRFC="false" pn="section-10.6">
        <name slugifiedName="name-clue-message-no-6-advertise">CLUE Message No. 6: 'advertisement'</name>
        <sourcecode name="" type="xml" markers="false" pn="section-10.6-1">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;ns2:advertisement xmlns="urn:ietf:params:xml:ns:clue-info"
 xmlns:ns2="urn:ietf:params:xml:ns:clue-protocol"
 xmlns:ns3="urn:ietf:params:xml:ns:vcard-4.0"
 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
 protocol="CLUE" v="2.7"&gt;
    &lt;ns2:clueId&gt;CP1&lt;/ns2:clueId&gt;
    &lt;ns2:sequenceNr&gt;13&lt;/ns2:sequenceNr&gt;
    &lt;ns2:mediaCaptures&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="audioCaptureType" captureID="AC0"
          mediaType="audio"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureOrigin&gt;
                         &lt;capturePoint&gt;
                         &lt;x&gt;0.0&lt;/x&gt;
                         &lt;y&gt;0.0&lt;/y&gt;
                         &lt;z&gt;10.0&lt;/z&gt;
                     &lt;/capturePoint&gt;
                     &lt;lineOfCapturePoint&gt;
                         &lt;x&gt;0.0&lt;/x&gt;
                         &lt;y&gt;1.0&lt;/y&gt;
                         &lt;z&gt;10.0&lt;/z&gt;
                     &lt;/lineOfCapturePoint&gt;
                 &lt;/captureOrigin&gt;
             &lt;/spatialInformation&gt;
             &lt;individual&gt;true&lt;/individual&gt;
             &lt;encGroupIDREF&gt;EG1&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;main audio from the room
             &lt;/description&gt;
             &lt;priority&gt;1&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;room&lt;/view&gt;
             &lt;capturedPeople&gt;
                 &lt;personIDREF&gt;alice&lt;/personIDREF&gt;
                 &lt;personIDREF&gt;bob&lt;/personIDREF&gt;
                 &lt;personIDREF&gt;ciccio&lt;/personIDREF&gt;
             &lt;/capturedPeople&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC0"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureOrigin&gt;
                         &lt;capturePoint&gt;
                         &lt;x&gt;0.5&lt;/x&gt;
                         &lt;y&gt;1.0&lt;/y&gt;
                         &lt;z&gt;0.5&lt;/z&gt;
                     &lt;/capturePoint&gt;
                     &lt;lineOfCapturePoint&gt;
                         &lt;x&gt;0.5&lt;/x&gt;
                         &lt;y&gt;0.0&lt;/y&gt;
                         &lt;z&gt;0.5&lt;/z&gt;
                     &lt;/lineOfCapturePoint&gt;
                 &lt;/captureOrigin&gt;
             &lt;/spatialInformation&gt;
             &lt;individual&gt;true&lt;/individual&gt;
             &lt;encGroupIDREF&gt;EG0&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;left camera video capture
             &lt;/description&gt;
             &lt;priority&gt;1&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;individual&lt;/view&gt;
             &lt;capturedPeople&gt;
                 &lt;personIDREF&gt;ciccio&lt;/personIDREF&gt;
             &lt;/capturedPeople&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC1"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureOrigin&gt;
                         &lt;capturePoint&gt;
                         &lt;x&gt;0.0&lt;/x&gt;
                         &lt;y&gt;0.0&lt;/y&gt;
                         &lt;z&gt;10.0&lt;/z&gt;
                     &lt;/capturePoint&gt;
                 &lt;/captureOrigin&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;-1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;-1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;individual&gt;true&lt;/individual&gt;
             &lt;encGroupIDREF&gt;EG0&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;central camera video capture
             &lt;/description&gt;
             &lt;priority&gt;1&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;individual&lt;/view&gt;
             &lt;capturedPeople&gt;
                 &lt;personIDREF&gt;alice&lt;/personIDREF&gt;
             &lt;/capturedPeople&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC2"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureOrigin&gt;
                         &lt;capturePoint&gt;
                         &lt;x&gt;2.0&lt;/x&gt;
                         &lt;y&gt;0.0&lt;/y&gt;
                         &lt;z&gt;10.0&lt;/z&gt;
                     &lt;/capturePoint&gt;
                 &lt;/captureOrigin&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;1.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;individual&gt;true&lt;/individual&gt;
             &lt;encGroupIDREF&gt;EG0&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;right camera video capture
             &lt;/description&gt;
             &lt;priority&gt;1&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;individual&lt;/view&gt;
             &lt;capturedPeople&gt;
                 &lt;personIDREF&gt;bob&lt;/personIDREF&gt;
             &lt;/capturedPeople&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC3"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;content&gt;
                 &lt;sceneViewIDREF&gt;SE1&lt;/sceneViewIDREF&gt;
             &lt;/content&gt;
             &lt;policy&gt;SoundLevel:0&lt;/policy&gt;
             &lt;encGroupIDREF&gt;EG0&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;loudest room segment
             &lt;/description&gt;
             &lt;priority&gt;2&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;individual&lt;/view&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC4"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureOrigin&gt;
                         &lt;capturePoint&gt;
                         &lt;x&gt;0.0&lt;/x&gt;
                         &lt;y&gt;0.0&lt;/y&gt;
                         &lt;z&gt;10.0&lt;/z&gt;
                     &lt;/capturePoint&gt;
                 &lt;/captureOrigin&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;7.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;7.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;13.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;13.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;individual&gt;true&lt;/individual&gt;
             &lt;encGroupIDREF&gt;EG0&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;
               zoomed-out view of all people in the room
             &lt;/description&gt;
             &lt;priority&gt;2&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;room&lt;/view&gt;
             &lt;capturedPeople&gt;
                 &lt;personIDREF&gt;alice&lt;/personIDREF&gt;
                 &lt;personIDREF&gt;bob&lt;/personIDREF&gt;
                 &lt;personIDREF&gt;ciccio&lt;/personIDREF&gt;
             &lt;/capturedPeople&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC5"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;content&gt;
                 &lt;sceneViewIDREF&gt;SE1&lt;/sceneViewIDREF&gt;
             &lt;/content&gt;
             &lt;policy&gt;SoundLevel:1&lt;/policy&gt;
             &lt;description lang="en"&gt;penultimate loudest room segment
             &lt;/description&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;individual&lt;/view&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC6"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;content&gt;
                 &lt;sceneViewIDREF&gt;SE1&lt;/sceneViewIDREF&gt;
             &lt;/content&gt;
             &lt;policy&gt;SoundLevel:2&lt;/policy&gt;
             &lt;description lang="en"&gt;last but two loudest room segment
             &lt;/description&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;individual&lt;/view&gt;
         &lt;/mediaCapture&gt;
         &lt;mediaCapture
          xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
          xsi:type="videoCaptureType" captureID="VC7"
          mediaType="video"&gt;
             &lt;captureSceneIDREF&gt;CS1&lt;/captureSceneIDREF&gt;
             &lt;spatialInformation&gt;
                 &lt;captureArea&gt;
                         &lt;bottomLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomLeft&gt;
                         &lt;bottomRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;9.0&lt;/z&gt;
                         &lt;/bottomRight&gt;
                         &lt;topLeft&gt;
                         &lt;x&gt;-3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topLeft&gt;
                         &lt;topRight&gt;
                         &lt;x&gt;3.0&lt;/x&gt;
                         &lt;y&gt;20.0&lt;/y&gt;
                         &lt;z&gt;11.0&lt;/z&gt;
                         &lt;/topRight&gt;
                 &lt;/captureArea&gt;
             &lt;/spatialInformation&gt;
             &lt;content&gt;
                 &lt;mediaCaptureIDREF&gt;VC3&lt;/mediaCaptureIDREF&gt;
                 &lt;mediaCaptureIDREF&gt;VC5&lt;/mediaCaptureIDREF&gt;
                 &lt;mediaCaptureIDREF&gt;VC6&lt;/mediaCaptureIDREF&gt;
             &lt;/content&gt;
             &lt;maxCaptures exactNumber="true"&gt;3&lt;/maxCaptures&gt;
             &lt;encGroupIDREF&gt;EG0&lt;/encGroupIDREF&gt;
             &lt;description lang="en"&gt;big picture of the current
             speaker + pips about previous speakers&lt;/description&gt;
             &lt;priority&gt;3&lt;/priority&gt;
             &lt;lang&gt;it&lt;/lang&gt;
             &lt;mobility&gt;static&lt;/mobility&gt;
             &lt;view&gt;individual&lt;/view&gt;
         &lt;/mediaCapture&gt;
     &lt;/ns2:mediaCaptures&gt;
     &lt;ns2:encodingGroups&gt;
         &lt;encodingGroup encodingGroupID="EG0"&gt;
             &lt;maxGroupBandwidth&gt;600000&lt;/maxGroupBandwidth&gt;
             &lt;encodingIDList&gt;
                 &lt;encodingID&gt;ENC1&lt;/encodingID&gt;
                 &lt;encodingID&gt;ENC2&lt;/encodingID&gt;
                 &lt;encodingID&gt;ENC3&lt;/encodingID&gt;
             &lt;/encodingIDList&gt;
         &lt;/encodingGroup&gt;
         &lt;encodingGroup encodingGroupID="EG1"&gt;
             &lt;maxGroupBandwidth&gt;300000&lt;/maxGroupBandwidth&gt;
             &lt;encodingIDList&gt;
                 &lt;encodingID&gt;ENC4&lt;/encodingID&gt;
                 &lt;encodingID&gt;ENC5&lt;/encodingID&gt;
             &lt;/encodingIDList&gt;
         &lt;/encodingGroup&gt;
     &lt;/ns2:encodingGroups&gt;
     &lt;ns2:captureScenes&gt;
         &lt;captureScene scale="unknown" sceneID="CS1"&gt;
             &lt;sceneViews&gt;
                 &lt;sceneView sceneViewID="SE1"&gt;
                     &lt;description lang="en"&gt;participants' individual
                     videos&lt;/description&gt;
                     &lt;mediaCaptureIDs&gt;
                         &lt;mediaCaptureIDREF&gt;VC0&lt;/mediaCaptureIDREF&gt;
                         &lt;mediaCaptureIDREF&gt;VC1&lt;/mediaCaptureIDREF&gt;
                         &lt;mediaCaptureIDREF&gt;VC2&lt;/mediaCaptureIDREF&gt;
                     &lt;/mediaCaptureIDs&gt;
                 &lt;/sceneView&gt;
                 &lt;sceneView sceneViewID="SE2"&gt;
                     &lt;description lang="en"&gt;loudest segment of the
                     room&lt;/description&gt;
                     &lt;mediaCaptureIDs&gt;
                         &lt;mediaCaptureIDREF&gt;VC3&lt;/mediaCaptureIDREF&gt;
                     &lt;/mediaCaptureIDs&gt;
                 &lt;/sceneView&gt;
                 &lt;sceneView sceneViewID="SE5"&gt;
                     &lt;description lang="en"&gt;loudest segment of the
                     room + pips&lt;/description&gt;
                     &lt;mediaCaptureIDs&gt;
                         &lt;mediaCaptureIDREF&gt;VC7&lt;/mediaCaptureIDREF&gt;
                     &lt;/mediaCaptureIDs&gt;
                 &lt;/sceneView&gt;
                 &lt;sceneView sceneViewID="SE4"&gt;
                     &lt;description lang="en"&gt;room audio&lt;/description&gt;
                     &lt;mediaCaptureIDs&gt;
                         &lt;mediaCaptureIDREF&gt;AC0&lt;/mediaCaptureIDREF&gt;
                     &lt;/mediaCaptureIDs&gt;
                 &lt;/sceneView&gt;
                 &lt;sceneView sceneViewID="SE3"&gt;
                     &lt;description lang="en"&gt;room video&lt;/description&gt;
                     &lt;mediaCaptureIDs&gt;
                         &lt;mediaCaptureIDREF&gt;VC4&lt;/mediaCaptureIDREF&gt;
                     &lt;/mediaCaptureIDs&gt;
                 &lt;/sceneView&gt;
             &lt;/sceneViews&gt;
         &lt;/captureScene&gt;
     &lt;/ns2:captureScenes&gt;
     &lt;ns2:simultaneousSets&gt;
         &lt;simultaneousSet setID="SS1"&gt;
             &lt;mediaCaptureIDREF&gt;VC3&lt;/mediaCaptureIDREF&gt;
             &lt;mediaCaptureIDREF&gt;VC7&lt;/mediaCaptureIDREF&gt;
             &lt;sceneViewIDREF&gt;SE1&lt;/sceneViewIDREF&gt;
         &lt;/simultaneousSet&gt;
         &lt;simultaneousSet setID="SS2"&gt;
             &lt;mediaCaptureIDREF&gt;VC0&lt;/mediaCaptureIDREF&gt;
             &lt;mediaCaptureIDREF&gt;VC2&lt;/mediaCaptureIDREF&gt;
             &lt;mediaCaptureIDREF&gt;VC4&lt;/mediaCaptureIDREF&gt;
         &lt;/simultaneousSet&gt;
     &lt;/ns2:simultaneousSets&gt;
     &lt;ns2:people&gt;
         &lt;person personID="bob"&gt;
             &lt;personInfo&gt;
                 &lt;ns3:fn&gt;
                     &lt;ns3:text&gt;Bob&lt;/ns3:text&gt;
                 &lt;/ns3:fn&gt;
             &lt;/personInfo&gt;
             &lt;personType&gt;minute taker&lt;/personType&gt;
         &lt;/person&gt;
         &lt;person personID="alice"&gt;
             &lt;personInfo&gt;
                 &lt;ns3:fn&gt;
                     &lt;ns3:text&gt;Alice&lt;/ns3:text&gt;
                 &lt;/ns3:fn&gt;
             &lt;/personInfo&gt;
             &lt;personType&gt;presenter&lt;/personType&gt;
         &lt;/person&gt;
         &lt;person personID="ciccio"&gt;
             &lt;personInfo&gt;
                 &lt;ns3:fn&gt;
                     &lt;ns3:text&gt;Ciccio&lt;/ns3:text&gt;
                 &lt;/ns3:fn&gt;
             &lt;/personInfo&gt;
             &lt;personType&gt;chairman&lt;/personType&gt;
             &lt;personType&gt;timekeeper&lt;/personType&gt;
         &lt;/person&gt;
     &lt;/ns2:people&gt;
&lt;/ns2:advertisement&gt;</sourcecode>
      </section>
      <section anchor="ack-example" numbered="true" toc="include" removeInRFC="false" pn="section-10.7">
        <name slugifiedName="name-clue-message-no-7-ack">CLUE Message No. 7: 'ack'</name>
        <sourcecode name="" type="xml" markers="false" pn="section-10.7-1">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;ack xmlns="urn:ietf:params:xml:ns:clue-protocol"
 xmlns:ns2="urn:ietf:params:xml:ns:clue-info"
 xmlns:ns3="urn:ietf:params:xml:ns:vcard-4.0"
 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
 protocol="CLUE" v="2.7"&gt;
    &lt;clueId&gt;CP2&lt;/clueId&gt;
    &lt;sequenceNr&gt;23&lt;/sequenceNr&gt;
    &lt;responseCode&gt;200&lt;/responseCode&gt;
    &lt;reasonString&gt;Success&lt;/reasonString&gt;
    &lt;advSequenceNr&gt;13&lt;/advSequenceNr&gt;
&lt;/ack&gt;</sourcecode>
      </section>
      <section anchor="conf-example" numbered="true" toc="include" removeInRFC="false" pn="section-10.8">
        <name slugifiedName="name-clue-message-no-8-configure">CLUE Message No. 8: 'configure'</name>
        <sourcecode name="" type="xml" markers="false" pn="section-10.8-1">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;ns2:configure xmlns="urn:ietf:params:xml:ns:clue-info"
 xmlns:ns2="urn:ietf:params:xml:ns:clue-protocol"
 xmlns:ns3="urn:ietf:params:xml:ns:vcard-4.0"
 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
 protocol="CLUE" v="2.7"&gt;
    &lt;ns2:clueId&gt;CP2&lt;/ns2:clueId&gt;
    &lt;ns2:sequenceNr&gt;24&lt;/ns2:sequenceNr&gt;
    &lt;ns2:advSequenceNr&gt;13&lt;/ns2:advSequenceNr&gt;
    &lt;ns2:captureEncodings&gt;
               &lt;captureEncoding ID="ce123"&gt;
                        &lt;captureID&gt;AC0&lt;/captureID&gt;
                        &lt;encodingID&gt;ENC4&lt;/encodingID&gt;
                &lt;/captureEncoding&gt;
                &lt;captureEncoding ID="ce456"&gt;
                        &lt;captureID&gt;VC7&lt;/captureID&gt;
                        &lt;encodingID&gt;ENC1&lt;/encodingID&gt;
                        &lt;configuredContent&gt;
                                &lt;sceneViewIDREF&gt;SE5&lt;/sceneViewIDREF&gt;
                        &lt;/configuredContent&gt;
                &lt;/captureEncoding&gt;
     &lt;/ns2:captureEncodings&gt;
&lt;/ns2:configure&gt;</sourcecode>
      </section>
      <section anchor="confRes2-example" numbered="true" toc="include" removeInRFC="false" pn="section-10.9">
        <name slugifiedName="name-clue-message-no-9-configure">CLUE Message No. 9: 'configureResponse'</name>
        <sourcecode name="" type="xml" markers="false" pn="section-10.9-1">
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;ns2:configureResponse xmlns="urn:ietf:params:xml:ns:clue-info"
 xmlns:ns2="urn:ietf:params:xml:ns:clue-protocol"
 xmlns:ns3="urn:ietf:params:xml:ns:vcard-4.0"
 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
 protocol="CLUE" v="2.7"&gt;
    &lt;ns2:clueId&gt;CP1&lt;/ns2:clueId&gt;
    &lt;ns2:sequenceNr&gt;14&lt;/ns2:sequenceNr&gt;
    &lt;ns2:responseCode&gt;200&lt;/ns2:responseCode&gt;
    &lt;ns2:reasonString&gt;Success&lt;/ns2:reasonString&gt;
    &lt;ns2:confSequenceNr&gt;24&lt;/ns2:confSequenceNr&gt;
&lt;/ns2:configureResponse&gt;</sourcecode>
      </section>
    </section>
    <section anchor="sec-cons" numbered="true" toc="include" removeInRFC="false" pn="section-11">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-11-1">
As a general consideration, we would like to point out that the CLUE framework 
(and related protocol)
has been conceived from the outset by embracing the security-by-design 
paradigm.
As a result, a number of requirements have been identified and 
properly standardized as mandatory within the entire set of documents 
associated with the CLUE architecture. 

Requirements include (i) the use of cryptography and authentication,
(ii) protection of all sensitive fields, (iii) mutual authentication 
between CLUE endpoints, (iv) the presence of authorization mechanisms,
and (v) the presence of native defense mechanisms against malicious 
activities such as eavesdropping, selective modification, deletion, 
and replay (and related combinations thereof).

Hence, security of the single components of 
the CLUE solution cannot be evaluated independently of the integrated 
view of the final architecture. 
</t>
      <t indent="0" pn="section-11-2">
The CLUE protocol is an application-level protocol allowing a Media 
Producer and an MC to negotiate a variegated set of 
parameters associated with the establishment of a telepresence session. 
This unavoidably exposes a CLUE-enabled telepresence system to a number 
of potential threats, most of which are extensively discussed in the CLUE
framework document <xref target="RFC8845" format="default" sectionFormat="of" derivedContent="RFC8845"/>. 
The Security Considerations section of <xref target="RFC8845" format="default" sectionFormat="of" derivedContent="RFC8845"/> actually 
discusses issues associated with the setup and management of a 
telepresence session in both (1) the basic case involving two CLUE endpoints
 acting as the MP and the MC, respectively and (2) the more advanced scenario
  envisaging the presence of an MCU.
</t>
      <t indent="0" pn="section-11-3">
The CLUE framework document <xref target="RFC8845" format="default" sectionFormat="of" derivedContent="RFC8845"/> also mentions that the information carried within CLUE 
protocol messages might contain sensitive data, which <bcp14>SHOULD</bcp14> hence be accessed 
only by authenticated endpoints. Security issues associated with the CLUE data
model schema are discussed in <xref target="RFC8846" format="default" sectionFormat="of" derivedContent="RFC8846"/>.
</t>
      <t indent="0" pn="section-11-4">
There is extra information carried by the CLUE protocol that is not 
associated with the CLUE data model schema and that exposes 
information that might be of concern.  This information is primarily 
exchanged during the negotiation phase via the 'options' and 'optionsResponse' messages. 
In the CP state machine's OPTIONS state, both parties 
agree on the version and extensions to be used in the subsequent 
CLUE message exchange phase. A malicious participant might either
(1) try to retrieve a detailed footprint of a specific CLUE protocol 
implementation during this initial setup phase or (2) force the 
communicating party to use a version of the protocol that is outdated
and that they know how to break. 
Indeed, exposing all of the supported versions and extensions could 
conceivably leak information about the specific implementation of the 
protocol. In theory, an implementation could choose not to announce all 
of the versions it supports if it wants to avoid such leakage, although
this would come at the expense of interoperability.  
With respect to the above considerations, it is noted that the OPTIONS 
state is only reached after the CLUE data channel has been successfully 
set up. This ensures that only authenticated parties can exchange 
'options' messages and related 'optionsResponse' messages, and hence drastically 
reduces the attack surface that is exposed to malicious parties.
</t>
      <t indent="0" pn="section-11-5">
The CLUE framework clearly states the requirement to protect CLUE 
protocol messages against threats deriving from the presence of a 
malicious agent capable of gaining access to the CLUE data channel. 
Such a requirement is met by the CLUE data channel solution described 
in <xref target="RFC8850" format="default" sectionFormat="of" derivedContent="RFC8850"/>, which ensures protection
 from both message recovery and message tampering. 

With respect to this last point, any implementation of the CLUE protocol
 compliant with the CLUE specification <bcp14>MUST</bcp14> rely on the exchange of 
messages that flow on top of a reliable and ordered SCTP-over-DTLS 
transport channel connecting two CPs.
</t>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-12">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-12-1">
This document registers a new XML namespace, a new XML schema, and
   the media type for the schema.  
This document also registers the "CLUE" Application Service tag 
and the "CLUE" Application Protocol tag and 
defines registries for the CLUE messages and response codes.
</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-12.1">
        <name slugifiedName="name-urn-sub-namespace-registrat">URN Sub-Namespace Registration</name>
        <t indent="0" pn="section-12.1-1">
This section registers a new XML namespace,
<tt>urn:ietf:params:xml:ns:clue-protocol</tt>.
</t>
        <dl newline="false" spacing="normal" indent="3" pn="section-12.1-2">
          <dt pn="section-12.1-2.1">URI:</dt>
          <dd pn="section-12.1-2.2">urn:ietf:params:xml:ns:clue-protocol</dd>
          <dt pn="section-12.1-2.3">Registrant Contact:</dt>
          <dd pn="section-12.1-2.4">IESG (iesg@ietf.org).</dd>
        </dl>
        <t indent="0" pn="section-12.1-3">XML:
</t>
        <sourcecode markers="true" type="xml" pn="section-12.1-4">
 &lt;?xml version="1.0"?&gt;
 &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
 &lt;html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en"&gt;
   &lt;head&gt;
     &lt;title&gt;CLUE Messages&lt;/title&gt;
   &lt;/head&gt;
   &lt;body&gt;
     &lt;h1&gt;Namespace for CLUE Messages&lt;/h1&gt;
     &lt;h2&gt;urn:ietf:params:xml:ns:clue-protocol&lt;/h2&gt;
     &lt;p&gt;See &lt;a href="https://www.rfc-editor.org/rfc/rfc8847.txt"&gt;
        RFC 8847&lt;/a&gt;.&lt;/p&gt;
   &lt;/body&gt;
 &lt;/html&gt;
</sourcecode>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-12.2">
        <name slugifiedName="name-xml-schema-registration">XML Schema Registration</name>
        <t indent="0" pn="section-12.2-1">
This section registers an XML schema per the guidelines in <xref target="RFC3688" format="default" sectionFormat="of" derivedContent="RFC3688"/>.
</t>
        <dl newline="false" spacing="normal" indent="3" pn="section-12.2-2">
          <dt pn="section-12.2-2.1">URI:</dt>
          <dd pn="section-12.2-2.2">urn:ietf:params:xml:schema:clue-protocol</dd>
          <dt pn="section-12.2-2.3">Registrant Contact:</dt>
          <dd pn="section-12.2-2.4">IESG (iesg@ietf.org).</dd>
          <dt pn="section-12.2-2.5">Schema:</dt>
          <dd pn="section-12.2-2.6">The XML for this schema can be found in 
<xref target="sec-schema" format="default" sectionFormat="of" derivedContent="Section 9"/> of this document.</dd>
        </dl>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-12.3">
        <name slugifiedName="name-media-type-registration-for">Media Type Registration for "application/clue+xml"</name>
        <t indent="0" pn="section-12.3-1">This section registers the <tt>
application/clue+xml</tt> media type.
</t>
        <dl newline="false" spacing="normal" indent="3" pn="section-12.3-2">
          <dt pn="section-12.3-2.1">To:</dt>
          <dd pn="section-12.3-2.2">ietf-types@iana.org</dd>
          <dt pn="section-12.3-2.3">Subject:</dt>
          <dd pn="section-12.3-2.4">Registration of media type "application/clue+xml"</dd>
          <dt pn="section-12.3-2.5">Media type name:</dt>
          <dd pn="section-12.3-2.6">application</dd>
          <dt pn="section-12.3-2.7">Subtype name:</dt>
          <dd pn="section-12.3-2.8">clue+xml</dd>
          <dt pn="section-12.3-2.9">Required parameters:</dt>
          <dd pn="section-12.3-2.10">(none)</dd>
          <dt pn="section-12.3-2.11">Optional parameters:</dt>
          <dd pn="section-12.3-2.12">charset. Same as the charset parameter of "application⁠/xml" as specified in
<xref target="RFC7303" sectionFormat="comma" section="4.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7303#section-4.2" derivedContent="RFC7303"/>.</dd>
          <dt pn="section-12.3-2.13">Encoding considerations:</dt>
          <dd pn="section-12.3-2.14">Same as the encoding considerations of
"application/xml" as specified in 
<xref target="RFC7303" sectionFormat="comma" section="4.2" format="default" derivedLink="https://rfc-editor.org/rfc/rfc7303#section-4.2" derivedContent="RFC7303"/>.</dd>
          <dt pn="section-12.3-2.15">Security considerations:</dt>
          <dd pn="section-12.3-2.16">This content type is designed to carry
protocol data related to telepresence session control.  Some of the data
could be considered private.  This media type does not provide any
protection; thus, other mechanisms, such as those described in
<xref target="sec-cons" format="default" sectionFormat="of" derivedContent="Section 11"/> of this document, are required to protect the data.  This media type does
not contain executable content.</dd>
          <dt pn="section-12.3-2.17">Interoperability considerations:</dt>
          <dd pn="section-12.3-2.18">None.</dd>
          <dt pn="section-12.3-2.19">Published specification:</dt>
          <dd pn="section-12.3-2.20">RFC 8847 
</dd>
          <dt pn="section-12.3-2.21">Applications that use this media type:</dt>
          <dd pn="section-12.3-2.22">CLUE Participants.</dd>
          <dt pn="section-12.3-2.23">Additional Information:</dt>
          <dd pn="section-12.3-2.24">
            <t indent="0" pn="section-12.3-2.24.1"><br/></t>
            <dl newline="false" spacing="compact" indent="3" pn="section-12.3-2.24.2">
              <dt pn="section-12.3-2.24.2.1">Magic Number(s):</dt>
              <dd pn="section-12.3-2.24.2.2">(none)</dd>
              <dt pn="section-12.3-2.24.2.3">File extension(s):</dt>
              <dd pn="section-12.3-2.24.2.4">.xml</dd>
              <dt pn="section-12.3-2.24.2.5">Macintosh File Type Code(s):</dt>
              <dd pn="section-12.3-2.24.2.6">TEXT</dd>
            </dl>
          </dd>
          <dt pn="section-12.3-2.25">Person &amp; email address to contact for further information:</dt>
          <dd pn="section-12.3-2.26">Simon Pietro Romano (spromano@unina.it).</dd>
          <dt pn="section-12.3-2.27">Intended usage:</dt>
          <dd pn="section-12.3-2.28">LIMITED USE</dd>
          <dt pn="section-12.3-2.29">Author/Change controller:</dt>
          <dd pn="section-12.3-2.30">The IETF</dd>
          <dt pn="section-12.3-2.31">Other information:</dt>
          <dd pn="section-12.3-2.32">This media type is a specialization of 
application/xml <xref target="RFC7303" format="default" sectionFormat="of" derivedContent="RFC7303"/>, and many of the considerations
described there also apply to application/clue+xml.</dd>
        </dl>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-12.4">
        <name slugifiedName="name-clue-protocol-registry">CLUE Protocol Registry</name>
        <t indent="0" pn="section-12.4-1">
Per this document, IANA has created new registries for CLUE messages and response codes.
</t>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-12.4.1">
          <name slugifiedName="name-clue-message-types">CLUE Message Types</name>
          <t indent="0" pn="section-12.4.1-1">
The following summarizes the registry for CLUE messages:
</t>
          <dl newline="false" spacing="normal" indent="3" pn="section-12.4.1-2">
            <dt pn="section-12.4.1-2.1">Related Registry:</dt>
            <dd pn="section-12.4.1-2.2">CLUE Message Types</dd>
            <dt pn="section-12.4.1-2.3">Defining RFC:</dt>
            <dd pn="section-12.4.1-2.4">RFC 8847</dd>
            <dt pn="section-12.4.1-2.5">Registration/Assignment Procedures:</dt>
            <dd pn="section-12.4.1-2.6">Following the policies outlined
in <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>, the IANA policy for assigning new values for the
CLUE message types for the CLUE protocol is Specification Required.</dd>
            <dt pn="section-12.4.1-2.7">Registrant Contact:</dt>
            <dd pn="section-12.4.1-2.8">IESG (iesg@ietf.org).</dd>
          </dl>
          <t indent="0" pn="section-12.4.1-3">
The initial table of CLUE messages is populated using the 
CLUE messages described in <xref target="sec-messages" format="default" sectionFormat="of" derivedContent="Section 5"/>
and defined in the XML schema in <xref target="sec-schema" format="default" sectionFormat="of" derivedContent="Section 9"/>.
</t>
          <table align="center" pn="table-2">
            <name slugifiedName="name-initial-iana-table-of-clue-">Initial IANA Table of CLUE Messages</name>
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Message</th>
                <th align="left" colspan="1" rowspan="1">Description</th>
                <th align="left" colspan="1" rowspan="1">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">options</td>
                <td align="left" colspan="1" rowspan="1">Sent by the CI to the CR in the initiation 
phase to specify the roles played by the CI, 
the supported versions, and the supported extensions.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">optionsResponse</td>
                <td align="left" colspan="1" rowspan="1">Sent by the CI to the CR in reply to an
                'options' message, to establish the 
version and extensions to be used in the subsequent exchange of CLUE messages.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">advertisement</td>
                <td align="left" colspan="1" rowspan="1">Sent by the MP to the MC to specify the telepresence capabilities
of the MP expressed according to the CLUE framework.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">ack</td>
                <td align="left" colspan="1" rowspan="1">Sent by the MC to the MP to acknowledge the reception of 
an 'advertisement' message.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">configure</td>
                <td align="left" colspan="1" rowspan="1">Sent by the MC to the MP to specify the desired media captures
among those specified in the 'advertisement'.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">configureResponse</td>
                <td align="left" colspan="1" rowspan="1">Sent by the MP to the MC in reply to a 'configure' message to 
communicate whether or not the configuration request has been successfully 
processed.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-12.4.2">
          <name slugifiedName="name-clue-response-codes-2">CLUE Response Codes</name>
          <t indent="0" pn="section-12.4.2-1">
The following summarizes the registry for CLUE response codes:
</t>
          <dl newline="false" spacing="normal" indent="3" pn="section-12.4.2-2">
            <dt pn="section-12.4.2-2.1">Related Registry:</dt>
            <dd pn="section-12.4.2-2.2">CLUE Response Codes</dd>
            <dt pn="section-12.4.2-2.3">Defining RFC:</dt>
            <dd pn="section-12.4.2-2.4">RFC 8847</dd>
            <dt pn="section-12.4.2-2.5">Registration/Assignment Procedures:</dt>
            <dd pn="section-12.4.2-2.6">Following the policies outlined
in <xref target="RFC8126" format="default" sectionFormat="of" derivedContent="RFC8126"/>, the IANA policy for assigning new values for the
response codes for CLUE is Specification Required.</dd>
            <dt pn="section-12.4.2-2.7">Registrant Contact:</dt>
            <dd pn="section-12.4.2-2.8">IESG (iesg@ietf.org).</dd>
          </dl>
          <t indent="0" pn="section-12.4.2-3">  
The initial table of CLUE response codes is populated using the 
response codes defined in <xref target="sec-resp-codes" format="default" sectionFormat="of" derivedContent="Section 5.7"/> 
as follows:
</t>
          <table align="center" pn="table-3">
            <name slugifiedName="name-initial-iana-table-of-clue-r">Initial IANA Table of CLUE Response Codes</name>
            <thead>
              <tr>
                <th align="left" colspan="1" rowspan="1">Number</th>
                <th align="left" colspan="1" rowspan="1">Default Reason String</th>
                <th align="left" colspan="1" rowspan="1">Description</th>
                <th align="left" colspan="1" rowspan="1">Reference</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left" colspan="1" rowspan="1">200</td>
                <td align="left" colspan="1" rowspan="1">Success</td>
                <td align="left" colspan="1" rowspan="1">The request has been successfully processed.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">300</td>
                <td align="left" colspan="1" rowspan="1">Low-level request error</td>
                <td align="left" colspan="1" rowspan="1">A generic low-level request error has occurred.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">301</td>
                <td align="left" colspan="1" rowspan="1">Bad syntax</td>
                <td align="left" colspan="1" rowspan="1">The XML syntax of the message 
is not correct.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">302</td>
                <td align="left" colspan="1" rowspan="1">Invalid value</td>
                <td align="left" colspan="1" rowspan="1">The message contains an 
invalid parameter value.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">303</td>
                <td align="left" colspan="1" rowspan="1">Conflicting values</td>
                <td align="left" colspan="1" rowspan="1">The message contains values
that cannot be used together.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">400</td>
                <td align="left" colspan="1" rowspan="1">Semantic errors</td>
                <td align="left" colspan="1" rowspan="1">The received CLUE protocol message contains
                semantic errors.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">401</td>
                <td align="left" colspan="1" rowspan="1">Version not supported</td>
                <td align="left" colspan="1" rowspan="1">The protocol version
 used in the message
 is not supported.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">402</td>
                <td align="left" colspan="1" rowspan="1">Invalid sequencing</td>
                <td align="left" colspan="1" rowspan="1">
The received message contains an unexpected sequence number (e.g.,
sequence number gap, repeated sequence number, or sequence number
outdated).
 </td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">403</td>
                <td align="left" colspan="1" rowspan="1">Invalid identifier</td>
                <td align="left" colspan="1" rowspan="1">The clueId used in the 
 message is invalid
 or unknown.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">404</td>
                <td align="left" colspan="1" rowspan="1">Advertisement expired</td>
                <td align="left" colspan="1" rowspan="1">The sequence number of the advertisement
 the 'configure' message refers to is out
 of date.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
              <tr>
                <td align="left" colspan="1" rowspan="1">405</td>
                <td align="left" colspan="1" rowspan="1">Subset choice not allowed</td>
                <td align="left" colspan="1" rowspan="1">The subset choice is not allowed
 for the specified Multiple Content Capture.</td>
                <td align="left" colspan="1" rowspan="1">RFC 8847</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
  </middle>
  <back>
    <references pn="section-13">
      <name slugifiedName="name-references">References</name>
      <references pn="section-13.1">
        <name slugifiedName="name-normative-references">Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" quoteTitle="true" derivedAnchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t indent="0">In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC3550" target="https://www.rfc-editor.org/info/rfc3550" quoteTitle="true" derivedAnchor="RFC3550">
          <front>
            <title>RTP: A Transport Protocol for Real-Time Applications</title>
            <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Casner" fullname="S. Casner">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Frederick" fullname="R. Frederick">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="V." surname="Jacobson" fullname="V. Jacobson">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2003" month="July"/>
            <abstract>
              <t indent="0">This memorandum describes RTP, the real-time transport protocol.  RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services.  RTP does not address resource reservation and does not guarantee quality-of- service for real-time services.  The data transport is augmented by a control protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks, and to provide minimal control and identification functionality.  RTP and RTCP are designed to be independent of the underlying transport and network layers.  The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes.  There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="64"/>
          <seriesInfo name="RFC" value="3550"/>
          <seriesInfo name="DOI" value="10.17487/RFC3550"/>
        </reference>
        <reference anchor="RFC3688" target="https://www.rfc-editor.org/info/rfc3688" quoteTitle="true" derivedAnchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author initials="M." surname="Mealling" fullname="M. Mealling">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2004" month="January"/>
            <abstract>
              <t indent="0">This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC7303" target="https://www.rfc-editor.org/info/rfc7303" quoteTitle="true" derivedAnchor="RFC7303">
          <front>
            <title>XML Media Types</title>
            <author initials="H." surname="Thompson" fullname="H. Thompson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C." surname="Lilley" fullname="C. Lilley">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="July"/>
            <abstract>
              <t indent="0">This specification standardizes three media types -- application/xml, application/xml-external-parsed-entity, and application/xml-dtd -- for use in exchanging network entities that are related to the Extensible Markup Language (XML) while defining text/xml and text/ xml-external-parsed-entity as aliases for the respective application/ types.  This specification also standardizes the '+xml' suffix for naming media types outside of these five types when those media types represent XML MIME entities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7303"/>
          <seriesInfo name="DOI" value="10.17487/RFC7303"/>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126" quoteTitle="true" derivedAnchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t indent="0">Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t indent="0">To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t indent="0">This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" quoteTitle="true" derivedAnchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2017" month="May"/>
            <abstract>
              <t indent="0">RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8845" target="https://www.rfc-editor.org/info/rfc8845" quoteTitle="true" derivedAnchor="RFC8845">
          <front>
            <title>Framework for Telepresence Multi-Streams</title>
            <author initials="M" surname="Duckworth" fullname="Mark Duckworth" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A" surname="Pepperell" fullname="Andrew Pepperell">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S" surname="Wenger" fullname="Stephan Wenger">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8845"/>
          <seriesInfo name="DOI" value="10.17487/RFC8845"/>
        </reference>
        <reference anchor="RFC8846" target="https://www.rfc-editor.org/info/rfc8846" quoteTitle="true" derivedAnchor="RFC8846">
          <front>
            <title>An XML Schema for the Controlling Multiple Streams for Telepresence (CLUE) Data Model</title>
            <author initials="R" surname="Presta" fullname="Roberta Presta">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S P." surname="Romano" fullname="Simon Romano">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8846"/>
          <seriesInfo name="DOI" value="10.17487/RFC8846"/>
        </reference>
        <reference anchor="RFC8848" target="https://www.rfc-editor.org/info/rfc8848" quoteTitle="true" derivedAnchor="RFC8848">
          <front>
            <title>Session Signaling for Controlling Multiple Streams for Telepresence (CLUE)</title>
            <author initials="R" surname="Hanton" fullname="Robert Hanton">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="P" surname="Kyzivat" fullname="Paul Kyzivat">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="L" surname="Xiao" fullname="Lennard Xiao">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="C" surname="Groves" fullname="Christian Groves">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8848"/>
          <seriesInfo name="DOI" value="10.17487/RFC8848"/>
        </reference>
        <reference anchor="RFC8850" target="https://www.rfc-editor.org/info/rfc8850" quoteTitle="true" derivedAnchor="RFC8850">
          <front>
            <title>Controlling Multiple Streams for Telepresence (CLUE) Protocol Data Channel</title>
            <author initials="C." surname="Holmberg" fullname="Christer Holmberg">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="January" year="2021"/>
          </front>
          <seriesInfo name="RFC" value="8850"/>
          <seriesInfo name="DOI" value="10.17487/RFC8850"/>
        </reference>
        <reference anchor="W3C.REC-xml-20081126" target="https://www.w3.org/TR/2008/REC-xml-20081126" quoteTitle="true" derivedAnchor="W3C.REC-xml-20081126">
          <front>
            <title>Extensible Markup Language (XML) 1.0 (Fifth Edition)</title>
            <author initials="T." surname="Bray" fullname="Tim Bray">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Paoli" fullname="Jean Paoli">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Sperberg-McQueen" fullname="Michael Sperberg-McQueen">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Maler" fullname="Eve Maler">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="F." surname="Yergeau" fullname="Francois Yergeau">
              <organization showOnFrontPage="true"/>
            </author>
            <date month="November" year="2008"/>
          </front>
          <refcontent>World Wide Web Consortium Recommendation REC-xml-20081126</refcontent>
        </reference>
      </references>
      <references pn="section-13.2">
        <name slugifiedName="name-informative-references">Informative References</name>
        <reference anchor="RFC1122" target="https://www.rfc-editor.org/info/rfc1122" quoteTitle="true" derivedAnchor="RFC1122">
          <front>
            <title>Requirements for Internet Hosts - Communication Layers</title>
            <author initials="R." surname="Braden" fullname="R. Braden" role="editor">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="1989" month="October"/>
            <abstract>
              <t indent="0">This RFC is an official specification for the Internet community.  It incorporates by reference, amends, corrects, and supplements the primary protocol standards documents relating to hosts.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="3"/>
          <seriesInfo name="RFC" value="1122"/>
          <seriesInfo name="DOI" value="10.17487/RFC1122"/>
        </reference>
        <reference anchor="RFC3261" target="https://www.rfc-editor.org/info/rfc3261" quoteTitle="true" derivedAnchor="RFC3261">
          <front>
            <title>SIP: Session Initiation Protocol</title>
            <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="H." surname="Schulzrinne" fullname="H. Schulzrinne">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="G." surname="Camarillo" fullname="G. Camarillo">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="A." surname="Johnston" fullname="A. Johnston">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="J." surname="Peterson" fullname="J. Peterson">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="R." surname="Sparks" fullname="R. Sparks">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Handley" fullname="M. Handley">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="E." surname="Schooler" fullname="E. Schooler">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2002" month="June"/>
            <abstract>
              <t indent="0">This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants.  These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3261"/>
          <seriesInfo name="DOI" value="10.17487/RFC3261"/>
        </reference>
        <reference anchor="RFC4353" target="https://www.rfc-editor.org/info/rfc4353" quoteTitle="true" derivedAnchor="RFC4353">
          <front>
            <title>A Framework for Conferencing with the Session Initiation Protocol (SIP)</title>
            <author initials="J." surname="Rosenberg" fullname="J. Rosenberg">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2006" month="February"/>
            <abstract>
              <t indent="0">The Session Initiation Protocol (SIP) supports the initiation, modification, and termination of media sessions between user agents. These sessions are managed by SIP dialogs, which represent a SIP relationship between a pair of user agents.  Because dialogs are between pairs of user agents, SIP's usage for two-party communications (such as a phone call), is obvious.  Communications sessions with multiple participants, generally known as conferencing, are more complicated.  This document defines a framework for how such conferencing can occur.  This framework describes the overall architecture, terminology, and protocol components needed for multi-party conferencing.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4353"/>
          <seriesInfo name="DOI" value="10.17487/RFC4353"/>
        </reference>
        <reference anchor="RFC6120" target="https://www.rfc-editor.org/info/rfc6120" quoteTitle="true" derivedAnchor="RFC6120">
          <front>
            <title>Extensible Messaging and Presence Protocol (XMPP): Core</title>
            <author initials="P." surname="Saint-Andre" fullname="P. Saint-Andre">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2011" month="March"/>
            <abstract>
              <t indent="0">The Extensible Messaging and Presence Protocol (XMPP) is an application profile of the Extensible Markup Language (XML) that enables the near-real-time exchange of structured yet extensible data between any two or more network entities.  This document defines XMPP's core protocol methods: setup and teardown of XML streams, channel encryption, authentication, error handling, and communication primitives for messaging, network availability ("presence"), and request-response interactions.  This document obsoletes RFC 3920.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6120"/>
          <seriesInfo name="DOI" value="10.17487/RFC6120"/>
        </reference>
        <reference anchor="RFC7262" target="https://www.rfc-editor.org/info/rfc7262" quoteTitle="true" derivedAnchor="RFC7262">
          <front>
            <title>Requirements for Telepresence Multistreams</title>
            <author initials="A." surname="Romanow" fullname="A. Romanow">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Botzko" fullname="S. Botzko">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="M." surname="Barnes" fullname="M. Barnes">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2014" month="June"/>
            <abstract>
              <t indent="0">This memo discusses the requirements for specifications that enable telepresence interoperability by describing behaviors and protocols for Controlling Multiple Streams for Telepresence (CLUE).  In addition, the problem statement and related definitions are also covered herein.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7262"/>
          <seriesInfo name="DOI" value="10.17487/RFC7262"/>
        </reference>
        <reference anchor="RFC7667" target="https://www.rfc-editor.org/info/rfc7667" quoteTitle="true" derivedAnchor="RFC7667">
          <front>
            <title>RTP Topologies</title>
            <author initials="M." surname="Westerlund" fullname="M. Westerlund">
              <organization showOnFrontPage="true"/>
            </author>
            <author initials="S." surname="Wenger" fullname="S. Wenger">
              <organization showOnFrontPage="true"/>
            </author>
            <date year="2015" month="November"/>
            <abstract>
              <t indent="0">This document discusses point-to-point and multi-endpoint topologies used in environments based on the Real-time Transport Protocol (RTP). In particular, centralized topologies commonly employed in the video conferencing industry are mapped to the RTP terminology.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7667"/>
          <seriesInfo name="DOI" value="10.17487/RFC7667"/>
        </reference>
      </references>
    </references>
    <section numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-acknowledgements">Acknowledgements</name>
      <t indent="0" pn="section-appendix.a-1">
The authors thank all the CLUErs for their precious feedback and support -- in
particular, <contact fullname="Paul Kyzivat"/>, <contact fullname="Christian Groves"/>, and <contact fullname="Scarlett Liuyan"/>.
</t>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author initials="R." surname="Presta" fullname="Roberta Presta">
        <organization showOnFrontPage="true">University of Napoli</organization>
        <address>
          <postal>
            <street>Via Claudio 21</street>
            <code>80125</code>
            <city>Napoli</city>
            <country>Italy</country>
          </postal>
          <email>roberta.presta@unina.it</email>
        </address>
      </author>
      <author initials="S P." surname="Romano" fullname="Simon Pietro Romano">
        <organization showOnFrontPage="true">University of Napoli</organization>
        <address>
          <postal>
            <street>Via Claudio 21</street>
            <code>80125</code>
            <city>Napoli</city>
            <country>Italy</country>
          </postal>
          <email>spromano@unina.it</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
