forked from project-chip/connectedhomeip
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwebrtc-requestor-cluster.xml
69 lines (62 loc) · 3.68 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
63
64
65
66
67
68
69
<?xml version="1.0"?>
<!--
Copyright (c) 2025 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.7-summer-2025-285-g2a2bd1961
-->
<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>WEB_RTC_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">
<description>CurrentSessions</description>
<access op="read" privilege="administer"/>
</attribute>
<command code="0x01" source="client" name="Offer" optional="false">
<description>This command provides the stream requestor with WebRTC session details.</description>
<quality largeMessage="true"/>
<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>
<quality largeMessage="true"/>
<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 allows for string based https://rfc-editor.org/rfc/rfc8839#section-5.1 generated after the initial Offer / Answer exchange, via a JSEP https://datatracker.ietf.org/doc/html/rfc9429#section-4.1.20 event, a DOM https://www.w3.org/TR/webrtc/#dom-rtcpeerconnectioniceevent event, or other WebRTC compliant implementations, to be added to a session during the gathering phase.</description>
<quality largeMessage="true"/>
<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>
<quality largeMessage="true"/>
<arg id="1" name="WebRTCSessionID" type="int16u"/>
<arg id="2" name="Reason" type="WebRTCEndReasonEnum" default="0x0B" min="0x00" max="0x0B"/>
</command>
</cluster>
</configurator>