1
1
<?xml version =" 1.0" ?>
2
2
<!--
3
- Copyright (c) 2024 Project CHIP Authors
3
+ Copyright (c) 2025 Project CHIP Authors
4
4
5
5
Licensed under the Apache License, Version 2.0 (the "License");
6
6
you may not use this file except in compliance with the License.
@@ -18,12 +18,11 @@ limitations under the License.
18
18
XML generated by Alchemy; DO NOT EDIT.
19
19
Source: src/app_clusters/WebRTC_Provider.adoc
20
20
Parameters: in-progress
21
- Git: 0.9-fall2024-234-gf4d359001
21
+ Git: 0.7-summer-2025-5-g06c4d5596
22
22
-->
23
23
<configurator xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance" xsi : noNamespaceSchemaLocation =" ../../zcl.xsd" >
24
- <domain name =" General" />
25
-
26
- <bitmap name =" WebRTCMetadataOptions" type =" bitmap8" >
24
+ <domain name =" Cameras" />
25
+ <bitmap name =" WebRTCMetadataOptionsBitmap" type =" bitmap8" >
27
26
<cluster code =" 0x0553" />
28
27
<cluster code =" 0x0554" />
29
28
<field name =" DataTLV" mask =" 0x01" />
@@ -64,31 +63,33 @@ Git: 0.9-fall2024-234-gf4d359001
64
63
<item fieldId =" 4" name =" StreamUsage" type =" StreamUsageEnum" min =" 0x00" max =" 0x03" />
65
64
<item fieldId =" 5" name =" VideoStreamID" type =" int16u" isNullable =" true" />
66
65
<item fieldId =" 6" name =" AudioStreamID" type =" int16u" isNullable =" true" />
67
- <item fieldId =" 7" name =" MetadataOptions" type =" WebRTCMetadataOptions " default =" 0x00" min =" 0x00" max =" 0x01" />
66
+ <item fieldId =" 7" name =" MetadataOptions" type =" WebRTCMetadataOptionsBitmap " default =" 0x00" min =" 0x00" max =" 0x01" />
68
67
</struct >
69
68
70
69
<cluster apiMaturity =" provisional" >
71
- <domain name = " Cameras" / >
70
+ <domain > Cameras</ domain >
72
71
<name >WebRTC Transport Provider</name >
73
72
<code >0x0553</code >
74
- <define >WEBRTC_TRANSPORT_PROVIDER_CLUSTER </define >
73
+ <define >WEB_RTC_TRANSPORT_PROVIDER_CLUSTER </define >
75
74
<description >The WebRTC transport provider cluster provides a way for stream providers (e.g. Cameras) to stream or receive their data through WebRTC.</description >
76
75
<client init =" false" tick =" false" >true</client >
77
76
<server init =" false" tick =" false" >true</server >
78
77
<globalAttribute code =" 0xFFFD" side =" either" value =" 1" />
79
78
<attribute code =" 0x0000" side =" server" define =" CURRENT_SESSIONS" type =" array" entryType =" WebRTCSessionStruct" >CurrentSessions</attribute >
80
79
<command code =" 0x01" source =" client" name =" SolicitOffer" optional =" false" response =" SolicitOfferResponse" >
81
80
<description >Requests that the Provider initiates a new session with the Offer / Answer flow in a way that allows for options to be passed and work with devices needing the standby flow.</description >
81
+ <quality largeMessage =" true" />
82
82
<arg id =" 1" name =" StreamUsage" type =" StreamUsageEnum" min =" 0x00" max =" 0x03" />
83
83
<arg id =" 2" name =" VideoStreamID" type =" int16u" optional =" true" isNullable =" true" />
84
84
<arg id =" 3" name =" AudioStreamID" type =" int16u" optional =" true" isNullable =" true" />
85
85
<arg id =" 4" name =" ICEServers" array =" true" type =" ICEServerStruct" optional =" true" />
86
86
<arg id =" 5" name =" ICETransportPolicy" type =" char_string" optional =" true" />
87
- <arg id =" 6" name =" MetadataOptions" type =" WebRTCMetadataOptions " optional =" true" min =" 0x00" max =" 0x01" />
87
+ <arg id =" 6" name =" MetadataOptions" type =" WebRTCMetadataOptionsBitmap " optional =" true" min =" 0x00" max =" 0x01" />
88
88
</command >
89
89
90
90
<command code =" 0x02" source =" server" name =" SolicitOfferResponse" optional =" false" disableDefaultResponse =" true" >
91
91
<description >This command SHALL be generated in response to a SolicitOffer command.</description >
92
+ <quality largeMessage =" true" />
92
93
<arg id =" 1" name =" WebRTCSessionID" type =" int16u" />
93
94
<arg id =" 2" name =" DeferredOffer" type =" boolean" />
94
95
<arg id =" 3" name =" VideoStreamID" type =" int16u" optional =" true" isNullable =" true" />
@@ -97,37 +98,42 @@ Git: 0.9-fall2024-234-gf4d359001
97
98
98
99
<command code =" 0x03" source =" client" name =" ProvideOffer" optional =" false" response =" ProvideOfferResponse" >
99
100
<description >This command allows an SDP Offer to be set and start a new session.</description >
101
+ <quality largeMessage =" true" />
100
102
<arg id =" 1" name =" WebRTCSessionID" type =" int16u" isNullable =" true" />
101
103
<arg id =" 2" name =" SDP" type =" char_string" />
102
104
<arg id =" 3" name =" StreamUsage" type =" StreamUsageEnum" min =" 0x00" max =" 0x03" />
103
105
<arg id =" 4" name =" VideoStreamID" type =" int16u" optional =" true" isNullable =" true" />
104
106
<arg id =" 5" name =" AudioStreamID" type =" int16u" optional =" true" isNullable =" true" />
105
107
<arg id =" 6" name =" ICEServers" array =" true" type =" ICEServerStruct" optional =" true" />
106
108
<arg id =" 7" name =" ICETransportPolicy" type =" char_string" optional =" true" />
107
- <arg id =" 8" name =" MetadataOptions" type =" WebRTCMetadataOptions " optional =" true" min =" 0x00" max =" 0x01" />
109
+ <arg id =" 8" name =" MetadataOptions" type =" WebRTCMetadataOptionsBitmap " optional =" true" min =" 0x00" max =" 0x01" />
108
110
</command >
109
111
110
112
<command code =" 0x04" source =" server" name =" ProvideOfferResponse" optional =" false" disableDefaultResponse =" true" >
111
- <description >This command contains information about the stream created as a response to the requestor' s offer.</description >
113
+ <description >This command contains information about the session and streams created as a response to the requestor' s offer.</description >
114
+ <quality largeMessage =" true" />
112
115
<arg id =" 1" name =" WebRTCSessionID" type =" int16u" />
113
- <arg id =" 2" name =" VideoStreamID" type =" int16u" />
114
- <arg id =" 3" name =" AudioStreamID" type =" int16u" />
116
+ <arg id =" 2" name =" VideoStreamID" type =" int16u" optional = " true " isNullable = " true " />
117
+ <arg id =" 3" name =" AudioStreamID" type =" int16u" optional = " true " isNullable = " true " />
115
118
</command >
116
119
117
120
<command code =" 0x05" source =" client" name =" ProvideAnswer" optional =" false" >
118
121
<description >This command SHALL be initiated from a Node in response to an Offer that was previously received from a remote peer.</description >
122
+ <quality largeMessage =" true" />
119
123
<arg id =" 1" name =" WebRTCSessionID" type =" int16u" />
120
124
<arg id =" 2" name =" SDP" type =" char_string" />
121
125
</command >
122
126
123
- <command code =" 0x06" source =" client" name =" ProvideICECandidate" optional =" false" >
124
- <description >This command allows for https://www.rfc-editor.org/rfc/rfc8839#section-4.2.1.2 nominated after the initial Offer / Answer exchange to be added to a session during the gathering phase.</description >
127
+ <command code =" 0x06" source =" client" name =" ProvideICECandidates" optional =" false" >
128
+ <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 >
129
+ <quality largeMessage =" true" />
125
130
<arg id =" 1" name =" WebRTCSessionID" type =" int16u" />
126
- <arg id =" 2" name =" ICECandidate " type =" char_string" />
131
+ <arg id =" 2" name =" ICECandidates " array = " true " type =" char_string" minLength = " 1 " />
127
132
</command >
128
133
129
134
<command code =" 0x07" source =" client" name =" EndSession" optional =" false" >
130
135
<description >This command instructs the stream provider to end the WebRTC session.</description >
136
+ <quality largeMessage =" true" />
131
137
<arg id =" 1" name =" WebRTCSessionID" type =" int16u" />
132
138
<arg id =" 2" name =" Reason" type =" WebRTCEndReasonEnum" default =" 0x0B" min =" 0x00" max =" 0x0B" />
133
139
</command >
0 commit comments