1#[derive(Clone, PartialEq, ::prost::Message)]
4pub struct MetricsBatch {
5 #[prost(int64, tag = "1")]
7 pub timestamp_ms: i64,
8 #[prost(message, optional, tag = "2")]
9 pub normalized_timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
10 #[prost(string, repeated, tag = "3")]
17 pub str_data: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
18 #[prost(message, repeated, tag = "4")]
19 pub time_series: ::prost::alloc::vec::Vec<TimeSeriesMetric>,
20 #[prost(message, repeated, tag = "5")]
21 pub events: ::prost::alloc::vec::Vec<EventMetric>,
22}
23#[derive(Clone, PartialEq, ::prost::Message)]
24pub struct TimeSeriesMetric {
25 #[prost(uint32, tag = "1")]
28 pub label: u32,
29 #[prost(uint32, tag = "2")]
31 pub participant_identity: u32,
32 #[prost(uint32, tag = "3")]
34 pub track_sid: u32,
35 #[prost(message, repeated, tag = "4")]
36 pub samples: ::prost::alloc::vec::Vec<MetricSample>,
37 #[prost(uint32, tag = "5")]
39 pub rid: u32,
40}
41#[derive(Clone, Copy, PartialEq, ::prost::Message)]
42pub struct MetricSample {
43 #[prost(int64, tag = "1")]
45 pub timestamp_ms: i64,
46 #[prost(message, optional, tag = "2")]
47 pub normalized_timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
48 #[prost(float, tag = "3")]
49 pub value: f32,
50}
51#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
52pub struct EventMetric {
53 #[prost(uint32, tag = "1")]
54 pub label: u32,
55 #[prost(uint32, tag = "2")]
57 pub participant_identity: u32,
58 #[prost(uint32, tag = "3")]
60 pub track_sid: u32,
61 #[prost(int64, tag = "4")]
63 pub start_timestamp_ms: i64,
64 #[prost(int64, optional, tag = "5")]
66 pub end_timestamp_ms: ::core::option::Option<i64>,
67 #[prost(message, optional, tag = "6")]
68 pub normalized_start_timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
69 #[prost(message, optional, tag = "7")]
70 pub normalized_end_timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
71 #[prost(string, tag = "8")]
72 pub metadata: ::prost::alloc::string::String,
73 #[prost(uint32, tag = "9")]
75 pub rid: u32,
76}
77#[derive(Clone, PartialEq, ::prost::Message)]
78pub struct MetricsRecordingHeader {
79 #[prost(string, tag = "1")]
80 pub room_id: ::prost::alloc::string::String,
81 #[prost(uint64, tag = "3")]
83 pub duration: u64,
84 #[prost(message, optional, tag = "4")]
85 pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
86 #[prost(map = "string, string", tag = "5")]
87 pub room_tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
88 #[prost(string, tag = "6")]
89 pub room_name: ::prost::alloc::string::String,
90 #[prost(message, optional, tag = "7")]
91 pub room_start_time: ::core::option::Option<::pbjson_types::Timestamp>,
92 #[prost(string, tag = "8")]
93 pub job_id: ::prost::alloc::string::String,
94 #[prost(bool, tag = "9")]
96 pub simulated: bool,
97 #[prost(bool, tag = "10")]
99 pub redaction_enabled: bool,
100 #[prost(string, tag = "11")]
104 pub session_summary: ::prost::alloc::string::String,
105}
106#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
116#[repr(i32)]
117pub enum MetricLabel {
118 AgentsLlmTtft = 0,
120 AgentsSttTtft = 1,
122 AgentsTtsTtfb = 2,
124 ClientVideoSubscriberFreezeCount = 3,
126 ClientVideoSubscriberTotalFreezeDuration = 4,
128 ClientVideoSubscriberPauseCount = 5,
130 ClientVideoSubscriberTotalPausesDuration = 6,
132 ClientAudioSubscriberConcealedSamples = 7,
134 ClientAudioSubscriberSilentConcealedSamples = 8,
136 ClientAudioSubscriberConcealmentEvents = 9,
138 ClientAudioSubscriberInterruptionCount = 10,
140 ClientAudioSubscriberTotalInterruptionDuration = 11,
142 ClientSubscriberJitterBufferDelay = 12,
144 ClientSubscriberJitterBufferEmittedCount = 13,
146 ClientVideoPublisherQualityLimitationDurationBandwidth = 14,
148 ClientVideoPublisherQualityLimitationDurationCpu = 15,
150 ClientVideoPublisherQualityLimitationDurationOther = 16,
152 PublisherRtt = 17,
154 ServerMeshRtt = 18,
156 SubscriberRtt = 19,
158 PredefinedMaxValue = 4096,
159}
160impl MetricLabel {
161 pub fn as_str_name(&self) -> &'static str {
166 match self {
167 Self::AgentsLlmTtft => "AGENTS_LLM_TTFT",
168 Self::AgentsSttTtft => "AGENTS_STT_TTFT",
169 Self::AgentsTtsTtfb => "AGENTS_TTS_TTFB",
170 Self::ClientVideoSubscriberFreezeCount => "CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT",
171 Self::ClientVideoSubscriberTotalFreezeDuration => "CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION",
172 Self::ClientVideoSubscriberPauseCount => "CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT",
173 Self::ClientVideoSubscriberTotalPausesDuration => "CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION",
174 Self::ClientAudioSubscriberConcealedSamples => "CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES",
175 Self::ClientAudioSubscriberSilentConcealedSamples => "CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES",
176 Self::ClientAudioSubscriberConcealmentEvents => "CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS",
177 Self::ClientAudioSubscriberInterruptionCount => "CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT",
178 Self::ClientAudioSubscriberTotalInterruptionDuration => "CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION",
179 Self::ClientSubscriberJitterBufferDelay => "CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY",
180 Self::ClientSubscriberJitterBufferEmittedCount => "CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT",
181 Self::ClientVideoPublisherQualityLimitationDurationBandwidth => "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_BANDWIDTH",
182 Self::ClientVideoPublisherQualityLimitationDurationCpu => "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_CPU",
183 Self::ClientVideoPublisherQualityLimitationDurationOther => "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_OTHER",
184 Self::PublisherRtt => "PUBLISHER_RTT",
185 Self::ServerMeshRtt => "SERVER_MESH_RTT",
186 Self::SubscriberRtt => "SUBSCRIBER_RTT",
187 Self::PredefinedMaxValue => "METRIC_LABEL_PREDEFINED_MAX_VALUE",
188 }
189 }
190 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
192 match value {
193 "AGENTS_LLM_TTFT" => Some(Self::AgentsLlmTtft),
194 "AGENTS_STT_TTFT" => Some(Self::AgentsSttTtft),
195 "AGENTS_TTS_TTFB" => Some(Self::AgentsTtsTtfb),
196 "CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT" => Some(Self::ClientVideoSubscriberFreezeCount),
197 "CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION" => Some(Self::ClientVideoSubscriberTotalFreezeDuration),
198 "CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT" => Some(Self::ClientVideoSubscriberPauseCount),
199 "CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION" => Some(Self::ClientVideoSubscriberTotalPausesDuration),
200 "CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES" => Some(Self::ClientAudioSubscriberConcealedSamples),
201 "CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES" => Some(Self::ClientAudioSubscriberSilentConcealedSamples),
202 "CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS" => Some(Self::ClientAudioSubscriberConcealmentEvents),
203 "CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT" => Some(Self::ClientAudioSubscriberInterruptionCount),
204 "CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION" => Some(Self::ClientAudioSubscriberTotalInterruptionDuration),
205 "CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY" => Some(Self::ClientSubscriberJitterBufferDelay),
206 "CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT" => Some(Self::ClientSubscriberJitterBufferEmittedCount),
207 "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_BANDWIDTH" => Some(Self::ClientVideoPublisherQualityLimitationDurationBandwidth),
208 "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_CPU" => Some(Self::ClientVideoPublisherQualityLimitationDurationCpu),
209 "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_OTHER" => Some(Self::ClientVideoPublisherQualityLimitationDurationOther),
210 "PUBLISHER_RTT" => Some(Self::PublisherRtt),
211 "SERVER_MESH_RTT" => Some(Self::ServerMeshRtt),
212 "SUBSCRIBER_RTT" => Some(Self::SubscriberRtt),
213 "METRIC_LABEL_PREDEFINED_MAX_VALUE" => Some(Self::PredefinedMaxValue),
214 _ => None,
215 }
216 }
217}
218#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
219pub struct Pagination {
220 #[prost(string, tag = "1")]
222 pub after_id: ::prost::alloc::string::String,
223 #[prost(int32, tag = "2")]
224 pub limit: i32,
225}
226#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
227pub struct TokenPagination {
228 #[prost(string, tag = "1")]
229 pub token: ::prost::alloc::string::String,
230}
231#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
233pub struct ListUpdate {
234 #[prost(string, repeated, tag = "1")]
236 pub set: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
237 #[prost(string, repeated, tag = "2")]
239 pub add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
240 #[prost(string, repeated, tag = "3")]
242 pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
243 #[prost(bool, tag = "4")]
245 pub clear: bool,
246}
247#[derive(Clone, PartialEq, ::prost::Message)]
248pub struct Room {
249 #[prost(string, tag = "1")]
250 pub sid: ::prost::alloc::string::String,
251 #[prost(string, tag = "2")]
252 pub name: ::prost::alloc::string::String,
253 #[prost(uint32, tag = "3")]
254 pub empty_timeout: u32,
255 #[prost(uint32, tag = "14")]
256 pub departure_timeout: u32,
257 #[prost(uint32, tag = "4")]
258 pub max_participants: u32,
259 #[prost(int64, tag = "5")]
260 pub creation_time: i64,
261 #[prost(int64, tag = "15")]
262 pub creation_time_ms: i64,
263 #[prost(string, tag = "6")]
264 pub turn_password: ::prost::alloc::string::String,
265 #[prost(message, repeated, tag = "7")]
266 pub enabled_codecs: ::prost::alloc::vec::Vec<Codec>,
267 #[prost(string, tag = "8")]
268 pub metadata: ::prost::alloc::string::String,
269 #[prost(uint32, tag = "9")]
270 pub num_participants: u32,
271 #[prost(uint32, tag = "11")]
272 pub num_publishers: u32,
273 #[prost(bool, tag = "10")]
274 pub active_recording: bool,
275 #[prost(message, optional, tag = "13")]
276 pub version: ::core::option::Option<TimedVersion>,
277}
278#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
279pub struct Codec {
280 #[prost(string, tag = "1")]
281 pub mime: ::prost::alloc::string::String,
282 #[prost(string, tag = "2")]
283 pub fmtp_line: ::prost::alloc::string::String,
284}
285#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
286pub struct PlayoutDelay {
287 #[prost(bool, tag = "1")]
288 pub enabled: bool,
289 #[prost(uint32, tag = "2")]
290 pub min: u32,
291 #[prost(uint32, tag = "3")]
292 pub max: u32,
293}
294#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
295pub struct ParticipantPermission {
296 #[prost(bool, tag = "1")]
298 pub can_subscribe: bool,
299 #[prost(bool, tag = "2")]
301 pub can_publish: bool,
302 #[prost(bool, tag = "3")]
304 pub can_publish_data: bool,
305 #[prost(enumeration = "TrackSource", repeated, tag = "9")]
307 pub can_publish_sources: ::prost::alloc::vec::Vec<i32>,
308 #[prost(bool, tag = "7")]
310 pub hidden: bool,
311 #[deprecated]
314 #[prost(bool, tag = "8")]
315 pub recorder: bool,
316 #[prost(bool, tag = "10")]
318 pub can_update_metadata: bool,
319 #[deprecated]
322 #[prost(bool, tag = "11")]
323 pub agent: bool,
324 #[prost(bool, tag = "12")]
326 pub can_subscribe_metrics: bool,
327 #[prost(bool, tag = "13")]
329 pub can_manage_agent_session: bool,
330}
331#[derive(Clone, PartialEq, ::prost::Message)]
332pub struct ParticipantInfo {
333 #[prost(string, tag = "1")]
334 pub sid: ::prost::alloc::string::String,
335 #[prost(string, tag = "2")]
336 pub identity: ::prost::alloc::string::String,
337 #[prost(enumeration = "participant_info::State", tag = "3")]
338 pub state: i32,
339 #[prost(message, repeated, tag = "4")]
340 pub tracks: ::prost::alloc::vec::Vec<TrackInfo>,
341 #[prost(string, tag = "5")]
342 pub metadata: ::prost::alloc::string::String,
343 #[prost(int64, tag = "6")]
345 pub joined_at: i64,
346 #[prost(int64, tag = "17")]
348 pub joined_at_ms: i64,
349 #[prost(string, tag = "9")]
350 pub name: ::prost::alloc::string::String,
351 #[prost(uint32, tag = "10")]
352 pub version: u32,
353 #[prost(message, optional, tag = "11")]
354 pub permission: ::core::option::Option<ParticipantPermission>,
355 #[prost(string, tag = "12")]
356 pub region: ::prost::alloc::string::String,
357 #[prost(bool, tag = "13")]
360 pub is_publisher: bool,
361 #[prost(enumeration = "participant_info::Kind", tag = "14")]
362 pub kind: i32,
363 #[prost(map = "string, string", tag = "15")]
364 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
365 #[prost(enumeration = "DisconnectReason", tag = "16")]
366 pub disconnect_reason: i32,
367 #[prost(enumeration = "participant_info::KindDetail", repeated, tag = "18")]
368 pub kind_details: ::prost::alloc::vec::Vec<i32>,
369 #[prost(message, repeated, tag = "19")]
370 pub data_tracks: ::prost::alloc::vec::Vec<DataTrackInfo>,
371 #[prost(int32, tag = "20")]
373 pub client_protocol: i32,
374 #[prost(enumeration = "client_info::Capability", repeated, tag = "21")]
377 pub capabilities: ::prost::alloc::vec::Vec<i32>,
378}
379pub mod participant_info {
381 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
382 #[repr(i32)]
383 pub enum State {
384 Joining = 0,
386 Joined = 1,
388 Active = 2,
390 Disconnected = 3,
392 }
393 impl State {
394 pub fn as_str_name(&self) -> &'static str {
399 match self {
400 Self::Joining => "JOINING",
401 Self::Joined => "JOINED",
402 Self::Active => "ACTIVE",
403 Self::Disconnected => "DISCONNECTED",
404 }
405 }
406 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
408 match value {
409 "JOINING" => Some(Self::Joining),
410 "JOINED" => Some(Self::Joined),
411 "ACTIVE" => Some(Self::Active),
412 "DISCONNECTED" => Some(Self::Disconnected),
413 _ => None,
414 }
415 }
416 }
417 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
418 #[repr(i32)]
419 pub enum Kind {
420 Standard = 0,
422 Ingress = 1,
424 Egress = 2,
426 Sip = 3,
428 Agent = 4,
430 Connector = 7,
432 Bridge = 8,
436 }
437 impl Kind {
438 pub fn as_str_name(&self) -> &'static str {
443 match self {
444 Self::Standard => "STANDARD",
445 Self::Ingress => "INGRESS",
446 Self::Egress => "EGRESS",
447 Self::Sip => "SIP",
448 Self::Agent => "AGENT",
449 Self::Connector => "CONNECTOR",
450 Self::Bridge => "BRIDGE",
451 }
452 }
453 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
455 match value {
456 "STANDARD" => Some(Self::Standard),
457 "INGRESS" => Some(Self::Ingress),
458 "EGRESS" => Some(Self::Egress),
459 "SIP" => Some(Self::Sip),
460 "AGENT" => Some(Self::Agent),
461 "CONNECTOR" => Some(Self::Connector),
462 "BRIDGE" => Some(Self::Bridge),
463 _ => None,
464 }
465 }
466 }
467 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
468 #[repr(i32)]
469 pub enum KindDetail {
470 CloudAgent = 0,
471 Forwarded = 1,
472 ConnectorWhatsapp = 2,
473 ConnectorTwilio = 3,
474 BridgeRtsp = 4,
475 Simulation = 5,
477 }
478 impl KindDetail {
479 pub fn as_str_name(&self) -> &'static str {
484 match self {
485 Self::CloudAgent => "CLOUD_AGENT",
486 Self::Forwarded => "FORWARDED",
487 Self::ConnectorWhatsapp => "CONNECTOR_WHATSAPP",
488 Self::ConnectorTwilio => "CONNECTOR_TWILIO",
489 Self::BridgeRtsp => "BRIDGE_RTSP",
490 Self::Simulation => "SIMULATION",
491 }
492 }
493 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
495 match value {
496 "CLOUD_AGENT" => Some(Self::CloudAgent),
497 "FORWARDED" => Some(Self::Forwarded),
498 "CONNECTOR_WHATSAPP" => Some(Self::ConnectorWhatsapp),
499 "CONNECTOR_TWILIO" => Some(Self::ConnectorTwilio),
500 "BRIDGE_RTSP" => Some(Self::BridgeRtsp),
501 "SIMULATION" => Some(Self::Simulation),
502 _ => None,
503 }
504 }
505 }
506}
507#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
508pub struct Encryption {
509}
510pub mod encryption {
512 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
513 #[repr(i32)]
514 pub enum Type {
515 None = 0,
516 Gcm = 1,
517 Custom = 2,
518 }
519 impl Type {
520 pub fn as_str_name(&self) -> &'static str {
525 match self {
526 Self::None => "NONE",
527 Self::Gcm => "GCM",
528 Self::Custom => "CUSTOM",
529 }
530 }
531 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
533 match value {
534 "NONE" => Some(Self::None),
535 "GCM" => Some(Self::Gcm),
536 "CUSTOM" => Some(Self::Custom),
537 _ => None,
538 }
539 }
540 }
541}
542#[derive(Clone, PartialEq, ::prost::Message)]
543pub struct SimulcastCodecInfo {
544 #[prost(string, tag = "1")]
545 pub mime_type: ::prost::alloc::string::String,
546 #[prost(string, tag = "2")]
547 pub mid: ::prost::alloc::string::String,
548 #[prost(string, tag = "3")]
549 pub cid: ::prost::alloc::string::String,
550 #[prost(message, repeated, tag = "4")]
551 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
552 #[prost(enumeration = "video_layer::Mode", tag = "5")]
553 pub video_layer_mode: i32,
554 #[prost(string, tag = "6")]
559 pub sdp_cid: ::prost::alloc::string::String,
560}
561#[derive(Clone, PartialEq, ::prost::Message)]
562pub struct TrackInfo {
563 #[prost(string, tag = "1")]
564 pub sid: ::prost::alloc::string::String,
565 #[prost(enumeration = "TrackType", tag = "2")]
566 pub r#type: i32,
567 #[prost(string, tag = "3")]
568 pub name: ::prost::alloc::string::String,
569 #[prost(bool, tag = "4")]
570 pub muted: bool,
571 #[prost(uint32, tag = "5")]
574 pub width: u32,
575 #[prost(uint32, tag = "6")]
577 pub height: u32,
578 #[deprecated]
582 #[prost(bool, tag = "7")]
583 pub simulcast: bool,
584 #[deprecated]
588 #[prost(bool, tag = "8")]
589 pub disable_dtx: bool,
590 #[prost(enumeration = "TrackSource", tag = "9")]
592 pub source: i32,
593 #[deprecated]
595 #[prost(message, repeated, tag = "10")]
596 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
597 #[prost(string, tag = "11")]
599 pub mime_type: ::prost::alloc::string::String,
600 #[prost(string, tag = "12")]
601 pub mid: ::prost::alloc::string::String,
602 #[prost(message, repeated, tag = "13")]
603 pub codecs: ::prost::alloc::vec::Vec<SimulcastCodecInfo>,
604 #[deprecated]
606 #[prost(bool, tag = "14")]
607 pub stereo: bool,
608 #[prost(bool, tag = "15")]
610 pub disable_red: bool,
611 #[prost(enumeration = "encryption::Type", tag = "16")]
612 pub encryption: i32,
613 #[prost(string, tag = "17")]
614 pub stream: ::prost::alloc::string::String,
615 #[prost(message, optional, tag = "18")]
616 pub version: ::core::option::Option<TimedVersion>,
617 #[prost(enumeration = "AudioTrackFeature", repeated, tag = "19")]
618 pub audio_features: ::prost::alloc::vec::Vec<i32>,
619 #[prost(enumeration = "BackupCodecPolicy", tag = "20")]
620 pub backup_codec_policy: i32,
621 #[prost(enumeration = "PacketTrailerFeature", repeated, tag = "21")]
622 pub packet_trailer_features: ::prost::alloc::vec::Vec<i32>,
623}
624#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
625pub struct DataTrackInfo {
626 #[prost(uint32, tag = "1")]
628 pub pub_handle: u32,
629 #[prost(string, tag = "2")]
631 pub sid: ::prost::alloc::string::String,
632 #[prost(string, tag = "3")]
634 pub name: ::prost::alloc::string::String,
635 #[prost(enumeration = "encryption::Type", tag = "4")]
637 pub encryption: i32,
638 #[prost(message, optional, tag = "5")]
640 pub frame_encoding: ::core::option::Option<DataTrackFrameEncoding>,
641 #[prost(message, optional, tag = "6")]
643 pub schema: ::core::option::Option<DataTrackSchemaId>,
644}
645#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
647pub struct DataTrackFrameEncoding {
648 #[prost(oneof = "data_track_frame_encoding::Value", tags = "1, 2")]
649 pub value: ::core::option::Option<data_track_frame_encoding::Value>,
650}
651pub mod data_track_frame_encoding {
653 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
659 #[repr(i32)]
660 pub enum WellKnownFrameEncoding {
661 Unspecified = 0,
662 Ros1 = 1,
664 Cdr = 2,
666 Protobuf = 3,
668 Flatbuffer = 4,
670 Cbor = 5,
672 Msgpack = 6,
674 Json = 7,
676 }
677 impl WellKnownFrameEncoding {
678 pub fn as_str_name(&self) -> &'static str {
683 match self {
684 Self::Unspecified => "WELL_KNOWN_FRAME_ENCODING_UNSPECIFIED",
685 Self::Ros1 => "WELL_KNOWN_FRAME_ENCODING_ROS1",
686 Self::Cdr => "WELL_KNOWN_FRAME_ENCODING_CDR",
687 Self::Protobuf => "WELL_KNOWN_FRAME_ENCODING_PROTOBUF",
688 Self::Flatbuffer => "WELL_KNOWN_FRAME_ENCODING_FLATBUFFER",
689 Self::Cbor => "WELL_KNOWN_FRAME_ENCODING_CBOR",
690 Self::Msgpack => "WELL_KNOWN_FRAME_ENCODING_MSGPACK",
691 Self::Json => "WELL_KNOWN_FRAME_ENCODING_JSON",
692 }
693 }
694 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
696 match value {
697 "WELL_KNOWN_FRAME_ENCODING_UNSPECIFIED" => Some(Self::Unspecified),
698 "WELL_KNOWN_FRAME_ENCODING_ROS1" => Some(Self::Ros1),
699 "WELL_KNOWN_FRAME_ENCODING_CDR" => Some(Self::Cdr),
700 "WELL_KNOWN_FRAME_ENCODING_PROTOBUF" => Some(Self::Protobuf),
701 "WELL_KNOWN_FRAME_ENCODING_FLATBUFFER" => Some(Self::Flatbuffer),
702 "WELL_KNOWN_FRAME_ENCODING_CBOR" => Some(Self::Cbor),
703 "WELL_KNOWN_FRAME_ENCODING_MSGPACK" => Some(Self::Msgpack),
704 "WELL_KNOWN_FRAME_ENCODING_JSON" => Some(Self::Json),
705 _ => None,
706 }
707 }
708 }
709 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
710 pub enum Value {
711 #[prost(enumeration = "WellKnownFrameEncoding", tag = "1")]
712 WellKnown(i32),
713 #[prost(string, tag = "2")]
716 Custom(::prost::alloc::string::String),
717 }
718}
719#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
721pub struct DataTrackSchemaEncoding {
722 #[prost(oneof = "data_track_schema_encoding::Value", tags = "1, 2")]
723 pub value: ::core::option::Option<data_track_schema_encoding::Value>,
724}
725pub mod data_track_schema_encoding {
727 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
733 #[repr(i32)]
734 pub enum WellKnownSchemaEncoding {
735 Unspecified = 0,
736 Protobuf = 1,
738 Flatbuffer = 2,
740 Ros1Msg = 3,
742 Ros2Msg = 4,
744 Ros2Idl = 5,
746 OmgIdl = 6,
748 JsonSchema = 7,
750 }
751 impl WellKnownSchemaEncoding {
752 pub fn as_str_name(&self) -> &'static str {
757 match self {
758 Self::Unspecified => "WELL_KNOWN_SCHEMA_ENCODING_UNSPECIFIED",
759 Self::Protobuf => "WELL_KNOWN_SCHEMA_ENCODING_PROTOBUF",
760 Self::Flatbuffer => "WELL_KNOWN_SCHEMA_ENCODING_FLATBUFFER",
761 Self::Ros1Msg => "WELL_KNOWN_SCHEMA_ENCODING_ROS1_MSG",
762 Self::Ros2Msg => "WELL_KNOWN_SCHEMA_ENCODING_ROS2_MSG",
763 Self::Ros2Idl => "WELL_KNOWN_SCHEMA_ENCODING_ROS2_IDL",
764 Self::OmgIdl => "WELL_KNOWN_SCHEMA_ENCODING_OMG_IDL",
765 Self::JsonSchema => "WELL_KNOWN_SCHEMA_ENCODING_JSON_SCHEMA",
766 }
767 }
768 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
770 match value {
771 "WELL_KNOWN_SCHEMA_ENCODING_UNSPECIFIED" => Some(Self::Unspecified),
772 "WELL_KNOWN_SCHEMA_ENCODING_PROTOBUF" => Some(Self::Protobuf),
773 "WELL_KNOWN_SCHEMA_ENCODING_FLATBUFFER" => Some(Self::Flatbuffer),
774 "WELL_KNOWN_SCHEMA_ENCODING_ROS1_MSG" => Some(Self::Ros1Msg),
775 "WELL_KNOWN_SCHEMA_ENCODING_ROS2_MSG" => Some(Self::Ros2Msg),
776 "WELL_KNOWN_SCHEMA_ENCODING_ROS2_IDL" => Some(Self::Ros2Idl),
777 "WELL_KNOWN_SCHEMA_ENCODING_OMG_IDL" => Some(Self::OmgIdl),
778 "WELL_KNOWN_SCHEMA_ENCODING_JSON_SCHEMA" => Some(Self::JsonSchema),
779 _ => None,
780 }
781 }
782 }
783 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
784 pub enum Value {
785 #[prost(enumeration = "WellKnownSchemaEncoding", tag = "1")]
786 WellKnown(i32),
787 #[prost(string, tag = "2")]
790 Custom(::prost::alloc::string::String),
791 }
792}
793#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
798pub struct DataTrackSchemaId {
799 #[prost(string, tag = "1")]
801 pub name: ::prost::alloc::string::String,
802 #[prost(message, optional, tag = "2")]
803 pub encoding: ::core::option::Option<DataTrackSchemaEncoding>,
804}
805#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
806pub struct DataTrackExtensionParticipantSid {
807 #[prost(enumeration = "DataTrackExtensionId", tag = "1")]
808 pub id: i32,
809 #[prost(string, tag = "2")]
810 pub participant_sid: ::prost::alloc::string::String,
811}
812#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
813pub struct DataTrackSubscriptionOptions {
814 #[prost(uint32, optional, tag = "1")]
817 pub target_fps: ::core::option::Option<u32>,
818}
819#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
821pub struct DataBlobKey {
822 #[prost(oneof = "data_blob_key::Key", tags = "1, 2")]
823 pub key: ::core::option::Option<data_blob_key::Key>,
824}
825pub mod data_blob_key {
827 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
828 pub enum Key {
829 #[prost(string, tag = "1")]
831 Generic(::prost::alloc::string::String),
832 #[prost(message, tag = "2")]
834 SchemaId(super::DataTrackSchemaId),
835 }
836}
837#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
839pub struct DataBlob {
840 #[prost(message, optional, tag = "1")]
842 pub key: ::core::option::Option<DataBlobKey>,
843 #[prost(bytes = "vec", tag = "2")]
845 pub contents: ::prost::alloc::vec::Vec<u8>,
846}
847#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
849pub struct VideoLayer {
850 #[prost(enumeration = "VideoQuality", tag = "1")]
852 pub quality: i32,
853 #[prost(uint32, tag = "2")]
854 pub width: u32,
855 #[prost(uint32, tag = "3")]
856 pub height: u32,
857 #[prost(uint32, tag = "4")]
859 pub bitrate: u32,
860 #[prost(uint32, tag = "5")]
861 pub ssrc: u32,
862 #[prost(int32, tag = "6")]
863 pub spatial_layer: i32,
864 #[prost(string, tag = "7")]
865 pub rid: ::prost::alloc::string::String,
866 #[prost(uint32, tag = "8")]
867 pub repair_ssrc: u32,
868}
869pub mod video_layer {
871 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
872 #[repr(i32)]
873 pub enum Mode {
874 Unused = 0,
875 OneSpatialLayerPerStream = 1,
876 MultipleSpatialLayersPerStream = 2,
877 OneSpatialLayerPerStreamIncompleteRtcpSr = 3,
878 }
879 impl Mode {
880 pub fn as_str_name(&self) -> &'static str {
885 match self {
886 Self::Unused => "MODE_UNUSED",
887 Self::OneSpatialLayerPerStream => "ONE_SPATIAL_LAYER_PER_STREAM",
888 Self::MultipleSpatialLayersPerStream => "MULTIPLE_SPATIAL_LAYERS_PER_STREAM",
889 Self::OneSpatialLayerPerStreamIncompleteRtcpSr => "ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR",
890 }
891 }
892 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
894 match value {
895 "MODE_UNUSED" => Some(Self::Unused),
896 "ONE_SPATIAL_LAYER_PER_STREAM" => Some(Self::OneSpatialLayerPerStream),
897 "MULTIPLE_SPATIAL_LAYERS_PER_STREAM" => Some(Self::MultipleSpatialLayersPerStream),
898 "ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR" => Some(Self::OneSpatialLayerPerStreamIncompleteRtcpSr),
899 _ => None,
900 }
901 }
902 }
903}
904#[derive(Clone, PartialEq, ::prost::Message)]
906pub struct DataPacket {
907 #[deprecated]
908 #[prost(enumeration = "data_packet::Kind", tag = "1")]
909 pub kind: i32,
910 #[prost(string, tag = "4")]
912 pub participant_identity: ::prost::alloc::string::String,
913 #[prost(string, repeated, tag = "5")]
915 pub destination_identities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
916 #[prost(uint32, tag = "16")]
918 pub sequence: u32,
919 #[prost(string, tag = "17")]
921 pub participant_sid: ::prost::alloc::string::String,
922 #[prost(oneof = "data_packet::Value", tags = "2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18")]
923 pub value: ::core::option::Option<data_packet::Value>,
924}
925pub mod data_packet {
927 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
928 #[repr(i32)]
929 pub enum Kind {
930 Reliable = 0,
931 Lossy = 1,
932 }
933 impl Kind {
934 pub fn as_str_name(&self) -> &'static str {
939 match self {
940 Self::Reliable => "RELIABLE",
941 Self::Lossy => "LOSSY",
942 }
943 }
944 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
946 match value {
947 "RELIABLE" => Some(Self::Reliable),
948 "LOSSY" => Some(Self::Lossy),
949 _ => None,
950 }
951 }
952 }
953 #[derive(Clone, PartialEq, ::prost::Oneof)]
954 pub enum Value {
955 #[prost(message, tag = "2")]
956 User(super::UserPacket),
957 #[deprecated]
958 #[prost(message, tag = "3")]
959 Speaker(super::ActiveSpeakerUpdate),
960 #[prost(message, tag = "6")]
961 SipDtmf(super::SipDtmf),
962 #[prost(message, tag = "7")]
963 Transcription(super::Transcription),
964 #[prost(message, tag = "8")]
965 Metrics(super::MetricsBatch),
966 #[prost(message, tag = "9")]
967 ChatMessage(super::ChatMessage),
968 #[prost(message, tag = "10")]
969 RpcRequest(super::RpcRequest),
970 #[prost(message, tag = "11")]
971 RpcAck(super::RpcAck),
972 #[prost(message, tag = "12")]
973 RpcResponse(super::RpcResponse),
974 #[prost(message, tag = "13")]
975 StreamHeader(super::data_stream::Header),
976 #[prost(message, tag = "14")]
977 StreamChunk(super::data_stream::Chunk),
978 #[prost(message, tag = "15")]
979 StreamTrailer(super::data_stream::Trailer),
980 #[prost(message, tag = "18")]
981 EncryptedPacket(super::EncryptedPacket),
982 }
983}
984#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
985pub struct EncryptedPacket {
986 #[prost(enumeration = "encryption::Type", tag = "1")]
987 pub encryption_type: i32,
988 #[prost(bytes = "vec", tag = "2")]
989 pub iv: ::prost::alloc::vec::Vec<u8>,
990 #[prost(uint32, tag = "3")]
991 pub key_index: u32,
992 #[prost(bytes = "vec", tag = "4")]
994 pub encrypted_value: ::prost::alloc::vec::Vec<u8>,
995}
996#[derive(Clone, PartialEq, ::prost::Message)]
997pub struct EncryptedPacketPayload {
998 #[prost(oneof = "encrypted_packet_payload::Value", tags = "1, 3, 4, 5, 6, 7, 8, 9")]
999 pub value: ::core::option::Option<encrypted_packet_payload::Value>,
1000}
1001pub mod encrypted_packet_payload {
1003 #[derive(Clone, PartialEq, ::prost::Oneof)]
1004 pub enum Value {
1005 #[prost(message, tag = "1")]
1006 User(super::UserPacket),
1007 #[prost(message, tag = "3")]
1008 ChatMessage(super::ChatMessage),
1009 #[prost(message, tag = "4")]
1010 RpcRequest(super::RpcRequest),
1011 #[prost(message, tag = "5")]
1012 RpcAck(super::RpcAck),
1013 #[prost(message, tag = "6")]
1014 RpcResponse(super::RpcResponse),
1015 #[prost(message, tag = "7")]
1016 StreamHeader(super::data_stream::Header),
1017 #[prost(message, tag = "8")]
1018 StreamChunk(super::data_stream::Chunk),
1019 #[prost(message, tag = "9")]
1020 StreamTrailer(super::data_stream::Trailer),
1021 }
1022}
1023#[derive(Clone, PartialEq, ::prost::Message)]
1024pub struct ActiveSpeakerUpdate {
1025 #[prost(message, repeated, tag = "1")]
1026 pub speakers: ::prost::alloc::vec::Vec<SpeakerInfo>,
1027}
1028#[derive(Clone, PartialEq, ::prost::Message)]
1029pub struct SpeakerInfo {
1030 #[prost(string, tag = "1")]
1031 pub sid: ::prost::alloc::string::String,
1032 #[prost(float, tag = "2")]
1034 pub level: f32,
1035 #[prost(bool, tag = "3")]
1037 pub active: bool,
1038}
1039#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1040pub struct UserPacket {
1041 #[deprecated]
1043 #[prost(string, tag = "1")]
1044 pub participant_sid: ::prost::alloc::string::String,
1045 #[deprecated]
1046 #[prost(string, tag = "5")]
1047 pub participant_identity: ::prost::alloc::string::String,
1048 #[prost(bytes = "vec", tag = "2")]
1050 pub payload: ::prost::alloc::vec::Vec<u8>,
1051 #[deprecated]
1053 #[prost(string, repeated, tag = "3")]
1054 pub destination_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1055 #[deprecated]
1057 #[prost(string, repeated, tag = "6")]
1058 pub destination_identities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1059 #[prost(string, optional, tag = "4")]
1061 pub topic: ::core::option::Option<::prost::alloc::string::String>,
1062 #[prost(string, optional, tag = "8")]
1064 pub id: ::core::option::Option<::prost::alloc::string::String>,
1065 #[prost(uint64, optional, tag = "9")]
1067 pub start_time: ::core::option::Option<u64>,
1068 #[prost(uint64, optional, tag = "10")]
1069 pub end_time: ::core::option::Option<u64>,
1070 #[prost(bytes = "vec", tag = "11")]
1072 pub nonce: ::prost::alloc::vec::Vec<u8>,
1073}
1074#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1075pub struct SipDtmf {
1076 #[prost(uint32, tag = "3")]
1077 pub code: u32,
1078 #[prost(string, tag = "4")]
1079 pub digit: ::prost::alloc::string::String,
1080}
1081#[derive(Clone, PartialEq, ::prost::Message)]
1082pub struct Transcription {
1083 #[prost(string, tag = "2")]
1085 pub transcribed_participant_identity: ::prost::alloc::string::String,
1086 #[prost(string, tag = "3")]
1087 pub track_id: ::prost::alloc::string::String,
1088 #[prost(message, repeated, tag = "4")]
1089 pub segments: ::prost::alloc::vec::Vec<TranscriptionSegment>,
1090}
1091#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1092pub struct TranscriptionSegment {
1093 #[prost(string, tag = "1")]
1094 pub id: ::prost::alloc::string::String,
1095 #[prost(string, tag = "2")]
1096 pub text: ::prost::alloc::string::String,
1097 #[prost(uint64, tag = "3")]
1098 pub start_time: u64,
1099 #[prost(uint64, tag = "4")]
1100 pub end_time: u64,
1101 #[prost(bool, tag = "5")]
1102 pub r#final: bool,
1103 #[prost(string, tag = "6")]
1104 pub language: ::prost::alloc::string::String,
1105}
1106#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1107pub struct ChatMessage {
1108 #[prost(string, tag = "1")]
1110 pub id: ::prost::alloc::string::String,
1111 #[prost(int64, tag = "2")]
1112 pub timestamp: i64,
1113 #[prost(int64, optional, tag = "3")]
1115 pub edit_timestamp: ::core::option::Option<i64>,
1116 #[prost(string, tag = "4")]
1117 pub message: ::prost::alloc::string::String,
1118 #[prost(bool, tag = "5")]
1120 pub deleted: bool,
1121 #[prost(bool, tag = "6")]
1123 pub generated: bool,
1124}
1125#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1126pub struct RpcRequest {
1127 #[prost(string, tag = "1")]
1128 pub id: ::prost::alloc::string::String,
1129 #[prost(string, tag = "2")]
1130 pub method: ::prost::alloc::string::String,
1131 #[prost(string, tag = "3")]
1132 pub payload: ::prost::alloc::string::String,
1133 #[prost(uint32, tag = "4")]
1134 pub response_timeout_ms: u32,
1135 #[prost(uint32, tag = "5")]
1136 pub version: u32,
1137 #[prost(bytes = "vec", tag = "6")]
1139 pub compressed_payload: ::prost::alloc::vec::Vec<u8>,
1140}
1141#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1142pub struct RpcAck {
1143 #[prost(string, tag = "1")]
1144 pub request_id: ::prost::alloc::string::String,
1145}
1146#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1147pub struct RpcResponse {
1148 #[prost(string, tag = "1")]
1149 pub request_id: ::prost::alloc::string::String,
1150 #[prost(oneof = "rpc_response::Value", tags = "2, 3, 4")]
1151 pub value: ::core::option::Option<rpc_response::Value>,
1152}
1153pub mod rpc_response {
1155 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
1156 pub enum Value {
1157 #[prost(string, tag = "2")]
1158 Payload(::prost::alloc::string::String),
1159 #[prost(message, tag = "3")]
1160 Error(super::RpcError),
1161 #[prost(bytes, tag = "4")]
1163 CompressedPayload(::prost::alloc::vec::Vec<u8>),
1164 }
1165}
1166#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1167pub struct RpcError {
1168 #[prost(uint32, tag = "1")]
1169 pub code: u32,
1170 #[prost(string, tag = "2")]
1171 pub message: ::prost::alloc::string::String,
1172 #[prost(string, tag = "3")]
1173 pub data: ::prost::alloc::string::String,
1174}
1175#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1176pub struct ParticipantTracks {
1177 #[prost(string, tag = "1")]
1179 pub participant_sid: ::prost::alloc::string::String,
1180 #[prost(string, repeated, tag = "2")]
1181 pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1182}
1183#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1185pub struct ServerInfo {
1186 #[prost(enumeration = "server_info::Edition", tag = "1")]
1187 pub edition: i32,
1188 #[prost(string, tag = "2")]
1189 pub version: ::prost::alloc::string::String,
1190 #[prost(int32, tag = "3")]
1191 pub protocol: i32,
1192 #[prost(string, tag = "4")]
1193 pub region: ::prost::alloc::string::String,
1194 #[prost(string, tag = "5")]
1195 pub node_id: ::prost::alloc::string::String,
1196 #[prost(string, tag = "6")]
1198 pub debug_info: ::prost::alloc::string::String,
1199 #[prost(int32, tag = "7")]
1200 pub agent_protocol: i32,
1201}
1202pub mod server_info {
1204 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1205 #[repr(i32)]
1206 pub enum Edition {
1207 Standard = 0,
1208 Cloud = 1,
1209 }
1210 impl Edition {
1211 pub fn as_str_name(&self) -> &'static str {
1216 match self {
1217 Self::Standard => "Standard",
1218 Self::Cloud => "Cloud",
1219 }
1220 }
1221 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1223 match value {
1224 "Standard" => Some(Self::Standard),
1225 "Cloud" => Some(Self::Cloud),
1226 _ => None,
1227 }
1228 }
1229 }
1230}
1231#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1233pub struct ClientInfo {
1234 #[prost(enumeration = "client_info::Sdk", tag = "1")]
1235 pub sdk: i32,
1236 #[prost(string, tag = "2")]
1237 pub version: ::prost::alloc::string::String,
1238 #[prost(int32, tag = "3")]
1239 pub protocol: i32,
1240 #[prost(string, tag = "4")]
1241 pub os: ::prost::alloc::string::String,
1242 #[prost(string, tag = "5")]
1243 pub os_version: ::prost::alloc::string::String,
1244 #[prost(string, tag = "6")]
1245 pub device_model: ::prost::alloc::string::String,
1246 #[prost(string, tag = "7")]
1247 pub browser: ::prost::alloc::string::String,
1248 #[prost(string, tag = "8")]
1249 pub browser_version: ::prost::alloc::string::String,
1250 #[prost(string, tag = "9")]
1251 pub address: ::prost::alloc::string::String,
1252 #[prost(string, tag = "10")]
1254 pub network: ::prost::alloc::string::String,
1255 #[prost(string, tag = "11")]
1258 pub other_sdks: ::prost::alloc::string::String,
1259 #[prost(int32, tag = "12")]
1261 pub client_protocol: i32,
1262 #[prost(enumeration = "client_info::Capability", repeated, tag = "13")]
1265 pub capabilities: ::prost::alloc::vec::Vec<i32>,
1266}
1267pub mod client_info {
1269 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1270 #[repr(i32)]
1271 pub enum Sdk {
1272 Unknown = 0,
1273 Js = 1,
1274 Swift = 2,
1275 Android = 3,
1276 Flutter = 4,
1277 Go = 5,
1278 Unity = 6,
1279 ReactNative = 7,
1280 Rust = 8,
1281 Python = 9,
1282 Cpp = 10,
1283 UnityWeb = 11,
1284 Node = 12,
1285 Unreal = 13,
1286 Esp32 = 14,
1287 Dotnet = 15,
1288 }
1289 impl Sdk {
1290 pub fn as_str_name(&self) -> &'static str {
1295 match self {
1296 Self::Unknown => "UNKNOWN",
1297 Self::Js => "JS",
1298 Self::Swift => "SWIFT",
1299 Self::Android => "ANDROID",
1300 Self::Flutter => "FLUTTER",
1301 Self::Go => "GO",
1302 Self::Unity => "UNITY",
1303 Self::ReactNative => "REACT_NATIVE",
1304 Self::Rust => "RUST",
1305 Self::Python => "PYTHON",
1306 Self::Cpp => "CPP",
1307 Self::UnityWeb => "UNITY_WEB",
1308 Self::Node => "NODE",
1309 Self::Unreal => "UNREAL",
1310 Self::Esp32 => "ESP32",
1311 Self::Dotnet => "DOTNET",
1312 }
1313 }
1314 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1316 match value {
1317 "UNKNOWN" => Some(Self::Unknown),
1318 "JS" => Some(Self::Js),
1319 "SWIFT" => Some(Self::Swift),
1320 "ANDROID" => Some(Self::Android),
1321 "FLUTTER" => Some(Self::Flutter),
1322 "GO" => Some(Self::Go),
1323 "UNITY" => Some(Self::Unity),
1324 "REACT_NATIVE" => Some(Self::ReactNative),
1325 "RUST" => Some(Self::Rust),
1326 "PYTHON" => Some(Self::Python),
1327 "CPP" => Some(Self::Cpp),
1328 "UNITY_WEB" => Some(Self::UnityWeb),
1329 "NODE" => Some(Self::Node),
1330 "UNREAL" => Some(Self::Unreal),
1331 "ESP32" => Some(Self::Esp32),
1332 "DOTNET" => Some(Self::Dotnet),
1333 _ => None,
1334 }
1335 }
1336 }
1337 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1342 #[repr(i32)]
1343 pub enum Capability {
1344 CapUnused = 0,
1345 CapPacketTrailer = 1,
1346 CapCompressionDeflateRaw = 2,
1347 }
1348 impl Capability {
1349 pub fn as_str_name(&self) -> &'static str {
1354 match self {
1355 Self::CapUnused => "CAP_UNUSED",
1356 Self::CapPacketTrailer => "CAP_PACKET_TRAILER",
1357 Self::CapCompressionDeflateRaw => "CAP_COMPRESSION_DEFLATE_RAW",
1358 }
1359 }
1360 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1362 match value {
1363 "CAP_UNUSED" => Some(Self::CapUnused),
1364 "CAP_PACKET_TRAILER" => Some(Self::CapPacketTrailer),
1365 "CAP_COMPRESSION_DEFLATE_RAW" => Some(Self::CapCompressionDeflateRaw),
1366 _ => None,
1367 }
1368 }
1369 }
1370}
1371#[derive(Clone, PartialEq, ::prost::Message)]
1373pub struct ClientConfiguration {
1374 #[prost(message, optional, tag = "1")]
1375 pub video: ::core::option::Option<VideoConfiguration>,
1376 #[prost(message, optional, tag = "2")]
1377 pub screen: ::core::option::Option<VideoConfiguration>,
1378 #[prost(enumeration = "ClientConfigSetting", tag = "3")]
1379 pub resume_connection: i32,
1380 #[prost(message, optional, tag = "4")]
1381 pub disabled_codecs: ::core::option::Option<DisabledCodecs>,
1382 #[prost(enumeration = "ClientConfigSetting", tag = "5")]
1383 pub force_relay: i32,
1384}
1385#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1386pub struct VideoConfiguration {
1387 #[prost(enumeration = "ClientConfigSetting", tag = "1")]
1388 pub hardware_encoder: i32,
1389}
1390#[derive(Clone, PartialEq, ::prost::Message)]
1391pub struct DisabledCodecs {
1392 #[prost(message, repeated, tag = "1")]
1394 pub codecs: ::prost::alloc::vec::Vec<Codec>,
1395 #[prost(message, repeated, tag = "2")]
1397 pub publish: ::prost::alloc::vec::Vec<Codec>,
1398}
1399#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1400pub struct RtpDrift {
1401 #[prost(message, optional, tag = "1")]
1402 pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
1403 #[prost(message, optional, tag = "2")]
1404 pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
1405 #[prost(double, tag = "3")]
1406 pub duration: f64,
1407 #[prost(uint64, tag = "4")]
1408 pub start_timestamp: u64,
1409 #[prost(uint64, tag = "5")]
1410 pub end_timestamp: u64,
1411 #[prost(uint64, tag = "6")]
1412 pub rtp_clock_ticks: u64,
1413 #[prost(int64, tag = "7")]
1414 pub drift_samples: i64,
1415 #[prost(double, tag = "8")]
1416 pub drift_ms: f64,
1417 #[prost(double, tag = "9")]
1418 pub clock_rate: f64,
1419}
1420#[derive(Clone, PartialEq, ::prost::Message)]
1421pub struct RtpStats {
1422 #[prost(message, optional, tag = "1")]
1423 pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
1424 #[prost(message, optional, tag = "2")]
1425 pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
1426 #[prost(double, tag = "3")]
1427 pub duration: f64,
1428 #[prost(uint32, tag = "4")]
1429 pub packets: u32,
1430 #[prost(double, tag = "5")]
1431 pub packet_rate: f64,
1432 #[prost(uint64, tag = "6")]
1433 pub bytes: u64,
1434 #[prost(uint64, tag = "39")]
1435 pub header_bytes: u64,
1436 #[prost(double, tag = "7")]
1437 pub bitrate: f64,
1438 #[prost(uint32, tag = "8")]
1439 pub packets_lost: u32,
1440 #[prost(double, tag = "9")]
1441 pub packet_loss_rate: f64,
1442 #[prost(float, tag = "10")]
1443 pub packet_loss_percentage: f32,
1444 #[prost(uint32, tag = "11")]
1445 pub packets_duplicate: u32,
1446 #[prost(double, tag = "12")]
1447 pub packet_duplicate_rate: f64,
1448 #[prost(uint64, tag = "13")]
1449 pub bytes_duplicate: u64,
1450 #[prost(uint64, tag = "40")]
1451 pub header_bytes_duplicate: u64,
1452 #[prost(double, tag = "14")]
1453 pub bitrate_duplicate: f64,
1454 #[prost(uint32, tag = "15")]
1455 pub packets_padding: u32,
1456 #[prost(double, tag = "16")]
1457 pub packet_padding_rate: f64,
1458 #[prost(uint64, tag = "17")]
1459 pub bytes_padding: u64,
1460 #[prost(uint64, tag = "41")]
1461 pub header_bytes_padding: u64,
1462 #[prost(double, tag = "18")]
1463 pub bitrate_padding: f64,
1464 #[prost(uint32, tag = "19")]
1465 pub packets_out_of_order: u32,
1466 #[prost(uint32, tag = "20")]
1467 pub frames: u32,
1468 #[prost(double, tag = "21")]
1469 pub frame_rate: f64,
1470 #[prost(double, tag = "22")]
1471 pub jitter_current: f64,
1472 #[prost(double, tag = "23")]
1473 pub jitter_max: f64,
1474 #[prost(map = "int32, uint32", tag = "24")]
1475 pub gap_histogram: ::std::collections::HashMap<i32, u32>,
1476 #[prost(uint32, tag = "25")]
1477 pub nacks: u32,
1478 #[prost(uint32, tag = "37")]
1479 pub nack_acks: u32,
1480 #[prost(uint32, tag = "26")]
1481 pub nack_misses: u32,
1482 #[prost(uint32, tag = "38")]
1483 pub nack_repeated: u32,
1484 #[prost(uint32, tag = "27")]
1485 pub plis: u32,
1486 #[prost(message, optional, tag = "28")]
1487 pub last_pli: ::core::option::Option<::pbjson_types::Timestamp>,
1488 #[prost(uint32, tag = "29")]
1489 pub firs: u32,
1490 #[prost(message, optional, tag = "30")]
1491 pub last_fir: ::core::option::Option<::pbjson_types::Timestamp>,
1492 #[prost(uint32, tag = "31")]
1493 pub rtt_current: u32,
1494 #[prost(uint32, tag = "32")]
1495 pub rtt_max: u32,
1496 #[prost(uint32, tag = "33")]
1497 pub key_frames: u32,
1498 #[prost(message, optional, tag = "34")]
1499 pub last_key_frame: ::core::option::Option<::pbjson_types::Timestamp>,
1500 #[prost(uint32, tag = "35")]
1501 pub layer_lock_plis: u32,
1502 #[prost(message, optional, tag = "36")]
1503 pub last_layer_lock_pli: ::core::option::Option<::pbjson_types::Timestamp>,
1504 #[prost(message, optional, tag = "44")]
1505 pub packet_drift: ::core::option::Option<RtpDrift>,
1506 #[prost(message, optional, tag = "45")]
1507 pub ntp_report_drift: ::core::option::Option<RtpDrift>,
1508 #[prost(message, optional, tag = "46")]
1509 pub rebased_report_drift: ::core::option::Option<RtpDrift>,
1510 #[prost(message, optional, tag = "47")]
1511 pub received_report_drift: ::core::option::Option<RtpDrift>,
1512 #[prost(uint32, tag = "48")]
1513 pub fec_packets: u32,
1514 #[prost(uint64, tag = "49")]
1515 pub fec_bytes: u64,
1516 #[prost(uint32, tag = "50")]
1517 pub fec_packets_discarded: u32,
1518 #[prost(uint32, tag = "51")]
1520 pub fec_packets_recovered: u32,
1521}
1522#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1523pub struct RtcpSenderReportState {
1524 #[prost(uint32, tag = "1")]
1525 pub rtp_timestamp: u32,
1526 #[prost(uint64, tag = "2")]
1527 pub rtp_timestamp_ext: u64,
1528 #[prost(uint64, tag = "3")]
1529 pub ntp_timestamp: u64,
1530 #[prost(int64, tag = "4")]
1532 pub at: i64,
1533 #[prost(int64, tag = "5")]
1534 pub at_adjusted: i64,
1535 #[prost(uint32, tag = "6")]
1536 pub packets: u32,
1537 #[prost(uint64, tag = "7")]
1538 pub octets: u64,
1539}
1540#[derive(Clone, PartialEq, ::prost::Message)]
1541pub struct RtpForwarderState {
1542 #[prost(bool, tag = "1")]
1543 pub started: bool,
1544 #[prost(int32, tag = "2")]
1545 pub reference_layer_spatial: i32,
1546 #[prost(int64, tag = "3")]
1547 pub pre_start_time: i64,
1548 #[prost(uint64, tag = "4")]
1549 pub ext_first_timestamp: u64,
1550 #[prost(uint64, tag = "5")]
1551 pub dummy_start_timestamp_offset: u64,
1552 #[prost(message, optional, tag = "6")]
1553 pub rtp_munger: ::core::option::Option<RtpMungerState>,
1554 #[prost(message, repeated, tag = "8")]
1555 pub sender_report_state: ::prost::alloc::vec::Vec<RtcpSenderReportState>,
1556 #[prost(message, optional, tag = "9")]
1557 pub dependency_descriptor_forwarder: ::core::option::Option<DependencyDescriptorForwarderState>,
1558 #[prost(oneof = "rtp_forwarder_state::CodecMunger", tags = "7")]
1559 pub codec_munger: ::core::option::Option<rtp_forwarder_state::CodecMunger>,
1560}
1561pub mod rtp_forwarder_state {
1563 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
1564 pub enum CodecMunger {
1565 #[prost(message, tag = "7")]
1566 Vp8Munger(super::Vp8MungerState),
1567 }
1568}
1569#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1572pub struct DependencyDescriptorForwarderState {
1573 #[prost(uint64, tag = "1")]
1575 pub ext_last_frame_number: u64,
1576}
1577#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1578pub struct RtpMungerState {
1579 #[prost(uint64, tag = "1")]
1580 pub ext_last_sequence_number: u64,
1581 #[prost(uint64, tag = "2")]
1582 pub ext_second_last_sequence_number: u64,
1583 #[prost(uint64, tag = "3")]
1584 pub ext_last_timestamp: u64,
1585 #[prost(uint64, tag = "4")]
1586 pub ext_second_last_timestamp: u64,
1587 #[prost(bool, tag = "5")]
1588 pub last_marker: bool,
1589 #[prost(bool, tag = "6")]
1590 pub second_last_marker: bool,
1591}
1592#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1593pub struct Vp8MungerState {
1594 #[prost(int32, tag = "1")]
1595 pub ext_last_picture_id: i32,
1596 #[prost(bool, tag = "2")]
1597 pub picture_id_used: bool,
1598 #[prost(uint32, tag = "3")]
1599 pub last_tl0_pic_idx: u32,
1600 #[prost(bool, tag = "4")]
1601 pub tl0_pic_idx_used: bool,
1602 #[prost(bool, tag = "5")]
1603 pub tid_used: bool,
1604 #[prost(uint32, tag = "6")]
1605 pub last_key_idx: u32,
1606 #[prost(bool, tag = "7")]
1607 pub key_idx_used: bool,
1608}
1609#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1610pub struct TimedVersion {
1611 #[prost(int64, tag = "1")]
1612 pub unix_micro: i64,
1613 #[prost(int32, tag = "2")]
1614 pub ticks: i32,
1615}
1616#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1617pub struct DataStream {
1618}
1619pub mod data_stream {
1621 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1623 pub struct TextHeader {
1624 #[prost(enumeration = "OperationType", tag = "1")]
1625 pub operation_type: i32,
1626 #[prost(int32, tag = "2")]
1628 pub version: i32,
1629 #[prost(string, tag = "3")]
1631 pub reply_to_stream_id: ::prost::alloc::string::String,
1632 #[prost(string, repeated, tag = "4")]
1634 pub attached_stream_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1635 #[prost(bool, tag = "5")]
1637 pub generated: bool,
1638 }
1639 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1641 pub struct ByteHeader {
1642 #[prost(string, tag = "1")]
1643 pub name: ::prost::alloc::string::String,
1644 }
1645 #[derive(Clone, PartialEq, ::prost::Message)]
1647 pub struct Header {
1648 #[prost(string, tag = "1")]
1650 pub stream_id: ::prost::alloc::string::String,
1651 #[prost(int64, tag = "2")]
1653 pub timestamp: i64,
1654 #[prost(string, tag = "3")]
1655 pub topic: ::prost::alloc::string::String,
1656 #[prost(string, tag = "4")]
1657 pub mime_type: ::prost::alloc::string::String,
1658 #[prost(uint64, optional, tag = "5")]
1660 pub total_length: ::core::option::Option<u64>,
1661 #[deprecated]
1663 #[prost(enumeration = "super::encryption::Type", tag = "7")]
1664 pub encryption_type: i32,
1665 #[prost(map = "string, string", tag = "8")]
1667 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
1668 #[prost(bytes = "vec", optional, tag = "11")]
1672 pub inline_content: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
1673 #[prost(enumeration = "CompressionType", tag = "12")]
1674 pub compression: i32,
1675 #[prost(oneof = "header::ContentHeader", tags = "9, 10")]
1677 pub content_header: ::core::option::Option<header::ContentHeader>,
1678 }
1679 pub mod header {
1681 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
1683 pub enum ContentHeader {
1684 #[prost(message, tag = "9")]
1685 TextHeader(super::TextHeader),
1686 #[prost(message, tag = "10")]
1687 ByteHeader(super::ByteHeader),
1688 }
1689 }
1690 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1691 pub struct Chunk {
1692 #[prost(string, tag = "1")]
1694 pub stream_id: ::prost::alloc::string::String,
1695 #[prost(uint64, tag = "2")]
1696 pub chunk_index: u64,
1697 #[prost(bytes = "vec", tag = "3")]
1699 pub content: ::prost::alloc::vec::Vec<u8>,
1700 #[prost(int32, tag = "4")]
1702 pub version: i32,
1703 #[deprecated]
1705 #[prost(bytes = "vec", optional, tag = "5")]
1706 pub iv: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
1707 }
1708 #[derive(Clone, PartialEq, ::prost::Message)]
1709 pub struct Trailer {
1710 #[prost(string, tag = "1")]
1712 pub stream_id: ::prost::alloc::string::String,
1713 #[prost(string, tag = "2")]
1715 pub reason: ::prost::alloc::string::String,
1716 #[prost(map = "string, string", tag = "3")]
1718 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
1719 }
1720 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1722 #[repr(i32)]
1723 pub enum OperationType {
1724 Create = 0,
1725 Update = 1,
1726 Delete = 2,
1727 Reaction = 3,
1728 }
1729 impl OperationType {
1730 pub fn as_str_name(&self) -> &'static str {
1735 match self {
1736 Self::Create => "CREATE",
1737 Self::Update => "UPDATE",
1738 Self::Delete => "DELETE",
1739 Self::Reaction => "REACTION",
1740 }
1741 }
1742 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1744 match value {
1745 "CREATE" => Some(Self::Create),
1746 "UPDATE" => Some(Self::Update),
1747 "DELETE" => Some(Self::Delete),
1748 "REACTION" => Some(Self::Reaction),
1749 _ => None,
1750 }
1751 }
1752 }
1753 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1758 #[repr(i32)]
1759 pub enum CompressionType {
1760 None = 0,
1761 DeflateRaw = 1,
1763 }
1764 impl CompressionType {
1765 pub fn as_str_name(&self) -> &'static str {
1770 match self {
1771 Self::None => "NONE",
1772 Self::DeflateRaw => "DEFLATE_RAW",
1773 }
1774 }
1775 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1777 match value {
1778 "NONE" => Some(Self::None),
1779 "DEFLATE_RAW" => Some(Self::DeflateRaw),
1780 _ => None,
1781 }
1782 }
1783 }
1784}
1785#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1786pub struct FilterParams {
1787 #[prost(string, repeated, tag = "1")]
1788 pub include_events: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1789 #[prost(string, repeated, tag = "2")]
1790 pub exclude_events: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1791}
1792#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1793pub struct WebhookConfig {
1794 #[prost(string, tag = "1")]
1795 pub url: ::prost::alloc::string::String,
1796 #[prost(string, tag = "2")]
1797 pub signing_key: ::prost::alloc::string::String,
1798 #[prost(message, optional, tag = "3")]
1799 pub filter_params: ::core::option::Option<FilterParams>,
1800}
1801#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1802pub struct SubscribedAudioCodec {
1803 #[prost(string, tag = "1")]
1804 pub codec: ::prost::alloc::string::String,
1805 #[prost(bool, tag = "2")]
1806 pub enabled: bool,
1807}
1808#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1809#[repr(i32)]
1810pub enum AudioCodec {
1811 DefaultAc = 0,
1812 Opus = 1,
1813 Aac = 2,
1814 AcMp3 = 3,
1815}
1816impl AudioCodec {
1817 pub fn as_str_name(&self) -> &'static str {
1822 match self {
1823 Self::DefaultAc => "DEFAULT_AC",
1824 Self::Opus => "OPUS",
1825 Self::Aac => "AAC",
1826 Self::AcMp3 => "AC_MP3",
1827 }
1828 }
1829 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1831 match value {
1832 "DEFAULT_AC" => Some(Self::DefaultAc),
1833 "OPUS" => Some(Self::Opus),
1834 "AAC" => Some(Self::Aac),
1835 "AC_MP3" => Some(Self::AcMp3),
1836 _ => None,
1837 }
1838 }
1839}
1840#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1841#[repr(i32)]
1842pub enum VideoCodec {
1843 DefaultVc = 0,
1844 H264Baseline = 1,
1845 H264Main = 2,
1846 H264High = 3,
1847 Vp8 = 4,
1848}
1849impl VideoCodec {
1850 pub fn as_str_name(&self) -> &'static str {
1855 match self {
1856 Self::DefaultVc => "DEFAULT_VC",
1857 Self::H264Baseline => "H264_BASELINE",
1858 Self::H264Main => "H264_MAIN",
1859 Self::H264High => "H264_HIGH",
1860 Self::Vp8 => "VP8",
1861 }
1862 }
1863 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1865 match value {
1866 "DEFAULT_VC" => Some(Self::DefaultVc),
1867 "H264_BASELINE" => Some(Self::H264Baseline),
1868 "H264_MAIN" => Some(Self::H264Main),
1869 "H264_HIGH" => Some(Self::H264High),
1870 "VP8" => Some(Self::Vp8),
1871 _ => None,
1872 }
1873 }
1874}
1875#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1876#[repr(i32)]
1877pub enum ImageCodec {
1878 IcDefault = 0,
1879 IcJpeg = 1,
1880}
1881impl ImageCodec {
1882 pub fn as_str_name(&self) -> &'static str {
1887 match self {
1888 Self::IcDefault => "IC_DEFAULT",
1889 Self::IcJpeg => "IC_JPEG",
1890 }
1891 }
1892 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1894 match value {
1895 "IC_DEFAULT" => Some(Self::IcDefault),
1896 "IC_JPEG" => Some(Self::IcJpeg),
1897 _ => None,
1898 }
1899 }
1900}
1901#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1903#[repr(i32)]
1904pub enum BackupCodecPolicy {
1905 PreferRegression = 0,
1908 Simulcast = 1,
1910 Regression = 2,
1912}
1913impl BackupCodecPolicy {
1914 pub fn as_str_name(&self) -> &'static str {
1919 match self {
1920 Self::PreferRegression => "PREFER_REGRESSION",
1921 Self::Simulcast => "SIMULCAST",
1922 Self::Regression => "REGRESSION",
1923 }
1924 }
1925 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1927 match value {
1928 "PREFER_REGRESSION" => Some(Self::PreferRegression),
1929 "SIMULCAST" => Some(Self::Simulcast),
1930 "REGRESSION" => Some(Self::Regression),
1931 _ => None,
1932 }
1933 }
1934}
1935#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1936#[repr(i32)]
1937pub enum TrackType {
1938 Audio = 0,
1939 Video = 1,
1940 Data = 2,
1941}
1942impl TrackType {
1943 pub fn as_str_name(&self) -> &'static str {
1948 match self {
1949 Self::Audio => "AUDIO",
1950 Self::Video => "VIDEO",
1951 Self::Data => "DATA",
1952 }
1953 }
1954 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1956 match value {
1957 "AUDIO" => Some(Self::Audio),
1958 "VIDEO" => Some(Self::Video),
1959 "DATA" => Some(Self::Data),
1960 _ => None,
1961 }
1962 }
1963}
1964#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1965#[repr(i32)]
1966pub enum TrackSource {
1967 Unknown = 0,
1968 Camera = 1,
1969 Microphone = 2,
1970 ScreenShare = 3,
1971 ScreenShareAudio = 4,
1972}
1973impl TrackSource {
1974 pub fn as_str_name(&self) -> &'static str {
1979 match self {
1980 Self::Unknown => "UNKNOWN",
1981 Self::Camera => "CAMERA",
1982 Self::Microphone => "MICROPHONE",
1983 Self::ScreenShare => "SCREEN_SHARE",
1984 Self::ScreenShareAudio => "SCREEN_SHARE_AUDIO",
1985 }
1986 }
1987 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1989 match value {
1990 "UNKNOWN" => Some(Self::Unknown),
1991 "CAMERA" => Some(Self::Camera),
1992 "MICROPHONE" => Some(Self::Microphone),
1993 "SCREEN_SHARE" => Some(Self::ScreenShare),
1994 "SCREEN_SHARE_AUDIO" => Some(Self::ScreenShareAudio),
1995 _ => None,
1996 }
1997 }
1998}
1999#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2000#[repr(i32)]
2001pub enum DataTrackExtensionId {
2002 DteiInvalid = 0,
2003 DteiE2ee = 1,
2004 DteiUserTimestamp = 2,
2005 DteiParticipantSid = 255,
2006}
2007impl DataTrackExtensionId {
2008 pub fn as_str_name(&self) -> &'static str {
2013 match self {
2014 Self::DteiInvalid => "DTEI_INVALID",
2015 Self::DteiE2ee => "DTEI_E2EE",
2016 Self::DteiUserTimestamp => "DTEI_USER_TIMESTAMP",
2017 Self::DteiParticipantSid => "DTEI_PARTICIPANT_SID",
2018 }
2019 }
2020 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2022 match value {
2023 "DTEI_INVALID" => Some(Self::DteiInvalid),
2024 "DTEI_E2EE" => Some(Self::DteiE2ee),
2025 "DTEI_USER_TIMESTAMP" => Some(Self::DteiUserTimestamp),
2026 "DTEI_PARTICIPANT_SID" => Some(Self::DteiParticipantSid),
2027 _ => None,
2028 }
2029 }
2030}
2031#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2032#[repr(i32)]
2033pub enum VideoQuality {
2034 Low = 0,
2035 Medium = 1,
2036 High = 2,
2037 Off = 3,
2038}
2039impl VideoQuality {
2040 pub fn as_str_name(&self) -> &'static str {
2045 match self {
2046 Self::Low => "LOW",
2047 Self::Medium => "MEDIUM",
2048 Self::High => "HIGH",
2049 Self::Off => "OFF",
2050 }
2051 }
2052 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2054 match value {
2055 "LOW" => Some(Self::Low),
2056 "MEDIUM" => Some(Self::Medium),
2057 "HIGH" => Some(Self::High),
2058 "OFF" => Some(Self::Off),
2059 _ => None,
2060 }
2061 }
2062}
2063#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2064#[repr(i32)]
2065pub enum ConnectionQuality {
2066 Poor = 0,
2067 Good = 1,
2068 Excellent = 2,
2069 Lost = 3,
2070}
2071impl ConnectionQuality {
2072 pub fn as_str_name(&self) -> &'static str {
2077 match self {
2078 Self::Poor => "POOR",
2079 Self::Good => "GOOD",
2080 Self::Excellent => "EXCELLENT",
2081 Self::Lost => "LOST",
2082 }
2083 }
2084 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2086 match value {
2087 "POOR" => Some(Self::Poor),
2088 "GOOD" => Some(Self::Good),
2089 "EXCELLENT" => Some(Self::Excellent),
2090 "LOST" => Some(Self::Lost),
2091 _ => None,
2092 }
2093 }
2094}
2095#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2096#[repr(i32)]
2097pub enum ClientConfigSetting {
2098 Unset = 0,
2099 Disabled = 1,
2100 Enabled = 2,
2101}
2102impl ClientConfigSetting {
2103 pub fn as_str_name(&self) -> &'static str {
2108 match self {
2109 Self::Unset => "UNSET",
2110 Self::Disabled => "DISABLED",
2111 Self::Enabled => "ENABLED",
2112 }
2113 }
2114 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2116 match value {
2117 "UNSET" => Some(Self::Unset),
2118 "DISABLED" => Some(Self::Disabled),
2119 "ENABLED" => Some(Self::Enabled),
2120 _ => None,
2121 }
2122 }
2123}
2124#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2125#[repr(i32)]
2126pub enum DisconnectReason {
2127 UnknownReason = 0,
2128 ClientInitiated = 1,
2130 DuplicateIdentity = 2,
2132 ServerShutdown = 3,
2134 ParticipantRemoved = 4,
2136 RoomDeleted = 5,
2138 StateMismatch = 6,
2140 JoinFailure = 7,
2142 Migration = 8,
2144 SignalClose = 9,
2146 RoomClosed = 10,
2148 UserUnavailable = 11,
2150 UserRejected = 12,
2152 SipTrunkFailure = 13,
2154 ConnectionTimeout = 14,
2156 MediaFailure = 15,
2158 AgentError = 16,
2160}
2161impl DisconnectReason {
2162 pub fn as_str_name(&self) -> &'static str {
2167 match self {
2168 Self::UnknownReason => "UNKNOWN_REASON",
2169 Self::ClientInitiated => "CLIENT_INITIATED",
2170 Self::DuplicateIdentity => "DUPLICATE_IDENTITY",
2171 Self::ServerShutdown => "SERVER_SHUTDOWN",
2172 Self::ParticipantRemoved => "PARTICIPANT_REMOVED",
2173 Self::RoomDeleted => "ROOM_DELETED",
2174 Self::StateMismatch => "STATE_MISMATCH",
2175 Self::JoinFailure => "JOIN_FAILURE",
2176 Self::Migration => "MIGRATION",
2177 Self::SignalClose => "SIGNAL_CLOSE",
2178 Self::RoomClosed => "ROOM_CLOSED",
2179 Self::UserUnavailable => "USER_UNAVAILABLE",
2180 Self::UserRejected => "USER_REJECTED",
2181 Self::SipTrunkFailure => "SIP_TRUNK_FAILURE",
2182 Self::ConnectionTimeout => "CONNECTION_TIMEOUT",
2183 Self::MediaFailure => "MEDIA_FAILURE",
2184 Self::AgentError => "AGENT_ERROR",
2185 }
2186 }
2187 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2189 match value {
2190 "UNKNOWN_REASON" => Some(Self::UnknownReason),
2191 "CLIENT_INITIATED" => Some(Self::ClientInitiated),
2192 "DUPLICATE_IDENTITY" => Some(Self::DuplicateIdentity),
2193 "SERVER_SHUTDOWN" => Some(Self::ServerShutdown),
2194 "PARTICIPANT_REMOVED" => Some(Self::ParticipantRemoved),
2195 "ROOM_DELETED" => Some(Self::RoomDeleted),
2196 "STATE_MISMATCH" => Some(Self::StateMismatch),
2197 "JOIN_FAILURE" => Some(Self::JoinFailure),
2198 "MIGRATION" => Some(Self::Migration),
2199 "SIGNAL_CLOSE" => Some(Self::SignalClose),
2200 "ROOM_CLOSED" => Some(Self::RoomClosed),
2201 "USER_UNAVAILABLE" => Some(Self::UserUnavailable),
2202 "USER_REJECTED" => Some(Self::UserRejected),
2203 "SIP_TRUNK_FAILURE" => Some(Self::SipTrunkFailure),
2204 "CONNECTION_TIMEOUT" => Some(Self::ConnectionTimeout),
2205 "MEDIA_FAILURE" => Some(Self::MediaFailure),
2206 "AGENT_ERROR" => Some(Self::AgentError),
2207 _ => None,
2208 }
2209 }
2210}
2211#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2213#[repr(i32)]
2214pub enum RoomEndReason {
2215 RoomEndUnknown = 0,
2216 RoomEndApiDelete = 1,
2218 RoomEndIdleTimeout = 2,
2220 RoomEndServerShutdown = 3,
2222 RoomEndSuperseded = 4,
2224 RoomEndOpenFailed = 5,
2226}
2227impl RoomEndReason {
2228 pub fn as_str_name(&self) -> &'static str {
2233 match self {
2234 Self::RoomEndUnknown => "ROOM_END_UNKNOWN",
2235 Self::RoomEndApiDelete => "ROOM_END_API_DELETE",
2236 Self::RoomEndIdleTimeout => "ROOM_END_IDLE_TIMEOUT",
2237 Self::RoomEndServerShutdown => "ROOM_END_SERVER_SHUTDOWN",
2238 Self::RoomEndSuperseded => "ROOM_END_SUPERSEDED",
2239 Self::RoomEndOpenFailed => "ROOM_END_OPEN_FAILED",
2240 }
2241 }
2242 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2244 match value {
2245 "ROOM_END_UNKNOWN" => Some(Self::RoomEndUnknown),
2246 "ROOM_END_API_DELETE" => Some(Self::RoomEndApiDelete),
2247 "ROOM_END_IDLE_TIMEOUT" => Some(Self::RoomEndIdleTimeout),
2248 "ROOM_END_SERVER_SHUTDOWN" => Some(Self::RoomEndServerShutdown),
2249 "ROOM_END_SUPERSEDED" => Some(Self::RoomEndSuperseded),
2250 "ROOM_END_OPEN_FAILED" => Some(Self::RoomEndOpenFailed),
2251 _ => None,
2252 }
2253 }
2254}
2255#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2256#[repr(i32)]
2257pub enum ReconnectReason {
2258 RrUnknown = 0,
2259 RrSignalDisconnected = 1,
2260 RrPublisherFailed = 2,
2261 RrSubscriberFailed = 3,
2262 RrSwitchCandidate = 4,
2263}
2264impl ReconnectReason {
2265 pub fn as_str_name(&self) -> &'static str {
2270 match self {
2271 Self::RrUnknown => "RR_UNKNOWN",
2272 Self::RrSignalDisconnected => "RR_SIGNAL_DISCONNECTED",
2273 Self::RrPublisherFailed => "RR_PUBLISHER_FAILED",
2274 Self::RrSubscriberFailed => "RR_SUBSCRIBER_FAILED",
2275 Self::RrSwitchCandidate => "RR_SWITCH_CANDIDATE",
2276 }
2277 }
2278 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2280 match value {
2281 "RR_UNKNOWN" => Some(Self::RrUnknown),
2282 "RR_SIGNAL_DISCONNECTED" => Some(Self::RrSignalDisconnected),
2283 "RR_PUBLISHER_FAILED" => Some(Self::RrPublisherFailed),
2284 "RR_SUBSCRIBER_FAILED" => Some(Self::RrSubscriberFailed),
2285 "RR_SWITCH_CANDIDATE" => Some(Self::RrSwitchCandidate),
2286 _ => None,
2287 }
2288 }
2289}
2290#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2291#[repr(i32)]
2292pub enum SubscriptionError {
2293 SeUnknown = 0,
2294 SeCodecUnsupported = 1,
2295 SeTrackNotfound = 2,
2296}
2297impl SubscriptionError {
2298 pub fn as_str_name(&self) -> &'static str {
2303 match self {
2304 Self::SeUnknown => "SE_UNKNOWN",
2305 Self::SeCodecUnsupported => "SE_CODEC_UNSUPPORTED",
2306 Self::SeTrackNotfound => "SE_TRACK_NOTFOUND",
2307 }
2308 }
2309 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2311 match value {
2312 "SE_UNKNOWN" => Some(Self::SeUnknown),
2313 "SE_CODEC_UNSUPPORTED" => Some(Self::SeCodecUnsupported),
2314 "SE_TRACK_NOTFOUND" => Some(Self::SeTrackNotfound),
2315 _ => None,
2316 }
2317 }
2318}
2319#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2320#[repr(i32)]
2321pub enum AudioTrackFeature {
2322 TfStereo = 0,
2323 TfNoDtx = 1,
2324 TfAutoGainControl = 2,
2325 TfEchoCancellation = 3,
2326 TfNoiseSuppression = 4,
2327 TfEnhancedNoiseCancellation = 5,
2328 TfPreconnectBuffer = 6,
2330}
2331impl AudioTrackFeature {
2332 pub fn as_str_name(&self) -> &'static str {
2337 match self {
2338 Self::TfStereo => "TF_STEREO",
2339 Self::TfNoDtx => "TF_NO_DTX",
2340 Self::TfAutoGainControl => "TF_AUTO_GAIN_CONTROL",
2341 Self::TfEchoCancellation => "TF_ECHO_CANCELLATION",
2342 Self::TfNoiseSuppression => "TF_NOISE_SUPPRESSION",
2343 Self::TfEnhancedNoiseCancellation => "TF_ENHANCED_NOISE_CANCELLATION",
2344 Self::TfPreconnectBuffer => "TF_PRECONNECT_BUFFER",
2345 }
2346 }
2347 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2349 match value {
2350 "TF_STEREO" => Some(Self::TfStereo),
2351 "TF_NO_DTX" => Some(Self::TfNoDtx),
2352 "TF_AUTO_GAIN_CONTROL" => Some(Self::TfAutoGainControl),
2353 "TF_ECHO_CANCELLATION" => Some(Self::TfEchoCancellation),
2354 "TF_NOISE_SUPPRESSION" => Some(Self::TfNoiseSuppression),
2355 "TF_ENHANCED_NOISE_CANCELLATION" => Some(Self::TfEnhancedNoiseCancellation),
2356 "TF_PRECONNECT_BUFFER" => Some(Self::TfPreconnectBuffer),
2357 _ => None,
2358 }
2359 }
2360}
2361#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2362#[repr(i32)]
2363pub enum PacketTrailerFeature {
2364 PtfUserTimestamp = 0,
2365 PtfFrameId = 1,
2366 PtfUserData = 2,
2367}
2368impl PacketTrailerFeature {
2369 pub fn as_str_name(&self) -> &'static str {
2374 match self {
2375 Self::PtfUserTimestamp => "PTF_USER_TIMESTAMP",
2376 Self::PtfFrameId => "PTF_FRAME_ID",
2377 Self::PtfUserData => "PTF_USER_DATA",
2378 }
2379 }
2380 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2382 match value {
2383 "PTF_USER_TIMESTAMP" => Some(Self::PtfUserTimestamp),
2384 "PTF_FRAME_ID" => Some(Self::PtfFrameId),
2385 "PTF_USER_DATA" => Some(Self::PtfUserData),
2386 _ => None,
2387 }
2388 }
2389}
2390#[derive(Clone, PartialEq, ::prost::Message)]
2393pub struct StartEgressRequest {
2394 #[prost(string, tag = "1")]
2395 pub room_name: ::prost::alloc::string::String,
2396 #[prost(message, repeated, tag = "7")]
2398 pub outputs: ::prost::alloc::vec::Vec<Output>,
2399 #[prost(message, optional, tag = "8")]
2401 pub storage: ::core::option::Option<StorageConfig>,
2402 #[prost(message, repeated, tag = "9")]
2404 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
2405 #[prost(oneof = "start_egress_request::Source", tags = "2, 3, 4")]
2406 pub source: ::core::option::Option<start_egress_request::Source>,
2407 #[prost(oneof = "start_egress_request::Encoding", tags = "5, 6")]
2409 pub encoding: ::core::option::Option<start_egress_request::Encoding>,
2410}
2411pub mod start_egress_request {
2413 #[derive(Clone, PartialEq, ::prost::Oneof)]
2414 pub enum Source {
2415 #[prost(message, tag = "2")]
2416 Template(super::TemplateSource),
2417 #[prost(message, tag = "3")]
2418 Web(super::WebSource),
2419 #[prost(message, tag = "4")]
2420 Media(super::MediaSource),
2421 }
2422 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
2424 pub enum Encoding {
2425 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "5")]
2426 Preset(i32),
2427 #[prost(message, tag = "6")]
2428 Advanced(super::EncodingOptions),
2429 }
2430}
2431#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2436pub struct TemplateSource {
2437 #[prost(string, tag = "1")]
2438 pub layout: ::prost::alloc::string::String,
2439 #[prost(bool, tag = "2")]
2440 pub audio_only: bool,
2441 #[prost(bool, tag = "3")]
2442 pub video_only: bool,
2443 #[prost(string, tag = "4")]
2444 pub custom_base_url: ::prost::alloc::string::String,
2445}
2446#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2448pub struct WebSource {
2449 #[prost(string, tag = "1")]
2450 pub url: ::prost::alloc::string::String,
2451 #[prost(bool, tag = "2")]
2452 pub audio_only: bool,
2453 #[prost(bool, tag = "3")]
2454 pub video_only: bool,
2455 #[prost(bool, tag = "4")]
2456 pub await_start_signal: bool,
2457}
2458#[derive(Clone, PartialEq, ::prost::Message)]
2461pub struct MediaSource {
2462 #[prost(message, optional, tag = "3")]
2463 pub audio: ::core::option::Option<AudioConfig>,
2464 #[prost(message, optional, tag = "4")]
2465 pub data: ::core::option::Option<DataConfig>,
2466 #[prost(oneof = "media_source::Video", tags = "1, 2, 5")]
2467 pub video: ::core::option::Option<media_source::Video>,
2468}
2469pub mod media_source {
2471 #[derive(Clone, PartialEq, ::prost::Oneof)]
2472 pub enum Video {
2473 #[prost(string, tag = "1")]
2474 VideoTrackId(::prost::alloc::string::String),
2475 #[prost(message, tag = "2")]
2476 ParticipantVideo(super::ParticipantVideo),
2477 #[prost(message, tag = "5")]
2479 Videos(super::VideoConfig),
2480 }
2481}
2482#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2485pub struct ParticipantVideo {
2486 #[prost(string, tag = "1")]
2487 pub identity: ::prost::alloc::string::String,
2488 #[prost(bool, tag = "2")]
2489 pub prefer_screen_share: bool,
2490}
2491#[derive(Clone, PartialEq, ::prost::Message)]
2492pub struct VideoConfig {
2493 #[prost(bool, tag = "1")]
2494 pub capture_all: bool,
2495 #[prost(message, repeated, tag = "2")]
2496 pub selectors: ::prost::alloc::vec::Vec<VideoSelector>,
2497}
2498#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2499pub struct VideoSelector {
2500 #[prost(string, tag = "3")]
2502 pub track_name: ::prost::alloc::string::String,
2503 #[prost(bool, tag = "4")]
2505 pub exclude: bool,
2506 #[prost(oneof = "video_selector::Match", tags = "1, 2")]
2507 pub r#match: ::core::option::Option<video_selector::Match>,
2508}
2509pub mod video_selector {
2511 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
2512 pub enum Match {
2513 #[prost(string, tag = "1")]
2514 TrackId(::prost::alloc::string::String),
2515 #[prost(string, tag = "2")]
2516 ParticipantIdentity(::prost::alloc::string::String),
2517 }
2518}
2519#[derive(Clone, PartialEq, ::prost::Message)]
2524pub struct AudioConfig {
2525 #[prost(bool, tag = "1")]
2527 pub capture_all: bool,
2528 #[prost(message, repeated, tag = "2")]
2529 pub routes: ::prost::alloc::vec::Vec<AudioRoute>,
2530}
2531#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2532pub struct AudioRoute {
2533 #[prost(string, tag = "5")]
2535 pub track_name: ::prost::alloc::string::String,
2536 #[prost(bool, tag = "6")]
2538 pub exclude: bool,
2539 #[prost(enumeration = "AudioChannel", tag = "4")]
2540 pub channel: i32,
2541 #[prost(oneof = "audio_route::Match", tags = "1, 2, 3")]
2542 pub r#match: ::core::option::Option<audio_route::Match>,
2543}
2544pub mod audio_route {
2546 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
2547 pub enum Match {
2548 #[prost(string, tag = "1")]
2549 TrackId(::prost::alloc::string::String),
2550 #[prost(string, tag = "2")]
2551 ParticipantIdentity(::prost::alloc::string::String),
2552 #[prost(enumeration = "super::participant_info::Kind", tag = "3")]
2553 ParticipantKind(i32),
2554 }
2555}
2556#[derive(Clone, PartialEq, ::prost::Message)]
2559pub struct DataConfig {
2560 #[prost(bool, tag = "1")]
2561 pub capture_all: bool,
2562 #[prost(message, repeated, tag = "2")]
2563 pub selectors: ::prost::alloc::vec::Vec<DataSelector>,
2564}
2565#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2566pub struct DataSelector {
2567 #[prost(string, tag = "3")]
2569 pub track_name: ::prost::alloc::string::String,
2570 #[prost(bool, tag = "4")]
2572 pub exclude: bool,
2573 #[prost(oneof = "data_selector::Match", tags = "1, 2")]
2574 pub r#match: ::core::option::Option<data_selector::Match>,
2575}
2576pub mod data_selector {
2578 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
2579 pub enum Match {
2580 #[prost(string, tag = "1")]
2581 TrackId(::prost::alloc::string::String),
2582 #[prost(string, tag = "2")]
2583 ParticipantIdentity(::prost::alloc::string::String),
2584 }
2585}
2586#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2587pub struct EncodingOptions {
2588 #[prost(int32, tag = "1")]
2590 pub width: i32,
2591 #[prost(int32, tag = "2")]
2593 pub height: i32,
2594 #[prost(int32, tag = "3")]
2596 pub depth: i32,
2597 #[prost(int32, tag = "4")]
2599 pub framerate: i32,
2600 #[prost(enumeration = "AudioCodec", tag = "5")]
2602 pub audio_codec: i32,
2603 #[prost(int32, tag = "6")]
2605 pub audio_bitrate: i32,
2606 #[prost(int32, tag = "7")]
2608 pub audio_frequency: i32,
2609 #[prost(enumeration = "VideoCodec", tag = "8")]
2611 pub video_codec: i32,
2612 #[prost(int32, tag = "9")]
2614 pub video_bitrate: i32,
2615 #[prost(double, tag = "10")]
2617 pub key_frame_interval: f64,
2618 #[deprecated]
2622 #[prost(int32, tag = "11")]
2623 pub audio_quality: i32,
2624 #[deprecated]
2626 #[prost(int32, tag = "12")]
2627 pub video_quality: i32,
2628}
2629#[derive(Clone, PartialEq, ::prost::Message)]
2632pub struct Output {
2633 #[prost(message, optional, tag = "6")]
2635 pub storage: ::core::option::Option<StorageConfig>,
2636 #[prost(oneof = "output::Config", tags = "1, 2, 3, 4")]
2637 pub config: ::core::option::Option<output::Config>,
2638}
2639pub mod output {
2641 #[derive(Clone, PartialEq, ::prost::Oneof)]
2642 pub enum Config {
2643 #[prost(message, tag = "1")]
2644 File(super::FileOutput),
2645 #[prost(message, tag = "2")]
2646 Stream(super::StreamOutput),
2647 #[prost(message, tag = "3")]
2648 Segments(super::SegmentedFileOutput),
2649 #[prost(message, tag = "4")]
2651 Images(super::ImageOutput),
2652 }
2653}
2654#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2657pub struct FileOutput {
2658 #[prost(enumeration = "EncodedFileType", tag = "1")]
2659 pub file_type: i32,
2660 #[prost(string, tag = "2")]
2661 pub filepath: ::prost::alloc::string::String,
2662 #[prost(bool, tag = "3")]
2663 pub disable_manifest: bool,
2664}
2665#[derive(Clone, PartialEq, ::prost::Message)]
2666pub struct StreamOutput {
2667 #[prost(enumeration = "StreamProtocol", tag = "1")]
2669 pub protocol: i32,
2670 #[prost(string, repeated, tag = "2")]
2672 pub urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2673 #[prost(message, repeated, tag = "3")]
2675 pub destinations: ::prost::alloc::vec::Vec<StreamDestination>,
2676}
2677#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2678pub struct StreamDestination {
2679 #[prost(string, tag = "1")]
2681 pub id: ::prost::alloc::string::String,
2682 #[prost(string, tag = "2")]
2684 pub url: ::prost::alloc::string::String,
2685}
2686#[derive(Clone, PartialEq, ::prost::Message)]
2688pub struct SegmentedFileOutput {
2689 #[prost(enumeration = "SegmentedFileProtocol", tag = "1")]
2691 pub protocol: i32,
2692 #[prost(string, tag = "2")]
2694 pub filename_prefix: ::prost::alloc::string::String,
2695 #[prost(string, tag = "3")]
2697 pub playlist_name: ::prost::alloc::string::String,
2698 #[prost(string, tag = "11")]
2700 pub live_playlist_name: ::prost::alloc::string::String,
2701 #[prost(uint32, tag = "4")]
2703 pub segment_duration: u32,
2704 #[prost(enumeration = "SegmentedFileSuffix", tag = "10")]
2706 pub filename_suffix: i32,
2707 #[prost(bool, tag = "8")]
2709 pub disable_manifest: bool,
2710 #[prost(oneof = "segmented_file_output::Output", tags = "5, 6, 7, 9")]
2712 pub output: ::core::option::Option<segmented_file_output::Output>,
2713}
2714pub mod segmented_file_output {
2716 #[derive(Clone, PartialEq, ::prost::Oneof)]
2718 pub enum Output {
2719 #[prost(message, tag = "5")]
2720 S3(super::S3Upload),
2721 #[prost(message, tag = "6")]
2722 Gcp(super::GcpUpload),
2723 #[prost(message, tag = "7")]
2724 Azure(super::AzureBlobUpload),
2725 #[prost(message, tag = "9")]
2726 AliOss(super::AliOssUpload),
2727 }
2728}
2729#[derive(Clone, PartialEq, ::prost::Message)]
2731pub struct ImageOutput {
2732 #[prost(uint32, tag = "1")]
2734 pub capture_interval: u32,
2735 #[prost(int32, tag = "2")]
2737 pub width: i32,
2738 #[prost(int32, tag = "3")]
2740 pub height: i32,
2741 #[prost(string, tag = "4")]
2743 pub filename_prefix: ::prost::alloc::string::String,
2744 #[prost(enumeration = "ImageFileSuffix", tag = "5")]
2746 pub filename_suffix: i32,
2747 #[prost(enumeration = "ImageCodec", tag = "6")]
2749 pub image_codec: i32,
2750 #[prost(bool, tag = "7")]
2752 pub disable_manifest: bool,
2753 #[prost(oneof = "image_output::Output", tags = "8, 9, 10, 11")]
2755 pub output: ::core::option::Option<image_output::Output>,
2756}
2757pub mod image_output {
2759 #[derive(Clone, PartialEq, ::prost::Oneof)]
2761 pub enum Output {
2762 #[prost(message, tag = "8")]
2763 S3(super::S3Upload),
2764 #[prost(message, tag = "9")]
2765 Gcp(super::GcpUpload),
2766 #[prost(message, tag = "10")]
2767 Azure(super::AzureBlobUpload),
2768 #[prost(message, tag = "11")]
2769 AliOss(super::AliOssUpload),
2770 }
2771}
2772#[derive(Clone, PartialEq, ::prost::Message)]
2775pub struct StorageConfig {
2776 #[prost(oneof = "storage_config::Provider", tags = "1, 2, 3, 4")]
2777 pub provider: ::core::option::Option<storage_config::Provider>,
2778}
2779pub mod storage_config {
2781 #[derive(Clone, PartialEq, ::prost::Oneof)]
2782 pub enum Provider {
2783 #[prost(message, tag = "1")]
2784 S3(super::S3Upload),
2785 #[prost(message, tag = "2")]
2786 Gcp(super::GcpUpload),
2787 #[prost(message, tag = "3")]
2788 Azure(super::AzureBlobUpload),
2789 #[prost(message, tag = "4")]
2790 AliOss(super::AliOssUpload),
2791 }
2792}
2793#[derive(Clone, PartialEq, ::prost::Message)]
2794pub struct S3Upload {
2795 #[prost(string, tag = "1")]
2796 pub access_key: ::prost::alloc::string::String,
2797 #[prost(string, tag = "2")]
2798 pub secret: ::prost::alloc::string::String,
2799 #[prost(string, tag = "11")]
2800 pub session_token: ::prost::alloc::string::String,
2801 #[prost(string, tag = "12")]
2803 pub assume_role_arn: ::prost::alloc::string::String,
2804 #[prost(string, tag = "13")]
2806 pub assume_role_external_id: ::prost::alloc::string::String,
2807 #[prost(string, tag = "3")]
2808 pub region: ::prost::alloc::string::String,
2809 #[prost(string, tag = "4")]
2810 pub endpoint: ::prost::alloc::string::String,
2811 #[prost(string, tag = "5")]
2812 pub bucket: ::prost::alloc::string::String,
2813 #[prost(bool, tag = "6")]
2814 pub force_path_style: bool,
2815 #[prost(map = "string, string", tag = "7")]
2816 pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
2817 #[prost(string, tag = "8")]
2818 pub tagging: ::prost::alloc::string::String,
2819 #[prost(string, tag = "9")]
2821 pub content_disposition: ::prost::alloc::string::String,
2822 #[prost(message, optional, tag = "10")]
2823 pub proxy: ::core::option::Option<ProxyConfig>,
2824}
2825#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2826pub struct GcpUpload {
2827 #[prost(string, tag = "1")]
2829 pub credentials: ::prost::alloc::string::String,
2830 #[prost(string, tag = "2")]
2831 pub bucket: ::prost::alloc::string::String,
2832 #[prost(message, optional, tag = "3")]
2833 pub proxy: ::core::option::Option<ProxyConfig>,
2834}
2835#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2836pub struct AzureBlobUpload {
2837 #[prost(string, tag = "1")]
2838 pub account_name: ::prost::alloc::string::String,
2839 #[prost(string, tag = "2")]
2840 pub account_key: ::prost::alloc::string::String,
2841 #[prost(string, tag = "3")]
2842 pub container_name: ::prost::alloc::string::String,
2843}
2844#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2845pub struct AliOssUpload {
2846 #[prost(string, tag = "1")]
2847 pub access_key: ::prost::alloc::string::String,
2848 #[prost(string, tag = "2")]
2849 pub secret: ::prost::alloc::string::String,
2850 #[prost(string, tag = "3")]
2851 pub region: ::prost::alloc::string::String,
2852 #[prost(string, tag = "4")]
2853 pub endpoint: ::prost::alloc::string::String,
2854 #[prost(string, tag = "5")]
2855 pub bucket: ::prost::alloc::string::String,
2856}
2857#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2858pub struct ProxyConfig {
2859 #[prost(string, tag = "1")]
2860 pub url: ::prost::alloc::string::String,
2861 #[prost(string, tag = "2")]
2862 pub username: ::prost::alloc::string::String,
2863 #[prost(string, tag = "3")]
2864 pub password: ::prost::alloc::string::String,
2865}
2866#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2869pub struct ListEgressRequest {
2870 #[prost(string, tag = "1")]
2872 pub room_name: ::prost::alloc::string::String,
2873 #[prost(string, tag = "2")]
2875 pub egress_id: ::prost::alloc::string::String,
2876 #[prost(bool, tag = "3")]
2878 pub active: bool,
2879 #[prost(message, optional, tag = "4")]
2881 pub page_token: ::core::option::Option<TokenPagination>,
2882}
2883#[derive(Clone, PartialEq, ::prost::Message)]
2884pub struct ListEgressResponse {
2885 #[prost(message, repeated, tag = "1")]
2886 pub items: ::prost::alloc::vec::Vec<EgressInfo>,
2887 #[prost(message, optional, tag = "2")]
2889 pub next_page_token: ::core::option::Option<TokenPagination>,
2890}
2891#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2892pub struct StopEgressRequest {
2893 #[prost(string, tag = "1")]
2894 pub egress_id: ::prost::alloc::string::String,
2895}
2896#[derive(Clone, PartialEq, ::prost::Message)]
2899pub struct EgressInfo {
2900 #[prost(string, tag = "1")]
2901 pub egress_id: ::prost::alloc::string::String,
2902 #[prost(string, tag = "2")]
2903 pub room_id: ::prost::alloc::string::String,
2904 #[prost(string, tag = "13")]
2905 pub room_name: ::prost::alloc::string::String,
2906 #[prost(enumeration = "EgressSourceType", tag = "26")]
2907 pub source_type: i32,
2908 #[prost(enumeration = "EgressStatus", tag = "3")]
2909 pub status: i32,
2910 #[prost(int64, tag = "10")]
2911 pub started_at: i64,
2912 #[prost(int64, tag = "11")]
2913 pub ended_at: i64,
2914 #[prost(int64, tag = "18")]
2915 pub updated_at: i64,
2916 #[prost(message, repeated, tag = "15")]
2917 pub stream_results: ::prost::alloc::vec::Vec<StreamInfo>,
2918 #[prost(message, repeated, tag = "16")]
2919 pub file_results: ::prost::alloc::vec::Vec<FileInfo>,
2920 #[prost(message, repeated, tag = "17")]
2921 pub segment_results: ::prost::alloc::vec::Vec<SegmentsInfo>,
2922 #[prost(message, repeated, tag = "20")]
2923 pub image_results: ::prost::alloc::vec::Vec<ImagesInfo>,
2924 #[prost(string, tag = "9")]
2925 pub error: ::prost::alloc::string::String,
2926 #[prost(int32, tag = "22")]
2927 pub error_code: i32,
2928 #[prost(string, tag = "21")]
2929 pub details: ::prost::alloc::string::String,
2930 #[prost(string, tag = "23")]
2931 pub manifest_location: ::prost::alloc::string::String,
2932 #[prost(bool, tag = "25")]
2933 pub backup_storage_used: bool,
2934 #[prost(int32, tag = "27")]
2935 pub retry_count: i32,
2936 #[prost(oneof = "egress_info::Request", tags = "29, 30, 4, 14, 19, 5, 6")]
2937 pub request: ::core::option::Option<egress_info::Request>,
2938 #[prost(oneof = "egress_info::Result", tags = "7, 8, 12")]
2942 pub result: ::core::option::Option<egress_info::Result>,
2943}
2944pub mod egress_info {
2946 #[derive(Clone, PartialEq, ::prost::Oneof)]
2947 pub enum Request {
2948 #[prost(message, tag = "29")]
2949 Egress(super::StartEgressRequest),
2950 #[prost(message, tag = "30")]
2951 Replay(super::ExportReplayRequest),
2952 #[prost(message, tag = "4")]
2954 RoomComposite(super::RoomCompositeEgressRequest),
2955 #[prost(message, tag = "14")]
2956 Web(super::WebEgressRequest),
2957 #[prost(message, tag = "19")]
2958 Participant(super::ParticipantEgressRequest),
2959 #[prost(message, tag = "5")]
2960 TrackComposite(super::TrackCompositeEgressRequest),
2961 #[prost(message, tag = "6")]
2962 Track(super::TrackEgressRequest),
2963 }
2964 #[derive(Clone, PartialEq, ::prost::Oneof)]
2968 pub enum Result {
2969 #[deprecated]
2970 #[prost(message, tag = "7")]
2971 Stream(super::StreamInfoList),
2972 #[deprecated]
2973 #[prost(message, tag = "8")]
2974 File(super::FileInfo),
2975 #[deprecated]
2976 #[prost(message, tag = "12")]
2977 Segments(super::SegmentsInfo),
2978 }
2979}
2980#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2981pub struct StreamInfo {
2982 #[prost(string, tag = "1")]
2983 pub url: ::prost::alloc::string::String,
2984 #[prost(int64, tag = "2")]
2985 pub started_at: i64,
2986 #[prost(int64, tag = "3")]
2987 pub ended_at: i64,
2988 #[prost(int64, tag = "4")]
2989 pub duration: i64,
2990 #[prost(enumeration = "stream_info::Status", tag = "5")]
2991 pub status: i32,
2992 #[prost(string, tag = "6")]
2993 pub error: ::prost::alloc::string::String,
2994 #[prost(int64, tag = "7")]
2995 pub last_retry_at: i64,
2996 #[prost(uint32, tag = "8")]
2997 pub retries: u32,
2998 #[prost(string, tag = "9")]
3000 pub id: ::prost::alloc::string::String,
3001}
3002pub mod stream_info {
3004 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3005 #[repr(i32)]
3006 pub enum Status {
3007 Active = 0,
3008 Finished = 1,
3009 Failed = 2,
3010 }
3011 impl Status {
3012 pub fn as_str_name(&self) -> &'static str {
3017 match self {
3018 Self::Active => "ACTIVE",
3019 Self::Finished => "FINISHED",
3020 Self::Failed => "FAILED",
3021 }
3022 }
3023 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3025 match value {
3026 "ACTIVE" => Some(Self::Active),
3027 "FINISHED" => Some(Self::Finished),
3028 "FAILED" => Some(Self::Failed),
3029 _ => None,
3030 }
3031 }
3032 }
3033}
3034#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3035pub struct FileInfo {
3036 #[prost(string, tag = "1")]
3037 pub filename: ::prost::alloc::string::String,
3038 #[prost(int64, tag = "2")]
3039 pub started_at: i64,
3040 #[prost(int64, tag = "3")]
3041 pub ended_at: i64,
3042 #[prost(int64, tag = "6")]
3043 pub duration: i64,
3044 #[prost(int64, tag = "4")]
3045 pub size: i64,
3046 #[prost(string, tag = "5")]
3047 pub location: ::prost::alloc::string::String,
3048}
3049#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3050pub struct SegmentsInfo {
3051 #[prost(string, tag = "1")]
3052 pub playlist_name: ::prost::alloc::string::String,
3053 #[prost(string, tag = "8")]
3054 pub live_playlist_name: ::prost::alloc::string::String,
3055 #[prost(int64, tag = "2")]
3056 pub duration: i64,
3057 #[prost(int64, tag = "3")]
3058 pub size: i64,
3059 #[prost(string, tag = "4")]
3060 pub playlist_location: ::prost::alloc::string::String,
3061 #[prost(string, tag = "9")]
3062 pub live_playlist_location: ::prost::alloc::string::String,
3063 #[prost(int64, tag = "5")]
3064 pub segment_count: i64,
3065 #[prost(int64, tag = "6")]
3066 pub started_at: i64,
3067 #[prost(int64, tag = "7")]
3068 pub ended_at: i64,
3069}
3070#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3071pub struct ImagesInfo {
3072 #[prost(string, tag = "4")]
3073 pub filename_prefix: ::prost::alloc::string::String,
3074 #[prost(int64, tag = "1")]
3075 pub image_count: i64,
3076 #[prost(int64, tag = "2")]
3077 pub started_at: i64,
3078 #[prost(int64, tag = "3")]
3079 pub ended_at: i64,
3080}
3081#[derive(Clone, PartialEq, ::prost::Message)]
3084pub struct AutoParticipantEgress {
3085 #[prost(message, repeated, tag = "3")]
3086 pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
3087 #[prost(message, repeated, tag = "4")]
3088 pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
3089 #[prost(oneof = "auto_participant_egress::Options", tags = "1, 2")]
3090 pub options: ::core::option::Option<auto_participant_egress::Options>,
3091}
3092pub mod auto_participant_egress {
3094 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3095 pub enum Options {
3096 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "1")]
3098 Preset(i32),
3099 #[prost(message, tag = "2")]
3101 Advanced(super::EncodingOptions),
3102 }
3103}
3104#[derive(Clone, PartialEq, ::prost::Message)]
3105pub struct AutoTrackEgress {
3106 #[prost(string, tag = "1")]
3108 pub filepath: ::prost::alloc::string::String,
3109 #[prost(bool, tag = "5")]
3111 pub disable_manifest: bool,
3112 #[prost(oneof = "auto_track_egress::Output", tags = "2, 3, 4, 6")]
3113 pub output: ::core::option::Option<auto_track_egress::Output>,
3114}
3115pub mod auto_track_egress {
3117 #[derive(Clone, PartialEq, ::prost::Oneof)]
3118 pub enum Output {
3119 #[prost(message, tag = "2")]
3120 S3(super::S3Upload),
3121 #[prost(message, tag = "3")]
3122 Gcp(super::GcpUpload),
3123 #[prost(message, tag = "4")]
3124 Azure(super::AzureBlobUpload),
3125 #[prost(message, tag = "6")]
3126 AliOss(super::AliOssUpload),
3127 }
3128}
3129#[derive(Clone, PartialEq, ::prost::Message)]
3132pub struct ExportReplayRequest {
3133 #[prost(string, tag = "1")]
3134 pub replay_id: ::prost::alloc::string::String,
3135 #[prost(int64, tag = "2")]
3136 pub start_offset_ms: i64,
3137 #[prost(int64, tag = "3")]
3138 pub end_offset_ms: i64,
3139 #[prost(message, repeated, tag = "9")]
3140 pub outputs: ::prost::alloc::vec::Vec<Output>,
3141 #[prost(message, optional, tag = "10")]
3142 pub storage: ::core::option::Option<StorageConfig>,
3143 #[prost(message, repeated, tag = "11")]
3144 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3145 #[prost(oneof = "export_replay_request::Source", tags = "4, 5, 6")]
3146 pub source: ::core::option::Option<export_replay_request::Source>,
3147 #[prost(oneof = "export_replay_request::Encoding", tags = "7, 8")]
3148 pub encoding: ::core::option::Option<export_replay_request::Encoding>,
3149}
3150pub mod export_replay_request {
3152 #[derive(Clone, PartialEq, ::prost::Oneof)]
3153 pub enum Source {
3154 #[prost(message, tag = "4")]
3155 Template(super::TemplateSource),
3156 #[prost(message, tag = "5")]
3157 Web(super::WebSource),
3158 #[prost(message, tag = "6")]
3159 Media(super::MediaSource),
3160 }
3161 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3162 pub enum Encoding {
3163 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "7")]
3164 Preset(i32),
3165 #[prost(message, tag = "8")]
3166 Advanced(super::EncodingOptions),
3167 }
3168}
3169#[derive(Clone, PartialEq, ::prost::Message)]
3172pub struct RoomCompositeEgressRequest {
3173 #[prost(string, tag = "1")]
3174 pub room_name: ::prost::alloc::string::String,
3175 #[prost(string, tag = "2")]
3176 pub layout: ::prost::alloc::string::String,
3177 #[prost(bool, tag = "3")]
3178 pub audio_only: bool,
3179 #[prost(enumeration = "AudioMixing", tag = "15")]
3180 pub audio_mixing: i32,
3181 #[prost(bool, tag = "4")]
3182 pub video_only: bool,
3183 #[prost(string, tag = "5")]
3184 pub custom_base_url: ::prost::alloc::string::String,
3185 #[prost(message, repeated, tag = "11")]
3186 pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
3187 #[prost(message, repeated, tag = "12")]
3188 pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
3189 #[prost(message, repeated, tag = "13")]
3190 pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
3191 #[prost(message, repeated, tag = "14")]
3192 pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
3193 #[prost(message, repeated, tag = "16")]
3194 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3195 #[prost(oneof = "room_composite_egress_request::Output", tags = "6, 7, 10")]
3196 pub output: ::core::option::Option<room_composite_egress_request::Output>,
3197 #[prost(oneof = "room_composite_egress_request::Options", tags = "8, 9")]
3198 pub options: ::core::option::Option<room_composite_egress_request::Options>,
3199}
3200pub mod room_composite_egress_request {
3202 #[derive(Clone, PartialEq, ::prost::Oneof)]
3203 pub enum Output {
3204 #[deprecated]
3205 #[prost(message, tag = "6")]
3206 File(super::EncodedFileOutput),
3207 #[deprecated]
3208 #[prost(message, tag = "7")]
3209 Stream(super::StreamOutput),
3210 #[deprecated]
3211 #[prost(message, tag = "10")]
3212 Segments(super::SegmentedFileOutput),
3213 }
3214 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3215 pub enum Options {
3216 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "8")]
3217 Preset(i32),
3218 #[prost(message, tag = "9")]
3219 Advanced(super::EncodingOptions),
3220 }
3221}
3222#[derive(Clone, PartialEq, ::prost::Message)]
3223pub struct WebEgressRequest {
3224 #[prost(string, tag = "1")]
3225 pub url: ::prost::alloc::string::String,
3226 #[prost(bool, tag = "2")]
3227 pub audio_only: bool,
3228 #[prost(bool, tag = "3")]
3229 pub video_only: bool,
3230 #[prost(bool, tag = "12")]
3231 pub await_start_signal: bool,
3232 #[prost(message, repeated, tag = "9")]
3233 pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
3234 #[prost(message, repeated, tag = "10")]
3235 pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
3236 #[prost(message, repeated, tag = "11")]
3237 pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
3238 #[prost(message, repeated, tag = "13")]
3239 pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
3240 #[prost(message, repeated, tag = "14")]
3241 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3242 #[prost(oneof = "web_egress_request::Output", tags = "4, 5, 6")]
3243 pub output: ::core::option::Option<web_egress_request::Output>,
3244 #[prost(oneof = "web_egress_request::Options", tags = "7, 8")]
3245 pub options: ::core::option::Option<web_egress_request::Options>,
3246}
3247pub mod web_egress_request {
3249 #[derive(Clone, PartialEq, ::prost::Oneof)]
3250 pub enum Output {
3251 #[deprecated]
3252 #[prost(message, tag = "4")]
3253 File(super::EncodedFileOutput),
3254 #[deprecated]
3255 #[prost(message, tag = "5")]
3256 Stream(super::StreamOutput),
3257 #[deprecated]
3258 #[prost(message, tag = "6")]
3259 Segments(super::SegmentedFileOutput),
3260 }
3261 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3262 pub enum Options {
3263 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "7")]
3264 Preset(i32),
3265 #[prost(message, tag = "8")]
3266 Advanced(super::EncodingOptions),
3267 }
3268}
3269#[derive(Clone, PartialEq, ::prost::Message)]
3270pub struct ParticipantEgressRequest {
3271 #[prost(string, tag = "1")]
3272 pub room_name: ::prost::alloc::string::String,
3273 #[prost(string, tag = "2")]
3274 pub identity: ::prost::alloc::string::String,
3275 #[prost(bool, tag = "3")]
3276 pub screen_share: bool,
3277 #[prost(message, repeated, tag = "6")]
3278 pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
3279 #[prost(message, repeated, tag = "7")]
3280 pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
3281 #[prost(message, repeated, tag = "8")]
3282 pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
3283 #[prost(message, repeated, tag = "9")]
3284 pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
3285 #[prost(message, repeated, tag = "10")]
3286 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3287 #[prost(oneof = "participant_egress_request::Options", tags = "4, 5")]
3288 pub options: ::core::option::Option<participant_egress_request::Options>,
3289}
3290pub mod participant_egress_request {
3292 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3293 pub enum Options {
3294 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "4")]
3295 Preset(i32),
3296 #[prost(message, tag = "5")]
3297 Advanced(super::EncodingOptions),
3298 }
3299}
3300#[derive(Clone, PartialEq, ::prost::Message)]
3301pub struct TrackCompositeEgressRequest {
3302 #[prost(string, tag = "1")]
3303 pub room_name: ::prost::alloc::string::String,
3304 #[prost(string, tag = "2")]
3305 pub audio_track_id: ::prost::alloc::string::String,
3306 #[prost(string, tag = "3")]
3307 pub video_track_id: ::prost::alloc::string::String,
3308 #[prost(message, repeated, tag = "11")]
3309 pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
3310 #[prost(message, repeated, tag = "12")]
3311 pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
3312 #[prost(message, repeated, tag = "13")]
3313 pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
3314 #[prost(message, repeated, tag = "14")]
3315 pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
3316 #[prost(message, repeated, tag = "15")]
3317 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3318 #[prost(oneof = "track_composite_egress_request::Output", tags = "4, 5, 8")]
3319 pub output: ::core::option::Option<track_composite_egress_request::Output>,
3320 #[prost(oneof = "track_composite_egress_request::Options", tags = "6, 7")]
3321 pub options: ::core::option::Option<track_composite_egress_request::Options>,
3322}
3323pub mod track_composite_egress_request {
3325 #[derive(Clone, PartialEq, ::prost::Oneof)]
3326 pub enum Output {
3327 #[deprecated]
3328 #[prost(message, tag = "4")]
3329 File(super::EncodedFileOutput),
3330 #[deprecated]
3331 #[prost(message, tag = "5")]
3332 Stream(super::StreamOutput),
3333 #[deprecated]
3334 #[prost(message, tag = "8")]
3335 Segments(super::SegmentedFileOutput),
3336 }
3337 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3338 pub enum Options {
3339 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "6")]
3340 Preset(i32),
3341 #[prost(message, tag = "7")]
3342 Advanced(super::EncodingOptions),
3343 }
3344}
3345#[derive(Clone, PartialEq, ::prost::Message)]
3346pub struct TrackEgressRequest {
3347 #[prost(string, tag = "1")]
3348 pub room_name: ::prost::alloc::string::String,
3349 #[prost(string, tag = "2")]
3350 pub track_id: ::prost::alloc::string::String,
3351 #[prost(message, repeated, tag = "5")]
3352 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3353 #[prost(oneof = "track_egress_request::Output", tags = "3, 4")]
3354 pub output: ::core::option::Option<track_egress_request::Output>,
3355}
3356pub mod track_egress_request {
3358 #[derive(Clone, PartialEq, ::prost::Oneof)]
3359 pub enum Output {
3360 #[prost(message, tag = "3")]
3361 File(super::DirectFileOutput),
3362 #[prost(string, tag = "4")]
3363 WebsocketUrl(::prost::alloc::string::String),
3364 }
3365}
3366#[derive(Clone, PartialEq, ::prost::Message)]
3367pub struct DirectFileOutput {
3368 #[prost(string, tag = "1")]
3369 pub filepath: ::prost::alloc::string::String,
3370 #[prost(bool, tag = "5")]
3371 pub disable_manifest: bool,
3372 #[prost(oneof = "direct_file_output::Output", tags = "2, 3, 4, 6")]
3373 pub output: ::core::option::Option<direct_file_output::Output>,
3374}
3375pub mod direct_file_output {
3377 #[derive(Clone, PartialEq, ::prost::Oneof)]
3378 pub enum Output {
3379 #[prost(message, tag = "2")]
3380 S3(super::S3Upload),
3381 #[prost(message, tag = "3")]
3382 Gcp(super::GcpUpload),
3383 #[prost(message, tag = "4")]
3384 Azure(super::AzureBlobUpload),
3385 #[prost(message, tag = "6")]
3386 AliOss(super::AliOssUpload),
3387 }
3388}
3389#[derive(Clone, PartialEq, ::prost::Message)]
3390pub struct EncodedFileOutput {
3391 #[prost(enumeration = "EncodedFileType", tag = "1")]
3392 pub file_type: i32,
3393 #[prost(string, tag = "2")]
3394 pub filepath: ::prost::alloc::string::String,
3395 #[prost(bool, tag = "6")]
3396 pub disable_manifest: bool,
3397 #[prost(oneof = "encoded_file_output::Output", tags = "3, 4, 5, 7")]
3398 pub output: ::core::option::Option<encoded_file_output::Output>,
3399}
3400pub mod encoded_file_output {
3402 #[derive(Clone, PartialEq, ::prost::Oneof)]
3403 pub enum Output {
3404 #[prost(message, tag = "3")]
3405 S3(super::S3Upload),
3406 #[prost(message, tag = "4")]
3407 Gcp(super::GcpUpload),
3408 #[prost(message, tag = "5")]
3409 Azure(super::AzureBlobUpload),
3410 #[prost(message, tag = "7")]
3411 AliOss(super::AliOssUpload),
3412 }
3413}
3414#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3415pub struct UpdateLayoutRequest {
3416 #[prost(string, tag = "1")]
3417 pub egress_id: ::prost::alloc::string::String,
3418 #[prost(string, tag = "2")]
3419 pub layout: ::prost::alloc::string::String,
3420}
3421#[derive(Clone, PartialEq, ::prost::Message)]
3422pub struct UpdateStreamRequest {
3423 #[prost(string, tag = "1")]
3424 pub egress_id: ::prost::alloc::string::String,
3425 #[prost(string, repeated, tag = "2")]
3426 pub add_output_urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3427 #[prost(string, repeated, tag = "3")]
3428 pub remove_output_urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3429 #[prost(message, repeated, tag = "4")]
3430 pub add_destinations: ::prost::alloc::vec::Vec<StreamDestination>,
3431}
3432#[derive(Clone, PartialEq, ::prost::Message)]
3433pub struct StreamInfoList {
3434 #[prost(message, repeated, tag = "1")]
3435 pub info: ::prost::alloc::vec::Vec<StreamInfo>,
3436}
3437#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3438#[repr(i32)]
3439pub enum AudioChannel {
3440 Both = 0,
3441 Left = 1,
3442 Right = 2,
3443}
3444impl AudioChannel {
3445 pub fn as_str_name(&self) -> &'static str {
3450 match self {
3451 Self::Both => "AUDIO_CHANNEL_BOTH",
3452 Self::Left => "AUDIO_CHANNEL_LEFT",
3453 Self::Right => "AUDIO_CHANNEL_RIGHT",
3454 }
3455 }
3456 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3458 match value {
3459 "AUDIO_CHANNEL_BOTH" => Some(Self::Both),
3460 "AUDIO_CHANNEL_LEFT" => Some(Self::Left),
3461 "AUDIO_CHANNEL_RIGHT" => Some(Self::Right),
3462 _ => None,
3463 }
3464 }
3465}
3466#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3469#[repr(i32)]
3470pub enum EncodingOptionsPreset {
3471 H264720p30 = 0,
3473 H264720p60 = 1,
3475 H2641080p30 = 2,
3477 H2641080p60 = 3,
3479 PortraitH264720p30 = 4,
3481 PortraitH264720p60 = 5,
3483 PortraitH2641080p30 = 6,
3485 PortraitH2641080p60 = 7,
3487 Passthrough = 8,
3489}
3490impl EncodingOptionsPreset {
3491 pub fn as_str_name(&self) -> &'static str {
3496 match self {
3497 Self::H264720p30 => "H264_720P_30",
3498 Self::H264720p60 => "H264_720P_60",
3499 Self::H2641080p30 => "H264_1080P_30",
3500 Self::H2641080p60 => "H264_1080P_60",
3501 Self::PortraitH264720p30 => "PORTRAIT_H264_720P_30",
3502 Self::PortraitH264720p60 => "PORTRAIT_H264_720P_60",
3503 Self::PortraitH2641080p30 => "PORTRAIT_H264_1080P_30",
3504 Self::PortraitH2641080p60 => "PORTRAIT_H264_1080P_60",
3505 Self::Passthrough => "PASSTHROUGH",
3506 }
3507 }
3508 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3510 match value {
3511 "H264_720P_30" => Some(Self::H264720p30),
3512 "H264_720P_60" => Some(Self::H264720p60),
3513 "H264_1080P_30" => Some(Self::H2641080p30),
3514 "H264_1080P_60" => Some(Self::H2641080p60),
3515 "PORTRAIT_H264_720P_30" => Some(Self::PortraitH264720p30),
3516 "PORTRAIT_H264_720P_60" => Some(Self::PortraitH264720p60),
3517 "PORTRAIT_H264_1080P_30" => Some(Self::PortraitH2641080p30),
3518 "PORTRAIT_H264_1080P_60" => Some(Self::PortraitH2641080p60),
3519 "PASSTHROUGH" => Some(Self::Passthrough),
3520 _ => None,
3521 }
3522 }
3523}
3524#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3525#[repr(i32)]
3526pub enum EncodedFileType {
3527 DefaultFiletype = 0,
3529 Mp4 = 1,
3530 Ogg = 2,
3531 Mp3 = 3,
3532 Mcap = 4,
3534}
3535impl EncodedFileType {
3536 pub fn as_str_name(&self) -> &'static str {
3541 match self {
3542 Self::DefaultFiletype => "DEFAULT_FILETYPE",
3543 Self::Mp4 => "MP4",
3544 Self::Ogg => "OGG",
3545 Self::Mp3 => "MP3",
3546 Self::Mcap => "MCAP",
3547 }
3548 }
3549 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3551 match value {
3552 "DEFAULT_FILETYPE" => Some(Self::DefaultFiletype),
3553 "MP4" => Some(Self::Mp4),
3554 "OGG" => Some(Self::Ogg),
3555 "MP3" => Some(Self::Mp3),
3556 "MCAP" => Some(Self::Mcap),
3557 _ => None,
3558 }
3559 }
3560}
3561#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3562#[repr(i32)]
3563pub enum StreamProtocol {
3564 DefaultProtocol = 0,
3566 Rtmp = 1,
3567 Srt = 2,
3568 Websocket = 3,
3569}
3570impl StreamProtocol {
3571 pub fn as_str_name(&self) -> &'static str {
3576 match self {
3577 Self::DefaultProtocol => "DEFAULT_PROTOCOL",
3578 Self::Rtmp => "RTMP",
3579 Self::Srt => "SRT",
3580 Self::Websocket => "WEBSOCKET",
3581 }
3582 }
3583 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3585 match value {
3586 "DEFAULT_PROTOCOL" => Some(Self::DefaultProtocol),
3587 "RTMP" => Some(Self::Rtmp),
3588 "SRT" => Some(Self::Srt),
3589 "WEBSOCKET" => Some(Self::Websocket),
3590 _ => None,
3591 }
3592 }
3593}
3594#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3595#[repr(i32)]
3596pub enum SegmentedFileProtocol {
3597 DefaultSegmentedFileProtocol = 0,
3598 HlsProtocol = 1,
3600 HlsFmp4Protocol = 2,
3602}
3603impl SegmentedFileProtocol {
3604 pub fn as_str_name(&self) -> &'static str {
3609 match self {
3610 Self::DefaultSegmentedFileProtocol => "DEFAULT_SEGMENTED_FILE_PROTOCOL",
3611 Self::HlsProtocol => "HLS_PROTOCOL",
3612 Self::HlsFmp4Protocol => "HLS_FMP4_PROTOCOL",
3613 }
3614 }
3615 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3617 match value {
3618 "DEFAULT_SEGMENTED_FILE_PROTOCOL" => Some(Self::DefaultSegmentedFileProtocol),
3619 "HLS_PROTOCOL" => Some(Self::HlsProtocol),
3620 "HLS_FMP4_PROTOCOL" => Some(Self::HlsFmp4Protocol),
3621 _ => None,
3622 }
3623 }
3624}
3625#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3626#[repr(i32)]
3627pub enum SegmentedFileSuffix {
3628 Index = 0,
3629 Timestamp = 1,
3630}
3631impl SegmentedFileSuffix {
3632 pub fn as_str_name(&self) -> &'static str {
3637 match self {
3638 Self::Index => "INDEX",
3639 Self::Timestamp => "TIMESTAMP",
3640 }
3641 }
3642 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3644 match value {
3645 "INDEX" => Some(Self::Index),
3646 "TIMESTAMP" => Some(Self::Timestamp),
3647 _ => None,
3648 }
3649 }
3650}
3651#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3652#[repr(i32)]
3653pub enum ImageFileSuffix {
3654 ImageSuffixIndex = 0,
3655 ImageSuffixTimestamp = 1,
3656 ImageSuffixNoneOverwrite = 2,
3658}
3659impl ImageFileSuffix {
3660 pub fn as_str_name(&self) -> &'static str {
3665 match self {
3666 Self::ImageSuffixIndex => "IMAGE_SUFFIX_INDEX",
3667 Self::ImageSuffixTimestamp => "IMAGE_SUFFIX_TIMESTAMP",
3668 Self::ImageSuffixNoneOverwrite => "IMAGE_SUFFIX_NONE_OVERWRITE",
3669 }
3670 }
3671 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3673 match value {
3674 "IMAGE_SUFFIX_INDEX" => Some(Self::ImageSuffixIndex),
3675 "IMAGE_SUFFIX_TIMESTAMP" => Some(Self::ImageSuffixTimestamp),
3676 "IMAGE_SUFFIX_NONE_OVERWRITE" => Some(Self::ImageSuffixNoneOverwrite),
3677 _ => None,
3678 }
3679 }
3680}
3681#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3682#[repr(i32)]
3683pub enum EgressSourceType {
3684 Web = 0,
3685 Sdk = 1,
3686}
3687impl EgressSourceType {
3688 pub fn as_str_name(&self) -> &'static str {
3693 match self {
3694 Self::Web => "EGRESS_SOURCE_TYPE_WEB",
3695 Self::Sdk => "EGRESS_SOURCE_TYPE_SDK",
3696 }
3697 }
3698 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3700 match value {
3701 "EGRESS_SOURCE_TYPE_WEB" => Some(Self::Web),
3702 "EGRESS_SOURCE_TYPE_SDK" => Some(Self::Sdk),
3703 _ => None,
3704 }
3705 }
3706}
3707#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3708#[repr(i32)]
3709pub enum EgressStatus {
3710 EgressStarting = 0,
3711 EgressActive = 1,
3712 EgressEnding = 2,
3713 EgressComplete = 3,
3714 EgressFailed = 4,
3715 EgressAborted = 5,
3716 EgressLimitReached = 6,
3717}
3718impl EgressStatus {
3719 pub fn as_str_name(&self) -> &'static str {
3724 match self {
3725 Self::EgressStarting => "EGRESS_STARTING",
3726 Self::EgressActive => "EGRESS_ACTIVE",
3727 Self::EgressEnding => "EGRESS_ENDING",
3728 Self::EgressComplete => "EGRESS_COMPLETE",
3729 Self::EgressFailed => "EGRESS_FAILED",
3730 Self::EgressAborted => "EGRESS_ABORTED",
3731 Self::EgressLimitReached => "EGRESS_LIMIT_REACHED",
3732 }
3733 }
3734 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3736 match value {
3737 "EGRESS_STARTING" => Some(Self::EgressStarting),
3738 "EGRESS_ACTIVE" => Some(Self::EgressActive),
3739 "EGRESS_ENDING" => Some(Self::EgressEnding),
3740 "EGRESS_COMPLETE" => Some(Self::EgressComplete),
3741 "EGRESS_FAILED" => Some(Self::EgressFailed),
3742 "EGRESS_ABORTED" => Some(Self::EgressAborted),
3743 "EGRESS_LIMIT_REACHED" => Some(Self::EgressLimitReached),
3744 _ => None,
3745 }
3746 }
3747}
3748#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3749#[repr(i32)]
3750pub enum AudioMixing {
3751 DefaultMixing = 0,
3752 DualChannelAgent = 1,
3753 DualChannelAlternate = 2,
3754}
3755impl AudioMixing {
3756 pub fn as_str_name(&self) -> &'static str {
3761 match self {
3762 Self::DefaultMixing => "DEFAULT_MIXING",
3763 Self::DualChannelAgent => "DUAL_CHANNEL_AGENT",
3764 Self::DualChannelAlternate => "DUAL_CHANNEL_ALTERNATE",
3765 }
3766 }
3767 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3769 match value {
3770 "DEFAULT_MIXING" => Some(Self::DefaultMixing),
3771 "DUAL_CHANNEL_AGENT" => Some(Self::DualChannelAgent),
3772 "DUAL_CHANNEL_ALTERNATE" => Some(Self::DualChannelAlternate),
3773 _ => None,
3774 }
3775 }
3776}
3777#[derive(Clone, PartialEq, ::prost::Message)]
3778pub struct SignalRequest {
3779 #[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")]
3780 pub message: ::core::option::Option<signal_request::Message>,
3781}
3782pub mod signal_request {
3784 #[derive(Clone, PartialEq, ::prost::Oneof)]
3785 pub enum Message {
3786 #[prost(message, tag = "1")]
3788 Offer(super::SessionDescription),
3789 #[prost(message, tag = "2")]
3791 Answer(super::SessionDescription),
3792 #[prost(message, tag = "3")]
3793 Trickle(super::TrickleRequest),
3794 #[prost(message, tag = "4")]
3795 AddTrack(super::AddTrackRequest),
3796 #[prost(message, tag = "5")]
3798 Mute(super::MuteTrackRequest),
3799 #[prost(message, tag = "6")]
3801 Subscription(super::UpdateSubscription),
3802 #[prost(message, tag = "7")]
3804 TrackSetting(super::UpdateTrackSettings),
3805 #[prost(message, tag = "8")]
3807 Leave(super::LeaveRequest),
3808 #[deprecated]
3810 #[prost(message, tag = "10")]
3811 UpdateLayers(super::UpdateVideoLayers),
3812 #[prost(message, tag = "11")]
3814 SubscriptionPermission(super::SubscriptionPermission),
3815 #[prost(message, tag = "12")]
3817 SyncState(super::SyncState),
3818 #[prost(message, tag = "13")]
3820 Simulate(super::SimulateScenario),
3821 #[prost(int64, tag = "14")]
3825 Ping(i64),
3826 #[prost(message, tag = "15")]
3829 UpdateMetadata(super::UpdateParticipantMetadata),
3830 #[prost(message, tag = "16")]
3831 PingReq(super::Ping),
3832 #[prost(message, tag = "17")]
3834 UpdateAudioTrack(super::UpdateLocalAudioTrack),
3835 #[prost(message, tag = "18")]
3837 UpdateVideoTrack(super::UpdateLocalVideoTrack),
3838 #[prost(message, tag = "19")]
3840 PublishDataTrackRequest(super::PublishDataTrackRequest),
3841 #[prost(message, tag = "20")]
3843 UnpublishDataTrackRequest(super::UnpublishDataTrackRequest),
3844 #[prost(message, tag = "21")]
3846 UpdateDataSubscription(super::UpdateDataSubscription),
3847 #[prost(message, tag = "22")]
3849 StoreDataBlobRequest(super::StoreDataBlobRequest),
3850 #[prost(message, tag = "23")]
3852 GetDataBlobRequest(super::GetDataBlobRequest),
3853 }
3854}
3855#[derive(Clone, PartialEq, ::prost::Message)]
3856pub struct SignalResponse {
3857 #[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")]
3858 pub message: ::core::option::Option<signal_response::Message>,
3859}
3860pub mod signal_response {
3862 #[derive(Clone, PartialEq, ::prost::Oneof)]
3863 pub enum Message {
3864 #[prost(message, tag = "1")]
3866 Join(super::JoinResponse),
3867 #[prost(message, tag = "2")]
3869 Answer(super::SessionDescription),
3870 #[prost(message, tag = "3")]
3872 Offer(super::SessionDescription),
3873 #[prost(message, tag = "4")]
3875 Trickle(super::TrickleRequest),
3876 #[prost(message, tag = "5")]
3878 Update(super::ParticipantUpdate),
3879 #[prost(message, tag = "6")]
3881 TrackPublished(super::TrackPublishedResponse),
3882 #[prost(message, tag = "8")]
3884 Leave(super::LeaveRequest),
3885 #[prost(message, tag = "9")]
3887 Mute(super::MuteTrackRequest),
3888 #[prost(message, tag = "10")]
3890 SpeakersChanged(super::SpeakersChanged),
3891 #[prost(message, tag = "11")]
3893 RoomUpdate(super::RoomUpdate),
3894 #[prost(message, tag = "12")]
3896 ConnectionQuality(super::ConnectionQualityUpdate),
3897 #[prost(message, tag = "13")]
3900 StreamStateUpdate(super::StreamStateUpdate),
3901 #[prost(message, tag = "14")]
3903 SubscribedQualityUpdate(super::SubscribedQualityUpdate),
3904 #[prost(message, tag = "15")]
3906 SubscriptionPermissionUpdate(super::SubscriptionPermissionUpdate),
3907 #[prost(string, tag = "16")]
3909 RefreshToken(::prost::alloc::string::String),
3910 #[prost(message, tag = "17")]
3912 TrackUnpublished(super::TrackUnpublishedResponse),
3913 #[prost(int64, tag = "18")]
3917 Pong(i64),
3918 #[prost(message, tag = "19")]
3920 Reconnect(super::ReconnectResponse),
3921 #[prost(message, tag = "20")]
3923 PongResp(super::Pong),
3924 #[prost(message, tag = "21")]
3926 SubscriptionResponse(super::SubscriptionResponse),
3927 #[prost(message, tag = "22")]
3929 RequestResponse(super::RequestResponse),
3930 #[prost(message, tag = "23")]
3932 TrackSubscribed(super::TrackSubscribed),
3933 #[prost(message, tag = "24")]
3935 RoomMoved(super::RoomMovedResponse),
3936 #[prost(message, tag = "25")]
3938 MediaSectionsRequirement(super::MediaSectionsRequirement),
3939 #[prost(message, tag = "26")]
3941 SubscribedAudioCodecUpdate(super::SubscribedAudioCodecUpdate),
3942 #[prost(message, tag = "27")]
3944 PublishDataTrackResponse(super::PublishDataTrackResponse),
3945 #[prost(message, tag = "28")]
3947 UnpublishDataTrackResponse(super::UnpublishDataTrackResponse),
3948 #[prost(message, tag = "29")]
3950 DataTrackSubscriberHandles(super::DataTrackSubscriberHandles),
3951 #[prost(message, tag = "30")]
3953 StoreDataBlobResponse(super::StoreDataBlobResponse),
3954 #[prost(message, tag = "31")]
3956 GetDataBlobResponse(super::GetDataBlobResponse),
3957 }
3958}
3959#[derive(Clone, PartialEq, ::prost::Message)]
3960pub struct SimulcastCodec {
3961 #[prost(string, tag = "1")]
3962 pub codec: ::prost::alloc::string::String,
3963 #[prost(string, tag = "2")]
3964 pub cid: ::prost::alloc::string::String,
3965 #[prost(message, repeated, tag = "4")]
3966 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
3967 #[prost(enumeration = "video_layer::Mode", tag = "5")]
3968 pub video_layer_mode: i32,
3969}
3970#[derive(Clone, PartialEq, ::prost::Message)]
3971pub struct AddTrackRequest {
3972 #[prost(string, tag = "1")]
3974 pub cid: ::prost::alloc::string::String,
3975 #[prost(string, tag = "2")]
3976 pub name: ::prost::alloc::string::String,
3977 #[prost(enumeration = "TrackType", tag = "3")]
3978 pub r#type: i32,
3979 #[prost(uint32, tag = "4")]
3980 pub width: u32,
3981 #[prost(uint32, tag = "5")]
3982 pub height: u32,
3983 #[prost(bool, tag = "6")]
3985 pub muted: bool,
3986 #[deprecated]
3990 #[prost(bool, tag = "7")]
3991 pub disable_dtx: bool,
3992 #[prost(enumeration = "TrackSource", tag = "8")]
3993 pub source: i32,
3994 #[prost(message, repeated, tag = "9")]
3995 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
3996 #[prost(message, repeated, tag = "10")]
3997 pub simulcast_codecs: ::prost::alloc::vec::Vec<SimulcastCodec>,
3998 #[prost(string, tag = "11")]
4000 pub sid: ::prost::alloc::string::String,
4001 #[deprecated]
4003 #[prost(bool, tag = "12")]
4004 pub stereo: bool,
4005 #[prost(bool, tag = "13")]
4007 pub disable_red: bool,
4008 #[prost(enumeration = "encryption::Type", tag = "14")]
4009 pub encryption: i32,
4010 #[prost(string, tag = "15")]
4013 pub stream: ::prost::alloc::string::String,
4014 #[prost(enumeration = "BackupCodecPolicy", tag = "16")]
4015 pub backup_codec_policy: i32,
4016 #[prost(enumeration = "AudioTrackFeature", repeated, tag = "17")]
4017 pub audio_features: ::prost::alloc::vec::Vec<i32>,
4018 #[prost(enumeration = "PacketTrailerFeature", repeated, tag = "18")]
4019 pub packet_trailer_features: ::prost::alloc::vec::Vec<i32>,
4020}
4021#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4022pub struct PublishDataTrackRequest {
4023 #[prost(uint32, tag = "1")]
4026 pub pub_handle: u32,
4027 #[prost(string, tag = "2")]
4030 pub name: ::prost::alloc::string::String,
4031 #[prost(enumeration = "encryption::Type", tag = "3")]
4033 pub encryption: i32,
4034 #[prost(message, optional, tag = "4")]
4036 pub frame_encoding: ::core::option::Option<DataTrackFrameEncoding>,
4037 #[prost(message, optional, tag = "5")]
4040 pub schema: ::core::option::Option<DataTrackSchemaId>,
4041}
4042#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4043pub struct PublishDataTrackResponse {
4044 #[prost(message, optional, tag = "1")]
4046 pub info: ::core::option::Option<DataTrackInfo>,
4047}
4048#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4049pub struct UnpublishDataTrackRequest {
4050 #[prost(uint32, tag = "1")]
4052 pub pub_handle: u32,
4053}
4054#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4055pub struct UnpublishDataTrackResponse {
4056 #[prost(message, optional, tag = "1")]
4058 pub info: ::core::option::Option<DataTrackInfo>,
4059}
4060#[derive(Clone, PartialEq, ::prost::Message)]
4061pub struct DataTrackSubscriberHandles {
4062 #[prost(map = "uint32, message", tag = "1")]
4064 pub sub_handles: ::std::collections::HashMap<u32, data_track_subscriber_handles::PublishedDataTrack>,
4065}
4066pub mod data_track_subscriber_handles {
4068 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4069 pub struct PublishedDataTrack {
4070 #[prost(string, tag = "1")]
4071 pub publisher_identity: ::prost::alloc::string::String,
4072 #[prost(string, tag = "2")]
4073 pub publisher_sid: ::prost::alloc::string::String,
4074 #[prost(string, tag = "3")]
4075 pub track_sid: ::prost::alloc::string::String,
4076 }
4077}
4078#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4079pub struct TrickleRequest {
4080 #[prost(string, tag = "1")]
4081 pub candidate_init: ::prost::alloc::string::String,
4082 #[prost(enumeration = "SignalTarget", tag = "2")]
4083 pub target: i32,
4084 #[prost(bool, tag = "3")]
4085 pub r#final: bool,
4086}
4087#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4088pub struct MuteTrackRequest {
4089 #[prost(string, tag = "1")]
4090 pub sid: ::prost::alloc::string::String,
4091 #[prost(bool, tag = "2")]
4092 pub muted: bool,
4093}
4094#[derive(Clone, PartialEq, ::prost::Message)]
4095pub struct JoinResponse {
4096 #[prost(message, optional, tag = "1")]
4097 pub room: ::core::option::Option<Room>,
4098 #[prost(message, optional, tag = "2")]
4099 pub participant: ::core::option::Option<ParticipantInfo>,
4100 #[prost(message, repeated, tag = "3")]
4101 pub other_participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
4102 #[prost(string, tag = "4")]
4104 pub server_version: ::prost::alloc::string::String,
4105 #[prost(message, repeated, tag = "5")]
4106 pub ice_servers: ::prost::alloc::vec::Vec<IceServer>,
4107 #[prost(bool, tag = "6")]
4109 pub subscriber_primary: bool,
4110 #[prost(string, tag = "7")]
4113 pub alternative_url: ::prost::alloc::string::String,
4114 #[prost(message, optional, tag = "8")]
4115 pub client_configuration: ::core::option::Option<ClientConfiguration>,
4116 #[prost(string, tag = "9")]
4118 pub server_region: ::prost::alloc::string::String,
4119 #[prost(int32, tag = "10")]
4120 pub ping_timeout: i32,
4121 #[prost(int32, tag = "11")]
4122 pub ping_interval: i32,
4123 #[prost(message, optional, tag = "12")]
4124 pub server_info: ::core::option::Option<ServerInfo>,
4125 #[prost(bytes = "vec", tag = "13")]
4127 pub sif_trailer: ::prost::alloc::vec::Vec<u8>,
4128 #[prost(message, repeated, tag = "14")]
4129 pub enabled_publish_codecs: ::prost::alloc::vec::Vec<Codec>,
4130 #[prost(bool, tag = "15")]
4132 pub fast_publish: bool,
4133}
4134#[derive(Clone, PartialEq, ::prost::Message)]
4135pub struct ReconnectResponse {
4136 #[prost(message, repeated, tag = "1")]
4137 pub ice_servers: ::prost::alloc::vec::Vec<IceServer>,
4138 #[prost(message, optional, tag = "2")]
4139 pub client_configuration: ::core::option::Option<ClientConfiguration>,
4140 #[prost(message, optional, tag = "3")]
4141 pub server_info: ::core::option::Option<ServerInfo>,
4142 #[prost(uint32, tag = "4")]
4144 pub last_message_seq: u32,
4145}
4146#[derive(Clone, PartialEq, ::prost::Message)]
4147pub struct TrackPublishedResponse {
4148 #[prost(string, tag = "1")]
4149 pub cid: ::prost::alloc::string::String,
4150 #[prost(message, optional, tag = "2")]
4151 pub track: ::core::option::Option<TrackInfo>,
4152}
4153#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4154pub struct TrackUnpublishedResponse {
4155 #[prost(string, tag = "1")]
4156 pub track_sid: ::prost::alloc::string::String,
4157}
4158#[derive(Clone, PartialEq, ::prost::Message)]
4159pub struct SessionDescription {
4160 #[prost(string, tag = "1")]
4162 pub r#type: ::prost::alloc::string::String,
4163 #[prost(string, tag = "2")]
4164 pub sdp: ::prost::alloc::string::String,
4165 #[prost(uint32, tag = "3")]
4166 pub id: u32,
4167 #[prost(map = "string, string", tag = "4")]
4168 pub mid_to_track_id: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
4169}
4170#[derive(Clone, PartialEq, ::prost::Message)]
4171pub struct ParticipantUpdate {
4172 #[prost(message, repeated, tag = "1")]
4173 pub participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
4174}
4175#[derive(Clone, PartialEq, ::prost::Message)]
4176pub struct UpdateSubscription {
4177 #[prost(string, repeated, tag = "1")]
4178 pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4179 #[prost(bool, tag = "2")]
4180 pub subscribe: bool,
4181 #[prost(message, repeated, tag = "3")]
4182 pub participant_tracks: ::prost::alloc::vec::Vec<ParticipantTracks>,
4183}
4184#[derive(Clone, PartialEq, ::prost::Message)]
4185pub struct UpdateDataSubscription {
4186 #[prost(message, repeated, tag = "1")]
4187 pub updates: ::prost::alloc::vec::Vec<update_data_subscription::Update>,
4188}
4189pub mod update_data_subscription {
4191 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4192 pub struct Update {
4193 #[prost(string, tag = "1")]
4194 pub track_sid: ::prost::alloc::string::String,
4195 #[prost(bool, tag = "2")]
4196 pub subscribe: bool,
4197 #[prost(message, optional, tag = "3")]
4200 pub options: ::core::option::Option<super::DataTrackSubscriptionOptions>,
4201 }
4202}
4203#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4204pub struct StoreDataBlobRequest {
4205 #[prost(uint32, tag = "1")]
4206 pub request_id: u32,
4207 #[prost(message, optional, tag = "2")]
4208 pub blob: ::core::option::Option<DataBlob>,
4209}
4210#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4211pub struct StoreDataBlobResponse {
4212 #[prost(uint32, tag = "1")]
4213 pub request_id: u32,
4214 #[prost(message, optional, tag = "2")]
4216 pub key: ::core::option::Option<DataBlobKey>,
4217}
4218#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4219pub struct GetDataBlobRequest {
4220 #[prost(uint32, tag = "1")]
4221 pub request_id: u32,
4222 #[prost(string, tag = "2")]
4224 pub participant_identity: ::prost::alloc::string::String,
4225 #[prost(message, optional, tag = "3")]
4227 pub key: ::core::option::Option<DataBlobKey>,
4228}
4229#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4230pub struct GetDataBlobResponse {
4231 #[prost(uint32, tag = "1")]
4232 pub request_id: u32,
4233 #[prost(message, optional, tag = "2")]
4234 pub blob: ::core::option::Option<DataBlob>,
4235}
4236#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4237pub struct UpdateTrackSettings {
4238 #[prost(string, repeated, tag = "1")]
4239 pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4240 #[prost(bool, tag = "3")]
4242 pub disabled: bool,
4243 #[prost(enumeration = "VideoQuality", tag = "4")]
4245 pub quality: i32,
4246 #[prost(uint32, tag = "5")]
4248 pub width: u32,
4249 #[prost(uint32, tag = "6")]
4251 pub height: u32,
4252 #[prost(uint32, tag = "7")]
4253 pub fps: u32,
4254 #[prost(uint32, tag = "8")]
4262 pub priority: u32,
4263}
4264#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4265pub struct UpdateLocalAudioTrack {
4266 #[prost(string, tag = "1")]
4267 pub track_sid: ::prost::alloc::string::String,
4268 #[prost(enumeration = "AudioTrackFeature", repeated, tag = "2")]
4269 pub features: ::prost::alloc::vec::Vec<i32>,
4270}
4271#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4272pub struct UpdateLocalVideoTrack {
4273 #[prost(string, tag = "1")]
4274 pub track_sid: ::prost::alloc::string::String,
4275 #[prost(uint32, tag = "2")]
4276 pub width: u32,
4277 #[prost(uint32, tag = "3")]
4278 pub height: u32,
4279}
4280#[derive(Clone, PartialEq, ::prost::Message)]
4281pub struct LeaveRequest {
4282 #[prost(bool, tag = "1")]
4286 pub can_reconnect: bool,
4287 #[prost(enumeration = "DisconnectReason", tag = "2")]
4288 pub reason: i32,
4289 #[prost(enumeration = "leave_request::Action", tag = "3")]
4290 pub action: i32,
4291 #[prost(message, optional, tag = "4")]
4292 pub regions: ::core::option::Option<RegionSettings>,
4293}
4294pub mod leave_request {
4296 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4298 #[repr(i32)]
4299 pub enum Action {
4300 Disconnect = 0,
4302 Resume = 1,
4304 Reconnect = 2,
4306 }
4307 impl Action {
4308 pub fn as_str_name(&self) -> &'static str {
4313 match self {
4314 Self::Disconnect => "DISCONNECT",
4315 Self::Resume => "RESUME",
4316 Self::Reconnect => "RECONNECT",
4317 }
4318 }
4319 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4321 match value {
4322 "DISCONNECT" => Some(Self::Disconnect),
4323 "RESUME" => Some(Self::Resume),
4324 "RECONNECT" => Some(Self::Reconnect),
4325 _ => None,
4326 }
4327 }
4328 }
4329}
4330#[derive(Clone, PartialEq, ::prost::Message)]
4332pub struct UpdateVideoLayers {
4333 #[prost(string, tag = "1")]
4334 pub track_sid: ::prost::alloc::string::String,
4335 #[prost(message, repeated, tag = "2")]
4336 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
4337}
4338#[derive(Clone, PartialEq, ::prost::Message)]
4339pub struct UpdateParticipantMetadata {
4340 #[prost(string, tag = "1")]
4341 pub metadata: ::prost::alloc::string::String,
4342 #[prost(string, tag = "2")]
4343 pub name: ::prost::alloc::string::String,
4344 #[prost(map = "string, string", tag = "3")]
4347 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
4348 #[prost(uint32, tag = "4")]
4349 pub request_id: u32,
4350}
4351#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4352pub struct IceServer {
4353 #[prost(string, repeated, tag = "1")]
4354 pub urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4355 #[prost(string, tag = "2")]
4356 pub username: ::prost::alloc::string::String,
4357 #[prost(string, tag = "3")]
4358 pub credential: ::prost::alloc::string::String,
4359}
4360#[derive(Clone, PartialEq, ::prost::Message)]
4361pub struct SpeakersChanged {
4362 #[prost(message, repeated, tag = "1")]
4363 pub speakers: ::prost::alloc::vec::Vec<SpeakerInfo>,
4364}
4365#[derive(Clone, PartialEq, ::prost::Message)]
4366pub struct RoomUpdate {
4367 #[prost(message, optional, tag = "1")]
4368 pub room: ::core::option::Option<Room>,
4369}
4370#[derive(Clone, PartialEq, ::prost::Message)]
4371pub struct ConnectionQualityInfo {
4372 #[prost(string, tag = "1")]
4373 pub participant_sid: ::prost::alloc::string::String,
4374 #[prost(enumeration = "ConnectionQuality", tag = "2")]
4375 pub quality: i32,
4376 #[prost(float, tag = "3")]
4377 pub score: f32,
4378}
4379#[derive(Clone, PartialEq, ::prost::Message)]
4380pub struct ConnectionQualityUpdate {
4381 #[prost(message, repeated, tag = "1")]
4382 pub updates: ::prost::alloc::vec::Vec<ConnectionQualityInfo>,
4383}
4384#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4385pub struct StreamStateInfo {
4386 #[prost(string, tag = "1")]
4387 pub participant_sid: ::prost::alloc::string::String,
4388 #[prost(string, tag = "2")]
4389 pub track_sid: ::prost::alloc::string::String,
4390 #[prost(enumeration = "StreamState", tag = "3")]
4391 pub state: i32,
4392}
4393#[derive(Clone, PartialEq, ::prost::Message)]
4394pub struct StreamStateUpdate {
4395 #[prost(message, repeated, tag = "1")]
4396 pub stream_states: ::prost::alloc::vec::Vec<StreamStateInfo>,
4397}
4398#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4399pub struct SubscribedQuality {
4400 #[prost(enumeration = "VideoQuality", tag = "1")]
4401 pub quality: i32,
4402 #[prost(bool, tag = "2")]
4403 pub enabled: bool,
4404}
4405#[derive(Clone, PartialEq, ::prost::Message)]
4406pub struct SubscribedCodec {
4407 #[prost(string, tag = "1")]
4408 pub codec: ::prost::alloc::string::String,
4409 #[prost(message, repeated, tag = "2")]
4410 pub qualities: ::prost::alloc::vec::Vec<SubscribedQuality>,
4411}
4412#[derive(Clone, PartialEq, ::prost::Message)]
4413pub struct SubscribedQualityUpdate {
4414 #[prost(string, tag = "1")]
4415 pub track_sid: ::prost::alloc::string::String,
4416 #[deprecated]
4417 #[prost(message, repeated, tag = "2")]
4418 pub subscribed_qualities: ::prost::alloc::vec::Vec<SubscribedQuality>,
4419 #[prost(message, repeated, tag = "3")]
4420 pub subscribed_codecs: ::prost::alloc::vec::Vec<SubscribedCodec>,
4421}
4422#[derive(Clone, PartialEq, ::prost::Message)]
4423pub struct SubscribedAudioCodecUpdate {
4424 #[prost(string, tag = "1")]
4425 pub track_sid: ::prost::alloc::string::String,
4426 #[prost(message, repeated, tag = "2")]
4427 pub subscribed_audio_codecs: ::prost::alloc::vec::Vec<SubscribedAudioCodec>,
4428}
4429#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4430pub struct TrackPermission {
4431 #[prost(string, tag = "1")]
4433 pub participant_sid: ::prost::alloc::string::String,
4434 #[prost(bool, tag = "2")]
4435 pub all_tracks: bool,
4436 #[prost(string, repeated, tag = "3")]
4437 pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4438 #[prost(string, tag = "4")]
4439 pub participant_identity: ::prost::alloc::string::String,
4440}
4441#[derive(Clone, PartialEq, ::prost::Message)]
4442pub struct SubscriptionPermission {
4443 #[prost(bool, tag = "1")]
4444 pub all_participants: bool,
4445 #[prost(message, repeated, tag = "2")]
4446 pub track_permissions: ::prost::alloc::vec::Vec<TrackPermission>,
4447}
4448#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4449pub struct SubscriptionPermissionUpdate {
4450 #[prost(string, tag = "1")]
4451 pub participant_sid: ::prost::alloc::string::String,
4452 #[prost(string, tag = "2")]
4453 pub track_sid: ::prost::alloc::string::String,
4454 #[prost(bool, tag = "3")]
4455 pub allowed: bool,
4456}
4457#[derive(Clone, PartialEq, ::prost::Message)]
4458pub struct RoomMovedResponse {
4459 #[prost(message, optional, tag = "1")]
4461 pub room: ::core::option::Option<Room>,
4462 #[prost(string, tag = "2")]
4464 pub token: ::prost::alloc::string::String,
4465 #[prost(message, optional, tag = "3")]
4466 pub participant: ::core::option::Option<ParticipantInfo>,
4467 #[prost(message, repeated, tag = "4")]
4468 pub other_participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
4469}
4470#[derive(Clone, PartialEq, ::prost::Message)]
4471pub struct SyncState {
4472 #[prost(message, optional, tag = "1")]
4476 pub answer: ::core::option::Option<SessionDescription>,
4477 #[prost(message, optional, tag = "2")]
4478 pub subscription: ::core::option::Option<UpdateSubscription>,
4479 #[prost(message, repeated, tag = "3")]
4480 pub publish_tracks: ::prost::alloc::vec::Vec<TrackPublishedResponse>,
4481 #[prost(message, repeated, tag = "4")]
4482 pub data_channels: ::prost::alloc::vec::Vec<DataChannelInfo>,
4483 #[prost(message, optional, tag = "5")]
4487 pub offer: ::core::option::Option<SessionDescription>,
4488 #[prost(string, repeated, tag = "6")]
4489 pub track_sids_disabled: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4490 #[prost(message, repeated, tag = "7")]
4491 pub datachannel_receive_states: ::prost::alloc::vec::Vec<DataChannelReceiveState>,
4492 #[prost(message, repeated, tag = "8")]
4493 pub publish_data_tracks: ::prost::alloc::vec::Vec<PublishDataTrackResponse>,
4494 #[prost(message, optional, tag = "9")]
4495 pub data_subscription: ::core::option::Option<UpdateDataSubscription>,
4496}
4497#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4498pub struct DataChannelReceiveState {
4499 #[prost(string, tag = "1")]
4500 pub publisher_sid: ::prost::alloc::string::String,
4501 #[prost(uint32, tag = "2")]
4502 pub last_seq: u32,
4503}
4504#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4505pub struct DataChannelInfo {
4506 #[prost(string, tag = "1")]
4507 pub label: ::prost::alloc::string::String,
4508 #[prost(uint32, tag = "2")]
4509 pub id: u32,
4510 #[prost(enumeration = "SignalTarget", tag = "3")]
4511 pub target: i32,
4512}
4513#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4514pub struct SimulateScenario {
4515 #[prost(oneof = "simulate_scenario::Scenario", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9")]
4516 pub scenario: ::core::option::Option<simulate_scenario::Scenario>,
4517}
4518pub mod simulate_scenario {
4520 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
4521 pub enum Scenario {
4522 #[prost(int32, tag = "1")]
4524 SpeakerUpdate(i32),
4525 #[prost(bool, tag = "2")]
4527 NodeFailure(bool),
4528 #[prost(bool, tag = "3")]
4530 Migration(bool),
4531 #[prost(bool, tag = "4")]
4533 ServerLeave(bool),
4534 #[prost(enumeration = "super::CandidateProtocol", tag = "5")]
4536 SwitchCandidateProtocol(i32),
4537 #[prost(int64, tag = "6")]
4540 SubscriberBandwidth(i64),
4541 #[prost(bool, tag = "7")]
4543 DisconnectSignalOnResume(bool),
4544 #[prost(bool, tag = "8")]
4546 DisconnectSignalOnResumeNoMessages(bool),
4547 #[prost(bool, tag = "9")]
4549 LeaveRequestFullReconnect(bool),
4550 }
4551}
4552#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4553pub struct Ping {
4554 #[prost(int64, tag = "1")]
4555 pub timestamp: i64,
4556 #[prost(int64, tag = "2")]
4558 pub rtt: i64,
4559}
4560#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4561pub struct Pong {
4562 #[prost(int64, tag = "1")]
4564 pub last_ping_timestamp: i64,
4565 #[prost(int64, tag = "2")]
4566 pub timestamp: i64,
4567}
4568#[derive(Clone, PartialEq, ::prost::Message)]
4569pub struct RegionSettings {
4570 #[prost(message, repeated, tag = "1")]
4571 pub regions: ::prost::alloc::vec::Vec<RegionInfo>,
4572}
4573#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4574pub struct RegionInfo {
4575 #[prost(string, tag = "1")]
4576 pub region: ::prost::alloc::string::String,
4577 #[prost(string, tag = "2")]
4578 pub url: ::prost::alloc::string::String,
4579 #[prost(int64, tag = "3")]
4580 pub distance: i64,
4581}
4582#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4583pub struct SubscriptionResponse {
4584 #[prost(string, tag = "1")]
4585 pub track_sid: ::prost::alloc::string::String,
4586 #[prost(enumeration = "SubscriptionError", tag = "2")]
4587 pub err: i32,
4588}
4589#[derive(Clone, PartialEq, ::prost::Message)]
4590pub struct RequestResponse {
4591 #[prost(uint32, tag = "1")]
4592 pub request_id: u32,
4593 #[prost(enumeration = "request_response::Reason", tag = "2")]
4594 pub reason: i32,
4595 #[prost(string, tag = "3")]
4596 pub message: ::prost::alloc::string::String,
4597 #[prost(oneof = "request_response::Request", tags = "4, 5, 6, 7, 8, 9, 10, 11")]
4598 pub request: ::core::option::Option<request_response::Request>,
4599}
4600pub mod request_response {
4602 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4603 #[repr(i32)]
4604 pub enum Reason {
4605 Ok = 0,
4606 NotFound = 1,
4607 NotAllowed = 2,
4608 LimitExceeded = 3,
4609 Queued = 4,
4610 UnsupportedType = 5,
4611 UnclassifiedError = 6,
4612 InvalidHandle = 7,
4613 InvalidName = 8,
4614 DuplicateHandle = 9,
4615 DuplicateName = 10,
4616 InvalidRequest = 11,
4617 }
4618 impl Reason {
4619 pub fn as_str_name(&self) -> &'static str {
4624 match self {
4625 Self::Ok => "OK",
4626 Self::NotFound => "NOT_FOUND",
4627 Self::NotAllowed => "NOT_ALLOWED",
4628 Self::LimitExceeded => "LIMIT_EXCEEDED",
4629 Self::Queued => "QUEUED",
4630 Self::UnsupportedType => "UNSUPPORTED_TYPE",
4631 Self::UnclassifiedError => "UNCLASSIFIED_ERROR",
4632 Self::InvalidHandle => "INVALID_HANDLE",
4633 Self::InvalidName => "INVALID_NAME",
4634 Self::DuplicateHandle => "DUPLICATE_HANDLE",
4635 Self::DuplicateName => "DUPLICATE_NAME",
4636 Self::InvalidRequest => "INVALID_REQUEST",
4637 }
4638 }
4639 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4641 match value {
4642 "OK" => Some(Self::Ok),
4643 "NOT_FOUND" => Some(Self::NotFound),
4644 "NOT_ALLOWED" => Some(Self::NotAllowed),
4645 "LIMIT_EXCEEDED" => Some(Self::LimitExceeded),
4646 "QUEUED" => Some(Self::Queued),
4647 "UNSUPPORTED_TYPE" => Some(Self::UnsupportedType),
4648 "UNCLASSIFIED_ERROR" => Some(Self::UnclassifiedError),
4649 "INVALID_HANDLE" => Some(Self::InvalidHandle),
4650 "INVALID_NAME" => Some(Self::InvalidName),
4651 "DUPLICATE_HANDLE" => Some(Self::DuplicateHandle),
4652 "DUPLICATE_NAME" => Some(Self::DuplicateName),
4653 "INVALID_REQUEST" => Some(Self::InvalidRequest),
4654 _ => None,
4655 }
4656 }
4657 }
4658 #[derive(Clone, PartialEq, ::prost::Oneof)]
4659 pub enum Request {
4660 #[prost(message, tag = "4")]
4661 Trickle(super::TrickleRequest),
4662 #[prost(message, tag = "5")]
4663 AddTrack(super::AddTrackRequest),
4664 #[prost(message, tag = "6")]
4665 Mute(super::MuteTrackRequest),
4666 #[prost(message, tag = "7")]
4667 UpdateMetadata(super::UpdateParticipantMetadata),
4668 #[prost(message, tag = "8")]
4669 UpdateAudioTrack(super::UpdateLocalAudioTrack),
4670 #[prost(message, tag = "9")]
4671 UpdateVideoTrack(super::UpdateLocalVideoTrack),
4672 #[prost(message, tag = "10")]
4673 PublishDataTrack(super::PublishDataTrackRequest),
4674 #[prost(message, tag = "11")]
4675 UnpublishDataTrack(super::UnpublishDataTrackRequest),
4676 }
4677}
4678#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4679pub struct TrackSubscribed {
4680 #[prost(string, tag = "1")]
4681 pub track_sid: ::prost::alloc::string::String,
4682}
4683#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4684pub struct ConnectionSettings {
4685 #[prost(bool, tag = "1")]
4686 pub auto_subscribe: bool,
4687 #[prost(bool, tag = "2")]
4688 pub adaptive_stream: bool,
4689 #[prost(bool, optional, tag = "3")]
4690 pub subscriber_allow_pause: ::core::option::Option<bool>,
4691 #[prost(bool, tag = "4")]
4692 pub disable_ice_lite: bool,
4693 #[prost(bool, optional, tag = "5")]
4694 pub auto_subscribe_data_track: ::core::option::Option<bool>,
4695}
4696#[derive(Clone, PartialEq, ::prost::Message)]
4697pub struct JoinRequest {
4698 #[prost(message, optional, tag = "1")]
4699 pub client_info: ::core::option::Option<ClientInfo>,
4700 #[prost(message, optional, tag = "2")]
4701 pub connection_settings: ::core::option::Option<ConnectionSettings>,
4702 #[prost(string, tag = "3")]
4704 pub metadata: ::prost::alloc::string::String,
4705 #[prost(map = "string, string", tag = "4")]
4709 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
4710 #[prost(message, repeated, tag = "5")]
4711 pub add_track_requests: ::prost::alloc::vec::Vec<AddTrackRequest>,
4712 #[prost(message, optional, tag = "6")]
4713 pub publisher_offer: ::core::option::Option<SessionDescription>,
4714 #[prost(bool, tag = "7")]
4715 pub reconnect: bool,
4716 #[prost(enumeration = "ReconnectReason", tag = "8")]
4717 pub reconnect_reason: i32,
4718 #[prost(string, tag = "9")]
4719 pub participant_sid: ::prost::alloc::string::String,
4720 #[prost(message, optional, tag = "10")]
4721 pub sync_state: ::core::option::Option<SyncState>,
4722}
4723#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4724pub struct WrappedJoinRequest {
4725 #[prost(enumeration = "wrapped_join_request::Compression", tag = "1")]
4726 pub compression: i32,
4727 #[prost(bytes = "vec", tag = "2")]
4729 pub join_request: ::prost::alloc::vec::Vec<u8>,
4730}
4731pub mod wrapped_join_request {
4733 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4734 #[repr(i32)]
4735 pub enum Compression {
4736 None = 0,
4737 Gzip = 1,
4738 }
4739 impl Compression {
4740 pub fn as_str_name(&self) -> &'static str {
4745 match self {
4746 Self::None => "NONE",
4747 Self::Gzip => "GZIP",
4748 }
4749 }
4750 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4752 match value {
4753 "NONE" => Some(Self::None),
4754 "GZIP" => Some(Self::Gzip),
4755 _ => None,
4756 }
4757 }
4758 }
4759}
4760#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4761pub struct MediaSectionsRequirement {
4762 #[prost(uint32, tag = "1")]
4763 pub num_audios: u32,
4764 #[prost(uint32, tag = "2")]
4765 pub num_videos: u32,
4766}
4767#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4768#[repr(i32)]
4769pub enum SignalTarget {
4770 Publisher = 0,
4771 Subscriber = 1,
4772}
4773impl SignalTarget {
4774 pub fn as_str_name(&self) -> &'static str {
4779 match self {
4780 Self::Publisher => "PUBLISHER",
4781 Self::Subscriber => "SUBSCRIBER",
4782 }
4783 }
4784 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4786 match value {
4787 "PUBLISHER" => Some(Self::Publisher),
4788 "SUBSCRIBER" => Some(Self::Subscriber),
4789 _ => None,
4790 }
4791 }
4792}
4793#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4794#[repr(i32)]
4795pub enum StreamState {
4796 Active = 0,
4797 Paused = 1,
4798}
4799impl StreamState {
4800 pub fn as_str_name(&self) -> &'static str {
4805 match self {
4806 Self::Active => "ACTIVE",
4807 Self::Paused => "PAUSED",
4808 }
4809 }
4810 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4812 match value {
4813 "ACTIVE" => Some(Self::Active),
4814 "PAUSED" => Some(Self::Paused),
4815 _ => None,
4816 }
4817 }
4818}
4819#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4820#[repr(i32)]
4821pub enum NegotiatedDataChannelId {
4822 NdciInvalid = 0,
4823 NdciReliable = 100,
4824 NdciLossy = 101,
4825 NdciDataTrack = 102,
4826}
4827impl NegotiatedDataChannelId {
4828 pub fn as_str_name(&self) -> &'static str {
4833 match self {
4834 Self::NdciInvalid => "NDCI_INVALID",
4835 Self::NdciReliable => "NDCI_RELIABLE",
4836 Self::NdciLossy => "NDCI_LOSSY",
4837 Self::NdciDataTrack => "NDCI_DATA_TRACK",
4838 }
4839 }
4840 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4842 match value {
4843 "NDCI_INVALID" => Some(Self::NdciInvalid),
4844 "NDCI_RELIABLE" => Some(Self::NdciReliable),
4845 "NDCI_LOSSY" => Some(Self::NdciLossy),
4846 "NDCI_DATA_TRACK" => Some(Self::NdciDataTrack),
4847 _ => None,
4848 }
4849 }
4850}
4851#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4852#[repr(i32)]
4853pub enum CandidateProtocol {
4854 Udp = 0,
4855 Tcp = 1,
4856 Tls = 2,
4857}
4858impl CandidateProtocol {
4859 pub fn as_str_name(&self) -> &'static str {
4864 match self {
4865 Self::Udp => "UDP",
4866 Self::Tcp => "TCP",
4867 Self::Tls => "TLS",
4868 }
4869 }
4870 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4872 match value {
4873 "UDP" => Some(Self::Udp),
4874 "TCP" => Some(Self::Tcp),
4875 "TLS" => Some(Self::Tls),
4876 _ => None,
4877 }
4878 }
4879}
4880#[derive(Clone, PartialEq, ::prost::Message)]
4881pub struct Job {
4882 #[prost(string, tag = "1")]
4883 pub id: ::prost::alloc::string::String,
4884 #[prost(string, tag = "9")]
4885 pub dispatch_id: ::prost::alloc::string::String,
4886 #[prost(enumeration = "JobType", tag = "2")]
4887 pub r#type: i32,
4888 #[prost(message, optional, tag = "3")]
4889 pub room: ::core::option::Option<Room>,
4890 #[prost(message, optional, tag = "4")]
4891 pub participant: ::core::option::Option<ParticipantInfo>,
4892 #[deprecated]
4893 #[prost(string, tag = "5")]
4894 pub namespace: ::prost::alloc::string::String,
4895 #[prost(string, tag = "6")]
4896 pub metadata: ::prost::alloc::string::String,
4897 #[prost(string, tag = "7")]
4898 pub agent_name: ::prost::alloc::string::String,
4899 #[prost(message, optional, tag = "8")]
4900 pub state: ::core::option::Option<JobState>,
4901 #[prost(bool, tag = "10")]
4902 pub enable_recording: bool,
4903 #[prost(string, tag = "11")]
4904 pub deployment: ::prost::alloc::string::String,
4905 #[prost(map = "string, string", tag = "12")]
4906 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
4907 #[prost(bool, tag = "13")]
4908 pub enable_redaction: bool,
4909 #[prost(int64, tag = "14")]
4911 pub created_at: i64,
4912 #[prost(string, tag = "15")]
4915 pub thread_id: ::prost::alloc::string::String,
4916}
4917#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4918pub struct JobState {
4919 #[prost(enumeration = "JobStatus", tag = "1")]
4920 pub status: i32,
4921 #[prost(string, tag = "2")]
4922 pub error: ::prost::alloc::string::String,
4923 #[prost(int64, tag = "3")]
4924 pub started_at: i64,
4925 #[prost(int64, tag = "4")]
4926 pub ended_at: i64,
4927 #[prost(int64, tag = "5")]
4928 pub updated_at: i64,
4929 #[prost(string, tag = "6")]
4930 pub participant_identity: ::prost::alloc::string::String,
4931 #[prost(string, tag = "7")]
4932 pub worker_id: ::prost::alloc::string::String,
4933 #[prost(string, tag = "8")]
4934 pub agent_id: ::prost::alloc::string::String,
4935 #[prost(enumeration = "JobStateReason", tag = "9")]
4937 pub reason: i32,
4938 #[prost(int64, tag = "10")]
4940 pub accepted_at: i64,
4941 #[prost(int64, tag = "11")]
4943 pub assigned_at: i64,
4944 #[prost(uint32, tag = "12")]
4946 pub attempts: u32,
4947 #[prost(int64, tag = "13")]
4949 pub first_started_at: i64,
4950 #[prost(int64, tag = "14")]
4954 pub agent_failed_attempts_ns: i64,
4955 #[prost(uint32, tag = "15")]
4957 pub workers_asked: u32,
4958}
4959#[derive(Clone, PartialEq, ::prost::Message)]
4961pub struct WorkerMessage {
4962 #[prost(oneof = "worker_message::Message", tags = "1, 2, 3, 4, 5, 6, 7, 8")]
4963 pub message: ::core::option::Option<worker_message::Message>,
4964}
4965pub mod worker_message {
4967 #[derive(Clone, PartialEq, ::prost::Oneof)]
4968 pub enum Message {
4969 #[prost(message, tag = "1")]
4971 Register(super::RegisterWorkerRequest),
4972 #[prost(message, tag = "2")]
4974 Availability(super::AvailabilityResponse),
4975 #[prost(message, tag = "3")]
4977 UpdateWorker(super::UpdateWorkerStatus),
4978 #[prost(message, tag = "4")]
4980 UpdateJob(super::UpdateJobStatus),
4981 #[prost(message, tag = "5")]
4982 Ping(super::WorkerPing),
4983 #[prost(message, tag = "6")]
4984 SimulateJob(super::SimulateJobRequest),
4985 #[prost(message, tag = "7")]
4986 MigrateJob(super::MigrateJobRequest),
4987 #[prost(message, tag = "8")]
4989 CreateJobToken(super::CreateJobTokenRequest),
4990 }
4991}
4992#[derive(Clone, PartialEq, ::prost::Message)]
4994pub struct ServerMessage {
4995 #[prost(oneof = "server_message::Message", tags = "1, 2, 3, 5, 4, 6, 7")]
4996 pub message: ::core::option::Option<server_message::Message>,
4997}
4998pub mod server_message {
5000 #[derive(Clone, PartialEq, ::prost::Oneof)]
5001 pub enum Message {
5002 #[prost(message, tag = "1")]
5004 Register(super::RegisterWorkerResponse),
5005 #[prost(message, tag = "2")]
5007 Availability(super::AvailabilityRequest),
5008 #[prost(message, tag = "3")]
5009 Assignment(super::JobAssignment),
5010 #[prost(message, tag = "5")]
5011 Termination(super::JobTermination),
5012 #[prost(message, tag = "4")]
5013 Pong(super::WorkerPong),
5014 #[prost(message, tag = "6")]
5017 GoAway(super::agent_http::GoAway),
5018 #[prost(message, tag = "7")]
5019 CreateJobToken(super::CreateJobTokenResponse),
5020 }
5021}
5022#[derive(Clone, PartialEq, ::prost::Message)]
5023pub struct SimulateJobRequest {
5024 #[prost(enumeration = "JobType", tag = "1")]
5025 pub r#type: i32,
5026 #[prost(message, optional, tag = "2")]
5027 pub room: ::core::option::Option<Room>,
5028 #[prost(message, optional, tag = "3")]
5029 pub participant: ::core::option::Option<ParticipantInfo>,
5030}
5031#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5032pub struct WorkerPing {
5033 #[prost(int64, tag = "1")]
5034 pub timestamp: i64,
5035}
5036#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5037pub struct WorkerPong {
5038 #[prost(int64, tag = "1")]
5039 pub last_timestamp: i64,
5040 #[prost(int64, tag = "2")]
5041 pub timestamp: i64,
5042}
5043#[derive(Clone, PartialEq, ::prost::Message)]
5044pub struct RegisterWorkerRequest {
5045 #[prost(enumeration = "JobType", tag = "1")]
5046 pub r#type: i32,
5047 #[prost(string, tag = "8")]
5048 pub agent_name: ::prost::alloc::string::String,
5049 #[prost(string, tag = "3")]
5050 pub version: ::prost::alloc::string::String,
5051 #[prost(uint32, tag = "5")]
5052 pub ping_interval: u32,
5053 #[prost(string, optional, tag = "6")]
5054 pub namespace: ::core::option::Option<::prost::alloc::string::String>,
5055 #[prost(message, optional, tag = "7")]
5056 pub allowed_permissions: ::core::option::Option<ParticipantPermission>,
5057 #[prost(string, tag = "9")]
5058 pub deployment: ::prost::alloc::string::String,
5059 #[prost(message, repeated, tag = "10")]
5062 pub endpoints: ::prost::alloc::vec::Vec<agent_http::AgentEndpoint>,
5063 #[prost(string, tag = "11")]
5066 pub instance_id: ::prost::alloc::string::String,
5067 #[prost(uint32, tag = "12")]
5069 pub endpoint_protocol: u32,
5070}
5071#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5072pub struct RegisterWorkerResponse {
5073 #[prost(string, tag = "1")]
5074 pub worker_id: ::prost::alloc::string::String,
5075 #[prost(message, optional, tag = "3")]
5076 pub server_info: ::core::option::Option<ServerInfo>,
5077 #[prost(message, optional, tag = "4")]
5079 pub endpoint_settings: ::core::option::Option<agent_http::AgentEndpointSettings>,
5080}
5081#[derive(Clone, PartialEq, ::prost::Message)]
5082pub struct MigrateJobRequest {
5083 #[prost(string, repeated, tag = "2")]
5085 pub job_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5086 #[prost(message, repeated, tag = "3")]
5089 pub jobs: ::prost::alloc::vec::Vec<Job>,
5090}
5091#[derive(Clone, PartialEq, ::prost::Message)]
5092pub struct AvailabilityRequest {
5093 #[prost(message, optional, tag = "1")]
5094 pub job: ::core::option::Option<Job>,
5095 #[prost(bool, tag = "2")]
5098 pub resuming: bool,
5099}
5100#[derive(Clone, PartialEq, ::prost::Message)]
5101pub struct AvailabilityResponse {
5102 #[prost(string, tag = "1")]
5103 pub job_id: ::prost::alloc::string::String,
5104 #[prost(bool, tag = "2")]
5105 pub available: bool,
5106 #[prost(bool, tag = "3")]
5107 pub supports_resume: bool,
5108 #[prost(bool, tag = "8")]
5109 pub terminate: bool,
5110 #[prost(string, tag = "4")]
5111 pub participant_name: ::prost::alloc::string::String,
5112 #[prost(string, tag = "5")]
5113 pub participant_identity: ::prost::alloc::string::String,
5114 #[prost(string, tag = "6")]
5115 pub participant_metadata: ::prost::alloc::string::String,
5116 #[prost(map = "string, string", tag = "7")]
5118 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5119}
5120#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5121pub struct UpdateJobStatus {
5122 #[prost(string, tag = "1")]
5123 pub job_id: ::prost::alloc::string::String,
5124 #[prost(enumeration = "JobStatus", tag = "2")]
5126 pub status: i32,
5127 #[prost(string, tag = "3")]
5129 pub error: ::prost::alloc::string::String,
5130 #[prost(message, optional, tag = "4")]
5132 pub join_timing: ::core::option::Option<JobJoinTiming>,
5133}
5134#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5138pub struct JobJoinTiming {
5139 #[prost(int64, tag = "1")]
5141 pub offer_received_us: i64,
5142 #[prost(int64, tag = "2")]
5144 pub accepted_us: i64,
5145 #[prost(int64, tag = "3")]
5147 pub assignment_received_us: i64,
5148 #[prost(int64, tag = "4")]
5150 pub launched_us: i64,
5151 #[prost(bool, tag = "5")]
5153 pub launch_warm: bool,
5154 #[prost(int64, tag = "6")]
5156 pub entrypoint_started_us: i64,
5157 #[prost(int64, tag = "7")]
5159 pub connect_called_us: i64,
5160 #[prost(int64, tag = "8")]
5162 pub connected_us: i64,
5163}
5164#[derive(Clone, Copy, PartialEq, ::prost::Message)]
5165pub struct UpdateWorkerStatus {
5166 #[prost(enumeration = "WorkerStatus", optional, tag = "1")]
5167 pub status: ::core::option::Option<i32>,
5168 #[prost(float, tag = "3")]
5169 pub load: f32,
5170 #[prost(uint32, tag = "4")]
5171 pub job_count: u32,
5172 #[prost(bool, tag = "5")]
5174 pub draining: bool,
5175 #[prost(uint64, tag = "6")]
5178 pub seq: u64,
5179}
5180#[derive(Clone, PartialEq, ::prost::Message)]
5181pub struct JobAssignment {
5182 #[prost(message, optional, tag = "1")]
5183 pub job: ::core::option::Option<Job>,
5184 #[prost(string, optional, tag = "2")]
5185 pub url: ::core::option::Option<::prost::alloc::string::String>,
5186 #[prost(string, tag = "3")]
5187 pub token: ::prost::alloc::string::String,
5188}
5189#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5190pub struct JobTermination {
5191 #[prost(string, tag = "1")]
5192 pub job_id: ::prost::alloc::string::String,
5193}
5194#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5195pub struct CreateJobTokenRequest {
5196 #[prost(string, tag = "1")]
5198 pub request_id: ::prost::alloc::string::String,
5199 #[prost(string, tag = "2")]
5200 pub job_id: ::prost::alloc::string::String,
5201 #[prost(string, tag = "3")]
5204 pub claims: ::prost::alloc::string::String,
5205}
5206#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5207pub struct CreateJobTokenResponse {
5208 #[prost(string, tag = "1")]
5209 pub request_id: ::prost::alloc::string::String,
5210 #[prost(string, tag = "2")]
5211 pub token: ::prost::alloc::string::String,
5212 #[prost(int64, tag = "3")]
5214 pub expires_at: i64,
5215 #[prost(string, tag = "4")]
5217 pub error: ::prost::alloc::string::String,
5218}
5219#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5262pub struct AgentHttp {
5263}
5264pub mod agent_http {
5266 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5267 pub struct AgentEndpoint {
5268 #[prost(string, tag = "1")]
5272 pub path: ::prost::alloc::string::String,
5273 #[prost(string, repeated, tag = "2")]
5276 pub methods: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5277 #[prost(enumeration = "AgentEndpointKind", tag = "3")]
5278 pub kind: i32,
5279 #[prost(bool, tag = "4")]
5281 pub public: bool,
5282 }
5283 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5287 pub struct AgentEndpointSettings {
5288 #[prost(uint32, tag = "1")]
5291 pub protocol: u32,
5292 }
5293 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5297 pub struct StreamPreamble {
5298 #[prost(enumeration = "AgentEndpointKind", tag = "1")]
5301 pub kind: i32,
5302 #[prost(string, tag = "2")]
5303 pub request_id: ::prost::alloc::string::String,
5304 #[prost(bool, tag = "3")]
5307 pub authorized: bool,
5308 #[prost(string, tag = "4")]
5310 pub route: ::prost::alloc::string::String,
5311 #[prost(uint32, tag = "5")]
5314 pub timeout_ms: u32,
5315 #[prost(string, tag = "6")]
5317 pub client_addr: ::prost::alloc::string::String,
5318 #[prost(string, tag = "7")]
5322 pub scheme: ::prost::alloc::string::String,
5323 }
5324 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5327 pub struct GoAway {
5328 #[prost(string, tag = "1")]
5329 pub reason: ::prost::alloc::string::String,
5330 }
5331 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5332 #[repr(i32)]
5333 pub enum AgentEndpointKind {
5334 AekHttp = 0,
5335 AekText = 1,
5337 }
5338 impl AgentEndpointKind {
5339 pub fn as_str_name(&self) -> &'static str {
5344 match self {
5345 Self::AekHttp => "AEK_HTTP",
5346 Self::AekText => "AEK_TEXT",
5347 }
5348 }
5349 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5351 match value {
5352 "AEK_HTTP" => Some(Self::AekHttp),
5353 "AEK_TEXT" => Some(Self::AekText),
5354 _ => None,
5355 }
5356 }
5357 }
5358 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5364 #[repr(i32)]
5365 pub enum HttpStreamResetCode {
5366 HsrAbort = 0,
5370 HsrRefused = 1,
5374 HsrInternal = 2,
5378 HsrTimeout = 3,
5380 HsrProtocol = 4,
5382 }
5383 impl HttpStreamResetCode {
5384 pub fn as_str_name(&self) -> &'static str {
5389 match self {
5390 Self::HsrAbort => "HSR_ABORT",
5391 Self::HsrRefused => "HSR_REFUSED",
5392 Self::HsrInternal => "HSR_INTERNAL",
5393 Self::HsrTimeout => "HSR_TIMEOUT",
5394 Self::HsrProtocol => "HSR_PROTOCOL",
5395 }
5396 }
5397 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5399 match value {
5400 "HSR_ABORT" => Some(Self::HsrAbort),
5401 "HSR_REFUSED" => Some(Self::HsrRefused),
5402 "HSR_INTERNAL" => Some(Self::HsrInternal),
5403 "HSR_TIMEOUT" => Some(Self::HsrTimeout),
5404 "HSR_PROTOCOL" => Some(Self::HsrProtocol),
5405 _ => None,
5406 }
5407 }
5408 }
5409}
5410#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5411#[repr(i32)]
5412pub enum JobType {
5413 JtRoom = 0,
5414 JtPublisher = 1,
5415 JtParticipant = 2,
5416}
5417impl JobType {
5418 pub fn as_str_name(&self) -> &'static str {
5423 match self {
5424 Self::JtRoom => "JT_ROOM",
5425 Self::JtPublisher => "JT_PUBLISHER",
5426 Self::JtParticipant => "JT_PARTICIPANT",
5427 }
5428 }
5429 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5431 match value {
5432 "JT_ROOM" => Some(Self::JtRoom),
5433 "JT_PUBLISHER" => Some(Self::JtPublisher),
5434 "JT_PARTICIPANT" => Some(Self::JtParticipant),
5435 _ => None,
5436 }
5437 }
5438}
5439#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5440#[repr(i32)]
5441pub enum WorkerStatus {
5442 WsAvailable = 0,
5443 WsFull = 1,
5444}
5445impl WorkerStatus {
5446 pub fn as_str_name(&self) -> &'static str {
5451 match self {
5452 Self::WsAvailable => "WS_AVAILABLE",
5453 Self::WsFull => "WS_FULL",
5454 }
5455 }
5456 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5458 match value {
5459 "WS_AVAILABLE" => Some(Self::WsAvailable),
5460 "WS_FULL" => Some(Self::WsFull),
5461 _ => None,
5462 }
5463 }
5464}
5465#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5466#[repr(i32)]
5467pub enum JobStatus {
5468 JsPending = 0,
5469 JsRunning = 1,
5470 JsSuccess = 2,
5471 JsFailed = 3,
5472 JsCancelled = 4,
5474}
5475impl JobStatus {
5476 pub fn as_str_name(&self) -> &'static str {
5481 match self {
5482 Self::JsPending => "JS_PENDING",
5483 Self::JsRunning => "JS_RUNNING",
5484 Self::JsSuccess => "JS_SUCCESS",
5485 Self::JsFailed => "JS_FAILED",
5486 Self::JsCancelled => "JS_CANCELLED",
5487 }
5488 }
5489 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5491 match value {
5492 "JS_PENDING" => Some(Self::JsPending),
5493 "JS_RUNNING" => Some(Self::JsRunning),
5494 "JS_SUCCESS" => Some(Self::JsSuccess),
5495 "JS_FAILED" => Some(Self::JsFailed),
5496 "JS_CANCELLED" => Some(Self::JsCancelled),
5497 _ => None,
5498 }
5499 }
5500}
5501#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5502#[repr(i32)]
5503pub enum JobStateReason {
5504 JsrUnspecified = 0,
5505 JsrNoCapacity = 1,
5507 JsrRoomClosed = 2,
5509 JsrDispatchDeleted = 3,
5511 JsrRetrying = 4,
5513}
5514impl JobStateReason {
5515 pub fn as_str_name(&self) -> &'static str {
5520 match self {
5521 Self::JsrUnspecified => "JSR_UNSPECIFIED",
5522 Self::JsrNoCapacity => "JSR_NO_CAPACITY",
5523 Self::JsrRoomClosed => "JSR_ROOM_CLOSED",
5524 Self::JsrDispatchDeleted => "JSR_DISPATCH_DELETED",
5525 Self::JsrRetrying => "JSR_RETRYING",
5526 }
5527 }
5528 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5530 match value {
5531 "JSR_UNSPECIFIED" => Some(Self::JsrUnspecified),
5532 "JSR_NO_CAPACITY" => Some(Self::JsrNoCapacity),
5533 "JSR_ROOM_CLOSED" => Some(Self::JsrRoomClosed),
5534 "JSR_DISPATCH_DELETED" => Some(Self::JsrDispatchDeleted),
5535 "JSR_RETRYING" => Some(Self::JsrRetrying),
5536 _ => None,
5537 }
5538 }
5539}
5540#[derive(Clone, PartialEq, ::prost::Message)]
5541pub struct CreateAgentDispatchRequest {
5542 #[prost(string, tag = "1")]
5543 pub agent_name: ::prost::alloc::string::String,
5544 #[prost(string, tag = "2")]
5545 pub room: ::prost::alloc::string::String,
5546 #[prost(string, tag = "3")]
5547 pub metadata: ::prost::alloc::string::String,
5548 #[prost(enumeration = "JobRestartPolicy", tag = "4")]
5550 pub restart_policy: i32,
5551 #[prost(string, tag = "5")]
5552 pub deployment: ::prost::alloc::string::String,
5553 #[prost(map = "string, string", tag = "6")]
5554 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5555 #[prost(string, tag = "7")]
5558 pub thread_id: ::prost::alloc::string::String,
5559}
5560#[derive(Clone, PartialEq, ::prost::Message)]
5561pub struct RoomAgentDispatch {
5562 #[prost(string, tag = "1")]
5563 pub agent_name: ::prost::alloc::string::String,
5564 #[prost(string, tag = "2")]
5565 pub metadata: ::prost::alloc::string::String,
5566 #[prost(enumeration = "JobRestartPolicy", tag = "3")]
5568 pub restart_policy: i32,
5569 #[prost(string, tag = "4")]
5570 pub deployment: ::prost::alloc::string::String,
5571 #[prost(map = "string, string", tag = "5")]
5572 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5573 #[prost(string, tag = "6")]
5576 pub thread_id: ::prost::alloc::string::String,
5577}
5578#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5579pub struct DeleteAgentDispatchRequest {
5580 #[prost(string, tag = "1")]
5581 pub dispatch_id: ::prost::alloc::string::String,
5582 #[prost(string, tag = "2")]
5583 pub room: ::prost::alloc::string::String,
5584}
5585#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5586pub struct ListAgentDispatchRequest {
5587 #[prost(string, tag = "1")]
5589 pub dispatch_id: ::prost::alloc::string::String,
5590 #[prost(string, tag = "2")]
5592 pub room: ::prost::alloc::string::String,
5593}
5594#[derive(Clone, PartialEq, ::prost::Message)]
5595pub struct ListAgentDispatchResponse {
5596 #[prost(message, repeated, tag = "1")]
5597 pub agent_dispatches: ::prost::alloc::vec::Vec<AgentDispatch>,
5598}
5599#[derive(Clone, PartialEq, ::prost::Message)]
5600pub struct AgentDispatch {
5601 #[prost(string, tag = "1")]
5602 pub id: ::prost::alloc::string::String,
5603 #[prost(string, tag = "2")]
5604 pub agent_name: ::prost::alloc::string::String,
5605 #[prost(string, tag = "3")]
5606 pub room: ::prost::alloc::string::String,
5607 #[prost(string, tag = "4")]
5608 pub metadata: ::prost::alloc::string::String,
5609 #[prost(message, optional, tag = "5")]
5610 pub state: ::core::option::Option<AgentDispatchState>,
5611 #[prost(enumeration = "JobRestartPolicy", tag = "6")]
5613 pub restart_policy: i32,
5614 #[prost(string, tag = "7")]
5615 pub deployment: ::prost::alloc::string::String,
5616 #[prost(map = "string, string", tag = "8")]
5617 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5618 #[prost(string, tag = "9")]
5621 pub thread_id: ::prost::alloc::string::String,
5622}
5623#[derive(Clone, PartialEq, ::prost::Message)]
5624pub struct AgentDispatchState {
5625 #[prost(message, repeated, tag = "1")]
5628 pub jobs: ::prost::alloc::vec::Vec<Job>,
5629 #[prost(int64, tag = "2")]
5630 pub created_at: i64,
5631 #[prost(int64, tag = "3")]
5632 pub deleted_at: i64,
5633 #[prost(enumeration = "AgentDispatchTrigger", tag = "4")]
5634 pub trigger: i32,
5635}
5636#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5637#[repr(i32)]
5638pub enum JobRestartPolicy {
5639 JrpOnFailure = 0,
5641 JrpNever = 1,
5643}
5644impl JobRestartPolicy {
5645 pub fn as_str_name(&self) -> &'static str {
5650 match self {
5651 Self::JrpOnFailure => "JRP_ON_FAILURE",
5652 Self::JrpNever => "JRP_NEVER",
5653 }
5654 }
5655 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5657 match value {
5658 "JRP_ON_FAILURE" => Some(Self::JrpOnFailure),
5659 "JRP_NEVER" => Some(Self::JrpNever),
5660 _ => None,
5661 }
5662 }
5663}
5664#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5666#[repr(i32)]
5667pub enum AgentDispatchTrigger {
5668 AdtUnspecified = 0,
5669 AdtJoin = 1,
5671 AdtRoomApi = 2,
5673 AdtDispatchApi = 3,
5675}
5676impl AgentDispatchTrigger {
5677 pub fn as_str_name(&self) -> &'static str {
5682 match self {
5683 Self::AdtUnspecified => "ADT_UNSPECIFIED",
5684 Self::AdtJoin => "ADT_JOIN",
5685 Self::AdtRoomApi => "ADT_ROOM_API",
5686 Self::AdtDispatchApi => "ADT_DISPATCH_API",
5687 }
5688 }
5689 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5691 match value {
5692 "ADT_UNSPECIFIED" => Some(Self::AdtUnspecified),
5693 "ADT_JOIN" => Some(Self::AdtJoin),
5694 "ADT_ROOM_API" => Some(Self::AdtRoomApi),
5695 "ADT_DISPATCH_API" => Some(Self::AdtDispatchApi),
5696 _ => None,
5697 }
5698 }
5699}
5700#[derive(Clone, PartialEq, ::prost::Message)]
5701pub struct CreateRoomRequest {
5702 #[prost(string, tag = "1")]
5704 pub name: ::prost::alloc::string::String,
5705 #[prost(string, tag = "12")]
5707 pub room_preset: ::prost::alloc::string::String,
5708 #[prost(uint32, tag = "2")]
5710 pub empty_timeout: u32,
5711 #[prost(uint32, tag = "10")]
5713 pub departure_timeout: u32,
5714 #[prost(uint32, tag = "3")]
5716 pub max_participants: u32,
5717 #[prost(string, tag = "4")]
5719 pub node_id: ::prost::alloc::string::String,
5720 #[prost(string, tag = "5")]
5722 pub metadata: ::prost::alloc::string::String,
5723 #[prost(map = "string, string", tag = "15")]
5725 pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5726 #[prost(message, optional, tag = "6")]
5728 pub egress: ::core::option::Option<RoomEgress>,
5729 #[prost(uint32, tag = "7")]
5731 pub min_playout_delay: u32,
5732 #[prost(uint32, tag = "8")]
5733 pub max_playout_delay: u32,
5734 #[prost(bool, tag = "9")]
5737 pub sync_streams: bool,
5738 #[prost(bool, tag = "13")]
5740 pub replay_enabled: bool,
5741 #[prost(message, repeated, tag = "14")]
5743 pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
5744}
5745#[derive(Clone, PartialEq, ::prost::Message)]
5746pub struct RoomEgress {
5747 #[prost(message, optional, tag = "1")]
5748 pub room: ::core::option::Option<RoomCompositeEgressRequest>,
5749 #[prost(message, optional, tag = "3")]
5750 pub participant: ::core::option::Option<AutoParticipantEgress>,
5751 #[prost(message, optional, tag = "2")]
5752 pub tracks: ::core::option::Option<AutoTrackEgress>,
5753}
5754#[derive(Clone, PartialEq, ::prost::Message)]
5755pub struct RoomAgent {
5756 #[prost(message, repeated, tag = "1")]
5757 pub dispatches: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
5758}
5759#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5760pub struct ListRoomsRequest {
5761 #[prost(string, repeated, tag = "1")]
5763 pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5764}
5765#[derive(Clone, PartialEq, ::prost::Message)]
5766pub struct ListRoomsResponse {
5767 #[prost(message, repeated, tag = "1")]
5768 pub rooms: ::prost::alloc::vec::Vec<Room>,
5769}
5770#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5771pub struct DeleteRoomRequest {
5772 #[prost(string, tag = "1")]
5774 pub room: ::prost::alloc::string::String,
5775}
5776#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5777pub struct DeleteRoomResponse {
5778}
5779#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5780pub struct ListParticipantsRequest {
5781 #[prost(string, tag = "1")]
5783 pub room: ::prost::alloc::string::String,
5784}
5785#[derive(Clone, PartialEq, ::prost::Message)]
5786pub struct ListParticipantsResponse {
5787 #[prost(message, repeated, tag = "1")]
5788 pub participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
5789}
5790#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5791pub struct RoomParticipantIdentity {
5792 #[prost(string, tag = "1")]
5794 pub room: ::prost::alloc::string::String,
5795 #[prost(string, tag = "2")]
5797 pub identity: ::prost::alloc::string::String,
5798 #[prost(int64, tag = "3")]
5801 pub revoke_token_ts: i64,
5802}
5803#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5804pub struct RemoveParticipantResponse {
5805}
5806#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5807pub struct MuteRoomTrackRequest {
5808 #[prost(string, tag = "1")]
5810 pub room: ::prost::alloc::string::String,
5811 #[prost(string, tag = "2")]
5812 pub identity: ::prost::alloc::string::String,
5813 #[prost(string, tag = "3")]
5815 pub track_sid: ::prost::alloc::string::String,
5816 #[prost(bool, tag = "4")]
5818 pub muted: bool,
5819}
5820#[derive(Clone, PartialEq, ::prost::Message)]
5821pub struct MuteRoomTrackResponse {
5822 #[prost(message, optional, tag = "1")]
5823 pub track: ::core::option::Option<TrackInfo>,
5824}
5825#[derive(Clone, PartialEq, ::prost::Message)]
5826pub struct UpdateParticipantRequest {
5827 #[prost(string, tag = "1")]
5828 pub room: ::prost::alloc::string::String,
5829 #[prost(string, tag = "2")]
5830 pub identity: ::prost::alloc::string::String,
5831 #[prost(string, tag = "3")]
5833 pub metadata: ::prost::alloc::string::String,
5834 #[prost(message, optional, tag = "4")]
5836 pub permission: ::core::option::Option<ParticipantPermission>,
5837 #[prost(string, tag = "5")]
5839 pub name: ::prost::alloc::string::String,
5840 #[prost(map = "string, string", tag = "6")]
5843 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5844}
5845#[derive(Clone, PartialEq, ::prost::Message)]
5846pub struct UpdateSubscriptionsRequest {
5847 #[prost(string, tag = "1")]
5848 pub room: ::prost::alloc::string::String,
5849 #[prost(string, tag = "2")]
5850 pub identity: ::prost::alloc::string::String,
5851 #[prost(string, repeated, tag = "3")]
5853 pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5854 #[prost(bool, tag = "4")]
5856 pub subscribe: bool,
5857 #[prost(message, repeated, tag = "5")]
5859 pub participant_tracks: ::prost::alloc::vec::Vec<ParticipantTracks>,
5860}
5861#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5863pub struct UpdateSubscriptionsResponse {
5864}
5865#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5866pub struct SendDataRequest {
5867 #[prost(string, tag = "1")]
5868 pub room: ::prost::alloc::string::String,
5869 #[prost(bytes = "vec", tag = "2")]
5870 pub data: ::prost::alloc::vec::Vec<u8>,
5871 #[prost(enumeration = "data_packet::Kind", tag = "3")]
5872 pub kind: i32,
5873 #[deprecated]
5875 #[prost(string, repeated, tag = "4")]
5876 pub destination_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5877 #[prost(string, repeated, tag = "6")]
5879 pub destination_identities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5880 #[prost(string, optional, tag = "5")]
5881 pub topic: ::core::option::Option<::prost::alloc::string::String>,
5882 #[prost(bytes = "vec", tag = "7")]
5884 pub nonce: ::prost::alloc::vec::Vec<u8>,
5885}
5886#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5888pub struct SendDataResponse {
5889}
5890#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5891pub struct UpdateRoomMetadataRequest {
5892 #[prost(string, tag = "1")]
5893 pub room: ::prost::alloc::string::String,
5894 #[prost(string, tag = "2")]
5896 pub metadata: ::prost::alloc::string::String,
5897}
5898#[derive(Clone, PartialEq, ::prost::Message)]
5899pub struct RoomConfiguration {
5900 #[prost(string, tag = "1")]
5902 pub name: ::prost::alloc::string::String,
5903 #[prost(uint32, tag = "2")]
5905 pub empty_timeout: u32,
5906 #[prost(uint32, tag = "3")]
5908 pub departure_timeout: u32,
5909 #[prost(uint32, tag = "4")]
5911 pub max_participants: u32,
5912 #[prost(string, tag = "11")]
5914 pub metadata: ::prost::alloc::string::String,
5915 #[prost(message, optional, tag = "5")]
5917 pub egress: ::core::option::Option<RoomEgress>,
5918 #[prost(uint32, tag = "7")]
5920 pub min_playout_delay: u32,
5921 #[prost(uint32, tag = "8")]
5922 pub max_playout_delay: u32,
5923 #[prost(bool, tag = "9")]
5926 pub sync_streams: bool,
5927 #[prost(message, repeated, tag = "10")]
5929 pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
5930 #[prost(map = "string, string", tag = "12")]
5932 pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5933}
5934#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5935pub struct ForwardParticipantRequest {
5936 #[prost(string, tag = "1")]
5938 pub room: ::prost::alloc::string::String,
5939 #[prost(string, tag = "2")]
5941 pub identity: ::prost::alloc::string::String,
5942 #[prost(string, tag = "3")]
5944 pub destination_room: ::prost::alloc::string::String,
5945}
5946#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5947pub struct ForwardParticipantResponse {
5948}
5949#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5950pub struct MoveParticipantRequest {
5951 #[prost(string, tag = "1")]
5953 pub room: ::prost::alloc::string::String,
5954 #[prost(string, tag = "2")]
5956 pub identity: ::prost::alloc::string::String,
5957 #[prost(string, tag = "3")]
5959 pub destination_room: ::prost::alloc::string::String,
5960}
5961#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5962pub struct MoveParticipantResponse {
5963}
5964#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5965pub struct PerformRpcRequest {
5966 #[prost(string, tag = "1")]
5967 pub room: ::prost::alloc::string::String,
5968 #[prost(string, tag = "2")]
5969 pub destination_identity: ::prost::alloc::string::String,
5970 #[prost(string, tag = "3")]
5971 pub method: ::prost::alloc::string::String,
5972 #[prost(string, tag = "4")]
5973 pub payload: ::prost::alloc::string::String,
5974 #[prost(uint32, tag = "5")]
5975 pub response_timeout_ms: u32,
5976}
5977#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5978pub struct PerformRpcResponse {
5979 #[prost(string, tag = "1")]
5980 pub payload: ::prost::alloc::string::String,
5981}
5982#[derive(Clone, PartialEq, ::prost::Message)]
5983pub struct CreateIngressRequest {
5984 #[prost(enumeration = "IngressInput", tag = "1")]
5985 pub input_type: i32,
5986 #[prost(string, tag = "9")]
5988 pub url: ::prost::alloc::string::String,
5989 #[prost(string, tag = "2")]
5991 pub name: ::prost::alloc::string::String,
5992 #[prost(string, tag = "3")]
5994 pub room_name: ::prost::alloc::string::String,
5995 #[prost(string, tag = "4")]
5997 pub participant_identity: ::prost::alloc::string::String,
5998 #[prost(string, tag = "5")]
6000 pub participant_name: ::prost::alloc::string::String,
6001 #[prost(string, tag = "10")]
6003 pub participant_metadata: ::prost::alloc::string::String,
6004 #[deprecated]
6006 #[prost(bool, tag = "8")]
6007 pub bypass_transcoding: bool,
6008 #[prost(bool, optional, tag = "11")]
6010 pub enable_transcoding: ::core::option::Option<bool>,
6011 #[prost(message, optional, tag = "6")]
6012 pub audio: ::core::option::Option<IngressAudioOptions>,
6013 #[prost(message, optional, tag = "7")]
6014 pub video: ::core::option::Option<IngressVideoOptions>,
6015 #[prost(bool, optional, tag = "12")]
6017 pub enabled: ::core::option::Option<bool>,
6018}
6019#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6020pub struct IngressAudioOptions {
6021 #[prost(string, tag = "1")]
6022 pub name: ::prost::alloc::string::String,
6023 #[prost(enumeration = "TrackSource", tag = "2")]
6024 pub source: i32,
6025 #[prost(oneof = "ingress_audio_options::EncodingOptions", tags = "3, 4")]
6026 pub encoding_options: ::core::option::Option<ingress_audio_options::EncodingOptions>,
6027}
6028pub mod ingress_audio_options {
6030 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
6031 pub enum EncodingOptions {
6032 #[prost(enumeration = "super::IngressAudioEncodingPreset", tag = "3")]
6033 Preset(i32),
6034 #[prost(message, tag = "4")]
6035 Options(super::IngressAudioEncodingOptions),
6036 }
6037}
6038#[derive(Clone, PartialEq, ::prost::Message)]
6039pub struct IngressVideoOptions {
6040 #[prost(string, tag = "1")]
6041 pub name: ::prost::alloc::string::String,
6042 #[prost(enumeration = "TrackSource", tag = "2")]
6043 pub source: i32,
6044 #[prost(oneof = "ingress_video_options::EncodingOptions", tags = "3, 4")]
6045 pub encoding_options: ::core::option::Option<ingress_video_options::EncodingOptions>,
6046}
6047pub mod ingress_video_options {
6049 #[derive(Clone, PartialEq, ::prost::Oneof)]
6050 pub enum EncodingOptions {
6051 #[prost(enumeration = "super::IngressVideoEncodingPreset", tag = "3")]
6052 Preset(i32),
6053 #[prost(message, tag = "4")]
6054 Options(super::IngressVideoEncodingOptions),
6055 }
6056}
6057#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
6058pub struct IngressAudioEncodingOptions {
6059 #[prost(enumeration = "AudioCodec", tag = "1")]
6061 pub audio_codec: i32,
6062 #[prost(uint32, tag = "2")]
6063 pub bitrate: u32,
6064 #[prost(bool, tag = "3")]
6065 pub disable_dtx: bool,
6066 #[prost(uint32, tag = "4")]
6067 pub channels: u32,
6068}
6069#[derive(Clone, PartialEq, ::prost::Message)]
6070pub struct IngressVideoEncodingOptions {
6071 #[prost(enumeration = "VideoCodec", tag = "1")]
6073 pub video_codec: i32,
6074 #[prost(double, tag = "2")]
6075 pub frame_rate: f64,
6076 #[prost(message, repeated, tag = "3")]
6078 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
6079}
6080#[derive(Clone, PartialEq, ::prost::Message)]
6081pub struct IngressInfo {
6082 #[prost(string, tag = "1")]
6083 pub ingress_id: ::prost::alloc::string::String,
6084 #[prost(string, tag = "2")]
6085 pub name: ::prost::alloc::string::String,
6086 #[prost(string, tag = "3")]
6087 pub stream_key: ::prost::alloc::string::String,
6088 #[prost(string, tag = "4")]
6090 pub url: ::prost::alloc::string::String,
6091 #[prost(enumeration = "IngressInput", tag = "5")]
6095 pub input_type: i32,
6096 #[deprecated]
6097 #[prost(bool, tag = "13")]
6098 pub bypass_transcoding: bool,
6099 #[prost(bool, optional, tag = "15")]
6100 pub enable_transcoding: ::core::option::Option<bool>,
6101 #[prost(message, optional, tag = "6")]
6102 pub audio: ::core::option::Option<IngressAudioOptions>,
6103 #[prost(message, optional, tag = "7")]
6104 pub video: ::core::option::Option<IngressVideoOptions>,
6105 #[prost(string, tag = "8")]
6106 pub room_name: ::prost::alloc::string::String,
6107 #[prost(string, tag = "9")]
6108 pub participant_identity: ::prost::alloc::string::String,
6109 #[prost(string, tag = "10")]
6110 pub participant_name: ::prost::alloc::string::String,
6111 #[prost(string, tag = "14")]
6112 pub participant_metadata: ::prost::alloc::string::String,
6113 #[prost(bool, tag = "11")]
6114 pub reusable: bool,
6115 #[prost(message, optional, tag = "12")]
6117 pub state: ::core::option::Option<IngressState>,
6118 #[prost(bool, optional, tag = "16")]
6120 pub enabled: ::core::option::Option<bool>,
6121}
6122#[derive(Clone, PartialEq, ::prost::Message)]
6123pub struct IngressState {
6124 #[prost(enumeration = "ingress_state::Status", tag = "1")]
6125 pub status: i32,
6126 #[prost(string, tag = "2")]
6128 pub error: ::prost::alloc::string::String,
6129 #[prost(message, optional, tag = "3")]
6130 pub video: ::core::option::Option<InputVideoState>,
6131 #[prost(message, optional, tag = "4")]
6132 pub audio: ::core::option::Option<InputAudioState>,
6133 #[prost(string, tag = "5")]
6135 pub room_id: ::prost::alloc::string::String,
6136 #[prost(int64, tag = "7")]
6137 pub started_at: i64,
6138 #[prost(int64, tag = "8")]
6139 pub ended_at: i64,
6140 #[prost(int64, tag = "10")]
6141 pub updated_at: i64,
6142 #[prost(string, tag = "9")]
6143 pub resource_id: ::prost::alloc::string::String,
6144 #[prost(message, repeated, tag = "6")]
6145 pub tracks: ::prost::alloc::vec::Vec<TrackInfo>,
6146}
6147pub mod ingress_state {
6149 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6150 #[repr(i32)]
6151 pub enum Status {
6152 EndpointInactive = 0,
6153 EndpointBuffering = 1,
6154 EndpointPublishing = 2,
6155 EndpointError = 3,
6156 EndpointComplete = 4,
6157 }
6158 impl Status {
6159 pub fn as_str_name(&self) -> &'static str {
6164 match self {
6165 Self::EndpointInactive => "ENDPOINT_INACTIVE",
6166 Self::EndpointBuffering => "ENDPOINT_BUFFERING",
6167 Self::EndpointPublishing => "ENDPOINT_PUBLISHING",
6168 Self::EndpointError => "ENDPOINT_ERROR",
6169 Self::EndpointComplete => "ENDPOINT_COMPLETE",
6170 }
6171 }
6172 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6174 match value {
6175 "ENDPOINT_INACTIVE" => Some(Self::EndpointInactive),
6176 "ENDPOINT_BUFFERING" => Some(Self::EndpointBuffering),
6177 "ENDPOINT_PUBLISHING" => Some(Self::EndpointPublishing),
6178 "ENDPOINT_ERROR" => Some(Self::EndpointError),
6179 "ENDPOINT_COMPLETE" => Some(Self::EndpointComplete),
6180 _ => None,
6181 }
6182 }
6183 }
6184}
6185#[derive(Clone, PartialEq, ::prost::Message)]
6186pub struct InputVideoState {
6187 #[prost(string, tag = "1")]
6188 pub mime_type: ::prost::alloc::string::String,
6189 #[prost(uint32, tag = "2")]
6190 pub average_bitrate: u32,
6191 #[prost(uint32, tag = "3")]
6192 pub width: u32,
6193 #[prost(uint32, tag = "4")]
6194 pub height: u32,
6195 #[prost(double, tag = "5")]
6196 pub framerate: f64,
6197}
6198#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6199pub struct InputAudioState {
6200 #[prost(string, tag = "1")]
6201 pub mime_type: ::prost::alloc::string::String,
6202 #[prost(uint32, tag = "2")]
6203 pub average_bitrate: u32,
6204 #[prost(uint32, tag = "3")]
6205 pub channels: u32,
6206 #[prost(uint32, tag = "4")]
6207 pub sample_rate: u32,
6208}
6209#[derive(Clone, PartialEq, ::prost::Message)]
6210pub struct UpdateIngressRequest {
6211 #[prost(string, tag = "1")]
6212 pub ingress_id: ::prost::alloc::string::String,
6213 #[prost(string, tag = "2")]
6214 pub name: ::prost::alloc::string::String,
6215 #[prost(string, tag = "3")]
6216 pub room_name: ::prost::alloc::string::String,
6217 #[prost(string, tag = "4")]
6218 pub participant_identity: ::prost::alloc::string::String,
6219 #[prost(string, tag = "5")]
6220 pub participant_name: ::prost::alloc::string::String,
6221 #[prost(string, tag = "9")]
6222 pub participant_metadata: ::prost::alloc::string::String,
6223 #[deprecated]
6224 #[prost(bool, optional, tag = "8")]
6225 pub bypass_transcoding: ::core::option::Option<bool>,
6226 #[prost(bool, optional, tag = "10")]
6227 pub enable_transcoding: ::core::option::Option<bool>,
6228 #[prost(message, optional, tag = "6")]
6229 pub audio: ::core::option::Option<IngressAudioOptions>,
6230 #[prost(message, optional, tag = "7")]
6231 pub video: ::core::option::Option<IngressVideoOptions>,
6232 #[prost(bool, optional, tag = "11")]
6234 pub enabled: ::core::option::Option<bool>,
6235}
6236#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6237pub struct ListIngressRequest {
6238 #[prost(message, optional, tag = "3")]
6239 pub page_token: ::core::option::Option<TokenPagination>,
6240 #[prost(string, tag = "1")]
6244 pub room_name: ::prost::alloc::string::String,
6245 #[prost(string, tag = "2")]
6247 pub ingress_id: ::prost::alloc::string::String,
6248}
6249#[derive(Clone, PartialEq, ::prost::Message)]
6250pub struct ListIngressResponse {
6251 #[prost(message, optional, tag = "2")]
6252 pub next_page_token: ::core::option::Option<TokenPagination>,
6253 #[prost(message, repeated, tag = "1")]
6255 pub items: ::prost::alloc::vec::Vec<IngressInfo>,
6256}
6257#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6258pub struct DeleteIngressRequest {
6259 #[prost(string, tag = "1")]
6260 pub ingress_id: ::prost::alloc::string::String,
6261}
6262#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6263#[repr(i32)]
6264pub enum IngressInput {
6265 RtmpInput = 0,
6266 WhipInput = 1,
6267 UrlInput = 2,
6269}
6270impl IngressInput {
6271 pub fn as_str_name(&self) -> &'static str {
6276 match self {
6277 Self::RtmpInput => "RTMP_INPUT",
6278 Self::WhipInput => "WHIP_INPUT",
6279 Self::UrlInput => "URL_INPUT",
6280 }
6281 }
6282 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6284 match value {
6285 "RTMP_INPUT" => Some(Self::RtmpInput),
6286 "WHIP_INPUT" => Some(Self::WhipInput),
6287 "URL_INPUT" => Some(Self::UrlInput),
6288 _ => None,
6289 }
6290 }
6291}
6292#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6293#[repr(i32)]
6294pub enum IngressAudioEncodingPreset {
6295 OpusStereo96kbps = 0,
6297 OpusMono64kbs = 1,
6299}
6300impl IngressAudioEncodingPreset {
6301 pub fn as_str_name(&self) -> &'static str {
6306 match self {
6307 Self::OpusStereo96kbps => "OPUS_STEREO_96KBPS",
6308 Self::OpusMono64kbs => "OPUS_MONO_64KBS",
6309 }
6310 }
6311 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6313 match value {
6314 "OPUS_STEREO_96KBPS" => Some(Self::OpusStereo96kbps),
6315 "OPUS_MONO_64KBS" => Some(Self::OpusMono64kbs),
6316 _ => None,
6317 }
6318 }
6319}
6320#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6321#[repr(i32)]
6322pub enum IngressVideoEncodingPreset {
6323 H264720p30fps3Layers = 0,
6325 H2641080p30fps3Layers = 1,
6327 H264540p25fps2Layers = 2,
6329 H264720p30fps1Layer = 3,
6331 H2641080p30fps1Layer = 4,
6333 H264720p30fps3LayersHighMotion = 5,
6335 H2641080p30fps3LayersHighMotion = 6,
6337 H264540p25fps2LayersHighMotion = 7,
6339 H264720p30fps1LayerHighMotion = 8,
6341 H2641080p30fps1LayerHighMotion = 9,
6343}
6344impl IngressVideoEncodingPreset {
6345 pub fn as_str_name(&self) -> &'static str {
6350 match self {
6351 Self::H264720p30fps3Layers => "H264_720P_30FPS_3_LAYERS",
6352 Self::H2641080p30fps3Layers => "H264_1080P_30FPS_3_LAYERS",
6353 Self::H264540p25fps2Layers => "H264_540P_25FPS_2_LAYERS",
6354 Self::H264720p30fps1Layer => "H264_720P_30FPS_1_LAYER",
6355 Self::H2641080p30fps1Layer => "H264_1080P_30FPS_1_LAYER",
6356 Self::H264720p30fps3LayersHighMotion => "H264_720P_30FPS_3_LAYERS_HIGH_MOTION",
6357 Self::H2641080p30fps3LayersHighMotion => "H264_1080P_30FPS_3_LAYERS_HIGH_MOTION",
6358 Self::H264540p25fps2LayersHighMotion => "H264_540P_25FPS_2_LAYERS_HIGH_MOTION",
6359 Self::H264720p30fps1LayerHighMotion => "H264_720P_30FPS_1_LAYER_HIGH_MOTION",
6360 Self::H2641080p30fps1LayerHighMotion => "H264_1080P_30FPS_1_LAYER_HIGH_MOTION",
6361 }
6362 }
6363 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6365 match value {
6366 "H264_720P_30FPS_3_LAYERS" => Some(Self::H264720p30fps3Layers),
6367 "H264_1080P_30FPS_3_LAYERS" => Some(Self::H2641080p30fps3Layers),
6368 "H264_540P_25FPS_2_LAYERS" => Some(Self::H264540p25fps2Layers),
6369 "H264_720P_30FPS_1_LAYER" => Some(Self::H264720p30fps1Layer),
6370 "H264_1080P_30FPS_1_LAYER" => Some(Self::H2641080p30fps1Layer),
6371 "H264_720P_30FPS_3_LAYERS_HIGH_MOTION" => Some(Self::H264720p30fps3LayersHighMotion),
6372 "H264_1080P_30FPS_3_LAYERS_HIGH_MOTION" => Some(Self::H2641080p30fps3LayersHighMotion),
6373 "H264_540P_25FPS_2_LAYERS_HIGH_MOTION" => Some(Self::H264540p25fps2LayersHighMotion),
6374 "H264_720P_30FPS_1_LAYER_HIGH_MOTION" => Some(Self::H264720p30fps1LayerHighMotion),
6375 "H264_1080P_30FPS_1_LAYER_HIGH_MOTION" => Some(Self::H2641080p30fps1LayerHighMotion),
6376 _ => None,
6377 }
6378 }
6379}
6380#[derive(Clone, PartialEq, ::prost::Message)]
6381pub struct WebhookEvent {
6382 #[prost(string, tag = "1")]
6386 pub event: ::prost::alloc::string::String,
6387 #[prost(message, optional, tag = "2")]
6388 pub room: ::core::option::Option<Room>,
6389 #[prost(message, optional, tag = "3")]
6391 pub participant: ::core::option::Option<ParticipantInfo>,
6392 #[prost(message, optional, tag = "9")]
6394 pub egress_info: ::core::option::Option<EgressInfo>,
6395 #[prost(message, optional, tag = "10")]
6397 pub ingress_info: ::core::option::Option<IngressInfo>,
6398 #[prost(message, optional, tag = "8")]
6400 pub track: ::core::option::Option<TrackInfo>,
6401 #[prost(message, optional, tag = "12")]
6403 pub job: ::core::option::Option<Job>,
6404 #[prost(string, tag = "6")]
6406 pub id: ::prost::alloc::string::String,
6407 #[prost(int64, tag = "7")]
6409 pub created_at: i64,
6410 #[deprecated]
6411 #[prost(int32, tag = "11")]
6412 pub num_dropped: i32,
6413 #[prost(enumeration = "RoomEndReason", tag = "13")]
6415 pub room_end_reason: i32,
6416}
6417#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6419pub struct SipStatus {
6420 #[prost(enumeration = "SipStatusCode", tag = "1")]
6421 pub code: i32,
6422 #[prost(string, tag = "2")]
6423 pub status: ::prost::alloc::string::String,
6424}
6425#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6426pub struct CreateSipTrunkRequest {
6427 #[prost(string, repeated, tag = "1")]
6430 pub inbound_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6431 #[prost(string, tag = "2")]
6433 pub outbound_address: ::prost::alloc::string::String,
6434 #[prost(string, tag = "3")]
6436 pub outbound_number: ::prost::alloc::string::String,
6437 #[deprecated]
6438 #[prost(string, repeated, tag = "4")]
6439 pub inbound_numbers_regex: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6440 #[prost(string, repeated, tag = "9")]
6444 pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6445 #[prost(string, tag = "5")]
6448 pub inbound_username: ::prost::alloc::string::String,
6449 #[prost(string, tag = "6")]
6450 pub inbound_password: ::prost::alloc::string::String,
6451 #[prost(string, tag = "7")]
6452 pub outbound_username: ::prost::alloc::string::String,
6453 #[prost(string, tag = "8")]
6454 pub outbound_password: ::prost::alloc::string::String,
6455 #[prost(string, tag = "10")]
6457 pub name: ::prost::alloc::string::String,
6458 #[prost(string, tag = "11")]
6460 pub metadata: ::prost::alloc::string::String,
6461}
6462#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6463pub struct SipCodec {
6464 #[prost(string, tag = "1")]
6465 pub name: ::prost::alloc::string::String,
6466 #[prost(uint32, tag = "2")]
6467 pub rate: u32,
6468}
6469#[derive(Clone, PartialEq, ::prost::Message)]
6470pub struct SipMediaConfig {
6471 #[prost(bool, tag = "1")]
6473 pub only_listed_codecs: bool,
6474 #[prost(message, repeated, tag = "2")]
6476 pub codecs: ::prost::alloc::vec::Vec<SipCodec>,
6477 #[prost(enumeration = "SipMediaEncryption", optional, tag = "3")]
6478 pub encryption: ::core::option::Option<i32>,
6479 #[prost(message, optional, tag = "4")]
6481 pub media_timeout: ::core::option::Option<::pbjson_types::Duration>,
6482 #[prost(bool, tag = "5")]
6485 pub drop_audio_during_dtmf: bool,
6486}
6487#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6488pub struct ProviderInfo {
6489 #[prost(string, tag = "1")]
6490 pub id: ::prost::alloc::string::String,
6491 #[prost(string, tag = "2")]
6492 pub name: ::prost::alloc::string::String,
6493 #[prost(enumeration = "ProviderType", tag = "3")]
6494 pub r#type: i32,
6495 #[prost(bool, tag = "4")]
6496 pub prevent_transfer: bool,
6497}
6498#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6499pub struct SipTrunkInfo {
6500 #[prost(string, tag = "1")]
6501 pub sip_trunk_id: ::prost::alloc::string::String,
6502 #[prost(enumeration = "sip_trunk_info::TrunkKind", tag = "14")]
6503 pub kind: i32,
6504 #[prost(string, repeated, tag = "2")]
6507 pub inbound_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6508 #[prost(string, tag = "3")]
6510 pub outbound_address: ::prost::alloc::string::String,
6511 #[prost(string, tag = "4")]
6513 pub outbound_number: ::prost::alloc::string::String,
6514 #[prost(enumeration = "SipTransport", tag = "13")]
6516 pub transport: i32,
6517 #[deprecated]
6518 #[prost(string, repeated, tag = "5")]
6519 pub inbound_numbers_regex: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6520 #[prost(string, repeated, tag = "10")]
6524 pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6525 #[prost(string, tag = "6")]
6528 pub inbound_username: ::prost::alloc::string::String,
6529 #[prost(string, tag = "7")]
6530 pub inbound_password: ::prost::alloc::string::String,
6531 #[prost(string, tag = "8")]
6532 pub outbound_username: ::prost::alloc::string::String,
6533 #[prost(string, tag = "9")]
6534 pub outbound_password: ::prost::alloc::string::String,
6535 #[prost(string, tag = "11")]
6537 pub name: ::prost::alloc::string::String,
6538 #[prost(string, tag = "12")]
6540 pub metadata: ::prost::alloc::string::String,
6541}
6542pub mod sip_trunk_info {
6544 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6545 #[repr(i32)]
6546 pub enum TrunkKind {
6547 TrunkLegacy = 0,
6548 TrunkInbound = 1,
6549 TrunkOutbound = 2,
6550 }
6551 impl TrunkKind {
6552 pub fn as_str_name(&self) -> &'static str {
6557 match self {
6558 Self::TrunkLegacy => "TRUNK_LEGACY",
6559 Self::TrunkInbound => "TRUNK_INBOUND",
6560 Self::TrunkOutbound => "TRUNK_OUTBOUND",
6561 }
6562 }
6563 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6565 match value {
6566 "TRUNK_LEGACY" => Some(Self::TrunkLegacy),
6567 "TRUNK_INBOUND" => Some(Self::TrunkInbound),
6568 "TRUNK_OUTBOUND" => Some(Self::TrunkOutbound),
6569 _ => None,
6570 }
6571 }
6572 }
6573}
6574#[derive(Clone, PartialEq, ::prost::Message)]
6575pub struct CreateSipInboundTrunkRequest {
6576 #[prost(message, optional, tag = "1")]
6578 pub trunk: ::core::option::Option<SipInboundTrunkInfo>,
6579}
6580#[derive(Clone, PartialEq, ::prost::Message)]
6581pub struct UpdateSipInboundTrunkRequest {
6582 #[prost(string, tag = "1")]
6583 pub sip_trunk_id: ::prost::alloc::string::String,
6584 #[prost(oneof = "update_sip_inbound_trunk_request::Action", tags = "2, 3")]
6585 pub action: ::core::option::Option<update_sip_inbound_trunk_request::Action>,
6586}
6587pub mod update_sip_inbound_trunk_request {
6589 #[derive(Clone, PartialEq, ::prost::Oneof)]
6590 pub enum Action {
6591 #[prost(message, tag = "2")]
6592 Replace(super::SipInboundTrunkInfo),
6593 #[prost(message, tag = "3")]
6594 Update(super::SipInboundTrunkUpdate),
6595 }
6596}
6597#[derive(Clone, PartialEq, ::prost::Message)]
6598pub struct SipInboundTrunkInfo {
6599 #[prost(string, tag = "1")]
6600 pub sip_trunk_id: ::prost::alloc::string::String,
6601 #[prost(string, tag = "2")]
6603 pub name: ::prost::alloc::string::String,
6604 #[prost(string, tag = "3")]
6606 pub metadata: ::prost::alloc::string::String,
6607 #[prost(string, repeated, tag = "4")]
6610 pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6611 #[prost(string, repeated, tag = "5")]
6614 pub allowed_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6615 #[prost(string, repeated, tag = "6")]
6618 pub allowed_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6619 #[prost(string, tag = "7")]
6622 pub auth_username: ::prost::alloc::string::String,
6623 #[prost(string, tag = "8")]
6624 pub auth_password: ::prost::alloc::string::String,
6625 #[prost(string, tag = "19")]
6626 pub auth_realm: ::prost::alloc::string::String,
6627 #[prost(map = "string, string", tag = "9")]
6629 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6630 #[prost(map = "string, string", tag = "10")]
6632 pub headers_to_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6633 #[prost(map = "string, string", tag = "14")]
6636 pub attributes_to_headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6637 #[prost(enumeration = "SipHeaderOptions", tag = "15")]
6644 pub include_headers: i32,
6645 #[prost(message, optional, tag = "11")]
6647 pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
6648 #[prost(enumeration = "SipStatusCode", tag = "21")]
6650 pub ringing_timeout_status: i32,
6651 #[prost(message, optional, tag = "12")]
6653 pub max_call_duration: ::core::option::Option<::pbjson_types::Duration>,
6654 #[prost(bool, tag = "13")]
6655 pub krisp_enabled: bool,
6656 #[deprecated]
6657 #[prost(enumeration = "SipMediaEncryption", tag = "16")]
6658 pub media_encryption: i32,
6659 #[prost(message, optional, tag = "20")]
6660 pub media: ::core::option::Option<SipMediaConfig>,
6661 #[prost(message, optional, tag = "17")]
6662 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
6663 #[prost(message, optional, tag = "18")]
6664 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
6665}
6666#[derive(Clone, PartialEq, ::prost::Message)]
6667pub struct SipInboundTrunkUpdate {
6668 #[prost(message, optional, tag = "1")]
6669 pub numbers: ::core::option::Option<ListUpdate>,
6670 #[prost(message, optional, tag = "2")]
6671 pub allowed_addresses: ::core::option::Option<ListUpdate>,
6672 #[prost(message, optional, tag = "3")]
6673 pub allowed_numbers: ::core::option::Option<ListUpdate>,
6674 #[prost(string, optional, tag = "4")]
6675 pub auth_username: ::core::option::Option<::prost::alloc::string::String>,
6676 #[prost(string, optional, tag = "5")]
6677 pub auth_password: ::core::option::Option<::prost::alloc::string::String>,
6678 #[prost(string, optional, tag = "9")]
6679 pub auth_realm: ::core::option::Option<::prost::alloc::string::String>,
6680 #[prost(string, optional, tag = "6")]
6681 pub name: ::core::option::Option<::prost::alloc::string::String>,
6682 #[prost(string, optional, tag = "7")]
6683 pub metadata: ::core::option::Option<::prost::alloc::string::String>,
6684 #[deprecated]
6685 #[prost(enumeration = "SipMediaEncryption", optional, tag = "8")]
6686 pub media_encryption: ::core::option::Option<i32>,
6687 #[prost(message, optional, tag = "10")]
6688 pub media: ::core::option::Option<SipMediaConfig>,
6689}
6690#[derive(Clone, PartialEq, ::prost::Message)]
6691pub struct CreateSipOutboundTrunkRequest {
6692 #[prost(message, optional, tag = "1")]
6694 pub trunk: ::core::option::Option<SipOutboundTrunkInfo>,
6695}
6696#[derive(Clone, PartialEq, ::prost::Message)]
6697pub struct UpdateSipOutboundTrunkRequest {
6698 #[prost(string, tag = "1")]
6699 pub sip_trunk_id: ::prost::alloc::string::String,
6700 #[prost(oneof = "update_sip_outbound_trunk_request::Action", tags = "2, 3")]
6701 pub action: ::core::option::Option<update_sip_outbound_trunk_request::Action>,
6702}
6703pub mod update_sip_outbound_trunk_request {
6705 #[derive(Clone, PartialEq, ::prost::Oneof)]
6706 pub enum Action {
6707 #[prost(message, tag = "2")]
6708 Replace(super::SipOutboundTrunkInfo),
6709 #[prost(message, tag = "3")]
6710 Update(super::SipOutboundTrunkUpdate),
6711 }
6712}
6713#[derive(Clone, PartialEq, ::prost::Message)]
6714pub struct SipOutboundTrunkInfo {
6715 #[prost(string, tag = "1")]
6716 pub sip_trunk_id: ::prost::alloc::string::String,
6717 #[prost(string, tag = "2")]
6719 pub name: ::prost::alloc::string::String,
6720 #[prost(string, tag = "3")]
6722 pub metadata: ::prost::alloc::string::String,
6723 #[prost(string, tag = "4")]
6726 pub address: ::prost::alloc::string::String,
6727 #[prost(string, tag = "14")]
6729 pub destination_country: ::prost::alloc::string::String,
6730 #[prost(enumeration = "SipTransport", tag = "5")]
6732 pub transport: i32,
6733 #[prost(string, repeated, tag = "6")]
6735 pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6736 #[prost(string, tag = "7")]
6739 pub auth_username: ::prost::alloc::string::String,
6740 #[prost(string, tag = "8")]
6741 pub auth_password: ::prost::alloc::string::String,
6742 #[prost(map = "string, string", tag = "9")]
6745 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6746 #[prost(map = "string, string", tag = "10")]
6749 pub headers_to_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6750 #[prost(map = "string, string", tag = "11")]
6753 pub attributes_to_headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6754 #[prost(enumeration = "SipHeaderOptions", tag = "12")]
6761 pub include_headers: i32,
6762 #[deprecated]
6763 #[prost(enumeration = "SipMediaEncryption", tag = "13")]
6764 pub media_encryption: i32,
6765 #[prost(message, optional, tag = "18")]
6766 pub media: ::core::option::Option<SipMediaConfig>,
6767 #[prost(string, tag = "15")]
6771 pub from_host: ::prost::alloc::string::String,
6772 #[prost(message, optional, tag = "16")]
6773 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
6774 #[prost(message, optional, tag = "17")]
6775 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
6776}
6777#[derive(Clone, PartialEq, ::prost::Message)]
6778pub struct SipOutboundTrunkUpdate {
6779 #[prost(string, optional, tag = "1")]
6780 pub address: ::core::option::Option<::prost::alloc::string::String>,
6781 #[prost(enumeration = "SipTransport", optional, tag = "2")]
6782 pub transport: ::core::option::Option<i32>,
6783 #[prost(string, optional, tag = "9")]
6784 pub destination_country: ::core::option::Option<::prost::alloc::string::String>,
6785 #[prost(message, optional, tag = "3")]
6786 pub numbers: ::core::option::Option<ListUpdate>,
6787 #[prost(string, optional, tag = "4")]
6788 pub auth_username: ::core::option::Option<::prost::alloc::string::String>,
6789 #[prost(string, optional, tag = "5")]
6790 pub auth_password: ::core::option::Option<::prost::alloc::string::String>,
6791 #[prost(string, optional, tag = "6")]
6792 pub name: ::core::option::Option<::prost::alloc::string::String>,
6793 #[prost(string, optional, tag = "7")]
6794 pub metadata: ::core::option::Option<::prost::alloc::string::String>,
6795 #[deprecated]
6796 #[prost(enumeration = "SipMediaEncryption", optional, tag = "8")]
6797 pub media_encryption: ::core::option::Option<i32>,
6798 #[prost(message, optional, tag = "11")]
6799 pub media: ::core::option::Option<SipMediaConfig>,
6800 #[prost(string, optional, tag = "10")]
6801 pub from_host: ::core::option::Option<::prost::alloc::string::String>,
6802}
6803#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6804pub struct GetSipInboundTrunkRequest {
6805 #[prost(string, tag = "1")]
6806 pub sip_trunk_id: ::prost::alloc::string::String,
6807}
6808#[derive(Clone, PartialEq, ::prost::Message)]
6809pub struct GetSipInboundTrunkResponse {
6810 #[prost(message, optional, tag = "1")]
6811 pub trunk: ::core::option::Option<SipInboundTrunkInfo>,
6812}
6813#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6814pub struct GetSipOutboundTrunkRequest {
6815 #[prost(string, tag = "1")]
6816 pub sip_trunk_id: ::prost::alloc::string::String,
6817}
6818#[derive(Clone, PartialEq, ::prost::Message)]
6819pub struct GetSipOutboundTrunkResponse {
6820 #[prost(message, optional, tag = "1")]
6821 pub trunk: ::core::option::Option<SipOutboundTrunkInfo>,
6822}
6823#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6824pub struct ListSipTrunkRequest {
6825 #[prost(message, optional, tag = "1")]
6826 pub page: ::core::option::Option<Pagination>,
6827}
6828#[derive(Clone, PartialEq, ::prost::Message)]
6829pub struct ListSipTrunkResponse {
6830 #[prost(message, repeated, tag = "1")]
6831 pub items: ::prost::alloc::vec::Vec<SipTrunkInfo>,
6832}
6833#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6835pub struct ListSipInboundTrunkRequest {
6836 #[prost(message, optional, tag = "3")]
6837 pub page: ::core::option::Option<Pagination>,
6838 #[prost(string, repeated, tag = "1")]
6841 pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6842 #[prost(string, repeated, tag = "2")]
6844 pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6845}
6846#[derive(Clone, PartialEq, ::prost::Message)]
6847pub struct ListSipInboundTrunkResponse {
6848 #[prost(message, repeated, tag = "1")]
6849 pub items: ::prost::alloc::vec::Vec<SipInboundTrunkInfo>,
6850}
6851#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6853pub struct ListSipOutboundTrunkRequest {
6854 #[prost(message, optional, tag = "3")]
6855 pub page: ::core::option::Option<Pagination>,
6856 #[prost(string, repeated, tag = "1")]
6859 pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6860 #[prost(string, repeated, tag = "2")]
6862 pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6863}
6864#[derive(Clone, PartialEq, ::prost::Message)]
6865pub struct ListSipOutboundTrunkResponse {
6866 #[prost(message, repeated, tag = "1")]
6867 pub items: ::prost::alloc::vec::Vec<SipOutboundTrunkInfo>,
6868}
6869#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6870pub struct DeleteSipTrunkRequest {
6871 #[prost(string, tag = "1")]
6872 pub sip_trunk_id: ::prost::alloc::string::String,
6873}
6874#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6875pub struct SipDispatchRuleDirect {
6876 #[prost(string, tag = "1")]
6878 pub room_name: ::prost::alloc::string::String,
6879 #[prost(string, tag = "2")]
6881 pub pin: ::prost::alloc::string::String,
6882}
6883#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6884pub struct SipDispatchRuleIndividual {
6885 #[prost(string, tag = "1")]
6887 pub room_prefix: ::prost::alloc::string::String,
6888 #[prost(string, tag = "2")]
6890 pub pin: ::prost::alloc::string::String,
6891 #[prost(bool, tag = "3")]
6893 pub no_randomness: bool,
6894}
6895#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6896pub struct SipDispatchRuleCallee {
6897 #[prost(string, tag = "1")]
6899 pub room_prefix: ::prost::alloc::string::String,
6900 #[prost(string, tag = "2")]
6902 pub pin: ::prost::alloc::string::String,
6903 #[prost(bool, tag = "3")]
6905 pub randomize: bool,
6906}
6907#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6908pub struct SipDispatchRule {
6909 #[prost(oneof = "sip_dispatch_rule::Rule", tags = "1, 2, 3")]
6910 pub rule: ::core::option::Option<sip_dispatch_rule::Rule>,
6911}
6912pub mod sip_dispatch_rule {
6914 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
6915 pub enum Rule {
6916 #[prost(message, tag = "1")]
6920 DispatchRuleDirect(super::SipDispatchRuleDirect),
6921 #[prost(message, tag = "2")]
6923 DispatchRuleIndividual(super::SipDispatchRuleIndividual),
6924 #[prost(message, tag = "3")]
6926 DispatchRuleCallee(super::SipDispatchRuleCallee),
6927 }
6928}
6929#[derive(Clone, PartialEq, ::prost::Message)]
6930pub struct CreateSipDispatchRuleRequest {
6931 #[prost(message, optional, tag = "10")]
6933 pub dispatch_rule: ::core::option::Option<SipDispatchRuleInfo>,
6934 #[deprecated]
6935 #[prost(message, optional, tag = "1")]
6936 pub rule: ::core::option::Option<SipDispatchRule>,
6937 #[deprecated]
6940 #[prost(string, repeated, tag = "2")]
6941 pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6942 #[deprecated]
6945 #[prost(bool, tag = "3")]
6946 pub hide_phone_number: bool,
6947 #[deprecated]
6949 #[prost(string, repeated, tag = "6")]
6950 pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6951 #[deprecated]
6953 #[prost(string, tag = "4")]
6954 pub name: ::prost::alloc::string::String,
6955 #[deprecated]
6958 #[prost(string, tag = "5")]
6959 pub metadata: ::prost::alloc::string::String,
6960 #[prost(map = "string, string", tag = "7")]
6963 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6964 #[deprecated]
6966 #[prost(string, tag = "8")]
6967 pub room_preset: ::prost::alloc::string::String,
6968 #[deprecated]
6970 #[prost(message, optional, tag = "9")]
6971 pub room_config: ::core::option::Option<RoomConfiguration>,
6972}
6973#[derive(Clone, PartialEq, ::prost::Message)]
6974pub struct UpdateSipDispatchRuleRequest {
6975 #[prost(string, tag = "1")]
6976 pub sip_dispatch_rule_id: ::prost::alloc::string::String,
6977 #[prost(oneof = "update_sip_dispatch_rule_request::Action", tags = "2, 3")]
6978 pub action: ::core::option::Option<update_sip_dispatch_rule_request::Action>,
6979}
6980pub mod update_sip_dispatch_rule_request {
6982 #[derive(Clone, PartialEq, ::prost::Oneof)]
6983 pub enum Action {
6984 #[prost(message, tag = "2")]
6985 Replace(super::SipDispatchRuleInfo),
6986 #[prost(message, tag = "3")]
6987 Update(super::SipDispatchRuleUpdate),
6988 }
6989}
6990#[derive(Clone, PartialEq, ::prost::Message)]
6991pub struct SipDispatchRuleInfo {
6992 #[prost(string, tag = "1")]
6993 pub sip_dispatch_rule_id: ::prost::alloc::string::String,
6994 #[prost(message, optional, tag = "2")]
6995 pub rule: ::core::option::Option<SipDispatchRule>,
6996 #[prost(string, repeated, tag = "3")]
6997 pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6998 #[prost(bool, tag = "4")]
6999 pub hide_phone_number: bool,
7000 #[prost(string, repeated, tag = "7")]
7002 pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7003 #[prost(string, repeated, tag = "13")]
7005 pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7006 #[prost(string, tag = "5")]
7008 pub name: ::prost::alloc::string::String,
7009 #[prost(string, tag = "6")]
7012 pub metadata: ::prost::alloc::string::String,
7013 #[prost(map = "string, string", tag = "8")]
7016 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
7017 #[prost(string, tag = "9")]
7019 pub room_preset: ::prost::alloc::string::String,
7020 #[prost(message, optional, tag = "10")]
7022 pub room_config: ::core::option::Option<RoomConfiguration>,
7023 #[prost(message, optional, tag = "16")]
7024 pub media: ::core::option::Option<SipMediaConfig>,
7025 #[prost(bool, tag = "11")]
7026 pub krisp_enabled: bool,
7027 #[deprecated]
7028 #[prost(enumeration = "SipMediaEncryption", tag = "12")]
7029 pub media_encryption: i32,
7030 #[prost(message, optional, tag = "14")]
7031 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
7032 #[prost(message, optional, tag = "15")]
7033 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
7034}
7035#[derive(Clone, PartialEq, ::prost::Message)]
7036pub struct SipDispatchRuleUpdate {
7037 #[prost(message, optional, tag = "1")]
7038 pub trunk_ids: ::core::option::Option<ListUpdate>,
7039 #[prost(message, optional, tag = "2")]
7040 pub rule: ::core::option::Option<SipDispatchRule>,
7041 #[prost(string, optional, tag = "3")]
7042 pub name: ::core::option::Option<::prost::alloc::string::String>,
7043 #[prost(string, optional, tag = "4")]
7044 pub metadata: ::core::option::Option<::prost::alloc::string::String>,
7045 #[prost(map = "string, string", tag = "5")]
7046 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
7047 #[deprecated]
7048 #[prost(enumeration = "SipMediaEncryption", optional, tag = "6")]
7049 pub media_encryption: ::core::option::Option<i32>,
7050 #[prost(message, optional, tag = "7")]
7051 pub media: ::core::option::Option<SipMediaConfig>,
7052}
7053#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7055pub struct ListSipDispatchRuleRequest {
7056 #[prost(message, optional, tag = "3")]
7057 pub page: ::core::option::Option<Pagination>,
7058 #[prost(string, repeated, tag = "1")]
7061 pub dispatch_rule_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7062 #[prost(string, repeated, tag = "2")]
7064 pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
7065}
7066#[derive(Clone, PartialEq, ::prost::Message)]
7067pub struct ListSipDispatchRuleResponse {
7068 #[prost(message, repeated, tag = "1")]
7069 pub items: ::prost::alloc::vec::Vec<SipDispatchRuleInfo>,
7070}
7071#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7072pub struct DeleteSipDispatchRuleRequest {
7073 #[prost(string, tag = "1")]
7074 pub sip_dispatch_rule_id: ::prost::alloc::string::String,
7075}
7076#[derive(Clone, PartialEq, ::prost::Message)]
7077pub struct SipOutboundConfig {
7078 #[prost(string, tag = "1")]
7080 pub hostname: ::prost::alloc::string::String,
7081 #[prost(string, tag = "7")]
7083 pub destination_country: ::prost::alloc::string::String,
7084 #[prost(enumeration = "SipTransport", tag = "2")]
7086 pub transport: i32,
7087 #[prost(string, tag = "3")]
7090 pub auth_username: ::prost::alloc::string::String,
7091 #[prost(string, tag = "4")]
7092 pub auth_password: ::prost::alloc::string::String,
7093 #[prost(map = "string, string", tag = "5")]
7096 pub headers_to_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
7097 #[prost(map = "string, string", tag = "6")]
7100 pub attributes_to_headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
7101 #[prost(string, tag = "8")]
7103 pub from_host: ::prost::alloc::string::String,
7104}
7105#[derive(Clone, PartialEq, ::prost::Message)]
7108pub struct CreateSipParticipantRequest {
7109 #[prost(string, tag = "1")]
7111 pub sip_trunk_id: ::prost::alloc::string::String,
7112 #[prost(message, optional, tag = "20")]
7113 pub trunk: ::core::option::Option<SipOutboundConfig>,
7114 #[prost(message, optional, tag = "24")]
7116 pub sip_request_uri: ::core::option::Option<SipRequestDest>,
7117 #[prost(message, optional, tag = "25")]
7122 pub sip_to_header: ::core::option::Option<SipNamedDest>,
7123 #[prost(message, optional, tag = "26")]
7125 pub sip_from_header: ::core::option::Option<SipNamedDest>,
7126 #[prost(string, tag = "2")]
7128 pub sip_call_to: ::prost::alloc::string::String,
7129 #[prost(string, tag = "27")]
7138 pub to_user_override: ::prost::alloc::string::String,
7139 #[prost(string, tag = "15")]
7141 pub sip_number: ::prost::alloc::string::String,
7142 #[prost(string, tag = "3")]
7144 pub room_name: ::prost::alloc::string::String,
7145 #[prost(string, tag = "4")]
7147 pub participant_identity: ::prost::alloc::string::String,
7148 #[prost(string, tag = "7")]
7150 pub participant_name: ::prost::alloc::string::String,
7151 #[prost(string, tag = "8")]
7153 pub participant_metadata: ::prost::alloc::string::String,
7154 #[prost(map = "string, string", tag = "9")]
7156 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
7157 #[prost(string, tag = "5")]
7160 pub dtmf: ::prost::alloc::string::String,
7161 #[deprecated]
7163 #[prost(bool, tag = "6")]
7164 pub play_ringtone: bool,
7165 #[deprecated]
7166 #[prost(bool, tag = "13")]
7167 pub play_dialtone: bool,
7168 #[prost(enumeration = "SipDialtone", tag = "28")]
7170 pub dialtone: i32,
7171 #[prost(bool, tag = "10")]
7174 pub hide_phone_number: bool,
7175 #[prost(map = "string, string", tag = "16")]
7177 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
7178 #[prost(enumeration = "SipHeaderOptions", tag = "17")]
7185 pub include_headers: i32,
7186 #[prost(message, optional, tag = "11")]
7188 pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
7189 #[prost(message, optional, tag = "12")]
7191 pub max_call_duration: ::core::option::Option<::pbjson_types::Duration>,
7192 #[prost(bool, tag = "14")]
7194 pub krisp_enabled: bool,
7195 #[deprecated]
7196 #[prost(enumeration = "SipMediaEncryption", tag = "18")]
7197 pub media_encryption: i32,
7198 #[prost(message, optional, tag = "23")]
7199 pub media: ::core::option::Option<SipMediaConfig>,
7200 #[prost(bool, tag = "19")]
7202 pub wait_until_answered: bool,
7203 #[prost(string, optional, tag = "21")]
7210 pub display_name: ::core::option::Option<::prost::alloc::string::String>,
7211 #[prost(message, optional, tag = "22")]
7212 pub destination: ::core::option::Option<Destination>,
7213 #[prost(string, tag = "29")]
7224 pub sip_source_call_id: ::prost::alloc::string::String,
7225}
7226#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7227pub struct SipParticipantInfo {
7228 #[prost(string, tag = "1")]
7229 pub participant_id: ::prost::alloc::string::String,
7230 #[prost(string, tag = "2")]
7231 pub participant_identity: ::prost::alloc::string::String,
7232 #[prost(string, tag = "3")]
7233 pub room_name: ::prost::alloc::string::String,
7234 #[prost(string, tag = "4")]
7235 pub sip_call_id: ::prost::alloc::string::String,
7236}
7237#[derive(Clone, PartialEq, ::prost::Message)]
7238pub struct TransferSipParticipantRequest {
7239 #[prost(string, tag = "1")]
7240 pub participant_identity: ::prost::alloc::string::String,
7241 #[prost(string, tag = "2")]
7242 pub room_name: ::prost::alloc::string::String,
7243 #[prost(string, tag = "3")]
7244 pub transfer_to: ::prost::alloc::string::String,
7245 #[deprecated]
7247 #[prost(bool, tag = "4")]
7248 pub play_dialtone: bool,
7249 #[prost(enumeration = "SipDialtone", tag = "7")]
7251 pub dialtone: i32,
7252 #[prost(map = "string, string", tag = "5")]
7254 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
7255 #[prost(message, optional, tag = "6")]
7257 pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
7258}
7259#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7263pub struct TransferSipParticipantResponse {
7264 #[prost(string, tag = "1")]
7265 pub transfer_id: ::prost::alloc::string::String,
7266 #[prost(enumeration = "SipTransferStatus", tag = "2")]
7267 pub status: i32,
7268 #[prost(enumeration = "SipTransferReason", tag = "3")]
7269 pub reason: i32,
7270 #[prost(message, optional, tag = "4")]
7272 pub sip_status: ::core::option::Option<SipStatus>,
7273}
7274#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7276pub struct SipTransferError {
7277 #[prost(string, tag = "1")]
7278 pub transfer_id: ::prost::alloc::string::String,
7279 #[prost(enumeration = "SipTransferReason", tag = "2")]
7280 pub reason: i32,
7281 #[prost(message, optional, tag = "3")]
7283 pub sip_status: ::core::option::Option<SipStatus>,
7284}
7285#[derive(Clone, PartialEq, ::prost::Message)]
7286pub struct SipCallInfo {
7287 #[prost(string, tag = "1")]
7288 pub call_id: ::prost::alloc::string::String,
7289 #[prost(string, tag = "2")]
7290 pub trunk_id: ::prost::alloc::string::String,
7291 #[prost(string, tag = "16")]
7292 pub dispatch_rule_id: ::prost::alloc::string::String,
7293 #[prost(string, tag = "17")]
7294 pub region: ::prost::alloc::string::String,
7295 #[prost(string, tag = "3")]
7296 pub room_name: ::prost::alloc::string::String,
7297 #[prost(string, tag = "4")]
7299 pub room_id: ::prost::alloc::string::String,
7300 #[prost(string, tag = "5")]
7301 pub participant_identity: ::prost::alloc::string::String,
7302 #[prost(map = "string, string", tag = "18")]
7303 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
7304 #[prost(message, optional, tag = "6")]
7305 pub from_uri: ::core::option::Option<SipUri>,
7306 #[prost(message, optional, tag = "7")]
7307 pub to_uri: ::core::option::Option<SipUri>,
7308 #[deprecated]
7309 #[prost(int64, tag = "9")]
7310 pub created_at: i64,
7311 #[deprecated]
7312 #[prost(int64, tag = "10")]
7313 pub started_at: i64,
7314 #[deprecated]
7315 #[prost(int64, tag = "11")]
7316 pub ended_at: i64,
7317 #[prost(enumeration = "SipFeature", repeated, tag = "14")]
7318 pub enabled_features: ::prost::alloc::vec::Vec<i32>,
7319 #[prost(enumeration = "SipCallDirection", tag = "15")]
7320 pub call_direction: i32,
7321 #[prost(enumeration = "SipCallStatus", tag = "8")]
7322 pub call_status: i32,
7323 #[prost(int64, tag = "22")]
7324 pub created_at_ns: i64,
7325 #[prost(int64, tag = "23")]
7326 pub started_at_ns: i64,
7327 #[prost(int64, tag = "24")]
7328 pub ended_at_ns: i64,
7329 #[prost(enumeration = "DisconnectReason", tag = "12")]
7330 pub disconnect_reason: i32,
7331 #[prost(string, tag = "13")]
7332 pub error: ::prost::alloc::string::String,
7333 #[prost(message, optional, tag = "19")]
7334 pub call_status_code: ::core::option::Option<SipStatus>,
7335 #[prost(string, tag = "20")]
7336 pub audio_codec: ::prost::alloc::string::String,
7337 #[prost(string, tag = "21")]
7338 pub media_encryption: ::prost::alloc::string::String,
7339 #[prost(string, tag = "25")]
7340 pub pcap_file_link: ::prost::alloc::string::String,
7341 #[prost(message, repeated, tag = "26")]
7342 pub call_context: ::prost::alloc::vec::Vec<::pbjson_types::Any>,
7343 #[prost(message, optional, tag = "27")]
7344 pub provider_info: ::core::option::Option<ProviderInfo>,
7345 #[prost(string, tag = "28")]
7346 pub sip_call_id: ::prost::alloc::string::String,
7347}
7348#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7349pub struct SipTransferInfo {
7350 #[prost(string, tag = "1")]
7351 pub transfer_id: ::prost::alloc::string::String,
7352 #[prost(string, tag = "2")]
7353 pub call_id: ::prost::alloc::string::String,
7354 #[prost(string, tag = "3")]
7355 pub transfer_to: ::prost::alloc::string::String,
7356 #[prost(int64, tag = "4")]
7357 pub transfer_initiated_at_ns: i64,
7358 #[prost(int64, tag = "5")]
7359 pub transfer_completed_at_ns: i64,
7360 #[prost(enumeration = "SipTransferStatus", tag = "6")]
7361 pub transfer_status: i32,
7362 #[prost(string, tag = "7")]
7363 pub error: ::prost::alloc::string::String,
7364 #[prost(message, optional, tag = "8")]
7365 pub transfer_status_code: ::core::option::Option<SipStatus>,
7366 #[prost(enumeration = "SipTransferReason", tag = "9")]
7367 pub reason: i32,
7368}
7369#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7370pub struct SipUri {
7371 #[prost(string, tag = "1")]
7372 pub user: ::prost::alloc::string::String,
7373 #[prost(string, tag = "2")]
7374 pub host: ::prost::alloc::string::String,
7375 #[prost(string, tag = "3")]
7376 pub ip: ::prost::alloc::string::String,
7377 #[prost(uint32, tag = "4")]
7378 pub port: u32,
7379 #[prost(enumeration = "SipTransport", tag = "5")]
7380 pub transport: i32,
7381}
7382#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7383pub struct SipRequestDest {
7384 #[prost(oneof = "sip_request_dest::Uri", tags = "1, 2")]
7385 pub uri: ::core::option::Option<sip_request_dest::Uri>,
7386}
7387pub mod sip_request_dest {
7389 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
7390 pub enum Uri {
7391 #[prost(string, tag = "1")]
7393 Raw(::prost::alloc::string::String),
7394 #[prost(message, tag = "2")]
7395 Values(super::SipUri),
7396 }
7397}
7398#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7399pub struct SipNamedDest {
7400 #[prost(string, tag = "3")]
7401 pub display_name: ::prost::alloc::string::String,
7402 #[prost(oneof = "sip_named_dest::Uri", tags = "1, 2")]
7403 pub uri: ::core::option::Option<sip_named_dest::Uri>,
7404}
7405pub mod sip_named_dest {
7407 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
7408 pub enum Uri {
7409 #[prost(string, tag = "1")]
7411 Raw(::prost::alloc::string::String),
7412 #[prost(message, tag = "2")]
7413 Values(super::SipUri),
7414 }
7415}
7416#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7417pub struct Destination {
7418 #[prost(string, tag = "1")]
7419 pub city: ::prost::alloc::string::String,
7420 #[prost(string, tag = "2")]
7421 pub country: ::prost::alloc::string::String,
7422 #[prost(string, tag = "3")]
7423 pub region: ::prost::alloc::string::String,
7424}
7425#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7426#[repr(i32)]
7427pub enum SipStatusCode {
7428 SipStatusUnknown = 0,
7429 SipStatusTrying = 100,
7430 SipStatusRinging = 180,
7431 SipStatusCallIsForwarded = 181,
7432 SipStatusQueued = 182,
7433 SipStatusSessionProgress = 183,
7434 SipStatusEarlyDialogTerminated = 199,
7435 SipStatusOk = 200,
7436 SipStatusAccepted = 202,
7437 SipStatusNoNotification = 204,
7438 SipStatusMultipleChoices = 300,
7439 SipStatusMovedPermanently = 301,
7440 SipStatusMovedTemporarily = 302,
7441 SipStatusUseProxy = 305,
7442 SipStatusAlternativeService = 380,
7443 SipStatusBadRequest = 400,
7444 SipStatusUnauthorized = 401,
7445 SipStatusPaymentRequired = 402,
7446 SipStatusForbidden = 403,
7447 SipStatusNotfound = 404,
7448 SipStatusMethodNotAllowed = 405,
7449 SipStatusNotAcceptable = 406,
7450 SipStatusProxyAuthRequired = 407,
7451 SipStatusRequestTimeout = 408,
7452 SipStatusConflict = 409,
7453 SipStatusGone = 410,
7454 SipStatusLengthRequired = 411,
7455 SipStatusConditionalRequestFailed = 412,
7456 SipStatusRequestEntityTooLarge = 413,
7457 SipStatusRequestUriTooLong = 414,
7458 SipStatusUnsupportedMediaType = 415,
7459 SipStatusRequestedRangeNotSatisfiable = 416,
7460 SipStatusUnknownResourcePriority = 417,
7461 SipStatusBadExtension = 420,
7462 SipStatusExtensionRequired = 421,
7463 SipStatusSessionIntervalTooSmall = 422,
7464 SipStatusIntervalTooBrief = 423,
7465 SipStatusBadLocationInformation = 424,
7466 SipStatusBadAlertMessage = 425,
7467 SipStatusUseIdentityHeader = 428,
7468 SipStatusProvideReferrerIdentity = 429,
7469 SipStatusFlowFailed = 430,
7470 SipStatusAnonymityDisallowed = 433,
7471 SipStatusBadIdentityInfo = 436,
7472 SipStatusUnsupportedCertificate = 437,
7473 SipStatusInvalidIdentityHeader = 438,
7474 SipStatusFirstHopLacksOutboundSupport = 439,
7475 SipStatusMaxBreadthExceeded = 440,
7476 SipStatusBadInfoPackage = 469,
7477 SipStatusConsentNeeded = 470,
7478 SipStatusTemporarilyUnavailable = 480,
7479 SipStatusCallTransactionDoesNotExists = 481,
7480 SipStatusLoopDetected = 482,
7481 SipStatusTooManyHops = 483,
7482 SipStatusAddressIncomplete = 484,
7483 SipStatusAmbiguous = 485,
7484 SipStatusBusyHere = 486,
7485 SipStatusRequestTerminated = 487,
7486 SipStatusNotAcceptableHere = 488,
7487 SipStatusBadEvent = 489,
7488 SipStatusRequestPending = 491,
7489 SipStatusUndecipherable = 493,
7490 SipStatusSecurityAgreementRequired = 494,
7491 SipStatusInternalServerError = 500,
7492 SipStatusNotImplemented = 501,
7493 SipStatusBadGateway = 502,
7494 SipStatusServiceUnavailable = 503,
7495 SipStatusGatewayTimeout = 504,
7496 SipStatusVersionNotSupported = 505,
7497 SipStatusMessageTooLarge = 513,
7498 SipStatusGlobalBusyEverywhere = 600,
7499 SipStatusGlobalDecline = 603,
7500 SipStatusGlobalDoesNotExistAnywhere = 604,
7501 SipStatusGlobalNotAcceptable = 606,
7502 SipStatusGlobalUnwanted = 607,
7503 SipStatusGlobalRejected = 608,
7504}
7505impl SipStatusCode {
7506 pub fn as_str_name(&self) -> &'static str {
7511 match self {
7512 Self::SipStatusUnknown => "SIP_STATUS_UNKNOWN",
7513 Self::SipStatusTrying => "SIP_STATUS_TRYING",
7514 Self::SipStatusRinging => "SIP_STATUS_RINGING",
7515 Self::SipStatusCallIsForwarded => "SIP_STATUS_CALL_IS_FORWARDED",
7516 Self::SipStatusQueued => "SIP_STATUS_QUEUED",
7517 Self::SipStatusSessionProgress => "SIP_STATUS_SESSION_PROGRESS",
7518 Self::SipStatusEarlyDialogTerminated => "SIP_STATUS_EARLY_DIALOG_TERMINATED",
7519 Self::SipStatusOk => "SIP_STATUS_OK",
7520 Self::SipStatusAccepted => "SIP_STATUS_ACCEPTED",
7521 Self::SipStatusNoNotification => "SIP_STATUS_NO_NOTIFICATION",
7522 Self::SipStatusMultipleChoices => "SIP_STATUS_MULTIPLE_CHOICES",
7523 Self::SipStatusMovedPermanently => "SIP_STATUS_MOVED_PERMANENTLY",
7524 Self::SipStatusMovedTemporarily => "SIP_STATUS_MOVED_TEMPORARILY",
7525 Self::SipStatusUseProxy => "SIP_STATUS_USE_PROXY",
7526 Self::SipStatusAlternativeService => "SIP_STATUS_ALTERNATIVE_SERVICE",
7527 Self::SipStatusBadRequest => "SIP_STATUS_BAD_REQUEST",
7528 Self::SipStatusUnauthorized => "SIP_STATUS_UNAUTHORIZED",
7529 Self::SipStatusPaymentRequired => "SIP_STATUS_PAYMENT_REQUIRED",
7530 Self::SipStatusForbidden => "SIP_STATUS_FORBIDDEN",
7531 Self::SipStatusNotfound => "SIP_STATUS_NOTFOUND",
7532 Self::SipStatusMethodNotAllowed => "SIP_STATUS_METHOD_NOT_ALLOWED",
7533 Self::SipStatusNotAcceptable => "SIP_STATUS_NOT_ACCEPTABLE",
7534 Self::SipStatusProxyAuthRequired => "SIP_STATUS_PROXY_AUTH_REQUIRED",
7535 Self::SipStatusRequestTimeout => "SIP_STATUS_REQUEST_TIMEOUT",
7536 Self::SipStatusConflict => "SIP_STATUS_CONFLICT",
7537 Self::SipStatusGone => "SIP_STATUS_GONE",
7538 Self::SipStatusLengthRequired => "SIP_STATUS_LENGTH_REQUIRED",
7539 Self::SipStatusConditionalRequestFailed => "SIP_STATUS_CONDITIONAL_REQUEST_FAILED",
7540 Self::SipStatusRequestEntityTooLarge => "SIP_STATUS_REQUEST_ENTITY_TOO_LARGE",
7541 Self::SipStatusRequestUriTooLong => "SIP_STATUS_REQUEST_URI_TOO_LONG",
7542 Self::SipStatusUnsupportedMediaType => "SIP_STATUS_UNSUPPORTED_MEDIA_TYPE",
7543 Self::SipStatusRequestedRangeNotSatisfiable => "SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE",
7544 Self::SipStatusUnknownResourcePriority => "SIP_STATUS_UNKNOWN_RESOURCE_PRIORITY",
7545 Self::SipStatusBadExtension => "SIP_STATUS_BAD_EXTENSION",
7546 Self::SipStatusExtensionRequired => "SIP_STATUS_EXTENSION_REQUIRED",
7547 Self::SipStatusSessionIntervalTooSmall => "SIP_STATUS_SESSION_INTERVAL_TOO_SMALL",
7548 Self::SipStatusIntervalTooBrief => "SIP_STATUS_INTERVAL_TOO_BRIEF",
7549 Self::SipStatusBadLocationInformation => "SIP_STATUS_BAD_LOCATION_INFORMATION",
7550 Self::SipStatusBadAlertMessage => "SIP_STATUS_BAD_ALERT_MESSAGE",
7551 Self::SipStatusUseIdentityHeader => "SIP_STATUS_USE_IDENTITY_HEADER",
7552 Self::SipStatusProvideReferrerIdentity => "SIP_STATUS_PROVIDE_REFERRER_IDENTITY",
7553 Self::SipStatusFlowFailed => "SIP_STATUS_FLOW_FAILED",
7554 Self::SipStatusAnonymityDisallowed => "SIP_STATUS_ANONYMITY_DISALLOWED",
7555 Self::SipStatusBadIdentityInfo => "SIP_STATUS_BAD_IDENTITY_INFO",
7556 Self::SipStatusUnsupportedCertificate => "SIP_STATUS_UNSUPPORTED_CERTIFICATE",
7557 Self::SipStatusInvalidIdentityHeader => "SIP_STATUS_INVALID_IDENTITY_HEADER",
7558 Self::SipStatusFirstHopLacksOutboundSupport => "SIP_STATUS_FIRST_HOP_LACKS_OUTBOUND_SUPPORT",
7559 Self::SipStatusMaxBreadthExceeded => "SIP_STATUS_MAX_BREADTH_EXCEEDED",
7560 Self::SipStatusBadInfoPackage => "SIP_STATUS_BAD_INFO_PACKAGE",
7561 Self::SipStatusConsentNeeded => "SIP_STATUS_CONSENT_NEEDED",
7562 Self::SipStatusTemporarilyUnavailable => "SIP_STATUS_TEMPORARILY_UNAVAILABLE",
7563 Self::SipStatusCallTransactionDoesNotExists => "SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS",
7564 Self::SipStatusLoopDetected => "SIP_STATUS_LOOP_DETECTED",
7565 Self::SipStatusTooManyHops => "SIP_STATUS_TOO_MANY_HOPS",
7566 Self::SipStatusAddressIncomplete => "SIP_STATUS_ADDRESS_INCOMPLETE",
7567 Self::SipStatusAmbiguous => "SIP_STATUS_AMBIGUOUS",
7568 Self::SipStatusBusyHere => "SIP_STATUS_BUSY_HERE",
7569 Self::SipStatusRequestTerminated => "SIP_STATUS_REQUEST_TERMINATED",
7570 Self::SipStatusNotAcceptableHere => "SIP_STATUS_NOT_ACCEPTABLE_HERE",
7571 Self::SipStatusBadEvent => "SIP_STATUS_BAD_EVENT",
7572 Self::SipStatusRequestPending => "SIP_STATUS_REQUEST_PENDING",
7573 Self::SipStatusUndecipherable => "SIP_STATUS_UNDECIPHERABLE",
7574 Self::SipStatusSecurityAgreementRequired => "SIP_STATUS_SECURITY_AGREEMENT_REQUIRED",
7575 Self::SipStatusInternalServerError => "SIP_STATUS_INTERNAL_SERVER_ERROR",
7576 Self::SipStatusNotImplemented => "SIP_STATUS_NOT_IMPLEMENTED",
7577 Self::SipStatusBadGateway => "SIP_STATUS_BAD_GATEWAY",
7578 Self::SipStatusServiceUnavailable => "SIP_STATUS_SERVICE_UNAVAILABLE",
7579 Self::SipStatusGatewayTimeout => "SIP_STATUS_GATEWAY_TIMEOUT",
7580 Self::SipStatusVersionNotSupported => "SIP_STATUS_VERSION_NOT_SUPPORTED",
7581 Self::SipStatusMessageTooLarge => "SIP_STATUS_MESSAGE_TOO_LARGE",
7582 Self::SipStatusGlobalBusyEverywhere => "SIP_STATUS_GLOBAL_BUSY_EVERYWHERE",
7583 Self::SipStatusGlobalDecline => "SIP_STATUS_GLOBAL_DECLINE",
7584 Self::SipStatusGlobalDoesNotExistAnywhere => "SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE",
7585 Self::SipStatusGlobalNotAcceptable => "SIP_STATUS_GLOBAL_NOT_ACCEPTABLE",
7586 Self::SipStatusGlobalUnwanted => "SIP_STATUS_GLOBAL_UNWANTED",
7587 Self::SipStatusGlobalRejected => "SIP_STATUS_GLOBAL_REJECTED",
7588 }
7589 }
7590 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7592 match value {
7593 "SIP_STATUS_UNKNOWN" => Some(Self::SipStatusUnknown),
7594 "SIP_STATUS_TRYING" => Some(Self::SipStatusTrying),
7595 "SIP_STATUS_RINGING" => Some(Self::SipStatusRinging),
7596 "SIP_STATUS_CALL_IS_FORWARDED" => Some(Self::SipStatusCallIsForwarded),
7597 "SIP_STATUS_QUEUED" => Some(Self::SipStatusQueued),
7598 "SIP_STATUS_SESSION_PROGRESS" => Some(Self::SipStatusSessionProgress),
7599 "SIP_STATUS_EARLY_DIALOG_TERMINATED" => Some(Self::SipStatusEarlyDialogTerminated),
7600 "SIP_STATUS_OK" => Some(Self::SipStatusOk),
7601 "SIP_STATUS_ACCEPTED" => Some(Self::SipStatusAccepted),
7602 "SIP_STATUS_NO_NOTIFICATION" => Some(Self::SipStatusNoNotification),
7603 "SIP_STATUS_MULTIPLE_CHOICES" => Some(Self::SipStatusMultipleChoices),
7604 "SIP_STATUS_MOVED_PERMANENTLY" => Some(Self::SipStatusMovedPermanently),
7605 "SIP_STATUS_MOVED_TEMPORARILY" => Some(Self::SipStatusMovedTemporarily),
7606 "SIP_STATUS_USE_PROXY" => Some(Self::SipStatusUseProxy),
7607 "SIP_STATUS_ALTERNATIVE_SERVICE" => Some(Self::SipStatusAlternativeService),
7608 "SIP_STATUS_BAD_REQUEST" => Some(Self::SipStatusBadRequest),
7609 "SIP_STATUS_UNAUTHORIZED" => Some(Self::SipStatusUnauthorized),
7610 "SIP_STATUS_PAYMENT_REQUIRED" => Some(Self::SipStatusPaymentRequired),
7611 "SIP_STATUS_FORBIDDEN" => Some(Self::SipStatusForbidden),
7612 "SIP_STATUS_NOTFOUND" => Some(Self::SipStatusNotfound),
7613 "SIP_STATUS_METHOD_NOT_ALLOWED" => Some(Self::SipStatusMethodNotAllowed),
7614 "SIP_STATUS_NOT_ACCEPTABLE" => Some(Self::SipStatusNotAcceptable),
7615 "SIP_STATUS_PROXY_AUTH_REQUIRED" => Some(Self::SipStatusProxyAuthRequired),
7616 "SIP_STATUS_REQUEST_TIMEOUT" => Some(Self::SipStatusRequestTimeout),
7617 "SIP_STATUS_CONFLICT" => Some(Self::SipStatusConflict),
7618 "SIP_STATUS_GONE" => Some(Self::SipStatusGone),
7619 "SIP_STATUS_LENGTH_REQUIRED" => Some(Self::SipStatusLengthRequired),
7620 "SIP_STATUS_CONDITIONAL_REQUEST_FAILED" => Some(Self::SipStatusConditionalRequestFailed),
7621 "SIP_STATUS_REQUEST_ENTITY_TOO_LARGE" => Some(Self::SipStatusRequestEntityTooLarge),
7622 "SIP_STATUS_REQUEST_URI_TOO_LONG" => Some(Self::SipStatusRequestUriTooLong),
7623 "SIP_STATUS_UNSUPPORTED_MEDIA_TYPE" => Some(Self::SipStatusUnsupportedMediaType),
7624 "SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE" => Some(Self::SipStatusRequestedRangeNotSatisfiable),
7625 "SIP_STATUS_UNKNOWN_RESOURCE_PRIORITY" => Some(Self::SipStatusUnknownResourcePriority),
7626 "SIP_STATUS_BAD_EXTENSION" => Some(Self::SipStatusBadExtension),
7627 "SIP_STATUS_EXTENSION_REQUIRED" => Some(Self::SipStatusExtensionRequired),
7628 "SIP_STATUS_SESSION_INTERVAL_TOO_SMALL" => Some(Self::SipStatusSessionIntervalTooSmall),
7629 "SIP_STATUS_INTERVAL_TOO_BRIEF" => Some(Self::SipStatusIntervalTooBrief),
7630 "SIP_STATUS_BAD_LOCATION_INFORMATION" => Some(Self::SipStatusBadLocationInformation),
7631 "SIP_STATUS_BAD_ALERT_MESSAGE" => Some(Self::SipStatusBadAlertMessage),
7632 "SIP_STATUS_USE_IDENTITY_HEADER" => Some(Self::SipStatusUseIdentityHeader),
7633 "SIP_STATUS_PROVIDE_REFERRER_IDENTITY" => Some(Self::SipStatusProvideReferrerIdentity),
7634 "SIP_STATUS_FLOW_FAILED" => Some(Self::SipStatusFlowFailed),
7635 "SIP_STATUS_ANONYMITY_DISALLOWED" => Some(Self::SipStatusAnonymityDisallowed),
7636 "SIP_STATUS_BAD_IDENTITY_INFO" => Some(Self::SipStatusBadIdentityInfo),
7637 "SIP_STATUS_UNSUPPORTED_CERTIFICATE" => Some(Self::SipStatusUnsupportedCertificate),
7638 "SIP_STATUS_INVALID_IDENTITY_HEADER" => Some(Self::SipStatusInvalidIdentityHeader),
7639 "SIP_STATUS_FIRST_HOP_LACKS_OUTBOUND_SUPPORT" => Some(Self::SipStatusFirstHopLacksOutboundSupport),
7640 "SIP_STATUS_MAX_BREADTH_EXCEEDED" => Some(Self::SipStatusMaxBreadthExceeded),
7641 "SIP_STATUS_BAD_INFO_PACKAGE" => Some(Self::SipStatusBadInfoPackage),
7642 "SIP_STATUS_CONSENT_NEEDED" => Some(Self::SipStatusConsentNeeded),
7643 "SIP_STATUS_TEMPORARILY_UNAVAILABLE" => Some(Self::SipStatusTemporarilyUnavailable),
7644 "SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS" => Some(Self::SipStatusCallTransactionDoesNotExists),
7645 "SIP_STATUS_LOOP_DETECTED" => Some(Self::SipStatusLoopDetected),
7646 "SIP_STATUS_TOO_MANY_HOPS" => Some(Self::SipStatusTooManyHops),
7647 "SIP_STATUS_ADDRESS_INCOMPLETE" => Some(Self::SipStatusAddressIncomplete),
7648 "SIP_STATUS_AMBIGUOUS" => Some(Self::SipStatusAmbiguous),
7649 "SIP_STATUS_BUSY_HERE" => Some(Self::SipStatusBusyHere),
7650 "SIP_STATUS_REQUEST_TERMINATED" => Some(Self::SipStatusRequestTerminated),
7651 "SIP_STATUS_NOT_ACCEPTABLE_HERE" => Some(Self::SipStatusNotAcceptableHere),
7652 "SIP_STATUS_BAD_EVENT" => Some(Self::SipStatusBadEvent),
7653 "SIP_STATUS_REQUEST_PENDING" => Some(Self::SipStatusRequestPending),
7654 "SIP_STATUS_UNDECIPHERABLE" => Some(Self::SipStatusUndecipherable),
7655 "SIP_STATUS_SECURITY_AGREEMENT_REQUIRED" => Some(Self::SipStatusSecurityAgreementRequired),
7656 "SIP_STATUS_INTERNAL_SERVER_ERROR" => Some(Self::SipStatusInternalServerError),
7657 "SIP_STATUS_NOT_IMPLEMENTED" => Some(Self::SipStatusNotImplemented),
7658 "SIP_STATUS_BAD_GATEWAY" => Some(Self::SipStatusBadGateway),
7659 "SIP_STATUS_SERVICE_UNAVAILABLE" => Some(Self::SipStatusServiceUnavailable),
7660 "SIP_STATUS_GATEWAY_TIMEOUT" => Some(Self::SipStatusGatewayTimeout),
7661 "SIP_STATUS_VERSION_NOT_SUPPORTED" => Some(Self::SipStatusVersionNotSupported),
7662 "SIP_STATUS_MESSAGE_TOO_LARGE" => Some(Self::SipStatusMessageTooLarge),
7663 "SIP_STATUS_GLOBAL_BUSY_EVERYWHERE" => Some(Self::SipStatusGlobalBusyEverywhere),
7664 "SIP_STATUS_GLOBAL_DECLINE" => Some(Self::SipStatusGlobalDecline),
7665 "SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE" => Some(Self::SipStatusGlobalDoesNotExistAnywhere),
7666 "SIP_STATUS_GLOBAL_NOT_ACCEPTABLE" => Some(Self::SipStatusGlobalNotAcceptable),
7667 "SIP_STATUS_GLOBAL_UNWANTED" => Some(Self::SipStatusGlobalUnwanted),
7668 "SIP_STATUS_GLOBAL_REJECTED" => Some(Self::SipStatusGlobalRejected),
7669 _ => None,
7670 }
7671 }
7672}
7673#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7674#[repr(i32)]
7675pub enum SipTransport {
7676 Auto = 0,
7677 Udp = 1,
7678 Tcp = 2,
7679 Tls = 3,
7680}
7681impl SipTransport {
7682 pub fn as_str_name(&self) -> &'static str {
7687 match self {
7688 Self::Auto => "SIP_TRANSPORT_AUTO",
7689 Self::Udp => "SIP_TRANSPORT_UDP",
7690 Self::Tcp => "SIP_TRANSPORT_TCP",
7691 Self::Tls => "SIP_TRANSPORT_TLS",
7692 }
7693 }
7694 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7696 match value {
7697 "SIP_TRANSPORT_AUTO" => Some(Self::Auto),
7698 "SIP_TRANSPORT_UDP" => Some(Self::Udp),
7699 "SIP_TRANSPORT_TCP" => Some(Self::Tcp),
7700 "SIP_TRANSPORT_TLS" => Some(Self::Tls),
7701 _ => None,
7702 }
7703 }
7704}
7705#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7706#[repr(i32)]
7707pub enum SipHeaderOptions {
7708 SipNoHeaders = 0,
7710 SipXHeaders = 1,
7712 SipAllHeaders = 2,
7714}
7715impl SipHeaderOptions {
7716 pub fn as_str_name(&self) -> &'static str {
7721 match self {
7722 Self::SipNoHeaders => "SIP_NO_HEADERS",
7723 Self::SipXHeaders => "SIP_X_HEADERS",
7724 Self::SipAllHeaders => "SIP_ALL_HEADERS",
7725 }
7726 }
7727 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7729 match value {
7730 "SIP_NO_HEADERS" => Some(Self::SipNoHeaders),
7731 "SIP_X_HEADERS" => Some(Self::SipXHeaders),
7732 "SIP_ALL_HEADERS" => Some(Self::SipAllHeaders),
7733 _ => None,
7734 }
7735 }
7736}
7737#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7738#[repr(i32)]
7739pub enum SipMediaEncryption {
7740 SipMediaEncryptDisable = 0,
7742 SipMediaEncryptAllow = 1,
7744 SipMediaEncryptRequire = 2,
7746}
7747impl SipMediaEncryption {
7748 pub fn as_str_name(&self) -> &'static str {
7753 match self {
7754 Self::SipMediaEncryptDisable => "SIP_MEDIA_ENCRYPT_DISABLE",
7755 Self::SipMediaEncryptAllow => "SIP_MEDIA_ENCRYPT_ALLOW",
7756 Self::SipMediaEncryptRequire => "SIP_MEDIA_ENCRYPT_REQUIRE",
7757 }
7758 }
7759 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7761 match value {
7762 "SIP_MEDIA_ENCRYPT_DISABLE" => Some(Self::SipMediaEncryptDisable),
7763 "SIP_MEDIA_ENCRYPT_ALLOW" => Some(Self::SipMediaEncryptAllow),
7764 "SIP_MEDIA_ENCRYPT_REQUIRE" => Some(Self::SipMediaEncryptRequire),
7765 _ => None,
7766 }
7767 }
7768}
7769#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7772#[repr(i32)]
7773pub enum SipDialtone {
7774 Disabled = 0,
7776 Etsi = 1,
7778 Auto = 2,
7780 Us = 3,
7782 Uk = 4,
7783 Jp = 5,
7784 Au = 6,
7785}
7786impl SipDialtone {
7787 pub fn as_str_name(&self) -> &'static str {
7792 match self {
7793 Self::Disabled => "SIP_DIALTONE_DISABLED",
7794 Self::Etsi => "SIP_DIALTONE_ETSI",
7795 Self::Auto => "SIP_DIALTONE_AUTO",
7796 Self::Us => "SIP_DIALTONE_US",
7797 Self::Uk => "SIP_DIALTONE_UK",
7798 Self::Jp => "SIP_DIALTONE_JP",
7799 Self::Au => "SIP_DIALTONE_AU",
7800 }
7801 }
7802 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7804 match value {
7805 "SIP_DIALTONE_DISABLED" => Some(Self::Disabled),
7806 "SIP_DIALTONE_ETSI" => Some(Self::Etsi),
7807 "SIP_DIALTONE_AUTO" => Some(Self::Auto),
7808 "SIP_DIALTONE_US" => Some(Self::Us),
7809 "SIP_DIALTONE_UK" => Some(Self::Uk),
7810 "SIP_DIALTONE_JP" => Some(Self::Jp),
7811 "SIP_DIALTONE_AU" => Some(Self::Au),
7812 _ => None,
7813 }
7814 }
7815}
7816#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7817#[repr(i32)]
7818pub enum ProviderType {
7819 Unknown = 0,
7820 Internal = 1,
7822 External = 2,
7824}
7825impl ProviderType {
7826 pub fn as_str_name(&self) -> &'static str {
7831 match self {
7832 Self::Unknown => "PROVIDER_TYPE_UNKNOWN",
7833 Self::Internal => "PROVIDER_TYPE_INTERNAL",
7834 Self::External => "PROVIDER_TYPE_EXTERNAL",
7835 }
7836 }
7837 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7839 match value {
7840 "PROVIDER_TYPE_UNKNOWN" => Some(Self::Unknown),
7841 "PROVIDER_TYPE_INTERNAL" => Some(Self::Internal),
7842 "PROVIDER_TYPE_EXTERNAL" => Some(Self::External),
7843 _ => None,
7844 }
7845 }
7846}
7847#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7848#[repr(i32)]
7849pub enum SipCallStatus {
7850 ScsCallIncoming = 0,
7852 ScsParticipantJoined = 1,
7854 ScsActive = 2,
7856 ScsDisconnected = 3,
7858 ScsError = 4,
7860}
7861impl SipCallStatus {
7862 pub fn as_str_name(&self) -> &'static str {
7867 match self {
7868 Self::ScsCallIncoming => "SCS_CALL_INCOMING",
7869 Self::ScsParticipantJoined => "SCS_PARTICIPANT_JOINED",
7870 Self::ScsActive => "SCS_ACTIVE",
7871 Self::ScsDisconnected => "SCS_DISCONNECTED",
7872 Self::ScsError => "SCS_ERROR",
7873 }
7874 }
7875 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7877 match value {
7878 "SCS_CALL_INCOMING" => Some(Self::ScsCallIncoming),
7879 "SCS_PARTICIPANT_JOINED" => Some(Self::ScsParticipantJoined),
7880 "SCS_ACTIVE" => Some(Self::ScsActive),
7881 "SCS_DISCONNECTED" => Some(Self::ScsDisconnected),
7882 "SCS_ERROR" => Some(Self::ScsError),
7883 _ => None,
7884 }
7885 }
7886}
7887#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7888#[repr(i32)]
7889pub enum SipTransferStatus {
7890 StsTransferOngoing = 0,
7891 StsTransferFailed = 1,
7892 StsTransferSuccessful = 2,
7893}
7894impl SipTransferStatus {
7895 pub fn as_str_name(&self) -> &'static str {
7900 match self {
7901 Self::StsTransferOngoing => "STS_TRANSFER_ONGOING",
7902 Self::StsTransferFailed => "STS_TRANSFER_FAILED",
7903 Self::StsTransferSuccessful => "STS_TRANSFER_SUCCESSFUL",
7904 }
7905 }
7906 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7908 match value {
7909 "STS_TRANSFER_ONGOING" => Some(Self::StsTransferOngoing),
7910 "STS_TRANSFER_FAILED" => Some(Self::StsTransferFailed),
7911 "STS_TRANSFER_SUCCESSFUL" => Some(Self::StsTransferSuccessful),
7912 _ => None,
7913 }
7914 }
7915}
7916#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7917#[repr(i32)]
7918pub enum SipTransferReason {
7919 StrUnspecified = 0,
7921 StrCompleted = 1,
7923 StrCallEnded = 2,
7925 StrRejected = 3,
7927 StrRingingTimeout = 4,
7929 StrSubscriptionTerminated = 5,
7931 StrCanceled = 6,
7933}
7934impl SipTransferReason {
7935 pub fn as_str_name(&self) -> &'static str {
7940 match self {
7941 Self::StrUnspecified => "STR_UNSPECIFIED",
7942 Self::StrCompleted => "STR_COMPLETED",
7943 Self::StrCallEnded => "STR_CALL_ENDED",
7944 Self::StrRejected => "STR_REJECTED",
7945 Self::StrRingingTimeout => "STR_RINGING_TIMEOUT",
7946 Self::StrSubscriptionTerminated => "STR_SUBSCRIPTION_TERMINATED",
7947 Self::StrCanceled => "STR_CANCELED",
7948 }
7949 }
7950 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7952 match value {
7953 "STR_UNSPECIFIED" => Some(Self::StrUnspecified),
7954 "STR_COMPLETED" => Some(Self::StrCompleted),
7955 "STR_CALL_ENDED" => Some(Self::StrCallEnded),
7956 "STR_REJECTED" => Some(Self::StrRejected),
7957 "STR_RINGING_TIMEOUT" => Some(Self::StrRingingTimeout),
7958 "STR_SUBSCRIPTION_TERMINATED" => Some(Self::StrSubscriptionTerminated),
7959 "STR_CANCELED" => Some(Self::StrCanceled),
7960 _ => None,
7961 }
7962 }
7963}
7964#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7965#[repr(i32)]
7966pub enum SipFeature {
7967 None = 0,
7968 KrispEnabled = 1,
7969}
7970impl SipFeature {
7971 pub fn as_str_name(&self) -> &'static str {
7976 match self {
7977 Self::None => "NONE",
7978 Self::KrispEnabled => "KRISP_ENABLED",
7979 }
7980 }
7981 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7983 match value {
7984 "NONE" => Some(Self::None),
7985 "KRISP_ENABLED" => Some(Self::KrispEnabled),
7986 _ => None,
7987 }
7988 }
7989}
7990#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7991#[repr(i32)]
7992pub enum SipCallDirection {
7993 ScdUnknown = 0,
7994 ScdInbound = 1,
7995 ScdOutbound = 2,
7996}
7997impl SipCallDirection {
7998 pub fn as_str_name(&self) -> &'static str {
8003 match self {
8004 Self::ScdUnknown => "SCD_UNKNOWN",
8005 Self::ScdInbound => "SCD_INBOUND",
8006 Self::ScdOutbound => "SCD_OUTBOUND",
8007 }
8008 }
8009 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8011 match value {
8012 "SCD_UNKNOWN" => Some(Self::ScdUnknown),
8013 "SCD_INBOUND" => Some(Self::ScdInbound),
8014 "SCD_OUTBOUND" => Some(Self::ScdOutbound),
8015 _ => None,
8016 }
8017 }
8018}
8019#[derive(Clone, PartialEq, ::prost::Message)]
8020pub struct DialWhatsAppCallRequest {
8021 #[prost(string, tag = "1")]
8023 pub whatsapp_phone_number_id: ::prost::alloc::string::String,
8024 #[prost(string, tag = "2")]
8026 pub whatsapp_to_phone_number: ::prost::alloc::string::String,
8027 #[prost(string, tag = "3")]
8029 pub whatsapp_api_key: ::prost::alloc::string::String,
8030 #[prost(string, tag = "12")]
8032 pub whatsapp_cloud_api_version: ::prost::alloc::string::String,
8033 #[prost(string, tag = "4")]
8035 pub whatsapp_biz_opaque_callback_data: ::prost::alloc::string::String,
8036 #[prost(string, tag = "5")]
8038 pub room_name: ::prost::alloc::string::String,
8039 #[prost(message, repeated, tag = "6")]
8041 pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
8042 #[prost(string, tag = "7")]
8045 pub participant_identity: ::prost::alloc::string::String,
8046 #[prost(string, tag = "8")]
8048 pub participant_name: ::prost::alloc::string::String,
8049 #[prost(string, tag = "9")]
8051 pub participant_metadata: ::prost::alloc::string::String,
8052 #[prost(map = "string, string", tag = "10")]
8054 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
8055 #[prost(string, tag = "11")]
8057 pub destination_country: ::prost::alloc::string::String,
8058 #[prost(message, optional, tag = "13")]
8060 pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
8061}
8062#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8063pub struct DialWhatsAppCallResponse {
8064 #[prost(string, tag = "1")]
8066 pub whatsapp_call_id: ::prost::alloc::string::String,
8067 #[prost(string, tag = "2")]
8069 pub room_name: ::prost::alloc::string::String,
8070}
8071#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8072pub struct DisconnectWhatsAppCallRequest {
8073 #[prost(string, tag = "1")]
8075 pub whatsapp_call_id: ::prost::alloc::string::String,
8076 #[prost(string, tag = "2")]
8080 pub whatsapp_api_key: ::prost::alloc::string::String,
8081 #[prost(enumeration = "disconnect_whats_app_call_request::DisconnectReason", tag = "3")]
8083 pub disconnect_reason: i32,
8084}
8085pub mod disconnect_whats_app_call_request {
8087 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8088 #[repr(i32)]
8089 pub enum DisconnectReason {
8090 BusinessInitiated = 0,
8092 UserInitiated = 1,
8098 }
8099 impl DisconnectReason {
8100 pub fn as_str_name(&self) -> &'static str {
8105 match self {
8106 Self::BusinessInitiated => "BUSINESS_INITIATED",
8107 Self::UserInitiated => "USER_INITIATED",
8108 }
8109 }
8110 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8112 match value {
8113 "BUSINESS_INITIATED" => Some(Self::BusinessInitiated),
8114 "USER_INITIATED" => Some(Self::UserInitiated),
8115 _ => None,
8116 }
8117 }
8118 }
8119}
8120#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8121pub struct DisconnectWhatsAppCallResponse {
8122}
8123#[derive(Clone, PartialEq, ::prost::Message)]
8124pub struct ConnectWhatsAppCallRequest {
8125 #[prost(string, tag = "1")]
8127 pub whatsapp_call_id: ::prost::alloc::string::String,
8128 #[prost(message, optional, tag = "2")]
8131 pub sdp: ::core::option::Option<SessionDescription>,
8132 #[prost(bool, tag = "3")]
8134 pub wait_until_answered: bool,
8135}
8136#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8137pub struct ConnectWhatsAppCallResponse {
8138}
8139#[derive(Clone, PartialEq, ::prost::Message)]
8140pub struct AcceptWhatsAppCallRequest {
8141 #[prost(string, tag = "1")]
8143 pub whatsapp_phone_number_id: ::prost::alloc::string::String,
8144 #[prost(string, tag = "2")]
8146 pub whatsapp_api_key: ::prost::alloc::string::String,
8147 #[prost(string, tag = "13")]
8149 pub whatsapp_cloud_api_version: ::prost::alloc::string::String,
8150 #[prost(string, tag = "3")]
8152 pub whatsapp_call_id: ::prost::alloc::string::String,
8153 #[prost(string, tag = "4")]
8155 pub whatsapp_biz_opaque_callback_data: ::prost::alloc::string::String,
8156 #[prost(message, optional, tag = "5")]
8159 pub sdp: ::core::option::Option<SessionDescription>,
8160 #[prost(string, tag = "6")]
8162 pub room_name: ::prost::alloc::string::String,
8163 #[prost(message, repeated, tag = "7")]
8165 pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
8166 #[prost(string, tag = "8")]
8169 pub participant_identity: ::prost::alloc::string::String,
8170 #[prost(string, tag = "9")]
8172 pub participant_name: ::prost::alloc::string::String,
8173 #[prost(string, tag = "10")]
8175 pub participant_metadata: ::prost::alloc::string::String,
8176 #[prost(map = "string, string", tag = "11")]
8178 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
8179 #[prost(string, tag = "12")]
8181 pub destination_country: ::prost::alloc::string::String,
8182 #[prost(message, optional, tag = "14")]
8184 pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
8185 #[prost(bool, tag = "15")]
8187 pub wait_until_answered: bool,
8188}
8189#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8190pub struct AcceptWhatsAppCallResponse {
8191 #[prost(string, tag = "1")]
8193 pub room_name: ::prost::alloc::string::String,
8194}
8195#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8196pub struct WhatsAppCall {
8197 #[prost(string, tag = "1")]
8199 pub whatsapp_call_id: ::prost::alloc::string::String,
8200 #[prost(enumeration = "WhatsAppCallDirection", tag = "2")]
8202 pub direction: i32,
8203}
8204#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8205#[repr(i32)]
8206pub enum WhatsAppCallDirection {
8207 WhatsappCallDirectionInbound = 0,
8208 WhatsappCallDirectionOutbound = 2,
8209}
8210impl WhatsAppCallDirection {
8211 pub fn as_str_name(&self) -> &'static str {
8216 match self {
8217 Self::WhatsappCallDirectionInbound => "WHATSAPP_CALL_DIRECTION_INBOUND",
8218 Self::WhatsappCallDirectionOutbound => "WHATSAPP_CALL_DIRECTION_OUTBOUND",
8219 }
8220 }
8221 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8223 match value {
8224 "WHATSAPP_CALL_DIRECTION_INBOUND" => Some(Self::WhatsappCallDirectionInbound),
8225 "WHATSAPP_CALL_DIRECTION_OUTBOUND" => Some(Self::WhatsappCallDirectionOutbound),
8226 _ => None,
8227 }
8228 }
8229}
8230#[derive(Clone, PartialEq, ::prost::Message)]
8231pub struct ConnectTwilioCallRequest {
8232 #[prost(enumeration = "connect_twilio_call_request::TwilioCallDirection", tag = "1")]
8234 pub twilio_call_direction: i32,
8235 #[prost(string, tag = "2")]
8237 pub room_name: ::prost::alloc::string::String,
8238 #[prost(message, repeated, tag = "3")]
8240 pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
8241 #[prost(string, tag = "4")]
8244 pub participant_identity: ::prost::alloc::string::String,
8245 #[prost(string, tag = "5")]
8247 pub participant_name: ::prost::alloc::string::String,
8248 #[prost(string, tag = "6")]
8250 pub participant_metadata: ::prost::alloc::string::String,
8251 #[prost(map = "string, string", tag = "7")]
8253 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
8254 #[prost(string, tag = "8")]
8256 pub destination_country: ::prost::alloc::string::String,
8257}
8258pub mod connect_twilio_call_request {
8260 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8261 #[repr(i32)]
8262 pub enum TwilioCallDirection {
8263 Inbound = 0,
8265 Outbound = 1,
8267 }
8268 impl TwilioCallDirection {
8269 pub fn as_str_name(&self) -> &'static str {
8274 match self {
8275 Self::Inbound => "TWILIO_CALL_DIRECTION_INBOUND",
8276 Self::Outbound => "TWILIO_CALL_DIRECTION_OUTBOUND",
8277 }
8278 }
8279 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8281 match value {
8282 "TWILIO_CALL_DIRECTION_INBOUND" => Some(Self::Inbound),
8283 "TWILIO_CALL_DIRECTION_OUTBOUND" => Some(Self::Outbound),
8284 _ => None,
8285 }
8286 }
8287 }
8288}
8289#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8290pub struct ConnectTwilioCallResponse {
8291 #[prost(string, tag = "1")]
8293 pub connect_url: ::prost::alloc::string::String,
8294}
8295#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8296#[repr(i32)]
8297pub enum ConnectorType {
8298 Unspecified = 0,
8299 WhatsApp = 1,
8300 Twilio = 2,
8301}
8302impl ConnectorType {
8303 pub fn as_str_name(&self) -> &'static str {
8308 match self {
8309 Self::Unspecified => "Unspecified",
8310 Self::WhatsApp => "WhatsApp",
8311 Self::Twilio => "Twilio",
8312 }
8313 }
8314 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8316 match value {
8317 "Unspecified" => Some(Self::Unspecified),
8318 "WhatsApp" => Some(Self::WhatsApp),
8319 "Twilio" => Some(Self::Twilio),
8320 _ => None,
8321 }
8322 }
8323}
8324#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8325pub struct AnalyticsVideoLayer {
8326 #[prost(int32, tag = "1")]
8327 pub layer: i32,
8328 #[prost(uint32, tag = "2")]
8329 pub packets: u32,
8330 #[prost(uint64, tag = "3")]
8331 pub bytes: u64,
8332 #[prost(uint32, tag = "4")]
8333 pub frames: u32,
8334}
8335#[derive(Clone, PartialEq, ::prost::Message)]
8336pub struct AnalyticsStream {
8337 #[prost(uint32, tag = "1")]
8338 pub ssrc: u32,
8339 #[prost(uint32, tag = "2")]
8340 pub primary_packets: u32,
8341 #[prost(uint64, tag = "3")]
8342 pub primary_bytes: u64,
8343 #[prost(uint32, tag = "4")]
8344 pub retransmit_packets: u32,
8345 #[prost(uint64, tag = "5")]
8346 pub retransmit_bytes: u64,
8347 #[prost(uint32, tag = "6")]
8348 pub padding_packets: u32,
8349 #[prost(uint64, tag = "7")]
8350 pub padding_bytes: u64,
8351 #[prost(uint32, tag = "8")]
8352 pub packets_lost: u32,
8353 #[prost(uint32, tag = "9")]
8354 pub frames: u32,
8355 #[prost(uint32, tag = "10")]
8356 pub rtt: u32,
8357 #[prost(uint32, tag = "11")]
8358 pub jitter: u32,
8359 #[prost(uint32, tag = "12")]
8360 pub nacks: u32,
8361 #[prost(uint32, tag = "13")]
8362 pub plis: u32,
8363 #[prost(uint32, tag = "14")]
8364 pub firs: u32,
8365 #[prost(message, repeated, tag = "15")]
8366 pub video_layers: ::prost::alloc::vec::Vec<AnalyticsVideoLayer>,
8367 #[prost(message, optional, tag = "17")]
8368 pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
8369 #[prost(message, optional, tag = "18")]
8370 pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
8371 #[prost(uint32, tag = "19")]
8372 pub packets_out_of_order: u32,
8373}
8374#[derive(Clone, PartialEq, ::prost::Message)]
8375pub struct AnalyticsStat {
8376 #[prost(string, tag = "14")]
8378 pub id: ::prost::alloc::string::String,
8379 #[prost(string, tag = "1")]
8380 pub analytics_key: ::prost::alloc::string::String,
8381 #[prost(enumeration = "StreamType", tag = "2")]
8382 pub kind: i32,
8383 #[prost(message, optional, tag = "3")]
8384 pub time_stamp: ::core::option::Option<::pbjson_types::Timestamp>,
8385 #[prost(string, tag = "4")]
8386 pub node: ::prost::alloc::string::String,
8387 #[prost(string, tag = "5")]
8388 pub room_id: ::prost::alloc::string::String,
8389 #[prost(string, tag = "6")]
8390 pub room_name: ::prost::alloc::string::String,
8391 #[prost(string, tag = "7")]
8392 pub participant_id: ::prost::alloc::string::String,
8393 #[prost(string, tag = "8")]
8394 pub track_id: ::prost::alloc::string::String,
8395 #[prost(float, tag = "9")]
8397 pub score: f32,
8398 #[prost(message, repeated, tag = "10")]
8399 pub streams: ::prost::alloc::vec::Vec<AnalyticsStream>,
8400 #[prost(string, tag = "11")]
8401 pub mime: ::prost::alloc::string::String,
8402 #[prost(float, tag = "12")]
8403 pub min_score: f32,
8404 #[prost(float, tag = "13")]
8405 pub median_score: f32,
8406}
8407#[derive(Clone, PartialEq, ::prost::Message)]
8408pub struct AnalyticsStats {
8409 #[prost(message, repeated, tag = "1")]
8410 pub stats: ::prost::alloc::vec::Vec<AnalyticsStat>,
8411}
8412#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8413pub struct AnalyticsClientMeta {
8414 #[prost(string, tag = "1")]
8415 pub region: ::prost::alloc::string::String,
8416 #[prost(string, tag = "2")]
8417 pub node: ::prost::alloc::string::String,
8418 #[prost(string, tag = "3")]
8419 pub client_addr: ::prost::alloc::string::String,
8420 #[prost(uint32, tag = "4")]
8421 pub client_connect_time: u32,
8422 #[prost(string, tag = "5")]
8424 pub connection_type: ::prost::alloc::string::String,
8425 #[prost(enumeration = "ReconnectReason", tag = "6")]
8426 pub reconnect_reason: i32,
8427 #[prost(string, optional, tag = "7")]
8428 pub geo_hash: ::core::option::Option<::prost::alloc::string::String>,
8429 #[prost(string, optional, tag = "8")]
8430 pub country: ::core::option::Option<::prost::alloc::string::String>,
8431 #[prost(uint32, optional, tag = "9")]
8432 pub isp_asn: ::core::option::Option<u32>,
8433}
8434#[derive(Clone, PartialEq, ::prost::Message)]
8435pub struct AnalyticsEvent {
8436 #[prost(string, tag = "25")]
8438 pub id: ::prost::alloc::string::String,
8439 #[prost(enumeration = "AnalyticsEventType", tag = "1")]
8440 pub r#type: i32,
8441 #[prost(message, optional, tag = "2")]
8442 pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
8443 #[prost(string, tag = "3")]
8444 pub room_id: ::prost::alloc::string::String,
8445 #[prost(message, optional, tag = "4")]
8446 pub room: ::core::option::Option<Room>,
8447 #[prost(string, tag = "5")]
8448 pub participant_id: ::prost::alloc::string::String,
8449 #[prost(message, optional, tag = "6")]
8450 pub participant: ::core::option::Option<ParticipantInfo>,
8451 #[prost(string, tag = "7")]
8452 pub track_id: ::prost::alloc::string::String,
8453 #[prost(message, optional, tag = "8")]
8454 pub track: ::core::option::Option<TrackInfo>,
8455 #[prost(string, tag = "10")]
8456 pub analytics_key: ::prost::alloc::string::String,
8457 #[prost(message, optional, tag = "11")]
8458 pub client_info: ::core::option::Option<ClientInfo>,
8459 #[prost(message, optional, tag = "12")]
8460 pub client_meta: ::core::option::Option<AnalyticsClientMeta>,
8461 #[prost(string, tag = "13")]
8462 pub egress_id: ::prost::alloc::string::String,
8463 #[prost(string, tag = "19")]
8464 pub ingress_id: ::prost::alloc::string::String,
8465 #[prost(enumeration = "VideoQuality", tag = "14")]
8466 pub max_subscribed_video_quality: i32,
8467 #[prost(message, optional, tag = "15")]
8468 pub publisher: ::core::option::Option<ParticipantInfo>,
8469 #[prost(string, tag = "16")]
8470 pub mime: ::prost::alloc::string::String,
8471 #[prost(message, optional, tag = "17")]
8472 pub egress: ::core::option::Option<EgressInfo>,
8473 #[prost(message, optional, tag = "18")]
8474 pub ingress: ::core::option::Option<IngressInfo>,
8475 #[prost(string, tag = "20")]
8476 pub error: ::prost::alloc::string::String,
8477 #[prost(message, optional, tag = "21")]
8478 pub rtp_stats: ::core::option::Option<RtpStats>,
8479 #[prost(int32, tag = "22")]
8480 pub video_layer: i32,
8481 #[prost(string, tag = "24")]
8482 pub node_id: ::prost::alloc::string::String,
8483 #[prost(string, tag = "26")]
8484 pub sip_call_id: ::prost::alloc::string::String,
8485 #[prost(message, optional, tag = "27")]
8486 pub sip_call: ::core::option::Option<SipCallInfo>,
8487 #[prost(string, tag = "28")]
8488 pub sip_trunk_id: ::prost::alloc::string::String,
8489 #[prost(message, optional, tag = "29")]
8490 pub sip_inbound_trunk: ::core::option::Option<SipInboundTrunkInfo>,
8491 #[prost(message, optional, tag = "30")]
8492 pub sip_outbound_trunk: ::core::option::Option<SipOutboundTrunkInfo>,
8493 #[prost(string, tag = "31")]
8494 pub sip_dispatch_rule_id: ::prost::alloc::string::String,
8495 #[prost(message, optional, tag = "32")]
8496 pub sip_dispatch_rule: ::core::option::Option<SipDispatchRuleInfo>,
8497 #[prost(message, optional, tag = "36")]
8498 pub sip_transfer: ::core::option::Option<SipTransferInfo>,
8499 #[prost(message, optional, tag = "33")]
8500 pub report: ::core::option::Option<ReportInfo>,
8501 #[prost(message, optional, tag = "34")]
8502 pub api_call: ::core::option::Option<ApiCallInfo>,
8503 #[prost(message, optional, tag = "35")]
8504 pub webhook: ::core::option::Option<WebhookInfo>,
8505 #[prost(enumeration = "RoomEndReason", tag = "37")]
8506 pub room_end_reason: i32,
8507}
8508#[derive(Clone, PartialEq, ::prost::Message)]
8509pub struct AnalyticsEvents {
8510 #[prost(message, repeated, tag = "1")]
8511 pub events: ::prost::alloc::vec::Vec<AnalyticsEvent>,
8512}
8513#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8514pub struct AnalyticsRoomParticipant {
8515 #[prost(string, tag = "1")]
8516 pub id: ::prost::alloc::string::String,
8517 #[prost(string, tag = "2")]
8518 pub identity: ::prost::alloc::string::String,
8519 #[prost(string, tag = "3")]
8520 pub name: ::prost::alloc::string::String,
8521 #[prost(enumeration = "participant_info::State", tag = "4")]
8522 pub state: i32,
8523 #[prost(message, optional, tag = "5")]
8524 pub joined_at: ::core::option::Option<::pbjson_types::Timestamp>,
8525}
8526#[derive(Clone, PartialEq, ::prost::Message)]
8527pub struct AnalyticsRoom {
8528 #[prost(string, tag = "1")]
8529 pub id: ::prost::alloc::string::String,
8530 #[prost(string, tag = "2")]
8531 pub name: ::prost::alloc::string::String,
8532 #[prost(string, tag = "5")]
8533 pub project_id: ::prost::alloc::string::String,
8534 #[prost(message, optional, tag = "3")]
8535 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
8536 #[prost(message, repeated, tag = "4")]
8537 pub participants: ::prost::alloc::vec::Vec<AnalyticsRoomParticipant>,
8538}
8539#[derive(Clone, PartialEq, ::prost::Message)]
8540pub struct AnalyticsNodeRooms {
8541 #[prost(string, tag = "1")]
8542 pub node_id: ::prost::alloc::string::String,
8543 #[prost(uint64, tag = "2")]
8544 pub sequence_number: u64,
8545 #[prost(message, optional, tag = "3")]
8546 pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
8547 #[prost(message, repeated, tag = "4")]
8548 pub rooms: ::prost::alloc::vec::Vec<AnalyticsRoom>,
8549}
8550#[derive(Clone, PartialEq, ::prost::Message)]
8551pub struct ReportInfo {
8552 #[prost(oneof = "report_info::Message", tags = "1")]
8553 pub message: ::core::option::Option<report_info::Message>,
8554}
8555pub mod report_info {
8557 #[derive(Clone, PartialEq, ::prost::Oneof)]
8558 pub enum Message {
8559 #[prost(message, tag = "1")]
8560 FeatureUsage(super::FeatureUsageInfo),
8561 }
8562}
8563#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8564pub struct TimeRange {
8565 #[prost(message, optional, tag = "1")]
8566 pub started_at: ::core::option::Option<::pbjson_types::Timestamp>,
8567 #[prost(message, optional, tag = "2")]
8568 pub ended_at: ::core::option::Option<::pbjson_types::Timestamp>,
8569}
8570#[derive(Clone, PartialEq, ::prost::Message)]
8571pub struct FeatureUsageInfo {
8572 #[prost(enumeration = "feature_usage_info::Feature", tag = "1")]
8573 pub feature: i32,
8574 #[prost(string, tag = "2")]
8575 pub project_id: ::prost::alloc::string::String,
8576 #[prost(string, tag = "3")]
8577 pub room_name: ::prost::alloc::string::String,
8578 #[prost(string, tag = "4")]
8579 pub room_id: ::prost::alloc::string::String,
8580 #[prost(string, tag = "5")]
8581 pub participant_identity: ::prost::alloc::string::String,
8582 #[prost(string, tag = "6")]
8583 pub participant_id: ::prost::alloc::string::String,
8584 #[prost(string, tag = "7")]
8585 pub track_id: ::prost::alloc::string::String,
8586 #[prost(message, repeated, tag = "8")]
8590 pub time_ranges: ::prost::alloc::vec::Vec<TimeRange>,
8591 #[prost(map = "string, string", tag = "9")]
8593 pub feature_info: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
8594}
8595pub mod feature_usage_info {
8597 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8598 #[repr(i32)]
8599 pub enum Feature {
8600 KrispNoiseCancellation = 0,
8601 KrispBackgroundVoiceCancellation = 1,
8602 AicAudioEnhancement = 2,
8603 KrispViva = 3,
8604 }
8605 impl Feature {
8606 pub fn as_str_name(&self) -> &'static str {
8611 match self {
8612 Self::KrispNoiseCancellation => "KRISP_NOISE_CANCELLATION",
8613 Self::KrispBackgroundVoiceCancellation => "KRISP_BACKGROUND_VOICE_CANCELLATION",
8614 Self::AicAudioEnhancement => "AIC_AUDIO_ENHANCEMENT",
8615 Self::KrispViva => "KRISP_VIVA",
8616 }
8617 }
8618 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8620 match value {
8621 "KRISP_NOISE_CANCELLATION" => Some(Self::KrispNoiseCancellation),
8622 "KRISP_BACKGROUND_VOICE_CANCELLATION" => Some(Self::KrispBackgroundVoiceCancellation),
8623 "AIC_AUDIO_ENHANCEMENT" => Some(Self::AicAudioEnhancement),
8624 "KRISP_VIVA" => Some(Self::KrispViva),
8625 _ => None,
8626 }
8627 }
8628 }
8629}
8630#[derive(Clone, PartialEq, ::prost::Message)]
8631pub struct ApiCallRequest {
8632 #[prost(oneof = "api_call_request::Message", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10")]
8633 pub message: ::core::option::Option<api_call_request::Message>,
8634}
8635pub mod api_call_request {
8637 #[derive(Clone, PartialEq, ::prost::Oneof)]
8638 pub enum Message {
8639 #[prost(message, tag = "1")]
8640 CreateRoomRequest(super::CreateRoomRequest),
8641 #[prost(message, tag = "2")]
8642 ListRoomsRequest(super::ListRoomsRequest),
8643 #[prost(message, tag = "3")]
8644 DeleteRoomRequest(super::DeleteRoomRequest),
8645 #[prost(message, tag = "4")]
8646 ListParticipantsRequest(super::ListParticipantsRequest),
8647 #[prost(message, tag = "5")]
8648 RoomParticipantIdentity(super::RoomParticipantIdentity),
8649 #[prost(message, tag = "6")]
8650 MuteRoomTrackRequest(super::MuteRoomTrackRequest),
8651 #[prost(message, tag = "7")]
8652 UpdateParticipantRequest(super::UpdateParticipantRequest),
8653 #[prost(message, tag = "8")]
8654 UpdateSubscriptionsRequest(super::UpdateSubscriptionsRequest),
8655 #[prost(message, tag = "9")]
8656 SendDataRequest(super::SendDataRequest),
8657 #[prost(message, tag = "10")]
8658 UpdateRoomMetadataRequest(super::UpdateRoomMetadataRequest),
8659 }
8660}
8661#[derive(Clone, PartialEq, ::prost::Message)]
8662pub struct ApiCallInfo {
8663 #[prost(string, tag = "1")]
8664 pub project_id: ::prost::alloc::string::String,
8665 #[prost(message, optional, tag = "2")]
8666 pub request: ::core::option::Option<ApiCallRequest>,
8667 #[prost(string, tag = "3")]
8668 pub service: ::prost::alloc::string::String,
8669 #[prost(string, tag = "4")]
8670 pub method: ::prost::alloc::string::String,
8671 #[prost(string, tag = "5")]
8672 pub node_id: ::prost::alloc::string::String,
8673 #[prost(int32, tag = "6")]
8674 pub status: i32,
8675 #[prost(string, tag = "7")]
8676 pub twirp_error_code: ::prost::alloc::string::String,
8677 #[prost(string, tag = "8")]
8678 pub twirp_error_message: ::prost::alloc::string::String,
8679 #[prost(string, tag = "9")]
8680 pub room_name: ::prost::alloc::string::String,
8681 #[prost(string, tag = "10")]
8682 pub room_id: ::prost::alloc::string::String,
8683 #[prost(string, tag = "11")]
8684 pub participant_identity: ::prost::alloc::string::String,
8685 #[prost(string, tag = "12")]
8686 pub participant_id: ::prost::alloc::string::String,
8687 #[prost(string, tag = "13")]
8688 pub track_id: ::prost::alloc::string::String,
8689 #[prost(message, optional, tag = "14")]
8690 pub started_at: ::core::option::Option<::pbjson_types::Timestamp>,
8691 #[prost(int64, tag = "15")]
8692 pub duration_ns: i64,
8693}
8694#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8695pub struct WebhookInfo {
8696 #[prost(string, tag = "1")]
8697 pub event_id: ::prost::alloc::string::String,
8698 #[prost(string, tag = "2")]
8699 pub event: ::prost::alloc::string::String,
8700 #[prost(string, tag = "3")]
8701 pub project_id: ::prost::alloc::string::String,
8702 #[prost(string, tag = "4")]
8703 pub room_name: ::prost::alloc::string::String,
8704 #[prost(string, tag = "5")]
8705 pub room_id: ::prost::alloc::string::String,
8706 #[prost(string, tag = "6")]
8707 pub participant_identity: ::prost::alloc::string::String,
8708 #[prost(string, tag = "7")]
8709 pub participant_id: ::prost::alloc::string::String,
8710 #[prost(string, tag = "8")]
8711 pub track_id: ::prost::alloc::string::String,
8712 #[prost(string, tag = "9")]
8713 pub egress_id: ::prost::alloc::string::String,
8714 #[prost(string, tag = "10")]
8715 pub ingress_id: ::prost::alloc::string::String,
8716 #[prost(message, optional, tag = "11")]
8717 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
8718 #[prost(message, optional, tag = "12")]
8719 pub queued_at: ::core::option::Option<::pbjson_types::Timestamp>,
8720 #[prost(int64, tag = "13")]
8721 pub queue_duration_ns: i64,
8722 #[prost(message, optional, tag = "14")]
8723 pub sent_at: ::core::option::Option<::pbjson_types::Timestamp>,
8724 #[prost(int64, tag = "15")]
8725 pub send_duration_ns: i64,
8726 #[prost(string, tag = "16")]
8727 pub url: ::prost::alloc::string::String,
8728 #[prost(int32, tag = "17")]
8729 pub num_dropped: i32,
8730 #[prost(bool, tag = "18")]
8731 pub is_dropped: bool,
8732 #[prost(string, tag = "19")]
8733 pub service_status: ::prost::alloc::string::String,
8734 #[prost(int32, tag = "20")]
8735 pub service_error_code: i32,
8736 #[prost(string, tag = "21")]
8737 pub service_error: ::prost::alloc::string::String,
8738 #[prost(string, tag = "22")]
8739 pub send_error: ::prost::alloc::string::String,
8740 #[prost(int32, tag = "23")]
8742 pub http_status_code: i32,
8743}
8744#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8745#[repr(i32)]
8746pub enum StreamType {
8747 Upstream = 0,
8748 Downstream = 1,
8749}
8750impl StreamType {
8751 pub fn as_str_name(&self) -> &'static str {
8756 match self {
8757 Self::Upstream => "UPSTREAM",
8758 Self::Downstream => "DOWNSTREAM",
8759 }
8760 }
8761 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8763 match value {
8764 "UPSTREAM" => Some(Self::Upstream),
8765 "DOWNSTREAM" => Some(Self::Downstream),
8766 _ => None,
8767 }
8768 }
8769}
8770#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8771#[repr(i32)]
8772pub enum AnalyticsEventType {
8773 RoomCreated = 0,
8774 RoomEnded = 1,
8775 ParticipantJoined = 2,
8776 ParticipantLeft = 3,
8777 ParticipantConnectionAborted = 45,
8778 TrackPublished = 4,
8779 TrackPublishRequested = 20,
8780 TrackUnpublished = 5,
8781 TrackSubscribed = 6,
8782 TrackSubscribeRequested = 21,
8783 TrackSubscribeFailed = 25,
8784 TrackUnsubscribed = 7,
8785 TrackPublishedUpdate = 10,
8786 TrackMuted = 23,
8787 TrackUnmuted = 24,
8788 TrackPublishStats = 26,
8789 TrackSubscribeStats = 27,
8790 ParticipantActive = 11,
8791 ParticipantResumed = 22,
8792 EgressStarted = 12,
8793 EgressEnded = 13,
8794 EgressUpdated = 28,
8795 TrackMaxSubscribedVideoQuality = 14,
8796 Reconnected = 15,
8797 IngressCreated = 18,
8798 IngressDeleted = 19,
8799 IngressStarted = 16,
8800 IngressEnded = 17,
8801 IngressUpdated = 29,
8802 SipInboundTrunkCreated = 30,
8803 SipInboundTrunkDeleted = 31,
8804 SipOutboundTrunkCreated = 32,
8805 SipOutboundTrunkDeleted = 33,
8806 SipDispatchRuleCreated = 34,
8807 SipDispatchRuleDeleted = 35,
8808 SipParticipantCreated = 36,
8809 SipCallIncoming = 37,
8810 SipCallStarted = 38,
8811 SipCallEnded = 39,
8812 SipTransferRequested = 43,
8813 SipTransferComplete = 44,
8814 SipCallUpdate = 46,
8815 Report = 40,
8816 ApiCall = 41,
8817 Webhook = 42,
8818}
8819impl AnalyticsEventType {
8820 pub fn as_str_name(&self) -> &'static str {
8825 match self {
8826 Self::RoomCreated => "ROOM_CREATED",
8827 Self::RoomEnded => "ROOM_ENDED",
8828 Self::ParticipantJoined => "PARTICIPANT_JOINED",
8829 Self::ParticipantLeft => "PARTICIPANT_LEFT",
8830 Self::ParticipantConnectionAborted => "PARTICIPANT_CONNECTION_ABORTED",
8831 Self::TrackPublished => "TRACK_PUBLISHED",
8832 Self::TrackPublishRequested => "TRACK_PUBLISH_REQUESTED",
8833 Self::TrackUnpublished => "TRACK_UNPUBLISHED",
8834 Self::TrackSubscribed => "TRACK_SUBSCRIBED",
8835 Self::TrackSubscribeRequested => "TRACK_SUBSCRIBE_REQUESTED",
8836 Self::TrackSubscribeFailed => "TRACK_SUBSCRIBE_FAILED",
8837 Self::TrackUnsubscribed => "TRACK_UNSUBSCRIBED",
8838 Self::TrackPublishedUpdate => "TRACK_PUBLISHED_UPDATE",
8839 Self::TrackMuted => "TRACK_MUTED",
8840 Self::TrackUnmuted => "TRACK_UNMUTED",
8841 Self::TrackPublishStats => "TRACK_PUBLISH_STATS",
8842 Self::TrackSubscribeStats => "TRACK_SUBSCRIBE_STATS",
8843 Self::ParticipantActive => "PARTICIPANT_ACTIVE",
8844 Self::ParticipantResumed => "PARTICIPANT_RESUMED",
8845 Self::EgressStarted => "EGRESS_STARTED",
8846 Self::EgressEnded => "EGRESS_ENDED",
8847 Self::EgressUpdated => "EGRESS_UPDATED",
8848 Self::TrackMaxSubscribedVideoQuality => "TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY",
8849 Self::Reconnected => "RECONNECTED",
8850 Self::IngressCreated => "INGRESS_CREATED",
8851 Self::IngressDeleted => "INGRESS_DELETED",
8852 Self::IngressStarted => "INGRESS_STARTED",
8853 Self::IngressEnded => "INGRESS_ENDED",
8854 Self::IngressUpdated => "INGRESS_UPDATED",
8855 Self::SipInboundTrunkCreated => "SIP_INBOUND_TRUNK_CREATED",
8856 Self::SipInboundTrunkDeleted => "SIP_INBOUND_TRUNK_DELETED",
8857 Self::SipOutboundTrunkCreated => "SIP_OUTBOUND_TRUNK_CREATED",
8858 Self::SipOutboundTrunkDeleted => "SIP_OUTBOUND_TRUNK_DELETED",
8859 Self::SipDispatchRuleCreated => "SIP_DISPATCH_RULE_CREATED",
8860 Self::SipDispatchRuleDeleted => "SIP_DISPATCH_RULE_DELETED",
8861 Self::SipParticipantCreated => "SIP_PARTICIPANT_CREATED",
8862 Self::SipCallIncoming => "SIP_CALL_INCOMING",
8863 Self::SipCallStarted => "SIP_CALL_STARTED",
8864 Self::SipCallEnded => "SIP_CALL_ENDED",
8865 Self::SipTransferRequested => "SIP_TRANSFER_REQUESTED",
8866 Self::SipTransferComplete => "SIP_TRANSFER_COMPLETE",
8867 Self::SipCallUpdate => "SIP_CALL_UPDATE",
8868 Self::Report => "REPORT",
8869 Self::ApiCall => "API_CALL",
8870 Self::Webhook => "WEBHOOK",
8871 }
8872 }
8873 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8875 match value {
8876 "ROOM_CREATED" => Some(Self::RoomCreated),
8877 "ROOM_ENDED" => Some(Self::RoomEnded),
8878 "PARTICIPANT_JOINED" => Some(Self::ParticipantJoined),
8879 "PARTICIPANT_LEFT" => Some(Self::ParticipantLeft),
8880 "PARTICIPANT_CONNECTION_ABORTED" => Some(Self::ParticipantConnectionAborted),
8881 "TRACK_PUBLISHED" => Some(Self::TrackPublished),
8882 "TRACK_PUBLISH_REQUESTED" => Some(Self::TrackPublishRequested),
8883 "TRACK_UNPUBLISHED" => Some(Self::TrackUnpublished),
8884 "TRACK_SUBSCRIBED" => Some(Self::TrackSubscribed),
8885 "TRACK_SUBSCRIBE_REQUESTED" => Some(Self::TrackSubscribeRequested),
8886 "TRACK_SUBSCRIBE_FAILED" => Some(Self::TrackSubscribeFailed),
8887 "TRACK_UNSUBSCRIBED" => Some(Self::TrackUnsubscribed),
8888 "TRACK_PUBLISHED_UPDATE" => Some(Self::TrackPublishedUpdate),
8889 "TRACK_MUTED" => Some(Self::TrackMuted),
8890 "TRACK_UNMUTED" => Some(Self::TrackUnmuted),
8891 "TRACK_PUBLISH_STATS" => Some(Self::TrackPublishStats),
8892 "TRACK_SUBSCRIBE_STATS" => Some(Self::TrackSubscribeStats),
8893 "PARTICIPANT_ACTIVE" => Some(Self::ParticipantActive),
8894 "PARTICIPANT_RESUMED" => Some(Self::ParticipantResumed),
8895 "EGRESS_STARTED" => Some(Self::EgressStarted),
8896 "EGRESS_ENDED" => Some(Self::EgressEnded),
8897 "EGRESS_UPDATED" => Some(Self::EgressUpdated),
8898 "TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY" => Some(Self::TrackMaxSubscribedVideoQuality),
8899 "RECONNECTED" => Some(Self::Reconnected),
8900 "INGRESS_CREATED" => Some(Self::IngressCreated),
8901 "INGRESS_DELETED" => Some(Self::IngressDeleted),
8902 "INGRESS_STARTED" => Some(Self::IngressStarted),
8903 "INGRESS_ENDED" => Some(Self::IngressEnded),
8904 "INGRESS_UPDATED" => Some(Self::IngressUpdated),
8905 "SIP_INBOUND_TRUNK_CREATED" => Some(Self::SipInboundTrunkCreated),
8906 "SIP_INBOUND_TRUNK_DELETED" => Some(Self::SipInboundTrunkDeleted),
8907 "SIP_OUTBOUND_TRUNK_CREATED" => Some(Self::SipOutboundTrunkCreated),
8908 "SIP_OUTBOUND_TRUNK_DELETED" => Some(Self::SipOutboundTrunkDeleted),
8909 "SIP_DISPATCH_RULE_CREATED" => Some(Self::SipDispatchRuleCreated),
8910 "SIP_DISPATCH_RULE_DELETED" => Some(Self::SipDispatchRuleDeleted),
8911 "SIP_PARTICIPANT_CREATED" => Some(Self::SipParticipantCreated),
8912 "SIP_CALL_INCOMING" => Some(Self::SipCallIncoming),
8913 "SIP_CALL_STARTED" => Some(Self::SipCallStarted),
8914 "SIP_CALL_ENDED" => Some(Self::SipCallEnded),
8915 "SIP_TRANSFER_REQUESTED" => Some(Self::SipTransferRequested),
8916 "SIP_TRANSFER_COMPLETE" => Some(Self::SipTransferComplete),
8917 "SIP_CALL_UPDATE" => Some(Self::SipCallUpdate),
8918 "REPORT" => Some(Self::Report),
8919 "API_CALL" => Some(Self::ApiCall),
8920 "WEBHOOK" => Some(Self::Webhook),
8921 _ => None,
8922 }
8923 }
8924}
8925#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8928pub struct AgentDb {
8929}
8930pub mod agent_db {
8932 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8933 pub struct CreateRequest {
8934 #[prost(message, optional, tag = "1")]
8937 pub ttl: ::core::option::Option<::pbjson_types::Duration>,
8938 }
8939 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8940 pub struct CreateResponse {
8941 #[prost(string, tag = "1")]
8943 pub database_id: ::prost::alloc::string::String,
8944 #[prost(message, optional, tag = "2")]
8945 pub expires_at: ::core::option::Option<::pbjson_types::Timestamp>,
8946 }
8947 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8948 pub struct GetRequest {
8949 #[prost(string, tag = "1")]
8950 pub database_id: ::prost::alloc::string::String,
8951 }
8952 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8953 pub struct ListRequest {
8954 #[prost(int32, tag = "1")]
8956 pub page_size: i32,
8957 #[prost(string, tag = "2")]
8958 pub page_token: ::prost::alloc::string::String,
8959 }
8960 #[derive(Clone, PartialEq, ::prost::Message)]
8961 pub struct ListResponse {
8962 #[prost(message, repeated, tag = "1")]
8963 pub databases: ::prost::alloc::vec::Vec<AgentDatabase>,
8964 #[prost(string, tag = "2")]
8966 pub next_page_token: ::prost::alloc::string::String,
8967 }
8968 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8970 pub struct AgentDatabase {
8971 #[prost(string, tag = "1")]
8972 pub database_id: ::prost::alloc::string::String,
8973 #[prost(string, tag = "2")]
8974 pub region: ::prost::alloc::string::String,
8975 #[prost(message, optional, tag = "3")]
8976 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
8977 #[prost(message, optional, tag = "4")]
8978 pub expires_at: ::core::option::Option<::pbjson_types::Timestamp>,
8979 #[prost(int64, tag = "5")]
8980 pub tip: i64,
8981 }
8982 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8983 pub struct DeleteRequest {
8984 #[prost(string, tag = "1")]
8985 pub database_id: ::prost::alloc::string::String,
8986 }
8987 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8988 pub struct DeleteResponse {
8989 }
8990 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8991 pub struct ExportRequest {
8992 #[prost(string, tag = "1")]
8993 pub database_id: ::prost::alloc::string::String,
8994 }
8995 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8996 pub struct ExportResponse {
8997 #[prost(string, tag = "1")]
8999 pub download_url: ::prost::alloc::string::String,
9000 #[prost(message, optional, tag = "2")]
9002 pub expires_at: ::core::option::Option<::pbjson_types::Timestamp>,
9003 #[prost(int64, tag = "3")]
9005 pub tip: i64,
9006 }
9007 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9011 pub struct Wire {
9012 }
9013 pub mod wire {
9015 #[derive(Clone, PartialEq, ::prost::Message)]
9016 pub struct ClientMessage {
9017 #[prost(uint32, tag = "1")]
9018 pub request_id: u32,
9019 #[prost(oneof = "client_message::Message", tags = "2, 3, 4, 5, 6, 7, 8, 9, 10, 11")]
9020 pub message: ::core::option::Option<client_message::Message>,
9021 }
9022 pub mod client_message {
9024 #[derive(Clone, PartialEq, ::prost::Oneof)]
9025 pub enum Message {
9026 #[prost(message, tag = "2")]
9028 Hello(super::Hello),
9029 #[prost(message, tag = "3")]
9031 Exec(super::Statement),
9032 #[prost(message, tag = "4")]
9034 Query(super::Statement),
9035 #[prost(message, tag = "5")]
9037 Batch(super::Batch),
9038 #[prost(message, tag = "6")]
9039 Begin(super::Begin),
9040 #[prost(message, tag = "7")]
9041 Commit(super::Commit),
9042 #[prost(message, tag = "8")]
9043 Rollback(super::Rollback),
9044 #[prost(message, tag = "9")]
9045 Cancel(super::Cancel),
9046 #[prost(message, tag = "10")]
9047 Credit(super::Credit),
9048 #[prost(message, tag = "11")]
9049 Ping(super::Ping),
9050 }
9051 }
9052 #[derive(Clone, PartialEq, ::prost::Message)]
9053 pub struct ServerMessage {
9054 #[prost(uint32, tag = "1")]
9055 pub request_id: u32,
9056 #[prost(oneof = "server_message::Message", tags = "2, 3, 4, 5, 6, 7, 8")]
9057 pub message: ::core::option::Option<server_message::Message>,
9058 }
9059 pub mod server_message {
9061 #[derive(Clone, PartialEq, ::prost::Oneof)]
9062 pub enum Message {
9063 #[prost(message, tag = "2")]
9064 HelloOk(super::HelloOk),
9065 #[prost(message, tag = "3")]
9066 Columns(super::Columns),
9067 #[prost(message, tag = "4")]
9068 ColumnBatch(super::ColumnBatch),
9069 #[prost(message, tag = "5")]
9070 ExecResult(super::ExecResult),
9071 #[prost(message, tag = "6")]
9072 Done(super::Done),
9073 #[prost(message, tag = "7")]
9074 Error(super::Error),
9075 #[prost(message, tag = "8")]
9076 Pong(super::Pong),
9077 }
9078 }
9079 #[derive(Clone, PartialEq, ::prost::Message)]
9081 pub struct Value {
9082 #[prost(oneof = "value::Value", tags = "1, 2, 3, 4, 5")]
9083 pub value: ::core::option::Option<value::Value>,
9084 }
9085 pub mod value {
9087 #[derive(Clone, PartialEq, ::prost::Oneof)]
9088 pub enum Value {
9089 #[prost(bool, tag = "1")]
9091 NullValue(bool),
9092 #[prost(int64, tag = "2")]
9093 IntValue(i64),
9094 #[prost(double, tag = "3")]
9095 DoubleValue(f64),
9096 #[prost(string, tag = "4")]
9097 TextValue(::prost::alloc::string::String),
9098 #[prost(bytes, tag = "5")]
9099 BlobValue(::prost::alloc::vec::Vec<u8>),
9100 }
9101 }
9102 #[derive(Clone, PartialEq, ::prost::Message)]
9103 pub struct Statement {
9104 #[prost(string, tag = "1")]
9105 pub sql: ::prost::alloc::string::String,
9106 #[prost(message, repeated, tag = "2")]
9108 pub params: ::prost::alloc::vec::Vec<Value>,
9109 #[prost(enumeration = "QueryLang", tag = "3")]
9110 pub lang: i32,
9111 }
9112 #[derive(Clone, PartialEq, ::prost::Message)]
9119 pub struct Batch {
9120 #[prost(message, repeated, tag = "1")]
9121 pub statements: ::prost::alloc::vec::Vec<Statement>,
9122 }
9123 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9124 pub struct Begin {
9125 }
9126 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9127 pub struct Commit {
9128 }
9129 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9130 pub struct Rollback {
9131 }
9132 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9133 pub struct Cancel {
9134 }
9135 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9136 pub struct Credit {
9137 #[prost(uint32, tag = "1")]
9139 pub batches: u32,
9140 }
9141 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9142 pub struct Ping {
9143 #[prost(int64, tag = "1")]
9144 pub timestamp_ms: i64,
9145 }
9146 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9147 pub struct Pong {
9148 #[prost(int64, tag = "1")]
9149 pub last_ping_timestamp_ms: i64,
9150 #[prost(int64, tag = "2")]
9151 pub timestamp_ms: i64,
9152 }
9153 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9154 pub struct Hello {
9155 #[prost(string, tag = "1")]
9156 pub token: ::prost::alloc::string::String,
9157 #[prost(string, tag = "2")]
9158 pub database_id: ::prost::alloc::string::String,
9159 }
9160 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9161 pub struct HelloOk {
9162 #[prost(int64, tag = "1")]
9163 pub tip: i64,
9164 #[prost(uint32, tag = "2")]
9165 pub ping_interval_ms: u32,
9166 #[prost(uint32, tag = "3")]
9167 pub ping_timeout_ms: u32,
9168 }
9169 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9170 pub struct Columns {
9171 #[prost(string, repeated, tag = "1")]
9172 pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9173 #[prost(uint32, tag = "2")]
9175 pub statement: u32,
9176 }
9177 #[derive(Clone, PartialEq, ::prost::Message)]
9183 pub struct Column {
9184 #[prost(bytes = "vec", tag = "1")]
9186 pub types: ::prost::alloc::vec::Vec<u8>,
9187 #[prost(sint64, repeated, tag = "2")]
9188 pub ints: ::prost::alloc::vec::Vec<i64>,
9189 #[prost(double, repeated, tag = "3")]
9190 pub doubles: ::prost::alloc::vec::Vec<f64>,
9191 #[prost(bytes = "vec", tag = "4")]
9192 pub text_data: ::prost::alloc::vec::Vec<u8>,
9193 #[prost(uint32, repeated, tag = "5")]
9194 pub text_ends: ::prost::alloc::vec::Vec<u32>,
9195 #[prost(bytes = "vec", tag = "6")]
9196 pub blob_data: ::prost::alloc::vec::Vec<u8>,
9197 #[prost(uint32, repeated, tag = "7")]
9198 pub blob_ends: ::prost::alloc::vec::Vec<u32>,
9199 }
9200 #[derive(Clone, PartialEq, ::prost::Message)]
9201 pub struct ColumnBatch {
9202 #[prost(message, repeated, tag = "1")]
9204 pub columns: ::prost::alloc::vec::Vec<Column>,
9205 #[prost(uint32, tag = "2")]
9206 pub rows: u32,
9207 #[prost(uint32, tag = "3")]
9209 pub statement: u32,
9210 }
9211 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9212 pub struct ExecResult {
9213 #[prost(int64, tag = "1")]
9214 pub rows_affected: i64,
9215 #[prost(int64, tag = "2")]
9216 pub last_insert_id: i64,
9217 #[prost(int64, tag = "3")]
9218 pub tip: i64,
9219 #[prost(uint32, tag = "4")]
9221 pub statement: u32,
9222 }
9223 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9224 pub struct Done {
9225 #[prost(int64, tag = "1")]
9227 pub tip: i64,
9228 #[prost(uint64, tag = "2")]
9229 pub total_rows: u64,
9230 }
9231 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9232 pub struct Error {
9233 #[prost(string, tag = "1")]
9235 pub code: ::prost::alloc::string::String,
9236 #[prost(string, tag = "2")]
9237 pub message: ::prost::alloc::string::String,
9238 }
9239 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
9240 #[repr(i32)]
9241 pub enum QueryLang {
9242 Sql = 0,
9243 }
9244 impl QueryLang {
9245 pub fn as_str_name(&self) -> &'static str {
9250 match self {
9251 Self::Sql => "SQL",
9252 }
9253 }
9254 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
9256 match value {
9257 "SQL" => Some(Self::Sql),
9258 _ => None,
9259 }
9260 }
9261 }
9262 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
9263 #[repr(i32)]
9264 pub enum ValueType {
9265 Null = 0,
9266 Int = 1,
9267 Double = 2,
9268 Text = 3,
9269 Blob = 4,
9270 }
9271 impl ValueType {
9272 pub fn as_str_name(&self) -> &'static str {
9277 match self {
9278 Self::Null => "NULL",
9279 Self::Int => "INT",
9280 Self::Double => "DOUBLE",
9281 Self::Text => "TEXT",
9282 Self::Blob => "BLOB",
9283 }
9284 }
9285 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
9287 match value {
9288 "NULL" => Some(Self::Null),
9289 "INT" => Some(Self::Int),
9290 "DOUBLE" => Some(Self::Double),
9291 "TEXT" => Some(Self::Text),
9292 "BLOB" => Some(Self::Blob),
9293 _ => None,
9294 }
9295 }
9296 }
9297 }
9298}
9299#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9300pub struct ListReplaysRequest {
9301 #[prost(string, tag = "1")]
9303 pub room_name: ::prost::alloc::string::String,
9304 #[prost(message, optional, tag = "2")]
9305 pub page_token: ::core::option::Option<TokenPagination>,
9306}
9307#[derive(Clone, PartialEq, ::prost::Message)]
9308pub struct ListReplaysResponse {
9309 #[prost(message, repeated, tag = "1")]
9310 pub replays: ::prost::alloc::vec::Vec<ReplayInfo>,
9311 #[prost(message, optional, tag = "2")]
9312 pub next_page_token: ::core::option::Option<TokenPagination>,
9313}
9314#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9315pub struct ReplayInfo {
9316 #[prost(string, tag = "1")]
9317 pub replay_id: ::prost::alloc::string::String,
9318 #[prost(string, tag = "2")]
9319 pub room_name: ::prost::alloc::string::String,
9320 #[prost(int64, tag = "3")]
9321 pub start_time: i64,
9322 #[prost(int64, tag = "4")]
9323 pub duration_ms: i64,
9324}
9325#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9326pub struct PlaybackRequest {
9327 #[prost(string, tag = "1")]
9328 pub replay_id: ::prost::alloc::string::String,
9329 #[prost(string, tag = "2")]
9331 pub playback_room: ::prost::alloc::string::String,
9332 #[prost(int64, tag = "3")]
9334 pub seek_offset_ms: i64,
9335}
9336#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9337pub struct PlaybackResponse {
9338 #[prost(string, tag = "1")]
9339 pub playback_id: ::prost::alloc::string::String,
9340}
9341#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9342pub struct SeekRequest {
9343 #[prost(string, tag = "1")]
9344 pub playback_id: ::prost::alloc::string::String,
9345 #[prost(int64, tag = "2")]
9347 pub seek_offset_ms: i64,
9348}
9349#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9350pub struct ClosePlaybackRequest {
9351 #[prost(string, tag = "1")]
9352 pub playback_id: ::prost::alloc::string::String,
9353}
9354#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9355pub struct DeleteReplayRequest {
9356 #[prost(string, tag = "1")]
9357 pub replay_id: ::prost::alloc::string::String,
9358}
9359#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9360pub struct AgentEvent {
9361 #[prost(enumeration = "AgentEventType", tag = "1")]
9362 pub r#type: i32,
9363 #[prost(int32, tag = "2")]
9364 pub count: i32,
9365 #[prost(message, optional, tag = "3")]
9366 pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
9367}
9368#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9369pub struct AgentSecret {
9370 #[prost(string, tag = "1")]
9371 pub name: ::prost::alloc::string::String,
9372 #[prost(bytes = "vec", tag = "2")]
9373 pub value: ::prost::alloc::vec::Vec<u8>,
9374 #[prost(message, optional, tag = "3")]
9375 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
9376 #[prost(message, optional, tag = "4")]
9377 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
9378 #[prost(enumeration = "AgentSecretKind", tag = "5")]
9379 pub kind: i32,
9380 #[prost(string, repeated, tag = "6")]
9381 pub deployments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9382}
9383#[derive(Clone, PartialEq, ::prost::Message)]
9384pub struct CreateAgentRequest {
9385 #[deprecated]
9386 #[prost(string, tag = "1")]
9387 pub agent_name: ::prost::alloc::string::String,
9388 #[prost(message, repeated, tag = "2")]
9389 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9390 #[deprecated]
9391 #[prost(int32, tag = "3")]
9392 pub replicas: i32,
9393 #[deprecated]
9394 #[prost(int32, tag = "4")]
9395 pub max_replicas: i32,
9396 #[deprecated]
9397 #[prost(string, tag = "5")]
9398 pub cpu_req: ::prost::alloc::string::String,
9399 #[prost(string, repeated, tag = "6")]
9400 pub regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9401}
9402#[derive(Clone, PartialEq, ::prost::Message)]
9403pub struct CreateAgentResponse {
9404 #[prost(string, tag = "1")]
9405 pub agent_id: ::prost::alloc::string::String,
9406 #[prost(string, tag = "2")]
9407 pub agent_name: ::prost::alloc::string::String,
9408 #[prost(string, tag = "3")]
9409 pub status: ::prost::alloc::string::String,
9410 #[prost(string, tag = "4")]
9411 pub version: ::prost::alloc::string::String,
9412 #[prost(string, tag = "5")]
9413 pub presigned_url: ::prost::alloc::string::String,
9414 #[prost(string, tag = "6")]
9415 pub tag: ::prost::alloc::string::String,
9416 #[prost(string, repeated, tag = "7")]
9417 pub server_regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9418 #[prost(message, optional, tag = "8")]
9419 pub presigned_post_request: ::core::option::Option<PresignedPostRequest>,
9420}
9421#[derive(Clone, PartialEq, ::prost::Message)]
9422pub struct CreateAgentV2Request {
9423 #[prost(message, repeated, tag = "1")]
9424 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9425 #[prost(string, repeated, tag = "2")]
9426 pub regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9427}
9428#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9429pub struct CreateAgentV2Response {
9430 #[prost(string, tag = "1")]
9431 pub agent_id: ::prost::alloc::string::String,
9432 #[prost(string, tag = "2")]
9433 pub status: ::prost::alloc::string::String,
9434 #[prost(string, repeated, tag = "3")]
9435 pub server_regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9436}
9437#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9438pub struct PromoteAgentRequest {
9439 #[prost(string, tag = "1")]
9440 pub agent_id: ::prost::alloc::string::String,
9441 #[prost(string, tag = "2")]
9442 pub src_deployment: ::prost::alloc::string::String,
9443 #[prost(string, tag = "3")]
9444 pub dst_deployment: ::prost::alloc::string::String,
9445}
9446#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9447pub struct PromoteAgentResponse {
9448 #[prost(bool, tag = "1")]
9449 pub success: bool,
9450 #[prost(string, tag = "2")]
9451 pub message: ::prost::alloc::string::String,
9452 #[prost(string, tag = "3")]
9453 pub agent_id: ::prost::alloc::string::String,
9454 #[prost(string, tag = "4")]
9455 pub src_deployment: ::prost::alloc::string::String,
9456 #[prost(string, tag = "5")]
9457 pub dst_deployment: ::prost::alloc::string::String,
9458 #[prost(string, tag = "6")]
9459 pub version_tag: ::prost::alloc::string::String,
9460}
9461#[derive(Clone, PartialEq, ::prost::Message)]
9462pub struct PresignedPostRequest {
9463 #[prost(string, tag = "1")]
9464 pub url: ::prost::alloc::string::String,
9465 #[prost(map = "string, string", tag = "2")]
9466 pub values: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
9467}
9468#[derive(Clone, PartialEq, ::prost::Message)]
9469pub struct AgentDeployment {
9470 #[prost(string, tag = "1")]
9471 pub region: ::prost::alloc::string::String,
9472 #[prost(string, tag = "2")]
9473 pub agent_id: ::prost::alloc::string::String,
9474 #[prost(string, tag = "3")]
9475 pub status: ::prost::alloc::string::String,
9476 #[prost(int32, tag = "4")]
9477 pub replicas: i32,
9478 #[prost(int32, tag = "5")]
9479 pub min_replicas: i32,
9480 #[prost(int32, tag = "6")]
9481 pub max_replicas: i32,
9482 #[prost(string, tag = "7")]
9483 pub cpu_req: ::prost::alloc::string::String,
9484 #[prost(string, tag = "8")]
9485 pub cur_cpu: ::prost::alloc::string::String,
9486 #[prost(string, tag = "9")]
9487 pub cur_mem: ::prost::alloc::string::String,
9488 #[prost(string, tag = "10")]
9489 pub mem_req: ::prost::alloc::string::String,
9490 #[prost(string, tag = "11")]
9491 pub mem_limit: ::prost::alloc::string::String,
9492 #[prost(string, tag = "12")]
9493 pub cpu_limit: ::prost::alloc::string::String,
9494 #[prost(string, tag = "13")]
9495 pub server_region: ::prost::alloc::string::String,
9496 #[prost(message, repeated, tag = "14")]
9497 pub events: ::prost::alloc::vec::Vec<AgentEvent>,
9498 #[prost(string, tag = "15")]
9499 pub deployment: ::prost::alloc::string::String,
9500 #[prost(string, tag = "16")]
9501 pub version: ::prost::alloc::string::String,
9502 #[prost(string, tag = "17")]
9503 pub agent_name: ::prost::alloc::string::String,
9504 #[prost(bool, tag = "18")]
9505 pub deployment_enabled: bool,
9506 #[prost(message, optional, tag = "19")]
9507 pub last_scraped_at: ::core::option::Option<::pbjson_types::Timestamp>,
9508}
9509#[derive(Clone, PartialEq, ::prost::Message)]
9510pub struct AgentInfo {
9511 #[prost(string, tag = "1")]
9512 pub agent_id: ::prost::alloc::string::String,
9513 #[prost(string, tag = "2")]
9514 pub agent_name: ::prost::alloc::string::String,
9515 #[prost(string, tag = "3")]
9516 pub version: ::prost::alloc::string::String,
9517 #[prost(message, repeated, tag = "4")]
9518 pub agent_deployments: ::prost::alloc::vec::Vec<AgentDeployment>,
9519 #[prost(message, repeated, tag = "5")]
9520 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9521 #[prost(message, optional, tag = "6")]
9522 pub deployed_at: ::core::option::Option<::pbjson_types::Timestamp>,
9523}
9524#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9525pub struct ListAgentsRequest {
9526 #[prost(string, tag = "1")]
9527 pub agent_name: ::prost::alloc::string::String,
9528 #[prost(string, tag = "2")]
9529 pub agent_id: ::prost::alloc::string::String,
9530}
9531#[derive(Clone, PartialEq, ::prost::Message)]
9532pub struct ListAgentsResponse {
9533 #[prost(message, repeated, tag = "1")]
9534 pub agents: ::prost::alloc::vec::Vec<AgentInfo>,
9535}
9536#[derive(Clone, PartialEq, ::prost::Message)]
9537pub struct AgentVersion {
9538 #[prost(string, tag = "1")]
9539 pub version: ::prost::alloc::string::String,
9540 #[prost(bool, tag = "2")]
9541 pub current: bool,
9542 #[prost(message, optional, tag = "3")]
9543 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
9544 #[prost(message, optional, tag = "4")]
9545 pub deployed_at: ::core::option::Option<::pbjson_types::Timestamp>,
9546 #[prost(map = "string, string", tag = "5")]
9547 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
9548 #[prost(string, tag = "6")]
9549 pub status: ::prost::alloc::string::String,
9550 #[prost(string, tag = "7")]
9551 pub owner: ::prost::alloc::string::String,
9552 #[prost(bool, tag = "8")]
9553 pub draining: bool,
9554 #[prost(bool, tag = "9")]
9555 pub active: bool,
9556}
9557#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9558pub struct ListAgentVersionsRequest {
9559 #[prost(string, tag = "1")]
9560 pub agent_id: ::prost::alloc::string::String,
9561 #[prost(string, tag = "2")]
9562 pub agent_name: ::prost::alloc::string::String,
9563}
9564#[derive(Clone, PartialEq, ::prost::Message)]
9565pub struct ListAgentVersionsResponse {
9566 #[prost(message, repeated, tag = "1")]
9567 pub versions: ::prost::alloc::vec::Vec<AgentVersion>,
9568}
9569#[derive(Clone, PartialEq, ::prost::Message)]
9570pub struct UpdateAgentRequest {
9571 #[prost(string, tag = "1")]
9572 pub agent_id: ::prost::alloc::string::String,
9573 #[deprecated]
9574 #[prost(string, tag = "2")]
9575 pub agent_name: ::prost::alloc::string::String,
9576 #[deprecated]
9577 #[prost(int32, tag = "3")]
9578 pub replicas: i32,
9579 #[deprecated]
9580 #[prost(int32, tag = "4")]
9581 pub max_replicas: i32,
9582 #[deprecated]
9583 #[prost(string, tag = "5")]
9584 pub cpu_req: ::prost::alloc::string::String,
9585 #[prost(string, repeated, tag = "6")]
9586 pub regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9587 #[prost(message, repeated, tag = "7")]
9588 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9589}
9590#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9591pub struct UpdateAgentResponse {
9592 #[prost(bool, tag = "1")]
9593 pub success: bool,
9594 #[prost(string, tag = "2")]
9595 pub message: ::prost::alloc::string::String,
9596}
9597#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9598pub struct RestartAgentRequest {
9599 #[prost(string, tag = "1")]
9600 pub agent_id: ::prost::alloc::string::String,
9601}
9602#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9603pub struct RestartAgentResponse {
9604 #[prost(bool, tag = "1")]
9605 pub success: bool,
9606 #[prost(string, tag = "2")]
9607 pub message: ::prost::alloc::string::String,
9608}
9609#[derive(Clone, PartialEq, ::prost::Message)]
9610pub struct DeployAgentRequest {
9611 #[prost(string, tag = "1")]
9612 pub agent_id: ::prost::alloc::string::String,
9613 #[deprecated]
9614 #[prost(string, tag = "2")]
9615 pub agent_name: ::prost::alloc::string::String,
9616 #[prost(message, repeated, tag = "3")]
9617 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9618 #[deprecated]
9619 #[prost(int32, tag = "4")]
9620 pub replicas: i32,
9621 #[deprecated]
9622 #[prost(int32, tag = "5")]
9623 pub max_replicas: i32,
9624 #[deprecated]
9625 #[prost(string, tag = "6")]
9626 pub cpu_req: ::prost::alloc::string::String,
9627 #[prost(string, tag = "7")]
9628 pub deployment: ::prost::alloc::string::String,
9629 #[prost(map = "string, string", tag = "8")]
9630 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
9631}
9632#[derive(Clone, PartialEq, ::prost::Message)]
9633pub struct DeployAgentResponse {
9634 #[prost(bool, tag = "1")]
9635 pub success: bool,
9636 #[prost(string, tag = "2")]
9637 pub message: ::prost::alloc::string::String,
9638 #[prost(string, tag = "3")]
9639 pub agent_id: ::prost::alloc::string::String,
9640 #[deprecated]
9641 #[prost(string, tag = "4")]
9642 pub presigned_url: ::prost::alloc::string::String,
9643 #[prost(string, tag = "5")]
9644 pub tag: ::prost::alloc::string::String,
9645 #[prost(message, optional, tag = "6")]
9646 pub presigned_post_request: ::core::option::Option<PresignedPostRequest>,
9647 #[prost(string, tag = "7")]
9648 pub deployment: ::prost::alloc::string::String,
9649}
9650#[derive(Clone, PartialEq, ::prost::Message)]
9651pub struct DeployAgentV2Request {
9652 #[prost(string, tag = "1")]
9653 pub agent_id: ::prost::alloc::string::String,
9654 #[prost(message, repeated, tag = "2")]
9655 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9656 #[prost(string, tag = "3")]
9657 pub deployment: ::prost::alloc::string::String,
9658 #[prost(map = "string, string", tag = "4")]
9659 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
9660}
9661#[derive(Clone, PartialEq, ::prost::Message)]
9662pub struct DeployAgentV2Response {
9663 #[prost(bool, tag = "1")]
9664 pub success: bool,
9665 #[prost(string, tag = "2")]
9666 pub message: ::prost::alloc::string::String,
9667 #[prost(string, tag = "3")]
9668 pub agent_id: ::prost::alloc::string::String,
9669 #[prost(string, tag = "4")]
9670 pub tag: ::prost::alloc::string::String,
9671 #[prost(message, optional, tag = "5")]
9672 pub presigned_req: ::core::option::Option<PresignedPostRequest>,
9673 #[prost(string, tag = "6")]
9674 pub deployment: ::prost::alloc::string::String,
9675}
9676#[derive(Clone, PartialEq, ::prost::Message)]
9677pub struct UpdateAgentSecretsRequest {
9678 #[prost(string, tag = "1")]
9679 pub agent_id: ::prost::alloc::string::String,
9680 #[prost(string, tag = "2")]
9681 pub agent_name: ::prost::alloc::string::String,
9682 #[prost(bool, tag = "3")]
9683 pub overwrite: bool,
9684 #[prost(message, repeated, tag = "4")]
9685 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9686 #[prost(string, repeated, tag = "5")]
9687 pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9688}
9689#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9690pub struct UpdateAgentSecretsResponse {
9691 #[prost(bool, tag = "1")]
9692 pub success: bool,
9693 #[prost(string, tag = "2")]
9694 pub message: ::prost::alloc::string::String,
9695}
9696#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9697pub struct RollbackAgentRequest {
9698 #[prost(string, tag = "1")]
9699 pub agent_id: ::prost::alloc::string::String,
9700 #[prost(string, tag = "2")]
9701 pub agent_name: ::prost::alloc::string::String,
9702 #[prost(string, tag = "3")]
9703 pub version: ::prost::alloc::string::String,
9704}
9705#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9706pub struct RollbackAgentResponse {
9707 #[prost(bool, tag = "1")]
9708 pub success: bool,
9709 #[prost(string, tag = "2")]
9710 pub message: ::prost::alloc::string::String,
9711}
9712#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9713pub struct DeleteAgentRequest {
9714 #[prost(string, tag = "1")]
9715 pub agent_id: ::prost::alloc::string::String,
9716 #[prost(string, tag = "2")]
9717 pub agent_name: ::prost::alloc::string::String,
9718 #[prost(string, tag = "3")]
9720 pub deployment: ::prost::alloc::string::String,
9721}
9722#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9723pub struct DeleteAgentResponse {
9724 #[prost(bool, tag = "1")]
9725 pub success: bool,
9726 #[prost(string, tag = "2")]
9727 pub message: ::prost::alloc::string::String,
9728}
9729#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9730pub struct ListAgentSecretsRequest {
9731 #[prost(string, tag = "1")]
9732 pub agent_id: ::prost::alloc::string::String,
9733 #[prost(string, tag = "2")]
9734 pub agent_name: ::prost::alloc::string::String,
9735}
9736#[derive(Clone, PartialEq, ::prost::Message)]
9737pub struct ListAgentSecretsResponse {
9738 #[prost(message, repeated, tag = "1")]
9739 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9740}
9741#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9742pub struct SettingsParam {
9743 #[prost(string, tag = "1")]
9744 pub name: ::prost::alloc::string::String,
9745 #[prost(string, tag = "2")]
9746 pub value: ::prost::alloc::string::String,
9747}
9748#[derive(Clone, PartialEq, ::prost::Message)]
9749pub struct ClientSettingsResponse {
9750 #[prost(message, repeated, tag = "1")]
9751 pub params: ::prost::alloc::vec::Vec<SettingsParam>,
9752}
9753#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9754pub struct ClientSettingsRequest {
9755}
9756#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9757pub struct PrivateLink {
9758 #[prost(string, tag = "1")]
9759 pub private_link_id: ::prost::alloc::string::String,
9760 #[prost(string, tag = "2")]
9761 pub name: ::prost::alloc::string::String,
9762 #[prost(string, tag = "4")]
9763 pub region: ::prost::alloc::string::String,
9764 #[prost(uint32, tag = "5")]
9765 pub port: u32,
9766 #[prost(string, tag = "6")]
9767 pub endpoint: ::prost::alloc::string::String,
9768 #[prost(string, tag = "7")]
9769 pub connection_endpoint: ::prost::alloc::string::String,
9770 #[prost(string, tag = "8")]
9771 pub cloud_region: ::prost::alloc::string::String,
9772 #[prost(oneof = "private_link::Config", tags = "3")]
9773 pub config: ::core::option::Option<private_link::Config>,
9774}
9775pub mod private_link {
9777 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9778 pub struct AwsConfig {
9779 #[deprecated]
9781 #[prost(string, tag = "1")]
9782 pub endpoint: ::prost::alloc::string::String,
9783 }
9784 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
9785 pub enum Config {
9786 #[deprecated]
9787 #[prost(message, tag = "3")]
9788 Aws(AwsConfig),
9789 }
9790}
9791#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9792pub struct PrivateLinkStatus {
9793 #[prost(enumeration = "private_link_status::Status", tag = "1")]
9794 pub status: i32,
9795 #[prost(message, optional, tag = "2")]
9796 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
9797 #[prost(string, tag = "3")]
9798 pub reason: ::prost::alloc::string::String,
9799}
9800pub mod private_link_status {
9802 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
9803 #[repr(i32)]
9804 pub enum Status {
9805 PrivateLinkStatusUnknown = 0,
9806 PrivateLinkStatusProvisioning = 1,
9807 PrivateLinkStatusPendingApproval = 2,
9808 PrivateLinkStatusHealthy = 3,
9809 PrivateLinkStatusUnhealthy = 4,
9810 PrivateLinkStatusApproved = 5,
9811 }
9812 impl Status {
9813 pub fn as_str_name(&self) -> &'static str {
9818 match self {
9819 Self::PrivateLinkStatusUnknown => "PRIVATE_LINK_STATUS_UNKNOWN",
9820 Self::PrivateLinkStatusProvisioning => "PRIVATE_LINK_STATUS_PROVISIONING",
9821 Self::PrivateLinkStatusPendingApproval => "PRIVATE_LINK_STATUS_PENDING_APPROVAL",
9822 Self::PrivateLinkStatusHealthy => "PRIVATE_LINK_STATUS_HEALTHY",
9823 Self::PrivateLinkStatusUnhealthy => "PRIVATE_LINK_STATUS_UNHEALTHY",
9824 Self::PrivateLinkStatusApproved => "PRIVATE_LINK_STATUS_APPROVED",
9825 }
9826 }
9827 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
9829 match value {
9830 "PRIVATE_LINK_STATUS_UNKNOWN" => Some(Self::PrivateLinkStatusUnknown),
9831 "PRIVATE_LINK_STATUS_PROVISIONING" => Some(Self::PrivateLinkStatusProvisioning),
9832 "PRIVATE_LINK_STATUS_PENDING_APPROVAL" => Some(Self::PrivateLinkStatusPendingApproval),
9833 "PRIVATE_LINK_STATUS_HEALTHY" => Some(Self::PrivateLinkStatusHealthy),
9834 "PRIVATE_LINK_STATUS_UNHEALTHY" => Some(Self::PrivateLinkStatusUnhealthy),
9835 "PRIVATE_LINK_STATUS_APPROVED" => Some(Self::PrivateLinkStatusApproved),
9836 _ => None,
9837 }
9838 }
9839 }
9840}
9841#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9842pub struct CreatePrivateLinkRequest {
9843 #[prost(string, tag = "1")]
9844 pub name: ::prost::alloc::string::String,
9845 #[prost(string, tag = "3")]
9846 pub region: ::prost::alloc::string::String,
9847 #[prost(uint32, tag = "4")]
9848 pub port: u32,
9849 #[prost(string, tag = "5")]
9850 pub endpoint: ::prost::alloc::string::String,
9851 #[prost(string, optional, tag = "6")]
9852 pub cloud_region: ::core::option::Option<::prost::alloc::string::String>,
9853 #[prost(oneof = "create_private_link_request::Config", tags = "2")]
9854 pub config: ::core::option::Option<create_private_link_request::Config>,
9855}
9856pub mod create_private_link_request {
9858 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9859 pub struct AwsCreateConfig {
9860 #[deprecated]
9861 #[prost(string, tag = "1")]
9862 pub endpoint: ::prost::alloc::string::String,
9863 }
9864 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
9865 pub enum Config {
9866 #[deprecated]
9867 #[prost(message, tag = "2")]
9868 Aws(AwsCreateConfig),
9869 }
9870}
9871#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9872pub struct CreatePrivateLinkResponse {
9873 #[prost(message, optional, tag = "1")]
9874 pub private_link: ::core::option::Option<PrivateLink>,
9875}
9876#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9877pub struct DestroyPrivateLinkRequest {
9878 #[prost(string, tag = "1")]
9879 pub private_link_id: ::prost::alloc::string::String,
9880}
9881#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9882pub struct DestroyPrivateLinkResponse {
9883}
9884#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9885pub struct ListPrivateLinksRequest {
9886}
9887#[derive(Clone, PartialEq, ::prost::Message)]
9888pub struct ListPrivateLinksResponse {
9889 #[prost(message, repeated, tag = "1")]
9890 pub items: ::prost::alloc::vec::Vec<PrivateLink>,
9891}
9892#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9893pub struct GetPrivateLinkStatusRequest {
9894 #[prost(string, tag = "1")]
9895 pub private_link_id: ::prost::alloc::string::String,
9896}
9897#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9898pub struct GetPrivateLinkStatusResponse {
9899 #[prost(message, optional, tag = "1")]
9900 pub value: ::core::option::Option<PrivateLinkStatus>,
9901}
9902#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
9903#[repr(i32)]
9904pub enum AgentSecretKind {
9905 Unknown = 0,
9906 Environment = 1,
9907 File = 2,
9908}
9909impl AgentSecretKind {
9910 pub fn as_str_name(&self) -> &'static str {
9915 match self {
9916 Self::Unknown => "AGENT_SECRET_KIND_UNKNOWN",
9917 Self::Environment => "AGENT_SECRET_KIND_ENVIRONMENT",
9918 Self::File => "AGENT_SECRET_KIND_FILE",
9919 }
9920 }
9921 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
9923 match value {
9924 "AGENT_SECRET_KIND_UNKNOWN" => Some(Self::Unknown),
9925 "AGENT_SECRET_KIND_ENVIRONMENT" => Some(Self::Environment),
9926 "AGENT_SECRET_KIND_FILE" => Some(Self::File),
9927 _ => None,
9928 }
9929 }
9930}
9931#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
9932#[repr(i32)]
9933pub enum AgentEventType {
9934 Unknown = 0,
9935 ApplicationCrashed = 1,
9936 RestartedHighDiskUsage = 2,
9937 RestartedHighMemoryUsage = 3,
9938}
9939impl AgentEventType {
9940 pub fn as_str_name(&self) -> &'static str {
9945 match self {
9946 Self::Unknown => "AGENT_EVENT_TYPE_UNKNOWN",
9947 Self::ApplicationCrashed => "AGENT_EVENT_TYPE_APPLICATION_CRASHED",
9948 Self::RestartedHighDiskUsage => "AGENT_EVENT_TYPE_RESTARTED_HIGH_DISK_USAGE",
9949 Self::RestartedHighMemoryUsage => "AGENT_EVENT_TYPE_RESTARTED_HIGH_MEMORY_USAGE",
9950 }
9951 }
9952 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
9954 match value {
9955 "AGENT_EVENT_TYPE_UNKNOWN" => Some(Self::Unknown),
9956 "AGENT_EVENT_TYPE_APPLICATION_CRASHED" => Some(Self::ApplicationCrashed),
9957 "AGENT_EVENT_TYPE_RESTARTED_HIGH_DISK_USAGE" => Some(Self::RestartedHighDiskUsage),
9958 "AGENT_EVENT_TYPE_RESTARTED_HIGH_MEMORY_USAGE" => Some(Self::RestartedHighMemoryUsage),
9959 _ => None,
9960 }
9961 }
9962}
9963#[derive(Clone, PartialEq, ::prost::Message)]
9964pub struct SimulationRunSummary {
9965 #[prost(int32, tag = "1")]
9966 pub passed: i32,
9967 #[prost(int32, tag = "2")]
9968 pub failed: i32,
9969 #[prost(string, tag = "3")]
9970 pub going_well: ::prost::alloc::string::String,
9971 #[prost(string, tag = "4")]
9972 pub to_improve: ::prost::alloc::string::String,
9973 #[prost(message, repeated, tag = "5")]
9974 pub issues: ::prost::alloc::vec::Vec<simulation_run_summary::Issue>,
9975 #[prost(map = "string, message", tag = "6")]
9976 pub chat_history: ::std::collections::HashMap<::prost::alloc::string::String, agent::ChatContext>,
9977}
9978pub mod simulation_run_summary {
9980 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9981 pub struct Issue {
9982 #[prost(string, tag = "1")]
9983 pub description: ::prost::alloc::string::String,
9984 #[prost(string, tag = "2")]
9985 pub suggestion: ::prost::alloc::string::String,
9986 #[prost(string, tag = "3")]
9987 pub label: ::prost::alloc::string::String,
9988 }
9989}
9990#[derive(Clone, PartialEq, ::prost::Message)]
9991pub struct SimulationRun {
9992 #[prost(string, tag = "1")]
9993 pub id: ::prost::alloc::string::String,
9994 #[prost(string, tag = "2")]
9995 pub project_id: ::prost::alloc::string::String,
9996 #[prost(enumeration = "simulation_run::Status", tag = "3")]
9997 pub status: i32,
9998 #[prost(string, tag = "4")]
9999 pub agent_description: ::prost::alloc::string::String,
10000 #[prost(string, tag = "5")]
10001 pub error: ::prost::alloc::string::String,
10002 #[prost(message, optional, tag = "6")]
10003 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
10004 #[prost(message, repeated, tag = "7")]
10005 pub jobs: ::prost::alloc::vec::Vec<simulation_run::Job>,
10006 #[prost(string, tag = "9")]
10007 pub agent_name: ::prost::alloc::string::String,
10008 #[prost(message, optional, tag = "10")]
10009 pub scenario_group: ::core::option::Option<ScenarioGroup>,
10010 #[prost(message, optional, tag = "11")]
10011 pub ended_at: ::core::option::Option<::pbjson_types::Timestamp>,
10012 #[prost(int32, tag = "12")]
10013 pub job_count: i32,
10014 #[prost(int32, tag = "13")]
10015 pub passed_count: i32,
10016 #[prost(int32, tag = "14")]
10017 pub failed_count: i32,
10018 #[prost(int32, tag = "15")]
10019 pub num_simulations: i32,
10020 #[prost(message, optional, tag = "16")]
10022 pub usage: ::core::option::Option<simulation_run::Usage>,
10023 #[prost(int32, tag = "17")]
10025 pub concurrency: i32,
10026 #[prost(enumeration = "SimulationMode", tag = "18")]
10028 pub mode: i32,
10029 #[prost(message, optional, tag = "19")]
10031 pub metrics: ::core::option::Option<simulation_run::RunMetrics>,
10032 #[prost(bytes = "vec", tag = "20")]
10035 pub summary_zstd: ::prost::alloc::vec::Vec<u8>,
10036 #[prost(int32, optional, tag = "21")]
10040 pub issue_count: ::core::option::Option<i32>,
10041 #[prost(message, optional, tag = "22")]
10043 pub ci: ::core::option::Option<simulation_run::Ci>,
10044 #[prost(message, optional, tag = "23")]
10046 pub sampling: ::core::option::Option<simulation_run::SamplingOptions>,
10047}
10048pub mod simulation_run {
10050 #[derive(Clone, PartialEq, ::prost::Message)]
10051 pub struct Job {
10052 #[prost(string, tag = "1")]
10053 pub id: ::prost::alloc::string::String,
10054 #[prost(enumeration = "job::Status", tag = "2")]
10055 pub status: i32,
10056 #[prost(string, tag = "3")]
10057 pub instructions: ::prost::alloc::string::String,
10058 #[prost(string, tag = "4")]
10059 pub error: ::prost::alloc::string::String,
10060 #[prost(string, tag = "5")]
10061 pub agent_expectations: ::prost::alloc::string::String,
10062 #[prost(string, tag = "6")]
10063 pub label: ::prost::alloc::string::String,
10064 #[prost(string, repeated, tag = "7")]
10065 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
10066 #[prost(string, tag = "8")]
10067 pub room_name: ::prost::alloc::string::String,
10068 #[prost(message, optional, tag = "10")]
10069 pub started_at: ::core::option::Option<::pbjson_types::Timestamp>,
10070 #[prost(message, optional, tag = "11")]
10071 pub ended_at: ::core::option::Option<::pbjson_types::Timestamp>,
10072 #[prost(string, tag = "12")]
10073 pub room_id: ::prost::alloc::string::String,
10074 #[prost(message, optional, tag = "13")]
10075 pub usage: ::core::option::Option<job::Usage>,
10076 #[prost(message, optional, tag = "14")]
10078 pub metrics: ::core::option::Option<JobMetrics>,
10079 #[prost(string, tag = "15")]
10082 pub scenario_id: ::prost::alloc::string::String,
10083 #[prost(int32, tag = "16")]
10086 pub sample: i32,
10087 #[prost(enumeration = "job::FailureReason", tag = "19")]
10089 pub failure_reason: i32,
10090 }
10091 pub mod job {
10093 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10094 pub struct Usage {
10095 #[prost(int32, tag = "1")]
10096 pub text_turns_count: i32,
10097 #[prost(int32, tag = "2")]
10098 pub audio_turns_count: i32,
10099 }
10100 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
10101 #[repr(i32)]
10102 pub enum Status {
10103 Pending = 0,
10104 Running = 1,
10105 Completed = 2,
10106 Failed = 3,
10107 Cancelled = 4,
10108 }
10109 impl Status {
10110 pub fn as_str_name(&self) -> &'static str {
10115 match self {
10116 Self::Pending => "STATUS_PENDING",
10117 Self::Running => "STATUS_RUNNING",
10118 Self::Completed => "STATUS_COMPLETED",
10119 Self::Failed => "STATUS_FAILED",
10120 Self::Cancelled => "STATUS_CANCELLED",
10121 }
10122 }
10123 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
10125 match value {
10126 "STATUS_PENDING" => Some(Self::Pending),
10127 "STATUS_RUNNING" => Some(Self::Running),
10128 "STATUS_COMPLETED" => Some(Self::Completed),
10129 "STATUS_FAILED" => Some(Self::Failed),
10130 "STATUS_CANCELLED" => Some(Self::Cancelled),
10131 _ => None,
10132 }
10133 }
10134 }
10135 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
10136 #[repr(i32)]
10137 pub enum FailureReason {
10138 Unspecified = 0,
10139 AgentJoinTimeout = 1,
10141 }
10142 impl FailureReason {
10143 pub fn as_str_name(&self) -> &'static str {
10148 match self {
10149 Self::Unspecified => "FAILURE_REASON_UNSPECIFIED",
10150 Self::AgentJoinTimeout => "FAILURE_REASON_AGENT_JOIN_TIMEOUT",
10151 }
10152 }
10153 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
10155 match value {
10156 "FAILURE_REASON_UNSPECIFIED" => Some(Self::Unspecified),
10157 "FAILURE_REASON_AGENT_JOIN_TIMEOUT" => Some(Self::AgentJoinTimeout),
10158 _ => None,
10159 }
10160 }
10161 }
10162 }
10163 #[derive(Clone, PartialEq, ::prost::Message)]
10164 pub struct JobMetrics {
10165 #[prost(float, optional, tag = "3")]
10167 pub task_completion: ::core::option::Option<f32>,
10168 #[prost(float, optional, tag = "20")]
10170 pub overall_score: ::core::option::Option<f32>,
10171 #[prost(message, optional, tag = "4")]
10172 pub stt: ::core::option::Option<job_metrics::Stt>,
10173 #[prost(message, optional, tag = "5")]
10174 pub llm: ::core::option::Option<job_metrics::Llm>,
10175 #[prost(message, optional, tag = "6")]
10176 pub tts: ::core::option::Option<job_metrics::Tts>,
10177 #[prost(message, optional, tag = "7")]
10178 pub conversation: ::core::option::Option<job_metrics::Conversation>,
10179 #[prost(message, repeated, tag = "9")]
10181 pub turns: ::prost::alloc::vec::Vec<job_metrics::Turn>,
10182 #[prost(string, tag = "10")]
10184 pub judge_model: ::prost::alloc::string::String,
10185 #[prost(bool, tag = "12")]
10187 pub has_remote_session: bool,
10188 #[prost(message, optional, tag = "13")]
10190 pub t0: ::core::option::Option<::pbjson_types::Timestamp>,
10191 #[prost(float, optional, tag = "14")]
10195 pub conciseness: ::core::option::Option<f32>,
10196 #[prost(bool, optional, tag = "15")]
10198 pub unnecessary_tool_calls: ::core::option::Option<bool>,
10199 #[prost(bool, optional, tag = "16")]
10200 pub information_loss: ::core::option::Option<bool>,
10201 #[prost(bool, optional, tag = "17")]
10202 pub redundant_statements: ::core::option::Option<bool>,
10203 #[prost(bool, optional, tag = "18")]
10204 pub poor_question_quality: ::core::option::Option<bool>,
10205 #[prost(float, optional, tag = "19")]
10207 pub conversation_progression: ::core::option::Option<f32>,
10208 #[prost(enumeration = "job_metrics::EndReason", tag = "21")]
10210 pub end_reason: i32,
10211 #[prost(string, tag = "22")]
10213 pub caller_language: ::prost::alloc::string::String,
10214 #[prost(string, tag = "23")]
10217 pub caller_listen_language: ::prost::alloc::string::String,
10218 #[prost(message, optional, tag = "24")]
10221 pub impairments: ::core::option::Option<super::SimulationImpairments>,
10222 }
10223 pub mod job_metrics {
10225 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
10227 pub struct Stt {
10228 #[prost(float, optional, tag = "1")]
10230 pub wer: ::core::option::Option<f32>,
10231 #[prost(uint32, optional, tag = "2")]
10233 pub words: ::core::option::Option<u32>,
10234 #[prost(uint32, optional, tag = "3")]
10236 pub word_errors: ::core::option::Option<u32>,
10237 #[prost(float, optional, tag = "4")]
10239 pub cer: ::core::option::Option<f32>,
10240 #[prost(uint32, optional, tag = "9")]
10242 pub chars: ::core::option::Option<u32>,
10243 #[prost(uint32, optional, tag = "10")]
10245 pub char_errors: ::core::option::Option<u32>,
10246 #[prost(uint32, optional, tag = "8")]
10248 pub stt_delay_ms: ::core::option::Option<u32>,
10249 #[prost(float, optional, tag = "11")]
10253 pub entity_recognition: ::core::option::Option<f32>,
10254 #[prost(uint32, optional, tag = "12")]
10255 pub entities_uttered: ::core::option::Option<u32>,
10256 #[prost(uint32, optional, tag = "13")]
10257 pub entities_recognized: ::core::option::Option<u32>,
10258 #[prost(float, optional, tag = "14")]
10264 pub entity_recall: ::core::option::Option<f32>,
10265 #[prost(uint32, optional, tag = "15")]
10266 pub entities_acquired_uttered: ::core::option::Option<u32>,
10267 #[prost(uint32, optional, tag = "16")]
10268 pub entities_acquired_recognized: ::core::option::Option<u32>,
10269 }
10270 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
10271 pub struct Llm {
10272 #[prost(uint32, optional, tag = "1")]
10274 pub ttft_ms: ::core::option::Option<u32>,
10275 #[prost(uint32, optional, tag = "2")]
10277 pub ttfs_ms: ::core::option::Option<u32>,
10278 #[prost(float, optional, tag = "3")]
10280 pub tokens_per_second: ::core::option::Option<f32>,
10281 }
10282 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
10284 pub struct Tts {
10285 #[prost(uint32, optional, tag = "2")]
10287 pub ttfb_ms: ::core::option::Option<u32>,
10288 #[prost(float, optional, tag = "3")]
10290 pub wer: ::core::option::Option<f32>,
10291 #[prost(uint32, optional, tag = "7")]
10293 pub words: ::core::option::Option<u32>,
10294 #[prost(uint32, optional, tag = "8")]
10296 pub word_errors: ::core::option::Option<u32>,
10297 #[prost(float, optional, tag = "9")]
10299 pub cer: ::core::option::Option<f32>,
10300 #[prost(uint32, optional, tag = "10")]
10302 pub chars: ::core::option::Option<u32>,
10303 #[prost(uint32, optional, tag = "11")]
10305 pub char_errors: ::core::option::Option<u32>,
10306 #[prost(float, optional, tag = "14")]
10310 pub entity_recognition: ::core::option::Option<f32>,
10311 #[prost(uint32, optional, tag = "15")]
10312 pub entities_uttered: ::core::option::Option<u32>,
10313 #[prost(uint32, optional, tag = "16")]
10314 pub entities_recognized: ::core::option::Option<u32>,
10315 #[prost(float, optional, tag = "17")]
10317 pub entity_recall: ::core::option::Option<f32>,
10318 #[prost(uint32, optional, tag = "18")]
10319 pub entities_acquired_uttered: ::core::option::Option<u32>,
10320 #[prost(uint32, optional, tag = "19")]
10321 pub entities_acquired_recognized: ::core::option::Option<u32>,
10322 }
10323 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
10325 pub struct Conversation {
10326 #[prost(float, optional, tag = "1")]
10328 pub turn_taking_score: ::core::option::Option<f32>,
10329 #[prost(int32, optional, tag = "2")]
10331 pub heard_e2e_latency_p50_ms: ::core::option::Option<i32>,
10332 #[prost(int32, optional, tag = "3")]
10333 pub heard_e2e_latency_p95_ms: ::core::option::Option<i32>,
10334 #[prost(int32, optional, tag = "4")]
10335 pub heard_e2e_latency_p99_ms: ::core::option::Option<i32>,
10336 #[prost(uint32, optional, tag = "5")]
10338 pub time_to_yield_ms: ::core::option::Option<u32>,
10339 #[prost(uint32, optional, tag = "6")]
10341 pub eot_misprediction_count: ::core::option::Option<u32>,
10342 #[prost(float, optional, tag = "7")]
10344 pub overlap_ratio: ::core::option::Option<f32>,
10345 #[prost(uint32, optional, tag = "8")]
10347 pub overlap_speech_ms: ::core::option::Option<u32>,
10348 #[prost(uint32, optional, tag = "9")]
10349 pub total_speech_ms: ::core::option::Option<u32>,
10350 #[prost(uint32, optional, tag = "11")]
10352 pub awkward_silence_count: ::core::option::Option<u32>,
10353 #[prost(uint32, optional, tag = "12")]
10355 pub unanswered_turns: ::core::option::Option<u32>,
10356 #[prost(uint32, optional, tag = "13")]
10358 pub false_interruption_count: ::core::option::Option<u32>,
10359 #[prost(uint32, optional, tag = "15")]
10361 pub e2e_latency_ms: ::core::option::Option<u32>,
10362 #[prost(uint32, optional, tag = "16")]
10364 pub backchannel_count: ::core::option::Option<u32>,
10365 }
10366 #[derive(Clone, PartialEq, ::prost::Message)]
10369 pub struct Turn {
10370 #[prost(uint32, tag = "1")]
10372 pub index: u32,
10373 #[prost(enumeration = "super::super::agent::ChatRole", tag = "2")]
10375 pub role: i32,
10376 #[prost(string, tag = "18")]
10380 pub text: ::prost::alloc::string::String,
10381 #[prost(uint32, optional, tag = "3")]
10383 pub start_ms: ::core::option::Option<u32>,
10384 #[prost(uint32, optional, tag = "4")]
10386 pub end_ms: ::core::option::Option<u32>,
10387 #[prost(uint32, optional, tag = "5")]
10389 pub stt_delay_ms: ::core::option::Option<u32>,
10390 #[prost(uint32, optional, tag = "6")]
10392 pub llm_ttft_ms: ::core::option::Option<u32>,
10393 #[prost(uint32, optional, tag = "7")]
10395 pub llm_ttfs_ms: ::core::option::Option<u32>,
10396 #[prost(float, optional, tag = "8")]
10398 pub llm_tps: ::core::option::Option<f32>,
10399 #[prost(uint32, optional, tag = "9")]
10401 pub tts_ttfb_ms: ::core::option::Option<u32>,
10402 #[prost(uint32, optional, tag = "10")]
10404 pub e2e_latency_ms: ::core::option::Option<u32>,
10405 #[prost(int32, optional, tag = "11")]
10406 pub heard_e2e_latency_ms: ::core::option::Option<i32>,
10407 #[prost(uint32, optional, tag = "12")]
10408 pub time_to_yield_ms: ::core::option::Option<u32>,
10409 #[prost(float, optional, tag = "13")]
10410 pub turn_taking_score: ::core::option::Option<f32>,
10411 #[prost(float, optional, tag = "14")]
10413 pub conciseness: ::core::option::Option<f32>,
10414 #[prost(bool, optional, tag = "15")]
10415 pub eot_misprediction: ::core::option::Option<bool>,
10416 #[prost(bool, optional, tag = "16")]
10417 pub awkward_silence: ::core::option::Option<bool>,
10418 #[prost(bool, optional, tag = "17")]
10419 pub unanswered: ::core::option::Option<bool>,
10420 #[prost(message, repeated, tag = "19")]
10426 pub entities: ::prost::alloc::vec::Vec<turn::Entity>,
10427 #[prost(string, tag = "20")]
10430 pub item_id: ::prost::alloc::string::String,
10431 }
10432 pub mod turn {
10434 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10435 pub struct Entity {
10436 #[prost(string, tag = "1")]
10438 pub said: ::prost::alloc::string::String,
10439 #[prost(string, tag = "2")]
10441 pub heard: ::prost::alloc::string::String,
10442 #[prost(bool, tag = "3")]
10444 pub recognized: bool,
10445 }
10446 }
10447 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
10448 #[repr(i32)]
10449 pub enum EndReason {
10450 Unspecified = 0,
10451 ScenarioCompleted = 1,
10453 AgentEnded = 2,
10455 Inactivity = 3,
10457 TurnLimit = 4,
10459 EmptyResponse = 5,
10461 AgentError = 6,
10463 }
10464 impl EndReason {
10465 pub fn as_str_name(&self) -> &'static str {
10470 match self {
10471 Self::Unspecified => "END_REASON_UNSPECIFIED",
10472 Self::ScenarioCompleted => "END_REASON_SCENARIO_COMPLETED",
10473 Self::AgentEnded => "END_REASON_AGENT_ENDED",
10474 Self::Inactivity => "END_REASON_INACTIVITY",
10475 Self::TurnLimit => "END_REASON_TURN_LIMIT",
10476 Self::EmptyResponse => "END_REASON_EMPTY_RESPONSE",
10477 Self::AgentError => "END_REASON_AGENT_ERROR",
10478 }
10479 }
10480 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
10482 match value {
10483 "END_REASON_UNSPECIFIED" => Some(Self::Unspecified),
10484 "END_REASON_SCENARIO_COMPLETED" => Some(Self::ScenarioCompleted),
10485 "END_REASON_AGENT_ENDED" => Some(Self::AgentEnded),
10486 "END_REASON_INACTIVITY" => Some(Self::Inactivity),
10487 "END_REASON_TURN_LIMIT" => Some(Self::TurnLimit),
10488 "END_REASON_EMPTY_RESPONSE" => Some(Self::EmptyResponse),
10489 "END_REASON_AGENT_ERROR" => Some(Self::AgentError),
10490 _ => None,
10491 }
10492 }
10493 }
10494 }
10495 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
10498 pub struct RunMetrics {
10499 #[prost(float, optional, tag = "3")]
10501 pub scenario_pass_rate: ::core::option::Option<f32>,
10502 #[prost(float, optional, tag = "10")]
10504 pub overall_score: ::core::option::Option<f32>,
10505 #[prost(message, optional, tag = "4")]
10506 pub stt: ::core::option::Option<job_metrics::Stt>,
10507 #[prost(message, optional, tag = "5")]
10508 pub llm: ::core::option::Option<job_metrics::Llm>,
10509 #[prost(message, optional, tag = "6")]
10510 pub tts: ::core::option::Option<job_metrics::Tts>,
10511 #[prost(message, optional, tag = "7")]
10512 pub conversation: ::core::option::Option<job_metrics::Conversation>,
10513 #[prost(float, optional, tag = "8")]
10515 pub conciseness: ::core::option::Option<f32>,
10516 #[prost(float, optional, tag = "9")]
10517 pub conversation_progression: ::core::option::Option<f32>,
10518 }
10519 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10522 pub struct Ci {
10523 #[prost(string, tag = "1")]
10525 pub provider: ::prost::alloc::string::String,
10526 #[prost(string, tag = "2")]
10527 pub commit_sha: ::prost::alloc::string::String,
10528 #[prost(string, tag = "3")]
10530 pub r#ref: ::prost::alloc::string::String,
10531 #[prost(string, tag = "4")]
10532 pub pull_request: ::prost::alloc::string::String,
10533 #[prost(string, tag = "5")]
10535 pub run_url: ::prost::alloc::string::String,
10536 #[prost(string, tag = "6")]
10537 pub actor: ::prost::alloc::string::String,
10538 }
10539 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
10542 pub struct SamplingOptions {
10543 #[prost(int32, tag = "1")]
10546 pub samples: i32,
10547 #[prost(double, tag = "2")]
10551 pub pass_rate: f64,
10552 }
10553 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10554 pub struct Create {
10555 }
10556 pub mod create {
10558 #[derive(Clone, PartialEq, ::prost::Message)]
10559 pub struct Request {
10560 #[prost(string, tag = "1")]
10561 pub project_id: ::prost::alloc::string::String,
10562 #[prost(string, tag = "2")]
10563 pub agent_name: ::prost::alloc::string::String,
10564 #[prost(int32, tag = "4")]
10565 pub num_simulations: i32,
10566 #[prost(string, tag = "6")]
10567 pub region: ::prost::alloc::string::String,
10568 #[prost(message, optional, tag = "7")]
10571 pub scenario_group: ::core::option::Option<super::super::ScenarioGroup>,
10572 #[prost(int32, optional, tag = "8")]
10575 pub concurrency: ::core::option::Option<i32>,
10576 #[prost(enumeration = "super::super::SimulationMode", tag = "9")]
10578 pub mode: i32,
10579 #[prost(bool, tag = "10")]
10582 pub background_noise: bool,
10583 #[prost(bool, tag = "11")]
10584 pub low_quality_microphone: bool,
10585 #[prost(bool, tag = "12")]
10586 pub packet_loss: bool,
10587 #[prost(message, optional, tag = "13")]
10588 pub ci: ::core::option::Option<super::Ci>,
10589 #[prost(message, optional, tag = "14")]
10593 pub sampling: ::core::option::Option<super::SamplingOptions>,
10594 #[prost(string, tag = "15")]
10597 pub sip_call_to: ::prost::alloc::string::String,
10598 #[prost(string, tag = "16")]
10601 pub sip_trunk_id: ::prost::alloc::string::String,
10602 #[prost(string, tag = "17")]
10603 pub sip_number: ::prost::alloc::string::String,
10604 #[prost(string, tag = "18")]
10606 pub deployment: ::prost::alloc::string::String,
10607 }
10608 #[derive(Clone, PartialEq, ::prost::Message)]
10609 pub struct Response {
10610 #[prost(string, tag = "1")]
10611 pub simulation_run_id: ::prost::alloc::string::String,
10612 #[prost(message, optional, tag = "2")]
10613 pub presigned_post_request: ::core::option::Option<super::super::PresignedPostRequest>,
10614 }
10615 }
10616 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10617 pub struct ConfirmSourceUpload {
10618 }
10619 pub mod confirm_source_upload {
10621 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10622 pub struct Request {
10623 #[prost(string, tag = "1")]
10624 pub project_id: ::prost::alloc::string::String,
10625 #[prost(string, tag = "2")]
10626 pub simulation_run_id: ::prost::alloc::string::String,
10627 #[prost(string, tag = "3")]
10628 pub code_entrypoint: ::prost::alloc::string::String,
10629 }
10630 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10631 pub struct Response {
10632 }
10633 }
10634 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10635 pub struct Get {
10636 }
10637 pub mod get {
10639 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10640 pub struct Request {
10641 #[prost(string, tag = "1")]
10642 pub project_id: ::prost::alloc::string::String,
10643 #[prost(string, tag = "2")]
10644 pub simulation_run_id: ::prost::alloc::string::String,
10645 }
10646 #[derive(Clone, PartialEq, ::prost::Message)]
10647 pub struct Response {
10648 #[prost(message, optional, tag = "1")]
10649 pub run: ::core::option::Option<super::super::SimulationRun>,
10650 }
10651 }
10652 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10653 pub struct List {
10654 }
10655 pub mod list {
10657 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10658 pub struct Request {
10659 #[prost(string, tag = "1")]
10660 pub project_id: ::prost::alloc::string::String,
10661 #[prost(enumeration = "super::Status", optional, tag = "2")]
10662 pub status: ::core::option::Option<i32>,
10663 #[prost(message, optional, tag = "3")]
10664 pub page_token: ::core::option::Option<super::super::TokenPagination>,
10665 #[prost(message, optional, tag = "4")]
10669 pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
10670 #[prost(message, optional, tag = "5")]
10671 pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
10672 #[prost(string, optional, tag = "6")]
10675 pub agent_name: ::core::option::Option<::prost::alloc::string::String>,
10676 #[prost(enumeration = "super::super::SimulationMode", optional, tag = "7")]
10679 pub mode: ::core::option::Option<i32>,
10680 }
10681 #[derive(Clone, PartialEq, ::prost::Message)]
10682 pub struct Response {
10683 #[prost(message, repeated, tag = "1")]
10684 pub runs: ::prost::alloc::vec::Vec<super::super::SimulationRun>,
10685 #[prost(message, optional, tag = "2")]
10686 pub next_page_token: ::core::option::Option<super::super::TokenPagination>,
10687 }
10688 }
10689 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10692 pub struct Counts {
10693 }
10694 pub mod counts {
10696 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10697 pub struct Request {
10698 #[prost(string, tag = "1")]
10699 pub project_id: ::prost::alloc::string::String,
10700 #[prost(message, optional, tag = "2")]
10703 pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
10704 #[prost(message, optional, tag = "3")]
10705 pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
10706 #[prost(enumeration = "super::Status", optional, tag = "4")]
10709 pub status: ::core::option::Option<i32>,
10710 #[prost(string, optional, tag = "5")]
10711 pub agent_name: ::core::option::Option<::prost::alloc::string::String>,
10712 #[prost(enumeration = "super::super::SimulationMode", optional, tag = "6")]
10713 pub mode: ::core::option::Option<i32>,
10714 }
10715 #[derive(Clone, PartialEq, ::prost::Message)]
10716 pub struct Response {
10717 #[prost(message, repeated, tag = "1")]
10721 pub buckets: ::prost::alloc::vec::Vec<Bucket>,
10722 #[prost(message, optional, tag = "2")]
10725 pub interval: ::core::option::Option<::pbjson_types::Duration>,
10726 }
10727 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10728 pub struct Bucket {
10729 #[prost(message, optional, tag = "1")]
10730 pub bucket_start: ::core::option::Option<::pbjson_types::Timestamp>,
10731 #[prost(uint64, tag = "2")]
10732 pub count: u64,
10733 }
10734 }
10735 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10736 pub struct Cancel {
10737 }
10738 pub mod cancel {
10740 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10741 pub struct Request {
10742 #[prost(string, tag = "1")]
10743 pub project_id: ::prost::alloc::string::String,
10744 #[prost(string, tag = "2")]
10745 pub simulation_run_id: ::prost::alloc::string::String,
10746 }
10747 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10748 pub struct Response {
10749 }
10750 }
10751 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10752 pub struct Usage {
10753 #[prost(int32, tag = "1")]
10754 pub text_turns_count: i32,
10755 #[prost(int32, tag = "2")]
10756 pub audio_turns_count: i32,
10757 }
10758 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
10759 #[repr(i32)]
10760 pub enum Status {
10761 PendingUpload = 0,
10762 Generating = 1,
10763 Running = 2,
10764 Summarizing = 3,
10765 Completed = 4,
10766 Failed = 5,
10767 Cancelled = 6,
10768 }
10769 impl Status {
10770 pub fn as_str_name(&self) -> &'static str {
10775 match self {
10776 Self::PendingUpload => "STATUS_PENDING_UPLOAD",
10777 Self::Generating => "STATUS_GENERATING",
10778 Self::Running => "STATUS_RUNNING",
10779 Self::Summarizing => "STATUS_SUMMARIZING",
10780 Self::Completed => "STATUS_COMPLETED",
10781 Self::Failed => "STATUS_FAILED",
10782 Self::Cancelled => "STATUS_CANCELLED",
10783 }
10784 }
10785 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
10787 match value {
10788 "STATUS_PENDING_UPLOAD" => Some(Self::PendingUpload),
10789 "STATUS_GENERATING" => Some(Self::Generating),
10790 "STATUS_RUNNING" => Some(Self::Running),
10791 "STATUS_SUMMARIZING" => Some(Self::Summarizing),
10792 "STATUS_COMPLETED" => Some(Self::Completed),
10793 "STATUS_FAILED" => Some(Self::Failed),
10794 "STATUS_CANCELLED" => Some(Self::Cancelled),
10795 _ => None,
10796 }
10797 }
10798 }
10799}
10800#[derive(Clone, PartialEq, ::prost::Message)]
10803pub struct Scenario {
10804 #[prost(string, tag = "1")]
10805 pub label: ::prost::alloc::string::String,
10806 #[prost(string, tag = "2")]
10807 pub instructions: ::prost::alloc::string::String,
10808 #[prost(string, tag = "3")]
10809 pub agent_expectations: ::prost::alloc::string::String,
10810 #[prost(map = "string, string", tag = "4")]
10812 pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
10813 #[prost(string, tag = "5")]
10816 pub userdata: ::prost::alloc::string::String,
10817 #[prost(string, tag = "6")]
10820 pub id: ::prost::alloc::string::String,
10821}
10822pub mod scenario {
10824 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10825 pub struct CreateFromSession {
10826 }
10827 pub mod create_from_session {
10829 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10830 pub struct Request {
10831 #[prost(string, tag = "1")]
10832 pub project_id: ::prost::alloc::string::String,
10833 #[prost(string, tag = "2")]
10834 pub room_id: ::prost::alloc::string::String,
10835 #[prost(string, tag = "3")]
10836 pub region: ::prost::alloc::string::String,
10837 }
10838 #[derive(Clone, PartialEq, ::prost::Message)]
10839 pub struct Response {
10840 #[prost(message, optional, tag = "1")]
10841 pub scenario: ::core::option::Option<super::super::Scenario>,
10842 }
10843 }
10844}
10845#[derive(Clone, PartialEq, ::prost::Message)]
10847pub struct ScenarioGroup {
10848 #[prost(string, tag = "1")]
10849 pub name: ::prost::alloc::string::String,
10850 #[prost(message, repeated, tag = "2")]
10851 pub scenarios: ::prost::alloc::vec::Vec<Scenario>,
10852 #[prost(string, tag = "3")]
10855 pub id: ::prost::alloc::string::String,
10856}
10857#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10859pub struct SimulationImpairments {
10860 #[prost(bool, tag = "1")]
10861 pub background_noise: bool,
10862 #[prost(bool, tag = "2")]
10863 pub low_quality_microphone: bool,
10864 #[prost(bool, tag = "3")]
10865 pub packet_loss: bool,
10866}
10867#[derive(Clone, PartialEq, ::prost::Message)]
10871pub struct SimulationDispatch {
10872 #[prost(string, tag = "1")]
10873 pub simulation_run_id: ::prost::alloc::string::String,
10874 #[prost(string, tag = "2")]
10875 pub job_id: ::prost::alloc::string::String,
10876 #[prost(message, optional, tag = "3")]
10877 pub scenario: ::core::option::Option<Scenario>,
10878 #[prost(enumeration = "SimulationMode", tag = "4")]
10879 pub mode: i32,
10880}
10881#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
10883#[repr(i32)]
10884pub enum SimulationMode {
10885 Unspecified = 0,
10886 Text = 1,
10888 Audio = 2,
10890}
10891impl SimulationMode {
10892 pub fn as_str_name(&self) -> &'static str {
10897 match self {
10898 Self::Unspecified => "SIMULATION_MODE_UNSPECIFIED",
10899 Self::Text => "SIMULATION_MODE_TEXT",
10900 Self::Audio => "SIMULATION_MODE_AUDIO",
10901 }
10902 }
10903 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
10905 match value {
10906 "SIMULATION_MODE_UNSPECIFIED" => Some(Self::Unspecified),
10907 "SIMULATION_MODE_TEXT" => Some(Self::Text),
10908 "SIMULATION_MODE_AUDIO" => Some(Self::Audio),
10909 _ => None,
10910 }
10911 }
10912}
10913#[derive(Clone, PartialEq, ::prost::Message)]
10914pub struct WorkerInfo {
10915 #[prost(string, tag = "1")]
10916 pub worker_type: ::prost::alloc::string::String,
10917 #[prost(string, tag = "2")]
10918 pub agent_name: ::prost::alloc::string::String,
10919 #[prost(float, tag = "3")]
10920 pub active_jobs: f32,
10921 #[prost(string, tag = "4")]
10922 pub sdk_version: ::prost::alloc::string::String,
10923 #[prost(float, tag = "5")]
10924 pub worker_load: f32,
10925 #[prost(int32, tag = "6")]
10926 pub protocol_version: i32,
10927}
10928#[derive(Clone, PartialEq, ::prost::Message)]
10929pub struct Node {
10930 #[prost(string, tag = "1")]
10931 pub id: ::prost::alloc::string::String,
10932 #[prost(string, tag = "2")]
10933 pub ip: ::prost::alloc::string::String,
10934 #[prost(uint32, tag = "3")]
10935 pub num_cpus: u32,
10936 #[prost(message, optional, tag = "4")]
10937 pub stats: ::core::option::Option<NodeStats>,
10938 #[prost(enumeration = "NodeType", tag = "5")]
10939 pub r#type: i32,
10940 #[prost(enumeration = "NodeState", tag = "6")]
10941 pub state: i32,
10942 #[prost(string, tag = "7")]
10943 pub region: ::prost::alloc::string::String,
10944}
10945#[derive(Clone, PartialEq, ::prost::Message)]
10946pub struct NodeStats {
10947 #[prost(int64, tag = "1")]
10949 pub started_at: i64,
10950 #[prost(int64, tag = "2")]
10952 pub updated_at: i64,
10953 #[prost(int32, tag = "3")]
10955 pub num_rooms: i32,
10956 #[prost(int32, tag = "4")]
10957 pub num_clients: i32,
10958 #[prost(int32, tag = "5")]
10959 pub num_tracks_in: i32,
10960 #[prost(int32, tag = "6")]
10961 pub num_tracks_out: i32,
10962 #[prost(int32, tag = "36")]
10963 pub num_track_publish_attempts: i32,
10964 #[deprecated]
10965 #[prost(float, tag = "37")]
10966 pub track_publish_attempts_per_sec: f32,
10967 #[prost(int32, tag = "38")]
10968 pub num_track_publish_success: i32,
10969 #[deprecated]
10970 #[prost(float, tag = "39")]
10971 pub track_publish_success_per_sec: f32,
10972 #[prost(int32, tag = "51")]
10973 pub num_track_publish_cancels: i32,
10974 #[prost(int32, tag = "40")]
10975 pub num_track_subscribe_attempts: i32,
10976 #[deprecated]
10977 #[prost(float, tag = "41")]
10978 pub track_subscribe_attempts_per_sec: f32,
10979 #[prost(int32, tag = "42")]
10980 pub num_track_subscribe_success: i32,
10981 #[deprecated]
10982 #[prost(float, tag = "43")]
10983 pub track_subscribe_success_per_sec: f32,
10984 #[prost(int32, tag = "52")]
10985 pub num_track_subscribe_cancels: i32,
10986 #[prost(uint64, tag = "7")]
10988 pub bytes_in: u64,
10989 #[prost(uint64, tag = "8")]
10990 pub bytes_out: u64,
10991 #[prost(uint64, tag = "9")]
10992 pub packets_in: u64,
10993 #[prost(uint64, tag = "10")]
10994 pub packets_out: u64,
10995 #[prost(uint64, tag = "11")]
10996 pub nack_total: u64,
10997 #[deprecated]
10998 #[prost(float, tag = "12")]
10999 pub bytes_in_per_sec: f32,
11000 #[deprecated]
11001 #[prost(float, tag = "13")]
11002 pub bytes_out_per_sec: f32,
11003 #[prost(float, tag = "14")]
11004 pub packets_in_per_sec: f32,
11005 #[deprecated]
11006 #[prost(float, tag = "15")]
11007 pub packets_out_per_sec: f32,
11008 #[deprecated]
11009 #[prost(float, tag = "16")]
11010 pub nack_per_sec: f32,
11011 #[prost(uint32, tag = "17")]
11013 pub num_cpus: u32,
11014 #[prost(float, tag = "18")]
11015 pub load_avg_last1min: f32,
11016 #[prost(float, tag = "19")]
11017 pub load_avg_last5min: f32,
11018 #[prost(float, tag = "20")]
11019 pub load_avg_last15min: f32,
11020 #[prost(float, tag = "21")]
11021 pub cpu_load: f32,
11022 #[deprecated]
11023 #[prost(float, tag = "33")]
11024 pub memory_load: f32,
11025 #[prost(uint64, tag = "34")]
11026 pub memory_total: u64,
11027 #[prost(uint64, tag = "35")]
11028 pub memory_used: u64,
11029 #[prost(uint32, tag = "28")]
11030 pub sys_packets_out: u32,
11031 #[prost(uint32, tag = "29")]
11032 pub sys_packets_dropped: u32,
11033 #[deprecated]
11034 #[prost(float, tag = "30")]
11035 pub sys_packets_out_per_sec: f32,
11036 #[deprecated]
11037 #[prost(float, tag = "31")]
11038 pub sys_packets_dropped_per_sec: f32,
11039 #[deprecated]
11040 #[prost(float, tag = "32")]
11041 pub sys_packets_dropped_pct_per_sec: f32,
11042 #[prost(uint64, tag = "22")]
11044 pub retransmit_bytes_out: u64,
11045 #[prost(uint64, tag = "23")]
11046 pub retransmit_packets_out: u64,
11047 #[deprecated]
11048 #[prost(float, tag = "24")]
11049 pub retransmit_bytes_out_per_sec: f32,
11050 #[deprecated]
11051 #[prost(float, tag = "25")]
11052 pub retransmit_packets_out_per_sec: f32,
11053 #[prost(uint64, tag = "26")]
11055 pub participant_signal_connected: u64,
11056 #[deprecated]
11057 #[prost(float, tag = "27")]
11058 pub participant_signal_connected_per_sec: f32,
11059 #[deprecated]
11060 #[prost(uint64, tag = "55")]
11061 pub participant_signal_failed: u64,
11062 #[deprecated]
11063 #[prost(uint64, tag = "56")]
11064 pub participant_signal_validation_failed: u64,
11065 #[prost(uint64, tag = "44")]
11066 pub participant_rtc_connected: u64,
11067 #[deprecated]
11068 #[prost(float, tag = "45")]
11069 pub participant_rtc_connected_per_sec: f32,
11070 #[prost(uint64, tag = "46")]
11071 pub participant_rtc_init: u64,
11072 #[deprecated]
11073 #[prost(float, tag = "47")]
11074 pub participant_rtc_init_per_sec: f32,
11075 #[prost(uint64, tag = "53")]
11076 pub participant_rtc_canceled: u64,
11077 #[prost(uint64, tag = "54")]
11078 pub participant_rtc_active: u64,
11079 #[prost(uint32, tag = "48")]
11081 pub forward_latency: u32,
11082 #[deprecated]
11083 #[prost(uint32, tag = "49")]
11084 pub forward_jitter: u32,
11085 #[prost(uint32, tag = "57")]
11087 pub forward_processing_per_write: u32,
11088 #[prost(message, repeated, tag = "50")]
11089 pub rates: ::prost::alloc::vec::Vec<NodeStatsRate>,
11090}
11091#[derive(Clone, Copy, PartialEq, ::prost::Message)]
11093pub struct NodeStatsRate {
11094 #[prost(int64, tag = "1")]
11095 pub started_at: i64,
11096 #[prost(int64, tag = "2")]
11097 pub ended_at: i64,
11098 #[prost(int64, tag = "3")]
11099 pub duration: i64,
11100 #[prost(float, tag = "4")]
11101 pub track_publish_attempts: f32,
11102 #[prost(float, tag = "5")]
11103 pub track_publish_success: f32,
11104 #[prost(float, tag = "24")]
11105 pub track_publish_cancels: f32,
11106 #[prost(float, tag = "6")]
11107 pub track_subscribe_attempts: f32,
11108 #[prost(float, tag = "7")]
11109 pub track_subscribe_success: f32,
11110 #[prost(float, tag = "25")]
11111 pub track_subscribe_cancels: f32,
11112 #[prost(float, tag = "8")]
11113 pub bytes_in: f32,
11114 #[prost(float, tag = "9")]
11115 pub bytes_out: f32,
11116 #[prost(float, tag = "10")]
11117 pub packets_in: f32,
11118 #[prost(float, tag = "11")]
11119 pub packets_out: f32,
11120 #[prost(float, tag = "12")]
11121 pub nack_total: f32,
11122 #[prost(float, tag = "13")]
11123 pub sys_packets_out: f32,
11124 #[prost(float, tag = "14")]
11125 pub sys_packets_dropped: f32,
11126 #[prost(float, tag = "15")]
11127 pub retransmit_bytes_out: f32,
11128 #[prost(float, tag = "16")]
11129 pub retransmit_packets_out: f32,
11130 #[prost(float, tag = "17")]
11131 pub participant_signal_connected: f32,
11132 #[prost(float, tag = "28")]
11133 pub participant_signal_failed: f32,
11134 #[prost(float, tag = "29")]
11135 pub participant_signal_validation_failed: f32,
11136 #[prost(float, tag = "18")]
11137 pub participant_rtc_connected: f32,
11138 #[prost(float, tag = "19")]
11139 pub participant_rtc_init: f32,
11140 #[prost(float, tag = "26")]
11141 pub participant_rtc_canceled: f32,
11142 #[prost(float, tag = "27")]
11143 pub participant_rtc_active: f32,
11144 #[prost(float, tag = "20")]
11146 pub cpu_load: f32,
11147 #[prost(float, tag = "21")]
11148 pub memory_load: f32,
11149 #[prost(float, tag = "22")]
11150 pub memory_used: f32,
11151 #[prost(float, tag = "23")]
11152 pub memory_total: f32,
11153}
11154#[derive(Clone, PartialEq, ::prost::Message)]
11155pub struct StartSession {
11156 #[prost(string, tag = "1")]
11157 pub room_name: ::prost::alloc::string::String,
11158 #[prost(string, tag = "2")]
11159 pub identity: ::prost::alloc::string::String,
11160 #[prost(string, tag = "3")]
11161 pub connection_id: ::prost::alloc::string::String,
11162 #[prost(bool, tag = "4")]
11164 pub reconnect: bool,
11165 #[prost(bool, tag = "9")]
11166 pub auto_subscribe: bool,
11167 #[prost(bool, optional, tag = "25")]
11168 pub auto_subscribe_data_track: ::core::option::Option<bool>,
11169 #[deprecated]
11170 #[prost(bool, tag = "10")]
11171 pub hidden: bool,
11172 #[prost(message, optional, tag = "11")]
11173 pub client: ::core::option::Option<ClientInfo>,
11174 #[deprecated]
11175 #[prost(bool, tag = "12")]
11176 pub recorder: bool,
11177 #[prost(string, tag = "13")]
11178 pub name: ::prost::alloc::string::String,
11179 #[prost(string, tag = "14")]
11181 pub grants_json: ::prost::alloc::string::String,
11182 #[prost(bool, tag = "15")]
11183 pub adaptive_stream: bool,
11184 #[prost(string, tag = "16")]
11186 pub participant_id: ::prost::alloc::string::String,
11187 #[prost(enumeration = "ReconnectReason", tag = "17")]
11188 pub reconnect_reason: i32,
11189 #[prost(bool, optional, tag = "18")]
11190 pub subscriber_allow_pause: ::core::option::Option<bool>,
11191 #[prost(bool, tag = "19")]
11192 pub disable_ice_lite: bool,
11193 #[prost(message, optional, tag = "20")]
11194 pub create_room: ::core::option::Option<CreateRoomRequest>,
11195 #[prost(message, repeated, tag = "21")]
11196 pub add_track_requests: ::prost::alloc::vec::Vec<AddTrackRequest>,
11197 #[prost(message, optional, tag = "22")]
11198 pub publisher_offer: ::core::option::Option<SessionDescription>,
11199 #[prost(message, optional, tag = "23")]
11200 pub sync_state: ::core::option::Option<SyncState>,
11201 #[prost(bool, tag = "24")]
11202 pub use_single_peer_connection: bool,
11203 #[prost(int64, tag = "26")]
11204 pub token_expires_at: i64,
11205 #[prost(string, tag = "27")]
11207 pub api_key: ::prost::alloc::string::String,
11208}
11209#[derive(Clone, PartialEq, ::prost::Message)]
11211pub struct RoomInternal {
11212 #[prost(message, optional, tag = "1")]
11213 pub track_egress: ::core::option::Option<AutoTrackEgress>,
11214 #[prost(message, optional, tag = "2")]
11215 pub participant_egress: ::core::option::Option<AutoParticipantEgress>,
11216 #[prost(message, optional, tag = "3")]
11217 pub playout_delay: ::core::option::Option<PlayoutDelay>,
11218 #[prost(message, repeated, tag = "5")]
11219 pub agent_dispatches: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
11220 #[prost(bool, tag = "4")]
11221 pub sync_streams: bool,
11222 #[prost(bool, tag = "6")]
11223 pub replay_enabled: bool,
11224 #[prost(bool, tag = "7")]
11225 pub export_room: bool,
11226 #[prost(map = "string, string", tag = "8")]
11227 pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
11228}
11229#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
11230pub struct IceConfig {
11231 #[prost(enumeration = "IceCandidateType", tag = "1")]
11232 pub preference_subscriber: i32,
11233 #[prost(enumeration = "IceCandidateType", tag = "2")]
11234 pub preference_publisher: i32,
11235}
11236#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
11237#[repr(i32)]
11238pub enum NodeType {
11239 Server = 0,
11240 Controller = 1,
11241 Media = 2,
11242 Turn = 4,
11243 Sweeper = 5,
11244 Director = 6,
11245 HostedAgent = 7,
11246 Settings = 8,
11247}
11248impl NodeType {
11249 pub fn as_str_name(&self) -> &'static str {
11254 match self {
11255 Self::Server => "SERVER",
11256 Self::Controller => "CONTROLLER",
11257 Self::Media => "MEDIA",
11258 Self::Turn => "TURN",
11259 Self::Sweeper => "SWEEPER",
11260 Self::Director => "DIRECTOR",
11261 Self::HostedAgent => "HOSTED_AGENT",
11262 Self::Settings => "SETTINGS",
11263 }
11264 }
11265 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
11267 match value {
11268 "SERVER" => Some(Self::Server),
11269 "CONTROLLER" => Some(Self::Controller),
11270 "MEDIA" => Some(Self::Media),
11271 "TURN" => Some(Self::Turn),
11272 "SWEEPER" => Some(Self::Sweeper),
11273 "DIRECTOR" => Some(Self::Director),
11274 "HOSTED_AGENT" => Some(Self::HostedAgent),
11275 "SETTINGS" => Some(Self::Settings),
11276 _ => None,
11277 }
11278 }
11279}
11280#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
11281#[repr(i32)]
11282pub enum NodeState {
11283 StartingUp = 0,
11284 Serving = 1,
11285 ShuttingDown = 2,
11286 Suspended = 3,
11287}
11288impl NodeState {
11289 pub fn as_str_name(&self) -> &'static str {
11294 match self {
11295 Self::StartingUp => "STARTING_UP",
11296 Self::Serving => "SERVING",
11297 Self::ShuttingDown => "SHUTTING_DOWN",
11298 Self::Suspended => "SUSPENDED",
11299 }
11300 }
11301 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
11303 match value {
11304 "STARTING_UP" => Some(Self::StartingUp),
11305 "SERVING" => Some(Self::Serving),
11306 "SHUTTING_DOWN" => Some(Self::ShuttingDown),
11307 "SUSPENDED" => Some(Self::Suspended),
11308 _ => None,
11309 }
11310 }
11311}
11312#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
11313#[repr(i32)]
11314pub enum IceCandidateType {
11315 IctNone = 0,
11316 IctTcp = 1,
11317 IctTls = 2,
11318}
11319impl IceCandidateType {
11320 pub fn as_str_name(&self) -> &'static str {
11325 match self {
11326 Self::IctNone => "ICT_NONE",
11327 Self::IctTcp => "ICT_TCP",
11328 Self::IctTls => "ICT_TLS",
11329 }
11330 }
11331 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
11333 match value {
11334 "ICT_NONE" => Some(Self::IctNone),
11335 "ICT_TCP" => Some(Self::IctTcp),
11336 "ICT_TLS" => Some(Self::IctTls),
11337 _ => None,
11338 }
11339 }
11340}
11341#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11343pub struct SearchPhoneNumbersRequest {
11344 #[prost(string, tag = "1")]
11346 pub country_code: ::prost::alloc::string::String,
11347 #[prost(string, optional, tag = "2")]
11349 pub area_code: ::core::option::Option<::prost::alloc::string::String>,
11350 #[prost(int32, optional, tag = "3")]
11352 pub limit: ::core::option::Option<i32>,
11353 #[prost(message, optional, tag = "4")]
11355 pub page_token: ::core::option::Option<TokenPagination>,
11356}
11357#[derive(Clone, PartialEq, ::prost::Message)]
11359pub struct SearchPhoneNumbersResponse {
11360 #[prost(message, repeated, tag = "1")]
11362 pub items: ::prost::alloc::vec::Vec<PhoneNumber>,
11363 #[prost(message, optional, tag = "2")]
11365 pub next_page_token: ::core::option::Option<TokenPagination>,
11366}
11367#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11369pub struct PurchasePhoneNumberRequest {
11370 #[prost(string, repeated, tag = "1")]
11372 pub phone_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11373 #[prost(string, optional, tag = "2")]
11375 pub sip_dispatch_rule_id: ::core::option::Option<::prost::alloc::string::String>,
11376}
11377#[derive(Clone, PartialEq, ::prost::Message)]
11379pub struct PurchasePhoneNumberResponse {
11380 #[prost(message, repeated, tag = "1")]
11382 pub phone_numbers: ::prost::alloc::vec::Vec<PhoneNumber>,
11383}
11384#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11386pub struct ListPhoneNumbersRequest {
11387 #[prost(int32, optional, tag = "1")]
11389 pub limit: ::core::option::Option<i32>,
11390 #[prost(enumeration = "PhoneNumberStatus", repeated, tag = "2")]
11392 pub statuses: ::prost::alloc::vec::Vec<i32>,
11393 #[prost(message, optional, tag = "3")]
11395 pub page_token: ::core::option::Option<TokenPagination>,
11396 #[prost(string, optional, tag = "4")]
11398 pub sip_dispatch_rule_id: ::core::option::Option<::prost::alloc::string::String>,
11399}
11400#[derive(Clone, PartialEq, ::prost::Message)]
11402pub struct ListPhoneNumbersResponse {
11403 #[prost(message, repeated, tag = "1")]
11405 pub items: ::prost::alloc::vec::Vec<PhoneNumber>,
11406 #[prost(message, optional, tag = "2")]
11408 pub next_page_token: ::core::option::Option<TokenPagination>,
11409 #[prost(int32, tag = "3")]
11411 pub total_count: i32,
11412 #[prost(int32, tag = "4")]
11414 pub offline_count: i32,
11415}
11416#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11418pub struct GetPhoneNumberRequest {
11419 #[prost(string, optional, tag = "1")]
11421 pub id: ::core::option::Option<::prost::alloc::string::String>,
11422 #[prost(string, optional, tag = "2")]
11424 pub phone_number: ::core::option::Option<::prost::alloc::string::String>,
11425}
11426#[derive(Clone, PartialEq, ::prost::Message)]
11428pub struct GetPhoneNumberResponse {
11429 #[prost(message, optional, tag = "1")]
11431 pub phone_number: ::core::option::Option<PhoneNumber>,
11432}
11433#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11435pub struct UpdatePhoneNumberRequest {
11436 #[prost(string, optional, tag = "1")]
11438 pub id: ::core::option::Option<::prost::alloc::string::String>,
11439 #[prost(string, optional, tag = "2")]
11441 pub phone_number: ::core::option::Option<::prost::alloc::string::String>,
11442 #[prost(string, optional, tag = "3")]
11444 pub sip_dispatch_rule_id: ::core::option::Option<::prost::alloc::string::String>,
11445 #[prost(string, optional, tag = "4")]
11446 pub name: ::core::option::Option<::prost::alloc::string::String>,
11447}
11448#[derive(Clone, PartialEq, ::prost::Message)]
11450pub struct UpdatePhoneNumberResponse {
11451 #[prost(message, optional, tag = "1")]
11453 pub phone_number: ::core::option::Option<PhoneNumber>,
11454}
11455#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11457pub struct ReleasePhoneNumbersRequest {
11458 #[prost(string, repeated, tag = "1")]
11460 pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11461 #[prost(string, repeated, tag = "2")]
11463 pub phone_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11464}
11465#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
11469pub struct ReleasePhoneNumbersResponse {
11470}
11471#[derive(Clone, PartialEq, ::prost::Message)]
11473pub struct PhoneNumber {
11474 #[prost(string, tag = "1")]
11476 pub id: ::prost::alloc::string::String,
11477 #[prost(string, tag = "17")]
11479 pub name: ::prost::alloc::string::String,
11480 #[prost(string, tag = "2")]
11482 pub e164_format: ::prost::alloc::string::String,
11483 #[prost(string, tag = "3")]
11485 pub country_code: ::prost::alloc::string::String,
11486 #[prost(string, tag = "4")]
11488 pub area_code: ::prost::alloc::string::String,
11489 #[prost(enumeration = "PhoneNumberType", tag = "5")]
11491 pub number_type: i32,
11492 #[prost(string, tag = "6")]
11494 pub locality: ::prost::alloc::string::String,
11495 #[prost(string, tag = "7")]
11497 pub region: ::prost::alloc::string::String,
11498 #[prost(double, tag = "8")]
11500 pub spam_score: f64,
11501 #[prost(message, optional, tag = "9")]
11503 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
11504 #[prost(message, optional, tag = "10")]
11506 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
11507 #[prost(string, repeated, tag = "11")]
11509 pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11510 #[prost(enumeration = "PhoneNumberStatus", tag = "12")]
11512 pub status: i32,
11513 #[prost(enumeration = "PhoneNumberInboundStatus", tag = "18")]
11515 pub inbound_status: i32,
11516 #[prost(enumeration = "PhoneNumberOutboundStatus", tag = "19")]
11518 pub outbound_status: i32,
11519 #[prost(message, optional, tag = "13")]
11521 pub assigned_at: ::core::option::Option<::pbjson_types::Timestamp>,
11522 #[prost(message, optional, tag = "14")]
11524 pub released_at: ::core::option::Option<::pbjson_types::Timestamp>,
11525 #[deprecated]
11527 #[prost(string, tag = "15")]
11528 pub sip_dispatch_rule_id: ::prost::alloc::string::String,
11529 #[prost(string, repeated, tag = "16")]
11531 pub sip_dispatch_rule_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11532}
11533#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
11535#[repr(i32)]
11536pub enum PhoneNumberStatus {
11537 Unspecified = 0,
11539 Active = 1,
11541 Pending = 2,
11543 Released = 3,
11545 Offline = 4,
11547}
11548impl PhoneNumberStatus {
11549 pub fn as_str_name(&self) -> &'static str {
11554 match self {
11555 Self::Unspecified => "PHONE_NUMBER_STATUS_UNSPECIFIED",
11556 Self::Active => "PHONE_NUMBER_STATUS_ACTIVE",
11557 Self::Pending => "PHONE_NUMBER_STATUS_PENDING",
11558 Self::Released => "PHONE_NUMBER_STATUS_RELEASED",
11559 Self::Offline => "PHONE_NUMBER_STATUS_OFFLINE",
11560 }
11561 }
11562 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
11564 match value {
11565 "PHONE_NUMBER_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
11566 "PHONE_NUMBER_STATUS_ACTIVE" => Some(Self::Active),
11567 "PHONE_NUMBER_STATUS_PENDING" => Some(Self::Pending),
11568 "PHONE_NUMBER_STATUS_RELEASED" => Some(Self::Released),
11569 "PHONE_NUMBER_STATUS_OFFLINE" => Some(Self::Offline),
11570 _ => None,
11571 }
11572 }
11573}
11574#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
11575#[repr(i32)]
11576pub enum PhoneNumberInboundStatus {
11577 PhoneNumberInStatusUnspecified = 0,
11579 PhoneNumberInStatusActive = 1,
11581 PhoneNumberInStatusUnavailable = 2,
11583 PhoneNumberInStatusDetached = 3,
11585}
11586impl PhoneNumberInboundStatus {
11587 pub fn as_str_name(&self) -> &'static str {
11592 match self {
11593 Self::PhoneNumberInStatusUnspecified => "PHONE_NUMBER_IN_STATUS_UNSPECIFIED",
11594 Self::PhoneNumberInStatusActive => "PHONE_NUMBER_IN_STATUS_ACTIVE",
11595 Self::PhoneNumberInStatusUnavailable => "PHONE_NUMBER_IN_STATUS_UNAVAILABLE",
11596 Self::PhoneNumberInStatusDetached => "PHONE_NUMBER_IN_STATUS_DETACHED",
11597 }
11598 }
11599 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
11601 match value {
11602 "PHONE_NUMBER_IN_STATUS_UNSPECIFIED" => Some(Self::PhoneNumberInStatusUnspecified),
11603 "PHONE_NUMBER_IN_STATUS_ACTIVE" => Some(Self::PhoneNumberInStatusActive),
11604 "PHONE_NUMBER_IN_STATUS_UNAVAILABLE" => Some(Self::PhoneNumberInStatusUnavailable),
11605 "PHONE_NUMBER_IN_STATUS_DETACHED" => Some(Self::PhoneNumberInStatusDetached),
11606 _ => None,
11607 }
11608 }
11609}
11610#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
11611#[repr(i32)]
11612pub enum PhoneNumberOutboundStatus {
11613 PhoneNumberOutStatusUnspecified = 0,
11615 PhoneNumberOutStatusActive = 1,
11617 PhoneNumberOutStatusUnavailable = 2,
11619}
11620impl PhoneNumberOutboundStatus {
11621 pub fn as_str_name(&self) -> &'static str {
11626 match self {
11627 Self::PhoneNumberOutStatusUnspecified => "PHONE_NUMBER_OUT_STATUS_UNSPECIFIED",
11628 Self::PhoneNumberOutStatusActive => "PHONE_NUMBER_OUT_STATUS_ACTIVE",
11629 Self::PhoneNumberOutStatusUnavailable => "PHONE_NUMBER_OUT_STATUS_UNAVAILABLE",
11630 }
11631 }
11632 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
11634 match value {
11635 "PHONE_NUMBER_OUT_STATUS_UNSPECIFIED" => Some(Self::PhoneNumberOutStatusUnspecified),
11636 "PHONE_NUMBER_OUT_STATUS_ACTIVE" => Some(Self::PhoneNumberOutStatusActive),
11637 "PHONE_NUMBER_OUT_STATUS_UNAVAILABLE" => Some(Self::PhoneNumberOutStatusUnavailable),
11638 _ => None,
11639 }
11640 }
11641}
11642#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
11644#[repr(i32)]
11645pub enum PhoneNumberType {
11646 Unknown = 0,
11648 Mobile = 1,
11650 Local = 2,
11652 TollFree = 3,
11654}
11655impl PhoneNumberType {
11656 pub fn as_str_name(&self) -> &'static str {
11661 match self {
11662 Self::Unknown => "PHONE_NUMBER_TYPE_UNKNOWN",
11663 Self::Mobile => "PHONE_NUMBER_TYPE_MOBILE",
11664 Self::Local => "PHONE_NUMBER_TYPE_LOCAL",
11665 Self::TollFree => "PHONE_NUMBER_TYPE_TOLL_FREE",
11666 }
11667 }
11668 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
11670 match value {
11671 "PHONE_NUMBER_TYPE_UNKNOWN" => Some(Self::Unknown),
11672 "PHONE_NUMBER_TYPE_MOBILE" => Some(Self::Mobile),
11673 "PHONE_NUMBER_TYPE_LOCAL" => Some(Self::Local),
11674 "PHONE_NUMBER_TYPE_TOLL_FREE" => Some(Self::TollFree),
11675 _ => None,
11676 }
11677 }
11678}
11679#[derive(Clone, PartialEq, ::prost::Message)]
11680pub struct TokenSourceRequest {
11681 #[prost(string, optional, tag = "1")]
11683 pub room_name: ::core::option::Option<::prost::alloc::string::String>,
11684 #[prost(string, optional, tag = "2")]
11686 pub participant_name: ::core::option::Option<::prost::alloc::string::String>,
11687 #[prost(string, optional, tag = "3")]
11689 pub participant_identity: ::core::option::Option<::prost::alloc::string::String>,
11690 #[prost(string, optional, tag = "4")]
11692 pub participant_metadata: ::core::option::Option<::prost::alloc::string::String>,
11693 #[prost(map = "string, string", tag = "5")]
11695 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
11696 #[prost(message, optional, tag = "6")]
11700 pub room_config: ::core::option::Option<RoomConfiguration>,
11701}
11702#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11703pub struct TokenSourceResponse {
11704 #[prost(string, tag = "1")]
11705 pub server_url: ::prost::alloc::string::String,
11706 #[prost(string, tag = "2")]
11707 pub participant_token: ::prost::alloc::string::String,
11708}
11709#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11710pub struct GetRemoteHeadersV1Request {
11711 #[prost(string, repeated, tag = "1")]
11713 pub include: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11714 #[prost(string, repeated, tag = "2")]
11716 pub exclude: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11717}
11718#[derive(Clone, PartialEq, ::prost::Message)]
11719pub struct GetRemoteHeadersV1Response {
11720 #[prost(map = "string, string", tag = "1")]
11721 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
11722}
11723#[derive(Clone, PartialEq, ::prost::Message)]
11724pub struct EndCallV1Request {
11725 #[prost(map = "string, string", tag = "1")]
11726 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
11727}
11728#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
11729pub struct EndCallV1Response {
11730}
11731include!("livekit.serde.rs");
11732