Skip to content

Commit b4b129d

Browse files
committed
Generated using ./scripts/tools/zap_regen_all.py
1 parent d26a5b3 commit b4b129d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+7435
-0
lines changed

docs/zap_clusters.md

+1
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ Generally regenerate using one of:
132132
| 1294 | 0x50E | AccountLogin |
133133
| 1295 | 0x50F | ContentControl |
134134
| 1296 | 0x510 | ContentAppObserver |
135+
| 1363 | 0x553 | WebRTCTransportProvider |
135136
| 1872 | 0x750 | EcosystemInformation |
136137
| 1873 | 0x751 | CommissionerControl |
137138
| 2820 | 0xB04 | ElectricalMeasurement |

src/controller/data_model/controller-clusters.matter

+115
Original file line numberDiff line numberDiff line change
@@ -9376,6 +9376,121 @@ provisional cluster ContentAppObserver = 1296 {
93769376
command ContentAppMessage(ContentAppMessageRequest): ContentAppMessageResponse = 0;
93779377
}
93789378

9379+
/** The WebRTC transport provider cluster provides a way for stream providers (e.g. Cameras) to stream or receive their data through WebRTC. */
9380+
provisional cluster WebRTCTransportProvider = 1363 {
9381+
revision 1;
9382+
9383+
enum StreamTypeEnum : enum8 {
9384+
kInternal = 0;
9385+
kRecording = 1;
9386+
kAnalysis = 2;
9387+
kLiveView = 3;
9388+
}
9389+
9390+
enum WebRTCEndReasonEnum : enum8 {
9391+
kICEFAILED = 1;
9392+
kICETIMEOUT = 2;
9393+
kUSERHANGUP = 3;
9394+
kUSERBUSY = 4;
9395+
kREPLACED = 5;
9396+
kNOUSERMEDIA = 6;
9397+
kINVITETIMEOUT = 7;
9398+
kANSWEREDELSEWHERE = 8;
9399+
kOUTOFRESOURCES = 9;
9400+
kMEDIATIMEOUT = 10;
9401+
kLOWPOWER = 11;
9402+
kUNKNOWNERROR = 12;
9403+
}
9404+
9405+
bitmap WebRTCMetadataOptions : bitmap8 {
9406+
kDataTLV = 0x1;
9407+
}
9408+
9409+
struct ICEServerStruct {
9410+
char_string urls[] = 1;
9411+
optional char_string username = 2;
9412+
optional char_string credential = 3;
9413+
optional int16u caid = 4;
9414+
}
9415+
9416+
struct WebRTCSessionStruct {
9417+
int16u id = 1;
9418+
node_id peerNodeId = 2;
9419+
fabric_idx peerFabricIndex = 3;
9420+
StreamTypeEnum streamType = 4;
9421+
nullable int16u videoStreamID = 5;
9422+
nullable int16u audioStreamID = 6;
9423+
WebRTCMetadataOptions metadataOptions = 7;
9424+
}
9425+
9426+
readonly attribute WebRTCSessionStruct currentSessions[] = 0;
9427+
readonly attribute command_id generatedCommandList[] = 65528;
9428+
readonly attribute command_id acceptedCommandList[] = 65529;
9429+
readonly attribute event_id eventList[] = 65530;
9430+
readonly attribute attrib_id attributeList[] = 65531;
9431+
readonly attribute bitmap32 featureMap = 65532;
9432+
readonly attribute int16u clusterRevision = 65533;
9433+
9434+
request struct WebRTCSolicitOfferRequest {
9435+
StreamTypeEnum streamType = 0;
9436+
optional nullable int16u videoStreamID = 1;
9437+
optional nullable int16u audioStreamID = 2;
9438+
optional ICEServerStruct ICEServers[] = 3;
9439+
optional char_string ICETransportPolicy = 4;
9440+
optional WebRTCMetadataOptions metadataOptions = 5;
9441+
}
9442+
9443+
response struct WebRTCSolicitOfferResponse = 2 {
9444+
int16u webRTCSessionID = 0;
9445+
boolean deferredOffer = 1;
9446+
optional nullable int16u videoStreamID = 2;
9447+
optional nullable int16u audioStreamID = 3;
9448+
}
9449+
9450+
request struct WebRTCProvideOfferRequest {
9451+
nullable int16u webRTCSessionID = 0;
9452+
char_string sdp = 1;
9453+
StreamTypeEnum streamType = 2;
9454+
optional nullable int16u videoStreamID = 3;
9455+
optional nullable int16u audioStreamID = 4;
9456+
optional ICEServerStruct ICEServers[] = 5;
9457+
optional char_string ICETransportPolicy = 6;
9458+
optional WebRTCMetadataOptions metadataOptions = 7;
9459+
}
9460+
9461+
response struct WebRTCProvideOfferResponse = 4 {
9462+
int16u webRTCSessionID = 0;
9463+
int16u videoStreamID = 1;
9464+
int16u audioStreamID = 2;
9465+
}
9466+
9467+
request struct WebRTCProvideAnswerRequest {
9468+
int16u webRTCSessionID = 0;
9469+
char_string sdp = 1;
9470+
}
9471+
9472+
request struct WebRTCProvideICECandidateRequest {
9473+
int16u webRTCSessionID = 0;
9474+
char_string ICECandidate = 1;
9475+
}
9476+
9477+
request struct WebRTCEndSessionRequest {
9478+
int16u webRTCSessionID = 0;
9479+
WebRTCEndReasonEnum reason = 1;
9480+
}
9481+
9482+
/** 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. */
9483+
command WebRTCSolicitOffer(WebRTCSolicitOfferRequest): WebRTCSolicitOfferResponse = 1;
9484+
/** This command allows an SDP Offer to be set and start a new session. */
9485+
command WebRTCProvideOffer(WebRTCProvideOfferRequest): WebRTCProvideOfferResponse = 3;
9486+
/** This command will be initiated from a local Node as a response to an offer that was previously provided by the remote peer. */
9487+
command WebRTCProvideAnswer(WebRTCProvideAnswerRequest): DefaultSuccess = 5;
9488+
/** 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. */
9489+
command WebRTCProvideICECandidate(WebRTCProvideICECandidateRequest): DefaultSuccess = 6;
9490+
/** This command instructs the stream provider to end the WebRTC session. */
9491+
command WebRTCEndSession(WebRTCEndSessionRequest): DefaultSuccess = 7;
9492+
}
9493+
93799494
/** Provides extended device information for all the logical devices represented by a Bridged Node. */
93809495
provisional cluster EcosystemInformation = 1872 {
93819496
revision 1;

0 commit comments

Comments
 (0)