{ "package": "pcast", "messages": [ { "name": "Authenticate", "fields": [ { "rule": "optional", "type": "uint32", "name": "apiVersion", "id": 9, "options": { "default": 0 } }, { "rule": "required", "type": "string", "name": "clientVersion", "id": 1 }, { "rule": "optional", "type": "string", "name": "device", "id": 12 }, { "rule": "required", "type": "string", "name": "deviceId", "id": 2 }, { "rule": "optional", "type": "string", "name": "manufacturer", "id": 13 }, { "rule": "required", "type": "string", "name": "platform", "id": 3 }, { "rule": "required", "type": "string", "name": "platformVersion", "id": 4 }, { "rule": "required", "type": "string", "name": "authenticationToken", "id": 5 }, { "rule": "optional", "type": "string", "name": "connectionId", "id": 6 }, { "rule": "optional", "type": "string", "name": "connectionRouteKey", "id": 10 }, { "rule": "optional", "type": "string", "name": "remoteAddress", "id": 11 }, { "rule": "optional", "type": "string", "name": "sessionId", "id": 7 }, { "rule": "optional", "type": "string", "name": "applicationId", "id": 8 } ] }, { "name": "AuthenticateResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "string", "name": "sessionId", "id": 2 }, { "rule": "optional", "type": "string", "name": "redirect", "id": 3 }, { "rule": "repeated", "type": "string", "name": "roles", "id": 4 } ] }, { "name": "Bye", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "reason", "id": 2 } ] }, { "name": "ByeResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 } ] }, { "name": "SessionDescription", "fields": [ { "rule": "required", "type": "Type", "name": "type", "id": 1, "options": { "default": "Offer" } }, { "rule": "required", "type": "string", "name": "sdp", "id": 2 } ], "enums": [ { "name": "Type", "values": [ { "name": "Offer", "id": 0 }, { "name": "Answer", "id": 1 } ] } ] }, { "name": "CreateStream", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "optional", "type": "string", "name": "originStreamId", "id": 2 }, { "rule": "repeated", "type": "string", "name": "options", "id": 3 }, { "rule": "optional", "type": "string", "name": "connectUri", "id": 8 }, { "rule": "repeated", "type": "string", "name": "connectOptions", "id": 9 }, { "rule": "repeated", "type": "string", "name": "tags", "id": 4 }, { "rule": "optional", "type": "SetRemoteDescription", "name": "setRemoteDescription", "id": 5 }, { "rule": "optional", "type": "CreateOfferDescription", "name": "createOfferDescription", "id": 6 }, { "rule": "optional", "type": "CreateAnswerDescription", "name": "createAnswerDescription", "id": 7 } ] }, { "name": "IceServer", "fields": [ { "rule": "repeated", "type": "string", "name": "urls", "id": 1 }, { "rule": "optional", "type": "string", "name": "username", "id": 2 }, { "rule": "optional", "type": "string", "name": "credential", "id": 3 } ] }, { "name": "RtcConfiguration", "fields": [ { "rule": "optional", "type": "BundlePolicy", "name": "bundlePolicy", "id": 1 }, { "rule": "optional", "type": "uint32", "name": "iceCandidatePoolSize", "id": 3 }, { "rule": "repeated", "type": "IceServer", "name": "iceServers", "id": 4 }, { "rule": "optional", "type": "IceTransportPolicy", "name": "iceTransportPolicy", "id": 5 }, { "rule": "optional", "type": "string", "name": "peerIdentity", "id": 6 }, { "rule": "optional", "type": "RtcpMuxPolicy", "name": "rtcpMuxPolicy", "id": 7 } ], "enums": [ { "name": "BundlePolicy", "values": [ { "name": "BundlePolicyBalanced", "id": 1 }, { "name": "BundlePolicyMaxCompat", "id": 2 }, { "name": "BundlePolicyMaxBundle", "id": 3 } ] }, { "name": "IceTransportPolicy", "values": [ { "name": "IceTransportPolicyAll", "id": 1 }, { "name": "IceTransportPolicyPublic", "id": 2 }, { "name": "IceTransportPolicyRelay", "id": 3 } ] }, { "name": "RtcpMuxPolicy", "values": [ { "name": "RtcpMuxPolicyNegotiate", "id": 1 }, { "name": "RtcpMuxPolicyRequire", "id": 2 } ] } ] }, { "name": "CreateStreamResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "string", "name": "streamId", "id": 2 }, { "rule": "optional", "type": "string", "name": "instanceRouteKey", "id": 5 }, { "rule": "repeated", "type": "string", "name": "streamUris", "id": 8 }, { "rule": "optional", "type": "RtcConfiguration", "name": "rtcConfiguration", "id": 9 }, { "rule": "optional", "type": "SetRemoteDescriptionResponse", "name": "setRemoteDescriptionResponse", "id": 3 }, { "rule": "optional", "type": "CreateOfferDescriptionResponse", "name": "createOfferDescriptionResponse", "id": 4 }, { "rule": "optional", "type": "CreateAnswerDescriptionResponse", "name": "createAnswerDescriptionResponse", "id": 6 }, { "rule": "repeated", "type": "string", "name": "options", "id": 7 }, { "rule": "optional", "type": "uint64", "name": "offset", "id": 10, "options": { "default": 0 } } ] }, { "name": "SetLocalDescription", "fields": [ { "rule": "required", "type": "string", "name": "streamId", "id": 1 }, { "rule": "required", "type": "SessionDescription", "name": "sessionDescription", "id": 2 }, { "rule": "optional", "type": "uint32", "name": "apiVersion", "id": 3, "options": { "default": 0 } } ] }, { "name": "SetLocalDescriptionResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "repeated", "type": "string", "name": "options", "id": 2 } ] }, { "name": "SetRemoteDescription", "fields": [ { "rule": "required", "type": "string", "name": "streamId", "id": 1 }, { "rule": "required", "type": "SessionDescription", "name": "sessionDescription", "id": 2 }, { "rule": "optional", "type": "uint32", "name": "apiVersion", "id": 3, "options": { "default": 0 } } ] }, { "name": "SetRemoteDescriptionResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "SessionDescription", "name": "sessionDescription", "id": 2 }, { "rule": "repeated", "type": "string", "name": "options", "id": 3 } ] }, { "name": "CreateOfferDescription", "fields": [ { "rule": "required", "type": "string", "name": "streamId", "id": 1 }, { "rule": "repeated", "type": "string", "name": "options", "id": 2 }, { "rule": "optional", "type": "uint32", "name": "apiVersion", "id": 3, "options": { "default": 0 } } ] }, { "name": "CreateOfferDescriptionResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "SessionDescription", "name": "sessionDescription", "id": 2 }, { "rule": "repeated", "type": "string", "name": "options", "id": 3 } ] }, { "name": "CreateAnswerDescription", "fields": [ { "rule": "required", "type": "string", "name": "streamId", "id": 1 }, { "rule": "repeated", "type": "string", "name": "options", "id": 2 }, { "rule": "optional", "type": "uint32", "name": "apiVersion", "id": 3, "options": { "default": 0 } } ] }, { "name": "CreateAnswerDescriptionResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "SessionDescription", "name": "sessionDescription", "id": 2 }, { "rule": "repeated", "type": "string", "name": "options", "id": 3 } ] }, { "name": "IceCandidate", "fields": [ { "rule": "required", "type": "string", "name": "candidate", "id": 1 }, { "rule": "required", "type": "uint32", "name": "sdpMLineIndex", "id": 2 }, { "rule": "required", "type": "string", "name": "sdpMid", "id": 3 } ] }, { "name": "AddIceCandidates", "fields": [ { "rule": "required", "type": "string", "name": "streamId", "id": 1 }, { "rule": "repeated", "type": "IceCandidate", "name": "candidates", "id": 2 }, { "rule": "repeated", "type": "string", "name": "options", "id": 3 }, { "rule": "optional", "type": "uint32", "name": "apiVersion", "id": 4, "options": { "default": 0 } } ] }, { "name": "AddIceCandidatesResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "repeated", "type": "string", "name": "options", "id": 2 } ] }, { "name": "UpdateStreamState", "fields": [ { "rule": "required", "type": "string", "name": "streamId", "id": 1 }, { "rule": "required", "type": "string", "name": "signalingState", "id": 2 }, { "rule": "required", "type": "string", "name": "iceGatheringState", "id": 3 }, { "rule": "required", "type": "string", "name": "iceConnectionState", "id": 4 }, { "rule": "optional", "type": "uint32", "name": "apiVersion", "id": 5, "options": { "default": 0 } } ] }, { "name": "UpdateStreamStateResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "repeated", "type": "string", "name": "options", "id": 2 } ] }, { "name": "DestroyStream", "fields": [ { "rule": "required", "type": "string", "name": "streamId", "id": 1 }, { "rule": "optional", "type": "string", "name": "reason", "id": 2 }, { "rule": "repeated", "type": "string", "name": "options", "id": 3 } ] }, { "name": "DestroyStreamResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 } ] }, { "name": "ConnectionDisconnected", "fields": [ { "rule": "required", "type": "string", "name": "connectionId", "id": 1 }, { "rule": "required", "type": "uint32", "name": "reasonCode", "id": 2 }, { "rule": "optional", "type": "string", "name": "description", "id": 3 } ] }, { "name": "ConnectionDisconnectedResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 } ] }, { "name": "StreamStarted", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "streamId", "id": 2 }, { "rule": "repeated", "type": "string", "name": "tags", "id": 3 } ] }, { "name": "SourceStreamStarted", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "streamId", "id": 2 }, { "rule": "repeated", "type": "string", "name": "capabilities", "id": 3 }, { "rule": "repeated", "type": "string", "name": "tags", "id": 4 } ] }, { "name": "StreamEnded", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "streamId", "id": 2 }, { "rule": "required", "type": "string", "name": "reason", "id": 3 }, { "rule": "repeated", "type": "string", "name": "tags", "id": 4 }, { "rule": "optional", "type": "string", "name": "continuationId", "id": 5 }, { "rule": "optional", "type": "string", "name": "routeKey", "id": 6 } ] }, { "name": "SourceStreamEnded", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "streamId", "id": 2 }, { "rule": "required", "type": "string", "name": "reason", "id": 3 }, { "rule": "repeated", "type": "string", "name": "capabilities", "id": 4 }, { "rule": "repeated", "type": "string", "name": "tags", "id": 5 } ] }, { "name": "StreamEndedResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "string", "name": "continuationId", "id": 2 }, { "rule": "optional", "type": "string", "name": "routeKey", "id": 3 } ] }, { "name": "StreamIdle", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "streamId", "id": 2 }, { "rule": "repeated", "type": "string", "name": "options", "id": 3 }, { "rule": "repeated", "type": "string", "name": "tags", "id": 4 } ] }, { "name": "StreamArchived", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "streamId", "id": 2 }, { "rule": "required", "type": "uint64", "name": "startTime", "id": 4 }, { "rule": "required", "type": "string", "name": "uri", "id": 3 } ] }, { "name": "SessionEnded", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "reason", "id": 2 }, { "rule": "required", "type": "float", "name": "duration", "id": 3 } ] }, { "name": "ResourceIdle", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "routeKey", "id": 2 } ] }, { "name": "ResourceIdleResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 } ] }, { "name": "StreamPlaylist", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "streamId", "id": 2 }, { "rule": "required", "type": "PlaylistType", "name": "playlistType", "id": 3 }, { "rule": "required", "type": "string", "name": "uri", "id": 4 } ], "enums": [ { "name": "PlaylistType", "values": [ { "name": "Live", "id": 0 }, { "name": "OnDemand", "id": 1 } ] } ] }, { "name": "SendEventToClient", "fields": [ { "rule": "required", "type": "string", "name": "connectionId", "id": 1 }, { "rule": "required", "type": "string", "name": "type", "id": 2 }, { "rule": "required", "type": "bytes", "name": "payload", "id": 3 } ] }, { "name": "SendEventToClientResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 } ] }, { "name": "SendRequestToClient", "fields": [ { "rule": "required", "type": "string", "name": "connectionId", "id": 1 }, { "rule": "required", "type": "string", "name": "type", "id": 2 }, { "rule": "required", "type": "bytes", "name": "payload", "id": 3 } ] }, { "name": "SendRequestToClientResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "string", "name": "type", "id": 2 }, { "rule": "optional", "type": "bytes", "name": "payload", "id": 3 } ] }, { "name": "SetupStream", "fields": [ { "rule": "required", "type": "string", "name": "streamToken", "id": 1 }, { "rule": "required", "type": "CreateStream", "name": "createStream", "id": 2 } ] }, { "name": "SetupStreamResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "CreateStreamResponse", "name": "createStreamResponse", "id": 2 } ] }, { "name": "SetupPlaylistStream", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "streamToken", "id": 2 }, { "rule": "repeated", "type": "string", "name": "options", "id": 3 }, { "rule": "repeated", "type": "string", "name": "tags", "id": 4 } ] }, { "name": "PlaylistStreamManifest", "fields": [ { "rule": "required", "type": "string", "name": "manifest", "id": 1 }, { "rule": "required", "type": "bool", "name": "isProtectedContent", "id": 2 } ] }, { "name": "SetupPlaylistStreamResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "repeated", "type": "PlaylistStreamManifest", "name": "manifests", "id": 2 }, { "rule": "optional", "type": "uint64", "name": "offset", "id": 3, "options": { "default": 0 } } ] }, { "name": "StreamDataQuality", "fields": [ { "rule": "required", "type": "string", "name": "sessionId", "id": 1 }, { "rule": "required", "type": "string", "name": "streamId", "id": 2 }, { "rule": "required", "type": "uint64", "name": "timestamp", "id": 3 }, { "rule": "required", "type": "DataQualityStatus", "name": "status", "id": 4 }, { "rule": "required", "type": "DataQualityReason", "name": "reason", "id": 5 } ], "enums": [ { "name": "DataQualityStatus", "values": [ { "name": "NoData", "id": 0 }, { "name": "AudioOnly", "id": 1 }, { "name": "All", "id": 2 } ] }, { "name": "DataQualityReason", "values": [ { "name": "None", "id": 0 }, { "name": "UploadLimited", "id": 1 }, { "name": "DownloadLimited", "id": 2 }, { "name": "PublisherLimited", "id": 3 }, { "name": "NetworkLimited", "id": 4 } ] } ] }, { "name": "StreamDataQualityResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 } ] }, { "name": "CallbackEvent", "fields": [ { "rule": "optional", "type": "uint32", "name": "apiVersion", "id": 1, "options": { "default": 0 } }, { "rule": "required", "type": "string", "name": "entity", "id": 2 }, { "rule": "required", "type": "string", "name": "what", "id": 3 }, { "rule": "required", "type": "string", "name": "data", "id": 4 }, { "rule": "optional", "type": "string", "name": "sessionId", "id": 5 } ] }, { "name": "Uri", "fields": [ { "rule": "optional", "type": "string", "name": "protocol", "id": 1, "options": { "default": "http" } }, { "rule": "required", "type": "string", "name": "host", "id": 2 }, { "rule": "optional", "type": "uint32", "name": "port", "id": 3, "options": { "default": 80 } }, { "rule": "optional", "type": "string", "name": "method", "id": 4, "options": { "default": "POST" } }, { "rule": "optional", "type": "string", "name": "path", "id": 5, "options": { "default": "/" } } ] }, { "name": "SetApplicationCallback", "fields": [ { "rule": "required", "type": "string", "name": "applicationId", "id": 1 }, { "rule": "required", "type": "string", "name": "secret", "id": 2 }, { "rule": "required", "type": "Uri", "name": "callback", "id": 3 } ] }, { "name": "SetApplicationCallbackResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 } ] }, { "name": "IssueAuthenticationToken", "fields": [ { "rule": "required", "type": "string", "name": "applicationId", "id": 1 }, { "rule": "required", "type": "string", "name": "secret", "id": 2 }, { "rule": "repeated", "type": "string", "name": "capabilities", "id": 3 } ] }, { "name": "IssueAuthenticationTokenResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "string", "name": "authenticationToken", "id": 2 } ] }, { "name": "IssueStreamToken", "fields": [ { "rule": "required", "type": "string", "name": "applicationId", "id": 1 }, { "rule": "required", "type": "string", "name": "secret", "id": 2 }, { "rule": "required", "type": "string", "name": "sessionId", "id": 3 }, { "rule": "optional", "type": "string", "name": "originStreamId", "id": 4 }, { "rule": "repeated", "type": "string", "name": "capabilities", "id": 5 } ] }, { "name": "IssueStreamTokenResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "string", "name": "streamToken", "id": 2 } ] }, { "name": "IssueDrmToken", "fields": [ { "rule": "required", "type": "string", "name": "applicationId", "id": 1 }, { "rule": "required", "type": "string", "name": "secret", "id": 2 }, { "rule": "optional", "type": "string", "name": "sessionId", "id": 3 }, { "rule": "required", "type": "string", "name": "originStreamId", "id": 4 }, { "rule": "repeated", "type": "string", "name": "capabilities", "id": 5 } ] }, { "name": "IssueDrmTokenResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "string", "name": "drmToken", "id": 2 } ] }, { "name": "TerminateStream", "fields": [ { "rule": "required", "type": "string", "name": "applicationId", "id": 1 }, { "rule": "required", "type": "string", "name": "secret", "id": 2 }, { "rule": "optional", "type": "string", "name": "streamId", "id": 3, "oneof": "streamOrToken" }, { "rule": "optional", "type": "string", "name": "streamToken", "id": 5, "oneof": "streamOrToken" }, { "rule": "optional", "type": "string", "name": "reason", "id": 4 } ], "oneofs": { "streamOrToken": [3, 5] } }, { "name": "TerminateStreamResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 } ] }, { "name": "Stream", "fields": [ { "rule": "required", "type": "string", "name": "streamId", "id": 1 } ] }, { "name": "ListStreams", "fields": [ { "rule": "required", "type": "string", "name": "applicationId", "id": 1 }, { "rule": "required", "type": "string", "name": "secret", "id": 2 }, { "rule": "optional", "type": "string", "name": "start", "id": 3 }, { "rule": "required", "type": "uint32", "name": "length", "id": 4 }, { "rule": "repeated", "type": "string", "name": "options", "id": 5 } ] }, { "name": "ListStreamsResponse", "fields": [ { "rule": "required", "type": "string", "name": "status", "id": 1 }, { "rule": "optional", "type": "string", "name": "start", "id": 2 }, { "rule": "optional", "type": "uint32", "name": "length", "id": 3 }, { "rule": "repeated", "type": "Stream", "name": "streams", "id": 4 } ] } ] }