[要約] RFC 8847は、Telepresenceのための複数ストリーム制御プロトコル(CLUE)に関する標準化文書です。このRFCの目的は、異なるデバイス間でビデオやオーディオなどの複数のメディアストリームを効果的に制御するためのプロトコルを提供することです。

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

Protocol for Controlling Multiple Streams for Telepresence (CLUE)

TelePresence(CLUE)の複数のストリームを制御するためのプロトコル

Abstract

概要

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.

TelePresence(CLUE)プロトコルのための複数のストリームを制御することは、TelePresenceセッションの説明およびネゴシエーションのために考案されたアプリケーションプロトコルである。CLUEプロトコルの設計は、IETF CLUEワーキンググループ内で定義されている要件とフレームワークを考慮に入れています。コンパニオンドキュメントRFC 8848は、Chegueシグナリングの詳細とSIP / Session記述プロトコル(SDP)セッション確立フェーズに分割されます。Clueメッセージは、信頼性が高く順序付けられたSCTP-over-DTLSトランスポートに基づいて、手がかりデータチャネルを介して流れます。(「SCTP」は「Stream Control Transmission Protocol」を表します。)メッセージの詳細は、メディアプロバイダーやメディア消費者として機能する手がかりの参加者の動作とともに、本明細書で説明されている。

Status of This Memo

本文書の状態

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

この文書はインターネット標準のトラック仕様ではありません。検査、実験的実施、評価のために公開されています。

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.

この文書は、インターネットコミュニティの実験的プロトコルを定義しています。この文書は、インターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表します。それは公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による出版の承認を受けました。IESGによって承認されたすべての文書がすべてのレベルのインターネット規格の候補者ではありません。RFC 7841のセクション2を参照してください。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8847.

この文書の現在のステータス、任意のエラータ、およびフィードバックを提供する方法は、https://www.rfc-editor.org/info/frfc8847で入手できます。

Copyright Notice

著作権表示

Copyright (c) 2021 IETF Trust and the persons identified as the document authors. All rights reserved.

著作権(C)2021 IETF信頼と文書著者として識別された人。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

この文書は、この文書の公開日に有効なIETF文書(https://truste.ietf.org/License-info)に関するBCP 78とIETF信頼の法的規定を受けています。この文書に関してあなたの権利と制限を説明するので、これらの文書を慎重に見直してください。この文書から抽出されたコードコンポーネントには、信頼法の法的規定のセクション4。

Table of Contents

目次

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

TelePresence(Clue)プロトコルのための複数のストリームを制御することは、マルチメディアテレプレゼンスセッションの経験を高めるために2つの手がかり参加者によって使用されるアプリケーションプロトコルです。手がかりプロトコルの主な目標は次のとおりです。

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

1. メディアプロバイダ(MP)が、利用可能なメディアキャプチャ、エンコードのグループ、同時リティ制約、および[RFC8845]で定義されたその他の情報の点で、現在のテレプレゼンス機能をメディアコンシューマ(MC)に適切にアナウンスすることを可能にします。

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

2. MCがオファリングMPから所望のマルチメディアストリームを要求することを可能にする。

CLUE-capable endpoints are connected by means of the CLUE data channel -- an SCTP-over-DTLS channel that is opened and established as described in [RFC8848] and [RFC8850]. ("SCTP" stands for "Stream Control Transmission Protocol".) CLUE protocol messages flowing over such a channel are detailed in this document, both syntactically and semantically.

CLUE対応のエンドポイントは、[RFC8848]と[RFC8850]で説明されているように開閉されたSCTP-over-DTLSチャネルを使用して接続されています。(「SCTP」は「ストリーム制御伝送プロトコル」を表します。)そのようなチャネルを通過する手がかりプロトコルメッセージは、構文的にと意味的にもこの文書に詳述されています。

In Section 4, we provide a general overview of the CLUE protocol. CLUE protocol messages are detailed in Section 5. The CLUE protocol state machines are introduced in Section 6. Versioning and extensions are discussed in Sections 7 and 8, respectively. The XML schema [W3C.REC-xml-20081126] defining the CLUE messages is provided in Section 9.

セクション4では、手がかりプロトコルの一般的な概要を説明します。手がかりプロトコルメッセージはセクション5に詳述されています.Clueプロトコルステートマシンはセクション6で紹介されています。手がかりメッセージを定義するXMLスキーマ[W3C.REC-XML-20081126]はセクション9に提供されています。

2. Terminology
2. 用語

This document refers to terminology that is also used in [RFC8845] and [RFC7262]. For convenience, we list those terms below. The definition of "CLUE Participant", as also listed below, originates from this document.

この文書とは、[RFC8845]と[RFC7262]でも使用されている用語です。便宜上、私たちは以下の条項をリストします。下記の「Clue Adjulatant」の定義は、この文書から発生します。

Capture Encoding: A specific encoding of a Media Capture, to be sent via RTP [RFC3550].

キャプチャエンコーディング:RTP [RFC3550]を介して送信されるメディアキャプチャの特定のエンコーディング。

CLUE Participant (CP): 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.

CLUE参加者(CP):TelePresenceセッション内でCLUEプロトコルを使用できるエンティティ。それは、CLUEプロトコルを使用できるエンドポイントまたはMCU(マルチポイントコントロールユニット)です。

CLUE-capable device: A device that (1) supports the CLUE data channel [RFC8850], the CLUE protocol, and the principles of CLUE negotiation and (2) seeks CLUE-enabled calls.

CLUE対応デバイス:(1)が手がかりデータチャネル[RFC8850]、CLUEプロトコル、およびCLUEネゴシエーションの原則をサポートし、(2)のCLUE対応コールを求めるデバイス。

Endpoint: 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 [RFC4353]) that, in turn, includes exactly one user agent [RFC3261]. Endpoints can be anything from multiscreen/ multicamera rooms to handheld devices.

エンドポイント:受信、復号化、およびレンダリング、および/または捕捉、符号化、およびメディアストリームの送信を通じて、最終的な終了の論理的な点であるClue対応デバイス。エンドポイントは、メディアストリームとシンクメディアストリームとシンクメディアストリーム、および1つの参加者([RFC4353])で構成されている([RFC4353])、まさに1つのユーザーエージェント[RFC3261]が含まれています。エンドポイントは、マルチスクリーン/マルチカメラルームからハンドヘルドデバイスへのものです。

Multipoint Control Unit (MCU): A CLUE-capable device that connects two or more endpoints together into one single multimedia conference [RFC7667]. An MCU includes a mixer (as defined in [RFC4353]), without the requirement per [RFC4353] to send media to each participant.

マルチポイント制御ユニット(MCU):2つ以上のエンドポイントを1つのマルチメディアカンファレンス[RFC7667]にまとめて接続する手軽のデバイス。MCUには、メディアを各参加者に送信するための[RFC4353]の要件なしに、(RFC4353]で定義されているように)ミキサーが含まれています。

Media: Any data that, after suitable encoding, can be conveyed over RTP, including audio, video, or timed text.

メディア:適切なエンコーディングの後に、オーディオ、ビデオ、またはタイミングテキストを含むRTPを介して伝達できるデータ。

Media Capture: A source of media -- for example, from one or more Capture Devices or constructed from other Media streams.

メディアキャプチャ:メディアのソース - 1つまたは複数のキャプチャデバイスから、または他のメディアストリームから構築されたもの。

Media Consumer (MC): A CP (i.e., an Endpoint or an MCU) able to receive Capture Encodings.

メディアコンシューマ(MC):キャプチャエンコーディングを受信できるCP(すなわち、エンドポイントまたはMCU)。

Media Provider (MP): A CP (i.e., an Endpoint or an MCU) able to send Capture Encodings.

メディアプロバイダ(MP):キャプチャエンコーディングを送信できるCP(すなわち、エンドポイントまたはMCU)。

Stream: A Capture Encoding sent from an MP to an MC via RTP [RFC3550].

ストリーム:RTP [RFC3550]を介してMPからMCに送信されたキャプチャエンコーディング。

3. Conventions
3. 規約

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

「必須」、「必須」、「必須」、「SHALL」、「必ず」、「推奨する」、「推奨する」、「推奨する」、「推奨する」、「推奨する」、「5月」「この文書では、BCP 14 [RFC2119] [RFC8174]に記載されている場合に解釈されるべきであり、ここに示すように、すべての首都に表示されます。

4. Overview of the CLUE Protocol
4. 手がかりプロトコルの概要

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 [RFC8845] and formally defined and described in the CLUE data model document [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.

手がかりプロトコルは、Clue TelePresenceセッションを可能にするために考えられます。リアルタイムマルチメディア会議に関与するマルチメディアストリームに関する情報の説明の観点から、セッション記述プロトコル(SDP)の制限事項をアドレス指定するように設計されています。実際、SDPを使用してSDPを使用することによって、「そこにある」レンダリング経験を可能にするために必要な流れるマルチメディアストリームの特徴に関する情報を伝えることは不可能である。そのような情報は、Clue Framework Document [RFC8845]に含まれており、手がかりデータモデル文書[RFC8846]に正式に定義および説明されています。手がかりプロトコルは、CPS間のテレプレゼンス情報の交換のためのメカニズムを表します。それは主にMPがそのテレプレゼンス機能をアドバタイズし、MCが目的のテレプレゼンスオプションを選択できるようにするためのメッセージを提供します。

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 [RFC8846]. Three main communication phases can be identified:

この文書で定義され、以下にさらに説明されているCLUEプロトコルは、ステートフルクライアント - サーバXMLベースのアプリケーションプロトコルである。CLUEプロトコルメッセージは、2つのCPSを接続する信頼性が高く順序付けられたSCTP-over-DTLSトランスポートチャネルに流れます。メッセージはXMLベースの手がかりデータモデル[RFC8846]から取得した情報を運ぶ。3つの主な通信フェーズを識別できます。

Establishment of the CLUE data channel: 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.

手がかりデータチャネルの確立:このフェーズでは、手がかりデータチャネルの設定が行われます。正常に完了した場合、CPSは通信して開始フェーズを開始することができます。

Negotiation of the CLUE protocol version and extensions (initiation phase): 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.

手がかりプロトコルのバージョンと拡張(開始フェーズ)の交渉:CLUEデータチャネルを介して接続されたCPSは、TelePresenceセッション中に使用されるプロトコルバージョンと拡張機能について一致します。このようなタスク( 'options'と 'optionsresponse')には、特別な手がかりメッセージが使用されます。バージョンと拡張の交渉は、手がかりセッション中に一度、そしてこの段階でのみ実行できます。その基本的な交渉の終わりに、各CPは、手がかりMPおよび/またはCLUE MCとしてその活動を開始します。

Description and negotiation of CLUE telepresence capabilities: In this phase, the MP-MC dialogues take place on the data channel by means of the CLUE protocol messages.

手がかりテレプレゼンス機能の説明と交渉:この段階では、MP-MCの対話は、CLUEプロトコルメッセージによってデータチャネル上で行われます。

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 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.

チャネルが準備ができているとすぐに、CPSはTelePresenceセッション内で使用されるプロトコルバージョンと拡張機能について一致しなければなりません。 CLUEプロトコルのバージョン番号は、ドットで区切られた符号なし整数の両方の符号なし整数、マイナーバージョン番号とマイナーバージョン番号を特徴としています。マイナーバージョン番号は、特定のメジャーバージョンのコンテキスト内の下位互換性の変更を示しますが、一般にプロトコル実装間の相互運用性がないことを示します。手がかりダイアログを正しく確立するためには、関係するCPSは一般的なバージョン番号を持つ必要があります(詳細についてはセクション7を参照)。手がかりセッション内で許可されている拡張子のサブセットも開始段階で決定されます。両当事者によってサポートされている拡張機能のみが含まれています。手がかりプロトコルのバージョンと拡張子の交渉のためのメカニズムは開始段階の一部です。このような解決策によると、CLUEチャネルイニシエータ(CI)であるCPは、サポートされているバージョンと拡張機能を指定して、チャネル受信機(CR)であるCPに適切な手がかりメッセージ(「オプション」)を発行します。その後、CRは、使用できるプロトコルバージョンをサポートして決定することができるCI拡張機能のサブセットを選択することによって回答します。

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:

交渉段階が完了した後、CPSは交換されるべきメディアフローについて説明し同意する。多くの場合、CPSは送信メディアと受信メディアの両方を求めます。したがって、2つのCPS(例えば、CPS AおよびB)間の呼び出しでは、次のように2つの別々のメッセージ交換シーケンスがあるであろう。

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.

1. AからBへ、すなわち、AからBへの対話、すなわちAのMP側とBのMC側の間の対話を記述し設定する必要がある。

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.

2. BからAへ、すなわちBのMP側とAのMC側の間の対話から送信されたメディアストリームを記述し設定する必要がある。

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.

メディアセッションの説明とネゴシエーションのための手がかりメッセージは、メディアストリームを作成して提供してプロトコルのクライアント側としてMC側をプロトコルのサーバー側とすることで、プロトコルのサーバー側とすることで、MP側を検討することによって設計されています。メディアストリームTelePresenceメディアセッションを設定するために交換されるメッセージは、単一のMP-MCダイアログに焦点を当てて説明されています。

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 [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 [RFC8846].

MPは、[RFC8845]で定義されている情報モデルに従って、その利用可能なメディアキャプチャとエンコード機能、およびその同時性制約を宣伝します。MPのマルチメディアオファーを伝達する手がかりメッセージは「広告」のメッセージです。そのようなメッセージは、[RFC8846]で提供されているXMLデータモデル定義を利用しています。

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'.

MCは、「設定」メッセージを使用してMPの所望のストリームを選択し、これまでに受信された「広告」で運ばれる情報を参照する。

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.

「広告」と「構成」に加えて、必要なすべてのメカニズムと操作を提供するために他のメッセージが考えられています。そのようなメッセージは以下のセクションで詳述されている。

5. Protocol Messages
5. プロトコルメッセージ

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 Section 9. This section includes non-normative excerpts of the schema to aid in describing it.

Clue Protocolメッセージは、TelePresenceセッションの設定を可能にするテキストXMLベースのメッセージです。そのようなメッセージの正式な定義は、セクション9のXMLスキーマに提供されています。このセクションでは、それを説明するのに役立つスキーマの非規範的な抜粋が含まれています。

The XML definitions of the CLUE information provided in [RFC8846] are included within some CLUE protocol messages (namely the 'advertisement' and 'configure' messages), in order to use the concepts defined in [RFC8845].

[RFC8846]で定義されている概念を使用するために、[RFC8846]で提供されている手がかり情報のXML定義は、いくつかの手がかりプロトコルメッセージ(すなわち、「広告」および「メッセージ」メッセージ)内に含まれています。

The CLUE protocol messages are as follows:

手がかりプロトコルメッセージは次のとおりです。

* options

* オプション

* optionsResponse

* OptionsResponse.

* advertisement

* 広告

* ack

* ac

* configure

* 構成、設定

* configureResponse

* ConfigureResponse.

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.

「オプション」および 'optionsResponse'メッセージがCPS間の開始段階で交換されている間、他のメッセージはMP-MCダイアログに関与しています。この文書で使用されている「ダイアログ」という単語は、SIPの同じ用語の使用法とは関係ありません。それは、手がかりMPとCLUE MCとの間のメッセージ交換シーケンスを指す。

Each CLUE message inherits a basic structure, as depicted in the following excerpt (Figure 1):

各CLUEメッセージは、次の抜粋(図1)に示すように、基本構造を継承します。

   <xs:complexType name="clueMessageType" abstract="true">
     <xs:sequence>
       <xs:element name="clueId" type="xs:string" minOccurs="0"/>
       <xs:element name="sequenceNr" type="xs:positiveInteger"/>
     </xs:sequence>
     <xs:attribute name="protocol" type="xs:string" fixed="CLUE"
           use="required"/>
     <xs:attribute name="v" type="versionType" use="required"/>
   </xs:complexType>
        
   <!-- VERSION TYPE -->
   <xs:simpleType name="versionType">
     <xs:restriction base="xs:string">
       <xs:pattern value="[1-9][0-9]*\.[0-9]+" />
     </xs:restriction>
   </xs:simpleType>
        

Figure 1: Structure of a CLUE Message

図1:手がかりメッセージの構造

The information contained in each CLUE message is as follows:

各CLUEメッセージに含まれる情報は次のとおりです。

clueId: An optional XML element containing the identifier (in the form of a generic string) of the CP within the telepresence system.

ClueId:TelePresenceシステム内のCPの識別子(一般的な文字列の形式)を含むオプションのXML要素。

sequenceNr: An XML element containing the local message sequence number. The sender MUST increment the sequence number by one for each new message sent, and the receiver MUST 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.

sequencenr:ローカルメッセージシーケンス番号を含むXML要素。送信側は送信された新しいメッセージごとにシーケンス番号を1つずつ増やす必要があり、受信側は受信した最新のシーケンス番号を受信し、予期しないシーケンス番号(シーケンス番号ギャップ、繰り返し)を持つメッセージを受信した場合に402エラーを送信する必要があります。シーケンス番号、シーケンス番号が小さすぎます)。初期シーケンス番号は各パーティーによってランダムに選択できます。

protocol: A mandatory attribute set to "CLUE", identifying the protocol the messages refer to.

プロトコル:メッセージが参照するプロトコルを識別する、「Clue」に設定されている必須属性が設定されています。

v: 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.

v:プロトコルのバージョンを搭載した必須属性。「v」属性の内容は、主要バージョン番号とそれに続くドットと、次に使用中のCLUEプロトコルのマイナーバージョン番号で構成されています。メジャー番号は "0"にすることはできません、そしてそれが1桁以上の場合は "0"で始めることはできません。この種の許容値は「1.3」、「2.0」、「20.44」などです。このドキュメントではバージョン1.0について説明します。

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).

各CPは、それが送信するメッセージ内のメッセージ内のシーケンス番号の最大3つの独立したストリームの作成と更新を担当しています。(i)開始フェーズで送信されたメッセージ(II)MPとして送信されたメッセージの場合は(II)MPとして、(iii)MCとして送信されたメッセージ(MCとして機能している場合)。

In particular, CLUE response messages ('optionsResponse', 'ack', 'configureResponse') derive from a base type, inheriting from the clueMessageType, which is defined as follows (Figure 2):

特に、Clue Responseメッセージ( 'optionsresponse'、 'ack'、 'configureResponse')は、次のように定義されているClueMessageTypeから継承し、基本タイプから派生します。

   <xs:complexType name="clueResponseType">
    <xs:complexContent>
     <xs:extension base="clueMessageType">
      <xs:sequence>
       <xs:element name="responseCode" type="responseCodeType"/>
       <xs:element name="reasonString" type="xs:string" minOccurs="0"/>
      </xs:sequence>
     </xs:extension>
    </xs:complexContent>
   </xs:complexType>
        

Figure 2: Structure of CLUE Response Messages

図2:手がかり応答メッセージの構造

The elements <responseCode> and <reasonString> are populated as detailed in Section 5.7.

要素<ResponseCode>と<ReasonString>は、セクション5.7に詳述されています。

5.1. 'options'
5.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:

'オプション'メッセージは、CPのCPにあるCPによって、CRのCRの準備ができているとすぐに送信されます。基本構造で想定されている情報の他に、次のものを指定します。

<mediaProvider>: A mandatory boolean field set to "true" if the CP is able to act as an MP.

<MediaProvider>:CPがMPとして機能することができれば「TRUE」に設定されている必須ブールフィールド。

<mediaConsumer>: A mandatory boolean field set to "true" if the CP is able to act as an MC.

<MediaConsumer>:CPがMCとして機能することができれば「真」に設定されている必須ブールフィールド。

<supportedVersions>: The list of supported versions.

<supportionversions>:サポートされているバージョンのリスト。

<supportedExtensions>: The list of supported extensions.

<SubindalExtensions>:サポートされている拡張機能のリスト。

The XML schema of such a message is shown below (Figure 3):

そのようなメッセージのXMLスキーマを以下に示します(図3)。

   <!-- CLUE OPTIONS -->
   <xs:complexType name="optionsMessageType">
     <xs:complexContent>
       <xs:extension base="clueMessageType">
         <xs:sequence>
           <xs:element name="mediaProvider" type="xs:boolean" />
           <xs:element name="mediaConsumer" type="xs:boolean" />
           <xs:element name="supportedVersions" type="versionsListType"
                   minOccurs="0"/>
           <xs:element name="supportedExtensions"
                 type="extensionsListType"
                   minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
                   minOccurs="0"/>
         </xs:sequence>
         <xs:anyAttribute namespace="##other" processContents="lax"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
        
   <!-- VERSIONS LIST TYPE -->
   <xs:complexType name="versionsListType">
     <xs:sequence>
       <xs:element name="version" type="versionType" minOccurs="1"
           maxOccurs="unbounded"/>
       <xs:any namespace="##other" processContents="lax" minOccurs="0"/>
     </xs:sequence>
     <xs:anyAttribute namespace="##other" processContents="lax"/>
   </xs:complexType>
        
   <!-- EXTENSIONS LIST TYPE -->
   <xs:complexType name="extensionsListType">
     <xs:sequence>
       <xs:element name="extension" type="extensionType" minOccurs="1"
           maxOccurs="unbounded"/>
       <xs:any namespace="##other" processContents="lax" minOccurs="0"/>
     </xs:sequence>
     <xs:anyAttribute namespace="##other" processContents="lax"/>
   </xs:complexType>
        
   <!-- EXTENSION TYPE -->
   <xs:complexType name="extensionType">
     <xs:sequence>
       <xs:element name="name" type="xs:string" />
       <xs:element name="schemaRef" type="xs:anyURI" />
       <xs:element name="version" type="versionType" />
       <xs:any namespace="##other" processContents="lax" minOccurs="0"/>
     </xs:sequence>
     <xs:anyAttribute namespace="##other" processContents="lax"/>
   </xs:complexType>
        

Figure 3: Structure of a CLUE 'options' Message

図3:手がかりのオプションのメッセージの構造

<supportedVersions> contains the list of versions that are supported by the CI, each one represented in a child <version> element. The content of each <version> 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 <version> element MUST 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 <supportedVersions> 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 <supportedVersions> 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 <supportedVersions> is provided, at least one <version> element MUST be included. In this case, the "v" attribute SHOULD be set to the largest minor version of the smallest major version advertised in the <supportedVersions> 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 <version> 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.

<SupportionVersions> CIでサポートされているバージョンのリストを含みます。これは、子<version>要素に表されています。各<version>要素の内容は、主要なバージョン番号の後にドット、次にマイナーバージョン番号(例えば、1.3または2.4)で構成された文字列です。すべてのマイナーバージョンが下位互換性があるため、サポートされている主要バージョンごとに、正確に1つの<version>要素を指定する必要があります。 'options'メッセージ内で<supportionVersions>が搭載されていない場合、CIは "v"属性で宣言されているバージョンだけで、同じメジャーバージョン番号とより低いマイナーバージョン番号を持つすべてのバージョンです。たとえば、 "v"属性の値が "3.4"の場合、 'options'メッセージに<supportversions>要素がない場合、CIは3.0から3.4のすべてのマイナーバージョンでメジャーバージョン3のみをサポートします。 <SupportionVersions>が提供されている場合は、少なくとも1つの<version>要素を含める必要があります。この場合、 "v"属性は、<supportionversions>リストでアドバタイズされた最小のメジャーバージョンの最大のマイナーバージョンに設定する必要があります。確かに、「v」属性の背後にある意図は、それが理解されるより高い数値を有する「V」フィールドにバージョン番号を受信するいくつかの実装は、その内容を解釈する危険性を促進するために接続を閉じることになっていることである。メッセージマイナーバージョンはこのコンテキストでは有用ではなく、マイナーバージョンは後方互換性と互換性のある両方であると定義されており、任意の場合には<version>リストから解析できます。サポートされているフル機能セットを示しているので、いくつかのランダムなマイナーバージョンよりもサポートされている最高のマイナーバージョンを知っておくと便利です。

The <supportedExtensions> element specifies the list of extensions supported by the CI. If there is no <supportedExtensions> in the 'options' message, the CI does not support anything other than what is envisioned in the versions it supports. For each extension, an <extension> 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.

<subindalExtensions>要素は、CIによってサポートされている拡張機能のリストを指定します。'Options'メッセージに<supportedExtensions>がない場合、CIはそれがサポートするバージョンで想定されているもの以外のものをサポートしません。拡張子ごとに、<拡張>要素が提供されます。拡張子は、名前、拡張子が定義されている参照のXMLスキーマ、および拡張子が参照するプロトコルのバージョンによって特徴付けられます。

5.2. 'optionsResponse'
5.2. 'optionsresponse'

The 'optionsResponse' (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 MUST also include <mediaProvider>, <mediaConsumer>, <version>, and <commonExtensions> elements; it MAY include them for any other response code. <mediaProvider> and <mediaConsumer> 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 <version> element indicates the highest commonly supported version number. The content of the <version> element MUST 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 <commonExtensions> element.

'optionsResponse'(図4)は 'Options'メッセージへの返信としてCRからCIまで送信されます。'optionsResponse'には、 'オプション'メッセージの処理結果を示す必須の応答コードと理由文字列が含まれています。ResponseCodeが200から299の間である場合、応答には<MediaProvider>、<MediaConsumer>、<version>、および<commonextensions>要素も含まなければなりません。他の応答コードのためにそれらを含めることができます。<MediaProvider>と<MediaConsumer>要素(ブール型の性質のもの)は、CIが 'options'メッセージにしているものと同様に、サポートされている役割(MPおよびMCに関して)に関連付けられています。<version>要素は、最も一般的にサポートされているバージョン番号を示します。<version>要素の内容は、主要なバージョン番号の後にドットが続く文字列で、次にマイナーバージョン番号(例えば、1.3または2.4)で構成されている必要があります。最後に、一般的にサポートされている拡張機能は<commonextensions>要素にコピーされます。

   <!-- CLUE 'optionsResponse' -->
   <xs:complexType name="optionsResponseMessageType">
     <xs:complexContent>
       <xs:extension base="clueResponseType">
         <xs:sequence>
           <xs:element name="mediaProvider" type="xs:boolean"
                   minOccurs="0"/>
           <xs:element name="mediaConsumer" type="xs:boolean"
                   minOccurs="0"/>
           <xs:element name="version" type="versionType" minOccurs="0"/>
           <xs:element name="commonExtensions" type="extensionsListType"
                   minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
                   minOccurs="0"/>
         </xs:sequence>
         <xs:anyAttribute namespace="##other" processContents="lax"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
        

Figure 4: Structure of a CLUE 'optionsResponse' Message

図4:CLUE 'OptionsResponse'メッセージの構造

Upon reception of the 'optionsResponse', the version to be used is the one provided in the <version> element of the message. The subsequent CLUE messages MUST use such a version number in the "v" attribute. The allowed extensions in the CLUE dialogue are those indicated in the <commonExtensions> element of the 'optionsResponse' message.

'OptionsResponse'を受信すると、使用するバージョンはメッセージの<version>要素に提供されているものです。後続のCLUEメッセージは、そのようなバージョン番号を "v"属性で使用する必要があります。手がかりダイアログの許容拡張機能は、 'optionsResponse'メッセージの<commonextensions>要素に示されているものです。

5.3. 'advertisement'
5.3. '広告'

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'.

「広告」メッセージは、利用可能なメディアキャプチャおよび関連情報を対応するMCにアドバタイズするために各MPによって使用される。MPは、開始段階が正常に完了した後、すなわちCPSがCLUEプロトコルのバージョンおよび拡張に同意したらすぐに「広告」をMCに送信する。単一の手がかりセッション中、例えば、Chue TelePresence Media Capabilitiesがミッドコールを変更した場合、MPは新しい「広告」メッセージを送信することができます。新しい「広告」は、以前の「広告」を完全に置き換えます。

The 'advertisement' structure is defined in the schema excerpt below (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

「広告」構造は、以下のスキーマ抜粋で定義されています(図5)。'広告'には、MPのTelePresenceオファーを特徴付ける手がかりデータモデルに準拠した要素が含まれています。つまり、そのような要素はのリストです

* media captures (<mediaCaptures>),

* メディアキャプチャ(<MediaCapture>)、

* encoding groups (<encodingGroups>),

* エンコードグループ(<EncodingGroups>)、

* capture scenes (<captureScenes>),

* キャプチャーシーン(<CaptureScenes>)、

* simultaneous sets (<simultaneousSets>),

* 同時セット(<同時設定>)、

* global views (<globalViews>), and

* グローバルビュー(<globalviews>)、および

* represented participants (<people>).

* 参加者(<人>)を表しています。

Each of them is fully described in the CLUE framework document [RFC8845] and formally defined in the CLUE data model document [RFC8846].

それらのそれぞれは、Clue Framework Document [RFC8845]に完全に説明され、手がかりデータモデル文書[RFC8846]で正式に定義されています。

   <!-- CLUE ADVERTISEMENT MESSAGE TYPE -->
   <xs:complexType name="advertisementMessageType">
     <xs:complexContent>
       <xs:extension base="clueMessageType">
         <xs:sequence>
           <!-- mandatory -->
           <xs:element name="mediaCaptures"
                 type="dm:mediaCapturesType"/>
           <xs:element name="encodingGroups"
                 type="dm:encodingGroupsType"/>
           <xs:element name="captureScenes"
                 type="dm:captureScenesType"/>
           <!-- optional -->
           <xs:element name="simultaneousSets"
                 type="dm:simultaneousSetsType" minOccurs="0"/>
           <xs:element name="globalViews" type="dm:globalViewsType"
                 minOccurs="0"/>
           <xs:element name="people"
                 type="dm:peopleType" minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
                 minOccurs="0"/>
         </xs:sequence>
         <xs:anyAttribute namespace="##other" processContents="lax"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
        

Figure 5: Structure of a CLUE 'advertisement' Message

図5:手がかりの「広告」メッセージの構造

5.4. 'ack'
5.4. 'ack'

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 (Figure 6), the 'ack' contains a response code and may contain a reason string for describing the processing result of the 'advertisement'. The <advSequenceNr> element carries the sequence number of the 'advertisement' message the 'ack' refers to.

'ACK'メッセージは、「広告」メッセージを確認するためにMCからMPに送信されます。次の抜粋(図6)に記載されているメッセージスキーマから分かるように、 'ACK'は応答コードを含み、「広告」の処理結果を説明するための理由文字列を含むことができる。<aveceencenr>要素は 'Advertisement'メッセージのシーケンス番号をキャリアします。

   <!-- 'ack' MESSAGE TYPE -->
   <xs:complexType name="advAcknowledgementMessageType">
     <xs:complexContent>
       <xs:extension base="clueResponseType">
         <xs:sequence>
           <xs:element name="advSequenceNr" type="xs:positiveInteger"/>
           <xs:any namespace="##other" processContents="lax"
                   minOccurs="0"/>
         </xs:sequence>
         <xs:anyAttribute namespace="##other" processContents="lax"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
        

Figure 6: Structure of a CLUE 'ack' Message

図6:手がかり 'ACK'メッセージの構造

5.5. 'configure'
5.5. '構成、設定'

The 'configure' message is sent from an MC to an MP to list the advertised captures the MC wants to receive. The MC MUST 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 (Figure 7).

「設定」メッセージはMCからMPに送信され、MCが受信したいアドバタイズキャプチャをリストします。MCは、「広告」を受信した後に「構成」を送信しなければならず、以前にMPによってアドバタイズされた他のキャプチャを要求するたびに、'Configure'メッセージの内容を以下に示します(図7)。

   <!-- CLUE 'configure' MESSAGE TYPE -->
   <xs:complexType name="configureMessageType">
     <xs:complexContent>
       <xs:extension base="clueMessageType">
         <xs:sequence>
           <!-- mandatory fields -->
           <xs:element name="advSequenceNr" type="xs:positiveInteger"/>
           <xs:element name="ack" type="successResponseCodeType"
                   minOccurs="0"/>
           <xs:element name="captureEncodings"
                   type="dm:captureEncodingsType" minOccurs="0"/>
           <xs:any namespace="##other" processContents="lax"
                   minOccurs="0"/>
         </xs:sequence>
         <xs:anyAttribute namespace="##other" processContents="lax"/>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
        

Figure 7: Structure of a CLUE 'configure' Message

図7:手がかりの「設定」メッセージの構造

The <advSequenceNr> element contains the sequence number of the 'advertisement' message the 'configure' refers to.

<aveceencenr>要素には、 'configure'が参照する '広告'メッセージのシーケンス番号が含まれています。

The optional <ack> element, when present, contains a success response code, as defined in Section 5.7. It indicates that the 'configure' message also acknowledges with success the referred advertisement ('configure+ack' message). The <ack> element MUST NOT be present if an 'ack' message (associated with the advertisement carrying that specific sequence number) has already been sent back to the MP.

存在する場合、オプションの<ack>要素は、セクション5.7で定義されているように、成功した応答コードを含みます。それは 'configure'メッセージが紹介された広告を成功させることでも認識していることを示しています( 'configure ACK'メッセージ)。'ACK'メッセージ(特定のシーケンス番号を担持している広告に関連付けられている)がすでにMPに送り返された場合、<ack>要素は存在してはならない。

The most important content of the 'configure' message is the list of capture encodings provided in the <captureEncodings> element (see [RFC8846] for the definition of <captureEncodings>). Such an element contains a sequence of capture encodings, representing the streams to be instantiated.

'configure'メッセージの最も重要な内容は、<captureencodings>要素に提供されているキャプチャエンコーディングのリストです(<captureEncodings>の定義については、[RFC8846]を参照)。そのような要素は、インスタンス化されるべきストリームを表す一連のキャプチャエンコーディングを含む。

5.6. 'configureResponse'
5.6. 'configureResponse'

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 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 <confSequenceNr> 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.

'configureResponse'メッセージは、以前に受信した 'configure'メッセージで伝送された要求の処理結果を伝達するためにMPからMCに送信されます。図8に示すように、それは「設定」要求処理の成功または失敗(失敗詳細と共に)を示す応答コード(および任意選択的には理由文字列)を含む。次の<confsequencenr>要素には、「configure」メッセージのシーケンス番号が含まれています。コマンドの部分的な実行はありません。例として、MPが1つ以外のすべての選択されたキャプチャエンコーディングを理解できるようにすると、コマンド全体が失敗し、インスタンス化されていません。

   <!-- 'configureResponse' MESSAGE TYPE -->
   <xs:complexType name="configureResponseMessageType">
     <xs:complexContent>
       <xs:extension base="clueResponseType">
         <xs:sequence>
           <xs:element name="confSequenceNr"
                 type="xs:positiveInteger" />
           <xs:any namespace="##other" processContents="lax"
                 minOccurs="0"/>
         </xs:sequence>
         <xs:anyAttribute namespace="##other" processContents="lax" />
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
        

Figure 8: Structure of a CLUE 'configureResponse' Message

図8:CLUE 'ConfigureResponse'メッセージの構造

5.7. Response Codes and Reason Strings
5.7. 応答コードと理由文字列

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 MUST be registered with IANA. Such new response codes MUST NOT override the codes defined in this document, and they MUST respect the semantics of the first code digit.

応答コードは3桁のシーケンスとして定義されています。明確に定義された意味は1桁目に関連付けられています。 "2"で始まる応答コードは、成功した応答に関連付けられています。 「2」または「1」で始まらない応答コードは、誤り応答、すなわち、手がかり要求を処理中にエラーが発生したことを示す。特に、「3」から始まる応答コードは、メッセージのXMLコンテンツ(「4」、「無効な値」など)に関する問題を示し、「4」で始まる応答コードは、CLUEプロトコルセマンティクスに関連する問題を参照しています(「無効なシーケンス」、「バージョンはサポートされていません」など)。 200,300、および400のコードは、それぞれのカテゴリ内の最も一般的なコードです。さらなる応答コードは、将来のプロトコルのバージョンでも、または拡張メカニズムを活用することによって定義することができる。どちらの場合も、新しい応答コードをIANAに登録する必要があります。このような新しい応答コードは、この文書で定義されているコードを上書きしてはならず、最初のコードディジットのセマンティクスを尊重しなければなりません。

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.

このドキュメントは "1"で始まる応答コードを定義しません。このような応答コードは、CLUEプロトコルのメジャーバージョン1に表示されません。必要に応じて、将来のプロトコルの将来のメジャーバージョンの範囲は、プロトコルの将来の主要バージョンのために予約されています。「5」から「9」で始まる応答コードは、新しいクラスの応答クラスを定義し、CLUEプロトコルのメジャーバージョン1では許可されていないプロトコルの将来のメジャーバージョンのために予約されています。"0"で始まる応答コードは許可されていません。

The response codes and reason strings defined for use with version 1 of the CLUE protocol are listed in Table 1. The "Description" text contained in the table can be sent in the <reasonString> element of a response message. Implementations can (and are encouraged to) include descriptions of the error condition that are more specific, if possible.

手がかりプロトコルのバージョン1と共に使用するために定義された応答コードと理由文字列を表1に示します。テーブルに含まれている「説明」テキストは、応答メッセージの<reasonString>要素で送信できます。実装は(そして奨励されています)可能であれば、より具体的なエラー状態の説明を含みます。

   +==========+===============+========================================+
   | Response | Reason String |              Description               |
   | Code     |               |                                        |
   +==========+===============+========================================+
   | 200      | Success       | The request has been                   |
   |          |               | successfully processed.                |
   +----------+---------------+----------------------------------------+
   | 300      | Low-level     | A generic low-level request            |
   |          | request error | error has occurred.                    |
   +----------+---------------+----------------------------------------+
   | 301      | Bad syntax    | The XML syntax of the message          |
   |          |               | is not correct.                        |
   +----------+---------------+----------------------------------------+
   | 302      | Invalid value | The message contains an                |
   |          |               | invalid parameter value.               |
   +----------+---------------+----------------------------------------+
   | 303      | Conflicting   | The message contains values            |
   |          | values        | that cannot be used together.          |
   +----------+---------------+----------------------------------------+
   | 400      | Semantic      | The received CLUE protocol             |
   |          | errors        | message contains semantic              |
   |          |               | errors.                                |
   +----------+---------------+----------------------------------------+
   | 401      | Version not   | The protocol version used in           |
   |          | supported     | the message is not supported.          |
   +----------+---------------+----------------------------------------+
   | 402      | Invalid       | The received message contains          |
   |          | sequencing    | an unexpected sequence number          |
   |          |               | (e.g., sequence number gap,            |
   |          |               | repeated sequence number, or           |
   |          |               | sequence number outdated).             |
   +----------+---------------+----------------------------------------+
   | 403      | Invalid       | The clueId used in the                 |
   |          | identifier    | message is invalid or                  |
   |          |               | unknown.                               |
   +----------+---------------+----------------------------------------+
   | 404      | Advertisement | The sequence number of the             |
   |          | expired       | advertisement the 'configure'          |
   |          |               | message refers to is out of            |
   |          |               | date.                                  |
   +----------+---------------+----------------------------------------+
   | 405      | Subset choice | The subset choice is not               |
   |          | not allowed   | allowed for the specified              |
   |          |               | Multiple Content Capture.              |
   +----------+---------------+----------------------------------------+
        

Table 1: CLUE Response Codes

表1:手がかり応答コード

6. Protocol State Machines
6. プロトコルステートマシン

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 [RFC8850]. We herein discuss the state machines associated with the CP (Figure 9), the MP role (Figure 10 in Section 6.1), and the MC role (Figure 11 in 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 [RFC8848].

CLUEプロトコルは、マルチメディアテレプレゼンスセッションを適切に構成するために2つのCPSの間で使用されるアプリケーションプロトコルです。CLUEプロトコルメッセージ[RFC8850]に示されているように確立されたSCTP-over-DTLSチャネルの手がかりデータチャネルを越えて流れます。本明細書では、CP(図9)、MPロール(6.1の図10)、およびMCロール(図11の図10の図10)について説明します(図11の図11の図11)。エンドポイントは、メディアを送受信すること、すなわちMPとMCの両方として機能することが多い。そのように、反対方向に流れる2組のメッセージがあることが多い。これら2つのフローの状態機械は互いに相互作用しない。手がかりアプリケーションロジックのみが考慮されます。交換されたメディアストリームのための手がかりプロトコルとSDPネゴシエーションの相互作用は[RFC8848]で説明されています。

                               +----+
       +---------------------->|IDLE|<----------------------------+
       |                       +-+--+                             |
       |                         |                                |
       |                         |  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 |
                              |         |<-----------------+
                              | +----+  |
                              | | MC |  |
                              | +----+  |
                              |         |
                              +---------+
        

Figure 9: CLUE Participant State Machine

図9:CLUE参加者ステートマシン

The main state machines focus on the behavior of the CP acting as a CLUE CI/CR.

主な状態機械は、CPの挙動に焦点を合わせて、CLUE CI / CRとして機能する。

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).

初期状態はアイドル状態です。アイドル状態では、手がかりデータチャネルは確立されず、問題の2つの手がかり可能なデバイス間で手がかり媒体が交換されない(メディアストリームの進行中の交換がある場合、そのようなメディアストリームは現在手コントロールではありません)。。

When the CLUE data channel is set up ("start channel"), the CP moves from the IDLE state to the CHANNEL SETUP state.

手がかりデータチャネルが設定されている場合(「スタートチャネル」)、CPはアイドル状態からチャンネル設定状態に移動します。

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.

手がかりデータチャネルが正常に設定された場合(「チャネル確立」)、CPはチャネル設定状態からオプション状態に移動します。それ以外の場合、「チャネルエラー」が発生した場合は、アイドル状態に戻ります。CLUE対応のテレプレゼンスセッションが終了した場合、すなわち、手がかりデータチャネルを削除するためのSDPネゴシエーションが実行されると、同じ遷移が発生する。

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:

オプションの状態では、CPは両方の部品がバージョンと拡張機能に同意する開始フェーズに次の手がかりメッセージ交換フェーズで使用されます。CPがCIの場合は 'Options'メッセージを送信し、 'optionsResponse'メッセージを待ちます。CPがCRである場合は、「オプション」メッセージを待つとともに、到着するとすぐに 'OptionSresponse'メッセージに返信します。ネゴシエーションが正常に完了した場合(「オプションの位相成功」)、CPはオプション状態からアクティブ状態に移動します。開始フェーズが失敗した場合(「オプション位相障害」)、CPはオプション状態からアイドル状態に移動します。開始段階は、次のいずれかの理由で失敗する可能性があります。

1. The CI receives an 'optionsResponse' with an error response code.

1. CIはエラー応答コードを持つ 'optionsResponse'を受け取ります。

2. The CI does not receive any 'optionsResponse', and a timeout error is raised.

2. CIは 'optionsresponse'を受け取らず、タイムアウトエラーが発生します。

3. The CR does not receive any 'options', and a timeout error is raised.

3. CRは「オプション」を受け取らず、タイムアウトエラーが発生します。

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 5.1 and 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 MUST ignore the message and stay in the ACTIVE state.

アクティブ状態では、CPは、それがテレプレゼンスセッションで再生される役割に従って、想定されるサブステートマシン(すなわち、MPステートマシンおよびMCステートマシン)を開始する。そのような役割は、開始段階に含まれる 'options'および 'optionsresponse'メッセージで以前に宣言されています(詳細はセクション5.1および5.2を参照)。アクティブ状態では、CPは手がかりメッセージの送信と処理を適切なMP / MCサブステートマシンに委任します。CPがさらに「オプション」/ 'optionsResponse'メッセージを受信した場合、メッセージを無視してアクティブ状態に留まる必要があります。

6.1. Media Provider's State Machine
6.1. メディアプロバイダーのステートマシン

As soon as the sub-state machine of the MP (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.

MPのサブステートマシン(図10)が有効になるとすぐに、それはADV状態です。ADV状態では、MPは実際のテレプレゼンス機能を反映した「広告」メッセージを準備します。

                             +-----+
               +------------>| ADV |<-------------------+
               |             +-+---+                    |
               |  advertisement|       NACK received    |
               |           sent|                        |
               |               v                        |
        changed|             +--------+                 |
   telepresence+-------------+WAIT FOR+-----------------+
       settings|  +----------+  ACK   |
               |  |configure +-+------+
               |  |  +ack      |
               |  |received    |ack received
               |  |            v
               |  |          +--------+
               +-------------+WAIT FOR|
               |  |          |  CONF  |
               |  |          +-+------+<-----------------------------+
               |  |            |                                     |
               |  |            |configure received                   |
               |  |            v                                     |
               |  +--------->+---------+ error configureResponse sent|
               +-------------+CONF     |-----------------------------+
               |  +--------->|RESPONSE +
               |  |          +---------+
               |  |              |
               |  |              |successful
               |  |              |configureResponse
               |  |              |sent
               |  |              |
               |  |              |
               |  |configure     |
               |  |received      v
               |  |          +-----------+
               |  +----------+ESTABLISHED|
               +-------------+-----------+
        

Figure 10: Media Provider's State Machine

図10:メディアプロバイダのステートマシン

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 <ack> 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 MUST 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'.

「広告」が送信された後(「広告送信」)、MPはADV状態からACK状態の待機まで移動します。応答コードが成功した「ACK」メッセージが到着した場合(「ACK受信」)、MPは受信待ちの状態に移動します。NACKが到着する(すなわち、エラー応答コードを有する 'ACK'メッセージ)、MPは新しい「広告」を作成するためにADV状態に戻る。ACK状態の待機時に、「200」に設定されている<ack>要素を持つ 'Configure'メッセージが到着した場合( "ACKの設定")、MPは直接CONF応答状態になります。「ACK」メッセージ(すなわち、これまでに生成された最高値よりも小さいシーケンス番号を有する)広告は無視されなければならない、すなわちそれらは任意の状態遷移を引き起こさない。ACKの状態(「TelePresence設定」の変更待ち)の間にMPのテレプレンス設定が変更された場合(「TelePresence Settingsの変更」)、ACKの待機状態からADV状態に切り替わり、新しい「広告」を作成します。

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.

Wait for confの状態で、MPはMCからの「設定」要求のためにチャネルを聴取します。「設定」が到着した場合(「受信した設定」)、MPはCONF応答状態に切り替わります。その間(「TelePresence設定変更」)の間にテレプレンス設定が変更された場合、MPは待機の待機状態からADV状態に戻り、MCに送信される新しい「広告」を作成します。

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.

CONF Response状態のMPは、「ConfigureResponse」メッセージを作成するために、受信した 'configure'を処理します。MPがMCの構成を正常に処理した場合は、200 'ConfigureResponse'( "configureResponse"が成功した ")を送信して確立状態に移動します。「設定」処理にエラーがある場合、MPはエラー応答コードを搬送して「ConfigureResponse」を発行し、新しい設定要求を待つ待機の待機状態に戻ります。最後に、MPのテレプレンス設定(「変更されたTelePresence設定」)に変更がある場合、MPはADV状態に切り替わります。

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.

確立された状態のMPは、手がかりメッセージを用いてMCを用いてメディアストリームを正常にネゴシエートしてきた。MPのテレプレンス設定(「変更されたTelePresence設定」)に変更がある場合、MPはADV状態に戻ります。確立された状態では、セッションの手がかりメディアストリームは、最後に正常に処理された 'configure'メッセージで説明されているものです。

Messages not shown for a state do not cause the state to change.

状態に表示されていないメッセージは状態を変えることはありません。

6.2. Media Consumer's State Machine
6.2. メディア消費者のステートマシン

As soon as the sub-state machine of the MC (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.

MC(図11)のサブステートマシンが有効になるとすぐに、それはADV状態の待ち状態にあります。ADV状態の待機中のMCは、MPからの「広告」を待っています。「広告」が到着した場合(「adv受信」)、MCはADV処理状態に移動します。それ以外の場合、MCはADV状態の待機中に留まります。

                         +----------+
                         | WAIT FOR |
                         |   ADV    |
                         +----+-----+<--------+
                              |               |
                 advertisement|      NACK sent|
                      received|               |
                              v               |
                         +-----------+--------+
                         |  ADV      +
                         | PROCESSING|<-----------------------+
                         +-+-----+---+                        |
                           |     |                            |
            configure+ack  |     |  ack                       |
                   sent    |     |  sent                      |
                           |     v                            |
                           |  +-----+                         |
                           |  |CONF |  advertisement received |
     +----------------------->|     +-------------------------+
     |error                |  +--+--+                         |
     |configureResponse    |     |                            |
     |received             |     |configure                   |
     |                     |     |sent                        |
     |                     |     |                            |
     |                     v     v              advertisement |
     +------------------+---------------+            received |
             +--------->|   WAIT FOR    +---------------------+
             |          |  CONF RESPONSE+                     |
             |          +-------+-------+                     |
             |                  |                             |
             |                  |                             |
             |                  |successful                   |
             |                  |configureResponse            |
             |                  |received                     |
             |configure         v                             |
             |sent        +-----------+ advertisement received|
             +------------+ESTABLISHED+-----------------------+
                          +-----------+
        

Figure 11: Media Consumer's State Machine

図11:メディアコンシューマのステートマシン

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 <ack> element set to "200" ("configure+ack sent") and will allow the MC to move directly to the WAIT FOR CONF RESPONSE state.

ADV処理状態では、「広告」はMCによって解析されます。「広告」が正常に処理された場合は、2つのシナリオが可能です。最初のケースでは、MCはMPに成功した「ACK」メッセージ(「ACK送信」)を発行し、CONF状態に移動します。これは通常、MCが受信した「広告」に関連付けられている「設定」メッセージを作成するためにもう少し時間がかかる場合に発生します。後者の場合、MCは直ちに準備し、MP A 'Configure'メッセージに送り返すことができます。そのようなメッセージには、<ack>要素が "200"に設定されている( "200"( "Configure" Configure "を持ち、MCがConf Response状態の待機に直接移動させることができます。

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'.

「広告」の処理が失敗した場合(不正な構文、欠けているXML要素など)、MCはNACKメッセージ(すなわち、エラー応答コードとの「ACK」を含む)をMPに送信し、任意選択でさらに説明する。適切な理由句による問題。このシナリオ(「NACK送信」)では、MCはADV状態の待機に戻り、新しい「広告」を待ちます。

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.

CONF状態では、MCは、以前にACKされた「広告」に基づいてMPに発行される「設定」要求を準備します。'configure'が送信されたら( "Configure" ")、MCはCONF応答状態の待ち時間に移動します。その間に新しい「広告」が到着した場合(「広告受信」)、MCはADV処理状態に戻る。

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.

CONF応答状態の待ち時間で、MCは発行された「configure」または「configure ack」に対するMPの応答を待ちます。200 'ConfigureResponse'メッセージが受信された場合( "ConfigureResponseの成功")、MPとMCが共有されるメディアストリームについて成功したことを意味します。そして、MCは確立状態に移動することができます。一方、エラー応答が受信された場合(「エラーConfigureResponse」)、MCはCONF状態に戻り、新しい「設定」要求を作成します。CONF応答状態の待機中に新しい「広告」を受信した場合、MCはADV処理状態に切り替わります。

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.

MCが確立された状態にあるとき、TelePresenceセッション構成はMCの設定に従って手がかりアプリケーションレベルで設定されています。MPとMCの両方が合意されています(そしては注意しており、通話中の交換内容に対処する)。確立された状態では、MCは通話設定で何かを変更することを決定するかもしれません。この場合、MCは新しい 'configure'( "configure")を発行し、新しい 'configureResponse'を待つように待機するのを待ちます。一方、MCが確立された状態で、新しい「広告受信」)がMPから到着した場合、MP側で何かが変わったことを意味します。その後、MCはADV処理状態に移行します。

Messages not shown for a state do not cause the state to change.

状態に表示されていないメッセージは状態を変えることはありません。

7. Versioning
7. バージョン管理

CLUE protocol messages are XML messages compliant to the CLUE protocol XML schema [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.

CLUEプロトコルメッセージは、CLUEプロトコルXMLスキーマ[RFC8846]に準拠したXMLメッセージです。プロトコルのバージョンはスキーマのバージョンに対応しています。クライアントとサーバーの両方が、受信したメッセージのコンプライアンスをCLUEプロトコルのXMLスキーマでテストする必要があります。コンプライアンスが検証されていない場合は、メッセージをさらに処理できません。

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.

クライアントとサーバーは、正確に同じXMLスキーマを共有していない場合は通信できません。そのようなスキーマは、Clue Urn "URN:ietf:params:xml:ns:clue-protocol"に関連付けられています。すべてのClue対応デバイスがそのスキーマを使用する場合、スキーマの問題のために相互運用性の問題はありません。

This document defines version 1.0 of the CLUE protocol schema, using XML schema version 1.0 [W3C.REC-xml-20081126]. The version usage is similar in philosophy to the Extensible Messaging and Presence Protocol (XMPP) [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.

この文書は、XMLスキーマバージョン1.0 [W3C.REC-XML-20081126]を使用して、CLUEプロトコルスキーマのバージョン1.0を定義します。バージョン使用量は、哲学が拡張メッセージングおよびプレゼンスプロトコル(XMPP)[RFC6120]に似ています。バージョン番号には、メジャーコンポーネントとマイナーコンポーネントがあり、それぞれが負の整数ではありません。メジャーバージョンの変更は、非相互運用可能な変更を表します。マイナーバージョンの変更は、未知のXML要素またはその他の下位互換性の変更を無視して、下位互換性があるスキーマの変更を示します。

The minor versions of the XML schema MUST 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 MUST 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 [RFC1122], CPs MUST ignore unknown elements or attributes that are not envisioned in the negotiated protocol version and related extensions.

XMLスキーマのマイナーバージョンは、スキーマに関してはなく意味的にも手続き的にだけでなく、後方互換性がある必要があります。つまり、以前のバージョンのスキーマで定義されている基本的な規則に影響を与えることなく、以前のバージョンで定義されているもの以外に、さらに機能と機能性を定義する必要があります。このように、MPがバージョン1.4のみを理解している間にMPがプロトコルのバージョン1.5だけ「話す」ことができる場合、MPは1.5の機能と機能を悪用せずにダイアログをバージョン1.4に戻すのに問題ないはずです。 。バージョン1.4は、話されるもので、後続の手がかりメッセージの「v」属性に表示されなければなりません。つまり、この例では、MPはバージョン1.4を使用する必要があります。それは、実装がその送信行動と受信動作でのリベラルで実装が保守的でなければならないという一般的なIETFプロトコル「堅牢性原則」を述べています[RFC1122]、CPSは未知の要素または交渉に想定されていない属性を無視する必要があります。プロトコルのバージョンと関連拡張。

8. Extensions
8. 拡張子

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 MUST be negotiated in the CLUE initiation phase. They can relate to:

Clue Protocol XMLスキーマの標準バージョンは、アプリケーションドメインから出てくる要件に徹底的に対処するように設計されていますが、新しいニーズが発生する可能性があり、新しい拡張機能を設計できます。拡張機能特定のバージョンのプロトコルに記載されていない情報と動作を指定し、関連するRFC文書に指定されています。そのような情報および行動は、手がかりダイアログで任意に使用することができ、CLUE開始段階でネゴシエートされなければならない。彼らは以下のとおりです。

1. new information, to be carried in the existing messages. For example, more fields may be added within an existing message.

1. 既存のメッセージで実行する新しい情報。たとえば、既存のメッセージ内にさらにフィールドを追加することができます。

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.

2. 新しいメッセージ特定のタスクに適切なメッセージがない場合、これは当てはまりますので、ブランドの新しい手がかりメッセージを定義する必要があります。

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:

拡張の最初のカテゴリに関しては、プロトコル固有の情報とデータモデル情報を区別することが可能です。確かに、手がかりメッセージは次の両方を伝える封筒です。

1. XML elements defined within the CLUE protocol XML schema itself (protocol-specific information).

1. CLUEプロトコルXMLスキーマ自体内で定義されているXML要素(プロトコル固有の情報)。

2. other XML elements compliant to the CLUE data model schema (data model information).

2. 手がかりデータモデルスキーマに準拠した他のXML要素(データモデル情報)。

When new protocol-specific information is needed somewhere in the protocol messages, it can be added in place of the <any> elements and <anyAttribute> elements envisioned by the protocol schema. The policy currently defined in the protocol schema for handling <any> and <anyAttribute> elements is as follows:

プロトコルメッセージのどこかに新しいプロトコル固有の情報が必要な場合は、プロトコルスキーマによって想定されている<any>要素と<anyAttribute>要素の代わりに追加できます。<any>と<anyAttribute>要素を処理するためにプロトコルスキーマで現在定義されているポリシーは次のとおりです。

* elementFormDefault="qualified"

* ElementFormDefault = "修飾"

* attributeFormDefault="unqualified"

* attributeFormDefault = "修飾"

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 MUST be ignored.

新しい情報は、 "urn:ietf:params:xml:clue-protocol"(プロトコルurn)と "urn:ietf:params:xml:ns:clue-info:clue-info:clue-info:clue-info:clue-info:clue-info(データモデル)urn)。不明な名前空間からの要素または属性は無視される必要があります。

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 <any> and <anyAttribute> placeholders. New information within data model elements can be added in place of <any> and <anyAttribute> schema elements, as long as they are properly namespace qualified.

他の事項はデータモデル情報に関するものです。データモデル情報は、urn "urn:ietf:params:xml:ns:clue-info"に関連付けられているXMLスキーマによって定義されます。そのようなスキーマで定義されているXML要素の拡張機能もあることに注意してください。これらの問題は、<any>と<AnyAttribute>プレースホルダを使用して克服されます。データモデル要素内の新しい情報は、適切に名前空間の修飾されている限り、<anyAttribute>スキーマ要素の代わりに追加できます。

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.

一方(第2の拡張子のカテゴリ)、「余分な」手がかりプロトコルメッセージ、すなわち最新の標準バージョンのスキーマで想定されていないメッセージが必要とされるかもしれない。その場合、メッセージと関連する行動は、両方の通信パーティーが認識している必要があることを外部文書で定義する必要があります。

As shown in Figure 12, the fields of the <extension> element (either new information or new messages) take the following values:

図12に示すように、<拡張機能>要素(新しい情報または新しいメッセージのいずれか)のフィールドには、次の値があります。

* a name.

* 名前。

* an external XML schema defining the XML information and/or the XML messages representing the extension.

* 拡張子を表すXML情報および/またはXMLメッセージを定義する外部XMLスキーマ。

* the major standard version of the protocol that the extension refers to.

* エクステクションが参照するプロトコルの主要な標準バージョン。

     <xs:complexType name="extensionType">
       <xs:sequence>
         <xs:element name="name" type="xs:string" />
         <xs:element name="schemaRef" type="xs:anyURI"/>
         <xs:element name="version" type="versionType"/>
         <xs:any namespace="##other" processContents="lax"
               minOccurs="0"/>
       </xs:sequence>
       <xs:anyAttribute namespace="##other" processContents="lax"/>
     </xs:complexType>
        
                     Figure 12: The <extension> Element
        

The above-described <extension> element is carried within the 'options' and 'optionsResponse' messages to represent the extensions supported by both the CI and the CR.

上記の<extension>要素は、CIとCRの両方でサポートされている拡張子を表すために、 'options'および 'optionsresponse'メッセージ内で伝送されます。

Extensions MUST be defined in a separate XML schema file and MUST be provided with a companion document describing their semantics and use.

拡張機能は別のXMLスキーマファイルで定義する必要があり、その意味論と使用を説明するコンパニオン文書を提供する必要があります。

8.1. Extension Example
8.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 [RFC8846]) needed to further describe a video capture.

拡張子の例は、ビデオキャプチャをさらに説明するために必要な「新しい」キャプチャ属性(すなわち、[RFC8846]のCLUEデータモデルを定義する現在の標準では想定されていないキャプチャ属性)であり得る。

The CLUE data model document [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 [RFC8846] is shown in Figure 13 below.

CLUEデータモデル文書[RFC8846]は、ビデオキャプチャの説明にこの種の「余分な」情報を追加する可能性を想定しています。便宜上、[RFC8846]から取られたビデオキャプチャのXML定義を下記の図13に示します。

   <!-- VIDEO CAPTURE TYPE -->
      <xs:complexType name="videoCaptureType">
       <xs:complexContent>
        <xs:extension base="tns:mediaCaptureType">
         <xs:sequence>
          <xs:any namespace="##other" processContents="lax"
                minOccurs="0"
          maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:anyAttribute namespace="##other" processContents="lax"/>
        </xs:extension>
       </xs:complexContent>
      </xs:complexType>
        

Figure 13: XML Definition of a CLUE Video Capture

図13:CLUEビデオキャプチャのXML定義

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 (Figure 14):

そのような定義によれば、ビデオキャプチャは、一般的なメディアキャプチャ属性のセットの後、他の場所で定義された新しい属性のセット、すなわち拡張子を定義するXMLスキーマ内である。拡張子を定義するXMLスキーマは、次のようになります(図14)。

   <?xml version="1.0" encoding="UTF-8" ?>
   <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">
        

<!-- This is the new element to be put in place of the <any> element in the video capture definition of the CLUE data model schema -->

<! - これは、CLUEデータモデルスキーマのビデオキャプチャ定義の<any>要素の代わりに置く新しい要素です。

           <xs:element name="myVideoExtension">
                   <xs:complexType>
                           <xs:sequence>
                                <xs:element ref="newVideoAttribute1"/>
                                <xs:element ref="newVideoAttribute2"/>
                           </xs:sequence>
                   </xs:complexType>
           </xs:element>
        
           <xs:element name="newVideoAttribute1" type="xs:string"/>
        
           <xs:element name = "newVideoAttribute2" type = "xs:boolean"/>
   </xs:schema>
        

Figure 14: XML Schema Defining an Extension

図14:拡張子を定義するXMLスキーマ

By using the extension above, a video capture can be further described in the advertisement using the <myVideoExtension> element containing two extra pieces of information (<newVideoAttribute1> and <newVideoAttribute2>), 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.

上記の拡張を使用することによって、一般的なメディアキャプチャのために想定されている属性を使用して、2つの余分な情報(<newvideoattribute1>および<newvideoattribute2>)を含む<myVideoExtension>要素を使用して、ビデオキャプチャをさらに説明することができる。この文書に記載されているように、両方の参加者は、そのような拡張子を使用するために拡張スキーマおよび関連セマンティクスを認識する必要があり、そのような拡張子を使用する必要があり、 'Options'および 'OptionsResponse'メッセージを介してそれを交渉する必要があります。

9. XML Schema
9. XMLスキーマ

The XML schema defining the CLUE messages is provided below (Figure 15).

手がかりメッセージを定義するXMLスキーマを以下に示します(図15)。

   <?xml version="1.0" encoding="UTF-8"?>
   <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">
     <!-- Import data model schema -->
     <xs:import namespace="urn:ietf:params:xml:ns:clue-info"/>
     <!-- ELEMENT DEFINITIONS -->
     <xs:element name="options" type="optionsMessageType" />
     <xs:element name="optionsResponse"
           type="optionsResponseMessageType"/>
     <xs:element name="advertisement" type="advertisementMessageType"/>
     <xs:element name="ack" type="advAcknowledgementMessageType"/>
     <xs:element name="configure" type="configureMessageType"/>
     <xs:element name="configureResponse"
           type="configureResponseMessageType"/>
     <!-- CLUE MESSAGE TYPE -->
     <xs:complexType name="clueMessageType" abstract="true">
       <xs:sequence>
         <xs:element name="clueId" type="xs:string" minOccurs="0" />
         <xs:element name="sequenceNr" type="xs:positiveInteger" />
       </xs:sequence>
       <xs:attribute name="protocol" type="xs:string" fixed="CLUE"
           use="required" />
       <xs:attribute name="v" type="versionType" use="required" />
     </xs:complexType>
     <!-- CLUE RESPONSE TYPE -->
     <xs:complexType name="clueResponseType">
       <xs:complexContent>
         <xs:extension base="clueMessageType">
           <xs:sequence>
             <xs:element name="responseCode" type="responseCodeType" />
             <xs:element name="reasonString" type="xs:string"
                   minOccurs="0"/>
           </xs:sequence>
         </xs:extension>
       </xs:complexContent>
     </xs:complexType>
     <!-- VERSION TYPE -->
     <xs:simpleType name="versionType">
       <xs:restriction base="xs:string">
         <xs:pattern value="[1-9][0-9]*\.[0-9]+" />
       </xs:restriction>
     </xs:simpleType>
     <!-- RESPONSE CODE TYPE -->
     <xs:simpleType name="responseCodeType">
       <xs:restriction base="xs:integer">
         <xs:pattern value="[1-9][0-9][0-9]" />
       </xs:restriction>
     </xs:simpleType>
     <!-- SUCCESS RESPONSE CODE TYPE -->
     <xs:simpleType name="successResponseCodeType">
       <xs:restriction base="xs:integer">
         <xs:pattern value="2[0-9][0-9]" />
       </xs:restriction>
     </xs:simpleType>
     <!-- CLUE OPTIONS -->
     <xs:complexType name="optionsMessageType">
       <xs:complexContent>
         <xs:extension base="clueMessageType">
           <xs:sequence>
             <xs:element name="mediaProvider" type="xs:boolean"/>
             <xs:element name="mediaConsumer" type="xs:boolean"/>
             <xs:element name="supportedVersions"
                   type="versionsListType"
                   minOccurs="0" />
             <xs:element name="supportedExtensions"
                   type="extensionsListType" minOccurs="0"/>
             <xs:any namespace="##other" processContents="lax"
                   minOccurs="0"/>
           </xs:sequence>
           <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:extension>
       </xs:complexContent>
     </xs:complexType>
     <!-- VERSIONS LIST TYPE -->
     <xs:complexType name="versionsListType">
       <xs:sequence>
         <xs:element name="version" type="versionType" minOccurs="1"
           maxOccurs="unbounded"/>
         <xs:any namespace="##other" processContents="lax"
           minOccurs="0"/>
       </xs:sequence>
       <xs:anyAttribute namespace="##other" processContents="lax" />
     </xs:complexType>
     <!-- EXTENSIONS LIST TYPE -->
     <xs:complexType name="extensionsListType">
       <xs:sequence>
         <xs:element name="extension" type="extensionType"
           minOccurs="1"
           maxOccurs="unbounded"/>
         <xs:any namespace="##other" processContents="lax"
           minOccurs="0"/>
       </xs:sequence>
       <xs:anyAttribute namespace="##other" processContents="lax" />
     </xs:complexType>
     <!-- EXTENSION TYPE -->
     <xs:complexType name="extensionType">
       <xs:sequence>
         <xs:element name="name" type="xs:string" />
         <xs:element name="schemaRef" type="xs:anyURI" />
         <xs:element name="version" type="versionType" />
         <xs:any namespace="##other" processContents="lax"
           minOccurs="0"/>
       </xs:sequence>
       <xs:anyAttribute namespace="##other" processContents="lax"/>
     </xs:complexType>
     <!-- CLUE 'optionsResponse' -->
     <xs:complexType name="optionsResponseMessageType">
       <xs:complexContent>
         <xs:extension base="clueResponseType">
           <xs:sequence>
             <xs:element name="mediaProvider" type="xs:boolean"
                   minOccurs="0"/>
             <xs:element name="mediaConsumer" type="xs:boolean"
                   minOccurs="0"/>
             <xs:element name="version" type="versionType"
                   minOccurs="0"/>
             <xs:element name="commonExtensions"
                   type="extensionsListType" minOccurs="0"/>
             <xs:any namespace="##other" processContents="lax"
                   minOccurs="0"/>
           </xs:sequence>
           <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:extension>
       </xs:complexContent>
     </xs:complexType>
     <!-- CLUE ADVERTISEMENT MESSAGE TYPE -->
     <xs:complexType name="advertisementMessageType">
       <xs:complexContent>
         <xs:extension base="clueMessageType">
           <xs:sequence>
             <!-- mandatory -->
             <xs:element name="mediaCaptures"
                   type="dm:mediaCapturesType"/>
             <xs:element name="encodingGroups"
                   type="dm:encodingGroupsType"/>
             <xs:element name="captureScenes"
                   type="dm:captureScenesType"/>
             <!-- optional -->
             <xs:element name="simultaneousSets"
                   type="dm:simultaneousSetsType" minOccurs="0"/>
             <xs:element name="globalViews" type="dm:globalViewsType"
                   minOccurs="0"/>
             <xs:element name="people"
                   type="dm:peopleType" minOccurs="0"/>
             <xs:any namespace="##other" processContents="lax"
                   minOccurs="0"/>
           </xs:sequence>
           <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:extension>
       </xs:complexContent>
     </xs:complexType>
     <!-- 'ack' MESSAGE TYPE -->
     <xs:complexType name="advAcknowledgementMessageType">
       <xs:complexContent>
         <xs:extension base="clueResponseType">
           <xs:sequence>
             <xs:element name="advSequenceNr"
                   type="xs:positiveInteger"/>
             <xs:any namespace="##other" processContents="lax"
                   minOccurs="0"/>
           </xs:sequence>
           <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:extension>
       </xs:complexContent>
     </xs:complexType>
     <!-- CLUE 'configure' MESSAGE TYPE -->
     <xs:complexType name="configureMessageType">
       <xs:complexContent>
         <xs:extension base="clueMessageType">
           <xs:sequence>
             <!-- mandatory fields -->
             <xs:element name="advSequenceNr"
                   type="xs:positiveInteger"/>
             <xs:element name="ack" type="successResponseCodeType"
                   minOccurs="0"/>
             <xs:element name="captureEncodings"
                   type="dm:captureEncodingsType" minOccurs="0"/>
             <xs:any namespace="##other" processContents="lax"
                   minOccurs="0"/>
           </xs:sequence>
           <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:extension>
       </xs:complexContent>
     </xs:complexType>
     <!-- 'configureResponse' MESSAGE TYPE -->
     <xs:complexType name="configureResponseMessageType">
       <xs:complexContent>
         <xs:extension base="clueResponseType">
           <xs:sequence>
             <xs:element name="confSequenceNr"
                   type="xs:positiveInteger"/>
             <xs:any namespace="##other" processContents="lax"
                   minOccurs="0"/>
           </xs:sequence>
           <xs:anyAttribute namespace="##other" processContents="lax"/>
         </xs:extension>
       </xs:complexContent>
     </xs:complexType>
   </xs:schema>
        

Figure 15: Schema Defining CLUE Messages

図15:CLUEメッセージの定義スキーマ

10. Call Flow Example
10. コールフローの例

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.

このセクションでは、次のコールフローで交換されたCLUEプロトコルメッセージについて説明します。簡単にするために、他の方向は正確に対称的であるので、1つの媒体のみが示されている。

                    +-----+               +-----+
                    |     |               |     |
                    | CP1 |               | CP2 |
                    |     |               |     |
                    +--+--+               +--+--+
                       |                     |
                       |    1. options       |
                       +-------------------->|
                       |                     |
                       |                     |
                       |2. optionsResponse   |
                       |<--------------------+
                       |                     |
                       |                     |
                       |3. advertisement     |
                       +-------------------->|
                       |                     |
                       |                     |
                       |4. configure+ack     |
                       |<--------------------+
                       |                     |
                       |                     |
                       |5. configureResponse |
                       +-------------------->|
                       |                     |
                       |                     |
                       |6. advertisement     |
                       +-------------------->|
                       |                     |
                       |                     |
                       |    7. ack           |
                       |<--------------------+
                       |                     |
                       |                     |
                       |8. configure         |
                       |<--------------------+
                       |                     |
                       |                     |
                       |9. configureResponse |
                       +-------------------->|
                       |                     |
                       |                     |
                       .                     .
                       .                     .
                       .                     .
        

Two CPs, CP1 and CP2, have successfully set up the CLUE channel according to [RFC8850]. CP1 is the CI, and CP2 is the CR.

2つのCPS、CP1、およびCP2は、[RFC8850]に従って手がかりチャネルをセットアップしました。CP1はCIであり、CP2はCRです。

* 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 (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.

* 開始フェーズは起動します(手がかりプロトコルのバージョンと拡張子の交渉)。CP1は、CIとして、サポートされているバージョンと拡張機能を指定する「オプション」メッセージをCP2に送信します(セクション10.1)。CP1は、拡張機能E1、E2、およびE3および(II)バージョン2.7を拡張E4およびE5でサポートします。そのような機能のために、CP1は「v」属性を「1.4」に設定され、対応する「オプション」メッセージのフィールドにサポートされているすべてのバージョンと拡張機能を明示的に指定します。「オプション」メッセージでは、CP1はMPとMCの両方として機能することを意図していることも指定します。

* 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 (Section 10.2). In the 'optionsResponse' message, CP2 also specifies that it intends to act as both an MP and an MC.

* CP2は、CLUEプロトコルのバージョン3.0,2.9、および1.9をサポートしています。各バージョンは、拡張機能がありません。バージョン2.7が最良の選択肢です。受信された「オプション」メッセージを考えると、CP2は、合意されるべきClueプロトコルの合意されたバージョンのClueプロトコルとしてのみバージョン2.7のみを指定し、そのメッセージの拡張機能を空白にして、拡張機能がないと言っている。手がかりセッションで使用されます(セクション10.2)。'OptionsResponse'メッセージでは、CP2はMPとMCの両方として機能することを意図していることを指定しています。

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.

開始段階が完了した後、CP1とCP2はそれぞれMPとMCとして活性を開始します。簡単にするために、残りのコールフローはMP CP1とMC CP2の間の対話にのみ焦点を当てています。

* CP1 advertises a telepresence configuration like the one described in [RFC8846], Section 27, 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 (Section 10.3).

* CP1は、(i)3つのカメラによってキャプチャされた3つの主要ビデオストリームがある[RFC8846]に記載されているテレプレゼンス構成を示しています。(ii)部屋の最も大きいセグメントのマルチコンタクトキャプチャ、および(iii)部屋全体のオーディオキャプチャーの1つのオーディオキャプチャー(10.3節)。

* 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 (Section 10.4).

* CP2はCP1の「広告」メッセージを受け取り、処理後に、MultiContent CaptureとAudio Captureのみを宣言する「Configure ACK」メッセージをCP1に送り返します(セクション10.4)。

* 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 (Section 10.5).

* CP1に応答するCP2の「ConfigureResponse」メッセージを使用して、すべてのCP2の要求を受け入れる(10.5)。

* To reflect the changes in its telepresence offer, CP1 issues a new 'advertisement' message to CP2 (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 [RFC8846], Section 28 for more details regarding the telepresence description).

* TelePresenceオファーの変更を反映させるために、CP1はCP2に新しい「広告」メッセージを発行します(セクション10.6)、今回は現在のスピーカーを表す大きい写真と、表現する2つの写真映像の2つの写真を追加することもできます。以前のスピーカー(TelePresenceの説明の詳細については、「RFC8846」を参照)。

* CP2 acknowledges the second 'advertisement' message with an 'ack' message (Section 10.7).

* CP2は、「ACK」メッセージを使用して2番目の「広告」メッセージを確認します(10.7項)。

* 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 (Section 10.8). Media streams from the previous configuration continue to flow during the reconfiguration process.

* 後でセッションで、CP2はCP1からCP1に送信され、以前に選択されたビデオストリームをCP1によってアドバタイズされた新しい構成メディアストリーム(セクション10.8)に送信することで、CP1からの要求されたメディアストリームを変更します。前の構成からのメディアストリームは、再構成プロセス中に流れ続けます。

* Finally, CP1 accepts CP2's latest request with a 'configureResponse' message (Section 10.9).

* 最後に、CP1は「ConfigureResponse」メッセージを使用してCP2の最新の要求を受け入れます(セクション10.9)。

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 10.2 and 10.3 is hence correct.

また、描かれたフローでは、送信者ごとに3つの異なるシーケンス番号スペースが含まれていることを指摘したいと考えています(そのうちの2つはメディアの一方の方向を示すだけです)。そのため、セクション10.2と10.3のシーケンス番号値の間の不連続性は正しいです。

10.1. CLUE Message No. 1: 'options'
10.1. 手がかりメッセージ1: 'オプション'
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <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">
       <clueId>CP1</clueId>
       <sequenceNr>51</sequenceNr>
       <mediaProvider>true</mediaProvider>
       <mediaConsumer>true</mediaConsumer>
       <supportedVersions>
           <version>1.4</version>
           <version>2.7</version>
       </supportedVersions>
       <supportedExtensions>
           <extension>
                   <name>E1</name>
                   <schemaRef>URL_E1</schemaRef>
                   <version>1.4</version>
           </extension>
           <extension>
                   <name>E2</name>
                   <schemaRef>URL_E2</schemaRef>
                   <version>1.4</version>
           </extension>
           <extension>
                   <name>E3</name>
                   <schemaRef>URL_E3</schemaRef>
                   <version>1.4</version>
           </extension>
           <extension>
                   <name>E4</name>
                   <schemaRef>URL_E4</schemaRef>
                   <version>2.7</version>
           </extension>
           <extension>
                   <name>E5</name>
                   <schemaRef>URL_E5</schemaRef>
                   <version>2.7</version>
           </extension>
       </supportedExtensions>
   </options>
        
10.2. CLUE Message No. 2: 'optionsResponse'
10.2. 手がかりメッセージ2: 'optionsresponse'
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <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">
       <clueId>CP2</clueId>
       <sequenceNr>62</sequenceNr>
       <responseCode>200</responseCode>
       <reasonString>Success</reasonString>
       <mediaProvider>true</mediaProvider>
       <mediaConsumer>true</mediaConsumer>
       <version>2.7</version>
   </optionsResponse>
        
10.3. CLUE Message No. 3: 'advertisement'
10.3. 手がかりメッセージ3:「広告」
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <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">
       <ns2:clueId>CP1</ns2:clueId>
       <ns2:sequenceNr>11</ns2:sequenceNr>
       <ns2:mediaCaptures>
         <mediaCapture
            xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
            xsi:type="audioCaptureType" captureID="AC0"
            mediaType="audio">
            <captureSceneIDREF>CS1</captureSceneIDREF>
               <spatialInformation>
                   <captureOrigin>
                      <capturePoint>
                         <x>0.0</x>
                         <y>0.0</y>
                         <z>10.0</z>
                    </capturePoint>
                    <lineOfCapturePoint>
                      <x>0.0</x>
                      <y>1.0</y>
                      <z>10.0</z>
                     </lineOfCapturePoint>
                   </captureOrigin>
                 </spatialInformation>
                <individual>true</individual>
                <encGroupIDREF>EG1</encGroupIDREF>
                <description lang="en">main audio from the room
                </description>
                <priority>1</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>room</view>
                <capturedPeople>
                    <personIDREF>alice</personIDREF>
                    <personIDREF>bob</personIDREF>
                    <personIDREF>ciccio</personIDREF>
                </capturedPeople>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC0"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureOrigin>
                            <capturePoint>
                            <x>-2.0</x>
                            <y>0.0</y>
                            <z>10.0</z>
                        </capturePoint>
                    </captureOrigin>
                    <captureArea>
                            <bottomLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>-1.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topLeft>
                            <topRight>
                            <x>-1.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <individual>true</individual>
                <encGroupIDREF>EG0</encGroupIDREF>
                <description lang="en">left camera video capture
                </description>
                <priority>1</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>individual</view>
                <capturedPeople>
                    <personIDREF>ciccio</personIDREF>
                </capturedPeople>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC1"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureOrigin>
                            <capturePoint>
                            <x>0.0</x>
                            <y>0.0</y>
                            <z>10.0</z>
                        </capturePoint>
                    </captureOrigin>
                    <captureArea>
                            <bottomLeft>
                            <x>-1.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>1.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>-1.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topLeft>
                            <topRight>
                            <x>1.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <individual>true</individual>
                <encGroupIDREF>EG0</encGroupIDREF>
                <description lang="en">central camera video capture
                </description>
                <priority>1</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>individual</view>
                <capturedPeople>
                    <personIDREF>alice</personIDREF>
                </capturedPeople>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC2"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureOrigin>
                            <capturePoint>
                            <x>2.0</x>
                            <y>0.0</y>
                            <z>10.0</z>
                        </capturePoint>
                    </captureOrigin>
                    <captureArea>
                            <bottomLeft>
                            <x>1.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>1.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topLeft>
                            <topRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <individual>true</individual>
                <encGroupIDREF>EG0</encGroupIDREF>
                <description lang="en">right camera video capture
                </description>
                <priority>1</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>individual</view>
                <capturedPeople>
                    <personIDREF>bob</personIDREF>
                </capturedPeople>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC3"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureArea>
                            <bottomLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topLeft>
                            <topRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <content>
                    <sceneViewIDREF>SE1</sceneViewIDREF>
                </content>
                <policy>SoundLevel:0</policy>
                <encGroupIDREF>EG0</encGroupIDREF>
                <description lang="en">loudest room segment
                </description>
                <priority>2</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>individual</view>
                </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC4"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureOrigin>
                            <capturePoint>
                            <x>0.0</x>
                            <y>0.0</y>
                            <z>10.0</z>
                        </capturePoint>
                    </captureOrigin>
                    <captureArea>
                            <bottomLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>7.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>7.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>13.0</z>
                            </topLeft>
                            <topRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>13.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <individual>true</individual>
                <encGroupIDREF>EG0</encGroupIDREF>
                <description lang="en">zoomed-out view of all people in
                the room</description>
                <priority>2</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>room</view>
                <capturedPeople>
                    <personIDREF>alice</personIDREF>
                    <personIDREF>bob</personIDREF>
                    <personIDREF>ciccio</personIDREF>
                    </capturedPeople>
            </mediaCapture>
        </ns2:mediaCaptures>
        <ns2:encodingGroups>
            <encodingGroup encodingGroupID="EG0">
                <maxGroupBandwidth>600000</maxGroupBandwidth>
                <encodingIDList>
                    <encodingID>ENC1</encodingID>
                    <encodingID>ENC2</encodingID>
                    <encodingID>ENC3</encodingID>
                </encodingIDList>
            </encodingGroup>
            <encodingGroup encodingGroupID="EG1">
                <maxGroupBandwidth>300000</maxGroupBandwidth>
                <encodingIDList>
                    <encodingID>ENC4</encodingID>
                    <encodingID>ENC5</encodingID>
                </encodingIDList>
            </encodingGroup>
        </ns2:encodingGroups>
        <ns2:captureScenes>
            <captureScene scale="unknown" sceneID="CS1">
                <sceneViews>
                    <sceneView sceneViewID="SE1">
                        <mediaCaptureIDs>
                            <mediaCaptureIDREF>VC0</mediaCaptureIDREF>
                            <mediaCaptureIDREF>VC1</mediaCaptureIDREF>
                            <mediaCaptureIDREF>VC2</mediaCaptureIDREF>
                        </mediaCaptureIDs>
                    </sceneView>
                    <sceneView sceneViewID="SE2">
                        <mediaCaptureIDs>
                            <mediaCaptureIDREF>VC3</mediaCaptureIDREF>
                        </mediaCaptureIDs>
                    </sceneView>
                    <sceneView sceneViewID="SE3">
                        <mediaCaptureIDs>
                            <mediaCaptureIDREF>VC4</mediaCaptureIDREF>
                        </mediaCaptureIDs>
                    </sceneView>
                    <sceneView sceneViewID="SE4">
                        <mediaCaptureIDs>
                            <mediaCaptureIDREF>AC0</mediaCaptureIDREF>
                        </mediaCaptureIDs>
                    </sceneView>
                </sceneViews>
            </captureScene>
        </ns2:captureScenes>
        <ns2:simultaneousSets>
            <simultaneousSet setID="SS1">
                <mediaCaptureIDREF>VC3</mediaCaptureIDREF>
                <sceneViewIDREF>SE1</sceneViewIDREF>
            </simultaneousSet>
            <simultaneousSet setID="SS2">
                <mediaCaptureIDREF>VC0</mediaCaptureIDREF>
                <mediaCaptureIDREF>VC2</mediaCaptureIDREF>
                <mediaCaptureIDREF>VC4</mediaCaptureIDREF>
            </simultaneousSet>
        </ns2:simultaneousSets>
        <ns2:people>
            <person personID="bob">
                <personInfo>
                    <ns3:fn>
                      <ns3:text>Bob</ns3:text>
                    </ns3:fn>
                </personInfo>
                <personType>minute taker</personType>
            </person>
            <person personID="alice">
                <personInfo>
                    <ns3:fn>
                        <ns3:text>Alice</ns3:text>
                    </ns3:fn>
                </personInfo>
                <personType>presenter</personType>
            </person>
            <person personID="ciccio">
                <personInfo>
                    <ns3:fn>
                        <ns3:text>Ciccio</ns3:text>
                    </ns3:fn>
                </personInfo>
                <personType>chairman</personType>
                <personType>timekeeper</personType>
            </person>
        </ns2:people>
   </ns2:advertisement>
        
10.4. CLUE Message No. 4: 'configure+ack'
10.4. 手がかりメッセージ4:「ACKの設定」
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <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">
       <ns2:clueId>CP2</ns2:clueId>
       <ns2:sequenceNr>22</ns2:sequenceNr>
       <ns2:advSequenceNr>11</ns2:advSequenceNr>
       <ns2:ack>200</ns2:ack>
       <ns2:captureEncodings>
           <captureEncoding ID="ce123">
              <captureID>AC0</captureID>
              <encodingID>ENC4</encodingID>
           </captureEncoding>
           <captureEncoding ID="ce223">
              <captureID>VC3</captureID>
              <encodingID>ENC1</encodingID>
              <configuredContent>
                 <sceneViewIDREF>SE1</sceneViewIDREF>
              </configuredContent>
          </captureEncoding>
       </ns2:captureEncodings>
   </ns2:configure>
        
10.5. CLUE Message No. 5: 'configureResponse'
10.5. 手がかりメッセージ5: 'configureResponse'
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <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">
       <ns2:clueId>CP1</ns2:clueId>
       <ns2:sequenceNr>12</ns2:sequenceNr>
       <ns2:responseCode>200</ns2:responseCode>
       <ns2:reasonString>Success</ns2:reasonString>
       <ns2:confSequenceNr>22</ns2:confSequenceNr>
   </ns2:configureResponse>
        
10.6. CLUE Message No. 6: 'advertisement'
10.6. 手がかりメッセージ6:「広告」
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <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">
       <ns2:clueId>CP1</ns2:clueId>
       <ns2:sequenceNr>13</ns2:sequenceNr>
       <ns2:mediaCaptures>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="audioCaptureType" captureID="AC0"
             mediaType="audio">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureOrigin>
                            <capturePoint>
                            <x>0.0</x>
                            <y>0.0</y>
                            <z>10.0</z>
                        </capturePoint>
                        <lineOfCapturePoint>
                            <x>0.0</x>
                            <y>1.0</y>
                            <z>10.0</z>
                        </lineOfCapturePoint>
                    </captureOrigin>
                </spatialInformation>
                <individual>true</individual>
                <encGroupIDREF>EG1</encGroupIDREF>
                <description lang="en">main audio from the room
                </description>
                <priority>1</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>room</view>
                <capturedPeople>
                    <personIDREF>alice</personIDREF>
                    <personIDREF>bob</personIDREF>
                    <personIDREF>ciccio</personIDREF>
                </capturedPeople>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC0"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureOrigin>
                            <capturePoint>
                            <x>0.5</x>
                            <y>1.0</y>
                            <z>0.5</z>
                        </capturePoint>
                        <lineOfCapturePoint>
                            <x>0.5</x>
                            <y>0.0</y>
                            <z>0.5</z>
                        </lineOfCapturePoint>
                    </captureOrigin>
                </spatialInformation>
                <individual>true</individual>
                <encGroupIDREF>EG0</encGroupIDREF>
                <description lang="en">left camera video capture
                </description>
                <priority>1</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>individual</view>
                <capturedPeople>
                    <personIDREF>ciccio</personIDREF>
                </capturedPeople>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC1"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureOrigin>
                            <capturePoint>
                            <x>0.0</x>
                            <y>0.0</y>
                            <z>10.0</z>
                        </capturePoint>
                    </captureOrigin>
                    <captureArea>
                            <bottomLeft>
                            <x>-1.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>1.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>-1.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topLeft>
                            <topRight>
                            <x>1.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <individual>true</individual>
                <encGroupIDREF>EG0</encGroupIDREF>
                <description lang="en">central camera video capture
                </description>
                <priority>1</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>individual</view>
                <capturedPeople>
                    <personIDREF>alice</personIDREF>
                </capturedPeople>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC2"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureOrigin>
                            <capturePoint>
                            <x>2.0</x>
                            <y>0.0</y>
                            <z>10.0</z>
                        </capturePoint>
                    </captureOrigin>
                    <captureArea>
                            <bottomLeft>
                            <x>1.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>1.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topLeft>
                            <topRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <individual>true</individual>
                <encGroupIDREF>EG0</encGroupIDREF>
                <description lang="en">right camera video capture
                </description>
                <priority>1</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>individual</view>
                <capturedPeople>
                    <personIDREF>bob</personIDREF>
                </capturedPeople>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC3"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureArea>
                            <bottomLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topLeft>
                            <topRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <content>
                    <sceneViewIDREF>SE1</sceneViewIDREF>
                </content>
                <policy>SoundLevel:0</policy>
                <encGroupIDREF>EG0</encGroupIDREF>
                <description lang="en">loudest room segment
                </description>
                <priority>2</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>individual</view>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC4"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureOrigin>
                            <capturePoint>
                            <x>0.0</x>
                            <y>0.0</y>
                            <z>10.0</z>
                        </capturePoint>
                    </captureOrigin>
                    <captureArea>
                            <bottomLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>7.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>7.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>13.0</z>
                            </topLeft>
                            <topRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>13.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <individual>true</individual>
                <encGroupIDREF>EG0</encGroupIDREF>
                <description lang="en">
                  zoomed-out view of all people in the room
                </description>
                <priority>2</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>room</view>
                <capturedPeople>
                    <personIDREF>alice</personIDREF>
                    <personIDREF>bob</personIDREF>
                    <personIDREF>ciccio</personIDREF>
                </capturedPeople>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC5"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureArea>
                            <bottomLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topLeft>
                            <topRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <content>
                    <sceneViewIDREF>SE1</sceneViewIDREF>
                </content>
                <policy>SoundLevel:1</policy>
                <description lang="en">penultimate loudest room segment
                </description>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>individual</view>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC6"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureArea>
                            <bottomLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topLeft>
                            <topRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <content>
                    <sceneViewIDREF>SE1</sceneViewIDREF>
                </content>
                <policy>SoundLevel:2</policy>
                <description lang="en">last but two loudest room segment
                </description>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>individual</view>
            </mediaCapture>
            <mediaCapture
             xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
             xsi:type="videoCaptureType" captureID="VC7"
             mediaType="video">
                <captureSceneIDREF>CS1</captureSceneIDREF>
                <spatialInformation>
                    <captureArea>
                            <bottomLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomLeft>
                            <bottomRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>9.0</z>
                            </bottomRight>
                            <topLeft>
                            <x>-3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topLeft>
                            <topRight>
                            <x>3.0</x>
                            <y>20.0</y>
                            <z>11.0</z>
                            </topRight>
                    </captureArea>
                </spatialInformation>
                <content>
                    <mediaCaptureIDREF>VC3</mediaCaptureIDREF>
                    <mediaCaptureIDREF>VC5</mediaCaptureIDREF>
                    <mediaCaptureIDREF>VC6</mediaCaptureIDREF>
                </content>
                <maxCaptures exactNumber="true">3</maxCaptures>
                <encGroupIDREF>EG0</encGroupIDREF>
                <description lang="en">big picture of the current
                speaker + pips about previous speakers</description>
                <priority>3</priority>
                <lang>it</lang>
                <mobility>static</mobility>
                <view>individual</view>
            </mediaCapture>
        </ns2:mediaCaptures>
        <ns2:encodingGroups>
            <encodingGroup encodingGroupID="EG0">
                <maxGroupBandwidth>600000</maxGroupBandwidth>
                <encodingIDList>
                    <encodingID>ENC1</encodingID>
                    <encodingID>ENC2</encodingID>
                    <encodingID>ENC3</encodingID>
                </encodingIDList>
            </encodingGroup>
            <encodingGroup encodingGroupID="EG1">
                <maxGroupBandwidth>300000</maxGroupBandwidth>
                <encodingIDList>
                    <encodingID>ENC4</encodingID>
                    <encodingID>ENC5</encodingID>
                </encodingIDList>
            </encodingGroup>
        </ns2:encodingGroups>
        <ns2:captureScenes>
            <captureScene scale="unknown" sceneID="CS1">
                <sceneViews>
                    <sceneView sceneViewID="SE1">
                        <description lang="en">participants' individual
                        videos</description>
                        <mediaCaptureIDs>
                            <mediaCaptureIDREF>VC0</mediaCaptureIDREF>
                            <mediaCaptureIDREF>VC1</mediaCaptureIDREF>
                            <mediaCaptureIDREF>VC2</mediaCaptureIDREF>
                        </mediaCaptureIDs>
                    </sceneView>
                    <sceneView sceneViewID="SE2">
                        <description lang="en">loudest segment of the
                        room</description>
                        <mediaCaptureIDs>
                            <mediaCaptureIDREF>VC3</mediaCaptureIDREF>
                        </mediaCaptureIDs>
                    </sceneView>
                    <sceneView sceneViewID="SE5">
                        <description lang="en">loudest segment of the
                        room + pips</description>
                        <mediaCaptureIDs>
                            <mediaCaptureIDREF>VC7</mediaCaptureIDREF>
                        </mediaCaptureIDs>
                    </sceneView>
                    <sceneView sceneViewID="SE4">
                        <description lang="en">room audio</description>
                        <mediaCaptureIDs>
                            <mediaCaptureIDREF>AC0</mediaCaptureIDREF>
                        </mediaCaptureIDs>
                    </sceneView>
                    <sceneView sceneViewID="SE3">
                        <description lang="en">room video</description>
                        <mediaCaptureIDs>
                            <mediaCaptureIDREF>VC4</mediaCaptureIDREF>
                        </mediaCaptureIDs>
                    </sceneView>
                </sceneViews>
            </captureScene>
        </ns2:captureScenes>
        <ns2:simultaneousSets>
            <simultaneousSet setID="SS1">
                <mediaCaptureIDREF>VC3</mediaCaptureIDREF>
                <mediaCaptureIDREF>VC7</mediaCaptureIDREF>
                <sceneViewIDREF>SE1</sceneViewIDREF>
            </simultaneousSet>
            <simultaneousSet setID="SS2">
                <mediaCaptureIDREF>VC0</mediaCaptureIDREF>
                <mediaCaptureIDREF>VC2</mediaCaptureIDREF>
                <mediaCaptureIDREF>VC4</mediaCaptureIDREF>
            </simultaneousSet>
        </ns2:simultaneousSets>
        <ns2:people>
            <person personID="bob">
                <personInfo>
                    <ns3:fn>
                        <ns3:text>Bob</ns3:text>
                    </ns3:fn>
                </personInfo>
                <personType>minute taker</personType>
            </person>
            <person personID="alice">
                <personInfo>
                    <ns3:fn>
                        <ns3:text>Alice</ns3:text>
                    </ns3:fn>
                </personInfo>
                <personType>presenter</personType>
            </person>
            <person personID="ciccio">
                <personInfo>
                    <ns3:fn>
                        <ns3:text>Ciccio</ns3:text>
                    </ns3:fn>
                </personInfo>
                <personType>chairman</personType>
                <personType>timekeeper</personType>
            </person>
        </ns2:people>
   </ns2:advertisement>
        
10.7. CLUE Message No. 7: 'ack'
10.7. 手がかりメッセージ7: 'ack'
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <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">
       <clueId>CP2</clueId>
       <sequenceNr>23</sequenceNr>
       <responseCode>200</responseCode>
       <reasonString>Success</reasonString>
       <advSequenceNr>13</advSequenceNr>
   </ack>
        
10.8. CLUE Message No. 8: 'configure'
10.8. 手がかりメッセージ8: 'configure'
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <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">
       <ns2:clueId>CP2</ns2:clueId>
       <ns2:sequenceNr>24</ns2:sequenceNr>
       <ns2:advSequenceNr>13</ns2:advSequenceNr>
       <ns2:captureEncodings>
                  <captureEncoding ID="ce123">
                           <captureID>AC0</captureID>
                           <encodingID>ENC4</encodingID>
                   </captureEncoding>
                   <captureEncoding ID="ce456">
                           <captureID>VC7</captureID>
                           <encodingID>ENC1</encodingID>
                           <configuredContent>
                                   <sceneViewIDREF>SE5</sceneViewIDREF>
                           </configuredContent>
                   </captureEncoding>
        </ns2:captureEncodings>
   </ns2:configure>
        
10.9. CLUE Message No. 9: 'configureResponse'
10.9. 手がかりメッセージ番号9: 'configureResponse'
   <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
   <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">
       <ns2:clueId>CP1</ns2:clueId>
       <ns2:sequenceNr>14</ns2:sequenceNr>
       <ns2:responseCode>200</ns2:responseCode>
       <ns2:reasonString>Success</ns2:reasonString>
       <ns2:confSequenceNr>24</ns2:confSequenceNr>
   </ns2:configureResponse>
        
11. Security Considerations
11. セキュリティに関する考慮事項

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.

一般的な考慮事項として、セキュリティごとのパラダイムを採用することによって、手がかりフレームワーク(および関連プロトコル)が発行から考えられていることを指摘したいと思います。その結果、いくつかの要件が識別され、CLUEアーキテクチャに関連する文書の全体のセット内で必須として適切に標準化されています。要件には、(i)暗号化および認証の使用、(ii)すべての機密フィールドの保護、(iii)手がかりエンドポイント間の相互認証、(iv)許可メカニズムの存在、および(v)に対する天然防衛メカニズムの存在盗聴、選択的修正、削除、および再生(および関連する組み合わせ)などの悪意のある活動。したがって、手がかりソリューションの単一の構成要素のセキュリティは、最終アーキテクチャの統合ビューとは無関係に評価することはできません。

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 [RFC8845]. The Security Considerations section of [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.

CLUEプロトコルは、メディアプロデューサとMCがテレプレゼンスセッションの確立に関連する多彩なパラメータセットをネゴシエートすることを可能にするアプリケーションレベルプロトコルです。これにより、CLUE対応のTelepresenceシステムを多数の潜在的な脅威にさらすことがなく、そのほとんどがClue Frameworkドキュメント[RFC8845]で広く議論されています。[RFC8845]の[セキュリティ上の考慮事項]セクションでは、(1)MPとMCとして機能する2つの手がかりエンドポイントを含む基本的なケースと(2)より高度なシナリオが多い基本的なケースを実際に説明します。MCUの存在を想定しています。

The CLUE framework document [RFC8845] also mentions that the information carried within CLUE protocol messages might contain sensitive data, which SHOULD hence be accessed only by authenticated endpoints. Security issues associated with the CLUE data model schema are discussed in [RFC8846].

CLUE Framework Document [RFC8845]は、CLUEプロトコルメッセージ内で搭載されている情報に機密データが含まれている可能性があるため、認証されたエンドポイントによってのみアクセスされる可能性があります。CLUEデータモデルスキーマに関連するセキュリティ上の問題は[RFC8846]で説明されています。

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.

手がかりデータモデルのスキーマに関連付けられていないCLUEプロトコルによって運ばれ、懸念される可能性がある情報を公開するための追加情報があります。この情報は、「オプション」および「optionsResponse」メッセージを介してネゴシエーションフェーズ中に交換されます。 CPステートマシンのオプションの状態では、両当事者は、後続の手がかりメッセージ交換フェーズで使用されるバージョンと拡張機能について一致します。悪意のある参加者は、(1)この初期設定段階で特定の手がかりプロトコルの実装の詳細な設置面積を取得しようとします。(2)通信相手に、古くなっているプロトコルのバージョンを使用して解除する方法がわかっている。実際、サポートされているすべてのバージョンと拡張機能を露出させると、プロトコルの特定の実装に関する情報がわかりました。理論的には、実装はそれがそのような漏洩を回避したいのであれば、それがサポートするすべてのバージョンを発表しないことを選択することができましたが、これは相互運用性を犠牲にします。上記の考察に関しては、手がかりデータチャネルが正常に設定された後にオプション状態が到達するだけであることに留意されたい。これにより、認証された締約国のみが「オプション」メッセージと関連した「OptionSResponse」メッセージを交換することができ、したがって悪意のあるパーティーにさらされる攻撃面を大幅に削減できます。

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 [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 MUST rely on the exchange of messages that flow on top of a reliable and ordered SCTP-over-DTLS transport channel connecting two CPs.

手がかりフレームワークは、手がかりデータチャネルへのアクセスを得ることができる悪意のあるエージェントの存在から派生した脅威から、手がかりプロトコルメッセージを保護するための要件を明確に示しています。そのような要件は、[RFC8850]に記載されているCLUEデータチャネルソリューションによって満たされ、これはメッセージの回復とメッセージの改ざんの両方からの保護を保証します。この最後の点に関して、手がかり仕様に準拠したCLUEプロトコルの実装は、2つのCPを接続する信頼性が高く順序付けられたSCTP-over-DTLSトランスポートチャネルの上に流れ込むメッセージの交換に頼る必要があります。

12. IANA Considerations
12. IANAの考慮事項

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.

このドキュメントは、新しいXMLネームスペース、新しいXMLスキーマ、およびスキーマのメディアタイプを登録します。このドキュメントはまた、「Chue」アプリケーションサービスタグと「Clue」アプリケーションプロトコルタグを登録し、手がかりメッセージと応答コードのレジストリを定義します。

12.1. URN Sub-Namespace Registration
12.1. URNサブネームスペース登録

This section registers a new XML namespace, "urn:ietf:params:xml:ns:clue-protocol".

このセクションでは、新しいXMLネームスペース「urn:ietf:params:xml:ns:clue-protocol」という新しいXMLネームスペースが登録されます。

   URI:  urn:ietf:params:xml:ns:clue-protocol
        

Registrant Contact: IESG (iesg@ietf.org).

登録者連絡先:IESG(iesg@ietf.org)。

XML:

XML:

   <CODE BEGINS>
    <?xml version="1.0"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en">
      <head>
        <title>CLUE Messages</title>
      </head>
      <body>
        <h1>Namespace for CLUE Messages</h1>
        <h2>urn:ietf:params:xml:ns:clue-protocol</h2>
        <p>See <a href="https://www.rfc-editor.org/rfc/rfc8847.txt">
           RFC 8847</a>.</p>
      </body>
    </html>
   <CODE ENDS>
        
12.2. XML Schema Registration
12.2. XMLスキーマ登録

This section registers an XML schema per the guidelines in [RFC3688].

このセクションでは、[RFC3688]のガイドラインごとにXMLスキーマを登録します。

   URI:  urn:ietf:params:xml:schema:clue-protocol
        

Registrant Contact: IESG (iesg@ietf.org).

登録者連絡先:IESG(iesg@ietf.org)。

Schema: The XML for this schema can be found in Section 9 of this document.

スキーマ:このスキーマのXMLはこのドキュメントのセクション9にあります。

12.3. Media Type Registration for "application/clue+xml"
12.3. 「アプリケーション/ CLUE XML」のメディアタイプ登録

This section registers the "application/clue+xml" media type.

このセクションでは、 "Application / Clue XML"メディアタイプを登録します。

To: ietf-types@iana.org

to:ietf-types@iana.org.

   Subject:  Registration of media type "application/clue+xml"
        

Media type name: application

メディアタイプ名:アプリケーション

Subtype name: clue+xml

サブタイプ名:CLUE XML

Required parameters: (none)

必要なパラメータ:(なし)

Optional parameters: charset. Same as the charset parameter of "application/xml" as specified in [RFC7303], Section 4.2.

オプションのパラメータ:文字セット。[RFC7303]で指定されている「アプリケーション/ XML」のcharsetパラメーターと同じです。

Encoding considerations: Same as the encoding considerations of "application/xml" as specified in [RFC7303], Section 4.2.

エンコードに関する考慮事項:[RFC7303]で指定されている「アプリケーション/ XML」の符号化考慮事項と同じです。

Security considerations: 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 Section 11 of this document, are required to protect the data. This media type does not contain executable content.

セキュリティ上の考慮事項:このコンテンツタイプは、TelePresenceセッション制御に関連するプロトコルデータを携帯するように設計されています。いくつかのデータはプライベートと見なすことができます。このメディアタイプは保護を提供しません。したがって、この文書のセクション11に記載されているものなどの他のメカニズムは、データを保護するために必要とされる。このメディアタイプには実行可能コンテンツが含まれていません。

Interoperability considerations: None.

相互運用性の考慮事項:なし。

Published specification: RFC 8847

公開仕様:RFC 8847

Applications that use this media type: CLUE Participants.

このメディアタイプを使用するアプリケーション:CLUE参加者。

Additional Information:

追加情報:

      Magic Number(s):  (none)
      File extension(s):  .xml
      Macintosh File Type Code(s):  TEXT
        

Person & email address to contact for further information: Simon Pietro Romano (spromano@unina.it).

その他の情報について連絡する人とEメールアドレス:Simon Pietro Romano(Spromano@unina.it)。

Intended usage: LIMITED USE

意図された用途:限られた使用

Author/Change controller: The IETF

著者/変更コントローラー:IETF

Other information: This media type is a specialization of application/xml [RFC7303], and many of the considerations described there also apply to application/clue+xml.

その他の情報:このメディアタイプは、アプリケーション/ XML [RFC7303]の特殊化であり、そこで説明されている考慮事項の多くもアプリケーション/ Clue XMLにも適用されます。

12.4. CLUE Protocol Registry
12.4. 手がかりプロトコルレジストリ

Per this document, IANA has created new registries for CLUE messages and response codes.

このドキュメントごとに、IANAは、手がかりメッセージと応答コードのための新しいレジストリを作成しました。

12.4.1. CLUE Message Types
12.4.1. 手がかりメッセージの種類

The following summarizes the registry for CLUE messages:

以下は、CLUEメッセージのレジストリをまとめたものです。

Related Registry: CLUE Message Types

関連レジストリ:CLUEメッセージタイプ

Defining RFC: RFC 8847

RFCの定義:RFC 8847

Registration/Assignment Procedures: Following the policies outlined in [RFC8126], the IANA policy for assigning new values for the CLUE message types for the CLUE protocol is Specification Required.

登録/割り当て手順:[RFC8126]に概説されているポリシーに従って、CLUEプロトコルの手がかりメッセージタイプに新しい値を割り当てるためのIANAポリシーは必要です。

Registrant Contact: IESG (iesg@ietf.org).

登録者連絡先:IESG(iesg@ietf.org)。

The initial table of CLUE messages is populated using the CLUE messages described in Section 5 and defined in the XML schema in Section 9.

手がかりメッセージの初期テーブルは、セクション5で説明され、セクション9でXMLスキーマで定義されているCLUEメッセージを使用して入力されます。

    +===================+=================================+===========+
    | Message           | Description                     | Reference |
    +===================+=================================+===========+
    | options           | Sent by the CI to the CR in the | RFC 8847  |
    |                   | initiation phase to specify the |           |
    |                   | roles played by the CI, the     |           |
    |                   | supported versions, and the     |           |
    |                   | supported extensions.           |           |
    +-------------------+---------------------------------+-----------+
    | optionsResponse   | Sent by the CI to the CR in     | RFC 8847  |
    |                   | reply to an 'options' message,  |           |
    |                   | to establish the version and    |           |
    |                   | extensions to be used in the    |           |
    |                   | subsequent exchange of CLUE     |           |
    |                   | messages.                       |           |
    +-------------------+---------------------------------+-----------+
    | advertisement     | Sent by the MP to the MC to     | RFC 8847  |
    |                   | specify the telepresence        |           |
    |                   | capabilities of the MP          |           |
    |                   | expressed according to the CLUE |           |
    |                   | framework.                      |           |
    +-------------------+---------------------------------+-----------+
    | ack               | Sent by the MC to the MP to     | RFC 8847  |
    |                   | acknowledge the reception of an |           |
    |                   | 'advertisement' message.        |           |
    +-------------------+---------------------------------+-----------+
    | configure         | Sent by the MC to the MP to     | RFC 8847  |
    |                   | specify the desired media       |           |
    |                   | captures among those specified  |           |
    |                   | in the 'advertisement'.         |           |
    +-------------------+---------------------------------+-----------+
    | configureResponse | Sent by the MP to the MC in     | RFC 8847  |
    |                   | reply to a 'configure' message  |           |
    |                   | to communicate whether or not   |           |
    |                   | the configuration request has   |           |
    |                   | been successfully processed.    |           |
    +-------------------+---------------------------------+-----------+
        

Table 2: Initial IANA Table of CLUE Messages

表2:手がかりメッセージの初期IANAテーブル

12.4.2. CLUE Response Codes
12.4.2. 手がかり応答コード

The following summarizes the registry for CLUE response codes:

以下は、CLUE応答コードのレジストリを要約しています。

Related Registry: CLUE Response Codes

関連レジストリ:CLUE応答コード

Defining RFC: RFC 8847

RFCの定義:RFC 8847

Registration/Assignment Procedures: Following the policies outlined in [RFC8126], the IANA policy for assigning new values for the response codes for CLUE is Specification Required.

登録/割り当て手順:[RFC8126]で概説されているポリシーに従って、CLUEの応答コードに新しい値を割り当てるためのIANAポリシーは必要です。

Registrant Contact: IESG (iesg@ietf.org).

登録者連絡先:IESG(iesg@ietf.org)。

The initial table of CLUE response codes is populated using the response codes defined in Section 5.7 as follows:

手がかり応答コードの初期テーブルは、次のセクション5.7で定義されている応答コードを使用して入力されます。

   +========+===============+==============================+===========+
   | Number | Default       | Description                  | Reference |
   |        | Reason String |                              |           |
   +========+===============+==============================+===========+
   | 200    | Success       | The request has been         | RFC 8847  |
   |        |               | successfully                 |           |
   |        |               | processed.                   |           |
   +--------+---------------+------------------------------+-----------+
   | 300    | Low-level     | A generic low-level          | RFC 8847  |
   |        | request error | request error has            |           |
   |        |               | occurred.                    |           |
   +--------+---------------+------------------------------+-----------+
   | 301    | Bad syntax    | The XML syntax of the        | RFC 8847  |
   |        |               | message is not               |           |
   |        |               | correct.                     |           |
   +--------+---------------+------------------------------+-----------+
   | 302    | Invalid value | The message contains         | RFC 8847  |
   |        |               | an invalid parameter         |           |
   |        |               | value.                       |           |
   +--------+---------------+------------------------------+-----------+
   | 303    | Conflicting   | The message contains         | RFC 8847  |
   |        | values        | values that cannot be        |           |
   |        |               | used together.               |           |
   +--------+---------------+------------------------------+-----------+
   | 400    | Semantic      | The received CLUE            | RFC 8847  |
   |        | errors        | protocol message             |           |
   |        |               | contains semantic            |           |
   |        |               | errors.                      |           |
   +--------+---------------+------------------------------+-----------+
   | 401    | Version not   | The protocol version         | RFC 8847  |
   |        | supported     | used in the message is       |           |
   |        |               | not supported.               |           |
   +--------+---------------+------------------------------+-----------+
   | 402    | Invalid       | The received message         | RFC 8847  |
   |        | sequencing    | contains an unexpected       |           |
   |        |               | sequence number (e.g.,       |           |
   |        |               | sequence number gap,         |           |
   |        |               | repeated sequence            |           |
   |        |               | number, or sequence          |           |
   |        |               | number outdated).            |           |
   +--------+---------------+------------------------------+-----------+
   | 403    | Invalid       | The clueId used in the       | RFC 8847  |
   |        | identifier    | message is invalid or        |           |
   |        |               | unknown.                     |           |
   +--------+---------------+------------------------------+-----------+
   | 404    | Advertisement | The sequence number of       | RFC 8847  |
   |        | expired       | the advertisement the        |           |
   |        |               | 'configure' message          |           |
   |        |               | refers to is out of          |           |
   |        |               | date.                        |           |
   +--------+---------------+------------------------------+-----------+
   | 405    | Subset choice | The subset choice is         | RFC 8847  |
   |        | not allowed   | not allowed for the          |           |
   |        |               | specified Multiple           |           |
   |        |               | Content Capture.             |           |
   +--------+---------------+------------------------------+-----------+
        

Table 3: Initial IANA Table of CLUE Response Codes

表3:手がかり応答コードの初期IANAテーブル

13. References
13. 参考文献
13.1. Normative References
13.1. 引用文献

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.

[RFC2119] BRADNER、S、「RFCSで使用するためのキーワード」、BCP 14、RFC 2119、DOI 10.17487 / RFC2119、1997年3月、<https://www.rfc-editor.org/info/RFC2119>。

[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, July 2003, <https://www.rfc-editor.org/info/rfc3550>.

[RFC3550] Schulzrinne、H.、Casner、S.、Frederick、R.、およびV. Jacobson、「RTP:リアルタイムアプリケーション用輸送プロトコル」、STD 64、RFC 3550、DOI 10.17487 / RFC3550、2003年7月、<https://www.rfc-editor.org/info/rfc3550>。

[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, DOI 10.17487/RFC3688, January 2004, <https://www.rfc-editor.org/info/rfc3688>.

[RFC3688] Mealling、M.、 "The IETF XMLレジストリ"、BCP 81、RFC 3688、DOI 10.17487 / RFC3688、2004年1月、<https://www.rfc-editor.org/info/rfc3688>。

[RFC7303] Thompson, H. and C. Lilley, "XML Media Types", RFC 7303, DOI 10.17487/RFC7303, July 2014, <https://www.rfc-editor.org/info/rfc7303>.

[RFC7303] Thompson、H.およびC.Lilley、「XMLメディアタイプ」、RFC 7303、DOI 10.17487 / RFC7303、2014年7月、<https://www.rfc-editor.org/info/rfc7303>。

[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017, <https://www.rfc-editor.org/info/rfc8126>.

[RFC8126]綿、M.、Leiba、B.およびT.Narten、「RFCSのIANAに関する考察のためのガイドライン」、BCP 26、RFC 8126、DOI 10.17487 / RFC8126、2017年6月、<HTTPS:// WWW.rfc-editor.org / info / rfc8126>。

[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.

[RFC8174] Leiba、B、「RFC 2119キーワードの大文字の曖昧さ」、BCP 14、RFC 8174、DOI 10.17487 / RFC8174、2017年5月、<https://www.rfc-editor.org/info/RFC8174>。

[RFC8845] Duckworth, M., Ed., Pepperell, A., and S. Wenger, "Framework for Telepresence Multi-Streams", RFC 8845, DOI 10.17487/RFC8845, January 2021, <https://www.rfc-editor.org/info/rfc8845>.

[RFC8845]アヒルワース、M。、ED。、Pepperell、A.、およびS.Wenger、 "TelePresence Multi-Streamsのフレームワーク"、RFC 8845、DOI 10.17487 / RFC8845、2021年1月、<https:///www.rfc-editor.org/info/rfc8845>。

[RFC8846] Presta, R. and S P. Romano, "An XML Schema for the Controlling Multiple Streams for Telepresence (CLUE) Data Model", RFC 8846, DOI 10.17487/RFC8846, January 2021, <https://www.rfc-editor.org/info/rfc8846>.

[RFC8846] Presta、R.およびS P. Romano、「TelePresence(CLUE)データモデルのための複数のストリームのためのXMLスキーマ」、RFC 8846、DOI 10.17487 / RFC8846、<https://www.rfc-editor.org/info/rfc8846>。

[RFC8848] Hanton, R., Kyzivat, P., Xiao, L., and C. Groves, "Session Signaling for Controlling Multiple Streams for Telepresence (CLUE)", RFC 8848, DOI 10.17487/RFC8848, January 2021, <https://www.rfc-editor.org/info/rfc8848>.

[RFC8848]ハントン、R。、KYZIVAT、P.、Xiao、L.、およびC.グローブ、「テレプレゼンスのための複数のストリームを制御するためのセッションシグナリング(CLUE)」、RFC 8848、DOI 10.17487 / RFC8848、<HTTPS//www.rfc-editor.org/info/rfc8848>。

[RFC8850] Holmberg, C., "Controlling Multiple Streams for Telepresence (CLUE) Protocol Data Channel", RFC 8850, DOI 10.17487/RFC8850, January 2021, <https://www.rfc-editor.org/info/rfc8850>.

[RFC8850] Holmberg、C、「テレプレゼンスのための複数のストリームの制御」、RFC 8850、DOI 10.17487 / RFC8850、1月2021年1月、<https://www.rfc-editor.org/info/rfc8850>。

[W3C.REC-xml-20081126] Bray, T., Paoli, J., Sperberg-McQueen, M., Maler, E., and F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fifth Edition)", World Wide Web Consortium Recommendation REC-xml-20081126, November 2008, <https://www.w3.org/TR/2008/REC-xml-20081126>.

[W3C.REC-XML-20081126] Bray、T.、Paoli、J.、Sperberg-McQueen、M.、Maler、E.、およびF. Yergeau、「Extensible Markup Language(XML)1.0(第5版)」World Wide Webコンソーシアム推奨Rec-XML-20081126、2008年11月、<https://www.w3.org/tr/2008/Rec-xml-20081126>。

13.2. Informative References
13.2. 参考引用

[RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - Communication Layers", STD 3, RFC 1122, DOI 10.17487/RFC1122, October 1989, <https://www.rfc-editor.org/info/rfc1122>.

[RFC1122] Braden、R.、ED。、「インターネットホストの要求 - 通信層の要求」、STD 3、RFC 1122、DOI 10.17487 / RFC1122、1989年10月、<https://www.rfc-editor.org/info/RFC1122>。

[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, DOI 10.17487/RFC3261, June 2002, <https://www.rfc-editor.org/info/rfc3261>.

[RFC3261] Rosenberg、J.、Schulzrinne、H.、Camarillo、G.、Johnston、A.、Peterson、J.、Sparks、R.、Handley、M.、E. Schooler、「SIP:セッション開始プロトコル」、RFC 3261、DOI 10.17487 / RFC3261、2002年6月、<https://www.rfc-editor.org/info/rfc3261>。

[RFC4353] Rosenberg, J., "A Framework for Conferencing with the Session Initiation Protocol (SIP)", RFC 4353, DOI 10.17487/RFC4353, February 2006, <https://www.rfc-editor.org/info/rfc4353>.

[RFC4353] Rosenberg、J。、「セッション開始プロトコル(SIP)」、RFC 4353、DOI 10.17487 / RFC4353、<https://www.rfc-editor.org/info/rfc4353との会議のためのフレームワーク>。

[RFC6120] Saint-Andre, P., "Extensible Messaging and Presence Protocol (XMPP): Core", RFC 6120, DOI 10.17487/RFC6120, March 2011, <https://www.rfc-editor.org/info/rfc6120>.

[RFC6120] Saint-Andre、P.、 "Extensible Messaging and Presence Protocol(XMPP):コア"、RFC 6120、DOI 10.17487 / RFC6120、2011年3月、<https://www.rfc-editor.org/info/rfc6120>。

[RFC7262] Romanow, A., Botzko, S., and M. Barnes, "Requirements for Telepresence Multistreams", RFC 7262, DOI 10.17487/RFC7262, June 2014, <https://www.rfc-editor.org/info/rfc7262>.

[RFC7262] Romanow、A.、Botzko、S.、M. Barnes、「TelePresence Multistreamsの要件」、RFC 7262、DOI 10.17487 / RFC7262、2014年6月、<https://www.rfc-editor.org/info/ RFC7262>。

[RFC7667] Westerlund, M. and S. Wenger, "RTP Topologies", RFC 7667, DOI 10.17487/RFC7667, November 2015, <https://www.rfc-editor.org/info/rfc7667>.

[RFC7667] Westerlund、M.およびS.Wenger、 "RTPトポロジ"、RFC 7667、DOI 10.17487 / RFC7667、2015年11月、<https://www.rfc-editor.org/info/rfc7667>。

Acknowledgements

謝辞

The authors thank all the CLUErs for their precious feedback and support -- in particular, Paul Kyzivat, Christian Groves, and Scarlett Liuyan.

著者らは、特にPaul Kyzivat、Christian Groves、Scarlett Liuyanの貴重なフィードバックとサポートのためにすべての事務員に感謝します。

Authors' Addresses

著者の住所

Roberta Presta University of Napoli Via Claudio 21 80125 Napoli Italy

Roberta Presta Napoli大学Claudio 21 80125 Napoli Italy

   Email: roberta.presta@unina.it
        

Simon Pietro Romano University of Napoli Via Claudio 21 80125 Napoli Italy

Simon Pietro Romano Napoli大学Claudio 21 80125 Napoli Italy

   Email: spromano@unina.it