#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricsBatch {
#[prost(int64, tag = "1")]
pub timestamp_ms: i64,
#[prost(message, optional, tag = "2")]
pub normalized_timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, repeated, tag = "3")]
pub str_data: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "4")]
pub time_series: ::prost::alloc::vec::Vec<TimeSeriesMetric>,
#[prost(message, repeated, tag = "5")]
pub events: ::prost::alloc::vec::Vec<EventMetric>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TimeSeriesMetric {
#[prost(uint32, tag = "1")]
pub label: u32,
#[prost(uint32, tag = "2")]
pub participant_identity: u32,
#[prost(uint32, tag = "3")]
pub track_sid: u32,
#[prost(message, repeated, tag = "4")]
pub samples: ::prost::alloc::vec::Vec<MetricSample>,
#[prost(uint32, tag = "5")]
pub rid: u32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MetricSample {
#[prost(int64, tag = "1")]
pub timestamp_ms: i64,
#[prost(message, optional, tag = "2")]
pub normalized_timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(float, tag = "3")]
pub value: f32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EventMetric {
#[prost(uint32, tag = "1")]
pub label: u32,
#[prost(uint32, tag = "2")]
pub participant_identity: u32,
#[prost(uint32, tag = "3")]
pub track_sid: u32,
#[prost(int64, tag = "4")]
pub start_timestamp_ms: i64,
#[prost(int64, optional, tag = "5")]
pub end_timestamp_ms: ::core::option::Option<i64>,
#[prost(message, optional, tag = "6")]
pub normalized_start_timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "7")]
pub normalized_end_timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "8")]
pub metadata: ::prost::alloc::string::String,
#[prost(uint32, tag = "9")]
pub rid: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetricsRecordingHeader {
#[prost(string, tag = "1")]
pub room_id: ::prost::alloc::string::String,
#[prost(uint64, tag = "3")]
pub duration: u64,
#[prost(message, optional, tag = "4")]
pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(map = "string, string", tag = "5")]
pub room_tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "6")]
pub room_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "7")]
pub room_start_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "8")]
pub job_id: ::prost::alloc::string::String,
#[prost(bool, tag = "9")]
pub simulated: bool,
#[prost(bool, tag = "10")]
pub redaction_enabled: bool,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MetricLabel {
AgentsLlmTtft = 0,
AgentsSttTtft = 1,
AgentsTtsTtfb = 2,
ClientVideoSubscriberFreezeCount = 3,
ClientVideoSubscriberTotalFreezeDuration = 4,
ClientVideoSubscriberPauseCount = 5,
ClientVideoSubscriberTotalPausesDuration = 6,
ClientAudioSubscriberConcealedSamples = 7,
ClientAudioSubscriberSilentConcealedSamples = 8,
ClientAudioSubscriberConcealmentEvents = 9,
ClientAudioSubscriberInterruptionCount = 10,
ClientAudioSubscriberTotalInterruptionDuration = 11,
ClientSubscriberJitterBufferDelay = 12,
ClientSubscriberJitterBufferEmittedCount = 13,
ClientVideoPublisherQualityLimitationDurationBandwidth = 14,
ClientVideoPublisherQualityLimitationDurationCpu = 15,
ClientVideoPublisherQualityLimitationDurationOther = 16,
PublisherRtt = 17,
ServerMeshRtt = 18,
SubscriberRtt = 19,
PredefinedMaxValue = 4096,
}
impl MetricLabel {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::AgentsLlmTtft => "AGENTS_LLM_TTFT",
Self::AgentsSttTtft => "AGENTS_STT_TTFT",
Self::AgentsTtsTtfb => "AGENTS_TTS_TTFB",
Self::ClientVideoSubscriberFreezeCount => "CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT",
Self::ClientVideoSubscriberTotalFreezeDuration => "CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION",
Self::ClientVideoSubscriberPauseCount => "CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT",
Self::ClientVideoSubscriberTotalPausesDuration => "CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION",
Self::ClientAudioSubscriberConcealedSamples => "CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES",
Self::ClientAudioSubscriberSilentConcealedSamples => "CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES",
Self::ClientAudioSubscriberConcealmentEvents => "CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS",
Self::ClientAudioSubscriberInterruptionCount => "CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT",
Self::ClientAudioSubscriberTotalInterruptionDuration => "CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION",
Self::ClientSubscriberJitterBufferDelay => "CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY",
Self::ClientSubscriberJitterBufferEmittedCount => "CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT",
Self::ClientVideoPublisherQualityLimitationDurationBandwidth => "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_BANDWIDTH",
Self::ClientVideoPublisherQualityLimitationDurationCpu => "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_CPU",
Self::ClientVideoPublisherQualityLimitationDurationOther => "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_OTHER",
Self::PublisherRtt => "PUBLISHER_RTT",
Self::ServerMeshRtt => "SERVER_MESH_RTT",
Self::SubscriberRtt => "SUBSCRIBER_RTT",
Self::PredefinedMaxValue => "METRIC_LABEL_PREDEFINED_MAX_VALUE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"AGENTS_LLM_TTFT" => Some(Self::AgentsLlmTtft),
"AGENTS_STT_TTFT" => Some(Self::AgentsSttTtft),
"AGENTS_TTS_TTFB" => Some(Self::AgentsTtsTtfb),
"CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT" => Some(Self::ClientVideoSubscriberFreezeCount),
"CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION" => Some(Self::ClientVideoSubscriberTotalFreezeDuration),
"CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT" => Some(Self::ClientVideoSubscriberPauseCount),
"CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION" => Some(Self::ClientVideoSubscriberTotalPausesDuration),
"CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES" => Some(Self::ClientAudioSubscriberConcealedSamples),
"CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES" => Some(Self::ClientAudioSubscriberSilentConcealedSamples),
"CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS" => Some(Self::ClientAudioSubscriberConcealmentEvents),
"CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT" => Some(Self::ClientAudioSubscriberInterruptionCount),
"CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION" => Some(Self::ClientAudioSubscriberTotalInterruptionDuration),
"CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY" => Some(Self::ClientSubscriberJitterBufferDelay),
"CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT" => Some(Self::ClientSubscriberJitterBufferEmittedCount),
"CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_BANDWIDTH" => Some(Self::ClientVideoPublisherQualityLimitationDurationBandwidth),
"CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_CPU" => Some(Self::ClientVideoPublisherQualityLimitationDurationCpu),
"CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_OTHER" => Some(Self::ClientVideoPublisherQualityLimitationDurationOther),
"PUBLISHER_RTT" => Some(Self::PublisherRtt),
"SERVER_MESH_RTT" => Some(Self::ServerMeshRtt),
"SUBSCRIBER_RTT" => Some(Self::SubscriberRtt),
"METRIC_LABEL_PREDEFINED_MAX_VALUE" => Some(Self::PredefinedMaxValue),
_ => None,
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pagination {
#[prost(string, tag = "1")]
pub after_id: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub limit: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TokenPagination {
#[prost(string, tag = "1")]
pub token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListUpdate {
#[prost(string, repeated, tag = "1")]
pub set: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "3")]
pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "4")]
pub clear: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Room {
#[prost(string, tag = "1")]
pub sid: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub empty_timeout: u32,
#[prost(uint32, tag = "14")]
pub departure_timeout: u32,
#[prost(uint32, tag = "4")]
pub max_participants: u32,
#[prost(int64, tag = "5")]
pub creation_time: i64,
#[prost(int64, tag = "15")]
pub creation_time_ms: i64,
#[prost(string, tag = "6")]
pub turn_password: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "7")]
pub enabled_codecs: ::prost::alloc::vec::Vec<Codec>,
#[prost(string, tag = "8")]
pub metadata: ::prost::alloc::string::String,
#[prost(uint32, tag = "9")]
pub num_participants: u32,
#[prost(uint32, tag = "11")]
pub num_publishers: u32,
#[prost(bool, tag = "10")]
pub active_recording: bool,
#[prost(message, optional, tag = "13")]
pub version: ::core::option::Option<TimedVersion>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Codec {
#[prost(string, tag = "1")]
pub mime: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub fmtp_line: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayoutDelay {
#[prost(bool, tag = "1")]
pub enabled: bool,
#[prost(uint32, tag = "2")]
pub min: u32,
#[prost(uint32, tag = "3")]
pub max: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ParticipantPermission {
#[prost(bool, tag = "1")]
pub can_subscribe: bool,
#[prost(bool, tag = "2")]
pub can_publish: bool,
#[prost(bool, tag = "3")]
pub can_publish_data: bool,
#[prost(enumeration = "TrackSource", repeated, tag = "9")]
pub can_publish_sources: ::prost::alloc::vec::Vec<i32>,
#[prost(bool, tag = "7")]
pub hidden: bool,
#[deprecated]
#[prost(bool, tag = "8")]
pub recorder: bool,
#[prost(bool, tag = "10")]
pub can_update_metadata: bool,
#[deprecated]
#[prost(bool, tag = "11")]
pub agent: bool,
#[prost(bool, tag = "12")]
pub can_subscribe_metrics: bool,
#[prost(bool, tag = "13")]
pub can_manage_agent_session: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParticipantInfo {
#[prost(string, tag = "1")]
pub sid: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub identity: ::prost::alloc::string::String,
#[prost(enumeration = "participant_info::State", tag = "3")]
pub state: i32,
#[prost(message, repeated, tag = "4")]
pub tracks: ::prost::alloc::vec::Vec<TrackInfo>,
#[prost(string, tag = "5")]
pub metadata: ::prost::alloc::string::String,
#[prost(int64, tag = "6")]
pub joined_at: i64,
#[prost(int64, tag = "17")]
pub joined_at_ms: i64,
#[prost(string, tag = "9")]
pub name: ::prost::alloc::string::String,
#[prost(uint32, tag = "10")]
pub version: u32,
#[prost(message, optional, tag = "11")]
pub permission: ::core::option::Option<ParticipantPermission>,
#[prost(string, tag = "12")]
pub region: ::prost::alloc::string::String,
#[prost(bool, tag = "13")]
pub is_publisher: bool,
#[prost(enumeration = "participant_info::Kind", tag = "14")]
pub kind: i32,
#[prost(map = "string, string", tag = "15")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(enumeration = "DisconnectReason", tag = "16")]
pub disconnect_reason: i32,
#[prost(enumeration = "participant_info::KindDetail", repeated, tag = "18")]
pub kind_details: ::prost::alloc::vec::Vec<i32>,
#[prost(message, repeated, tag = "19")]
pub data_tracks: ::prost::alloc::vec::Vec<DataTrackInfo>,
#[prost(int32, tag = "20")]
pub client_protocol: i32,
#[prost(enumeration = "client_info::Capability", repeated, tag = "21")]
pub capabilities: ::prost::alloc::vec::Vec<i32>,
}
pub mod participant_info {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum State {
Joining = 0,
Joined = 1,
Active = 2,
Disconnected = 3,
}
impl State {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Joining => "JOINING",
Self::Joined => "JOINED",
Self::Active => "ACTIVE",
Self::Disconnected => "DISCONNECTED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"JOINING" => Some(Self::Joining),
"JOINED" => Some(Self::Joined),
"ACTIVE" => Some(Self::Active),
"DISCONNECTED" => Some(Self::Disconnected),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kind {
Standard = 0,
Ingress = 1,
Egress = 2,
Sip = 3,
Agent = 4,
Connector = 7,
Bridge = 8,
}
impl Kind {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Standard => "STANDARD",
Self::Ingress => "INGRESS",
Self::Egress => "EGRESS",
Self::Sip => "SIP",
Self::Agent => "AGENT",
Self::Connector => "CONNECTOR",
Self::Bridge => "BRIDGE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STANDARD" => Some(Self::Standard),
"INGRESS" => Some(Self::Ingress),
"EGRESS" => Some(Self::Egress),
"SIP" => Some(Self::Sip),
"AGENT" => Some(Self::Agent),
"CONNECTOR" => Some(Self::Connector),
"BRIDGE" => Some(Self::Bridge),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum KindDetail {
CloudAgent = 0,
Forwarded = 1,
ConnectorWhatsapp = 2,
ConnectorTwilio = 3,
BridgeRtsp = 4,
Simulation = 5,
}
impl KindDetail {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::CloudAgent => "CLOUD_AGENT",
Self::Forwarded => "FORWARDED",
Self::ConnectorWhatsapp => "CONNECTOR_WHATSAPP",
Self::ConnectorTwilio => "CONNECTOR_TWILIO",
Self::BridgeRtsp => "BRIDGE_RTSP",
Self::Simulation => "SIMULATION",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CLOUD_AGENT" => Some(Self::CloudAgent),
"FORWARDED" => Some(Self::Forwarded),
"CONNECTOR_WHATSAPP" => Some(Self::ConnectorWhatsapp),
"CONNECTOR_TWILIO" => Some(Self::ConnectorTwilio),
"BRIDGE_RTSP" => Some(Self::BridgeRtsp),
"SIMULATION" => Some(Self::Simulation),
_ => None,
}
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Encryption {
}
pub mod encryption {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Type {
None = 0,
Gcm = 1,
Custom = 2,
}
impl Type {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "NONE",
Self::Gcm => "GCM",
Self::Custom => "CUSTOM",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NONE" => Some(Self::None),
"GCM" => Some(Self::Gcm),
"CUSTOM" => Some(Self::Custom),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SimulcastCodecInfo {
#[prost(string, tag = "1")]
pub mime_type: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub mid: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub cid: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "4")]
pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
#[prost(enumeration = "video_layer::Mode", tag = "5")]
pub video_layer_mode: i32,
#[prost(string, tag = "6")]
pub sdp_cid: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrackInfo {
#[prost(string, tag = "1")]
pub sid: ::prost::alloc::string::String,
#[prost(enumeration = "TrackType", tag = "2")]
pub r#type: i32,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub muted: bool,
#[prost(uint32, tag = "5")]
pub width: u32,
#[prost(uint32, tag = "6")]
pub height: u32,
#[deprecated]
#[prost(bool, tag = "7")]
pub simulcast: bool,
#[deprecated]
#[prost(bool, tag = "8")]
pub disable_dtx: bool,
#[prost(enumeration = "TrackSource", tag = "9")]
pub source: i32,
#[deprecated]
#[prost(message, repeated, tag = "10")]
pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
#[prost(string, tag = "11")]
pub mime_type: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub mid: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "13")]
pub codecs: ::prost::alloc::vec::Vec<SimulcastCodecInfo>,
#[deprecated]
#[prost(bool, tag = "14")]
pub stereo: bool,
#[prost(bool, tag = "15")]
pub disable_red: bool,
#[prost(enumeration = "encryption::Type", tag = "16")]
pub encryption: i32,
#[prost(string, tag = "17")]
pub stream: ::prost::alloc::string::String,
#[prost(message, optional, tag = "18")]
pub version: ::core::option::Option<TimedVersion>,
#[prost(enumeration = "AudioTrackFeature", repeated, tag = "19")]
pub audio_features: ::prost::alloc::vec::Vec<i32>,
#[prost(enumeration = "BackupCodecPolicy", tag = "20")]
pub backup_codec_policy: i32,
#[prost(enumeration = "PacketTrailerFeature", repeated, tag = "21")]
pub packet_trailer_features: ::prost::alloc::vec::Vec<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataTrackInfo {
#[prost(uint32, tag = "1")]
pub pub_handle: u32,
#[prost(string, tag = "2")]
pub sid: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "encryption::Type", tag = "4")]
pub encryption: i32,
#[prost(message, optional, tag = "5")]
pub frame_encoding: ::core::option::Option<DataTrackFrameEncoding>,
#[prost(message, optional, tag = "6")]
pub schema: ::core::option::Option<DataTrackSchemaId>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataTrackFrameEncoding {
#[prost(oneof = "data_track_frame_encoding::Value", tags = "1, 2")]
pub value: ::core::option::Option<data_track_frame_encoding::Value>,
}
pub mod data_track_frame_encoding {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WellKnownFrameEncoding {
Unspecified = 0,
Ros1 = 1,
Cdr = 2,
Protobuf = 3,
Flatbuffer = 4,
Cbor = 5,
Msgpack = 6,
Json = 7,
}
impl WellKnownFrameEncoding {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "WELL_KNOWN_FRAME_ENCODING_UNSPECIFIED",
Self::Ros1 => "WELL_KNOWN_FRAME_ENCODING_ROS1",
Self::Cdr => "WELL_KNOWN_FRAME_ENCODING_CDR",
Self::Protobuf => "WELL_KNOWN_FRAME_ENCODING_PROTOBUF",
Self::Flatbuffer => "WELL_KNOWN_FRAME_ENCODING_FLATBUFFER",
Self::Cbor => "WELL_KNOWN_FRAME_ENCODING_CBOR",
Self::Msgpack => "WELL_KNOWN_FRAME_ENCODING_MSGPACK",
Self::Json => "WELL_KNOWN_FRAME_ENCODING_JSON",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"WELL_KNOWN_FRAME_ENCODING_UNSPECIFIED" => Some(Self::Unspecified),
"WELL_KNOWN_FRAME_ENCODING_ROS1" => Some(Self::Ros1),
"WELL_KNOWN_FRAME_ENCODING_CDR" => Some(Self::Cdr),
"WELL_KNOWN_FRAME_ENCODING_PROTOBUF" => Some(Self::Protobuf),
"WELL_KNOWN_FRAME_ENCODING_FLATBUFFER" => Some(Self::Flatbuffer),
"WELL_KNOWN_FRAME_ENCODING_CBOR" => Some(Self::Cbor),
"WELL_KNOWN_FRAME_ENCODING_MSGPACK" => Some(Self::Msgpack),
"WELL_KNOWN_FRAME_ENCODING_JSON" => Some(Self::Json),
_ => None,
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Value {
#[prost(enumeration = "WellKnownFrameEncoding", tag = "1")]
WellKnown(i32),
#[prost(string, tag = "2")]
Custom(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataTrackSchemaEncoding {
#[prost(oneof = "data_track_schema_encoding::Value", tags = "1, 2")]
pub value: ::core::option::Option<data_track_schema_encoding::Value>,
}
pub mod data_track_schema_encoding {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WellKnownSchemaEncoding {
Unspecified = 0,
Protobuf = 1,
Flatbuffer = 2,
Ros1Msg = 3,
Ros2Msg = 4,
Ros2Idl = 5,
OmgIdl = 6,
JsonSchema = 7,
}
impl WellKnownSchemaEncoding {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "WELL_KNOWN_SCHEMA_ENCODING_UNSPECIFIED",
Self::Protobuf => "WELL_KNOWN_SCHEMA_ENCODING_PROTOBUF",
Self::Flatbuffer => "WELL_KNOWN_SCHEMA_ENCODING_FLATBUFFER",
Self::Ros1Msg => "WELL_KNOWN_SCHEMA_ENCODING_ROS1_MSG",
Self::Ros2Msg => "WELL_KNOWN_SCHEMA_ENCODING_ROS2_MSG",
Self::Ros2Idl => "WELL_KNOWN_SCHEMA_ENCODING_ROS2_IDL",
Self::OmgIdl => "WELL_KNOWN_SCHEMA_ENCODING_OMG_IDL",
Self::JsonSchema => "WELL_KNOWN_SCHEMA_ENCODING_JSON_SCHEMA",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"WELL_KNOWN_SCHEMA_ENCODING_UNSPECIFIED" => Some(Self::Unspecified),
"WELL_KNOWN_SCHEMA_ENCODING_PROTOBUF" => Some(Self::Protobuf),
"WELL_KNOWN_SCHEMA_ENCODING_FLATBUFFER" => Some(Self::Flatbuffer),
"WELL_KNOWN_SCHEMA_ENCODING_ROS1_MSG" => Some(Self::Ros1Msg),
"WELL_KNOWN_SCHEMA_ENCODING_ROS2_MSG" => Some(Self::Ros2Msg),
"WELL_KNOWN_SCHEMA_ENCODING_ROS2_IDL" => Some(Self::Ros2Idl),
"WELL_KNOWN_SCHEMA_ENCODING_OMG_IDL" => Some(Self::OmgIdl),
"WELL_KNOWN_SCHEMA_ENCODING_JSON_SCHEMA" => Some(Self::JsonSchema),
_ => None,
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Value {
#[prost(enumeration = "WellKnownSchemaEncoding", tag = "1")]
WellKnown(i32),
#[prost(string, tag = "2")]
Custom(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataTrackSchemaId {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub encoding: ::core::option::Option<DataTrackSchemaEncoding>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataTrackExtensionParticipantSid {
#[prost(enumeration = "DataTrackExtensionId", tag = "1")]
pub id: i32,
#[prost(string, tag = "2")]
pub participant_sid: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataTrackSubscriptionOptions {
#[prost(uint32, optional, tag = "1")]
pub target_fps: ::core::option::Option<u32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataBlobKey {
#[prost(oneof = "data_blob_key::Key", tags = "1, 2")]
pub key: ::core::option::Option<data_blob_key::Key>,
}
pub mod data_blob_key {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Key {
#[prost(string, tag = "1")]
Generic(::prost::alloc::string::String),
#[prost(message, tag = "2")]
SchemaId(super::DataTrackSchemaId),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataBlob {
#[prost(message, optional, tag = "1")]
pub key: ::core::option::Option<DataBlobKey>,
#[prost(bytes = "vec", tag = "2")]
pub contents: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct VideoLayer {
#[prost(enumeration = "VideoQuality", tag = "1")]
pub quality: i32,
#[prost(uint32, tag = "2")]
pub width: u32,
#[prost(uint32, tag = "3")]
pub height: u32,
#[prost(uint32, tag = "4")]
pub bitrate: u32,
#[prost(uint32, tag = "5")]
pub ssrc: u32,
#[prost(int32, tag = "6")]
pub spatial_layer: i32,
#[prost(string, tag = "7")]
pub rid: ::prost::alloc::string::String,
#[prost(uint32, tag = "8")]
pub repair_ssrc: u32,
}
pub mod video_layer {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mode {
Unused = 0,
OneSpatialLayerPerStream = 1,
MultipleSpatialLayersPerStream = 2,
OneSpatialLayerPerStreamIncompleteRtcpSr = 3,
}
impl Mode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unused => "MODE_UNUSED",
Self::OneSpatialLayerPerStream => "ONE_SPATIAL_LAYER_PER_STREAM",
Self::MultipleSpatialLayersPerStream => "MULTIPLE_SPATIAL_LAYERS_PER_STREAM",
Self::OneSpatialLayerPerStreamIncompleteRtcpSr => "ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MODE_UNUSED" => Some(Self::Unused),
"ONE_SPATIAL_LAYER_PER_STREAM" => Some(Self::OneSpatialLayerPerStream),
"MULTIPLE_SPATIAL_LAYERS_PER_STREAM" => Some(Self::MultipleSpatialLayersPerStream),
"ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR" => Some(Self::OneSpatialLayerPerStreamIncompleteRtcpSr),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DataPacket {
#[deprecated]
#[prost(enumeration = "data_packet::Kind", tag = "1")]
pub kind: i32,
#[prost(string, tag = "4")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "5")]
pub destination_identities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(uint32, tag = "16")]
pub sequence: u32,
#[prost(string, tag = "17")]
pub participant_sid: ::prost::alloc::string::String,
#[prost(oneof = "data_packet::Value", tags = "2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18")]
pub value: ::core::option::Option<data_packet::Value>,
}
pub mod data_packet {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kind {
Reliable = 0,
Lossy = 1,
}
impl Kind {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Reliable => "RELIABLE",
Self::Lossy => "LOSSY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"RELIABLE" => Some(Self::Reliable),
"LOSSY" => Some(Self::Lossy),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "2")]
User(super::UserPacket),
#[deprecated]
#[prost(message, tag = "3")]
Speaker(super::ActiveSpeakerUpdate),
#[prost(message, tag = "6")]
SipDtmf(super::SipDtmf),
#[prost(message, tag = "7")]
Transcription(super::Transcription),
#[prost(message, tag = "8")]
Metrics(super::MetricsBatch),
#[prost(message, tag = "9")]
ChatMessage(super::ChatMessage),
#[prost(message, tag = "10")]
RpcRequest(super::RpcRequest),
#[prost(message, tag = "11")]
RpcAck(super::RpcAck),
#[prost(message, tag = "12")]
RpcResponse(super::RpcResponse),
#[prost(message, tag = "13")]
StreamHeader(super::data_stream::Header),
#[prost(message, tag = "14")]
StreamChunk(super::data_stream::Chunk),
#[prost(message, tag = "15")]
StreamTrailer(super::data_stream::Trailer),
#[prost(message, tag = "18")]
EncryptedPacket(super::EncryptedPacket),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EncryptedPacket {
#[prost(enumeration = "encryption::Type", tag = "1")]
pub encryption_type: i32,
#[prost(bytes = "vec", tag = "2")]
pub iv: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, tag = "3")]
pub key_index: u32,
#[prost(bytes = "vec", tag = "4")]
pub encrypted_value: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EncryptedPacketPayload {
#[prost(oneof = "encrypted_packet_payload::Value", tags = "1, 3, 4, 5, 6, 7, 8, 9")]
pub value: ::core::option::Option<encrypted_packet_payload::Value>,
}
pub mod encrypted_packet_payload {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "1")]
User(super::UserPacket),
#[prost(message, tag = "3")]
ChatMessage(super::ChatMessage),
#[prost(message, tag = "4")]
RpcRequest(super::RpcRequest),
#[prost(message, tag = "5")]
RpcAck(super::RpcAck),
#[prost(message, tag = "6")]
RpcResponse(super::RpcResponse),
#[prost(message, tag = "7")]
StreamHeader(super::data_stream::Header),
#[prost(message, tag = "8")]
StreamChunk(super::data_stream::Chunk),
#[prost(message, tag = "9")]
StreamTrailer(super::data_stream::Trailer),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActiveSpeakerUpdate {
#[prost(message, repeated, tag = "1")]
pub speakers: ::prost::alloc::vec::Vec<SpeakerInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpeakerInfo {
#[prost(string, tag = "1")]
pub sid: ::prost::alloc::string::String,
#[prost(float, tag = "2")]
pub level: f32,
#[prost(bool, tag = "3")]
pub active: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UserPacket {
#[deprecated]
#[prost(string, tag = "1")]
pub participant_sid: ::prost::alloc::string::String,
#[deprecated]
#[prost(string, tag = "5")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub payload: ::prost::alloc::vec::Vec<u8>,
#[deprecated]
#[prost(string, repeated, tag = "3")]
pub destination_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[deprecated]
#[prost(string, repeated, tag = "6")]
pub destination_identities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub topic: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "8")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint64, optional, tag = "9")]
pub start_time: ::core::option::Option<u64>,
#[prost(uint64, optional, tag = "10")]
pub end_time: ::core::option::Option<u64>,
#[prost(bytes = "vec", tag = "11")]
pub nonce: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipDtmf {
#[prost(uint32, tag = "3")]
pub code: u32,
#[prost(string, tag = "4")]
pub digit: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Transcription {
#[prost(string, tag = "2")]
pub transcribed_participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub track_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "4")]
pub segments: ::prost::alloc::vec::Vec<TranscriptionSegment>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TranscriptionSegment {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub text: ::prost::alloc::string::String,
#[prost(uint64, tag = "3")]
pub start_time: u64,
#[prost(uint64, tag = "4")]
pub end_time: u64,
#[prost(bool, tag = "5")]
pub r#final: bool,
#[prost(string, tag = "6")]
pub language: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChatMessage {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub timestamp: i64,
#[prost(int64, optional, tag = "3")]
pub edit_timestamp: ::core::option::Option<i64>,
#[prost(string, tag = "4")]
pub message: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub deleted: bool,
#[prost(bool, tag = "6")]
pub generated: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RpcRequest {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub method: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub payload: ::prost::alloc::string::String,
#[prost(uint32, tag = "4")]
pub response_timeout_ms: u32,
#[prost(uint32, tag = "5")]
pub version: u32,
#[prost(bytes = "vec", tag = "6")]
pub compressed_payload: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RpcAck {
#[prost(string, tag = "1")]
pub request_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RpcResponse {
#[prost(string, tag = "1")]
pub request_id: ::prost::alloc::string::String,
#[prost(oneof = "rpc_response::Value", tags = "2, 3, 4")]
pub value: ::core::option::Option<rpc_response::Value>,
}
pub mod rpc_response {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Value {
#[prost(string, tag = "2")]
Payload(::prost::alloc::string::String),
#[prost(message, tag = "3")]
Error(super::RpcError),
#[prost(bytes, tag = "4")]
CompressedPayload(::prost::alloc::vec::Vec<u8>),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RpcError {
#[prost(uint32, tag = "1")]
pub code: u32,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub data: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ParticipantTracks {
#[prost(string, tag = "1")]
pub participant_sid: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ServerInfo {
#[prost(enumeration = "server_info::Edition", tag = "1")]
pub edition: i32,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub protocol: i32,
#[prost(string, tag = "4")]
pub region: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub node_id: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub debug_info: ::prost::alloc::string::String,
#[prost(int32, tag = "7")]
pub agent_protocol: i32,
}
pub mod server_info {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Edition {
Standard = 0,
Cloud = 1,
}
impl Edition {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Standard => "Standard",
Self::Cloud => "Cloud",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"Standard" => Some(Self::Standard),
"Cloud" => Some(Self::Cloud),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClientInfo {
#[prost(enumeration = "client_info::Sdk", tag = "1")]
pub sdk: i32,
#[prost(string, tag = "2")]
pub version: ::prost::alloc::string::String,
#[prost(int32, tag = "3")]
pub protocol: i32,
#[prost(string, tag = "4")]
pub os: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub os_version: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub device_model: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub browser: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub browser_version: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub address: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub network: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub other_sdks: ::prost::alloc::string::String,
#[prost(int32, tag = "12")]
pub client_protocol: i32,
#[prost(enumeration = "client_info::Capability", repeated, tag = "13")]
pub capabilities: ::prost::alloc::vec::Vec<i32>,
}
pub mod client_info {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Sdk {
Unknown = 0,
Js = 1,
Swift = 2,
Android = 3,
Flutter = 4,
Go = 5,
Unity = 6,
ReactNative = 7,
Rust = 8,
Python = 9,
Cpp = 10,
UnityWeb = 11,
Node = 12,
Unreal = 13,
Esp32 = 14,
Dotnet = 15,
}
impl Sdk {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "UNKNOWN",
Self::Js => "JS",
Self::Swift => "SWIFT",
Self::Android => "ANDROID",
Self::Flutter => "FLUTTER",
Self::Go => "GO",
Self::Unity => "UNITY",
Self::ReactNative => "REACT_NATIVE",
Self::Rust => "RUST",
Self::Python => "PYTHON",
Self::Cpp => "CPP",
Self::UnityWeb => "UNITY_WEB",
Self::Node => "NODE",
Self::Unreal => "UNREAL",
Self::Esp32 => "ESP32",
Self::Dotnet => "DOTNET",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNKNOWN" => Some(Self::Unknown),
"JS" => Some(Self::Js),
"SWIFT" => Some(Self::Swift),
"ANDROID" => Some(Self::Android),
"FLUTTER" => Some(Self::Flutter),
"GO" => Some(Self::Go),
"UNITY" => Some(Self::Unity),
"REACT_NATIVE" => Some(Self::ReactNative),
"RUST" => Some(Self::Rust),
"PYTHON" => Some(Self::Python),
"CPP" => Some(Self::Cpp),
"UNITY_WEB" => Some(Self::UnityWeb),
"NODE" => Some(Self::Node),
"UNREAL" => Some(Self::Unreal),
"ESP32" => Some(Self::Esp32),
"DOTNET" => Some(Self::Dotnet),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Capability {
CapUnused = 0,
CapPacketTrailer = 1,
CapCompressionDeflateRaw = 2,
}
impl Capability {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::CapUnused => "CAP_UNUSED",
Self::CapPacketTrailer => "CAP_PACKET_TRAILER",
Self::CapCompressionDeflateRaw => "CAP_COMPRESSION_DEFLATE_RAW",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CAP_UNUSED" => Some(Self::CapUnused),
"CAP_PACKET_TRAILER" => Some(Self::CapPacketTrailer),
"CAP_COMPRESSION_DEFLATE_RAW" => Some(Self::CapCompressionDeflateRaw),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientConfiguration {
#[prost(message, optional, tag = "1")]
pub video: ::core::option::Option<VideoConfiguration>,
#[prost(message, optional, tag = "2")]
pub screen: ::core::option::Option<VideoConfiguration>,
#[prost(enumeration = "ClientConfigSetting", tag = "3")]
pub resume_connection: i32,
#[prost(message, optional, tag = "4")]
pub disabled_codecs: ::core::option::Option<DisabledCodecs>,
#[prost(enumeration = "ClientConfigSetting", tag = "5")]
pub force_relay: i32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct VideoConfiguration {
#[prost(enumeration = "ClientConfigSetting", tag = "1")]
pub hardware_encoder: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisabledCodecs {
#[prost(message, repeated, tag = "1")]
pub codecs: ::prost::alloc::vec::Vec<Codec>,
#[prost(message, repeated, tag = "2")]
pub publish: ::prost::alloc::vec::Vec<Codec>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RtpDrift {
#[prost(message, optional, tag = "1")]
pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(double, tag = "3")]
pub duration: f64,
#[prost(uint64, tag = "4")]
pub start_timestamp: u64,
#[prost(uint64, tag = "5")]
pub end_timestamp: u64,
#[prost(uint64, tag = "6")]
pub rtp_clock_ticks: u64,
#[prost(int64, tag = "7")]
pub drift_samples: i64,
#[prost(double, tag = "8")]
pub drift_ms: f64,
#[prost(double, tag = "9")]
pub clock_rate: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RtpStats {
#[prost(message, optional, tag = "1")]
pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(double, tag = "3")]
pub duration: f64,
#[prost(uint32, tag = "4")]
pub packets: u32,
#[prost(double, tag = "5")]
pub packet_rate: f64,
#[prost(uint64, tag = "6")]
pub bytes: u64,
#[prost(uint64, tag = "39")]
pub header_bytes: u64,
#[prost(double, tag = "7")]
pub bitrate: f64,
#[prost(uint32, tag = "8")]
pub packets_lost: u32,
#[prost(double, tag = "9")]
pub packet_loss_rate: f64,
#[prost(float, tag = "10")]
pub packet_loss_percentage: f32,
#[prost(uint32, tag = "11")]
pub packets_duplicate: u32,
#[prost(double, tag = "12")]
pub packet_duplicate_rate: f64,
#[prost(uint64, tag = "13")]
pub bytes_duplicate: u64,
#[prost(uint64, tag = "40")]
pub header_bytes_duplicate: u64,
#[prost(double, tag = "14")]
pub bitrate_duplicate: f64,
#[prost(uint32, tag = "15")]
pub packets_padding: u32,
#[prost(double, tag = "16")]
pub packet_padding_rate: f64,
#[prost(uint64, tag = "17")]
pub bytes_padding: u64,
#[prost(uint64, tag = "41")]
pub header_bytes_padding: u64,
#[prost(double, tag = "18")]
pub bitrate_padding: f64,
#[prost(uint32, tag = "19")]
pub packets_out_of_order: u32,
#[prost(uint32, tag = "20")]
pub frames: u32,
#[prost(double, tag = "21")]
pub frame_rate: f64,
#[prost(double, tag = "22")]
pub jitter_current: f64,
#[prost(double, tag = "23")]
pub jitter_max: f64,
#[prost(map = "int32, uint32", tag = "24")]
pub gap_histogram: ::std::collections::HashMap<i32, u32>,
#[prost(uint32, tag = "25")]
pub nacks: u32,
#[prost(uint32, tag = "37")]
pub nack_acks: u32,
#[prost(uint32, tag = "26")]
pub nack_misses: u32,
#[prost(uint32, tag = "38")]
pub nack_repeated: u32,
#[prost(uint32, tag = "27")]
pub plis: u32,
#[prost(message, optional, tag = "28")]
pub last_pli: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(uint32, tag = "29")]
pub firs: u32,
#[prost(message, optional, tag = "30")]
pub last_fir: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(uint32, tag = "31")]
pub rtt_current: u32,
#[prost(uint32, tag = "32")]
pub rtt_max: u32,
#[prost(uint32, tag = "33")]
pub key_frames: u32,
#[prost(message, optional, tag = "34")]
pub last_key_frame: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(uint32, tag = "35")]
pub layer_lock_plis: u32,
#[prost(message, optional, tag = "36")]
pub last_layer_lock_pli: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "44")]
pub packet_drift: ::core::option::Option<RtpDrift>,
#[prost(message, optional, tag = "45")]
pub ntp_report_drift: ::core::option::Option<RtpDrift>,
#[prost(message, optional, tag = "46")]
pub rebased_report_drift: ::core::option::Option<RtpDrift>,
#[prost(message, optional, tag = "47")]
pub received_report_drift: ::core::option::Option<RtpDrift>,
#[prost(uint32, tag = "48")]
pub fec_packets: u32,
#[prost(uint64, tag = "49")]
pub fec_bytes: u64,
#[prost(uint32, tag = "50")]
pub fec_packets_discarded: u32,
#[prost(uint32, tag = "51")]
pub fec_packets_recovered: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RtcpSenderReportState {
#[prost(uint32, tag = "1")]
pub rtp_timestamp: u32,
#[prost(uint64, tag = "2")]
pub rtp_timestamp_ext: u64,
#[prost(uint64, tag = "3")]
pub ntp_timestamp: u64,
#[prost(int64, tag = "4")]
pub at: i64,
#[prost(int64, tag = "5")]
pub at_adjusted: i64,
#[prost(uint32, tag = "6")]
pub packets: u32,
#[prost(uint64, tag = "7")]
pub octets: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RtpForwarderState {
#[prost(bool, tag = "1")]
pub started: bool,
#[prost(int32, tag = "2")]
pub reference_layer_spatial: i32,
#[prost(int64, tag = "3")]
pub pre_start_time: i64,
#[prost(uint64, tag = "4")]
pub ext_first_timestamp: u64,
#[prost(uint64, tag = "5")]
pub dummy_start_timestamp_offset: u64,
#[prost(message, optional, tag = "6")]
pub rtp_munger: ::core::option::Option<RtpMungerState>,
#[prost(message, repeated, tag = "8")]
pub sender_report_state: ::prost::alloc::vec::Vec<RtcpSenderReportState>,
#[prost(message, optional, tag = "9")]
pub dependency_descriptor_forwarder: ::core::option::Option<DependencyDescriptorForwarderState>,
#[prost(oneof = "rtp_forwarder_state::CodecMunger", tags = "7")]
pub codec_munger: ::core::option::Option<rtp_forwarder_state::CodecMunger>,
}
pub mod rtp_forwarder_state {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum CodecMunger {
#[prost(message, tag = "7")]
Vp8Munger(super::Vp8MungerState),
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DependencyDescriptorForwarderState {
#[prost(uint64, tag = "1")]
pub ext_last_frame_number: u64,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RtpMungerState {
#[prost(uint64, tag = "1")]
pub ext_last_sequence_number: u64,
#[prost(uint64, tag = "2")]
pub ext_second_last_sequence_number: u64,
#[prost(uint64, tag = "3")]
pub ext_last_timestamp: u64,
#[prost(uint64, tag = "4")]
pub ext_second_last_timestamp: u64,
#[prost(bool, tag = "5")]
pub last_marker: bool,
#[prost(bool, tag = "6")]
pub second_last_marker: bool,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Vp8MungerState {
#[prost(int32, tag = "1")]
pub ext_last_picture_id: i32,
#[prost(bool, tag = "2")]
pub picture_id_used: bool,
#[prost(uint32, tag = "3")]
pub last_tl0_pic_idx: u32,
#[prost(bool, tag = "4")]
pub tl0_pic_idx_used: bool,
#[prost(bool, tag = "5")]
pub tid_used: bool,
#[prost(uint32, tag = "6")]
pub last_key_idx: u32,
#[prost(bool, tag = "7")]
pub key_idx_used: bool,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TimedVersion {
#[prost(int64, tag = "1")]
pub unix_micro: i64,
#[prost(int32, tag = "2")]
pub ticks: i32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataStream {
}
pub mod data_stream {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TextHeader {
#[prost(enumeration = "OperationType", tag = "1")]
pub operation_type: i32,
#[prost(int32, tag = "2")]
pub version: i32,
#[prost(string, tag = "3")]
pub reply_to_stream_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "4")]
pub attached_stream_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "5")]
pub generated: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ByteHeader {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Header {
#[prost(string, tag = "1")]
pub stream_id: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub timestamp: i64,
#[prost(string, tag = "3")]
pub topic: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub mime_type: ::prost::alloc::string::String,
#[prost(uint64, optional, tag = "5")]
pub total_length: ::core::option::Option<u64>,
#[deprecated]
#[prost(enumeration = "super::encryption::Type", tag = "7")]
pub encryption_type: i32,
#[prost(map = "string, string", tag = "8")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(bytes = "vec", optional, tag = "11")]
pub inline_content: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
#[prost(enumeration = "CompressionType", tag = "12")]
pub compression: i32,
#[prost(oneof = "header::ContentHeader", tags = "9, 10")]
pub content_header: ::core::option::Option<header::ContentHeader>,
}
pub mod header {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum ContentHeader {
#[prost(message, tag = "9")]
TextHeader(super::TextHeader),
#[prost(message, tag = "10")]
ByteHeader(super::ByteHeader),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Chunk {
#[prost(string, tag = "1")]
pub stream_id: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub chunk_index: u64,
#[prost(bytes = "vec", tag = "3")]
pub content: ::prost::alloc::vec::Vec<u8>,
#[prost(int32, tag = "4")]
pub version: i32,
#[deprecated]
#[prost(bytes = "vec", optional, tag = "5")]
pub iv: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Trailer {
#[prost(string, tag = "1")]
pub stream_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub reason: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "3")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OperationType {
Create = 0,
Update = 1,
Delete = 2,
Reaction = 3,
}
impl OperationType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Create => "CREATE",
Self::Update => "UPDATE",
Self::Delete => "DELETE",
Self::Reaction => "REACTION",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CREATE" => Some(Self::Create),
"UPDATE" => Some(Self::Update),
"DELETE" => Some(Self::Delete),
"REACTION" => Some(Self::Reaction),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CompressionType {
None = 0,
DeflateRaw = 1,
}
impl CompressionType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "NONE",
Self::DeflateRaw => "DEFLATE_RAW",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NONE" => Some(Self::None),
"DEFLATE_RAW" => Some(Self::DeflateRaw),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FilterParams {
#[prost(string, repeated, tag = "1")]
pub include_events: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub exclude_events: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WebhookConfig {
#[prost(string, tag = "1")]
pub url: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub signing_key: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub filter_params: ::core::option::Option<FilterParams>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SubscribedAudioCodec {
#[prost(string, tag = "1")]
pub codec: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub enabled: bool,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AudioCodec {
DefaultAc = 0,
Opus = 1,
Aac = 2,
AcMp3 = 3,
}
impl AudioCodec {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::DefaultAc => "DEFAULT_AC",
Self::Opus => "OPUS",
Self::Aac => "AAC",
Self::AcMp3 => "AC_MP3",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DEFAULT_AC" => Some(Self::DefaultAc),
"OPUS" => Some(Self::Opus),
"AAC" => Some(Self::Aac),
"AC_MP3" => Some(Self::AcMp3),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VideoCodec {
DefaultVc = 0,
H264Baseline = 1,
H264Main = 2,
H264High = 3,
Vp8 = 4,
}
impl VideoCodec {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::DefaultVc => "DEFAULT_VC",
Self::H264Baseline => "H264_BASELINE",
Self::H264Main => "H264_MAIN",
Self::H264High => "H264_HIGH",
Self::Vp8 => "VP8",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DEFAULT_VC" => Some(Self::DefaultVc),
"H264_BASELINE" => Some(Self::H264Baseline),
"H264_MAIN" => Some(Self::H264Main),
"H264_HIGH" => Some(Self::H264High),
"VP8" => Some(Self::Vp8),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ImageCodec {
IcDefault = 0,
IcJpeg = 1,
}
impl ImageCodec {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::IcDefault => "IC_DEFAULT",
Self::IcJpeg => "IC_JPEG",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"IC_DEFAULT" => Some(Self::IcDefault),
"IC_JPEG" => Some(Self::IcJpeg),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BackupCodecPolicy {
PreferRegression = 0,
Simulcast = 1,
Regression = 2,
}
impl BackupCodecPolicy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::PreferRegression => "PREFER_REGRESSION",
Self::Simulcast => "SIMULCAST",
Self::Regression => "REGRESSION",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PREFER_REGRESSION" => Some(Self::PreferRegression),
"SIMULCAST" => Some(Self::Simulcast),
"REGRESSION" => Some(Self::Regression),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrackType {
Audio = 0,
Video = 1,
Data = 2,
}
impl TrackType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Audio => "AUDIO",
Self::Video => "VIDEO",
Self::Data => "DATA",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"AUDIO" => Some(Self::Audio),
"VIDEO" => Some(Self::Video),
"DATA" => Some(Self::Data),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrackSource {
Unknown = 0,
Camera = 1,
Microphone = 2,
ScreenShare = 3,
ScreenShareAudio = 4,
}
impl TrackSource {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "UNKNOWN",
Self::Camera => "CAMERA",
Self::Microphone => "MICROPHONE",
Self::ScreenShare => "SCREEN_SHARE",
Self::ScreenShareAudio => "SCREEN_SHARE_AUDIO",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNKNOWN" => Some(Self::Unknown),
"CAMERA" => Some(Self::Camera),
"MICROPHONE" => Some(Self::Microphone),
"SCREEN_SHARE" => Some(Self::ScreenShare),
"SCREEN_SHARE_AUDIO" => Some(Self::ScreenShareAudio),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DataTrackExtensionId {
DteiInvalid = 0,
DteiParticipantSidLow = 1,
DteiParticipantSid = 255,
}
impl DataTrackExtensionId {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::DteiInvalid => "DTEI_INVALID",
Self::DteiParticipantSidLow => "DTEI_PARTICIPANT_SID_LOW",
Self::DteiParticipantSid => "DTEI_PARTICIPANT_SID",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DTEI_INVALID" => Some(Self::DteiInvalid),
"DTEI_PARTICIPANT_SID_LOW" => Some(Self::DteiParticipantSidLow),
"DTEI_PARTICIPANT_SID" => Some(Self::DteiParticipantSid),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VideoQuality {
Low = 0,
Medium = 1,
High = 2,
Off = 3,
}
impl VideoQuality {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Low => "LOW",
Self::Medium => "MEDIUM",
Self::High => "HIGH",
Self::Off => "OFF",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LOW" => Some(Self::Low),
"MEDIUM" => Some(Self::Medium),
"HIGH" => Some(Self::High),
"OFF" => Some(Self::Off),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConnectionQuality {
Poor = 0,
Good = 1,
Excellent = 2,
Lost = 3,
}
impl ConnectionQuality {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Poor => "POOR",
Self::Good => "GOOD",
Self::Excellent => "EXCELLENT",
Self::Lost => "LOST",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"POOR" => Some(Self::Poor),
"GOOD" => Some(Self::Good),
"EXCELLENT" => Some(Self::Excellent),
"LOST" => Some(Self::Lost),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ClientConfigSetting {
Unset = 0,
Disabled = 1,
Enabled = 2,
}
impl ClientConfigSetting {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unset => "UNSET",
Self::Disabled => "DISABLED",
Self::Enabled => "ENABLED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNSET" => Some(Self::Unset),
"DISABLED" => Some(Self::Disabled),
"ENABLED" => Some(Self::Enabled),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DisconnectReason {
UnknownReason = 0,
ClientInitiated = 1,
DuplicateIdentity = 2,
ServerShutdown = 3,
ParticipantRemoved = 4,
RoomDeleted = 5,
StateMismatch = 6,
JoinFailure = 7,
Migration = 8,
SignalClose = 9,
RoomClosed = 10,
UserUnavailable = 11,
UserRejected = 12,
SipTrunkFailure = 13,
ConnectionTimeout = 14,
MediaFailure = 15,
AgentError = 16,
}
impl DisconnectReason {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::UnknownReason => "UNKNOWN_REASON",
Self::ClientInitiated => "CLIENT_INITIATED",
Self::DuplicateIdentity => "DUPLICATE_IDENTITY",
Self::ServerShutdown => "SERVER_SHUTDOWN",
Self::ParticipantRemoved => "PARTICIPANT_REMOVED",
Self::RoomDeleted => "ROOM_DELETED",
Self::StateMismatch => "STATE_MISMATCH",
Self::JoinFailure => "JOIN_FAILURE",
Self::Migration => "MIGRATION",
Self::SignalClose => "SIGNAL_CLOSE",
Self::RoomClosed => "ROOM_CLOSED",
Self::UserUnavailable => "USER_UNAVAILABLE",
Self::UserRejected => "USER_REJECTED",
Self::SipTrunkFailure => "SIP_TRUNK_FAILURE",
Self::ConnectionTimeout => "CONNECTION_TIMEOUT",
Self::MediaFailure => "MEDIA_FAILURE",
Self::AgentError => "AGENT_ERROR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNKNOWN_REASON" => Some(Self::UnknownReason),
"CLIENT_INITIATED" => Some(Self::ClientInitiated),
"DUPLICATE_IDENTITY" => Some(Self::DuplicateIdentity),
"SERVER_SHUTDOWN" => Some(Self::ServerShutdown),
"PARTICIPANT_REMOVED" => Some(Self::ParticipantRemoved),
"ROOM_DELETED" => Some(Self::RoomDeleted),
"STATE_MISMATCH" => Some(Self::StateMismatch),
"JOIN_FAILURE" => Some(Self::JoinFailure),
"MIGRATION" => Some(Self::Migration),
"SIGNAL_CLOSE" => Some(Self::SignalClose),
"ROOM_CLOSED" => Some(Self::RoomClosed),
"USER_UNAVAILABLE" => Some(Self::UserUnavailable),
"USER_REJECTED" => Some(Self::UserRejected),
"SIP_TRUNK_FAILURE" => Some(Self::SipTrunkFailure),
"CONNECTION_TIMEOUT" => Some(Self::ConnectionTimeout),
"MEDIA_FAILURE" => Some(Self::MediaFailure),
"AGENT_ERROR" => Some(Self::AgentError),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RoomEndReason {
RoomEndUnknown = 0,
RoomEndApiDelete = 1,
RoomEndIdleTimeout = 2,
RoomEndServerShutdown = 3,
RoomEndSuperseded = 4,
RoomEndOpenFailed = 5,
}
impl RoomEndReason {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::RoomEndUnknown => "ROOM_END_UNKNOWN",
Self::RoomEndApiDelete => "ROOM_END_API_DELETE",
Self::RoomEndIdleTimeout => "ROOM_END_IDLE_TIMEOUT",
Self::RoomEndServerShutdown => "ROOM_END_SERVER_SHUTDOWN",
Self::RoomEndSuperseded => "ROOM_END_SUPERSEDED",
Self::RoomEndOpenFailed => "ROOM_END_OPEN_FAILED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ROOM_END_UNKNOWN" => Some(Self::RoomEndUnknown),
"ROOM_END_API_DELETE" => Some(Self::RoomEndApiDelete),
"ROOM_END_IDLE_TIMEOUT" => Some(Self::RoomEndIdleTimeout),
"ROOM_END_SERVER_SHUTDOWN" => Some(Self::RoomEndServerShutdown),
"ROOM_END_SUPERSEDED" => Some(Self::RoomEndSuperseded),
"ROOM_END_OPEN_FAILED" => Some(Self::RoomEndOpenFailed),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ReconnectReason {
RrUnknown = 0,
RrSignalDisconnected = 1,
RrPublisherFailed = 2,
RrSubscriberFailed = 3,
RrSwitchCandidate = 4,
}
impl ReconnectReason {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::RrUnknown => "RR_UNKNOWN",
Self::RrSignalDisconnected => "RR_SIGNAL_DISCONNECTED",
Self::RrPublisherFailed => "RR_PUBLISHER_FAILED",
Self::RrSubscriberFailed => "RR_SUBSCRIBER_FAILED",
Self::RrSwitchCandidate => "RR_SWITCH_CANDIDATE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"RR_UNKNOWN" => Some(Self::RrUnknown),
"RR_SIGNAL_DISCONNECTED" => Some(Self::RrSignalDisconnected),
"RR_PUBLISHER_FAILED" => Some(Self::RrPublisherFailed),
"RR_SUBSCRIBER_FAILED" => Some(Self::RrSubscriberFailed),
"RR_SWITCH_CANDIDATE" => Some(Self::RrSwitchCandidate),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SubscriptionError {
SeUnknown = 0,
SeCodecUnsupported = 1,
SeTrackNotfound = 2,
}
impl SubscriptionError {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::SeUnknown => "SE_UNKNOWN",
Self::SeCodecUnsupported => "SE_CODEC_UNSUPPORTED",
Self::SeTrackNotfound => "SE_TRACK_NOTFOUND",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SE_UNKNOWN" => Some(Self::SeUnknown),
"SE_CODEC_UNSUPPORTED" => Some(Self::SeCodecUnsupported),
"SE_TRACK_NOTFOUND" => Some(Self::SeTrackNotfound),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AudioTrackFeature {
TfStereo = 0,
TfNoDtx = 1,
TfAutoGainControl = 2,
TfEchoCancellation = 3,
TfNoiseSuppression = 4,
TfEnhancedNoiseCancellation = 5,
TfPreconnectBuffer = 6,
}
impl AudioTrackFeature {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::TfStereo => "TF_STEREO",
Self::TfNoDtx => "TF_NO_DTX",
Self::TfAutoGainControl => "TF_AUTO_GAIN_CONTROL",
Self::TfEchoCancellation => "TF_ECHO_CANCELLATION",
Self::TfNoiseSuppression => "TF_NOISE_SUPPRESSION",
Self::TfEnhancedNoiseCancellation => "TF_ENHANCED_NOISE_CANCELLATION",
Self::TfPreconnectBuffer => "TF_PRECONNECT_BUFFER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TF_STEREO" => Some(Self::TfStereo),
"TF_NO_DTX" => Some(Self::TfNoDtx),
"TF_AUTO_GAIN_CONTROL" => Some(Self::TfAutoGainControl),
"TF_ECHO_CANCELLATION" => Some(Self::TfEchoCancellation),
"TF_NOISE_SUPPRESSION" => Some(Self::TfNoiseSuppression),
"TF_ENHANCED_NOISE_CANCELLATION" => Some(Self::TfEnhancedNoiseCancellation),
"TF_PRECONNECT_BUFFER" => Some(Self::TfPreconnectBuffer),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PacketTrailerFeature {
PtfUserTimestamp = 0,
PtfFrameId = 1,
PtfUserData = 2,
}
impl PacketTrailerFeature {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::PtfUserTimestamp => "PTF_USER_TIMESTAMP",
Self::PtfFrameId => "PTF_FRAME_ID",
Self::PtfUserData => "PTF_USER_DATA",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PTF_USER_TIMESTAMP" => Some(Self::PtfUserTimestamp),
"PTF_FRAME_ID" => Some(Self::PtfFrameId),
"PTF_USER_DATA" => Some(Self::PtfUserData),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartEgressRequest {
#[prost(string, tag = "1")]
pub room_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "7")]
pub outputs: ::prost::alloc::vec::Vec<Output>,
#[prost(message, optional, tag = "8")]
pub storage: ::core::option::Option<StorageConfig>,
#[prost(message, repeated, tag = "9")]
pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
#[prost(oneof = "start_egress_request::Source", tags = "2, 3, 4")]
pub source: ::core::option::Option<start_egress_request::Source>,
#[prost(oneof = "start_egress_request::Encoding", tags = "5, 6")]
pub encoding: ::core::option::Option<start_egress_request::Encoding>,
}
pub mod start_egress_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Source {
#[prost(message, tag = "2")]
Template(super::TemplateSource),
#[prost(message, tag = "3")]
Web(super::WebSource),
#[prost(message, tag = "4")]
Media(super::MediaSource),
}
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Encoding {
#[prost(enumeration = "super::EncodingOptionsPreset", tag = "5")]
Preset(i32),
#[prost(message, tag = "6")]
Advanced(super::EncodingOptions),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TemplateSource {
#[prost(string, tag = "1")]
pub layout: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub audio_only: bool,
#[prost(bool, tag = "3")]
pub video_only: bool,
#[prost(string, tag = "4")]
pub custom_base_url: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WebSource {
#[prost(string, tag = "1")]
pub url: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub audio_only: bool,
#[prost(bool, tag = "3")]
pub video_only: bool,
#[prost(bool, tag = "4")]
pub await_start_signal: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MediaSource {
#[prost(message, optional, tag = "3")]
pub audio: ::core::option::Option<AudioConfig>,
#[prost(oneof = "media_source::Video", tags = "1, 2")]
pub video: ::core::option::Option<media_source::Video>,
}
pub mod media_source {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Video {
#[prost(string, tag = "1")]
VideoTrackId(::prost::alloc::string::String),
#[prost(message, tag = "2")]
ParticipantVideo(super::ParticipantVideo),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ParticipantVideo {
#[prost(string, tag = "1")]
pub identity: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub prefer_screen_share: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AudioConfig {
#[prost(bool, tag = "1")]
pub capture_all: bool,
#[prost(message, repeated, tag = "2")]
pub routes: ::prost::alloc::vec::Vec<AudioRoute>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AudioRoute {
#[prost(enumeration = "AudioChannel", tag = "4")]
pub channel: i32,
#[prost(oneof = "audio_route::Match", tags = "1, 2, 3")]
pub r#match: ::core::option::Option<audio_route::Match>,
}
pub mod audio_route {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Match {
#[prost(string, tag = "1")]
TrackId(::prost::alloc::string::String),
#[prost(string, tag = "2")]
ParticipantIdentity(::prost::alloc::string::String),
#[prost(enumeration = "super::participant_info::Kind", tag = "3")]
ParticipantKind(i32),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DataConfig {
#[prost(bool, tag = "1")]
pub capture_all: bool,
#[prost(message, repeated, tag = "2")]
pub selectors: ::prost::alloc::vec::Vec<DataSelector>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataSelector {
#[prost(oneof = "data_selector::Match", tags = "1, 2")]
pub r#match: ::core::option::Option<data_selector::Match>,
}
pub mod data_selector {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Match {
#[prost(string, tag = "1")]
TrackId(::prost::alloc::string::String),
#[prost(string, tag = "2")]
ParticipantIdentity(::prost::alloc::string::String),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EncodingOptions {
#[prost(int32, tag = "1")]
pub width: i32,
#[prost(int32, tag = "2")]
pub height: i32,
#[prost(int32, tag = "3")]
pub depth: i32,
#[prost(int32, tag = "4")]
pub framerate: i32,
#[prost(enumeration = "AudioCodec", tag = "5")]
pub audio_codec: i32,
#[prost(int32, tag = "6")]
pub audio_bitrate: i32,
#[prost(int32, tag = "7")]
pub audio_frequency: i32,
#[prost(enumeration = "VideoCodec", tag = "8")]
pub video_codec: i32,
#[prost(int32, tag = "9")]
pub video_bitrate: i32,
#[prost(double, tag = "10")]
pub key_frame_interval: f64,
#[deprecated]
#[prost(int32, tag = "11")]
pub audio_quality: i32,
#[deprecated]
#[prost(int32, tag = "12")]
pub video_quality: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Output {
#[prost(message, optional, tag = "6")]
pub storage: ::core::option::Option<StorageConfig>,
#[prost(oneof = "output::Config", tags = "1, 2, 3, 4")]
pub config: ::core::option::Option<output::Config>,
}
pub mod output {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Config {
#[prost(message, tag = "1")]
File(super::FileOutput),
#[prost(message, tag = "2")]
Stream(super::StreamOutput),
#[prost(message, tag = "3")]
Segments(super::SegmentedFileOutput),
#[prost(message, tag = "4")]
Images(super::ImageOutput),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FileOutput {
#[prost(enumeration = "EncodedFileType", tag = "1")]
pub file_type: i32,
#[prost(string, tag = "2")]
pub filepath: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub disable_manifest: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StreamOutput {
#[prost(enumeration = "StreamProtocol", tag = "1")]
pub protocol: i32,
#[prost(string, repeated, tag = "2")]
pub urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SegmentedFileOutput {
#[prost(enumeration = "SegmentedFileProtocol", tag = "1")]
pub protocol: i32,
#[prost(string, tag = "2")]
pub filename_prefix: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub playlist_name: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub live_playlist_name: ::prost::alloc::string::String,
#[prost(uint32, tag = "4")]
pub segment_duration: u32,
#[prost(enumeration = "SegmentedFileSuffix", tag = "10")]
pub filename_suffix: i32,
#[prost(bool, tag = "8")]
pub disable_manifest: bool,
#[prost(oneof = "segmented_file_output::Output", tags = "5, 6, 7, 9")]
pub output: ::core::option::Option<segmented_file_output::Output>,
}
pub mod segmented_file_output {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Output {
#[prost(message, tag = "5")]
S3(super::S3Upload),
#[prost(message, tag = "6")]
Gcp(super::GcpUpload),
#[prost(message, tag = "7")]
Azure(super::AzureBlobUpload),
#[prost(message, tag = "9")]
AliOss(super::AliOssUpload),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ImageOutput {
#[prost(uint32, tag = "1")]
pub capture_interval: u32,
#[prost(int32, tag = "2")]
pub width: i32,
#[prost(int32, tag = "3")]
pub height: i32,
#[prost(string, tag = "4")]
pub filename_prefix: ::prost::alloc::string::String,
#[prost(enumeration = "ImageFileSuffix", tag = "5")]
pub filename_suffix: i32,
#[prost(enumeration = "ImageCodec", tag = "6")]
pub image_codec: i32,
#[prost(bool, tag = "7")]
pub disable_manifest: bool,
#[prost(oneof = "image_output::Output", tags = "8, 9, 10, 11")]
pub output: ::core::option::Option<image_output::Output>,
}
pub mod image_output {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Output {
#[prost(message, tag = "8")]
S3(super::S3Upload),
#[prost(message, tag = "9")]
Gcp(super::GcpUpload),
#[prost(message, tag = "10")]
Azure(super::AzureBlobUpload),
#[prost(message, tag = "11")]
AliOss(super::AliOssUpload),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StorageConfig {
#[prost(oneof = "storage_config::Provider", tags = "1, 2, 3, 4")]
pub provider: ::core::option::Option<storage_config::Provider>,
}
pub mod storage_config {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Provider {
#[prost(message, tag = "1")]
S3(super::S3Upload),
#[prost(message, tag = "2")]
Gcp(super::GcpUpload),
#[prost(message, tag = "3")]
Azure(super::AzureBlobUpload),
#[prost(message, tag = "4")]
AliOss(super::AliOssUpload),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct S3Upload {
#[prost(string, tag = "1")]
pub access_key: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub secret: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub session_token: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub assume_role_arn: ::prost::alloc::string::String,
#[prost(string, tag = "13")]
pub assume_role_external_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub region: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub endpoint: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub bucket: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub force_path_style: bool,
#[prost(map = "string, string", tag = "7")]
pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "8")]
pub tagging: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub content_disposition: ::prost::alloc::string::String,
#[prost(message, optional, tag = "10")]
pub proxy: ::core::option::Option<ProxyConfig>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GcpUpload {
#[prost(string, tag = "1")]
pub credentials: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub bucket: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub proxy: ::core::option::Option<ProxyConfig>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AzureBlobUpload {
#[prost(string, tag = "1")]
pub account_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub account_key: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub container_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AliOssUpload {
#[prost(string, tag = "1")]
pub access_key: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub secret: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub region: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub endpoint: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub bucket: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ProxyConfig {
#[prost(string, tag = "1")]
pub url: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub username: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub password: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListEgressRequest {
#[prost(string, tag = "1")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub egress_id: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub active: bool,
#[prost(message, optional, tag = "4")]
pub page_token: ::core::option::Option<TokenPagination>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListEgressResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<EgressInfo>,
#[prost(message, optional, tag = "2")]
pub next_page_token: ::core::option::Option<TokenPagination>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StopEgressRequest {
#[prost(string, tag = "1")]
pub egress_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EgressInfo {
#[prost(string, tag = "1")]
pub egress_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub room_id: ::prost::alloc::string::String,
#[prost(string, tag = "13")]
pub room_name: ::prost::alloc::string::String,
#[prost(enumeration = "EgressSourceType", tag = "26")]
pub source_type: i32,
#[prost(enumeration = "EgressStatus", tag = "3")]
pub status: i32,
#[prost(int64, tag = "10")]
pub started_at: i64,
#[prost(int64, tag = "11")]
pub ended_at: i64,
#[prost(int64, tag = "18")]
pub updated_at: i64,
#[prost(message, repeated, tag = "15")]
pub stream_results: ::prost::alloc::vec::Vec<StreamInfo>,
#[prost(message, repeated, tag = "16")]
pub file_results: ::prost::alloc::vec::Vec<FileInfo>,
#[prost(message, repeated, tag = "17")]
pub segment_results: ::prost::alloc::vec::Vec<SegmentsInfo>,
#[prost(message, repeated, tag = "20")]
pub image_results: ::prost::alloc::vec::Vec<ImagesInfo>,
#[prost(string, tag = "9")]
pub error: ::prost::alloc::string::String,
#[prost(int32, tag = "22")]
pub error_code: i32,
#[prost(string, tag = "21")]
pub details: ::prost::alloc::string::String,
#[prost(string, tag = "23")]
pub manifest_location: ::prost::alloc::string::String,
#[prost(bool, tag = "25")]
pub backup_storage_used: bool,
#[prost(int32, tag = "27")]
pub retry_count: i32,
#[prost(oneof = "egress_info::Request", tags = "29, 30, 4, 14, 19, 5, 6")]
pub request: ::core::option::Option<egress_info::Request>,
#[prost(oneof = "egress_info::Result", tags = "7, 8, 12")]
pub result: ::core::option::Option<egress_info::Result>,
}
pub mod egress_info {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Request {
#[prost(message, tag = "29")]
Egress(super::StartEgressRequest),
#[prost(message, tag = "30")]
Replay(super::ExportReplayRequest),
#[prost(message, tag = "4")]
RoomComposite(super::RoomCompositeEgressRequest),
#[prost(message, tag = "14")]
Web(super::WebEgressRequest),
#[prost(message, tag = "19")]
Participant(super::ParticipantEgressRequest),
#[prost(message, tag = "5")]
TrackComposite(super::TrackCompositeEgressRequest),
#[prost(message, tag = "6")]
Track(super::TrackEgressRequest),
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Result {
#[deprecated]
#[prost(message, tag = "7")]
Stream(super::StreamInfoList),
#[deprecated]
#[prost(message, tag = "8")]
File(super::FileInfo),
#[deprecated]
#[prost(message, tag = "12")]
Segments(super::SegmentsInfo),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StreamInfo {
#[prost(string, tag = "1")]
pub url: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub started_at: i64,
#[prost(int64, tag = "3")]
pub ended_at: i64,
#[prost(int64, tag = "4")]
pub duration: i64,
#[prost(enumeration = "stream_info::Status", tag = "5")]
pub status: i32,
#[prost(string, tag = "6")]
pub error: ::prost::alloc::string::String,
#[prost(int64, tag = "7")]
pub last_retry_at: i64,
#[prost(uint32, tag = "8")]
pub retries: u32,
}
pub mod stream_info {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Status {
Active = 0,
Finished = 1,
Failed = 2,
}
impl Status {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Active => "ACTIVE",
Self::Finished => "FINISHED",
Self::Failed => "FAILED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ACTIVE" => Some(Self::Active),
"FINISHED" => Some(Self::Finished),
"FAILED" => Some(Self::Failed),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FileInfo {
#[prost(string, tag = "1")]
pub filename: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub started_at: i64,
#[prost(int64, tag = "3")]
pub ended_at: i64,
#[prost(int64, tag = "6")]
pub duration: i64,
#[prost(int64, tag = "4")]
pub size: i64,
#[prost(string, tag = "5")]
pub location: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SegmentsInfo {
#[prost(string, tag = "1")]
pub playlist_name: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub live_playlist_name: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub duration: i64,
#[prost(int64, tag = "3")]
pub size: i64,
#[prost(string, tag = "4")]
pub playlist_location: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub live_playlist_location: ::prost::alloc::string::String,
#[prost(int64, tag = "5")]
pub segment_count: i64,
#[prost(int64, tag = "6")]
pub started_at: i64,
#[prost(int64, tag = "7")]
pub ended_at: i64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ImagesInfo {
#[prost(string, tag = "4")]
pub filename_prefix: ::prost::alloc::string::String,
#[prost(int64, tag = "1")]
pub image_count: i64,
#[prost(int64, tag = "2")]
pub started_at: i64,
#[prost(int64, tag = "3")]
pub ended_at: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AutoParticipantEgress {
#[prost(message, repeated, tag = "3")]
pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
#[prost(message, repeated, tag = "4")]
pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
#[prost(oneof = "auto_participant_egress::Options", tags = "1, 2")]
pub options: ::core::option::Option<auto_participant_egress::Options>,
}
pub mod auto_participant_egress {
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Options {
#[prost(enumeration = "super::EncodingOptionsPreset", tag = "1")]
Preset(i32),
#[prost(message, tag = "2")]
Advanced(super::EncodingOptions),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AutoTrackEgress {
#[prost(string, tag = "1")]
pub filepath: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub disable_manifest: bool,
#[prost(oneof = "auto_track_egress::Output", tags = "2, 3, 4, 6")]
pub output: ::core::option::Option<auto_track_egress::Output>,
}
pub mod auto_track_egress {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Output {
#[prost(message, tag = "2")]
S3(super::S3Upload),
#[prost(message, tag = "3")]
Gcp(super::GcpUpload),
#[prost(message, tag = "4")]
Azure(super::AzureBlobUpload),
#[prost(message, tag = "6")]
AliOss(super::AliOssUpload),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExportReplayRequest {
#[prost(string, tag = "1")]
pub replay_id: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub start_offset_ms: i64,
#[prost(int64, tag = "3")]
pub end_offset_ms: i64,
#[prost(message, repeated, tag = "9")]
pub outputs: ::prost::alloc::vec::Vec<Output>,
#[prost(message, optional, tag = "10")]
pub storage: ::core::option::Option<StorageConfig>,
#[prost(message, repeated, tag = "11")]
pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
#[prost(oneof = "export_replay_request::Source", tags = "4, 5, 6")]
pub source: ::core::option::Option<export_replay_request::Source>,
#[prost(oneof = "export_replay_request::Encoding", tags = "7, 8")]
pub encoding: ::core::option::Option<export_replay_request::Encoding>,
}
pub mod export_replay_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Source {
#[prost(message, tag = "4")]
Template(super::TemplateSource),
#[prost(message, tag = "5")]
Web(super::WebSource),
#[prost(message, tag = "6")]
Media(super::MediaSource),
}
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Encoding {
#[prost(enumeration = "super::EncodingOptionsPreset", tag = "7")]
Preset(i32),
#[prost(message, tag = "8")]
Advanced(super::EncodingOptions),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoomCompositeEgressRequest {
#[prost(string, tag = "1")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub layout: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub audio_only: bool,
#[prost(enumeration = "AudioMixing", tag = "15")]
pub audio_mixing: i32,
#[prost(bool, tag = "4")]
pub video_only: bool,
#[prost(string, tag = "5")]
pub custom_base_url: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "11")]
pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
#[prost(message, repeated, tag = "12")]
pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
#[prost(message, repeated, tag = "13")]
pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
#[prost(message, repeated, tag = "14")]
pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
#[prost(message, repeated, tag = "16")]
pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
#[prost(oneof = "room_composite_egress_request::Output", tags = "6, 7, 10")]
pub output: ::core::option::Option<room_composite_egress_request::Output>,
#[prost(oneof = "room_composite_egress_request::Options", tags = "8, 9")]
pub options: ::core::option::Option<room_composite_egress_request::Options>,
}
pub mod room_composite_egress_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Output {
#[deprecated]
#[prost(message, tag = "6")]
File(super::EncodedFileOutput),
#[deprecated]
#[prost(message, tag = "7")]
Stream(super::StreamOutput),
#[deprecated]
#[prost(message, tag = "10")]
Segments(super::SegmentedFileOutput),
}
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Options {
#[prost(enumeration = "super::EncodingOptionsPreset", tag = "8")]
Preset(i32),
#[prost(message, tag = "9")]
Advanced(super::EncodingOptions),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WebEgressRequest {
#[prost(string, tag = "1")]
pub url: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub audio_only: bool,
#[prost(bool, tag = "3")]
pub video_only: bool,
#[prost(bool, tag = "12")]
pub await_start_signal: bool,
#[prost(message, repeated, tag = "9")]
pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
#[prost(message, repeated, tag = "10")]
pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
#[prost(message, repeated, tag = "11")]
pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
#[prost(message, repeated, tag = "13")]
pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
#[prost(message, repeated, tag = "14")]
pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
#[prost(oneof = "web_egress_request::Output", tags = "4, 5, 6")]
pub output: ::core::option::Option<web_egress_request::Output>,
#[prost(oneof = "web_egress_request::Options", tags = "7, 8")]
pub options: ::core::option::Option<web_egress_request::Options>,
}
pub mod web_egress_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Output {
#[deprecated]
#[prost(message, tag = "4")]
File(super::EncodedFileOutput),
#[deprecated]
#[prost(message, tag = "5")]
Stream(super::StreamOutput),
#[deprecated]
#[prost(message, tag = "6")]
Segments(super::SegmentedFileOutput),
}
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Options {
#[prost(enumeration = "super::EncodingOptionsPreset", tag = "7")]
Preset(i32),
#[prost(message, tag = "8")]
Advanced(super::EncodingOptions),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParticipantEgressRequest {
#[prost(string, tag = "1")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub identity: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub screen_share: bool,
#[prost(message, repeated, tag = "6")]
pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
#[prost(message, repeated, tag = "7")]
pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
#[prost(message, repeated, tag = "8")]
pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
#[prost(message, repeated, tag = "9")]
pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
#[prost(message, repeated, tag = "10")]
pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
#[prost(oneof = "participant_egress_request::Options", tags = "4, 5")]
pub options: ::core::option::Option<participant_egress_request::Options>,
}
pub mod participant_egress_request {
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Options {
#[prost(enumeration = "super::EncodingOptionsPreset", tag = "4")]
Preset(i32),
#[prost(message, tag = "5")]
Advanced(super::EncodingOptions),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrackCompositeEgressRequest {
#[prost(string, tag = "1")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub audio_track_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub video_track_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "11")]
pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
#[prost(message, repeated, tag = "12")]
pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
#[prost(message, repeated, tag = "13")]
pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
#[prost(message, repeated, tag = "14")]
pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
#[prost(message, repeated, tag = "15")]
pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
#[prost(oneof = "track_composite_egress_request::Output", tags = "4, 5, 8")]
pub output: ::core::option::Option<track_composite_egress_request::Output>,
#[prost(oneof = "track_composite_egress_request::Options", tags = "6, 7")]
pub options: ::core::option::Option<track_composite_egress_request::Options>,
}
pub mod track_composite_egress_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Output {
#[deprecated]
#[prost(message, tag = "4")]
File(super::EncodedFileOutput),
#[deprecated]
#[prost(message, tag = "5")]
Stream(super::StreamOutput),
#[deprecated]
#[prost(message, tag = "8")]
Segments(super::SegmentedFileOutput),
}
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Options {
#[prost(enumeration = "super::EncodingOptionsPreset", tag = "6")]
Preset(i32),
#[prost(message, tag = "7")]
Advanced(super::EncodingOptions),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrackEgressRequest {
#[prost(string, tag = "1")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub track_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "5")]
pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
#[prost(oneof = "track_egress_request::Output", tags = "3, 4")]
pub output: ::core::option::Option<track_egress_request::Output>,
}
pub mod track_egress_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Output {
#[prost(message, tag = "3")]
File(super::DirectFileOutput),
#[prost(string, tag = "4")]
WebsocketUrl(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DirectFileOutput {
#[prost(string, tag = "1")]
pub filepath: ::prost::alloc::string::String,
#[prost(bool, tag = "5")]
pub disable_manifest: bool,
#[prost(oneof = "direct_file_output::Output", tags = "2, 3, 4, 6")]
pub output: ::core::option::Option<direct_file_output::Output>,
}
pub mod direct_file_output {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Output {
#[prost(message, tag = "2")]
S3(super::S3Upload),
#[prost(message, tag = "3")]
Gcp(super::GcpUpload),
#[prost(message, tag = "4")]
Azure(super::AzureBlobUpload),
#[prost(message, tag = "6")]
AliOss(super::AliOssUpload),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EncodedFileOutput {
#[prost(enumeration = "EncodedFileType", tag = "1")]
pub file_type: i32,
#[prost(string, tag = "2")]
pub filepath: ::prost::alloc::string::String,
#[prost(bool, tag = "6")]
pub disable_manifest: bool,
#[prost(oneof = "encoded_file_output::Output", tags = "3, 4, 5, 7")]
pub output: ::core::option::Option<encoded_file_output::Output>,
}
pub mod encoded_file_output {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Output {
#[prost(message, tag = "3")]
S3(super::S3Upload),
#[prost(message, tag = "4")]
Gcp(super::GcpUpload),
#[prost(message, tag = "5")]
Azure(super::AzureBlobUpload),
#[prost(message, tag = "7")]
AliOss(super::AliOssUpload),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateLayoutRequest {
#[prost(string, tag = "1")]
pub egress_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub layout: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateStreamRequest {
#[prost(string, tag = "1")]
pub egress_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub add_output_urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "3")]
pub remove_output_urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamInfoList {
#[prost(message, repeated, tag = "1")]
pub info: ::prost::alloc::vec::Vec<StreamInfo>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AudioChannel {
Both = 0,
Left = 1,
Right = 2,
}
impl AudioChannel {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Both => "AUDIO_CHANNEL_BOTH",
Self::Left => "AUDIO_CHANNEL_LEFT",
Self::Right => "AUDIO_CHANNEL_RIGHT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"AUDIO_CHANNEL_BOTH" => Some(Self::Both),
"AUDIO_CHANNEL_LEFT" => Some(Self::Left),
"AUDIO_CHANNEL_RIGHT" => Some(Self::Right),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EncodingOptionsPreset {
H264720p30 = 0,
H264720p60 = 1,
H2641080p30 = 2,
H2641080p60 = 3,
PortraitH264720p30 = 4,
PortraitH264720p60 = 5,
PortraitH2641080p30 = 6,
PortraitH2641080p60 = 7,
Passthrough = 8,
}
impl EncodingOptionsPreset {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::H264720p30 => "H264_720P_30",
Self::H264720p60 => "H264_720P_60",
Self::H2641080p30 => "H264_1080P_30",
Self::H2641080p60 => "H264_1080P_60",
Self::PortraitH264720p30 => "PORTRAIT_H264_720P_30",
Self::PortraitH264720p60 => "PORTRAIT_H264_720P_60",
Self::PortraitH2641080p30 => "PORTRAIT_H264_1080P_30",
Self::PortraitH2641080p60 => "PORTRAIT_H264_1080P_60",
Self::Passthrough => "PASSTHROUGH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"H264_720P_30" => Some(Self::H264720p30),
"H264_720P_60" => Some(Self::H264720p60),
"H264_1080P_30" => Some(Self::H2641080p30),
"H264_1080P_60" => Some(Self::H2641080p60),
"PORTRAIT_H264_720P_30" => Some(Self::PortraitH264720p30),
"PORTRAIT_H264_720P_60" => Some(Self::PortraitH264720p60),
"PORTRAIT_H264_1080P_30" => Some(Self::PortraitH2641080p30),
"PORTRAIT_H264_1080P_60" => Some(Self::PortraitH2641080p60),
"PASSTHROUGH" => Some(Self::Passthrough),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EncodedFileType {
DefaultFiletype = 0,
Mp4 = 1,
Ogg = 2,
Mp3 = 3,
}
impl EncodedFileType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::DefaultFiletype => "DEFAULT_FILETYPE",
Self::Mp4 => "MP4",
Self::Ogg => "OGG",
Self::Mp3 => "MP3",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DEFAULT_FILETYPE" => Some(Self::DefaultFiletype),
"MP4" => Some(Self::Mp4),
"OGG" => Some(Self::Ogg),
"MP3" => Some(Self::Mp3),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum StreamProtocol {
DefaultProtocol = 0,
Rtmp = 1,
Srt = 2,
Websocket = 3,
}
impl StreamProtocol {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::DefaultProtocol => "DEFAULT_PROTOCOL",
Self::Rtmp => "RTMP",
Self::Srt => "SRT",
Self::Websocket => "WEBSOCKET",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DEFAULT_PROTOCOL" => Some(Self::DefaultProtocol),
"RTMP" => Some(Self::Rtmp),
"SRT" => Some(Self::Srt),
"WEBSOCKET" => Some(Self::Websocket),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SegmentedFileProtocol {
DefaultSegmentedFileProtocol = 0,
HlsProtocol = 1,
}
impl SegmentedFileProtocol {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::DefaultSegmentedFileProtocol => "DEFAULT_SEGMENTED_FILE_PROTOCOL",
Self::HlsProtocol => "HLS_PROTOCOL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DEFAULT_SEGMENTED_FILE_PROTOCOL" => Some(Self::DefaultSegmentedFileProtocol),
"HLS_PROTOCOL" => Some(Self::HlsProtocol),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SegmentedFileSuffix {
Index = 0,
Timestamp = 1,
}
impl SegmentedFileSuffix {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Index => "INDEX",
Self::Timestamp => "TIMESTAMP",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"INDEX" => Some(Self::Index),
"TIMESTAMP" => Some(Self::Timestamp),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ImageFileSuffix {
ImageSuffixIndex = 0,
ImageSuffixTimestamp = 1,
ImageSuffixNoneOverwrite = 2,
}
impl ImageFileSuffix {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::ImageSuffixIndex => "IMAGE_SUFFIX_INDEX",
Self::ImageSuffixTimestamp => "IMAGE_SUFFIX_TIMESTAMP",
Self::ImageSuffixNoneOverwrite => "IMAGE_SUFFIX_NONE_OVERWRITE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"IMAGE_SUFFIX_INDEX" => Some(Self::ImageSuffixIndex),
"IMAGE_SUFFIX_TIMESTAMP" => Some(Self::ImageSuffixTimestamp),
"IMAGE_SUFFIX_NONE_OVERWRITE" => Some(Self::ImageSuffixNoneOverwrite),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EgressSourceType {
Web = 0,
Sdk = 1,
}
impl EgressSourceType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Web => "EGRESS_SOURCE_TYPE_WEB",
Self::Sdk => "EGRESS_SOURCE_TYPE_SDK",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"EGRESS_SOURCE_TYPE_WEB" => Some(Self::Web),
"EGRESS_SOURCE_TYPE_SDK" => Some(Self::Sdk),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum EgressStatus {
EgressStarting = 0,
EgressActive = 1,
EgressEnding = 2,
EgressComplete = 3,
EgressFailed = 4,
EgressAborted = 5,
EgressLimitReached = 6,
}
impl EgressStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::EgressStarting => "EGRESS_STARTING",
Self::EgressActive => "EGRESS_ACTIVE",
Self::EgressEnding => "EGRESS_ENDING",
Self::EgressComplete => "EGRESS_COMPLETE",
Self::EgressFailed => "EGRESS_FAILED",
Self::EgressAborted => "EGRESS_ABORTED",
Self::EgressLimitReached => "EGRESS_LIMIT_REACHED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"EGRESS_STARTING" => Some(Self::EgressStarting),
"EGRESS_ACTIVE" => Some(Self::EgressActive),
"EGRESS_ENDING" => Some(Self::EgressEnding),
"EGRESS_COMPLETE" => Some(Self::EgressComplete),
"EGRESS_FAILED" => Some(Self::EgressFailed),
"EGRESS_ABORTED" => Some(Self::EgressAborted),
"EGRESS_LIMIT_REACHED" => Some(Self::EgressLimitReached),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AudioMixing {
DefaultMixing = 0,
DualChannelAgent = 1,
DualChannelAlternate = 2,
}
impl AudioMixing {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::DefaultMixing => "DEFAULT_MIXING",
Self::DualChannelAgent => "DUAL_CHANNEL_AGENT",
Self::DualChannelAlternate => "DUAL_CHANNEL_ALTERNATE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DEFAULT_MIXING" => Some(Self::DefaultMixing),
"DUAL_CHANNEL_AGENT" => Some(Self::DualChannelAgent),
"DUAL_CHANNEL_ALTERNATE" => Some(Self::DualChannelAlternate),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SignalRequest {
#[prost(oneof = "signal_request::Message", tags = "1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23")]
pub message: ::core::option::Option<signal_request::Message>,
}
pub mod signal_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Message {
#[prost(message, tag = "1")]
Offer(super::SessionDescription),
#[prost(message, tag = "2")]
Answer(super::SessionDescription),
#[prost(message, tag = "3")]
Trickle(super::TrickleRequest),
#[prost(message, tag = "4")]
AddTrack(super::AddTrackRequest),
#[prost(message, tag = "5")]
Mute(super::MuteTrackRequest),
#[prost(message, tag = "6")]
Subscription(super::UpdateSubscription),
#[prost(message, tag = "7")]
TrackSetting(super::UpdateTrackSettings),
#[prost(message, tag = "8")]
Leave(super::LeaveRequest),
#[deprecated]
#[prost(message, tag = "10")]
UpdateLayers(super::UpdateVideoLayers),
#[prost(message, tag = "11")]
SubscriptionPermission(super::SubscriptionPermission),
#[prost(message, tag = "12")]
SyncState(super::SyncState),
#[prost(message, tag = "13")]
Simulate(super::SimulateScenario),
#[prost(int64, tag = "14")]
Ping(i64),
#[prost(message, tag = "15")]
UpdateMetadata(super::UpdateParticipantMetadata),
#[prost(message, tag = "16")]
PingReq(super::Ping),
#[prost(message, tag = "17")]
UpdateAudioTrack(super::UpdateLocalAudioTrack),
#[prost(message, tag = "18")]
UpdateVideoTrack(super::UpdateLocalVideoTrack),
#[prost(message, tag = "19")]
PublishDataTrackRequest(super::PublishDataTrackRequest),
#[prost(message, tag = "20")]
UnpublishDataTrackRequest(super::UnpublishDataTrackRequest),
#[prost(message, tag = "21")]
UpdateDataSubscription(super::UpdateDataSubscription),
#[prost(message, tag = "22")]
StoreDataBlobRequest(super::StoreDataBlobRequest),
#[prost(message, tag = "23")]
GetDataBlobRequest(super::GetDataBlobRequest),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SignalResponse {
#[prost(oneof = "signal_response::Message", tags = "1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31")]
pub message: ::core::option::Option<signal_response::Message>,
}
pub mod signal_response {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Message {
#[prost(message, tag = "1")]
Join(super::JoinResponse),
#[prost(message, tag = "2")]
Answer(super::SessionDescription),
#[prost(message, tag = "3")]
Offer(super::SessionDescription),
#[prost(message, tag = "4")]
Trickle(super::TrickleRequest),
#[prost(message, tag = "5")]
Update(super::ParticipantUpdate),
#[prost(message, tag = "6")]
TrackPublished(super::TrackPublishedResponse),
#[prost(message, tag = "8")]
Leave(super::LeaveRequest),
#[prost(message, tag = "9")]
Mute(super::MuteTrackRequest),
#[prost(message, tag = "10")]
SpeakersChanged(super::SpeakersChanged),
#[prost(message, tag = "11")]
RoomUpdate(super::RoomUpdate),
#[prost(message, tag = "12")]
ConnectionQuality(super::ConnectionQualityUpdate),
#[prost(message, tag = "13")]
StreamStateUpdate(super::StreamStateUpdate),
#[prost(message, tag = "14")]
SubscribedQualityUpdate(super::SubscribedQualityUpdate),
#[prost(message, tag = "15")]
SubscriptionPermissionUpdate(super::SubscriptionPermissionUpdate),
#[prost(string, tag = "16")]
RefreshToken(::prost::alloc::string::String),
#[prost(message, tag = "17")]
TrackUnpublished(super::TrackUnpublishedResponse),
#[prost(int64, tag = "18")]
Pong(i64),
#[prost(message, tag = "19")]
Reconnect(super::ReconnectResponse),
#[prost(message, tag = "20")]
PongResp(super::Pong),
#[prost(message, tag = "21")]
SubscriptionResponse(super::SubscriptionResponse),
#[prost(message, tag = "22")]
RequestResponse(super::RequestResponse),
#[prost(message, tag = "23")]
TrackSubscribed(super::TrackSubscribed),
#[prost(message, tag = "24")]
RoomMoved(super::RoomMovedResponse),
#[prost(message, tag = "25")]
MediaSectionsRequirement(super::MediaSectionsRequirement),
#[prost(message, tag = "26")]
SubscribedAudioCodecUpdate(super::SubscribedAudioCodecUpdate),
#[prost(message, tag = "27")]
PublishDataTrackResponse(super::PublishDataTrackResponse),
#[prost(message, tag = "28")]
UnpublishDataTrackResponse(super::UnpublishDataTrackResponse),
#[prost(message, tag = "29")]
DataTrackSubscriberHandles(super::DataTrackSubscriberHandles),
#[prost(message, tag = "30")]
StoreDataBlobResponse(super::StoreDataBlobResponse),
#[prost(message, tag = "31")]
GetDataBlobResponse(super::GetDataBlobResponse),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SimulcastCodec {
#[prost(string, tag = "1")]
pub codec: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub cid: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "4")]
pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
#[prost(enumeration = "video_layer::Mode", tag = "5")]
pub video_layer_mode: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddTrackRequest {
#[prost(string, tag = "1")]
pub cid: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "TrackType", tag = "3")]
pub r#type: i32,
#[prost(uint32, tag = "4")]
pub width: u32,
#[prost(uint32, tag = "5")]
pub height: u32,
#[prost(bool, tag = "6")]
pub muted: bool,
#[deprecated]
#[prost(bool, tag = "7")]
pub disable_dtx: bool,
#[prost(enumeration = "TrackSource", tag = "8")]
pub source: i32,
#[prost(message, repeated, tag = "9")]
pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
#[prost(message, repeated, tag = "10")]
pub simulcast_codecs: ::prost::alloc::vec::Vec<SimulcastCodec>,
#[prost(string, tag = "11")]
pub sid: ::prost::alloc::string::String,
#[deprecated]
#[prost(bool, tag = "12")]
pub stereo: bool,
#[prost(bool, tag = "13")]
pub disable_red: bool,
#[prost(enumeration = "encryption::Type", tag = "14")]
pub encryption: i32,
#[prost(string, tag = "15")]
pub stream: ::prost::alloc::string::String,
#[prost(enumeration = "BackupCodecPolicy", tag = "16")]
pub backup_codec_policy: i32,
#[prost(enumeration = "AudioTrackFeature", repeated, tag = "17")]
pub audio_features: ::prost::alloc::vec::Vec<i32>,
#[prost(enumeration = "PacketTrailerFeature", repeated, tag = "18")]
pub packet_trailer_features: ::prost::alloc::vec::Vec<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PublishDataTrackRequest {
#[prost(uint32, tag = "1")]
pub pub_handle: u32,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "encryption::Type", tag = "3")]
pub encryption: i32,
#[prost(message, optional, tag = "4")]
pub frame_encoding: ::core::option::Option<DataTrackFrameEncoding>,
#[prost(message, optional, tag = "5")]
pub schema: ::core::option::Option<DataTrackSchemaId>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PublishDataTrackResponse {
#[prost(message, optional, tag = "1")]
pub info: ::core::option::Option<DataTrackInfo>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnpublishDataTrackRequest {
#[prost(uint32, tag = "1")]
pub pub_handle: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnpublishDataTrackResponse {
#[prost(message, optional, tag = "1")]
pub info: ::core::option::Option<DataTrackInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DataTrackSubscriberHandles {
#[prost(map = "uint32, message", tag = "1")]
pub sub_handles: ::std::collections::HashMap<u32, data_track_subscriber_handles::PublishedDataTrack>,
}
pub mod data_track_subscriber_handles {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PublishedDataTrack {
#[prost(string, tag = "1")]
pub publisher_identity: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub publisher_sid: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub track_sid: ::prost::alloc::string::String,
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrickleRequest {
#[prost(string, tag = "1")]
pub candidate_init: ::prost::alloc::string::String,
#[prost(enumeration = "SignalTarget", tag = "2")]
pub target: i32,
#[prost(bool, tag = "3")]
pub r#final: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MuteTrackRequest {
#[prost(string, tag = "1")]
pub sid: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub muted: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JoinResponse {
#[prost(message, optional, tag = "1")]
pub room: ::core::option::Option<Room>,
#[prost(message, optional, tag = "2")]
pub participant: ::core::option::Option<ParticipantInfo>,
#[prost(message, repeated, tag = "3")]
pub other_participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
#[prost(string, tag = "4")]
pub server_version: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "5")]
pub ice_servers: ::prost::alloc::vec::Vec<IceServer>,
#[prost(bool, tag = "6")]
pub subscriber_primary: bool,
#[prost(string, tag = "7")]
pub alternative_url: ::prost::alloc::string::String,
#[prost(message, optional, tag = "8")]
pub client_configuration: ::core::option::Option<ClientConfiguration>,
#[prost(string, tag = "9")]
pub server_region: ::prost::alloc::string::String,
#[prost(int32, tag = "10")]
pub ping_timeout: i32,
#[prost(int32, tag = "11")]
pub ping_interval: i32,
#[prost(message, optional, tag = "12")]
pub server_info: ::core::option::Option<ServerInfo>,
#[prost(bytes = "vec", tag = "13")]
pub sif_trailer: ::prost::alloc::vec::Vec<u8>,
#[prost(message, repeated, tag = "14")]
pub enabled_publish_codecs: ::prost::alloc::vec::Vec<Codec>,
#[prost(bool, tag = "15")]
pub fast_publish: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReconnectResponse {
#[prost(message, repeated, tag = "1")]
pub ice_servers: ::prost::alloc::vec::Vec<IceServer>,
#[prost(message, optional, tag = "2")]
pub client_configuration: ::core::option::Option<ClientConfiguration>,
#[prost(message, optional, tag = "3")]
pub server_info: ::core::option::Option<ServerInfo>,
#[prost(uint32, tag = "4")]
pub last_message_seq: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrackPublishedResponse {
#[prost(string, tag = "1")]
pub cid: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub track: ::core::option::Option<TrackInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrackUnpublishedResponse {
#[prost(string, tag = "1")]
pub track_sid: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SessionDescription {
#[prost(string, tag = "1")]
pub r#type: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub sdp: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub id: u32,
#[prost(map = "string, string", tag = "4")]
pub mid_to_track_id: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParticipantUpdate {
#[prost(message, repeated, tag = "1")]
pub participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateSubscription {
#[prost(string, repeated, tag = "1")]
pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "2")]
pub subscribe: bool,
#[prost(message, repeated, tag = "3")]
pub participant_tracks: ::prost::alloc::vec::Vec<ParticipantTracks>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateDataSubscription {
#[prost(message, repeated, tag = "1")]
pub updates: ::prost::alloc::vec::Vec<update_data_subscription::Update>,
}
pub mod update_data_subscription {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Update {
#[prost(string, tag = "1")]
pub track_sid: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub subscribe: bool,
#[prost(message, optional, tag = "3")]
pub options: ::core::option::Option<super::DataTrackSubscriptionOptions>,
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StoreDataBlobRequest {
#[prost(uint32, tag = "1")]
pub request_id: u32,
#[prost(message, optional, tag = "2")]
pub blob: ::core::option::Option<DataBlob>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StoreDataBlobResponse {
#[prost(uint32, tag = "1")]
pub request_id: u32,
#[prost(message, optional, tag = "2")]
pub key: ::core::option::Option<DataBlobKey>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetDataBlobRequest {
#[prost(uint32, tag = "1")]
pub request_id: u32,
#[prost(string, tag = "2")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub key: ::core::option::Option<DataBlobKey>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetDataBlobResponse {
#[prost(uint32, tag = "1")]
pub request_id: u32,
#[prost(message, optional, tag = "2")]
pub blob: ::core::option::Option<DataBlob>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateTrackSettings {
#[prost(string, repeated, tag = "1")]
pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "3")]
pub disabled: bool,
#[prost(enumeration = "VideoQuality", tag = "4")]
pub quality: i32,
#[prost(uint32, tag = "5")]
pub width: u32,
#[prost(uint32, tag = "6")]
pub height: u32,
#[prost(uint32, tag = "7")]
pub fps: u32,
#[prost(uint32, tag = "8")]
pub priority: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateLocalAudioTrack {
#[prost(string, tag = "1")]
pub track_sid: ::prost::alloc::string::String,
#[prost(enumeration = "AudioTrackFeature", repeated, tag = "2")]
pub features: ::prost::alloc::vec::Vec<i32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateLocalVideoTrack {
#[prost(string, tag = "1")]
pub track_sid: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub width: u32,
#[prost(uint32, tag = "3")]
pub height: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveRequest {
#[prost(bool, tag = "1")]
pub can_reconnect: bool,
#[prost(enumeration = "DisconnectReason", tag = "2")]
pub reason: i32,
#[prost(enumeration = "leave_request::Action", tag = "3")]
pub action: i32,
#[prost(message, optional, tag = "4")]
pub regions: ::core::option::Option<RegionSettings>,
}
pub mod leave_request {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Action {
Disconnect = 0,
Resume = 1,
Reconnect = 2,
}
impl Action {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Disconnect => "DISCONNECT",
Self::Resume => "RESUME",
Self::Reconnect => "RECONNECT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DISCONNECT" => Some(Self::Disconnect),
"RESUME" => Some(Self::Resume),
"RECONNECT" => Some(Self::Reconnect),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateVideoLayers {
#[prost(string, tag = "1")]
pub track_sid: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateParticipantMetadata {
#[prost(string, tag = "1")]
pub metadata: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "3")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(uint32, tag = "4")]
pub request_id: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct IceServer {
#[prost(string, repeated, tag = "1")]
pub urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "2")]
pub username: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub credential: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpeakersChanged {
#[prost(message, repeated, tag = "1")]
pub speakers: ::prost::alloc::vec::Vec<SpeakerInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoomUpdate {
#[prost(message, optional, tag = "1")]
pub room: ::core::option::Option<Room>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectionQualityInfo {
#[prost(string, tag = "1")]
pub participant_sid: ::prost::alloc::string::String,
#[prost(enumeration = "ConnectionQuality", tag = "2")]
pub quality: i32,
#[prost(float, tag = "3")]
pub score: f32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectionQualityUpdate {
#[prost(message, repeated, tag = "1")]
pub updates: ::prost::alloc::vec::Vec<ConnectionQualityInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StreamStateInfo {
#[prost(string, tag = "1")]
pub participant_sid: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub track_sid: ::prost::alloc::string::String,
#[prost(enumeration = "StreamState", tag = "3")]
pub state: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StreamStateUpdate {
#[prost(message, repeated, tag = "1")]
pub stream_states: ::prost::alloc::vec::Vec<StreamStateInfo>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SubscribedQuality {
#[prost(enumeration = "VideoQuality", tag = "1")]
pub quality: i32,
#[prost(bool, tag = "2")]
pub enabled: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscribedCodec {
#[prost(string, tag = "1")]
pub codec: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub qualities: ::prost::alloc::vec::Vec<SubscribedQuality>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscribedQualityUpdate {
#[prost(string, tag = "1")]
pub track_sid: ::prost::alloc::string::String,
#[deprecated]
#[prost(message, repeated, tag = "2")]
pub subscribed_qualities: ::prost::alloc::vec::Vec<SubscribedQuality>,
#[prost(message, repeated, tag = "3")]
pub subscribed_codecs: ::prost::alloc::vec::Vec<SubscribedCodec>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscribedAudioCodecUpdate {
#[prost(string, tag = "1")]
pub track_sid: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub subscribed_audio_codecs: ::prost::alloc::vec::Vec<SubscribedAudioCodec>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrackPermission {
#[prost(string, tag = "1")]
pub participant_sid: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub all_tracks: bool,
#[prost(string, repeated, tag = "3")]
pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "4")]
pub participant_identity: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubscriptionPermission {
#[prost(bool, tag = "1")]
pub all_participants: bool,
#[prost(message, repeated, tag = "2")]
pub track_permissions: ::prost::alloc::vec::Vec<TrackPermission>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SubscriptionPermissionUpdate {
#[prost(string, tag = "1")]
pub participant_sid: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub track_sid: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub allowed: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoomMovedResponse {
#[prost(message, optional, tag = "1")]
pub room: ::core::option::Option<Room>,
#[prost(string, tag = "2")]
pub token: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub participant: ::core::option::Option<ParticipantInfo>,
#[prost(message, repeated, tag = "4")]
pub other_participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncState {
#[prost(message, optional, tag = "1")]
pub answer: ::core::option::Option<SessionDescription>,
#[prost(message, optional, tag = "2")]
pub subscription: ::core::option::Option<UpdateSubscription>,
#[prost(message, repeated, tag = "3")]
pub publish_tracks: ::prost::alloc::vec::Vec<TrackPublishedResponse>,
#[prost(message, repeated, tag = "4")]
pub data_channels: ::prost::alloc::vec::Vec<DataChannelInfo>,
#[prost(message, optional, tag = "5")]
pub offer: ::core::option::Option<SessionDescription>,
#[prost(string, repeated, tag = "6")]
pub track_sids_disabled: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "7")]
pub datachannel_receive_states: ::prost::alloc::vec::Vec<DataChannelReceiveState>,
#[prost(message, repeated, tag = "8")]
pub publish_data_tracks: ::prost::alloc::vec::Vec<PublishDataTrackResponse>,
#[prost(message, optional, tag = "9")]
pub data_subscription: ::core::option::Option<UpdateDataSubscription>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataChannelReceiveState {
#[prost(string, tag = "1")]
pub publisher_sid: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub last_seq: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DataChannelInfo {
#[prost(string, tag = "1")]
pub label: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub id: u32,
#[prost(enumeration = "SignalTarget", tag = "3")]
pub target: i32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SimulateScenario {
#[prost(oneof = "simulate_scenario::Scenario", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9")]
pub scenario: ::core::option::Option<simulate_scenario::Scenario>,
}
pub mod simulate_scenario {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Scenario {
#[prost(int32, tag = "1")]
SpeakerUpdate(i32),
#[prost(bool, tag = "2")]
NodeFailure(bool),
#[prost(bool, tag = "3")]
Migration(bool),
#[prost(bool, tag = "4")]
ServerLeave(bool),
#[prost(enumeration = "super::CandidateProtocol", tag = "5")]
SwitchCandidateProtocol(i32),
#[prost(int64, tag = "6")]
SubscriberBandwidth(i64),
#[prost(bool, tag = "7")]
DisconnectSignalOnResume(bool),
#[prost(bool, tag = "8")]
DisconnectSignalOnResumeNoMessages(bool),
#[prost(bool, tag = "9")]
LeaveRequestFullReconnect(bool),
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ping {
#[prost(int64, tag = "1")]
pub timestamp: i64,
#[prost(int64, tag = "2")]
pub rtt: i64,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pong {
#[prost(int64, tag = "1")]
pub last_ping_timestamp: i64,
#[prost(int64, tag = "2")]
pub timestamp: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegionSettings {
#[prost(message, repeated, tag = "1")]
pub regions: ::prost::alloc::vec::Vec<RegionInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RegionInfo {
#[prost(string, tag = "1")]
pub region: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub url: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub distance: i64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SubscriptionResponse {
#[prost(string, tag = "1")]
pub track_sid: ::prost::alloc::string::String,
#[prost(enumeration = "SubscriptionError", tag = "2")]
pub err: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RequestResponse {
#[prost(uint32, tag = "1")]
pub request_id: u32,
#[prost(enumeration = "request_response::Reason", tag = "2")]
pub reason: i32,
#[prost(string, tag = "3")]
pub message: ::prost::alloc::string::String,
#[prost(oneof = "request_response::Request", tags = "4, 5, 6, 7, 8, 9, 10, 11")]
pub request: ::core::option::Option<request_response::Request>,
}
pub mod request_response {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Reason {
Ok = 0,
NotFound = 1,
NotAllowed = 2,
LimitExceeded = 3,
Queued = 4,
UnsupportedType = 5,
UnclassifiedError = 6,
InvalidHandle = 7,
InvalidName = 8,
DuplicateHandle = 9,
DuplicateName = 10,
InvalidRequest = 11,
}
impl Reason {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Ok => "OK",
Self::NotFound => "NOT_FOUND",
Self::NotAllowed => "NOT_ALLOWED",
Self::LimitExceeded => "LIMIT_EXCEEDED",
Self::Queued => "QUEUED",
Self::UnsupportedType => "UNSUPPORTED_TYPE",
Self::UnclassifiedError => "UNCLASSIFIED_ERROR",
Self::InvalidHandle => "INVALID_HANDLE",
Self::InvalidName => "INVALID_NAME",
Self::DuplicateHandle => "DUPLICATE_HANDLE",
Self::DuplicateName => "DUPLICATE_NAME",
Self::InvalidRequest => "INVALID_REQUEST",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OK" => Some(Self::Ok),
"NOT_FOUND" => Some(Self::NotFound),
"NOT_ALLOWED" => Some(Self::NotAllowed),
"LIMIT_EXCEEDED" => Some(Self::LimitExceeded),
"QUEUED" => Some(Self::Queued),
"UNSUPPORTED_TYPE" => Some(Self::UnsupportedType),
"UNCLASSIFIED_ERROR" => Some(Self::UnclassifiedError),
"INVALID_HANDLE" => Some(Self::InvalidHandle),
"INVALID_NAME" => Some(Self::InvalidName),
"DUPLICATE_HANDLE" => Some(Self::DuplicateHandle),
"DUPLICATE_NAME" => Some(Self::DuplicateName),
"INVALID_REQUEST" => Some(Self::InvalidRequest),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Request {
#[prost(message, tag = "4")]
Trickle(super::TrickleRequest),
#[prost(message, tag = "5")]
AddTrack(super::AddTrackRequest),
#[prost(message, tag = "6")]
Mute(super::MuteTrackRequest),
#[prost(message, tag = "7")]
UpdateMetadata(super::UpdateParticipantMetadata),
#[prost(message, tag = "8")]
UpdateAudioTrack(super::UpdateLocalAudioTrack),
#[prost(message, tag = "9")]
UpdateVideoTrack(super::UpdateLocalVideoTrack),
#[prost(message, tag = "10")]
PublishDataTrack(super::PublishDataTrackRequest),
#[prost(message, tag = "11")]
UnpublishDataTrack(super::UnpublishDataTrackRequest),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrackSubscribed {
#[prost(string, tag = "1")]
pub track_sid: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConnectionSettings {
#[prost(bool, tag = "1")]
pub auto_subscribe: bool,
#[prost(bool, tag = "2")]
pub adaptive_stream: bool,
#[prost(bool, optional, tag = "3")]
pub subscriber_allow_pause: ::core::option::Option<bool>,
#[prost(bool, tag = "4")]
pub disable_ice_lite: bool,
#[prost(bool, optional, tag = "5")]
pub auto_subscribe_data_track: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JoinRequest {
#[prost(message, optional, tag = "1")]
pub client_info: ::core::option::Option<ClientInfo>,
#[prost(message, optional, tag = "2")]
pub connection_settings: ::core::option::Option<ConnectionSettings>,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "4")]
pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(message, repeated, tag = "5")]
pub add_track_requests: ::prost::alloc::vec::Vec<AddTrackRequest>,
#[prost(message, optional, tag = "6")]
pub publisher_offer: ::core::option::Option<SessionDescription>,
#[prost(bool, tag = "7")]
pub reconnect: bool,
#[prost(enumeration = "ReconnectReason", tag = "8")]
pub reconnect_reason: i32,
#[prost(string, tag = "9")]
pub participant_sid: ::prost::alloc::string::String,
#[prost(message, optional, tag = "10")]
pub sync_state: ::core::option::Option<SyncState>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WrappedJoinRequest {
#[prost(enumeration = "wrapped_join_request::Compression", tag = "1")]
pub compression: i32,
#[prost(bytes = "vec", tag = "2")]
pub join_request: ::prost::alloc::vec::Vec<u8>,
}
pub mod wrapped_join_request {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Compression {
None = 0,
Gzip = 1,
}
impl Compression {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "NONE",
Self::Gzip => "GZIP",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NONE" => Some(Self::None),
"GZIP" => Some(Self::Gzip),
_ => None,
}
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MediaSectionsRequirement {
#[prost(uint32, tag = "1")]
pub num_audios: u32,
#[prost(uint32, tag = "2")]
pub num_videos: u32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SignalTarget {
Publisher = 0,
Subscriber = 1,
}
impl SignalTarget {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Publisher => "PUBLISHER",
Self::Subscriber => "SUBSCRIBER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PUBLISHER" => Some(Self::Publisher),
"SUBSCRIBER" => Some(Self::Subscriber),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum StreamState {
Active = 0,
Paused = 1,
}
impl StreamState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Active => "ACTIVE",
Self::Paused => "PAUSED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ACTIVE" => Some(Self::Active),
"PAUSED" => Some(Self::Paused),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CandidateProtocol {
Udp = 0,
Tcp = 1,
Tls = 2,
}
impl CandidateProtocol {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Udp => "UDP",
Self::Tcp => "TCP",
Self::Tls => "TLS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UDP" => Some(Self::Udp),
"TCP" => Some(Self::Tcp),
"TLS" => Some(Self::Tls),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Job {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub dispatch_id: ::prost::alloc::string::String,
#[prost(enumeration = "JobType", tag = "2")]
pub r#type: i32,
#[prost(message, optional, tag = "3")]
pub room: ::core::option::Option<Room>,
#[prost(message, optional, tag = "4")]
pub participant: ::core::option::Option<ParticipantInfo>,
#[deprecated]
#[prost(string, tag = "5")]
pub namespace: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub metadata: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub agent_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "8")]
pub state: ::core::option::Option<JobState>,
#[prost(bool, tag = "10")]
pub enable_recording: bool,
#[prost(string, tag = "11")]
pub deployment: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "12")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(bool, tag = "13")]
pub enable_redaction: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct JobState {
#[prost(enumeration = "JobStatus", tag = "1")]
pub status: i32,
#[prost(string, tag = "2")]
pub error: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub started_at: i64,
#[prost(int64, tag = "4")]
pub ended_at: i64,
#[prost(int64, tag = "5")]
pub updated_at: i64,
#[prost(string, tag = "6")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub worker_id: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub agent_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WorkerMessage {
#[prost(oneof = "worker_message::Message", tags = "1, 2, 3, 4, 5, 6, 7")]
pub message: ::core::option::Option<worker_message::Message>,
}
pub mod worker_message {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Message {
#[prost(message, tag = "1")]
Register(super::RegisterWorkerRequest),
#[prost(message, tag = "2")]
Availability(super::AvailabilityResponse),
#[prost(message, tag = "3")]
UpdateWorker(super::UpdateWorkerStatus),
#[prost(message, tag = "4")]
UpdateJob(super::UpdateJobStatus),
#[prost(message, tag = "5")]
Ping(super::WorkerPing),
#[prost(message, tag = "6")]
SimulateJob(super::SimulateJobRequest),
#[prost(message, tag = "7")]
MigrateJob(super::MigrateJobRequest),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerMessage {
#[prost(oneof = "server_message::Message", tags = "1, 2, 3, 5, 4, 6")]
pub message: ::core::option::Option<server_message::Message>,
}
pub mod server_message {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Message {
#[prost(message, tag = "1")]
Register(super::RegisterWorkerResponse),
#[prost(message, tag = "2")]
Availability(super::AvailabilityRequest),
#[prost(message, tag = "3")]
Assignment(super::JobAssignment),
#[prost(message, tag = "5")]
Termination(super::JobTermination),
#[prost(message, tag = "4")]
Pong(super::WorkerPong),
#[prost(message, tag = "6")]
GoAway(super::agent_http::GoAway),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SimulateJobRequest {
#[prost(enumeration = "JobType", tag = "1")]
pub r#type: i32,
#[prost(message, optional, tag = "2")]
pub room: ::core::option::Option<Room>,
#[prost(message, optional, tag = "3")]
pub participant: ::core::option::Option<ParticipantInfo>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WorkerPing {
#[prost(int64, tag = "1")]
pub timestamp: i64,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WorkerPong {
#[prost(int64, tag = "1")]
pub last_timestamp: i64,
#[prost(int64, tag = "2")]
pub timestamp: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegisterWorkerRequest {
#[prost(enumeration = "JobType", tag = "1")]
pub r#type: i32,
#[prost(string, tag = "8")]
pub agent_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub version: ::prost::alloc::string::String,
#[prost(uint32, tag = "5")]
pub ping_interval: u32,
#[prost(string, optional, tag = "6")]
pub namespace: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "7")]
pub allowed_permissions: ::core::option::Option<ParticipantPermission>,
#[prost(string, tag = "9")]
pub deployment: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "10")]
pub endpoints: ::prost::alloc::vec::Vec<agent_http::AgentEndpoint>,
#[prost(string, tag = "11")]
pub instance_id: ::prost::alloc::string::String,
#[prost(uint32, tag = "12")]
pub endpoint_protocol: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RegisterWorkerResponse {
#[prost(string, tag = "1")]
pub worker_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub server_info: ::core::option::Option<ServerInfo>,
#[prost(message, optional, tag = "4")]
pub endpoint_settings: ::core::option::Option<agent_http::AgentEndpointSettings>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MigrateJobRequest {
#[prost(string, repeated, tag = "2")]
pub job_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvailabilityRequest {
#[prost(message, optional, tag = "1")]
pub job: ::core::option::Option<Job>,
#[prost(bool, tag = "2")]
pub resuming: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvailabilityResponse {
#[prost(string, tag = "1")]
pub job_id: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub available: bool,
#[prost(bool, tag = "3")]
pub supports_resume: bool,
#[prost(bool, tag = "8")]
pub terminate: bool,
#[prost(string, tag = "4")]
pub participant_name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub participant_metadata: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "7")]
pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateJobStatus {
#[prost(string, tag = "1")]
pub job_id: ::prost::alloc::string::String,
#[prost(enumeration = "JobStatus", tag = "2")]
pub status: i32,
#[prost(string, tag = "3")]
pub error: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateWorkerStatus {
#[prost(enumeration = "WorkerStatus", optional, tag = "1")]
pub status: ::core::option::Option<i32>,
#[prost(float, tag = "3")]
pub load: f32,
#[prost(uint32, tag = "4")]
pub job_count: u32,
#[prost(bool, tag = "5")]
pub draining: bool,
#[prost(uint64, tag = "6")]
pub seq: u64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JobAssignment {
#[prost(message, optional, tag = "1")]
pub job: ::core::option::Option<Job>,
#[prost(string, optional, tag = "2")]
pub url: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, tag = "3")]
pub token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct JobTermination {
#[prost(string, tag = "1")]
pub job_id: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AgentHttp {
}
pub mod agent_http {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AgentEndpoint {
#[prost(string, tag = "1")]
pub path: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "2")]
pub methods: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(enumeration = "AgentEndpointKind", tag = "3")]
pub kind: i32,
#[prost(bool, tag = "4")]
pub public: bool,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AgentEndpointSettings {
#[prost(uint32, tag = "1")]
pub protocol: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StreamPreamble {
#[prost(enumeration = "AgentEndpointKind", tag = "1")]
pub kind: i32,
#[prost(string, tag = "2")]
pub request_id: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub authorized: bool,
#[prost(string, tag = "4")]
pub route: ::prost::alloc::string::String,
#[prost(uint32, tag = "5")]
pub timeout_ms: u32,
#[prost(string, tag = "6")]
pub client_addr: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub scheme: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GoAway {
#[prost(string, tag = "1")]
pub reason: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AgentEndpointKind {
AekHttp = 0,
AekText = 1,
}
impl AgentEndpointKind {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::AekHttp => "AEK_HTTP",
Self::AekText => "AEK_TEXT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"AEK_HTTP" => Some(Self::AekHttp),
"AEK_TEXT" => Some(Self::AekText),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum HttpStreamResetCode {
HsrAbort = 0,
HsrRefused = 1,
HsrInternal = 2,
HsrTimeout = 3,
HsrProtocol = 4,
}
impl HttpStreamResetCode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::HsrAbort => "HSR_ABORT",
Self::HsrRefused => "HSR_REFUSED",
Self::HsrInternal => "HSR_INTERNAL",
Self::HsrTimeout => "HSR_TIMEOUT",
Self::HsrProtocol => "HSR_PROTOCOL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"HSR_ABORT" => Some(Self::HsrAbort),
"HSR_REFUSED" => Some(Self::HsrRefused),
"HSR_INTERNAL" => Some(Self::HsrInternal),
"HSR_TIMEOUT" => Some(Self::HsrTimeout),
"HSR_PROTOCOL" => Some(Self::HsrProtocol),
_ => None,
}
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum JobType {
JtRoom = 0,
JtPublisher = 1,
JtParticipant = 2,
}
impl JobType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::JtRoom => "JT_ROOM",
Self::JtPublisher => "JT_PUBLISHER",
Self::JtParticipant => "JT_PARTICIPANT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"JT_ROOM" => Some(Self::JtRoom),
"JT_PUBLISHER" => Some(Self::JtPublisher),
"JT_PARTICIPANT" => Some(Self::JtParticipant),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WorkerStatus {
WsAvailable = 0,
WsFull = 1,
}
impl WorkerStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::WsAvailable => "WS_AVAILABLE",
Self::WsFull => "WS_FULL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"WS_AVAILABLE" => Some(Self::WsAvailable),
"WS_FULL" => Some(Self::WsFull),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum JobStatus {
JsPending = 0,
JsRunning = 1,
JsSuccess = 2,
JsFailed = 3,
}
impl JobStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::JsPending => "JS_PENDING",
Self::JsRunning => "JS_RUNNING",
Self::JsSuccess => "JS_SUCCESS",
Self::JsFailed => "JS_FAILED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"JS_PENDING" => Some(Self::JsPending),
"JS_RUNNING" => Some(Self::JsRunning),
"JS_SUCCESS" => Some(Self::JsSuccess),
"JS_FAILED" => Some(Self::JsFailed),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateAgentDispatchRequest {
#[prost(string, tag = "1")]
pub agent_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub room: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
#[prost(enumeration = "JobRestartPolicy", tag = "4")]
pub restart_policy: i32,
#[prost(string, tag = "5")]
pub deployment: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "6")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoomAgentDispatch {
#[prost(string, tag = "1")]
pub agent_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub metadata: ::prost::alloc::string::String,
#[prost(enumeration = "JobRestartPolicy", tag = "3")]
pub restart_policy: i32,
#[prost(string, tag = "4")]
pub deployment: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "5")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteAgentDispatchRequest {
#[prost(string, tag = "1")]
pub dispatch_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub room: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListAgentDispatchRequest {
#[prost(string, tag = "1")]
pub dispatch_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub room: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAgentDispatchResponse {
#[prost(message, repeated, tag = "1")]
pub agent_dispatches: ::prost::alloc::vec::Vec<AgentDispatch>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AgentDispatch {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub room: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub metadata: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub state: ::core::option::Option<AgentDispatchState>,
#[prost(enumeration = "JobRestartPolicy", tag = "6")]
pub restart_policy: i32,
#[prost(string, tag = "7")]
pub deployment: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "8")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AgentDispatchState {
#[prost(message, repeated, tag = "1")]
pub jobs: ::prost::alloc::vec::Vec<Job>,
#[prost(int64, tag = "2")]
pub created_at: i64,
#[prost(int64, tag = "3")]
pub deleted_at: i64,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum JobRestartPolicy {
JrpOnFailure = 0,
JrpNever = 1,
}
impl JobRestartPolicy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::JrpOnFailure => "JRP_ON_FAILURE",
Self::JrpNever => "JRP_NEVER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"JRP_ON_FAILURE" => Some(Self::JrpOnFailure),
"JRP_NEVER" => Some(Self::JrpNever),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateRoomRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub room_preset: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub empty_timeout: u32,
#[prost(uint32, tag = "10")]
pub departure_timeout: u32,
#[prost(uint32, tag = "3")]
pub max_participants: u32,
#[prost(string, tag = "4")]
pub node_id: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub metadata: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "15")]
pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(message, optional, tag = "6")]
pub egress: ::core::option::Option<RoomEgress>,
#[prost(uint32, tag = "7")]
pub min_playout_delay: u32,
#[prost(uint32, tag = "8")]
pub max_playout_delay: u32,
#[prost(bool, tag = "9")]
pub sync_streams: bool,
#[prost(bool, tag = "13")]
pub replay_enabled: bool,
#[prost(message, repeated, tag = "14")]
pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoomEgress {
#[prost(message, optional, tag = "1")]
pub room: ::core::option::Option<RoomCompositeEgressRequest>,
#[prost(message, optional, tag = "3")]
pub participant: ::core::option::Option<AutoParticipantEgress>,
#[prost(message, optional, tag = "2")]
pub tracks: ::core::option::Option<AutoTrackEgress>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoomAgent {
#[prost(message, repeated, tag = "1")]
pub dispatches: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListRoomsRequest {
#[prost(string, repeated, tag = "1")]
pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListRoomsResponse {
#[prost(message, repeated, tag = "1")]
pub rooms: ::prost::alloc::vec::Vec<Room>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteRoomRequest {
#[prost(string, tag = "1")]
pub room: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteRoomResponse {
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListParticipantsRequest {
#[prost(string, tag = "1")]
pub room: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListParticipantsResponse {
#[prost(message, repeated, tag = "1")]
pub participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RoomParticipantIdentity {
#[prost(string, tag = "1")]
pub room: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub identity: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub revoke_token_ts: i64,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RemoveParticipantResponse {
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MuteRoomTrackRequest {
#[prost(string, tag = "1")]
pub room: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub identity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub track_sid: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub muted: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuteRoomTrackResponse {
#[prost(message, optional, tag = "1")]
pub track: ::core::option::Option<TrackInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateParticipantRequest {
#[prost(string, tag = "1")]
pub room: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub identity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub permission: ::core::option::Option<ParticipantPermission>,
#[prost(string, tag = "5")]
pub name: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "6")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateSubscriptionsRequest {
#[prost(string, tag = "1")]
pub room: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub identity: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "4")]
pub subscribe: bool,
#[prost(message, repeated, tag = "5")]
pub participant_tracks: ::prost::alloc::vec::Vec<ParticipantTracks>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateSubscriptionsResponse {
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SendDataRequest {
#[prost(string, tag = "1")]
pub room: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub data: ::prost::alloc::vec::Vec<u8>,
#[prost(enumeration = "data_packet::Kind", tag = "3")]
pub kind: i32,
#[deprecated]
#[prost(string, repeated, tag = "4")]
pub destination_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "6")]
pub destination_identities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub topic: ::core::option::Option<::prost::alloc::string::String>,
#[prost(bytes = "vec", tag = "7")]
pub nonce: ::prost::alloc::vec::Vec<u8>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SendDataResponse {
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateRoomMetadataRequest {
#[prost(string, tag = "1")]
pub room: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub metadata: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoomConfiguration {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub empty_timeout: u32,
#[prost(uint32, tag = "3")]
pub departure_timeout: u32,
#[prost(uint32, tag = "4")]
pub max_participants: u32,
#[prost(string, tag = "11")]
pub metadata: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub egress: ::core::option::Option<RoomEgress>,
#[prost(uint32, tag = "7")]
pub min_playout_delay: u32,
#[prost(uint32, tag = "8")]
pub max_playout_delay: u32,
#[prost(bool, tag = "9")]
pub sync_streams: bool,
#[prost(message, repeated, tag = "10")]
pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
#[prost(map = "string, string", tag = "12")]
pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ForwardParticipantRequest {
#[prost(string, tag = "1")]
pub room: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub identity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub destination_room: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ForwardParticipantResponse {
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MoveParticipantRequest {
#[prost(string, tag = "1")]
pub room: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub identity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub destination_room: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MoveParticipantResponse {
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PerformRpcRequest {
#[prost(string, tag = "1")]
pub room: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub destination_identity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub method: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub payload: ::prost::alloc::string::String,
#[prost(uint32, tag = "5")]
pub response_timeout_ms: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PerformRpcResponse {
#[prost(string, tag = "1")]
pub payload: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateIngressRequest {
#[prost(enumeration = "IngressInput", tag = "1")]
pub input_type: i32,
#[prost(string, tag = "9")]
pub url: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub participant_name: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub participant_metadata: ::prost::alloc::string::String,
#[deprecated]
#[prost(bool, tag = "8")]
pub bypass_transcoding: bool,
#[prost(bool, optional, tag = "11")]
pub enable_transcoding: ::core::option::Option<bool>,
#[prost(message, optional, tag = "6")]
pub audio: ::core::option::Option<IngressAudioOptions>,
#[prost(message, optional, tag = "7")]
pub video: ::core::option::Option<IngressVideoOptions>,
#[prost(bool, optional, tag = "12")]
pub enabled: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct IngressAudioOptions {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "TrackSource", tag = "2")]
pub source: i32,
#[prost(oneof = "ingress_audio_options::EncodingOptions", tags = "3, 4")]
pub encoding_options: ::core::option::Option<ingress_audio_options::EncodingOptions>,
}
pub mod ingress_audio_options {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum EncodingOptions {
#[prost(enumeration = "super::IngressAudioEncodingPreset", tag = "3")]
Preset(i32),
#[prost(message, tag = "4")]
Options(super::IngressAudioEncodingOptions),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressVideoOptions {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "TrackSource", tag = "2")]
pub source: i32,
#[prost(oneof = "ingress_video_options::EncodingOptions", tags = "3, 4")]
pub encoding_options: ::core::option::Option<ingress_video_options::EncodingOptions>,
}
pub mod ingress_video_options {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum EncodingOptions {
#[prost(enumeration = "super::IngressVideoEncodingPreset", tag = "3")]
Preset(i32),
#[prost(message, tag = "4")]
Options(super::IngressVideoEncodingOptions),
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct IngressAudioEncodingOptions {
#[prost(enumeration = "AudioCodec", tag = "1")]
pub audio_codec: i32,
#[prost(uint32, tag = "2")]
pub bitrate: u32,
#[prost(bool, tag = "3")]
pub disable_dtx: bool,
#[prost(uint32, tag = "4")]
pub channels: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressVideoEncodingOptions {
#[prost(enumeration = "VideoCodec", tag = "1")]
pub video_codec: i32,
#[prost(double, tag = "2")]
pub frame_rate: f64,
#[prost(message, repeated, tag = "3")]
pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressInfo {
#[prost(string, tag = "1")]
pub ingress_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub stream_key: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub url: ::prost::alloc::string::String,
#[prost(enumeration = "IngressInput", tag = "5")]
pub input_type: i32,
#[deprecated]
#[prost(bool, tag = "13")]
pub bypass_transcoding: bool,
#[prost(bool, optional, tag = "15")]
pub enable_transcoding: ::core::option::Option<bool>,
#[prost(message, optional, tag = "6")]
pub audio: ::core::option::Option<IngressAudioOptions>,
#[prost(message, optional, tag = "7")]
pub video: ::core::option::Option<IngressVideoOptions>,
#[prost(string, tag = "8")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub participant_name: ::prost::alloc::string::String,
#[prost(string, tag = "14")]
pub participant_metadata: ::prost::alloc::string::String,
#[prost(bool, tag = "11")]
pub reusable: bool,
#[prost(message, optional, tag = "12")]
pub state: ::core::option::Option<IngressState>,
#[prost(bool, optional, tag = "16")]
pub enabled: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngressState {
#[prost(enumeration = "ingress_state::Status", tag = "1")]
pub status: i32,
#[prost(string, tag = "2")]
pub error: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub video: ::core::option::Option<InputVideoState>,
#[prost(message, optional, tag = "4")]
pub audio: ::core::option::Option<InputAudioState>,
#[prost(string, tag = "5")]
pub room_id: ::prost::alloc::string::String,
#[prost(int64, tag = "7")]
pub started_at: i64,
#[prost(int64, tag = "8")]
pub ended_at: i64,
#[prost(int64, tag = "10")]
pub updated_at: i64,
#[prost(string, tag = "9")]
pub resource_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "6")]
pub tracks: ::prost::alloc::vec::Vec<TrackInfo>,
}
pub mod ingress_state {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Status {
EndpointInactive = 0,
EndpointBuffering = 1,
EndpointPublishing = 2,
EndpointError = 3,
EndpointComplete = 4,
}
impl Status {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::EndpointInactive => "ENDPOINT_INACTIVE",
Self::EndpointBuffering => "ENDPOINT_BUFFERING",
Self::EndpointPublishing => "ENDPOINT_PUBLISHING",
Self::EndpointError => "ENDPOINT_ERROR",
Self::EndpointComplete => "ENDPOINT_COMPLETE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ENDPOINT_INACTIVE" => Some(Self::EndpointInactive),
"ENDPOINT_BUFFERING" => Some(Self::EndpointBuffering),
"ENDPOINT_PUBLISHING" => Some(Self::EndpointPublishing),
"ENDPOINT_ERROR" => Some(Self::EndpointError),
"ENDPOINT_COMPLETE" => Some(Self::EndpointComplete),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InputVideoState {
#[prost(string, tag = "1")]
pub mime_type: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub average_bitrate: u32,
#[prost(uint32, tag = "3")]
pub width: u32,
#[prost(uint32, tag = "4")]
pub height: u32,
#[prost(double, tag = "5")]
pub framerate: f64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InputAudioState {
#[prost(string, tag = "1")]
pub mime_type: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub average_bitrate: u32,
#[prost(uint32, tag = "3")]
pub channels: u32,
#[prost(uint32, tag = "4")]
pub sample_rate: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateIngressRequest {
#[prost(string, tag = "1")]
pub ingress_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub participant_name: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub participant_metadata: ::prost::alloc::string::String,
#[deprecated]
#[prost(bool, optional, tag = "8")]
pub bypass_transcoding: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "10")]
pub enable_transcoding: ::core::option::Option<bool>,
#[prost(message, optional, tag = "6")]
pub audio: ::core::option::Option<IngressAudioOptions>,
#[prost(message, optional, tag = "7")]
pub video: ::core::option::Option<IngressVideoOptions>,
#[prost(bool, optional, tag = "11")]
pub enabled: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListIngressRequest {
#[prost(message, optional, tag = "3")]
pub page_token: ::core::option::Option<TokenPagination>,
#[prost(string, tag = "1")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub ingress_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListIngressResponse {
#[prost(message, optional, tag = "2")]
pub next_page_token: ::core::option::Option<TokenPagination>,
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<IngressInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteIngressRequest {
#[prost(string, tag = "1")]
pub ingress_id: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum IngressInput {
RtmpInput = 0,
WhipInput = 1,
UrlInput = 2,
}
impl IngressInput {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::RtmpInput => "RTMP_INPUT",
Self::WhipInput => "WHIP_INPUT",
Self::UrlInput => "URL_INPUT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"RTMP_INPUT" => Some(Self::RtmpInput),
"WHIP_INPUT" => Some(Self::WhipInput),
"URL_INPUT" => Some(Self::UrlInput),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum IngressAudioEncodingPreset {
OpusStereo96kbps = 0,
OpusMono64kbs = 1,
}
impl IngressAudioEncodingPreset {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::OpusStereo96kbps => "OPUS_STEREO_96KBPS",
Self::OpusMono64kbs => "OPUS_MONO_64KBS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OPUS_STEREO_96KBPS" => Some(Self::OpusStereo96kbps),
"OPUS_MONO_64KBS" => Some(Self::OpusMono64kbs),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum IngressVideoEncodingPreset {
H264720p30fps3Layers = 0,
H2641080p30fps3Layers = 1,
H264540p25fps2Layers = 2,
H264720p30fps1Layer = 3,
H2641080p30fps1Layer = 4,
H264720p30fps3LayersHighMotion = 5,
H2641080p30fps3LayersHighMotion = 6,
H264540p25fps2LayersHighMotion = 7,
H264720p30fps1LayerHighMotion = 8,
H2641080p30fps1LayerHighMotion = 9,
}
impl IngressVideoEncodingPreset {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::H264720p30fps3Layers => "H264_720P_30FPS_3_LAYERS",
Self::H2641080p30fps3Layers => "H264_1080P_30FPS_3_LAYERS",
Self::H264540p25fps2Layers => "H264_540P_25FPS_2_LAYERS",
Self::H264720p30fps1Layer => "H264_720P_30FPS_1_LAYER",
Self::H2641080p30fps1Layer => "H264_1080P_30FPS_1_LAYER",
Self::H264720p30fps3LayersHighMotion => "H264_720P_30FPS_3_LAYERS_HIGH_MOTION",
Self::H2641080p30fps3LayersHighMotion => "H264_1080P_30FPS_3_LAYERS_HIGH_MOTION",
Self::H264540p25fps2LayersHighMotion => "H264_540P_25FPS_2_LAYERS_HIGH_MOTION",
Self::H264720p30fps1LayerHighMotion => "H264_720P_30FPS_1_LAYER_HIGH_MOTION",
Self::H2641080p30fps1LayerHighMotion => "H264_1080P_30FPS_1_LAYER_HIGH_MOTION",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"H264_720P_30FPS_3_LAYERS" => Some(Self::H264720p30fps3Layers),
"H264_1080P_30FPS_3_LAYERS" => Some(Self::H2641080p30fps3Layers),
"H264_540P_25FPS_2_LAYERS" => Some(Self::H264540p25fps2Layers),
"H264_720P_30FPS_1_LAYER" => Some(Self::H264720p30fps1Layer),
"H264_1080P_30FPS_1_LAYER" => Some(Self::H2641080p30fps1Layer),
"H264_720P_30FPS_3_LAYERS_HIGH_MOTION" => Some(Self::H264720p30fps3LayersHighMotion),
"H264_1080P_30FPS_3_LAYERS_HIGH_MOTION" => Some(Self::H2641080p30fps3LayersHighMotion),
"H264_540P_25FPS_2_LAYERS_HIGH_MOTION" => Some(Self::H264540p25fps2LayersHighMotion),
"H264_720P_30FPS_1_LAYER_HIGH_MOTION" => Some(Self::H264720p30fps1LayerHighMotion),
"H264_1080P_30FPS_1_LAYER_HIGH_MOTION" => Some(Self::H2641080p30fps1LayerHighMotion),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WebhookEvent {
#[prost(string, tag = "1")]
pub event: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub room: ::core::option::Option<Room>,
#[prost(message, optional, tag = "3")]
pub participant: ::core::option::Option<ParticipantInfo>,
#[prost(message, optional, tag = "9")]
pub egress_info: ::core::option::Option<EgressInfo>,
#[prost(message, optional, tag = "10")]
pub ingress_info: ::core::option::Option<IngressInfo>,
#[prost(message, optional, tag = "8")]
pub track: ::core::option::Option<TrackInfo>,
#[prost(message, optional, tag = "12")]
pub job: ::core::option::Option<Job>,
#[prost(string, tag = "6")]
pub id: ::prost::alloc::string::String,
#[prost(int64, tag = "7")]
pub created_at: i64,
#[deprecated]
#[prost(int32, tag = "11")]
pub num_dropped: i32,
#[prost(enumeration = "RoomEndReason", tag = "13")]
pub room_end_reason: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipStatus {
#[prost(enumeration = "SipStatusCode", tag = "1")]
pub code: i32,
#[prost(string, tag = "2")]
pub status: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CreateSipTrunkRequest {
#[prost(string, repeated, tag = "1")]
pub inbound_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "2")]
pub outbound_address: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub outbound_number: ::prost::alloc::string::String,
#[deprecated]
#[prost(string, repeated, tag = "4")]
pub inbound_numbers_regex: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "9")]
pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "5")]
pub inbound_username: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub inbound_password: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub outbound_username: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub outbound_password: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub metadata: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipCodec {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(uint32, tag = "2")]
pub rate: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SipMediaConfig {
#[prost(bool, tag = "1")]
pub only_listed_codecs: bool,
#[prost(message, repeated, tag = "2")]
pub codecs: ::prost::alloc::vec::Vec<SipCodec>,
#[prost(enumeration = "SipMediaEncryption", optional, tag = "3")]
pub encryption: ::core::option::Option<i32>,
#[prost(message, optional, tag = "4")]
pub media_timeout: ::core::option::Option<::pbjson_types::Duration>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ProviderInfo {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "ProviderType", tag = "3")]
pub r#type: i32,
#[prost(bool, tag = "4")]
pub prevent_transfer: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipTrunkInfo {
#[prost(string, tag = "1")]
pub sip_trunk_id: ::prost::alloc::string::String,
#[prost(enumeration = "sip_trunk_info::TrunkKind", tag = "14")]
pub kind: i32,
#[prost(string, repeated, tag = "2")]
pub inbound_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "3")]
pub outbound_address: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub outbound_number: ::prost::alloc::string::String,
#[prost(enumeration = "SipTransport", tag = "13")]
pub transport: i32,
#[deprecated]
#[prost(string, repeated, tag = "5")]
pub inbound_numbers_regex: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "10")]
pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "6")]
pub inbound_username: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub inbound_password: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub outbound_username: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub outbound_password: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub metadata: ::prost::alloc::string::String,
}
pub mod sip_trunk_info {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrunkKind {
TrunkLegacy = 0,
TrunkInbound = 1,
TrunkOutbound = 2,
}
impl TrunkKind {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::TrunkLegacy => "TRUNK_LEGACY",
Self::TrunkInbound => "TRUNK_INBOUND",
Self::TrunkOutbound => "TRUNK_OUTBOUND",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TRUNK_LEGACY" => Some(Self::TrunkLegacy),
"TRUNK_INBOUND" => Some(Self::TrunkInbound),
"TRUNK_OUTBOUND" => Some(Self::TrunkOutbound),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSipInboundTrunkRequest {
#[prost(message, optional, tag = "1")]
pub trunk: ::core::option::Option<SipInboundTrunkInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateSipInboundTrunkRequest {
#[prost(string, tag = "1")]
pub sip_trunk_id: ::prost::alloc::string::String,
#[prost(oneof = "update_sip_inbound_trunk_request::Action", tags = "2, 3")]
pub action: ::core::option::Option<update_sip_inbound_trunk_request::Action>,
}
pub mod update_sip_inbound_trunk_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Action {
#[prost(message, tag = "2")]
Replace(super::SipInboundTrunkInfo),
#[prost(message, tag = "3")]
Update(super::SipInboundTrunkUpdate),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SipInboundTrunkInfo {
#[prost(string, tag = "1")]
pub sip_trunk_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "4")]
pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "5")]
pub allowed_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "6")]
pub allowed_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "7")]
pub auth_username: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub auth_password: ::prost::alloc::string::String,
#[prost(string, tag = "19")]
pub auth_realm: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "9")]
pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "10")]
pub headers_to_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "14")]
pub attributes_to_headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(enumeration = "SipHeaderOptions", tag = "15")]
pub include_headers: i32,
#[prost(message, optional, tag = "11")]
pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
#[prost(enumeration = "SipStatusCode", tag = "21")]
pub ringing_timeout_status: i32,
#[prost(message, optional, tag = "12")]
pub max_call_duration: ::core::option::Option<::pbjson_types::Duration>,
#[prost(bool, tag = "13")]
pub krisp_enabled: bool,
#[deprecated]
#[prost(enumeration = "SipMediaEncryption", tag = "16")]
pub media_encryption: i32,
#[prost(message, optional, tag = "20")]
pub media: ::core::option::Option<SipMediaConfig>,
#[prost(message, optional, tag = "17")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "18")]
pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SipInboundTrunkUpdate {
#[prost(message, optional, tag = "1")]
pub numbers: ::core::option::Option<ListUpdate>,
#[prost(message, optional, tag = "2")]
pub allowed_addresses: ::core::option::Option<ListUpdate>,
#[prost(message, optional, tag = "3")]
pub allowed_numbers: ::core::option::Option<ListUpdate>,
#[prost(string, optional, tag = "4")]
pub auth_username: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub auth_password: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "9")]
pub auth_realm: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub metadata: ::core::option::Option<::prost::alloc::string::String>,
#[deprecated]
#[prost(enumeration = "SipMediaEncryption", optional, tag = "8")]
pub media_encryption: ::core::option::Option<i32>,
#[prost(message, optional, tag = "10")]
pub media: ::core::option::Option<SipMediaConfig>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSipOutboundTrunkRequest {
#[prost(message, optional, tag = "1")]
pub trunk: ::core::option::Option<SipOutboundTrunkInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateSipOutboundTrunkRequest {
#[prost(string, tag = "1")]
pub sip_trunk_id: ::prost::alloc::string::String,
#[prost(oneof = "update_sip_outbound_trunk_request::Action", tags = "2, 3")]
pub action: ::core::option::Option<update_sip_outbound_trunk_request::Action>,
}
pub mod update_sip_outbound_trunk_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Action {
#[prost(message, tag = "2")]
Replace(super::SipOutboundTrunkInfo),
#[prost(message, tag = "3")]
Update(super::SipOutboundTrunkUpdate),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SipOutboundTrunkInfo {
#[prost(string, tag = "1")]
pub sip_trunk_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub metadata: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub address: ::prost::alloc::string::String,
#[prost(string, tag = "14")]
pub destination_country: ::prost::alloc::string::String,
#[prost(enumeration = "SipTransport", tag = "5")]
pub transport: i32,
#[prost(string, repeated, tag = "6")]
pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "7")]
pub auth_username: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub auth_password: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "9")]
pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "10")]
pub headers_to_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "11")]
pub attributes_to_headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(enumeration = "SipHeaderOptions", tag = "12")]
pub include_headers: i32,
#[deprecated]
#[prost(enumeration = "SipMediaEncryption", tag = "13")]
pub media_encryption: i32,
#[prost(message, optional, tag = "18")]
pub media: ::core::option::Option<SipMediaConfig>,
#[prost(string, tag = "15")]
pub from_host: ::prost::alloc::string::String,
#[prost(message, optional, tag = "16")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "17")]
pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SipOutboundTrunkUpdate {
#[prost(string, optional, tag = "1")]
pub address: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration = "SipTransport", optional, tag = "2")]
pub transport: ::core::option::Option<i32>,
#[prost(string, optional, tag = "9")]
pub destination_country: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "3")]
pub numbers: ::core::option::Option<ListUpdate>,
#[prost(string, optional, tag = "4")]
pub auth_username: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub auth_password: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "7")]
pub metadata: ::core::option::Option<::prost::alloc::string::String>,
#[deprecated]
#[prost(enumeration = "SipMediaEncryption", optional, tag = "8")]
pub media_encryption: ::core::option::Option<i32>,
#[prost(message, optional, tag = "11")]
pub media: ::core::option::Option<SipMediaConfig>,
#[prost(string, optional, tag = "10")]
pub from_host: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSipInboundTrunkRequest {
#[prost(string, tag = "1")]
pub sip_trunk_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSipInboundTrunkResponse {
#[prost(message, optional, tag = "1")]
pub trunk: ::core::option::Option<SipInboundTrunkInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSipOutboundTrunkRequest {
#[prost(string, tag = "1")]
pub sip_trunk_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSipOutboundTrunkResponse {
#[prost(message, optional, tag = "1")]
pub trunk: ::core::option::Option<SipOutboundTrunkInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListSipTrunkRequest {
#[prost(message, optional, tag = "1")]
pub page: ::core::option::Option<Pagination>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSipTrunkResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<SipTrunkInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListSipInboundTrunkRequest {
#[prost(message, optional, tag = "3")]
pub page: ::core::option::Option<Pagination>,
#[prost(string, repeated, tag = "1")]
pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSipInboundTrunkResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<SipInboundTrunkInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListSipOutboundTrunkRequest {
#[prost(message, optional, tag = "3")]
pub page: ::core::option::Option<Pagination>,
#[prost(string, repeated, tag = "1")]
pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSipOutboundTrunkResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<SipOutboundTrunkInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteSipTrunkRequest {
#[prost(string, tag = "1")]
pub sip_trunk_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipDispatchRuleDirect {
#[prost(string, tag = "1")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub pin: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipDispatchRuleIndividual {
#[prost(string, tag = "1")]
pub room_prefix: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub pin: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub no_randomness: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipDispatchRuleCallee {
#[prost(string, tag = "1")]
pub room_prefix: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub pin: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub randomize: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipDispatchRule {
#[prost(oneof = "sip_dispatch_rule::Rule", tags = "1, 2, 3")]
pub rule: ::core::option::Option<sip_dispatch_rule::Rule>,
}
pub mod sip_dispatch_rule {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Rule {
#[prost(message, tag = "1")]
DispatchRuleDirect(super::SipDispatchRuleDirect),
#[prost(message, tag = "2")]
DispatchRuleIndividual(super::SipDispatchRuleIndividual),
#[prost(message, tag = "3")]
DispatchRuleCallee(super::SipDispatchRuleCallee),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSipDispatchRuleRequest {
#[prost(message, optional, tag = "10")]
pub dispatch_rule: ::core::option::Option<SipDispatchRuleInfo>,
#[deprecated]
#[prost(message, optional, tag = "1")]
pub rule: ::core::option::Option<SipDispatchRule>,
#[deprecated]
#[prost(string, repeated, tag = "2")]
pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[deprecated]
#[prost(bool, tag = "3")]
pub hide_phone_number: bool,
#[deprecated]
#[prost(string, repeated, tag = "6")]
pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[deprecated]
#[prost(string, tag = "4")]
pub name: ::prost::alloc::string::String,
#[deprecated]
#[prost(string, tag = "5")]
pub metadata: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "7")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[deprecated]
#[prost(string, tag = "8")]
pub room_preset: ::prost::alloc::string::String,
#[deprecated]
#[prost(message, optional, tag = "9")]
pub room_config: ::core::option::Option<RoomConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateSipDispatchRuleRequest {
#[prost(string, tag = "1")]
pub sip_dispatch_rule_id: ::prost::alloc::string::String,
#[prost(oneof = "update_sip_dispatch_rule_request::Action", tags = "2, 3")]
pub action: ::core::option::Option<update_sip_dispatch_rule_request::Action>,
}
pub mod update_sip_dispatch_rule_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Action {
#[prost(message, tag = "2")]
Replace(super::SipDispatchRuleInfo),
#[prost(message, tag = "3")]
Update(super::SipDispatchRuleUpdate),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SipDispatchRuleInfo {
#[prost(string, tag = "1")]
pub sip_dispatch_rule_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub rule: ::core::option::Option<SipDispatchRule>,
#[prost(string, repeated, tag = "3")]
pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(bool, tag = "4")]
pub hide_phone_number: bool,
#[prost(string, repeated, tag = "7")]
pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "13")]
pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "5")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub metadata: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "8")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "9")]
pub room_preset: ::prost::alloc::string::String,
#[prost(message, optional, tag = "10")]
pub room_config: ::core::option::Option<RoomConfiguration>,
#[prost(message, optional, tag = "16")]
pub media: ::core::option::Option<SipMediaConfig>,
#[prost(bool, tag = "11")]
pub krisp_enabled: bool,
#[deprecated]
#[prost(enumeration = "SipMediaEncryption", tag = "12")]
pub media_encryption: i32,
#[prost(message, optional, tag = "14")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "15")]
pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SipDispatchRuleUpdate {
#[prost(message, optional, tag = "1")]
pub trunk_ids: ::core::option::Option<ListUpdate>,
#[prost(message, optional, tag = "2")]
pub rule: ::core::option::Option<SipDispatchRule>,
#[prost(string, optional, tag = "3")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub metadata: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "5")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[deprecated]
#[prost(enumeration = "SipMediaEncryption", optional, tag = "6")]
pub media_encryption: ::core::option::Option<i32>,
#[prost(message, optional, tag = "7")]
pub media: ::core::option::Option<SipMediaConfig>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListSipDispatchRuleRequest {
#[prost(message, optional, tag = "3")]
pub page: ::core::option::Option<Pagination>,
#[prost(string, repeated, tag = "1")]
pub dispatch_rule_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSipDispatchRuleResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<SipDispatchRuleInfo>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteSipDispatchRuleRequest {
#[prost(string, tag = "1")]
pub sip_dispatch_rule_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SipOutboundConfig {
#[prost(string, tag = "1")]
pub hostname: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub destination_country: ::prost::alloc::string::String,
#[prost(enumeration = "SipTransport", tag = "2")]
pub transport: i32,
#[prost(string, tag = "3")]
pub auth_username: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub auth_password: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "5")]
pub headers_to_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "6")]
pub attributes_to_headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "8")]
pub from_host: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSipParticipantRequest {
#[prost(string, tag = "1")]
pub sip_trunk_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "20")]
pub trunk: ::core::option::Option<SipOutboundConfig>,
#[prost(message, optional, tag = "24")]
pub sip_request_uri: ::core::option::Option<SipRequestDest>,
#[prost(message, optional, tag = "25")]
pub sip_to_header: ::core::option::Option<SipNamedDest>,
#[prost(message, optional, tag = "26")]
pub sip_from_header: ::core::option::Option<SipNamedDest>,
#[prost(string, tag = "2")]
pub sip_call_to: ::prost::alloc::string::String,
#[prost(string, tag = "27")]
pub to_user_override: ::prost::alloc::string::String,
#[prost(string, tag = "15")]
pub sip_number: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub participant_name: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub participant_metadata: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "9")]
pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "5")]
pub dtmf: ::prost::alloc::string::String,
#[deprecated]
#[prost(bool, tag = "6")]
pub play_ringtone: bool,
#[prost(bool, tag = "13")]
pub play_dialtone: bool,
#[prost(bool, tag = "10")]
pub hide_phone_number: bool,
#[prost(map = "string, string", tag = "16")]
pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(enumeration = "SipHeaderOptions", tag = "17")]
pub include_headers: i32,
#[prost(message, optional, tag = "11")]
pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
#[prost(message, optional, tag = "12")]
pub max_call_duration: ::core::option::Option<::pbjson_types::Duration>,
#[prost(bool, tag = "14")]
pub krisp_enabled: bool,
#[deprecated]
#[prost(enumeration = "SipMediaEncryption", tag = "18")]
pub media_encryption: i32,
#[prost(message, optional, tag = "23")]
pub media: ::core::option::Option<SipMediaConfig>,
#[prost(bool, tag = "19")]
pub wait_until_answered: bool,
#[prost(string, optional, tag = "21")]
pub display_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, optional, tag = "22")]
pub destination: ::core::option::Option<Destination>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipParticipantInfo {
#[prost(string, tag = "1")]
pub participant_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub sip_call_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TransferSipParticipantRequest {
#[prost(string, tag = "1")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub transfer_to: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub play_dialtone: bool,
#[prost(map = "string, string", tag = "5")]
pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(message, optional, tag = "6")]
pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TransferSipParticipantResponse {
#[prost(string, tag = "1")]
pub transfer_id: ::prost::alloc::string::String,
#[prost(enumeration = "SipTransferStatus", tag = "2")]
pub status: i32,
#[prost(enumeration = "SipTransferReason", tag = "3")]
pub reason: i32,
#[prost(message, optional, tag = "4")]
pub sip_status: ::core::option::Option<SipStatus>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipTransferError {
#[prost(string, tag = "1")]
pub transfer_id: ::prost::alloc::string::String,
#[prost(enumeration = "SipTransferReason", tag = "2")]
pub reason: i32,
#[prost(message, optional, tag = "3")]
pub sip_status: ::core::option::Option<SipStatus>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SipCallInfo {
#[prost(string, tag = "1")]
pub call_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub trunk_id: ::prost::alloc::string::String,
#[prost(string, tag = "16")]
pub dispatch_rule_id: ::prost::alloc::string::String,
#[prost(string, tag = "17")]
pub region: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub room_id: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "18")]
pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(message, optional, tag = "6")]
pub from_uri: ::core::option::Option<SipUri>,
#[prost(message, optional, tag = "7")]
pub to_uri: ::core::option::Option<SipUri>,
#[deprecated]
#[prost(int64, tag = "9")]
pub created_at: i64,
#[deprecated]
#[prost(int64, tag = "10")]
pub started_at: i64,
#[deprecated]
#[prost(int64, tag = "11")]
pub ended_at: i64,
#[prost(enumeration = "SipFeature", repeated, tag = "14")]
pub enabled_features: ::prost::alloc::vec::Vec<i32>,
#[prost(enumeration = "SipCallDirection", tag = "15")]
pub call_direction: i32,
#[prost(enumeration = "SipCallStatus", tag = "8")]
pub call_status: i32,
#[prost(int64, tag = "22")]
pub created_at_ns: i64,
#[prost(int64, tag = "23")]
pub started_at_ns: i64,
#[prost(int64, tag = "24")]
pub ended_at_ns: i64,
#[prost(enumeration = "DisconnectReason", tag = "12")]
pub disconnect_reason: i32,
#[prost(string, tag = "13")]
pub error: ::prost::alloc::string::String,
#[prost(message, optional, tag = "19")]
pub call_status_code: ::core::option::Option<SipStatus>,
#[prost(string, tag = "20")]
pub audio_codec: ::prost::alloc::string::String,
#[prost(string, tag = "21")]
pub media_encryption: ::prost::alloc::string::String,
#[prost(string, tag = "25")]
pub pcap_file_link: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "26")]
pub call_context: ::prost::alloc::vec::Vec<::pbjson_types::Any>,
#[prost(message, optional, tag = "27")]
pub provider_info: ::core::option::Option<ProviderInfo>,
#[prost(string, tag = "28")]
pub sip_call_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipTransferInfo {
#[prost(string, tag = "1")]
pub transfer_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub call_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub transfer_to: ::prost::alloc::string::String,
#[prost(int64, tag = "4")]
pub transfer_initiated_at_ns: i64,
#[prost(int64, tag = "5")]
pub transfer_completed_at_ns: i64,
#[prost(enumeration = "SipTransferStatus", tag = "6")]
pub transfer_status: i32,
#[prost(string, tag = "7")]
pub error: ::prost::alloc::string::String,
#[prost(message, optional, tag = "8")]
pub transfer_status_code: ::core::option::Option<SipStatus>,
#[prost(enumeration = "SipTransferReason", tag = "9")]
pub reason: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipUri {
#[prost(string, tag = "1")]
pub user: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub host: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub ip: ::prost::alloc::string::String,
#[prost(uint32, tag = "4")]
pub port: u32,
#[prost(enumeration = "SipTransport", tag = "5")]
pub transport: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipRequestDest {
#[prost(oneof = "sip_request_dest::Uri", tags = "1, 2")]
pub uri: ::core::option::Option<sip_request_dest::Uri>,
}
pub mod sip_request_dest {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Uri {
#[prost(string, tag = "1")]
Raw(::prost::alloc::string::String),
#[prost(message, tag = "2")]
Values(super::SipUri),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SipNamedDest {
#[prost(string, tag = "3")]
pub display_name: ::prost::alloc::string::String,
#[prost(oneof = "sip_named_dest::Uri", tags = "1, 2")]
pub uri: ::core::option::Option<sip_named_dest::Uri>,
}
pub mod sip_named_dest {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Uri {
#[prost(string, tag = "1")]
Raw(::prost::alloc::string::String),
#[prost(message, tag = "2")]
Values(super::SipUri),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Destination {
#[prost(string, tag = "1")]
pub city: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub country: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub region: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SipStatusCode {
SipStatusUnknown = 0,
SipStatusTrying = 100,
SipStatusRinging = 180,
SipStatusCallIsForwarded = 181,
SipStatusQueued = 182,
SipStatusSessionProgress = 183,
SipStatusEarlyDialogTerminated = 199,
SipStatusOk = 200,
SipStatusAccepted = 202,
SipStatusNoNotification = 204,
SipStatusMultipleChoices = 300,
SipStatusMovedPermanently = 301,
SipStatusMovedTemporarily = 302,
SipStatusUseProxy = 305,
SipStatusAlternativeService = 380,
SipStatusBadRequest = 400,
SipStatusUnauthorized = 401,
SipStatusPaymentRequired = 402,
SipStatusForbidden = 403,
SipStatusNotfound = 404,
SipStatusMethodNotAllowed = 405,
SipStatusNotAcceptable = 406,
SipStatusProxyAuthRequired = 407,
SipStatusRequestTimeout = 408,
SipStatusConflict = 409,
SipStatusGone = 410,
SipStatusLengthRequired = 411,
SipStatusConditionalRequestFailed = 412,
SipStatusRequestEntityTooLarge = 413,
SipStatusRequestUriTooLong = 414,
SipStatusUnsupportedMediaType = 415,
SipStatusRequestedRangeNotSatisfiable = 416,
SipStatusUnknownResourcePriority = 417,
SipStatusBadExtension = 420,
SipStatusExtensionRequired = 421,
SipStatusSessionIntervalTooSmall = 422,
SipStatusIntervalTooBrief = 423,
SipStatusBadLocationInformation = 424,
SipStatusBadAlertMessage = 425,
SipStatusUseIdentityHeader = 428,
SipStatusProvideReferrerIdentity = 429,
SipStatusFlowFailed = 430,
SipStatusAnonymityDisallowed = 433,
SipStatusBadIdentityInfo = 436,
SipStatusUnsupportedCertificate = 437,
SipStatusInvalidIdentityHeader = 438,
SipStatusFirstHopLacksOutboundSupport = 439,
SipStatusMaxBreadthExceeded = 440,
SipStatusBadInfoPackage = 469,
SipStatusConsentNeeded = 470,
SipStatusTemporarilyUnavailable = 480,
SipStatusCallTransactionDoesNotExists = 481,
SipStatusLoopDetected = 482,
SipStatusTooManyHops = 483,
SipStatusAddressIncomplete = 484,
SipStatusAmbiguous = 485,
SipStatusBusyHere = 486,
SipStatusRequestTerminated = 487,
SipStatusNotAcceptableHere = 488,
SipStatusBadEvent = 489,
SipStatusRequestPending = 491,
SipStatusUndecipherable = 493,
SipStatusSecurityAgreementRequired = 494,
SipStatusInternalServerError = 500,
SipStatusNotImplemented = 501,
SipStatusBadGateway = 502,
SipStatusServiceUnavailable = 503,
SipStatusGatewayTimeout = 504,
SipStatusVersionNotSupported = 505,
SipStatusMessageTooLarge = 513,
SipStatusGlobalBusyEverywhere = 600,
SipStatusGlobalDecline = 603,
SipStatusGlobalDoesNotExistAnywhere = 604,
SipStatusGlobalNotAcceptable = 606,
SipStatusGlobalUnwanted = 607,
SipStatusGlobalRejected = 608,
}
impl SipStatusCode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::SipStatusUnknown => "SIP_STATUS_UNKNOWN",
Self::SipStatusTrying => "SIP_STATUS_TRYING",
Self::SipStatusRinging => "SIP_STATUS_RINGING",
Self::SipStatusCallIsForwarded => "SIP_STATUS_CALL_IS_FORWARDED",
Self::SipStatusQueued => "SIP_STATUS_QUEUED",
Self::SipStatusSessionProgress => "SIP_STATUS_SESSION_PROGRESS",
Self::SipStatusEarlyDialogTerminated => "SIP_STATUS_EARLY_DIALOG_TERMINATED",
Self::SipStatusOk => "SIP_STATUS_OK",
Self::SipStatusAccepted => "SIP_STATUS_ACCEPTED",
Self::SipStatusNoNotification => "SIP_STATUS_NO_NOTIFICATION",
Self::SipStatusMultipleChoices => "SIP_STATUS_MULTIPLE_CHOICES",
Self::SipStatusMovedPermanently => "SIP_STATUS_MOVED_PERMANENTLY",
Self::SipStatusMovedTemporarily => "SIP_STATUS_MOVED_TEMPORARILY",
Self::SipStatusUseProxy => "SIP_STATUS_USE_PROXY",
Self::SipStatusAlternativeService => "SIP_STATUS_ALTERNATIVE_SERVICE",
Self::SipStatusBadRequest => "SIP_STATUS_BAD_REQUEST",
Self::SipStatusUnauthorized => "SIP_STATUS_UNAUTHORIZED",
Self::SipStatusPaymentRequired => "SIP_STATUS_PAYMENT_REQUIRED",
Self::SipStatusForbidden => "SIP_STATUS_FORBIDDEN",
Self::SipStatusNotfound => "SIP_STATUS_NOTFOUND",
Self::SipStatusMethodNotAllowed => "SIP_STATUS_METHOD_NOT_ALLOWED",
Self::SipStatusNotAcceptable => "SIP_STATUS_NOT_ACCEPTABLE",
Self::SipStatusProxyAuthRequired => "SIP_STATUS_PROXY_AUTH_REQUIRED",
Self::SipStatusRequestTimeout => "SIP_STATUS_REQUEST_TIMEOUT",
Self::SipStatusConflict => "SIP_STATUS_CONFLICT",
Self::SipStatusGone => "SIP_STATUS_GONE",
Self::SipStatusLengthRequired => "SIP_STATUS_LENGTH_REQUIRED",
Self::SipStatusConditionalRequestFailed => "SIP_STATUS_CONDITIONAL_REQUEST_FAILED",
Self::SipStatusRequestEntityTooLarge => "SIP_STATUS_REQUEST_ENTITY_TOO_LARGE",
Self::SipStatusRequestUriTooLong => "SIP_STATUS_REQUEST_URI_TOO_LONG",
Self::SipStatusUnsupportedMediaType => "SIP_STATUS_UNSUPPORTED_MEDIA_TYPE",
Self::SipStatusRequestedRangeNotSatisfiable => "SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE",
Self::SipStatusUnknownResourcePriority => "SIP_STATUS_UNKNOWN_RESOURCE_PRIORITY",
Self::SipStatusBadExtension => "SIP_STATUS_BAD_EXTENSION",
Self::SipStatusExtensionRequired => "SIP_STATUS_EXTENSION_REQUIRED",
Self::SipStatusSessionIntervalTooSmall => "SIP_STATUS_SESSION_INTERVAL_TOO_SMALL",
Self::SipStatusIntervalTooBrief => "SIP_STATUS_INTERVAL_TOO_BRIEF",
Self::SipStatusBadLocationInformation => "SIP_STATUS_BAD_LOCATION_INFORMATION",
Self::SipStatusBadAlertMessage => "SIP_STATUS_BAD_ALERT_MESSAGE",
Self::SipStatusUseIdentityHeader => "SIP_STATUS_USE_IDENTITY_HEADER",
Self::SipStatusProvideReferrerIdentity => "SIP_STATUS_PROVIDE_REFERRER_IDENTITY",
Self::SipStatusFlowFailed => "SIP_STATUS_FLOW_FAILED",
Self::SipStatusAnonymityDisallowed => "SIP_STATUS_ANONYMITY_DISALLOWED",
Self::SipStatusBadIdentityInfo => "SIP_STATUS_BAD_IDENTITY_INFO",
Self::SipStatusUnsupportedCertificate => "SIP_STATUS_UNSUPPORTED_CERTIFICATE",
Self::SipStatusInvalidIdentityHeader => "SIP_STATUS_INVALID_IDENTITY_HEADER",
Self::SipStatusFirstHopLacksOutboundSupport => "SIP_STATUS_FIRST_HOP_LACKS_OUTBOUND_SUPPORT",
Self::SipStatusMaxBreadthExceeded => "SIP_STATUS_MAX_BREADTH_EXCEEDED",
Self::SipStatusBadInfoPackage => "SIP_STATUS_BAD_INFO_PACKAGE",
Self::SipStatusConsentNeeded => "SIP_STATUS_CONSENT_NEEDED",
Self::SipStatusTemporarilyUnavailable => "SIP_STATUS_TEMPORARILY_UNAVAILABLE",
Self::SipStatusCallTransactionDoesNotExists => "SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS",
Self::SipStatusLoopDetected => "SIP_STATUS_LOOP_DETECTED",
Self::SipStatusTooManyHops => "SIP_STATUS_TOO_MANY_HOPS",
Self::SipStatusAddressIncomplete => "SIP_STATUS_ADDRESS_INCOMPLETE",
Self::SipStatusAmbiguous => "SIP_STATUS_AMBIGUOUS",
Self::SipStatusBusyHere => "SIP_STATUS_BUSY_HERE",
Self::SipStatusRequestTerminated => "SIP_STATUS_REQUEST_TERMINATED",
Self::SipStatusNotAcceptableHere => "SIP_STATUS_NOT_ACCEPTABLE_HERE",
Self::SipStatusBadEvent => "SIP_STATUS_BAD_EVENT",
Self::SipStatusRequestPending => "SIP_STATUS_REQUEST_PENDING",
Self::SipStatusUndecipherable => "SIP_STATUS_UNDECIPHERABLE",
Self::SipStatusSecurityAgreementRequired => "SIP_STATUS_SECURITY_AGREEMENT_REQUIRED",
Self::SipStatusInternalServerError => "SIP_STATUS_INTERNAL_SERVER_ERROR",
Self::SipStatusNotImplemented => "SIP_STATUS_NOT_IMPLEMENTED",
Self::SipStatusBadGateway => "SIP_STATUS_BAD_GATEWAY",
Self::SipStatusServiceUnavailable => "SIP_STATUS_SERVICE_UNAVAILABLE",
Self::SipStatusGatewayTimeout => "SIP_STATUS_GATEWAY_TIMEOUT",
Self::SipStatusVersionNotSupported => "SIP_STATUS_VERSION_NOT_SUPPORTED",
Self::SipStatusMessageTooLarge => "SIP_STATUS_MESSAGE_TOO_LARGE",
Self::SipStatusGlobalBusyEverywhere => "SIP_STATUS_GLOBAL_BUSY_EVERYWHERE",
Self::SipStatusGlobalDecline => "SIP_STATUS_GLOBAL_DECLINE",
Self::SipStatusGlobalDoesNotExistAnywhere => "SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE",
Self::SipStatusGlobalNotAcceptable => "SIP_STATUS_GLOBAL_NOT_ACCEPTABLE",
Self::SipStatusGlobalUnwanted => "SIP_STATUS_GLOBAL_UNWANTED",
Self::SipStatusGlobalRejected => "SIP_STATUS_GLOBAL_REJECTED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SIP_STATUS_UNKNOWN" => Some(Self::SipStatusUnknown),
"SIP_STATUS_TRYING" => Some(Self::SipStatusTrying),
"SIP_STATUS_RINGING" => Some(Self::SipStatusRinging),
"SIP_STATUS_CALL_IS_FORWARDED" => Some(Self::SipStatusCallIsForwarded),
"SIP_STATUS_QUEUED" => Some(Self::SipStatusQueued),
"SIP_STATUS_SESSION_PROGRESS" => Some(Self::SipStatusSessionProgress),
"SIP_STATUS_EARLY_DIALOG_TERMINATED" => Some(Self::SipStatusEarlyDialogTerminated),
"SIP_STATUS_OK" => Some(Self::SipStatusOk),
"SIP_STATUS_ACCEPTED" => Some(Self::SipStatusAccepted),
"SIP_STATUS_NO_NOTIFICATION" => Some(Self::SipStatusNoNotification),
"SIP_STATUS_MULTIPLE_CHOICES" => Some(Self::SipStatusMultipleChoices),
"SIP_STATUS_MOVED_PERMANENTLY" => Some(Self::SipStatusMovedPermanently),
"SIP_STATUS_MOVED_TEMPORARILY" => Some(Self::SipStatusMovedTemporarily),
"SIP_STATUS_USE_PROXY" => Some(Self::SipStatusUseProxy),
"SIP_STATUS_ALTERNATIVE_SERVICE" => Some(Self::SipStatusAlternativeService),
"SIP_STATUS_BAD_REQUEST" => Some(Self::SipStatusBadRequest),
"SIP_STATUS_UNAUTHORIZED" => Some(Self::SipStatusUnauthorized),
"SIP_STATUS_PAYMENT_REQUIRED" => Some(Self::SipStatusPaymentRequired),
"SIP_STATUS_FORBIDDEN" => Some(Self::SipStatusForbidden),
"SIP_STATUS_NOTFOUND" => Some(Self::SipStatusNotfound),
"SIP_STATUS_METHOD_NOT_ALLOWED" => Some(Self::SipStatusMethodNotAllowed),
"SIP_STATUS_NOT_ACCEPTABLE" => Some(Self::SipStatusNotAcceptable),
"SIP_STATUS_PROXY_AUTH_REQUIRED" => Some(Self::SipStatusProxyAuthRequired),
"SIP_STATUS_REQUEST_TIMEOUT" => Some(Self::SipStatusRequestTimeout),
"SIP_STATUS_CONFLICT" => Some(Self::SipStatusConflict),
"SIP_STATUS_GONE" => Some(Self::SipStatusGone),
"SIP_STATUS_LENGTH_REQUIRED" => Some(Self::SipStatusLengthRequired),
"SIP_STATUS_CONDITIONAL_REQUEST_FAILED" => Some(Self::SipStatusConditionalRequestFailed),
"SIP_STATUS_REQUEST_ENTITY_TOO_LARGE" => Some(Self::SipStatusRequestEntityTooLarge),
"SIP_STATUS_REQUEST_URI_TOO_LONG" => Some(Self::SipStatusRequestUriTooLong),
"SIP_STATUS_UNSUPPORTED_MEDIA_TYPE" => Some(Self::SipStatusUnsupportedMediaType),
"SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE" => Some(Self::SipStatusRequestedRangeNotSatisfiable),
"SIP_STATUS_UNKNOWN_RESOURCE_PRIORITY" => Some(Self::SipStatusUnknownResourcePriority),
"SIP_STATUS_BAD_EXTENSION" => Some(Self::SipStatusBadExtension),
"SIP_STATUS_EXTENSION_REQUIRED" => Some(Self::SipStatusExtensionRequired),
"SIP_STATUS_SESSION_INTERVAL_TOO_SMALL" => Some(Self::SipStatusSessionIntervalTooSmall),
"SIP_STATUS_INTERVAL_TOO_BRIEF" => Some(Self::SipStatusIntervalTooBrief),
"SIP_STATUS_BAD_LOCATION_INFORMATION" => Some(Self::SipStatusBadLocationInformation),
"SIP_STATUS_BAD_ALERT_MESSAGE" => Some(Self::SipStatusBadAlertMessage),
"SIP_STATUS_USE_IDENTITY_HEADER" => Some(Self::SipStatusUseIdentityHeader),
"SIP_STATUS_PROVIDE_REFERRER_IDENTITY" => Some(Self::SipStatusProvideReferrerIdentity),
"SIP_STATUS_FLOW_FAILED" => Some(Self::SipStatusFlowFailed),
"SIP_STATUS_ANONYMITY_DISALLOWED" => Some(Self::SipStatusAnonymityDisallowed),
"SIP_STATUS_BAD_IDENTITY_INFO" => Some(Self::SipStatusBadIdentityInfo),
"SIP_STATUS_UNSUPPORTED_CERTIFICATE" => Some(Self::SipStatusUnsupportedCertificate),
"SIP_STATUS_INVALID_IDENTITY_HEADER" => Some(Self::SipStatusInvalidIdentityHeader),
"SIP_STATUS_FIRST_HOP_LACKS_OUTBOUND_SUPPORT" => Some(Self::SipStatusFirstHopLacksOutboundSupport),
"SIP_STATUS_MAX_BREADTH_EXCEEDED" => Some(Self::SipStatusMaxBreadthExceeded),
"SIP_STATUS_BAD_INFO_PACKAGE" => Some(Self::SipStatusBadInfoPackage),
"SIP_STATUS_CONSENT_NEEDED" => Some(Self::SipStatusConsentNeeded),
"SIP_STATUS_TEMPORARILY_UNAVAILABLE" => Some(Self::SipStatusTemporarilyUnavailable),
"SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS" => Some(Self::SipStatusCallTransactionDoesNotExists),
"SIP_STATUS_LOOP_DETECTED" => Some(Self::SipStatusLoopDetected),
"SIP_STATUS_TOO_MANY_HOPS" => Some(Self::SipStatusTooManyHops),
"SIP_STATUS_ADDRESS_INCOMPLETE" => Some(Self::SipStatusAddressIncomplete),
"SIP_STATUS_AMBIGUOUS" => Some(Self::SipStatusAmbiguous),
"SIP_STATUS_BUSY_HERE" => Some(Self::SipStatusBusyHere),
"SIP_STATUS_REQUEST_TERMINATED" => Some(Self::SipStatusRequestTerminated),
"SIP_STATUS_NOT_ACCEPTABLE_HERE" => Some(Self::SipStatusNotAcceptableHere),
"SIP_STATUS_BAD_EVENT" => Some(Self::SipStatusBadEvent),
"SIP_STATUS_REQUEST_PENDING" => Some(Self::SipStatusRequestPending),
"SIP_STATUS_UNDECIPHERABLE" => Some(Self::SipStatusUndecipherable),
"SIP_STATUS_SECURITY_AGREEMENT_REQUIRED" => Some(Self::SipStatusSecurityAgreementRequired),
"SIP_STATUS_INTERNAL_SERVER_ERROR" => Some(Self::SipStatusInternalServerError),
"SIP_STATUS_NOT_IMPLEMENTED" => Some(Self::SipStatusNotImplemented),
"SIP_STATUS_BAD_GATEWAY" => Some(Self::SipStatusBadGateway),
"SIP_STATUS_SERVICE_UNAVAILABLE" => Some(Self::SipStatusServiceUnavailable),
"SIP_STATUS_GATEWAY_TIMEOUT" => Some(Self::SipStatusGatewayTimeout),
"SIP_STATUS_VERSION_NOT_SUPPORTED" => Some(Self::SipStatusVersionNotSupported),
"SIP_STATUS_MESSAGE_TOO_LARGE" => Some(Self::SipStatusMessageTooLarge),
"SIP_STATUS_GLOBAL_BUSY_EVERYWHERE" => Some(Self::SipStatusGlobalBusyEverywhere),
"SIP_STATUS_GLOBAL_DECLINE" => Some(Self::SipStatusGlobalDecline),
"SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE" => Some(Self::SipStatusGlobalDoesNotExistAnywhere),
"SIP_STATUS_GLOBAL_NOT_ACCEPTABLE" => Some(Self::SipStatusGlobalNotAcceptable),
"SIP_STATUS_GLOBAL_UNWANTED" => Some(Self::SipStatusGlobalUnwanted),
"SIP_STATUS_GLOBAL_REJECTED" => Some(Self::SipStatusGlobalRejected),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SipTransport {
Auto = 0,
Udp = 1,
Tcp = 2,
Tls = 3,
}
impl SipTransport {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Auto => "SIP_TRANSPORT_AUTO",
Self::Udp => "SIP_TRANSPORT_UDP",
Self::Tcp => "SIP_TRANSPORT_TCP",
Self::Tls => "SIP_TRANSPORT_TLS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SIP_TRANSPORT_AUTO" => Some(Self::Auto),
"SIP_TRANSPORT_UDP" => Some(Self::Udp),
"SIP_TRANSPORT_TCP" => Some(Self::Tcp),
"SIP_TRANSPORT_TLS" => Some(Self::Tls),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SipHeaderOptions {
SipNoHeaders = 0,
SipXHeaders = 1,
SipAllHeaders = 2,
}
impl SipHeaderOptions {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::SipNoHeaders => "SIP_NO_HEADERS",
Self::SipXHeaders => "SIP_X_HEADERS",
Self::SipAllHeaders => "SIP_ALL_HEADERS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SIP_NO_HEADERS" => Some(Self::SipNoHeaders),
"SIP_X_HEADERS" => Some(Self::SipXHeaders),
"SIP_ALL_HEADERS" => Some(Self::SipAllHeaders),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SipMediaEncryption {
SipMediaEncryptDisable = 0,
SipMediaEncryptAllow = 1,
SipMediaEncryptRequire = 2,
}
impl SipMediaEncryption {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::SipMediaEncryptDisable => "SIP_MEDIA_ENCRYPT_DISABLE",
Self::SipMediaEncryptAllow => "SIP_MEDIA_ENCRYPT_ALLOW",
Self::SipMediaEncryptRequire => "SIP_MEDIA_ENCRYPT_REQUIRE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SIP_MEDIA_ENCRYPT_DISABLE" => Some(Self::SipMediaEncryptDisable),
"SIP_MEDIA_ENCRYPT_ALLOW" => Some(Self::SipMediaEncryptAllow),
"SIP_MEDIA_ENCRYPT_REQUIRE" => Some(Self::SipMediaEncryptRequire),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProviderType {
Unknown = 0,
Internal = 1,
External = 2,
}
impl ProviderType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "PROVIDER_TYPE_UNKNOWN",
Self::Internal => "PROVIDER_TYPE_INTERNAL",
Self::External => "PROVIDER_TYPE_EXTERNAL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PROVIDER_TYPE_UNKNOWN" => Some(Self::Unknown),
"PROVIDER_TYPE_INTERNAL" => Some(Self::Internal),
"PROVIDER_TYPE_EXTERNAL" => Some(Self::External),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SipCallStatus {
ScsCallIncoming = 0,
ScsParticipantJoined = 1,
ScsActive = 2,
ScsDisconnected = 3,
ScsError = 4,
}
impl SipCallStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::ScsCallIncoming => "SCS_CALL_INCOMING",
Self::ScsParticipantJoined => "SCS_PARTICIPANT_JOINED",
Self::ScsActive => "SCS_ACTIVE",
Self::ScsDisconnected => "SCS_DISCONNECTED",
Self::ScsError => "SCS_ERROR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SCS_CALL_INCOMING" => Some(Self::ScsCallIncoming),
"SCS_PARTICIPANT_JOINED" => Some(Self::ScsParticipantJoined),
"SCS_ACTIVE" => Some(Self::ScsActive),
"SCS_DISCONNECTED" => Some(Self::ScsDisconnected),
"SCS_ERROR" => Some(Self::ScsError),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SipTransferStatus {
StsTransferOngoing = 0,
StsTransferFailed = 1,
StsTransferSuccessful = 2,
}
impl SipTransferStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::StsTransferOngoing => "STS_TRANSFER_ONGOING",
Self::StsTransferFailed => "STS_TRANSFER_FAILED",
Self::StsTransferSuccessful => "STS_TRANSFER_SUCCESSFUL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STS_TRANSFER_ONGOING" => Some(Self::StsTransferOngoing),
"STS_TRANSFER_FAILED" => Some(Self::StsTransferFailed),
"STS_TRANSFER_SUCCESSFUL" => Some(Self::StsTransferSuccessful),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SipTransferReason {
StrUnspecified = 0,
StrCompleted = 1,
StrCallEnded = 2,
StrRejected = 3,
StrRingingTimeout = 4,
StrSubscriptionTerminated = 5,
StrCanceled = 6,
}
impl SipTransferReason {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::StrUnspecified => "STR_UNSPECIFIED",
Self::StrCompleted => "STR_COMPLETED",
Self::StrCallEnded => "STR_CALL_ENDED",
Self::StrRejected => "STR_REJECTED",
Self::StrRingingTimeout => "STR_RINGING_TIMEOUT",
Self::StrSubscriptionTerminated => "STR_SUBSCRIPTION_TERMINATED",
Self::StrCanceled => "STR_CANCELED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STR_UNSPECIFIED" => Some(Self::StrUnspecified),
"STR_COMPLETED" => Some(Self::StrCompleted),
"STR_CALL_ENDED" => Some(Self::StrCallEnded),
"STR_REJECTED" => Some(Self::StrRejected),
"STR_RINGING_TIMEOUT" => Some(Self::StrRingingTimeout),
"STR_SUBSCRIPTION_TERMINATED" => Some(Self::StrSubscriptionTerminated),
"STR_CANCELED" => Some(Self::StrCanceled),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SipFeature {
None = 0,
KrispEnabled = 1,
}
impl SipFeature {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::None => "NONE",
Self::KrispEnabled => "KRISP_ENABLED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NONE" => Some(Self::None),
"KRISP_ENABLED" => Some(Self::KrispEnabled),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SipCallDirection {
ScdUnknown = 0,
ScdInbound = 1,
ScdOutbound = 2,
}
impl SipCallDirection {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::ScdUnknown => "SCD_UNKNOWN",
Self::ScdInbound => "SCD_INBOUND",
Self::ScdOutbound => "SCD_OUTBOUND",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SCD_UNKNOWN" => Some(Self::ScdUnknown),
"SCD_INBOUND" => Some(Self::ScdInbound),
"SCD_OUTBOUND" => Some(Self::ScdOutbound),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DialWhatsAppCallRequest {
#[prost(string, tag = "1")]
pub whatsapp_phone_number_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub whatsapp_to_phone_number: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub whatsapp_api_key: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub whatsapp_cloud_api_version: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub whatsapp_biz_opaque_callback_data: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub room_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "6")]
pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
#[prost(string, tag = "7")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub participant_name: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub participant_metadata: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "10")]
pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "11")]
pub destination_country: ::prost::alloc::string::String,
#[prost(message, optional, tag = "13")]
pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DialWhatsAppCallResponse {
#[prost(string, tag = "1")]
pub whatsapp_call_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub room_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DisconnectWhatsAppCallRequest {
#[prost(string, tag = "1")]
pub whatsapp_call_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub whatsapp_api_key: ::prost::alloc::string::String,
#[prost(enumeration = "disconnect_whats_app_call_request::DisconnectReason", tag = "3")]
pub disconnect_reason: i32,
}
pub mod disconnect_whats_app_call_request {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DisconnectReason {
BusinessInitiated = 0,
UserInitiated = 1,
}
impl DisconnectReason {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::BusinessInitiated => "BUSINESS_INITIATED",
Self::UserInitiated => "USER_INITIATED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BUSINESS_INITIATED" => Some(Self::BusinessInitiated),
"USER_INITIATED" => Some(Self::UserInitiated),
_ => None,
}
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DisconnectWhatsAppCallResponse {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectWhatsAppCallRequest {
#[prost(string, tag = "1")]
pub whatsapp_call_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub sdp: ::core::option::Option<SessionDescription>,
#[prost(bool, tag = "3")]
pub wait_until_answered: bool,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConnectWhatsAppCallResponse {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptWhatsAppCallRequest {
#[prost(string, tag = "1")]
pub whatsapp_phone_number_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub whatsapp_api_key: ::prost::alloc::string::String,
#[prost(string, tag = "13")]
pub whatsapp_cloud_api_version: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub whatsapp_call_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub whatsapp_biz_opaque_callback_data: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub sdp: ::core::option::Option<SessionDescription>,
#[prost(string, tag = "6")]
pub room_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "7")]
pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
#[prost(string, tag = "8")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub participant_name: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub participant_metadata: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "11")]
pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "12")]
pub destination_country: ::prost::alloc::string::String,
#[prost(message, optional, tag = "14")]
pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
#[prost(bool, tag = "15")]
pub wait_until_answered: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AcceptWhatsAppCallResponse {
#[prost(string, tag = "1")]
pub room_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WhatsAppCall {
#[prost(string, tag = "1")]
pub whatsapp_call_id: ::prost::alloc::string::String,
#[prost(enumeration = "WhatsAppCallDirection", tag = "2")]
pub direction: i32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WhatsAppCallDirection {
WhatsappCallDirectionInbound = 0,
WhatsappCallDirectionOutbound = 2,
}
impl WhatsAppCallDirection {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::WhatsappCallDirectionInbound => "WHATSAPP_CALL_DIRECTION_INBOUND",
Self::WhatsappCallDirectionOutbound => "WHATSAPP_CALL_DIRECTION_OUTBOUND",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"WHATSAPP_CALL_DIRECTION_INBOUND" => Some(Self::WhatsappCallDirectionInbound),
"WHATSAPP_CALL_DIRECTION_OUTBOUND" => Some(Self::WhatsappCallDirectionOutbound),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConnectTwilioCallRequest {
#[prost(enumeration = "connect_twilio_call_request::TwilioCallDirection", tag = "1")]
pub twilio_call_direction: i32,
#[prost(string, tag = "2")]
pub room_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
#[prost(string, tag = "4")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub participant_name: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub participant_metadata: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "7")]
pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "8")]
pub destination_country: ::prost::alloc::string::String,
}
pub mod connect_twilio_call_request {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TwilioCallDirection {
Inbound = 0,
Outbound = 1,
}
impl TwilioCallDirection {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Inbound => "TWILIO_CALL_DIRECTION_INBOUND",
Self::Outbound => "TWILIO_CALL_DIRECTION_OUTBOUND",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TWILIO_CALL_DIRECTION_INBOUND" => Some(Self::Inbound),
"TWILIO_CALL_DIRECTION_OUTBOUND" => Some(Self::Outbound),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConnectTwilioCallResponse {
#[prost(string, tag = "1")]
pub connect_url: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ConnectorType {
Unspecified = 0,
WhatsApp = 1,
Twilio = 2,
}
impl ConnectorType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "Unspecified",
Self::WhatsApp => "WhatsApp",
Self::Twilio => "Twilio",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"Unspecified" => Some(Self::Unspecified),
"WhatsApp" => Some(Self::WhatsApp),
"Twilio" => Some(Self::Twilio),
_ => None,
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AnalyticsVideoLayer {
#[prost(int32, tag = "1")]
pub layer: i32,
#[prost(uint32, tag = "2")]
pub packets: u32,
#[prost(uint64, tag = "3")]
pub bytes: u64,
#[prost(uint32, tag = "4")]
pub frames: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AnalyticsStream {
#[prost(uint32, tag = "1")]
pub ssrc: u32,
#[prost(uint32, tag = "2")]
pub primary_packets: u32,
#[prost(uint64, tag = "3")]
pub primary_bytes: u64,
#[prost(uint32, tag = "4")]
pub retransmit_packets: u32,
#[prost(uint64, tag = "5")]
pub retransmit_bytes: u64,
#[prost(uint32, tag = "6")]
pub padding_packets: u32,
#[prost(uint64, tag = "7")]
pub padding_bytes: u64,
#[prost(uint32, tag = "8")]
pub packets_lost: u32,
#[prost(uint32, tag = "9")]
pub frames: u32,
#[prost(uint32, tag = "10")]
pub rtt: u32,
#[prost(uint32, tag = "11")]
pub jitter: u32,
#[prost(uint32, tag = "12")]
pub nacks: u32,
#[prost(uint32, tag = "13")]
pub plis: u32,
#[prost(uint32, tag = "14")]
pub firs: u32,
#[prost(message, repeated, tag = "15")]
pub video_layers: ::prost::alloc::vec::Vec<AnalyticsVideoLayer>,
#[prost(message, optional, tag = "17")]
pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "18")]
pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(uint32, tag = "19")]
pub packets_out_of_order: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AnalyticsStat {
#[prost(string, tag = "14")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "1")]
pub analytics_key: ::prost::alloc::string::String,
#[prost(enumeration = "StreamType", tag = "2")]
pub kind: i32,
#[prost(message, optional, tag = "3")]
pub time_stamp: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "4")]
pub node: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub room_id: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub participant_id: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub track_id: ::prost::alloc::string::String,
#[prost(float, tag = "9")]
pub score: f32,
#[prost(message, repeated, tag = "10")]
pub streams: ::prost::alloc::vec::Vec<AnalyticsStream>,
#[prost(string, tag = "11")]
pub mime: ::prost::alloc::string::String,
#[prost(float, tag = "12")]
pub min_score: f32,
#[prost(float, tag = "13")]
pub median_score: f32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AnalyticsStats {
#[prost(message, repeated, tag = "1")]
pub stats: ::prost::alloc::vec::Vec<AnalyticsStat>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AnalyticsClientMeta {
#[prost(string, tag = "1")]
pub region: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub node: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub client_addr: ::prost::alloc::string::String,
#[prost(uint32, tag = "4")]
pub client_connect_time: u32,
#[prost(string, tag = "5")]
pub connection_type: ::prost::alloc::string::String,
#[prost(enumeration = "ReconnectReason", tag = "6")]
pub reconnect_reason: i32,
#[prost(string, optional, tag = "7")]
pub geo_hash: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "8")]
pub country: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint32, optional, tag = "9")]
pub isp_asn: ::core::option::Option<u32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AnalyticsEvent {
#[prost(string, tag = "25")]
pub id: ::prost::alloc::string::String,
#[prost(enumeration = "AnalyticsEventType", tag = "1")]
pub r#type: i32,
#[prost(message, optional, tag = "2")]
pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "3")]
pub room_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "4")]
pub room: ::core::option::Option<Room>,
#[prost(string, tag = "5")]
pub participant_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub participant: ::core::option::Option<ParticipantInfo>,
#[prost(string, tag = "7")]
pub track_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "8")]
pub track: ::core::option::Option<TrackInfo>,
#[prost(string, tag = "10")]
pub analytics_key: ::prost::alloc::string::String,
#[prost(message, optional, tag = "11")]
pub client_info: ::core::option::Option<ClientInfo>,
#[prost(message, optional, tag = "12")]
pub client_meta: ::core::option::Option<AnalyticsClientMeta>,
#[prost(string, tag = "13")]
pub egress_id: ::prost::alloc::string::String,
#[prost(string, tag = "19")]
pub ingress_id: ::prost::alloc::string::String,
#[prost(enumeration = "VideoQuality", tag = "14")]
pub max_subscribed_video_quality: i32,
#[prost(message, optional, tag = "15")]
pub publisher: ::core::option::Option<ParticipantInfo>,
#[prost(string, tag = "16")]
pub mime: ::prost::alloc::string::String,
#[prost(message, optional, tag = "17")]
pub egress: ::core::option::Option<EgressInfo>,
#[prost(message, optional, tag = "18")]
pub ingress: ::core::option::Option<IngressInfo>,
#[prost(string, tag = "20")]
pub error: ::prost::alloc::string::String,
#[prost(message, optional, tag = "21")]
pub rtp_stats: ::core::option::Option<RtpStats>,
#[prost(int32, tag = "22")]
pub video_layer: i32,
#[prost(string, tag = "24")]
pub node_id: ::prost::alloc::string::String,
#[prost(string, tag = "26")]
pub sip_call_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "27")]
pub sip_call: ::core::option::Option<SipCallInfo>,
#[prost(string, tag = "28")]
pub sip_trunk_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "29")]
pub sip_inbound_trunk: ::core::option::Option<SipInboundTrunkInfo>,
#[prost(message, optional, tag = "30")]
pub sip_outbound_trunk: ::core::option::Option<SipOutboundTrunkInfo>,
#[prost(string, tag = "31")]
pub sip_dispatch_rule_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "32")]
pub sip_dispatch_rule: ::core::option::Option<SipDispatchRuleInfo>,
#[prost(message, optional, tag = "36")]
pub sip_transfer: ::core::option::Option<SipTransferInfo>,
#[prost(message, optional, tag = "33")]
pub report: ::core::option::Option<ReportInfo>,
#[prost(message, optional, tag = "34")]
pub api_call: ::core::option::Option<ApiCallInfo>,
#[prost(message, optional, tag = "35")]
pub webhook: ::core::option::Option<WebhookInfo>,
#[prost(enumeration = "RoomEndReason", tag = "37")]
pub room_end_reason: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AnalyticsEvents {
#[prost(message, repeated, tag = "1")]
pub events: ::prost::alloc::vec::Vec<AnalyticsEvent>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AnalyticsRoomParticipant {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub identity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "participant_info::State", tag = "4")]
pub state: i32,
#[prost(message, optional, tag = "5")]
pub joined_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AnalyticsRoom {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub project_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, repeated, tag = "4")]
pub participants: ::prost::alloc::vec::Vec<AnalyticsRoomParticipant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AnalyticsNodeRooms {
#[prost(string, tag = "1")]
pub node_id: ::prost::alloc::string::String,
#[prost(uint64, tag = "2")]
pub sequence_number: u64,
#[prost(message, optional, tag = "3")]
pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, repeated, tag = "4")]
pub rooms: ::prost::alloc::vec::Vec<AnalyticsRoom>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReportInfo {
#[prost(oneof = "report_info::Message", tags = "1")]
pub message: ::core::option::Option<report_info::Message>,
}
pub mod report_info {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Message {
#[prost(message, tag = "1")]
FeatureUsage(super::FeatureUsageInfo),
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TimeRange {
#[prost(message, optional, tag = "1")]
pub started_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub ended_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureUsageInfo {
#[prost(enumeration = "feature_usage_info::Feature", tag = "1")]
pub feature: i32,
#[prost(string, tag = "2")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub room_id: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub participant_id: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub track_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "8")]
pub time_ranges: ::prost::alloc::vec::Vec<TimeRange>,
#[prost(map = "string, string", tag = "9")]
pub feature_info: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
pub mod feature_usage_info {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Feature {
KrispNoiseCancellation = 0,
KrispBackgroundVoiceCancellation = 1,
AicAudioEnhancement = 2,
KrispViva = 3,
}
impl Feature {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::KrispNoiseCancellation => "KRISP_NOISE_CANCELLATION",
Self::KrispBackgroundVoiceCancellation => "KRISP_BACKGROUND_VOICE_CANCELLATION",
Self::AicAudioEnhancement => "AIC_AUDIO_ENHANCEMENT",
Self::KrispViva => "KRISP_VIVA",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"KRISP_NOISE_CANCELLATION" => Some(Self::KrispNoiseCancellation),
"KRISP_BACKGROUND_VOICE_CANCELLATION" => Some(Self::KrispBackgroundVoiceCancellation),
"AIC_AUDIO_ENHANCEMENT" => Some(Self::AicAudioEnhancement),
"KRISP_VIVA" => Some(Self::KrispViva),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApiCallRequest {
#[prost(oneof = "api_call_request::Message", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10")]
pub message: ::core::option::Option<api_call_request::Message>,
}
pub mod api_call_request {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Message {
#[prost(message, tag = "1")]
CreateRoomRequest(super::CreateRoomRequest),
#[prost(message, tag = "2")]
ListRoomsRequest(super::ListRoomsRequest),
#[prost(message, tag = "3")]
DeleteRoomRequest(super::DeleteRoomRequest),
#[prost(message, tag = "4")]
ListParticipantsRequest(super::ListParticipantsRequest),
#[prost(message, tag = "5")]
RoomParticipantIdentity(super::RoomParticipantIdentity),
#[prost(message, tag = "6")]
MuteRoomTrackRequest(super::MuteRoomTrackRequest),
#[prost(message, tag = "7")]
UpdateParticipantRequest(super::UpdateParticipantRequest),
#[prost(message, tag = "8")]
UpdateSubscriptionsRequest(super::UpdateSubscriptionsRequest),
#[prost(message, tag = "9")]
SendDataRequest(super::SendDataRequest),
#[prost(message, tag = "10")]
UpdateRoomMetadataRequest(super::UpdateRoomMetadataRequest),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ApiCallInfo {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub request: ::core::option::Option<ApiCallRequest>,
#[prost(string, tag = "3")]
pub service: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub method: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub node_id: ::prost::alloc::string::String,
#[prost(int32, tag = "6")]
pub status: i32,
#[prost(string, tag = "7")]
pub twirp_error_code: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub twirp_error_message: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub room_id: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub participant_id: ::prost::alloc::string::String,
#[prost(string, tag = "13")]
pub track_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "14")]
pub started_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(int64, tag = "15")]
pub duration_ns: i64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WebhookInfo {
#[prost(string, tag = "1")]
pub event_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub event: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub room_id: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub participant_identity: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub participant_id: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub track_id: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub egress_id: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub ingress_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "11")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "12")]
pub queued_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(int64, tag = "13")]
pub queue_duration_ns: i64,
#[prost(message, optional, tag = "14")]
pub sent_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(int64, tag = "15")]
pub send_duration_ns: i64,
#[prost(string, tag = "16")]
pub url: ::prost::alloc::string::String,
#[prost(int32, tag = "17")]
pub num_dropped: i32,
#[prost(bool, tag = "18")]
pub is_dropped: bool,
#[prost(string, tag = "19")]
pub service_status: ::prost::alloc::string::String,
#[prost(int32, tag = "20")]
pub service_error_code: i32,
#[prost(string, tag = "21")]
pub service_error: ::prost::alloc::string::String,
#[prost(string, tag = "22")]
pub send_error: ::prost::alloc::string::String,
#[prost(int32, tag = "23")]
pub http_status_code: i32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum StreamType {
Upstream = 0,
Downstream = 1,
}
impl StreamType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Upstream => "UPSTREAM",
Self::Downstream => "DOWNSTREAM",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UPSTREAM" => Some(Self::Upstream),
"DOWNSTREAM" => Some(Self::Downstream),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AnalyticsEventType {
RoomCreated = 0,
RoomEnded = 1,
ParticipantJoined = 2,
ParticipantLeft = 3,
ParticipantConnectionAborted = 45,
TrackPublished = 4,
TrackPublishRequested = 20,
TrackUnpublished = 5,
TrackSubscribed = 6,
TrackSubscribeRequested = 21,
TrackSubscribeFailed = 25,
TrackUnsubscribed = 7,
TrackPublishedUpdate = 10,
TrackMuted = 23,
TrackUnmuted = 24,
TrackPublishStats = 26,
TrackSubscribeStats = 27,
ParticipantActive = 11,
ParticipantResumed = 22,
EgressStarted = 12,
EgressEnded = 13,
EgressUpdated = 28,
TrackMaxSubscribedVideoQuality = 14,
Reconnected = 15,
IngressCreated = 18,
IngressDeleted = 19,
IngressStarted = 16,
IngressEnded = 17,
IngressUpdated = 29,
SipInboundTrunkCreated = 30,
SipInboundTrunkDeleted = 31,
SipOutboundTrunkCreated = 32,
SipOutboundTrunkDeleted = 33,
SipDispatchRuleCreated = 34,
SipDispatchRuleDeleted = 35,
SipParticipantCreated = 36,
SipCallIncoming = 37,
SipCallStarted = 38,
SipCallEnded = 39,
SipTransferRequested = 43,
SipTransferComplete = 44,
SipCallUpdate = 46,
Report = 40,
ApiCall = 41,
Webhook = 42,
}
impl AnalyticsEventType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::RoomCreated => "ROOM_CREATED",
Self::RoomEnded => "ROOM_ENDED",
Self::ParticipantJoined => "PARTICIPANT_JOINED",
Self::ParticipantLeft => "PARTICIPANT_LEFT",
Self::ParticipantConnectionAborted => "PARTICIPANT_CONNECTION_ABORTED",
Self::TrackPublished => "TRACK_PUBLISHED",
Self::TrackPublishRequested => "TRACK_PUBLISH_REQUESTED",
Self::TrackUnpublished => "TRACK_UNPUBLISHED",
Self::TrackSubscribed => "TRACK_SUBSCRIBED",
Self::TrackSubscribeRequested => "TRACK_SUBSCRIBE_REQUESTED",
Self::TrackSubscribeFailed => "TRACK_SUBSCRIBE_FAILED",
Self::TrackUnsubscribed => "TRACK_UNSUBSCRIBED",
Self::TrackPublishedUpdate => "TRACK_PUBLISHED_UPDATE",
Self::TrackMuted => "TRACK_MUTED",
Self::TrackUnmuted => "TRACK_UNMUTED",
Self::TrackPublishStats => "TRACK_PUBLISH_STATS",
Self::TrackSubscribeStats => "TRACK_SUBSCRIBE_STATS",
Self::ParticipantActive => "PARTICIPANT_ACTIVE",
Self::ParticipantResumed => "PARTICIPANT_RESUMED",
Self::EgressStarted => "EGRESS_STARTED",
Self::EgressEnded => "EGRESS_ENDED",
Self::EgressUpdated => "EGRESS_UPDATED",
Self::TrackMaxSubscribedVideoQuality => "TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY",
Self::Reconnected => "RECONNECTED",
Self::IngressCreated => "INGRESS_CREATED",
Self::IngressDeleted => "INGRESS_DELETED",
Self::IngressStarted => "INGRESS_STARTED",
Self::IngressEnded => "INGRESS_ENDED",
Self::IngressUpdated => "INGRESS_UPDATED",
Self::SipInboundTrunkCreated => "SIP_INBOUND_TRUNK_CREATED",
Self::SipInboundTrunkDeleted => "SIP_INBOUND_TRUNK_DELETED",
Self::SipOutboundTrunkCreated => "SIP_OUTBOUND_TRUNK_CREATED",
Self::SipOutboundTrunkDeleted => "SIP_OUTBOUND_TRUNK_DELETED",
Self::SipDispatchRuleCreated => "SIP_DISPATCH_RULE_CREATED",
Self::SipDispatchRuleDeleted => "SIP_DISPATCH_RULE_DELETED",
Self::SipParticipantCreated => "SIP_PARTICIPANT_CREATED",
Self::SipCallIncoming => "SIP_CALL_INCOMING",
Self::SipCallStarted => "SIP_CALL_STARTED",
Self::SipCallEnded => "SIP_CALL_ENDED",
Self::SipTransferRequested => "SIP_TRANSFER_REQUESTED",
Self::SipTransferComplete => "SIP_TRANSFER_COMPLETE",
Self::SipCallUpdate => "SIP_CALL_UPDATE",
Self::Report => "REPORT",
Self::ApiCall => "API_CALL",
Self::Webhook => "WEBHOOK",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ROOM_CREATED" => Some(Self::RoomCreated),
"ROOM_ENDED" => Some(Self::RoomEnded),
"PARTICIPANT_JOINED" => Some(Self::ParticipantJoined),
"PARTICIPANT_LEFT" => Some(Self::ParticipantLeft),
"PARTICIPANT_CONNECTION_ABORTED" => Some(Self::ParticipantConnectionAborted),
"TRACK_PUBLISHED" => Some(Self::TrackPublished),
"TRACK_PUBLISH_REQUESTED" => Some(Self::TrackPublishRequested),
"TRACK_UNPUBLISHED" => Some(Self::TrackUnpublished),
"TRACK_SUBSCRIBED" => Some(Self::TrackSubscribed),
"TRACK_SUBSCRIBE_REQUESTED" => Some(Self::TrackSubscribeRequested),
"TRACK_SUBSCRIBE_FAILED" => Some(Self::TrackSubscribeFailed),
"TRACK_UNSUBSCRIBED" => Some(Self::TrackUnsubscribed),
"TRACK_PUBLISHED_UPDATE" => Some(Self::TrackPublishedUpdate),
"TRACK_MUTED" => Some(Self::TrackMuted),
"TRACK_UNMUTED" => Some(Self::TrackUnmuted),
"TRACK_PUBLISH_STATS" => Some(Self::TrackPublishStats),
"TRACK_SUBSCRIBE_STATS" => Some(Self::TrackSubscribeStats),
"PARTICIPANT_ACTIVE" => Some(Self::ParticipantActive),
"PARTICIPANT_RESUMED" => Some(Self::ParticipantResumed),
"EGRESS_STARTED" => Some(Self::EgressStarted),
"EGRESS_ENDED" => Some(Self::EgressEnded),
"EGRESS_UPDATED" => Some(Self::EgressUpdated),
"TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY" => Some(Self::TrackMaxSubscribedVideoQuality),
"RECONNECTED" => Some(Self::Reconnected),
"INGRESS_CREATED" => Some(Self::IngressCreated),
"INGRESS_DELETED" => Some(Self::IngressDeleted),
"INGRESS_STARTED" => Some(Self::IngressStarted),
"INGRESS_ENDED" => Some(Self::IngressEnded),
"INGRESS_UPDATED" => Some(Self::IngressUpdated),
"SIP_INBOUND_TRUNK_CREATED" => Some(Self::SipInboundTrunkCreated),
"SIP_INBOUND_TRUNK_DELETED" => Some(Self::SipInboundTrunkDeleted),
"SIP_OUTBOUND_TRUNK_CREATED" => Some(Self::SipOutboundTrunkCreated),
"SIP_OUTBOUND_TRUNK_DELETED" => Some(Self::SipOutboundTrunkDeleted),
"SIP_DISPATCH_RULE_CREATED" => Some(Self::SipDispatchRuleCreated),
"SIP_DISPATCH_RULE_DELETED" => Some(Self::SipDispatchRuleDeleted),
"SIP_PARTICIPANT_CREATED" => Some(Self::SipParticipantCreated),
"SIP_CALL_INCOMING" => Some(Self::SipCallIncoming),
"SIP_CALL_STARTED" => Some(Self::SipCallStarted),
"SIP_CALL_ENDED" => Some(Self::SipCallEnded),
"SIP_TRANSFER_REQUESTED" => Some(Self::SipTransferRequested),
"SIP_TRANSFER_COMPLETE" => Some(Self::SipTransferComplete),
"SIP_CALL_UPDATE" => Some(Self::SipCallUpdate),
"REPORT" => Some(Self::Report),
"API_CALL" => Some(Self::ApiCall),
"WEBHOOK" => Some(Self::Webhook),
_ => None,
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AgentDb {
}
pub mod agent_db {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CreateRequest {
#[prost(message, optional, tag = "1")]
pub ttl: ::core::option::Option<::pbjson_types::Duration>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CreateResponse {
#[prost(string, tag = "1")]
pub database_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub expires_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRequest {
#[prost(string, tag = "1")]
pub database_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListRequest {
#[prost(int32, tag = "1")]
pub page_size: i32,
#[prost(string, tag = "2")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListResponse {
#[prost(message, repeated, tag = "1")]
pub databases: ::prost::alloc::vec::Vec<AgentDatabase>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AgentDatabase {
#[prost(string, tag = "1")]
pub database_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub region: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "4")]
pub expires_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(int64, tag = "5")]
pub tip: i64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteRequest {
#[prost(string, tag = "1")]
pub database_id: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteResponse {
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExportRequest {
#[prost(string, tag = "1")]
pub database_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExportResponse {
#[prost(string, tag = "1")]
pub download_url: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub expires_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(int64, tag = "3")]
pub tip: i64,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Wire {
}
pub mod wire {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientMessage {
#[prost(uint32, tag = "1")]
pub request_id: u32,
#[prost(oneof = "client_message::Message", tags = "2, 3, 4, 5, 6, 7, 8, 9, 10, 11")]
pub message: ::core::option::Option<client_message::Message>,
}
pub mod client_message {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Message {
#[prost(message, tag = "2")]
Hello(super::Hello),
#[prost(message, tag = "3")]
Exec(super::Statement),
#[prost(message, tag = "4")]
Query(super::Statement),
#[prost(message, tag = "5")]
Batch(super::Batch),
#[prost(message, tag = "6")]
Begin(super::Begin),
#[prost(message, tag = "7")]
Commit(super::Commit),
#[prost(message, tag = "8")]
Rollback(super::Rollback),
#[prost(message, tag = "9")]
Cancel(super::Cancel),
#[prost(message, tag = "10")]
Credit(super::Credit),
#[prost(message, tag = "11")]
Ping(super::Ping),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerMessage {
#[prost(uint32, tag = "1")]
pub request_id: u32,
#[prost(oneof = "server_message::Message", tags = "2, 3, 4, 5, 6, 7, 8")]
pub message: ::core::option::Option<server_message::Message>,
}
pub mod server_message {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Message {
#[prost(message, tag = "2")]
HelloOk(super::HelloOk),
#[prost(message, tag = "3")]
Columns(super::Columns),
#[prost(message, tag = "4")]
ColumnBatch(super::ColumnBatch),
#[prost(message, tag = "5")]
ExecResult(super::ExecResult),
#[prost(message, tag = "6")]
Done(super::Done),
#[prost(message, tag = "7")]
Error(super::Error),
#[prost(message, tag = "8")]
Pong(super::Pong),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Value {
#[prost(oneof = "value::Value", tags = "1, 2, 3, 4, 5")]
pub value: ::core::option::Option<value::Value>,
}
pub mod value {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(bool, tag = "1")]
NullValue(bool),
#[prost(int64, tag = "2")]
IntValue(i64),
#[prost(double, tag = "3")]
DoubleValue(f64),
#[prost(string, tag = "4")]
TextValue(::prost::alloc::string::String),
#[prost(bytes, tag = "5")]
BlobValue(::prost::alloc::vec::Vec<u8>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Statement {
#[prost(string, tag = "1")]
pub sql: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub params: ::prost::alloc::vec::Vec<Value>,
#[prost(enumeration = "QueryLang", tag = "3")]
pub lang: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Batch {
#[prost(message, repeated, tag = "1")]
pub statements: ::prost::alloc::vec::Vec<Statement>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Begin {
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Commit {
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Rollback {
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cancel {
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Credit {
#[prost(uint32, tag = "1")]
pub batches: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ping {
#[prost(int64, tag = "1")]
pub timestamp_ms: i64,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pong {
#[prost(int64, tag = "1")]
pub last_ping_timestamp_ms: i64,
#[prost(int64, tag = "2")]
pub timestamp_ms: i64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hello {
#[prost(string, tag = "1")]
pub token: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub database_id: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HelloOk {
#[prost(int64, tag = "1")]
pub tip: i64,
#[prost(uint32, tag = "2")]
pub ping_interval_ms: u32,
#[prost(uint32, tag = "3")]
pub ping_timeout_ms: u32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Columns {
#[prost(string, repeated, tag = "1")]
pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(uint32, tag = "2")]
pub statement: u32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Column {
#[prost(bytes = "vec", tag = "1")]
pub types: ::prost::alloc::vec::Vec<u8>,
#[prost(sint64, repeated, tag = "2")]
pub ints: ::prost::alloc::vec::Vec<i64>,
#[prost(double, repeated, tag = "3")]
pub doubles: ::prost::alloc::vec::Vec<f64>,
#[prost(bytes = "vec", tag = "4")]
pub text_data: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, repeated, tag = "5")]
pub text_ends: ::prost::alloc::vec::Vec<u32>,
#[prost(bytes = "vec", tag = "6")]
pub blob_data: ::prost::alloc::vec::Vec<u8>,
#[prost(uint32, repeated, tag = "7")]
pub blob_ends: ::prost::alloc::vec::Vec<u32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ColumnBatch {
#[prost(message, repeated, tag = "1")]
pub columns: ::prost::alloc::vec::Vec<Column>,
#[prost(uint32, tag = "2")]
pub rows: u32,
#[prost(uint32, tag = "3")]
pub statement: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExecResult {
#[prost(int64, tag = "1")]
pub rows_affected: i64,
#[prost(int64, tag = "2")]
pub last_insert_id: i64,
#[prost(int64, tag = "3")]
pub tip: i64,
#[prost(uint32, tag = "4")]
pub statement: u32,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Done {
#[prost(int64, tag = "1")]
pub tip: i64,
#[prost(uint64, tag = "2")]
pub total_rows: u64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Error {
#[prost(string, tag = "1")]
pub code: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum QueryLang {
Sql = 0,
}
impl QueryLang {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Sql => "SQL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SQL" => Some(Self::Sql),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ValueType {
Null = 0,
Int = 1,
Double = 2,
Text = 3,
Blob = 4,
}
impl ValueType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Null => "NULL",
Self::Int => "INT",
Self::Double => "DOUBLE",
Self::Text => "TEXT",
Self::Blob => "BLOB",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NULL" => Some(Self::Null),
"INT" => Some(Self::Int),
"DOUBLE" => Some(Self::Double),
"TEXT" => Some(Self::Text),
"BLOB" => Some(Self::Blob),
_ => None,
}
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListReplaysRequest {
#[prost(string, tag = "1")]
pub room_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub page_token: ::core::option::Option<TokenPagination>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListReplaysResponse {
#[prost(message, repeated, tag = "1")]
pub replays: ::prost::alloc::vec::Vec<ReplayInfo>,
#[prost(message, optional, tag = "2")]
pub next_page_token: ::core::option::Option<TokenPagination>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReplayInfo {
#[prost(string, tag = "1")]
pub replay_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub room_name: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub start_time: i64,
#[prost(int64, tag = "4")]
pub duration_ms: i64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlaybackRequest {
#[prost(string, tag = "1")]
pub replay_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub playback_room: ::prost::alloc::string::String,
#[prost(int64, tag = "3")]
pub seek_offset_ms: i64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlaybackResponse {
#[prost(string, tag = "1")]
pub playback_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SeekRequest {
#[prost(string, tag = "1")]
pub playback_id: ::prost::alloc::string::String,
#[prost(int64, tag = "2")]
pub seek_offset_ms: i64,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClosePlaybackRequest {
#[prost(string, tag = "1")]
pub playback_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteReplayRequest {
#[prost(string, tag = "1")]
pub replay_id: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AgentEvent {
#[prost(enumeration = "AgentEventType", tag = "1")]
pub r#type: i32,
#[prost(int32, tag = "2")]
pub count: i32,
#[prost(message, optional, tag = "3")]
pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AgentSecret {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(bytes = "vec", tag = "2")]
pub value: ::prost::alloc::vec::Vec<u8>,
#[prost(message, optional, tag = "3")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "4")]
pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(enumeration = "AgentSecretKind", tag = "5")]
pub kind: i32,
#[prost(string, repeated, tag = "6")]
pub deployments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateAgentRequest {
#[deprecated]
#[prost(string, tag = "1")]
pub agent_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
#[deprecated]
#[prost(int32, tag = "3")]
pub replicas: i32,
#[deprecated]
#[prost(int32, tag = "4")]
pub max_replicas: i32,
#[deprecated]
#[prost(string, tag = "5")]
pub cpu_req: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "6")]
pub regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateAgentResponse {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub version: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub presigned_url: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub tag: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "7")]
pub server_regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, optional, tag = "8")]
pub presigned_post_request: ::core::option::Option<PresignedPostRequest>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateAgentV2Request {
#[prost(message, repeated, tag = "1")]
pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
#[prost(string, repeated, tag = "2")]
pub regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CreateAgentV2Response {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub status: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub server_regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PromoteAgentRequest {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub src_deployment: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub dst_deployment: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PromoteAgentResponse {
#[prost(bool, tag = "1")]
pub success: bool,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub src_deployment: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub dst_deployment: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub version_tag: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PresignedPostRequest {
#[prost(string, tag = "1")]
pub url: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "2")]
pub values: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AgentDeployment {
#[prost(string, tag = "1")]
pub region: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub status: ::prost::alloc::string::String,
#[prost(int32, tag = "4")]
pub replicas: i32,
#[prost(int32, tag = "5")]
pub min_replicas: i32,
#[prost(int32, tag = "6")]
pub max_replicas: i32,
#[prost(string, tag = "7")]
pub cpu_req: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub cur_cpu: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub cur_mem: ::prost::alloc::string::String,
#[prost(string, tag = "10")]
pub mem_req: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub mem_limit: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub cpu_limit: ::prost::alloc::string::String,
#[prost(string, tag = "13")]
pub server_region: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "14")]
pub events: ::prost::alloc::vec::Vec<AgentEvent>,
#[prost(string, tag = "15")]
pub deployment: ::prost::alloc::string::String,
#[prost(string, tag = "16")]
pub version: ::prost::alloc::string::String,
#[prost(string, tag = "17")]
pub agent_name: ::prost::alloc::string::String,
#[prost(bool, tag = "18")]
pub deployment_enabled: bool,
#[prost(message, optional, tag = "19")]
pub last_scraped_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AgentInfo {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub version: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "4")]
pub agent_deployments: ::prost::alloc::vec::Vec<AgentDeployment>,
#[prost(message, repeated, tag = "5")]
pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
#[prost(message, optional, tag = "6")]
pub deployed_at: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListAgentsRequest {
#[prost(string, tag = "1")]
pub agent_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAgentsResponse {
#[prost(message, repeated, tag = "1")]
pub agents: ::prost::alloc::vec::Vec<AgentInfo>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AgentVersion {
#[prost(string, tag = "1")]
pub version: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub current: bool,
#[prost(message, optional, tag = "3")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "4")]
pub deployed_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(map = "string, string", tag = "5")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "6")]
pub status: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub owner: ::prost::alloc::string::String,
#[prost(bool, tag = "8")]
pub draining: bool,
#[prost(bool, tag = "9")]
pub active: bool,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListAgentVersionsRequest {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAgentVersionsResponse {
#[prost(message, repeated, tag = "1")]
pub versions: ::prost::alloc::vec::Vec<AgentVersion>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateAgentRequest {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[deprecated]
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
#[deprecated]
#[prost(int32, tag = "3")]
pub replicas: i32,
#[deprecated]
#[prost(int32, tag = "4")]
pub max_replicas: i32,
#[deprecated]
#[prost(string, tag = "5")]
pub cpu_req: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "6")]
pub regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "7")]
pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateAgentResponse {
#[prost(bool, tag = "1")]
pub success: bool,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RestartAgentRequest {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RestartAgentResponse {
#[prost(bool, tag = "1")]
pub success: bool,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeployAgentRequest {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[deprecated]
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
#[deprecated]
#[prost(int32, tag = "4")]
pub replicas: i32,
#[deprecated]
#[prost(int32, tag = "5")]
pub max_replicas: i32,
#[deprecated]
#[prost(string, tag = "6")]
pub cpu_req: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub deployment: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "8")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeployAgentResponse {
#[prost(bool, tag = "1")]
pub success: bool,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub agent_id: ::prost::alloc::string::String,
#[deprecated]
#[prost(string, tag = "4")]
pub presigned_url: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub tag: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub presigned_post_request: ::core::option::Option<PresignedPostRequest>,
#[prost(string, tag = "7")]
pub deployment: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeployAgentV2Request {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
#[prost(string, tag = "3")]
pub deployment: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "4")]
pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeployAgentV2Response {
#[prost(bool, tag = "1")]
pub success: bool,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub tag: ::prost::alloc::string::String,
#[prost(message, optional, tag = "5")]
pub presigned_req: ::core::option::Option<PresignedPostRequest>,
#[prost(string, tag = "6")]
pub deployment: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateAgentSecretsRequest {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
#[prost(bool, tag = "3")]
pub overwrite: bool,
#[prost(message, repeated, tag = "4")]
pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
#[prost(string, repeated, tag = "5")]
pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateAgentSecretsResponse {
#[prost(bool, tag = "1")]
pub success: bool,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RollbackAgentRequest {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub version: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RollbackAgentResponse {
#[prost(bool, tag = "1")]
pub success: bool,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteAgentRequest {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub deployment: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteAgentResponse {
#[prost(bool, tag = "1")]
pub success: bool,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListAgentSecretsRequest {
#[prost(string, tag = "1")]
pub agent_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListAgentSecretsResponse {
#[prost(message, repeated, tag = "1")]
pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SettingsParam {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub value: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientSettingsResponse {
#[prost(message, repeated, tag = "1")]
pub params: ::prost::alloc::vec::Vec<SettingsParam>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClientSettingsRequest {
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PrivateLink {
#[prost(string, tag = "1")]
pub private_link_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub region: ::prost::alloc::string::String,
#[prost(uint32, tag = "5")]
pub port: u32,
#[prost(string, tag = "6")]
pub endpoint: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub connection_endpoint: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub cloud_region: ::prost::alloc::string::String,
#[prost(oneof = "private_link::Config", tags = "3")]
pub config: ::core::option::Option<private_link::Config>,
}
pub mod private_link {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AwsConfig {
#[deprecated]
#[prost(string, tag = "1")]
pub endpoint: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Config {
#[deprecated]
#[prost(message, tag = "3")]
Aws(AwsConfig),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PrivateLinkStatus {
#[prost(enumeration = "private_link_status::Status", tag = "1")]
pub status: i32,
#[prost(message, optional, tag = "2")]
pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "3")]
pub reason: ::prost::alloc::string::String,
}
pub mod private_link_status {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Status {
PrivateLinkStatusUnknown = 0,
PrivateLinkStatusProvisioning = 1,
PrivateLinkStatusPendingApproval = 2,
PrivateLinkStatusHealthy = 3,
PrivateLinkStatusUnhealthy = 4,
PrivateLinkStatusApproved = 5,
}
impl Status {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::PrivateLinkStatusUnknown => "PRIVATE_LINK_STATUS_UNKNOWN",
Self::PrivateLinkStatusProvisioning => "PRIVATE_LINK_STATUS_PROVISIONING",
Self::PrivateLinkStatusPendingApproval => "PRIVATE_LINK_STATUS_PENDING_APPROVAL",
Self::PrivateLinkStatusHealthy => "PRIVATE_LINK_STATUS_HEALTHY",
Self::PrivateLinkStatusUnhealthy => "PRIVATE_LINK_STATUS_UNHEALTHY",
Self::PrivateLinkStatusApproved => "PRIVATE_LINK_STATUS_APPROVED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PRIVATE_LINK_STATUS_UNKNOWN" => Some(Self::PrivateLinkStatusUnknown),
"PRIVATE_LINK_STATUS_PROVISIONING" => Some(Self::PrivateLinkStatusProvisioning),
"PRIVATE_LINK_STATUS_PENDING_APPROVAL" => Some(Self::PrivateLinkStatusPendingApproval),
"PRIVATE_LINK_STATUS_HEALTHY" => Some(Self::PrivateLinkStatusHealthy),
"PRIVATE_LINK_STATUS_UNHEALTHY" => Some(Self::PrivateLinkStatusUnhealthy),
"PRIVATE_LINK_STATUS_APPROVED" => Some(Self::PrivateLinkStatusApproved),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CreatePrivateLinkRequest {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub region: ::prost::alloc::string::String,
#[prost(uint32, tag = "4")]
pub port: u32,
#[prost(string, tag = "5")]
pub endpoint: ::prost::alloc::string::String,
#[prost(string, optional, tag = "6")]
pub cloud_region: ::core::option::Option<::prost::alloc::string::String>,
#[prost(oneof = "create_private_link_request::Config", tags = "2")]
pub config: ::core::option::Option<create_private_link_request::Config>,
}
pub mod create_private_link_request {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AwsCreateConfig {
#[deprecated]
#[prost(string, tag = "1")]
pub endpoint: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum Config {
#[deprecated]
#[prost(message, tag = "2")]
Aws(AwsCreateConfig),
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CreatePrivateLinkResponse {
#[prost(message, optional, tag = "1")]
pub private_link: ::core::option::Option<PrivateLink>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DestroyPrivateLinkRequest {
#[prost(string, tag = "1")]
pub private_link_id: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DestroyPrivateLinkResponse {
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListPrivateLinksRequest {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPrivateLinksResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<PrivateLink>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPrivateLinkStatusRequest {
#[prost(string, tag = "1")]
pub private_link_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPrivateLinkStatusResponse {
#[prost(message, optional, tag = "1")]
pub value: ::core::option::Option<PrivateLinkStatus>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AgentSecretKind {
Unknown = 0,
Environment = 1,
File = 2,
}
impl AgentSecretKind {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "AGENT_SECRET_KIND_UNKNOWN",
Self::Environment => "AGENT_SECRET_KIND_ENVIRONMENT",
Self::File => "AGENT_SECRET_KIND_FILE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"AGENT_SECRET_KIND_UNKNOWN" => Some(Self::Unknown),
"AGENT_SECRET_KIND_ENVIRONMENT" => Some(Self::Environment),
"AGENT_SECRET_KIND_FILE" => Some(Self::File),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AgentEventType {
Unknown = 0,
ApplicationCrashed = 1,
RestartedHighDiskUsage = 2,
RestartedHighMemoryUsage = 3,
}
impl AgentEventType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "AGENT_EVENT_TYPE_UNKNOWN",
Self::ApplicationCrashed => "AGENT_EVENT_TYPE_APPLICATION_CRASHED",
Self::RestartedHighDiskUsage => "AGENT_EVENT_TYPE_RESTARTED_HIGH_DISK_USAGE",
Self::RestartedHighMemoryUsage => "AGENT_EVENT_TYPE_RESTARTED_HIGH_MEMORY_USAGE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"AGENT_EVENT_TYPE_UNKNOWN" => Some(Self::Unknown),
"AGENT_EVENT_TYPE_APPLICATION_CRASHED" => Some(Self::ApplicationCrashed),
"AGENT_EVENT_TYPE_RESTARTED_HIGH_DISK_USAGE" => Some(Self::RestartedHighDiskUsage),
"AGENT_EVENT_TYPE_RESTARTED_HIGH_MEMORY_USAGE" => Some(Self::RestartedHighMemoryUsage),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SimulationRunSummary {
#[prost(int32, tag = "1")]
pub passed: i32,
#[prost(int32, tag = "2")]
pub failed: i32,
#[prost(string, tag = "3")]
pub going_well: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub to_improve: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "5")]
pub issues: ::prost::alloc::vec::Vec<simulation_run_summary::Issue>,
#[prost(map = "string, message", tag = "6")]
pub chat_history: ::std::collections::HashMap<::prost::alloc::string::String, agent::ChatContext>,
}
pub mod simulation_run_summary {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Issue {
#[prost(string, tag = "1")]
pub description: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub suggestion: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub label: ::prost::alloc::string::String,
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SimulationRun {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub project_id: ::prost::alloc::string::String,
#[prost(enumeration = "simulation_run::Status", tag = "3")]
pub status: i32,
#[prost(string, tag = "4")]
pub agent_description: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub error: ::prost::alloc::string::String,
#[prost(message, optional, tag = "6")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, repeated, tag = "7")]
pub jobs: ::prost::alloc::vec::Vec<simulation_run::Job>,
#[prost(string, tag = "9")]
pub agent_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "10")]
pub scenario_group: ::core::option::Option<ScenarioGroup>,
#[prost(message, optional, tag = "11")]
pub ended_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(int32, tag = "12")]
pub job_count: i32,
#[prost(int32, tag = "13")]
pub passed_count: i32,
#[prost(int32, tag = "14")]
pub failed_count: i32,
#[prost(int32, tag = "15")]
pub num_simulations: i32,
#[prost(message, optional, tag = "16")]
pub usage: ::core::option::Option<simulation_run::Usage>,
#[prost(int32, tag = "17")]
pub concurrency: i32,
#[prost(enumeration = "SimulationMode", tag = "18")]
pub mode: i32,
#[prost(message, optional, tag = "19")]
pub metrics: ::core::option::Option<simulation_run::RunMetrics>,
#[prost(bytes = "vec", tag = "20")]
pub summary_zstd: ::prost::alloc::vec::Vec<u8>,
#[prost(int32, optional, tag = "21")]
pub issue_count: ::core::option::Option<i32>,
#[prost(message, optional, tag = "22")]
pub ci: ::core::option::Option<simulation_run::Ci>,
#[prost(message, optional, tag = "23")]
pub sampling: ::core::option::Option<simulation_run::SamplingOptions>,
}
pub mod simulation_run {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Job {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(enumeration = "job::Status", tag = "2")]
pub status: i32,
#[prost(string, tag = "3")]
pub instructions: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub error: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub agent_expectations: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub label: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "7")]
pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "8")]
pub room_name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "10")]
pub started_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "11")]
pub ended_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "12")]
pub room_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "13")]
pub usage: ::core::option::Option<job::Usage>,
#[prost(message, optional, tag = "14")]
pub metrics: ::core::option::Option<JobMetrics>,
#[prost(string, tag = "15")]
pub scenario_id: ::prost::alloc::string::String,
#[prost(int32, tag = "16")]
pub sample: i32,
}
pub mod job {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Usage {
#[prost(int32, tag = "1")]
pub text_turns_count: i32,
#[prost(int32, tag = "2")]
pub audio_turns_count: i32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Status {
Pending = 0,
Running = 1,
Completed = 2,
Failed = 3,
Cancelled = 4,
}
impl Status {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Pending => "STATUS_PENDING",
Self::Running => "STATUS_RUNNING",
Self::Completed => "STATUS_COMPLETED",
Self::Failed => "STATUS_FAILED",
Self::Cancelled => "STATUS_CANCELLED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATUS_PENDING" => Some(Self::Pending),
"STATUS_RUNNING" => Some(Self::Running),
"STATUS_COMPLETED" => Some(Self::Completed),
"STATUS_FAILED" => Some(Self::Failed),
"STATUS_CANCELLED" => Some(Self::Cancelled),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JobMetrics {
#[prost(float, optional, tag = "3")]
pub task_completion: ::core::option::Option<f32>,
#[prost(float, optional, tag = "20")]
pub overall_score: ::core::option::Option<f32>,
#[prost(message, optional, tag = "4")]
pub stt: ::core::option::Option<job_metrics::Stt>,
#[prost(message, optional, tag = "5")]
pub llm: ::core::option::Option<job_metrics::Llm>,
#[prost(message, optional, tag = "6")]
pub tts: ::core::option::Option<job_metrics::Tts>,
#[prost(message, optional, tag = "7")]
pub conversation: ::core::option::Option<job_metrics::Conversation>,
#[prost(message, repeated, tag = "9")]
pub turns: ::prost::alloc::vec::Vec<job_metrics::Turn>,
#[prost(string, tag = "10")]
pub judge_model: ::prost::alloc::string::String,
#[prost(bool, tag = "12")]
pub has_remote_session: bool,
#[prost(message, optional, tag = "13")]
pub t0: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(float, optional, tag = "14")]
pub conciseness: ::core::option::Option<f32>,
#[prost(bool, optional, tag = "15")]
pub unnecessary_tool_calls: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "16")]
pub information_loss: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "17")]
pub redundant_statements: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "18")]
pub poor_question_quality: ::core::option::Option<bool>,
#[prost(float, optional, tag = "19")]
pub conversation_progression: ::core::option::Option<f32>,
}
pub mod job_metrics {
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Stt {
#[prost(float, optional, tag = "1")]
pub wer: ::core::option::Option<f32>,
#[prost(uint32, optional, tag = "2")]
pub words: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "3")]
pub word_errors: ::core::option::Option<u32>,
#[prost(float, optional, tag = "4")]
pub cer: ::core::option::Option<f32>,
#[prost(uint32, optional, tag = "9")]
pub chars: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "10")]
pub char_errors: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "8")]
pub stt_delay_ms: ::core::option::Option<u32>,
#[prost(float, optional, tag = "11")]
pub entity_recognition: ::core::option::Option<f32>,
#[prost(uint32, optional, tag = "12")]
pub entities_uttered: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "13")]
pub entities_recognized: ::core::option::Option<u32>,
#[prost(float, optional, tag = "14")]
pub entity_recall: ::core::option::Option<f32>,
#[prost(uint32, optional, tag = "15")]
pub entities_acquired_uttered: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "16")]
pub entities_acquired_recognized: ::core::option::Option<u32>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Llm {
#[prost(uint32, optional, tag = "1")]
pub ttft_ms: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "2")]
pub ttfs_ms: ::core::option::Option<u32>,
#[prost(float, optional, tag = "3")]
pub tokens_per_second: ::core::option::Option<f32>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Tts {
#[prost(uint32, optional, tag = "2")]
pub ttfb_ms: ::core::option::Option<u32>,
#[prost(float, optional, tag = "3")]
pub wer: ::core::option::Option<f32>,
#[prost(uint32, optional, tag = "7")]
pub words: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "8")]
pub word_errors: ::core::option::Option<u32>,
#[prost(float, optional, tag = "9")]
pub cer: ::core::option::Option<f32>,
#[prost(uint32, optional, tag = "10")]
pub chars: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "11")]
pub char_errors: ::core::option::Option<u32>,
#[prost(float, optional, tag = "14")]
pub entity_recognition: ::core::option::Option<f32>,
#[prost(uint32, optional, tag = "15")]
pub entities_uttered: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "16")]
pub entities_recognized: ::core::option::Option<u32>,
#[prost(float, optional, tag = "17")]
pub entity_recall: ::core::option::Option<f32>,
#[prost(uint32, optional, tag = "18")]
pub entities_acquired_uttered: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "19")]
pub entities_acquired_recognized: ::core::option::Option<u32>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Conversation {
#[prost(float, optional, tag = "1")]
pub turn_taking_score: ::core::option::Option<f32>,
#[prost(int32, optional, tag = "2")]
pub heard_e2e_latency_p50_ms: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "3")]
pub heard_e2e_latency_p95_ms: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "4")]
pub heard_e2e_latency_p99_ms: ::core::option::Option<i32>,
#[prost(uint32, optional, tag = "5")]
pub time_to_yield_ms: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "6")]
pub eot_misprediction_count: ::core::option::Option<u32>,
#[prost(float, optional, tag = "7")]
pub overlap_ratio: ::core::option::Option<f32>,
#[prost(uint32, optional, tag = "8")]
pub overlap_speech_ms: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "9")]
pub total_speech_ms: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "11")]
pub awkward_silence_count: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "12")]
pub unanswered_turns: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "13")]
pub false_interruption_count: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "15")]
pub e2e_latency_ms: ::core::option::Option<u32>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Turn {
#[prost(uint32, tag = "1")]
pub index: u32,
#[prost(enumeration = "super::super::agent::ChatRole", tag = "2")]
pub role: i32,
#[prost(uint32, optional, tag = "3")]
pub start_ms: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "4")]
pub end_ms: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "5")]
pub stt_delay_ms: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "6")]
pub llm_ttft_ms: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "7")]
pub llm_ttfs_ms: ::core::option::Option<u32>,
#[prost(float, optional, tag = "8")]
pub llm_tps: ::core::option::Option<f32>,
#[prost(uint32, optional, tag = "9")]
pub tts_ttfb_ms: ::core::option::Option<u32>,
#[prost(uint32, optional, tag = "10")]
pub e2e_latency_ms: ::core::option::Option<u32>,
#[prost(int32, optional, tag = "11")]
pub heard_e2e_latency_ms: ::core::option::Option<i32>,
#[prost(uint32, optional, tag = "12")]
pub time_to_yield_ms: ::core::option::Option<u32>,
#[prost(float, optional, tag = "13")]
pub turn_taking_score: ::core::option::Option<f32>,
#[prost(float, optional, tag = "14")]
pub conciseness: ::core::option::Option<f32>,
#[prost(bool, optional, tag = "15")]
pub eot_misprediction: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "16")]
pub awkward_silence: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "17")]
pub unanswered: ::core::option::Option<bool>,
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RunMetrics {
#[prost(float, optional, tag = "3")]
pub scenario_pass_rate: ::core::option::Option<f32>,
#[prost(float, optional, tag = "10")]
pub overall_score: ::core::option::Option<f32>,
#[prost(message, optional, tag = "4")]
pub stt: ::core::option::Option<job_metrics::Stt>,
#[prost(message, optional, tag = "5")]
pub llm: ::core::option::Option<job_metrics::Llm>,
#[prost(message, optional, tag = "6")]
pub tts: ::core::option::Option<job_metrics::Tts>,
#[prost(message, optional, tag = "7")]
pub conversation: ::core::option::Option<job_metrics::Conversation>,
#[prost(float, optional, tag = "8")]
pub conciseness: ::core::option::Option<f32>,
#[prost(float, optional, tag = "9")]
pub conversation_progression: ::core::option::Option<f32>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ci {
#[prost(string, tag = "1")]
pub provider: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub commit_sha: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub r#ref: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub pull_request: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub run_url: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub actor: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SamplingOptions {
#[prost(int32, tag = "1")]
pub samples: i32,
#[prost(double, tag = "2")]
pub pass_rate: f64,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Create {
}
pub mod create {
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Request {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
#[prost(int32, tag = "4")]
pub num_simulations: i32,
#[prost(string, tag = "6")]
pub region: ::prost::alloc::string::String,
#[prost(message, optional, tag = "7")]
pub scenario_group: ::core::option::Option<super::super::ScenarioGroup>,
#[prost(int32, optional, tag = "8")]
pub concurrency: ::core::option::Option<i32>,
#[prost(enumeration = "super::super::SimulationMode", tag = "9")]
pub mode: i32,
#[prost(bool, tag = "10")]
pub background_noise: bool,
#[prost(bool, tag = "11")]
pub low_quality_microphone: bool,
#[prost(bool, tag = "12")]
pub packet_loss: bool,
#[prost(message, optional, tag = "13")]
pub ci: ::core::option::Option<super::Ci>,
#[prost(message, optional, tag = "14")]
pub sampling: ::core::option::Option<super::SamplingOptions>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Response {
#[prost(string, tag = "1")]
pub simulation_run_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub presigned_post_request: ::core::option::Option<super::super::PresignedPostRequest>,
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConfirmSourceUpload {
}
pub mod confirm_source_upload {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Request {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub simulation_run_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub code_entrypoint: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Response {
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Get {
}
pub mod get {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Request {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub simulation_run_id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Response {
#[prost(message, optional, tag = "1")]
pub run: ::core::option::Option<super::super::SimulationRun>,
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct List {
}
pub mod list {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Request {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(enumeration = "super::Status", optional, tag = "2")]
pub status: ::core::option::Option<i32>,
#[prost(message, optional, tag = "3")]
pub page_token: ::core::option::Option<super::super::TokenPagination>,
#[prost(message, optional, tag = "4")]
pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "5")]
pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, optional, tag = "6")]
pub agent_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration = "super::super::SimulationMode", optional, tag = "7")]
pub mode: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Response {
#[prost(message, repeated, tag = "1")]
pub runs: ::prost::alloc::vec::Vec<super::super::SimulationRun>,
#[prost(message, optional, tag = "2")]
pub next_page_token: ::core::option::Option<super::super::TokenPagination>,
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Counts {
}
pub mod counts {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Request {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "3")]
pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(enumeration = "super::Status", optional, tag = "4")]
pub status: ::core::option::Option<i32>,
#[prost(string, optional, tag = "5")]
pub agent_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(enumeration = "super::super::SimulationMode", optional, tag = "6")]
pub mode: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Response {
#[prost(message, repeated, tag = "1")]
pub buckets: ::prost::alloc::vec::Vec<Bucket>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<::pbjson_types::Duration>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bucket {
#[prost(message, optional, tag = "1")]
pub bucket_start: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(uint64, tag = "2")]
pub count: u64,
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cancel {
}
pub mod cancel {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Request {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub simulation_run_id: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Response {
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Usage {
#[prost(int32, tag = "1")]
pub text_turns_count: i32,
#[prost(int32, tag = "2")]
pub audio_turns_count: i32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Status {
PendingUpload = 0,
Generating = 1,
Running = 2,
Summarizing = 3,
Completed = 4,
Failed = 5,
Cancelled = 6,
}
impl Status {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::PendingUpload => "STATUS_PENDING_UPLOAD",
Self::Generating => "STATUS_GENERATING",
Self::Running => "STATUS_RUNNING",
Self::Summarizing => "STATUS_SUMMARIZING",
Self::Completed => "STATUS_COMPLETED",
Self::Failed => "STATUS_FAILED",
Self::Cancelled => "STATUS_CANCELLED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STATUS_PENDING_UPLOAD" => Some(Self::PendingUpload),
"STATUS_GENERATING" => Some(Self::Generating),
"STATUS_RUNNING" => Some(Self::Running),
"STATUS_SUMMARIZING" => Some(Self::Summarizing),
"STATUS_COMPLETED" => Some(Self::Completed),
"STATUS_FAILED" => Some(Self::Failed),
"STATUS_CANCELLED" => Some(Self::Cancelled),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Scenario {
#[prost(string, tag = "1")]
pub label: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub instructions: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub agent_expectations: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "4")]
pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(string, tag = "5")]
pub userdata: ::prost::alloc::string::String,
#[prost(string, tag = "6")]
pub id: ::prost::alloc::string::String,
}
pub mod scenario {
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CreateFromSession {
}
pub mod create_from_session {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Request {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub room_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub region: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Response {
#[prost(message, optional, tag = "1")]
pub scenario: ::core::option::Option<super::super::Scenario>,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScenarioGroup {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub scenarios: ::prost::alloc::vec::Vec<Scenario>,
#[prost(string, tag = "3")]
pub id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SimulationDispatch {
#[prost(string, tag = "1")]
pub simulation_run_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub job_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "3")]
pub scenario: ::core::option::Option<Scenario>,
#[prost(enumeration = "SimulationMode", tag = "4")]
pub mode: i32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SimulationMode {
Unspecified = 0,
Text = 1,
Audio = 2,
}
impl SimulationMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SIMULATION_MODE_UNSPECIFIED",
Self::Text => "SIMULATION_MODE_TEXT",
Self::Audio => "SIMULATION_MODE_AUDIO",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SIMULATION_MODE_UNSPECIFIED" => Some(Self::Unspecified),
"SIMULATION_MODE_TEXT" => Some(Self::Text),
"SIMULATION_MODE_AUDIO" => Some(Self::Audio),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WorkerInfo {
#[prost(string, tag = "1")]
pub worker_type: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub agent_name: ::prost::alloc::string::String,
#[prost(float, tag = "3")]
pub active_jobs: f32,
#[prost(string, tag = "4")]
pub sdk_version: ::prost::alloc::string::String,
#[prost(float, tag = "5")]
pub worker_load: f32,
#[prost(int32, tag = "6")]
pub protocol_version: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Node {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub ip: ::prost::alloc::string::String,
#[prost(uint32, tag = "3")]
pub num_cpus: u32,
#[prost(message, optional, tag = "4")]
pub stats: ::core::option::Option<NodeStats>,
#[prost(enumeration = "NodeType", tag = "5")]
pub r#type: i32,
#[prost(enumeration = "NodeState", tag = "6")]
pub state: i32,
#[prost(string, tag = "7")]
pub region: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NodeStats {
#[prost(int64, tag = "1")]
pub started_at: i64,
#[prost(int64, tag = "2")]
pub updated_at: i64,
#[prost(int32, tag = "3")]
pub num_rooms: i32,
#[prost(int32, tag = "4")]
pub num_clients: i32,
#[prost(int32, tag = "5")]
pub num_tracks_in: i32,
#[prost(int32, tag = "6")]
pub num_tracks_out: i32,
#[prost(int32, tag = "36")]
pub num_track_publish_attempts: i32,
#[deprecated]
#[prost(float, tag = "37")]
pub track_publish_attempts_per_sec: f32,
#[prost(int32, tag = "38")]
pub num_track_publish_success: i32,
#[deprecated]
#[prost(float, tag = "39")]
pub track_publish_success_per_sec: f32,
#[prost(int32, tag = "51")]
pub num_track_publish_cancels: i32,
#[prost(int32, tag = "40")]
pub num_track_subscribe_attempts: i32,
#[deprecated]
#[prost(float, tag = "41")]
pub track_subscribe_attempts_per_sec: f32,
#[prost(int32, tag = "42")]
pub num_track_subscribe_success: i32,
#[deprecated]
#[prost(float, tag = "43")]
pub track_subscribe_success_per_sec: f32,
#[prost(int32, tag = "52")]
pub num_track_subscribe_cancels: i32,
#[prost(uint64, tag = "7")]
pub bytes_in: u64,
#[prost(uint64, tag = "8")]
pub bytes_out: u64,
#[prost(uint64, tag = "9")]
pub packets_in: u64,
#[prost(uint64, tag = "10")]
pub packets_out: u64,
#[prost(uint64, tag = "11")]
pub nack_total: u64,
#[deprecated]
#[prost(float, tag = "12")]
pub bytes_in_per_sec: f32,
#[deprecated]
#[prost(float, tag = "13")]
pub bytes_out_per_sec: f32,
#[prost(float, tag = "14")]
pub packets_in_per_sec: f32,
#[deprecated]
#[prost(float, tag = "15")]
pub packets_out_per_sec: f32,
#[deprecated]
#[prost(float, tag = "16")]
pub nack_per_sec: f32,
#[prost(uint32, tag = "17")]
pub num_cpus: u32,
#[prost(float, tag = "18")]
pub load_avg_last1min: f32,
#[prost(float, tag = "19")]
pub load_avg_last5min: f32,
#[prost(float, tag = "20")]
pub load_avg_last15min: f32,
#[prost(float, tag = "21")]
pub cpu_load: f32,
#[deprecated]
#[prost(float, tag = "33")]
pub memory_load: f32,
#[prost(uint64, tag = "34")]
pub memory_total: u64,
#[prost(uint64, tag = "35")]
pub memory_used: u64,
#[prost(uint32, tag = "28")]
pub sys_packets_out: u32,
#[prost(uint32, tag = "29")]
pub sys_packets_dropped: u32,
#[deprecated]
#[prost(float, tag = "30")]
pub sys_packets_out_per_sec: f32,
#[deprecated]
#[prost(float, tag = "31")]
pub sys_packets_dropped_per_sec: f32,
#[deprecated]
#[prost(float, tag = "32")]
pub sys_packets_dropped_pct_per_sec: f32,
#[prost(uint64, tag = "22")]
pub retransmit_bytes_out: u64,
#[prost(uint64, tag = "23")]
pub retransmit_packets_out: u64,
#[deprecated]
#[prost(float, tag = "24")]
pub retransmit_bytes_out_per_sec: f32,
#[deprecated]
#[prost(float, tag = "25")]
pub retransmit_packets_out_per_sec: f32,
#[prost(uint64, tag = "26")]
pub participant_signal_connected: u64,
#[deprecated]
#[prost(float, tag = "27")]
pub participant_signal_connected_per_sec: f32,
#[deprecated]
#[prost(uint64, tag = "55")]
pub participant_signal_failed: u64,
#[deprecated]
#[prost(uint64, tag = "56")]
pub participant_signal_validation_failed: u64,
#[prost(uint64, tag = "44")]
pub participant_rtc_connected: u64,
#[deprecated]
#[prost(float, tag = "45")]
pub participant_rtc_connected_per_sec: f32,
#[prost(uint64, tag = "46")]
pub participant_rtc_init: u64,
#[deprecated]
#[prost(float, tag = "47")]
pub participant_rtc_init_per_sec: f32,
#[prost(uint64, tag = "53")]
pub participant_rtc_canceled: u64,
#[prost(uint64, tag = "54")]
pub participant_rtc_active: u64,
#[prost(uint32, tag = "48")]
pub forward_latency: u32,
#[deprecated]
#[prost(uint32, tag = "49")]
pub forward_jitter: u32,
#[prost(message, repeated, tag = "50")]
pub rates: ::prost::alloc::vec::Vec<NodeStatsRate>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NodeStatsRate {
#[prost(int64, tag = "1")]
pub started_at: i64,
#[prost(int64, tag = "2")]
pub ended_at: i64,
#[prost(int64, tag = "3")]
pub duration: i64,
#[prost(float, tag = "4")]
pub track_publish_attempts: f32,
#[prost(float, tag = "5")]
pub track_publish_success: f32,
#[prost(float, tag = "24")]
pub track_publish_cancels: f32,
#[prost(float, tag = "6")]
pub track_subscribe_attempts: f32,
#[prost(float, tag = "7")]
pub track_subscribe_success: f32,
#[prost(float, tag = "25")]
pub track_subscribe_cancels: f32,
#[prost(float, tag = "8")]
pub bytes_in: f32,
#[prost(float, tag = "9")]
pub bytes_out: f32,
#[prost(float, tag = "10")]
pub packets_in: f32,
#[prost(float, tag = "11")]
pub packets_out: f32,
#[prost(float, tag = "12")]
pub nack_total: f32,
#[prost(float, tag = "13")]
pub sys_packets_out: f32,
#[prost(float, tag = "14")]
pub sys_packets_dropped: f32,
#[prost(float, tag = "15")]
pub retransmit_bytes_out: f32,
#[prost(float, tag = "16")]
pub retransmit_packets_out: f32,
#[prost(float, tag = "17")]
pub participant_signal_connected: f32,
#[prost(float, tag = "28")]
pub participant_signal_failed: f32,
#[prost(float, tag = "29")]
pub participant_signal_validation_failed: f32,
#[prost(float, tag = "18")]
pub participant_rtc_connected: f32,
#[prost(float, tag = "19")]
pub participant_rtc_init: f32,
#[prost(float, tag = "26")]
pub participant_rtc_canceled: f32,
#[prost(float, tag = "27")]
pub participant_rtc_active: f32,
#[prost(float, tag = "20")]
pub cpu_load: f32,
#[prost(float, tag = "21")]
pub memory_load: f32,
#[prost(float, tag = "22")]
pub memory_used: f32,
#[prost(float, tag = "23")]
pub memory_total: f32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartSession {
#[prost(string, tag = "1")]
pub room_name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub identity: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub connection_id: ::prost::alloc::string::String,
#[prost(bool, tag = "4")]
pub reconnect: bool,
#[prost(bool, tag = "9")]
pub auto_subscribe: bool,
#[prost(bool, optional, tag = "25")]
pub auto_subscribe_data_track: ::core::option::Option<bool>,
#[deprecated]
#[prost(bool, tag = "10")]
pub hidden: bool,
#[prost(message, optional, tag = "11")]
pub client: ::core::option::Option<ClientInfo>,
#[deprecated]
#[prost(bool, tag = "12")]
pub recorder: bool,
#[prost(string, tag = "13")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "14")]
pub grants_json: ::prost::alloc::string::String,
#[prost(bool, tag = "15")]
pub adaptive_stream: bool,
#[prost(string, tag = "16")]
pub participant_id: ::prost::alloc::string::String,
#[prost(enumeration = "ReconnectReason", tag = "17")]
pub reconnect_reason: i32,
#[prost(bool, optional, tag = "18")]
pub subscriber_allow_pause: ::core::option::Option<bool>,
#[prost(bool, tag = "19")]
pub disable_ice_lite: bool,
#[prost(message, optional, tag = "20")]
pub create_room: ::core::option::Option<CreateRoomRequest>,
#[prost(message, repeated, tag = "21")]
pub add_track_requests: ::prost::alloc::vec::Vec<AddTrackRequest>,
#[prost(message, optional, tag = "22")]
pub publisher_offer: ::core::option::Option<SessionDescription>,
#[prost(message, optional, tag = "23")]
pub sync_state: ::core::option::Option<SyncState>,
#[prost(bool, tag = "24")]
pub use_single_peer_connection: bool,
#[prost(int64, tag = "26")]
pub token_expires_at: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoomInternal {
#[prost(message, optional, tag = "1")]
pub track_egress: ::core::option::Option<AutoTrackEgress>,
#[prost(message, optional, tag = "2")]
pub participant_egress: ::core::option::Option<AutoParticipantEgress>,
#[prost(message, optional, tag = "3")]
pub playout_delay: ::core::option::Option<PlayoutDelay>,
#[prost(message, repeated, tag = "5")]
pub agent_dispatches: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
#[prost(bool, tag = "4")]
pub sync_streams: bool,
#[prost(bool, tag = "6")]
pub replay_enabled: bool,
#[prost(bool, tag = "7")]
pub export_room: bool,
#[prost(map = "string, string", tag = "8")]
pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct IceConfig {
#[prost(enumeration = "IceCandidateType", tag = "1")]
pub preference_subscriber: i32,
#[prost(enumeration = "IceCandidateType", tag = "2")]
pub preference_publisher: i32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NodeType {
Server = 0,
Controller = 1,
Media = 2,
Turn = 4,
Sweeper = 5,
Director = 6,
HostedAgent = 7,
Settings = 8,
}
impl NodeType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Server => "SERVER",
Self::Controller => "CONTROLLER",
Self::Media => "MEDIA",
Self::Turn => "TURN",
Self::Sweeper => "SWEEPER",
Self::Director => "DIRECTOR",
Self::HostedAgent => "HOSTED_AGENT",
Self::Settings => "SETTINGS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SERVER" => Some(Self::Server),
"CONTROLLER" => Some(Self::Controller),
"MEDIA" => Some(Self::Media),
"TURN" => Some(Self::Turn),
"SWEEPER" => Some(Self::Sweeper),
"DIRECTOR" => Some(Self::Director),
"HOSTED_AGENT" => Some(Self::HostedAgent),
"SETTINGS" => Some(Self::Settings),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NodeState {
StartingUp = 0,
Serving = 1,
ShuttingDown = 2,
Suspended = 3,
}
impl NodeState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::StartingUp => "STARTING_UP",
Self::Serving => "SERVING",
Self::ShuttingDown => "SHUTTING_DOWN",
Self::Suspended => "SUSPENDED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"STARTING_UP" => Some(Self::StartingUp),
"SERVING" => Some(Self::Serving),
"SHUTTING_DOWN" => Some(Self::ShuttingDown),
"SUSPENDED" => Some(Self::Suspended),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum IceCandidateType {
IctNone = 0,
IctTcp = 1,
IctTls = 2,
}
impl IceCandidateType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::IctNone => "ICT_NONE",
Self::IctTcp => "ICT_TCP",
Self::IctTls => "ICT_TLS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ICT_NONE" => Some(Self::IctNone),
"ICT_TCP" => Some(Self::IctTcp),
"ICT_TLS" => Some(Self::IctTls),
_ => None,
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SearchPhoneNumbersRequest {
#[prost(string, tag = "1")]
pub country_code: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub area_code: ::core::option::Option<::prost::alloc::string::String>,
#[prost(int32, optional, tag = "3")]
pub limit: ::core::option::Option<i32>,
#[prost(message, optional, tag = "4")]
pub page_token: ::core::option::Option<TokenPagination>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchPhoneNumbersResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<PhoneNumber>,
#[prost(message, optional, tag = "2")]
pub next_page_token: ::core::option::Option<TokenPagination>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PurchasePhoneNumberRequest {
#[prost(string, repeated, tag = "1")]
pub phone_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub sip_dispatch_rule_id: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PurchasePhoneNumberResponse {
#[prost(message, repeated, tag = "1")]
pub phone_numbers: ::prost::alloc::vec::Vec<PhoneNumber>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ListPhoneNumbersRequest {
#[prost(int32, optional, tag = "1")]
pub limit: ::core::option::Option<i32>,
#[prost(enumeration = "PhoneNumberStatus", repeated, tag = "2")]
pub statuses: ::prost::alloc::vec::Vec<i32>,
#[prost(message, optional, tag = "3")]
pub page_token: ::core::option::Option<TokenPagination>,
#[prost(string, optional, tag = "4")]
pub sip_dispatch_rule_id: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListPhoneNumbersResponse {
#[prost(message, repeated, tag = "1")]
pub items: ::prost::alloc::vec::Vec<PhoneNumber>,
#[prost(message, optional, tag = "2")]
pub next_page_token: ::core::option::Option<TokenPagination>,
#[prost(int32, tag = "3")]
pub total_count: i32,
#[prost(int32, tag = "4")]
pub offline_count: i32,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPhoneNumberRequest {
#[prost(string, optional, tag = "1")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub phone_number: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPhoneNumberResponse {
#[prost(message, optional, tag = "1")]
pub phone_number: ::core::option::Option<PhoneNumber>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdatePhoneNumberRequest {
#[prost(string, optional, tag = "1")]
pub id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub phone_number: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub sip_dispatch_rule_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdatePhoneNumberResponse {
#[prost(message, optional, tag = "1")]
pub phone_number: ::core::option::Option<PhoneNumber>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReleasePhoneNumbersRequest {
#[prost(string, repeated, tag = "1")]
pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub phone_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReleasePhoneNumbersResponse {
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PhoneNumber {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "17")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub e164_format: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub country_code: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub area_code: ::prost::alloc::string::String,
#[prost(enumeration = "PhoneNumberType", tag = "5")]
pub number_type: i32,
#[prost(string, tag = "6")]
pub locality: ::prost::alloc::string::String,
#[prost(string, tag = "7")]
pub region: ::prost::alloc::string::String,
#[prost(double, tag = "8")]
pub spam_score: f64,
#[prost(message, optional, tag = "9")]
pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "10")]
pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, repeated, tag = "11")]
pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(enumeration = "PhoneNumberStatus", tag = "12")]
pub status: i32,
#[prost(enumeration = "PhoneNumberInboundStatus", tag = "18")]
pub inbound_status: i32,
#[prost(enumeration = "PhoneNumberOutboundStatus", tag = "19")]
pub outbound_status: i32,
#[prost(message, optional, tag = "13")]
pub assigned_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(message, optional, tag = "14")]
pub released_at: ::core::option::Option<::pbjson_types::Timestamp>,
#[deprecated]
#[prost(string, tag = "15")]
pub sip_dispatch_rule_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "16")]
pub sip_dispatch_rule_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PhoneNumberStatus {
Unspecified = 0,
Active = 1,
Pending = 2,
Released = 3,
Offline = 4,
}
impl PhoneNumberStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "PHONE_NUMBER_STATUS_UNSPECIFIED",
Self::Active => "PHONE_NUMBER_STATUS_ACTIVE",
Self::Pending => "PHONE_NUMBER_STATUS_PENDING",
Self::Released => "PHONE_NUMBER_STATUS_RELEASED",
Self::Offline => "PHONE_NUMBER_STATUS_OFFLINE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PHONE_NUMBER_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
"PHONE_NUMBER_STATUS_ACTIVE" => Some(Self::Active),
"PHONE_NUMBER_STATUS_PENDING" => Some(Self::Pending),
"PHONE_NUMBER_STATUS_RELEASED" => Some(Self::Released),
"PHONE_NUMBER_STATUS_OFFLINE" => Some(Self::Offline),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PhoneNumberInboundStatus {
PhoneNumberInStatusUnspecified = 0,
PhoneNumberInStatusActive = 1,
PhoneNumberInStatusUnavailable = 2,
PhoneNumberInStatusDetached = 3,
}
impl PhoneNumberInboundStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::PhoneNumberInStatusUnspecified => "PHONE_NUMBER_IN_STATUS_UNSPECIFIED",
Self::PhoneNumberInStatusActive => "PHONE_NUMBER_IN_STATUS_ACTIVE",
Self::PhoneNumberInStatusUnavailable => "PHONE_NUMBER_IN_STATUS_UNAVAILABLE",
Self::PhoneNumberInStatusDetached => "PHONE_NUMBER_IN_STATUS_DETACHED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PHONE_NUMBER_IN_STATUS_UNSPECIFIED" => Some(Self::PhoneNumberInStatusUnspecified),
"PHONE_NUMBER_IN_STATUS_ACTIVE" => Some(Self::PhoneNumberInStatusActive),
"PHONE_NUMBER_IN_STATUS_UNAVAILABLE" => Some(Self::PhoneNumberInStatusUnavailable),
"PHONE_NUMBER_IN_STATUS_DETACHED" => Some(Self::PhoneNumberInStatusDetached),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PhoneNumberOutboundStatus {
PhoneNumberOutStatusUnspecified = 0,
PhoneNumberOutStatusActive = 1,
PhoneNumberOutStatusUnavailable = 2,
}
impl PhoneNumberOutboundStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::PhoneNumberOutStatusUnspecified => "PHONE_NUMBER_OUT_STATUS_UNSPECIFIED",
Self::PhoneNumberOutStatusActive => "PHONE_NUMBER_OUT_STATUS_ACTIVE",
Self::PhoneNumberOutStatusUnavailable => "PHONE_NUMBER_OUT_STATUS_UNAVAILABLE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PHONE_NUMBER_OUT_STATUS_UNSPECIFIED" => Some(Self::PhoneNumberOutStatusUnspecified),
"PHONE_NUMBER_OUT_STATUS_ACTIVE" => Some(Self::PhoneNumberOutStatusActive),
"PHONE_NUMBER_OUT_STATUS_UNAVAILABLE" => Some(Self::PhoneNumberOutStatusUnavailable),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PhoneNumberType {
Unknown = 0,
Mobile = 1,
Local = 2,
TollFree = 3,
}
impl PhoneNumberType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "PHONE_NUMBER_TYPE_UNKNOWN",
Self::Mobile => "PHONE_NUMBER_TYPE_MOBILE",
Self::Local => "PHONE_NUMBER_TYPE_LOCAL",
Self::TollFree => "PHONE_NUMBER_TYPE_TOLL_FREE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PHONE_NUMBER_TYPE_UNKNOWN" => Some(Self::Unknown),
"PHONE_NUMBER_TYPE_MOBILE" => Some(Self::Mobile),
"PHONE_NUMBER_TYPE_LOCAL" => Some(Self::Local),
"PHONE_NUMBER_TYPE_TOLL_FREE" => Some(Self::TollFree),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenSourceRequest {
#[prost(string, optional, tag = "1")]
pub room_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "2")]
pub participant_name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub participant_identity: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub participant_metadata: ::core::option::Option<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "5")]
pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
#[prost(message, optional, tag = "6")]
pub room_config: ::core::option::Option<RoomConfiguration>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TokenSourceResponse {
#[prost(string, tag = "1")]
pub server_url: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub participant_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRemoteHeadersV1Request {
#[prost(string, repeated, tag = "1")]
pub include: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "2")]
pub exclude: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRemoteHeadersV1Response {
#[prost(map = "string, string", tag = "1")]
pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndCallV1Request {
#[prost(map = "string, string", tag = "1")]
pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EndCallV1Response {
}
include!("livekit.serde.rs");