forked from project-chip/connectedhomeip
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwebrtc-requestor-cluster.xml
62 lines (55 loc) · 3.24 KB
/
webrtc-requestor-cluster.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<?xml version="1.0"?>
<!--
Copyright (c) 2024 Project CHIP Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
XML generated by Alchemy; DO NOT EDIT.
Source: src/app_clusters/WebRTC_Requestor.adoc
Parameters: in-progress
Git: 0.9-fall2024-228-g54b1ae035
-->
<configurator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../zcl.xsd">
<domain name="Cameras"/>
<cluster apiMaturity="provisional">
<domain>Cameras</domain>
<name>WebRTC Transport Requestor</name>
<code>0x0554</code>
<define>WEBRTC_TRANSPORT_REQUESTOR_CLUSTER</define>
<description>The WebRTC transport requestor cluster provides a way for stream consumers (e.g. Matter Stream Viewer) to establish a WebRTC connection with a stream provider.</description>
<client init="false" tick="false">true</client>
<server init="false" tick="false">true</server>
<globalAttribute code="0xFFFD" side="either" value="1"/>
<attribute code="0x0000" side="server" define="CURRENT_SESSIONS" type="array" entryType="WebRTCSessionStruct" default="0">CurrentSessions</attribute>
<command code="0x01" source="client" name="Offer" optional="false">
<description>This command provides the stream requestor with WebRTC session details. It is sent following the receipt of a SolicitOffer command or a re-Offer initiated by the Provider.</description>
<arg id="1" name="WebRTCSessionID" type="int16u"/>
<arg id="2" name="SDP" type="char_string"/>
<arg id="3" name="ICEServers" array="true" type="ICEServerStruct" optional="true"/>
<arg id="4" name="ICETransportPolicy" type="char_string" optional="true"/>
</command>
<command code="0x02" source="client" name="Answer" optional="false">
<description>This command provides the stream requestor with the WebRTC session details (i.e. Session ID and SDP answer). It is the next command in the Offer/Answer flow to the ProvideOffer command.</description>
<arg id="1" name="WebRTCSessionID" type="int16u"/>
<arg id="2" name="SDP" type="char_string"/>
</command>
<command code="0x03" source="client" name="ICECandidates" optional="false">
<description>This command provides an ICE candidates to the stream requestor in a WebRTC session.</description>
<arg id="1" name="WebRTCSessionID" type="int16u"/>
<arg id="2" name="ICECandidates" array="true" type="char_string" minLength="1"/>
</command>
<command code="0x04" source="client" name="End" optional="false">
<description>This command notifies the stream requestor that the provider has ended the WebRTC session.</description>
<arg id="1" name="WebRTCSessionID" type="int16u"/>
<arg id="2" name="Reason" type="WebRTCEndReasonEnum" min="0x00" max="0x0B"/>
</command>
</cluster>
</configurator>