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}
101#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
111#[repr(i32)]
112pub enum MetricLabel {
113 AgentsLlmTtft = 0,
115 AgentsSttTtft = 1,
117 AgentsTtsTtfb = 2,
119 ClientVideoSubscriberFreezeCount = 3,
121 ClientVideoSubscriberTotalFreezeDuration = 4,
123 ClientVideoSubscriberPauseCount = 5,
125 ClientVideoSubscriberTotalPausesDuration = 6,
127 ClientAudioSubscriberConcealedSamples = 7,
129 ClientAudioSubscriberSilentConcealedSamples = 8,
131 ClientAudioSubscriberConcealmentEvents = 9,
133 ClientAudioSubscriberInterruptionCount = 10,
135 ClientAudioSubscriberTotalInterruptionDuration = 11,
137 ClientSubscriberJitterBufferDelay = 12,
139 ClientSubscriberJitterBufferEmittedCount = 13,
141 ClientVideoPublisherQualityLimitationDurationBandwidth = 14,
143 ClientVideoPublisherQualityLimitationDurationCpu = 15,
145 ClientVideoPublisherQualityLimitationDurationOther = 16,
147 PublisherRtt = 17,
149 ServerMeshRtt = 18,
151 SubscriberRtt = 19,
153 PredefinedMaxValue = 4096,
154}
155impl MetricLabel {
156 pub fn as_str_name(&self) -> &'static str {
161 match self {
162 Self::AgentsLlmTtft => "AGENTS_LLM_TTFT",
163 Self::AgentsSttTtft => "AGENTS_STT_TTFT",
164 Self::AgentsTtsTtfb => "AGENTS_TTS_TTFB",
165 Self::ClientVideoSubscriberFreezeCount => "CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT",
166 Self::ClientVideoSubscriberTotalFreezeDuration => "CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION",
167 Self::ClientVideoSubscriberPauseCount => "CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT",
168 Self::ClientVideoSubscriberTotalPausesDuration => "CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION",
169 Self::ClientAudioSubscriberConcealedSamples => "CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES",
170 Self::ClientAudioSubscriberSilentConcealedSamples => "CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES",
171 Self::ClientAudioSubscriberConcealmentEvents => "CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS",
172 Self::ClientAudioSubscriberInterruptionCount => "CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT",
173 Self::ClientAudioSubscriberTotalInterruptionDuration => "CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION",
174 Self::ClientSubscriberJitterBufferDelay => "CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY",
175 Self::ClientSubscriberJitterBufferEmittedCount => "CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT",
176 Self::ClientVideoPublisherQualityLimitationDurationBandwidth => "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_BANDWIDTH",
177 Self::ClientVideoPublisherQualityLimitationDurationCpu => "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_CPU",
178 Self::ClientVideoPublisherQualityLimitationDurationOther => "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_OTHER",
179 Self::PublisherRtt => "PUBLISHER_RTT",
180 Self::ServerMeshRtt => "SERVER_MESH_RTT",
181 Self::SubscriberRtt => "SUBSCRIBER_RTT",
182 Self::PredefinedMaxValue => "METRIC_LABEL_PREDEFINED_MAX_VALUE",
183 }
184 }
185 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
187 match value {
188 "AGENTS_LLM_TTFT" => Some(Self::AgentsLlmTtft),
189 "AGENTS_STT_TTFT" => Some(Self::AgentsSttTtft),
190 "AGENTS_TTS_TTFB" => Some(Self::AgentsTtsTtfb),
191 "CLIENT_VIDEO_SUBSCRIBER_FREEZE_COUNT" => Some(Self::ClientVideoSubscriberFreezeCount),
192 "CLIENT_VIDEO_SUBSCRIBER_TOTAL_FREEZE_DURATION" => Some(Self::ClientVideoSubscriberTotalFreezeDuration),
193 "CLIENT_VIDEO_SUBSCRIBER_PAUSE_COUNT" => Some(Self::ClientVideoSubscriberPauseCount),
194 "CLIENT_VIDEO_SUBSCRIBER_TOTAL_PAUSES_DURATION" => Some(Self::ClientVideoSubscriberTotalPausesDuration),
195 "CLIENT_AUDIO_SUBSCRIBER_CONCEALED_SAMPLES" => Some(Self::ClientAudioSubscriberConcealedSamples),
196 "CLIENT_AUDIO_SUBSCRIBER_SILENT_CONCEALED_SAMPLES" => Some(Self::ClientAudioSubscriberSilentConcealedSamples),
197 "CLIENT_AUDIO_SUBSCRIBER_CONCEALMENT_EVENTS" => Some(Self::ClientAudioSubscriberConcealmentEvents),
198 "CLIENT_AUDIO_SUBSCRIBER_INTERRUPTION_COUNT" => Some(Self::ClientAudioSubscriberInterruptionCount),
199 "CLIENT_AUDIO_SUBSCRIBER_TOTAL_INTERRUPTION_DURATION" => Some(Self::ClientAudioSubscriberTotalInterruptionDuration),
200 "CLIENT_SUBSCRIBER_JITTER_BUFFER_DELAY" => Some(Self::ClientSubscriberJitterBufferDelay),
201 "CLIENT_SUBSCRIBER_JITTER_BUFFER_EMITTED_COUNT" => Some(Self::ClientSubscriberJitterBufferEmittedCount),
202 "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_BANDWIDTH" => Some(Self::ClientVideoPublisherQualityLimitationDurationBandwidth),
203 "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_CPU" => Some(Self::ClientVideoPublisherQualityLimitationDurationCpu),
204 "CLIENT_VIDEO_PUBLISHER_QUALITY_LIMITATION_DURATION_OTHER" => Some(Self::ClientVideoPublisherQualityLimitationDurationOther),
205 "PUBLISHER_RTT" => Some(Self::PublisherRtt),
206 "SERVER_MESH_RTT" => Some(Self::ServerMeshRtt),
207 "SUBSCRIBER_RTT" => Some(Self::SubscriberRtt),
208 "METRIC_LABEL_PREDEFINED_MAX_VALUE" => Some(Self::PredefinedMaxValue),
209 _ => None,
210 }
211 }
212}
213#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
214pub struct Pagination {
215 #[prost(string, tag = "1")]
217 pub after_id: ::prost::alloc::string::String,
218 #[prost(int32, tag = "2")]
219 pub limit: i32,
220}
221#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
222pub struct TokenPagination {
223 #[prost(string, tag = "1")]
224 pub token: ::prost::alloc::string::String,
225}
226#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
228pub struct ListUpdate {
229 #[prost(string, repeated, tag = "1")]
231 pub set: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
232 #[prost(string, repeated, tag = "2")]
234 pub add: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
235 #[prost(string, repeated, tag = "3")]
237 pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
238 #[prost(bool, tag = "4")]
240 pub clear: bool,
241}
242#[derive(Clone, PartialEq, ::prost::Message)]
243pub struct Room {
244 #[prost(string, tag = "1")]
245 pub sid: ::prost::alloc::string::String,
246 #[prost(string, tag = "2")]
247 pub name: ::prost::alloc::string::String,
248 #[prost(uint32, tag = "3")]
249 pub empty_timeout: u32,
250 #[prost(uint32, tag = "14")]
251 pub departure_timeout: u32,
252 #[prost(uint32, tag = "4")]
253 pub max_participants: u32,
254 #[prost(int64, tag = "5")]
255 pub creation_time: i64,
256 #[prost(int64, tag = "15")]
257 pub creation_time_ms: i64,
258 #[prost(string, tag = "6")]
259 pub turn_password: ::prost::alloc::string::String,
260 #[prost(message, repeated, tag = "7")]
261 pub enabled_codecs: ::prost::alloc::vec::Vec<Codec>,
262 #[prost(string, tag = "8")]
263 pub metadata: ::prost::alloc::string::String,
264 #[prost(uint32, tag = "9")]
265 pub num_participants: u32,
266 #[prost(uint32, tag = "11")]
267 pub num_publishers: u32,
268 #[prost(bool, tag = "10")]
269 pub active_recording: bool,
270 #[prost(message, optional, tag = "13")]
271 pub version: ::core::option::Option<TimedVersion>,
272}
273#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
274pub struct Codec {
275 #[prost(string, tag = "1")]
276 pub mime: ::prost::alloc::string::String,
277 #[prost(string, tag = "2")]
278 pub fmtp_line: ::prost::alloc::string::String,
279}
280#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
281pub struct PlayoutDelay {
282 #[prost(bool, tag = "1")]
283 pub enabled: bool,
284 #[prost(uint32, tag = "2")]
285 pub min: u32,
286 #[prost(uint32, tag = "3")]
287 pub max: u32,
288}
289#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
290pub struct ParticipantPermission {
291 #[prost(bool, tag = "1")]
293 pub can_subscribe: bool,
294 #[prost(bool, tag = "2")]
296 pub can_publish: bool,
297 #[prost(bool, tag = "3")]
299 pub can_publish_data: bool,
300 #[prost(enumeration = "TrackSource", repeated, tag = "9")]
302 pub can_publish_sources: ::prost::alloc::vec::Vec<i32>,
303 #[prost(bool, tag = "7")]
305 pub hidden: bool,
306 #[deprecated]
309 #[prost(bool, tag = "8")]
310 pub recorder: bool,
311 #[prost(bool, tag = "10")]
313 pub can_update_metadata: bool,
314 #[deprecated]
317 #[prost(bool, tag = "11")]
318 pub agent: bool,
319 #[prost(bool, tag = "12")]
321 pub can_subscribe_metrics: bool,
322 #[prost(bool, tag = "13")]
324 pub can_manage_agent_session: bool,
325}
326#[derive(Clone, PartialEq, ::prost::Message)]
327pub struct ParticipantInfo {
328 #[prost(string, tag = "1")]
329 pub sid: ::prost::alloc::string::String,
330 #[prost(string, tag = "2")]
331 pub identity: ::prost::alloc::string::String,
332 #[prost(enumeration = "participant_info::State", tag = "3")]
333 pub state: i32,
334 #[prost(message, repeated, tag = "4")]
335 pub tracks: ::prost::alloc::vec::Vec<TrackInfo>,
336 #[prost(string, tag = "5")]
337 pub metadata: ::prost::alloc::string::String,
338 #[prost(int64, tag = "6")]
340 pub joined_at: i64,
341 #[prost(int64, tag = "17")]
343 pub joined_at_ms: i64,
344 #[prost(string, tag = "9")]
345 pub name: ::prost::alloc::string::String,
346 #[prost(uint32, tag = "10")]
347 pub version: u32,
348 #[prost(message, optional, tag = "11")]
349 pub permission: ::core::option::Option<ParticipantPermission>,
350 #[prost(string, tag = "12")]
351 pub region: ::prost::alloc::string::String,
352 #[prost(bool, tag = "13")]
355 pub is_publisher: bool,
356 #[prost(enumeration = "participant_info::Kind", tag = "14")]
357 pub kind: i32,
358 #[prost(map = "string, string", tag = "15")]
359 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
360 #[prost(enumeration = "DisconnectReason", tag = "16")]
361 pub disconnect_reason: i32,
362 #[prost(enumeration = "participant_info::KindDetail", repeated, tag = "18")]
363 pub kind_details: ::prost::alloc::vec::Vec<i32>,
364 #[prost(message, repeated, tag = "19")]
365 pub data_tracks: ::prost::alloc::vec::Vec<DataTrackInfo>,
366 #[prost(int32, tag = "20")]
368 pub client_protocol: i32,
369 #[prost(enumeration = "client_info::Capability", repeated, tag = "21")]
372 pub capabilities: ::prost::alloc::vec::Vec<i32>,
373}
374pub mod participant_info {
376 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
377 #[repr(i32)]
378 pub enum State {
379 Joining = 0,
381 Joined = 1,
383 Active = 2,
385 Disconnected = 3,
387 }
388 impl State {
389 pub fn as_str_name(&self) -> &'static str {
394 match self {
395 Self::Joining => "JOINING",
396 Self::Joined => "JOINED",
397 Self::Active => "ACTIVE",
398 Self::Disconnected => "DISCONNECTED",
399 }
400 }
401 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
403 match value {
404 "JOINING" => Some(Self::Joining),
405 "JOINED" => Some(Self::Joined),
406 "ACTIVE" => Some(Self::Active),
407 "DISCONNECTED" => Some(Self::Disconnected),
408 _ => None,
409 }
410 }
411 }
412 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
413 #[repr(i32)]
414 pub enum Kind {
415 Standard = 0,
417 Ingress = 1,
419 Egress = 2,
421 Sip = 3,
423 Agent = 4,
425 Connector = 7,
427 Bridge = 8,
431 }
432 impl Kind {
433 pub fn as_str_name(&self) -> &'static str {
438 match self {
439 Self::Standard => "STANDARD",
440 Self::Ingress => "INGRESS",
441 Self::Egress => "EGRESS",
442 Self::Sip => "SIP",
443 Self::Agent => "AGENT",
444 Self::Connector => "CONNECTOR",
445 Self::Bridge => "BRIDGE",
446 }
447 }
448 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
450 match value {
451 "STANDARD" => Some(Self::Standard),
452 "INGRESS" => Some(Self::Ingress),
453 "EGRESS" => Some(Self::Egress),
454 "SIP" => Some(Self::Sip),
455 "AGENT" => Some(Self::Agent),
456 "CONNECTOR" => Some(Self::Connector),
457 "BRIDGE" => Some(Self::Bridge),
458 _ => None,
459 }
460 }
461 }
462 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
463 #[repr(i32)]
464 pub enum KindDetail {
465 CloudAgent = 0,
466 Forwarded = 1,
467 ConnectorWhatsapp = 2,
468 ConnectorTwilio = 3,
469 BridgeRtsp = 4,
470 Simulation = 5,
472 }
473 impl KindDetail {
474 pub fn as_str_name(&self) -> &'static str {
479 match self {
480 Self::CloudAgent => "CLOUD_AGENT",
481 Self::Forwarded => "FORWARDED",
482 Self::ConnectorWhatsapp => "CONNECTOR_WHATSAPP",
483 Self::ConnectorTwilio => "CONNECTOR_TWILIO",
484 Self::BridgeRtsp => "BRIDGE_RTSP",
485 Self::Simulation => "SIMULATION",
486 }
487 }
488 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
490 match value {
491 "CLOUD_AGENT" => Some(Self::CloudAgent),
492 "FORWARDED" => Some(Self::Forwarded),
493 "CONNECTOR_WHATSAPP" => Some(Self::ConnectorWhatsapp),
494 "CONNECTOR_TWILIO" => Some(Self::ConnectorTwilio),
495 "BRIDGE_RTSP" => Some(Self::BridgeRtsp),
496 "SIMULATION" => Some(Self::Simulation),
497 _ => None,
498 }
499 }
500 }
501}
502#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
503pub struct Encryption {
504}
505pub mod encryption {
507 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
508 #[repr(i32)]
509 pub enum Type {
510 None = 0,
511 Gcm = 1,
512 Custom = 2,
513 }
514 impl Type {
515 pub fn as_str_name(&self) -> &'static str {
520 match self {
521 Self::None => "NONE",
522 Self::Gcm => "GCM",
523 Self::Custom => "CUSTOM",
524 }
525 }
526 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
528 match value {
529 "NONE" => Some(Self::None),
530 "GCM" => Some(Self::Gcm),
531 "CUSTOM" => Some(Self::Custom),
532 _ => None,
533 }
534 }
535 }
536}
537#[derive(Clone, PartialEq, ::prost::Message)]
538pub struct SimulcastCodecInfo {
539 #[prost(string, tag = "1")]
540 pub mime_type: ::prost::alloc::string::String,
541 #[prost(string, tag = "2")]
542 pub mid: ::prost::alloc::string::String,
543 #[prost(string, tag = "3")]
544 pub cid: ::prost::alloc::string::String,
545 #[prost(message, repeated, tag = "4")]
546 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
547 #[prost(enumeration = "video_layer::Mode", tag = "5")]
548 pub video_layer_mode: i32,
549 #[prost(string, tag = "6")]
554 pub sdp_cid: ::prost::alloc::string::String,
555}
556#[derive(Clone, PartialEq, ::prost::Message)]
557pub struct TrackInfo {
558 #[prost(string, tag = "1")]
559 pub sid: ::prost::alloc::string::String,
560 #[prost(enumeration = "TrackType", tag = "2")]
561 pub r#type: i32,
562 #[prost(string, tag = "3")]
563 pub name: ::prost::alloc::string::String,
564 #[prost(bool, tag = "4")]
565 pub muted: bool,
566 #[prost(uint32, tag = "5")]
569 pub width: u32,
570 #[prost(uint32, tag = "6")]
572 pub height: u32,
573 #[deprecated]
577 #[prost(bool, tag = "7")]
578 pub simulcast: bool,
579 #[deprecated]
583 #[prost(bool, tag = "8")]
584 pub disable_dtx: bool,
585 #[prost(enumeration = "TrackSource", tag = "9")]
587 pub source: i32,
588 #[deprecated]
590 #[prost(message, repeated, tag = "10")]
591 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
592 #[prost(string, tag = "11")]
594 pub mime_type: ::prost::alloc::string::String,
595 #[prost(string, tag = "12")]
596 pub mid: ::prost::alloc::string::String,
597 #[prost(message, repeated, tag = "13")]
598 pub codecs: ::prost::alloc::vec::Vec<SimulcastCodecInfo>,
599 #[deprecated]
601 #[prost(bool, tag = "14")]
602 pub stereo: bool,
603 #[prost(bool, tag = "15")]
605 pub disable_red: bool,
606 #[prost(enumeration = "encryption::Type", tag = "16")]
607 pub encryption: i32,
608 #[prost(string, tag = "17")]
609 pub stream: ::prost::alloc::string::String,
610 #[prost(message, optional, tag = "18")]
611 pub version: ::core::option::Option<TimedVersion>,
612 #[prost(enumeration = "AudioTrackFeature", repeated, tag = "19")]
613 pub audio_features: ::prost::alloc::vec::Vec<i32>,
614 #[prost(enumeration = "BackupCodecPolicy", tag = "20")]
615 pub backup_codec_policy: i32,
616 #[prost(enumeration = "PacketTrailerFeature", repeated, tag = "21")]
617 pub packet_trailer_features: ::prost::alloc::vec::Vec<i32>,
618}
619#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
620pub struct DataTrackInfo {
621 #[prost(uint32, tag = "1")]
623 pub pub_handle: u32,
624 #[prost(string, tag = "2")]
626 pub sid: ::prost::alloc::string::String,
627 #[prost(string, tag = "3")]
629 pub name: ::prost::alloc::string::String,
630 #[prost(enumeration = "encryption::Type", tag = "4")]
632 pub encryption: i32,
633 #[prost(message, optional, tag = "5")]
635 pub frame_encoding: ::core::option::Option<DataTrackFrameEncoding>,
636 #[prost(message, optional, tag = "6")]
638 pub schema: ::core::option::Option<DataTrackSchemaId>,
639}
640#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
642pub struct DataTrackFrameEncoding {
643 #[prost(oneof = "data_track_frame_encoding::Value", tags = "1, 2")]
644 pub value: ::core::option::Option<data_track_frame_encoding::Value>,
645}
646pub mod data_track_frame_encoding {
648 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
654 #[repr(i32)]
655 pub enum WellKnownFrameEncoding {
656 Unspecified = 0,
657 Ros1 = 1,
659 Cdr = 2,
661 Protobuf = 3,
663 Flatbuffer = 4,
665 Cbor = 5,
667 Msgpack = 6,
669 Json = 7,
671 }
672 impl WellKnownFrameEncoding {
673 pub fn as_str_name(&self) -> &'static str {
678 match self {
679 Self::Unspecified => "WELL_KNOWN_FRAME_ENCODING_UNSPECIFIED",
680 Self::Ros1 => "WELL_KNOWN_FRAME_ENCODING_ROS1",
681 Self::Cdr => "WELL_KNOWN_FRAME_ENCODING_CDR",
682 Self::Protobuf => "WELL_KNOWN_FRAME_ENCODING_PROTOBUF",
683 Self::Flatbuffer => "WELL_KNOWN_FRAME_ENCODING_FLATBUFFER",
684 Self::Cbor => "WELL_KNOWN_FRAME_ENCODING_CBOR",
685 Self::Msgpack => "WELL_KNOWN_FRAME_ENCODING_MSGPACK",
686 Self::Json => "WELL_KNOWN_FRAME_ENCODING_JSON",
687 }
688 }
689 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
691 match value {
692 "WELL_KNOWN_FRAME_ENCODING_UNSPECIFIED" => Some(Self::Unspecified),
693 "WELL_KNOWN_FRAME_ENCODING_ROS1" => Some(Self::Ros1),
694 "WELL_KNOWN_FRAME_ENCODING_CDR" => Some(Self::Cdr),
695 "WELL_KNOWN_FRAME_ENCODING_PROTOBUF" => Some(Self::Protobuf),
696 "WELL_KNOWN_FRAME_ENCODING_FLATBUFFER" => Some(Self::Flatbuffer),
697 "WELL_KNOWN_FRAME_ENCODING_CBOR" => Some(Self::Cbor),
698 "WELL_KNOWN_FRAME_ENCODING_MSGPACK" => Some(Self::Msgpack),
699 "WELL_KNOWN_FRAME_ENCODING_JSON" => Some(Self::Json),
700 _ => None,
701 }
702 }
703 }
704 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
705 pub enum Value {
706 #[prost(enumeration = "WellKnownFrameEncoding", tag = "1")]
707 WellKnown(i32),
708 #[prost(string, tag = "2")]
711 Custom(::prost::alloc::string::String),
712 }
713}
714#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
716pub struct DataTrackSchemaEncoding {
717 #[prost(oneof = "data_track_schema_encoding::Value", tags = "1, 2")]
718 pub value: ::core::option::Option<data_track_schema_encoding::Value>,
719}
720pub mod data_track_schema_encoding {
722 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
728 #[repr(i32)]
729 pub enum WellKnownSchemaEncoding {
730 Unspecified = 0,
731 Protobuf = 1,
733 Flatbuffer = 2,
735 Ros1Msg = 3,
737 Ros2Msg = 4,
739 Ros2Idl = 5,
741 OmgIdl = 6,
743 JsonSchema = 7,
745 }
746 impl WellKnownSchemaEncoding {
747 pub fn as_str_name(&self) -> &'static str {
752 match self {
753 Self::Unspecified => "WELL_KNOWN_SCHEMA_ENCODING_UNSPECIFIED",
754 Self::Protobuf => "WELL_KNOWN_SCHEMA_ENCODING_PROTOBUF",
755 Self::Flatbuffer => "WELL_KNOWN_SCHEMA_ENCODING_FLATBUFFER",
756 Self::Ros1Msg => "WELL_KNOWN_SCHEMA_ENCODING_ROS1_MSG",
757 Self::Ros2Msg => "WELL_KNOWN_SCHEMA_ENCODING_ROS2_MSG",
758 Self::Ros2Idl => "WELL_KNOWN_SCHEMA_ENCODING_ROS2_IDL",
759 Self::OmgIdl => "WELL_KNOWN_SCHEMA_ENCODING_OMG_IDL",
760 Self::JsonSchema => "WELL_KNOWN_SCHEMA_ENCODING_JSON_SCHEMA",
761 }
762 }
763 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
765 match value {
766 "WELL_KNOWN_SCHEMA_ENCODING_UNSPECIFIED" => Some(Self::Unspecified),
767 "WELL_KNOWN_SCHEMA_ENCODING_PROTOBUF" => Some(Self::Protobuf),
768 "WELL_KNOWN_SCHEMA_ENCODING_FLATBUFFER" => Some(Self::Flatbuffer),
769 "WELL_KNOWN_SCHEMA_ENCODING_ROS1_MSG" => Some(Self::Ros1Msg),
770 "WELL_KNOWN_SCHEMA_ENCODING_ROS2_MSG" => Some(Self::Ros2Msg),
771 "WELL_KNOWN_SCHEMA_ENCODING_ROS2_IDL" => Some(Self::Ros2Idl),
772 "WELL_KNOWN_SCHEMA_ENCODING_OMG_IDL" => Some(Self::OmgIdl),
773 "WELL_KNOWN_SCHEMA_ENCODING_JSON_SCHEMA" => Some(Self::JsonSchema),
774 _ => None,
775 }
776 }
777 }
778 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
779 pub enum Value {
780 #[prost(enumeration = "WellKnownSchemaEncoding", tag = "1")]
781 WellKnown(i32),
782 #[prost(string, tag = "2")]
785 Custom(::prost::alloc::string::String),
786 }
787}
788#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
793pub struct DataTrackSchemaId {
794 #[prost(string, tag = "1")]
796 pub name: ::prost::alloc::string::String,
797 #[prost(message, optional, tag = "2")]
798 pub encoding: ::core::option::Option<DataTrackSchemaEncoding>,
799}
800#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
801pub struct DataTrackExtensionParticipantSid {
802 #[prost(enumeration = "DataTrackExtensionId", tag = "1")]
803 pub id: i32,
804 #[prost(string, tag = "2")]
805 pub participant_sid: ::prost::alloc::string::String,
806}
807#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
808pub struct DataTrackSubscriptionOptions {
809 #[prost(uint32, optional, tag = "1")]
812 pub target_fps: ::core::option::Option<u32>,
813}
814#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
816pub struct DataBlobKey {
817 #[prost(oneof = "data_blob_key::Key", tags = "1, 2")]
818 pub key: ::core::option::Option<data_blob_key::Key>,
819}
820pub mod data_blob_key {
822 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
823 pub enum Key {
824 #[prost(string, tag = "1")]
826 Generic(::prost::alloc::string::String),
827 #[prost(message, tag = "2")]
829 SchemaId(super::DataTrackSchemaId),
830 }
831}
832#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
834pub struct DataBlob {
835 #[prost(message, optional, tag = "1")]
837 pub key: ::core::option::Option<DataBlobKey>,
838 #[prost(bytes = "vec", tag = "2")]
840 pub contents: ::prost::alloc::vec::Vec<u8>,
841}
842#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
844pub struct VideoLayer {
845 #[prost(enumeration = "VideoQuality", tag = "1")]
847 pub quality: i32,
848 #[prost(uint32, tag = "2")]
849 pub width: u32,
850 #[prost(uint32, tag = "3")]
851 pub height: u32,
852 #[prost(uint32, tag = "4")]
854 pub bitrate: u32,
855 #[prost(uint32, tag = "5")]
856 pub ssrc: u32,
857 #[prost(int32, tag = "6")]
858 pub spatial_layer: i32,
859 #[prost(string, tag = "7")]
860 pub rid: ::prost::alloc::string::String,
861 #[prost(uint32, tag = "8")]
862 pub repair_ssrc: u32,
863}
864pub mod video_layer {
866 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
867 #[repr(i32)]
868 pub enum Mode {
869 Unused = 0,
870 OneSpatialLayerPerStream = 1,
871 MultipleSpatialLayersPerStream = 2,
872 OneSpatialLayerPerStreamIncompleteRtcpSr = 3,
873 }
874 impl Mode {
875 pub fn as_str_name(&self) -> &'static str {
880 match self {
881 Self::Unused => "MODE_UNUSED",
882 Self::OneSpatialLayerPerStream => "ONE_SPATIAL_LAYER_PER_STREAM",
883 Self::MultipleSpatialLayersPerStream => "MULTIPLE_SPATIAL_LAYERS_PER_STREAM",
884 Self::OneSpatialLayerPerStreamIncompleteRtcpSr => "ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR",
885 }
886 }
887 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
889 match value {
890 "MODE_UNUSED" => Some(Self::Unused),
891 "ONE_SPATIAL_LAYER_PER_STREAM" => Some(Self::OneSpatialLayerPerStream),
892 "MULTIPLE_SPATIAL_LAYERS_PER_STREAM" => Some(Self::MultipleSpatialLayersPerStream),
893 "ONE_SPATIAL_LAYER_PER_STREAM_INCOMPLETE_RTCP_SR" => Some(Self::OneSpatialLayerPerStreamIncompleteRtcpSr),
894 _ => None,
895 }
896 }
897 }
898}
899#[derive(Clone, PartialEq, ::prost::Message)]
901pub struct DataPacket {
902 #[deprecated]
903 #[prost(enumeration = "data_packet::Kind", tag = "1")]
904 pub kind: i32,
905 #[prost(string, tag = "4")]
907 pub participant_identity: ::prost::alloc::string::String,
908 #[prost(string, repeated, tag = "5")]
910 pub destination_identities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
911 #[prost(uint32, tag = "16")]
913 pub sequence: u32,
914 #[prost(string, tag = "17")]
916 pub participant_sid: ::prost::alloc::string::String,
917 #[prost(oneof = "data_packet::Value", tags = "2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18")]
918 pub value: ::core::option::Option<data_packet::Value>,
919}
920pub mod data_packet {
922 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
923 #[repr(i32)]
924 pub enum Kind {
925 Reliable = 0,
926 Lossy = 1,
927 }
928 impl Kind {
929 pub fn as_str_name(&self) -> &'static str {
934 match self {
935 Self::Reliable => "RELIABLE",
936 Self::Lossy => "LOSSY",
937 }
938 }
939 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
941 match value {
942 "RELIABLE" => Some(Self::Reliable),
943 "LOSSY" => Some(Self::Lossy),
944 _ => None,
945 }
946 }
947 }
948 #[derive(Clone, PartialEq, ::prost::Oneof)]
949 pub enum Value {
950 #[prost(message, tag = "2")]
951 User(super::UserPacket),
952 #[deprecated]
953 #[prost(message, tag = "3")]
954 Speaker(super::ActiveSpeakerUpdate),
955 #[prost(message, tag = "6")]
956 SipDtmf(super::SipDtmf),
957 #[prost(message, tag = "7")]
958 Transcription(super::Transcription),
959 #[prost(message, tag = "8")]
960 Metrics(super::MetricsBatch),
961 #[prost(message, tag = "9")]
962 ChatMessage(super::ChatMessage),
963 #[prost(message, tag = "10")]
964 RpcRequest(super::RpcRequest),
965 #[prost(message, tag = "11")]
966 RpcAck(super::RpcAck),
967 #[prost(message, tag = "12")]
968 RpcResponse(super::RpcResponse),
969 #[prost(message, tag = "13")]
970 StreamHeader(super::data_stream::Header),
971 #[prost(message, tag = "14")]
972 StreamChunk(super::data_stream::Chunk),
973 #[prost(message, tag = "15")]
974 StreamTrailer(super::data_stream::Trailer),
975 #[prost(message, tag = "18")]
976 EncryptedPacket(super::EncryptedPacket),
977 }
978}
979#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
980pub struct EncryptedPacket {
981 #[prost(enumeration = "encryption::Type", tag = "1")]
982 pub encryption_type: i32,
983 #[prost(bytes = "vec", tag = "2")]
984 pub iv: ::prost::alloc::vec::Vec<u8>,
985 #[prost(uint32, tag = "3")]
986 pub key_index: u32,
987 #[prost(bytes = "vec", tag = "4")]
989 pub encrypted_value: ::prost::alloc::vec::Vec<u8>,
990}
991#[derive(Clone, PartialEq, ::prost::Message)]
992pub struct EncryptedPacketPayload {
993 #[prost(oneof = "encrypted_packet_payload::Value", tags = "1, 3, 4, 5, 6, 7, 8, 9")]
994 pub value: ::core::option::Option<encrypted_packet_payload::Value>,
995}
996pub mod encrypted_packet_payload {
998 #[derive(Clone, PartialEq, ::prost::Oneof)]
999 pub enum Value {
1000 #[prost(message, tag = "1")]
1001 User(super::UserPacket),
1002 #[prost(message, tag = "3")]
1003 ChatMessage(super::ChatMessage),
1004 #[prost(message, tag = "4")]
1005 RpcRequest(super::RpcRequest),
1006 #[prost(message, tag = "5")]
1007 RpcAck(super::RpcAck),
1008 #[prost(message, tag = "6")]
1009 RpcResponse(super::RpcResponse),
1010 #[prost(message, tag = "7")]
1011 StreamHeader(super::data_stream::Header),
1012 #[prost(message, tag = "8")]
1013 StreamChunk(super::data_stream::Chunk),
1014 #[prost(message, tag = "9")]
1015 StreamTrailer(super::data_stream::Trailer),
1016 }
1017}
1018#[derive(Clone, PartialEq, ::prost::Message)]
1019pub struct ActiveSpeakerUpdate {
1020 #[prost(message, repeated, tag = "1")]
1021 pub speakers: ::prost::alloc::vec::Vec<SpeakerInfo>,
1022}
1023#[derive(Clone, PartialEq, ::prost::Message)]
1024pub struct SpeakerInfo {
1025 #[prost(string, tag = "1")]
1026 pub sid: ::prost::alloc::string::String,
1027 #[prost(float, tag = "2")]
1029 pub level: f32,
1030 #[prost(bool, tag = "3")]
1032 pub active: bool,
1033}
1034#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1035pub struct UserPacket {
1036 #[deprecated]
1038 #[prost(string, tag = "1")]
1039 pub participant_sid: ::prost::alloc::string::String,
1040 #[deprecated]
1041 #[prost(string, tag = "5")]
1042 pub participant_identity: ::prost::alloc::string::String,
1043 #[prost(bytes = "vec", tag = "2")]
1045 pub payload: ::prost::alloc::vec::Vec<u8>,
1046 #[deprecated]
1048 #[prost(string, repeated, tag = "3")]
1049 pub destination_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1050 #[deprecated]
1052 #[prost(string, repeated, tag = "6")]
1053 pub destination_identities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1054 #[prost(string, optional, tag = "4")]
1056 pub topic: ::core::option::Option<::prost::alloc::string::String>,
1057 #[prost(string, optional, tag = "8")]
1059 pub id: ::core::option::Option<::prost::alloc::string::String>,
1060 #[prost(uint64, optional, tag = "9")]
1062 pub start_time: ::core::option::Option<u64>,
1063 #[prost(uint64, optional, tag = "10")]
1064 pub end_time: ::core::option::Option<u64>,
1065 #[prost(bytes = "vec", tag = "11")]
1067 pub nonce: ::prost::alloc::vec::Vec<u8>,
1068}
1069#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1070pub struct SipDtmf {
1071 #[prost(uint32, tag = "3")]
1072 pub code: u32,
1073 #[prost(string, tag = "4")]
1074 pub digit: ::prost::alloc::string::String,
1075}
1076#[derive(Clone, PartialEq, ::prost::Message)]
1077pub struct Transcription {
1078 #[prost(string, tag = "2")]
1080 pub transcribed_participant_identity: ::prost::alloc::string::String,
1081 #[prost(string, tag = "3")]
1082 pub track_id: ::prost::alloc::string::String,
1083 #[prost(message, repeated, tag = "4")]
1084 pub segments: ::prost::alloc::vec::Vec<TranscriptionSegment>,
1085}
1086#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1087pub struct TranscriptionSegment {
1088 #[prost(string, tag = "1")]
1089 pub id: ::prost::alloc::string::String,
1090 #[prost(string, tag = "2")]
1091 pub text: ::prost::alloc::string::String,
1092 #[prost(uint64, tag = "3")]
1093 pub start_time: u64,
1094 #[prost(uint64, tag = "4")]
1095 pub end_time: u64,
1096 #[prost(bool, tag = "5")]
1097 pub r#final: bool,
1098 #[prost(string, tag = "6")]
1099 pub language: ::prost::alloc::string::String,
1100}
1101#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1102pub struct ChatMessage {
1103 #[prost(string, tag = "1")]
1105 pub id: ::prost::alloc::string::String,
1106 #[prost(int64, tag = "2")]
1107 pub timestamp: i64,
1108 #[prost(int64, optional, tag = "3")]
1110 pub edit_timestamp: ::core::option::Option<i64>,
1111 #[prost(string, tag = "4")]
1112 pub message: ::prost::alloc::string::String,
1113 #[prost(bool, tag = "5")]
1115 pub deleted: bool,
1116 #[prost(bool, tag = "6")]
1118 pub generated: bool,
1119}
1120#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1121pub struct RpcRequest {
1122 #[prost(string, tag = "1")]
1123 pub id: ::prost::alloc::string::String,
1124 #[prost(string, tag = "2")]
1125 pub method: ::prost::alloc::string::String,
1126 #[prost(string, tag = "3")]
1127 pub payload: ::prost::alloc::string::String,
1128 #[prost(uint32, tag = "4")]
1129 pub response_timeout_ms: u32,
1130 #[prost(uint32, tag = "5")]
1131 pub version: u32,
1132 #[prost(bytes = "vec", tag = "6")]
1134 pub compressed_payload: ::prost::alloc::vec::Vec<u8>,
1135}
1136#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1137pub struct RpcAck {
1138 #[prost(string, tag = "1")]
1139 pub request_id: ::prost::alloc::string::String,
1140}
1141#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1142pub struct RpcResponse {
1143 #[prost(string, tag = "1")]
1144 pub request_id: ::prost::alloc::string::String,
1145 #[prost(oneof = "rpc_response::Value", tags = "2, 3, 4")]
1146 pub value: ::core::option::Option<rpc_response::Value>,
1147}
1148pub mod rpc_response {
1150 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
1151 pub enum Value {
1152 #[prost(string, tag = "2")]
1153 Payload(::prost::alloc::string::String),
1154 #[prost(message, tag = "3")]
1155 Error(super::RpcError),
1156 #[prost(bytes, tag = "4")]
1158 CompressedPayload(::prost::alloc::vec::Vec<u8>),
1159 }
1160}
1161#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1162pub struct RpcError {
1163 #[prost(uint32, tag = "1")]
1164 pub code: u32,
1165 #[prost(string, tag = "2")]
1166 pub message: ::prost::alloc::string::String,
1167 #[prost(string, tag = "3")]
1168 pub data: ::prost::alloc::string::String,
1169}
1170#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1171pub struct ParticipantTracks {
1172 #[prost(string, tag = "1")]
1174 pub participant_sid: ::prost::alloc::string::String,
1175 #[prost(string, repeated, tag = "2")]
1176 pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1177}
1178#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1180pub struct ServerInfo {
1181 #[prost(enumeration = "server_info::Edition", tag = "1")]
1182 pub edition: i32,
1183 #[prost(string, tag = "2")]
1184 pub version: ::prost::alloc::string::String,
1185 #[prost(int32, tag = "3")]
1186 pub protocol: i32,
1187 #[prost(string, tag = "4")]
1188 pub region: ::prost::alloc::string::String,
1189 #[prost(string, tag = "5")]
1190 pub node_id: ::prost::alloc::string::String,
1191 #[prost(string, tag = "6")]
1193 pub debug_info: ::prost::alloc::string::String,
1194 #[prost(int32, tag = "7")]
1195 pub agent_protocol: i32,
1196}
1197pub mod server_info {
1199 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1200 #[repr(i32)]
1201 pub enum Edition {
1202 Standard = 0,
1203 Cloud = 1,
1204 }
1205 impl Edition {
1206 pub fn as_str_name(&self) -> &'static str {
1211 match self {
1212 Self::Standard => "Standard",
1213 Self::Cloud => "Cloud",
1214 }
1215 }
1216 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1218 match value {
1219 "Standard" => Some(Self::Standard),
1220 "Cloud" => Some(Self::Cloud),
1221 _ => None,
1222 }
1223 }
1224 }
1225}
1226#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1228pub struct ClientInfo {
1229 #[prost(enumeration = "client_info::Sdk", tag = "1")]
1230 pub sdk: i32,
1231 #[prost(string, tag = "2")]
1232 pub version: ::prost::alloc::string::String,
1233 #[prost(int32, tag = "3")]
1234 pub protocol: i32,
1235 #[prost(string, tag = "4")]
1236 pub os: ::prost::alloc::string::String,
1237 #[prost(string, tag = "5")]
1238 pub os_version: ::prost::alloc::string::String,
1239 #[prost(string, tag = "6")]
1240 pub device_model: ::prost::alloc::string::String,
1241 #[prost(string, tag = "7")]
1242 pub browser: ::prost::alloc::string::String,
1243 #[prost(string, tag = "8")]
1244 pub browser_version: ::prost::alloc::string::String,
1245 #[prost(string, tag = "9")]
1246 pub address: ::prost::alloc::string::String,
1247 #[prost(string, tag = "10")]
1249 pub network: ::prost::alloc::string::String,
1250 #[prost(string, tag = "11")]
1253 pub other_sdks: ::prost::alloc::string::String,
1254 #[prost(int32, tag = "12")]
1256 pub client_protocol: i32,
1257 #[prost(enumeration = "client_info::Capability", repeated, tag = "13")]
1260 pub capabilities: ::prost::alloc::vec::Vec<i32>,
1261}
1262pub mod client_info {
1264 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1265 #[repr(i32)]
1266 pub enum Sdk {
1267 Unknown = 0,
1268 Js = 1,
1269 Swift = 2,
1270 Android = 3,
1271 Flutter = 4,
1272 Go = 5,
1273 Unity = 6,
1274 ReactNative = 7,
1275 Rust = 8,
1276 Python = 9,
1277 Cpp = 10,
1278 UnityWeb = 11,
1279 Node = 12,
1280 Unreal = 13,
1281 Esp32 = 14,
1282 Dotnet = 15,
1283 }
1284 impl Sdk {
1285 pub fn as_str_name(&self) -> &'static str {
1290 match self {
1291 Self::Unknown => "UNKNOWN",
1292 Self::Js => "JS",
1293 Self::Swift => "SWIFT",
1294 Self::Android => "ANDROID",
1295 Self::Flutter => "FLUTTER",
1296 Self::Go => "GO",
1297 Self::Unity => "UNITY",
1298 Self::ReactNative => "REACT_NATIVE",
1299 Self::Rust => "RUST",
1300 Self::Python => "PYTHON",
1301 Self::Cpp => "CPP",
1302 Self::UnityWeb => "UNITY_WEB",
1303 Self::Node => "NODE",
1304 Self::Unreal => "UNREAL",
1305 Self::Esp32 => "ESP32",
1306 Self::Dotnet => "DOTNET",
1307 }
1308 }
1309 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1311 match value {
1312 "UNKNOWN" => Some(Self::Unknown),
1313 "JS" => Some(Self::Js),
1314 "SWIFT" => Some(Self::Swift),
1315 "ANDROID" => Some(Self::Android),
1316 "FLUTTER" => Some(Self::Flutter),
1317 "GO" => Some(Self::Go),
1318 "UNITY" => Some(Self::Unity),
1319 "REACT_NATIVE" => Some(Self::ReactNative),
1320 "RUST" => Some(Self::Rust),
1321 "PYTHON" => Some(Self::Python),
1322 "CPP" => Some(Self::Cpp),
1323 "UNITY_WEB" => Some(Self::UnityWeb),
1324 "NODE" => Some(Self::Node),
1325 "UNREAL" => Some(Self::Unreal),
1326 "ESP32" => Some(Self::Esp32),
1327 "DOTNET" => Some(Self::Dotnet),
1328 _ => None,
1329 }
1330 }
1331 }
1332 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1337 #[repr(i32)]
1338 pub enum Capability {
1339 CapUnused = 0,
1340 CapPacketTrailer = 1,
1341 CapCompressionDeflateRaw = 2,
1342 }
1343 impl Capability {
1344 pub fn as_str_name(&self) -> &'static str {
1349 match self {
1350 Self::CapUnused => "CAP_UNUSED",
1351 Self::CapPacketTrailer => "CAP_PACKET_TRAILER",
1352 Self::CapCompressionDeflateRaw => "CAP_COMPRESSION_DEFLATE_RAW",
1353 }
1354 }
1355 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1357 match value {
1358 "CAP_UNUSED" => Some(Self::CapUnused),
1359 "CAP_PACKET_TRAILER" => Some(Self::CapPacketTrailer),
1360 "CAP_COMPRESSION_DEFLATE_RAW" => Some(Self::CapCompressionDeflateRaw),
1361 _ => None,
1362 }
1363 }
1364 }
1365}
1366#[derive(Clone, PartialEq, ::prost::Message)]
1368pub struct ClientConfiguration {
1369 #[prost(message, optional, tag = "1")]
1370 pub video: ::core::option::Option<VideoConfiguration>,
1371 #[prost(message, optional, tag = "2")]
1372 pub screen: ::core::option::Option<VideoConfiguration>,
1373 #[prost(enumeration = "ClientConfigSetting", tag = "3")]
1374 pub resume_connection: i32,
1375 #[prost(message, optional, tag = "4")]
1376 pub disabled_codecs: ::core::option::Option<DisabledCodecs>,
1377 #[prost(enumeration = "ClientConfigSetting", tag = "5")]
1378 pub force_relay: i32,
1379}
1380#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1381pub struct VideoConfiguration {
1382 #[prost(enumeration = "ClientConfigSetting", tag = "1")]
1383 pub hardware_encoder: i32,
1384}
1385#[derive(Clone, PartialEq, ::prost::Message)]
1386pub struct DisabledCodecs {
1387 #[prost(message, repeated, tag = "1")]
1389 pub codecs: ::prost::alloc::vec::Vec<Codec>,
1390 #[prost(message, repeated, tag = "2")]
1392 pub publish: ::prost::alloc::vec::Vec<Codec>,
1393}
1394#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1395pub struct RtpDrift {
1396 #[prost(message, optional, tag = "1")]
1397 pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
1398 #[prost(message, optional, tag = "2")]
1399 pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
1400 #[prost(double, tag = "3")]
1401 pub duration: f64,
1402 #[prost(uint64, tag = "4")]
1403 pub start_timestamp: u64,
1404 #[prost(uint64, tag = "5")]
1405 pub end_timestamp: u64,
1406 #[prost(uint64, tag = "6")]
1407 pub rtp_clock_ticks: u64,
1408 #[prost(int64, tag = "7")]
1409 pub drift_samples: i64,
1410 #[prost(double, tag = "8")]
1411 pub drift_ms: f64,
1412 #[prost(double, tag = "9")]
1413 pub clock_rate: f64,
1414}
1415#[derive(Clone, PartialEq, ::prost::Message)]
1416pub struct RtpStats {
1417 #[prost(message, optional, tag = "1")]
1418 pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
1419 #[prost(message, optional, tag = "2")]
1420 pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
1421 #[prost(double, tag = "3")]
1422 pub duration: f64,
1423 #[prost(uint32, tag = "4")]
1424 pub packets: u32,
1425 #[prost(double, tag = "5")]
1426 pub packet_rate: f64,
1427 #[prost(uint64, tag = "6")]
1428 pub bytes: u64,
1429 #[prost(uint64, tag = "39")]
1430 pub header_bytes: u64,
1431 #[prost(double, tag = "7")]
1432 pub bitrate: f64,
1433 #[prost(uint32, tag = "8")]
1434 pub packets_lost: u32,
1435 #[prost(double, tag = "9")]
1436 pub packet_loss_rate: f64,
1437 #[prost(float, tag = "10")]
1438 pub packet_loss_percentage: f32,
1439 #[prost(uint32, tag = "11")]
1440 pub packets_duplicate: u32,
1441 #[prost(double, tag = "12")]
1442 pub packet_duplicate_rate: f64,
1443 #[prost(uint64, tag = "13")]
1444 pub bytes_duplicate: u64,
1445 #[prost(uint64, tag = "40")]
1446 pub header_bytes_duplicate: u64,
1447 #[prost(double, tag = "14")]
1448 pub bitrate_duplicate: f64,
1449 #[prost(uint32, tag = "15")]
1450 pub packets_padding: u32,
1451 #[prost(double, tag = "16")]
1452 pub packet_padding_rate: f64,
1453 #[prost(uint64, tag = "17")]
1454 pub bytes_padding: u64,
1455 #[prost(uint64, tag = "41")]
1456 pub header_bytes_padding: u64,
1457 #[prost(double, tag = "18")]
1458 pub bitrate_padding: f64,
1459 #[prost(uint32, tag = "19")]
1460 pub packets_out_of_order: u32,
1461 #[prost(uint32, tag = "20")]
1462 pub frames: u32,
1463 #[prost(double, tag = "21")]
1464 pub frame_rate: f64,
1465 #[prost(double, tag = "22")]
1466 pub jitter_current: f64,
1467 #[prost(double, tag = "23")]
1468 pub jitter_max: f64,
1469 #[prost(map = "int32, uint32", tag = "24")]
1470 pub gap_histogram: ::std::collections::HashMap<i32, u32>,
1471 #[prost(uint32, tag = "25")]
1472 pub nacks: u32,
1473 #[prost(uint32, tag = "37")]
1474 pub nack_acks: u32,
1475 #[prost(uint32, tag = "26")]
1476 pub nack_misses: u32,
1477 #[prost(uint32, tag = "38")]
1478 pub nack_repeated: u32,
1479 #[prost(uint32, tag = "27")]
1480 pub plis: u32,
1481 #[prost(message, optional, tag = "28")]
1482 pub last_pli: ::core::option::Option<::pbjson_types::Timestamp>,
1483 #[prost(uint32, tag = "29")]
1484 pub firs: u32,
1485 #[prost(message, optional, tag = "30")]
1486 pub last_fir: ::core::option::Option<::pbjson_types::Timestamp>,
1487 #[prost(uint32, tag = "31")]
1488 pub rtt_current: u32,
1489 #[prost(uint32, tag = "32")]
1490 pub rtt_max: u32,
1491 #[prost(uint32, tag = "33")]
1492 pub key_frames: u32,
1493 #[prost(message, optional, tag = "34")]
1494 pub last_key_frame: ::core::option::Option<::pbjson_types::Timestamp>,
1495 #[prost(uint32, tag = "35")]
1496 pub layer_lock_plis: u32,
1497 #[prost(message, optional, tag = "36")]
1498 pub last_layer_lock_pli: ::core::option::Option<::pbjson_types::Timestamp>,
1499 #[prost(message, optional, tag = "44")]
1500 pub packet_drift: ::core::option::Option<RtpDrift>,
1501 #[prost(message, optional, tag = "45")]
1502 pub ntp_report_drift: ::core::option::Option<RtpDrift>,
1503 #[prost(message, optional, tag = "46")]
1504 pub rebased_report_drift: ::core::option::Option<RtpDrift>,
1505 #[prost(message, optional, tag = "47")]
1506 pub received_report_drift: ::core::option::Option<RtpDrift>,
1507 #[prost(uint32, tag = "48")]
1508 pub fec_packets: u32,
1509 #[prost(uint64, tag = "49")]
1510 pub fec_bytes: u64,
1511 #[prost(uint32, tag = "50")]
1512 pub fec_packets_discarded: u32,
1513 #[prost(uint32, tag = "51")]
1515 pub fec_packets_recovered: u32,
1516}
1517#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1518pub struct RtcpSenderReportState {
1519 #[prost(uint32, tag = "1")]
1520 pub rtp_timestamp: u32,
1521 #[prost(uint64, tag = "2")]
1522 pub rtp_timestamp_ext: u64,
1523 #[prost(uint64, tag = "3")]
1524 pub ntp_timestamp: u64,
1525 #[prost(int64, tag = "4")]
1527 pub at: i64,
1528 #[prost(int64, tag = "5")]
1529 pub at_adjusted: i64,
1530 #[prost(uint32, tag = "6")]
1531 pub packets: u32,
1532 #[prost(uint64, tag = "7")]
1533 pub octets: u64,
1534}
1535#[derive(Clone, PartialEq, ::prost::Message)]
1536pub struct RtpForwarderState {
1537 #[prost(bool, tag = "1")]
1538 pub started: bool,
1539 #[prost(int32, tag = "2")]
1540 pub reference_layer_spatial: i32,
1541 #[prost(int64, tag = "3")]
1542 pub pre_start_time: i64,
1543 #[prost(uint64, tag = "4")]
1544 pub ext_first_timestamp: u64,
1545 #[prost(uint64, tag = "5")]
1546 pub dummy_start_timestamp_offset: u64,
1547 #[prost(message, optional, tag = "6")]
1548 pub rtp_munger: ::core::option::Option<RtpMungerState>,
1549 #[prost(message, repeated, tag = "8")]
1550 pub sender_report_state: ::prost::alloc::vec::Vec<RtcpSenderReportState>,
1551 #[prost(message, optional, tag = "9")]
1552 pub dependency_descriptor_forwarder: ::core::option::Option<DependencyDescriptorForwarderState>,
1553 #[prost(oneof = "rtp_forwarder_state::CodecMunger", tags = "7")]
1554 pub codec_munger: ::core::option::Option<rtp_forwarder_state::CodecMunger>,
1555}
1556pub mod rtp_forwarder_state {
1558 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
1559 pub enum CodecMunger {
1560 #[prost(message, tag = "7")]
1561 Vp8Munger(super::Vp8MungerState),
1562 }
1563}
1564#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1567pub struct DependencyDescriptorForwarderState {
1568 #[prost(uint64, tag = "1")]
1570 pub ext_last_frame_number: u64,
1571}
1572#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1573pub struct RtpMungerState {
1574 #[prost(uint64, tag = "1")]
1575 pub ext_last_sequence_number: u64,
1576 #[prost(uint64, tag = "2")]
1577 pub ext_second_last_sequence_number: u64,
1578 #[prost(uint64, tag = "3")]
1579 pub ext_last_timestamp: u64,
1580 #[prost(uint64, tag = "4")]
1581 pub ext_second_last_timestamp: u64,
1582 #[prost(bool, tag = "5")]
1583 pub last_marker: bool,
1584 #[prost(bool, tag = "6")]
1585 pub second_last_marker: bool,
1586}
1587#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1588pub struct Vp8MungerState {
1589 #[prost(int32, tag = "1")]
1590 pub ext_last_picture_id: i32,
1591 #[prost(bool, tag = "2")]
1592 pub picture_id_used: bool,
1593 #[prost(uint32, tag = "3")]
1594 pub last_tl0_pic_idx: u32,
1595 #[prost(bool, tag = "4")]
1596 pub tl0_pic_idx_used: bool,
1597 #[prost(bool, tag = "5")]
1598 pub tid_used: bool,
1599 #[prost(uint32, tag = "6")]
1600 pub last_key_idx: u32,
1601 #[prost(bool, tag = "7")]
1602 pub key_idx_used: bool,
1603}
1604#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1605pub struct TimedVersion {
1606 #[prost(int64, tag = "1")]
1607 pub unix_micro: i64,
1608 #[prost(int32, tag = "2")]
1609 pub ticks: i32,
1610}
1611#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
1612pub struct DataStream {
1613}
1614pub mod data_stream {
1616 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1618 pub struct TextHeader {
1619 #[prost(enumeration = "OperationType", tag = "1")]
1620 pub operation_type: i32,
1621 #[prost(int32, tag = "2")]
1623 pub version: i32,
1624 #[prost(string, tag = "3")]
1626 pub reply_to_stream_id: ::prost::alloc::string::String,
1627 #[prost(string, repeated, tag = "4")]
1629 pub attached_stream_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1630 #[prost(bool, tag = "5")]
1632 pub generated: bool,
1633 }
1634 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1636 pub struct ByteHeader {
1637 #[prost(string, tag = "1")]
1638 pub name: ::prost::alloc::string::String,
1639 }
1640 #[derive(Clone, PartialEq, ::prost::Message)]
1642 pub struct Header {
1643 #[prost(string, tag = "1")]
1645 pub stream_id: ::prost::alloc::string::String,
1646 #[prost(int64, tag = "2")]
1648 pub timestamp: i64,
1649 #[prost(string, tag = "3")]
1650 pub topic: ::prost::alloc::string::String,
1651 #[prost(string, tag = "4")]
1652 pub mime_type: ::prost::alloc::string::String,
1653 #[prost(uint64, optional, tag = "5")]
1655 pub total_length: ::core::option::Option<u64>,
1656 #[deprecated]
1658 #[prost(enumeration = "super::encryption::Type", tag = "7")]
1659 pub encryption_type: i32,
1660 #[prost(map = "string, string", tag = "8")]
1662 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
1663 #[prost(bytes = "vec", optional, tag = "11")]
1667 pub inline_content: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
1668 #[prost(enumeration = "CompressionType", tag = "12")]
1669 pub compression: i32,
1670 #[prost(oneof = "header::ContentHeader", tags = "9, 10")]
1672 pub content_header: ::core::option::Option<header::ContentHeader>,
1673 }
1674 pub mod header {
1676 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
1678 pub enum ContentHeader {
1679 #[prost(message, tag = "9")]
1680 TextHeader(super::TextHeader),
1681 #[prost(message, tag = "10")]
1682 ByteHeader(super::ByteHeader),
1683 }
1684 }
1685 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1686 pub struct Chunk {
1687 #[prost(string, tag = "1")]
1689 pub stream_id: ::prost::alloc::string::String,
1690 #[prost(uint64, tag = "2")]
1691 pub chunk_index: u64,
1692 #[prost(bytes = "vec", tag = "3")]
1694 pub content: ::prost::alloc::vec::Vec<u8>,
1695 #[prost(int32, tag = "4")]
1697 pub version: i32,
1698 #[deprecated]
1700 #[prost(bytes = "vec", optional, tag = "5")]
1701 pub iv: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
1702 }
1703 #[derive(Clone, PartialEq, ::prost::Message)]
1704 pub struct Trailer {
1705 #[prost(string, tag = "1")]
1707 pub stream_id: ::prost::alloc::string::String,
1708 #[prost(string, tag = "2")]
1710 pub reason: ::prost::alloc::string::String,
1711 #[prost(map = "string, string", tag = "3")]
1713 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
1714 }
1715 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1717 #[repr(i32)]
1718 pub enum OperationType {
1719 Create = 0,
1720 Update = 1,
1721 Delete = 2,
1722 Reaction = 3,
1723 }
1724 impl OperationType {
1725 pub fn as_str_name(&self) -> &'static str {
1730 match self {
1731 Self::Create => "CREATE",
1732 Self::Update => "UPDATE",
1733 Self::Delete => "DELETE",
1734 Self::Reaction => "REACTION",
1735 }
1736 }
1737 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1739 match value {
1740 "CREATE" => Some(Self::Create),
1741 "UPDATE" => Some(Self::Update),
1742 "DELETE" => Some(Self::Delete),
1743 "REACTION" => Some(Self::Reaction),
1744 _ => None,
1745 }
1746 }
1747 }
1748 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1753 #[repr(i32)]
1754 pub enum CompressionType {
1755 None = 0,
1756 DeflateRaw = 1,
1758 }
1759 impl CompressionType {
1760 pub fn as_str_name(&self) -> &'static str {
1765 match self {
1766 Self::None => "NONE",
1767 Self::DeflateRaw => "DEFLATE_RAW",
1768 }
1769 }
1770 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1772 match value {
1773 "NONE" => Some(Self::None),
1774 "DEFLATE_RAW" => Some(Self::DeflateRaw),
1775 _ => None,
1776 }
1777 }
1778 }
1779}
1780#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1781pub struct FilterParams {
1782 #[prost(string, repeated, tag = "1")]
1783 pub include_events: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1784 #[prost(string, repeated, tag = "2")]
1785 pub exclude_events: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1786}
1787#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1788pub struct WebhookConfig {
1789 #[prost(string, tag = "1")]
1790 pub url: ::prost::alloc::string::String,
1791 #[prost(string, tag = "2")]
1792 pub signing_key: ::prost::alloc::string::String,
1793 #[prost(message, optional, tag = "3")]
1794 pub filter_params: ::core::option::Option<FilterParams>,
1795}
1796#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
1797pub struct SubscribedAudioCodec {
1798 #[prost(string, tag = "1")]
1799 pub codec: ::prost::alloc::string::String,
1800 #[prost(bool, tag = "2")]
1801 pub enabled: bool,
1802}
1803#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1804#[repr(i32)]
1805pub enum AudioCodec {
1806 DefaultAc = 0,
1807 Opus = 1,
1808 Aac = 2,
1809 AcMp3 = 3,
1810}
1811impl AudioCodec {
1812 pub fn as_str_name(&self) -> &'static str {
1817 match self {
1818 Self::DefaultAc => "DEFAULT_AC",
1819 Self::Opus => "OPUS",
1820 Self::Aac => "AAC",
1821 Self::AcMp3 => "AC_MP3",
1822 }
1823 }
1824 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1826 match value {
1827 "DEFAULT_AC" => Some(Self::DefaultAc),
1828 "OPUS" => Some(Self::Opus),
1829 "AAC" => Some(Self::Aac),
1830 "AC_MP3" => Some(Self::AcMp3),
1831 _ => None,
1832 }
1833 }
1834}
1835#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1836#[repr(i32)]
1837pub enum VideoCodec {
1838 DefaultVc = 0,
1839 H264Baseline = 1,
1840 H264Main = 2,
1841 H264High = 3,
1842 Vp8 = 4,
1843}
1844impl VideoCodec {
1845 pub fn as_str_name(&self) -> &'static str {
1850 match self {
1851 Self::DefaultVc => "DEFAULT_VC",
1852 Self::H264Baseline => "H264_BASELINE",
1853 Self::H264Main => "H264_MAIN",
1854 Self::H264High => "H264_HIGH",
1855 Self::Vp8 => "VP8",
1856 }
1857 }
1858 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1860 match value {
1861 "DEFAULT_VC" => Some(Self::DefaultVc),
1862 "H264_BASELINE" => Some(Self::H264Baseline),
1863 "H264_MAIN" => Some(Self::H264Main),
1864 "H264_HIGH" => Some(Self::H264High),
1865 "VP8" => Some(Self::Vp8),
1866 _ => None,
1867 }
1868 }
1869}
1870#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1871#[repr(i32)]
1872pub enum ImageCodec {
1873 IcDefault = 0,
1874 IcJpeg = 1,
1875}
1876impl ImageCodec {
1877 pub fn as_str_name(&self) -> &'static str {
1882 match self {
1883 Self::IcDefault => "IC_DEFAULT",
1884 Self::IcJpeg => "IC_JPEG",
1885 }
1886 }
1887 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1889 match value {
1890 "IC_DEFAULT" => Some(Self::IcDefault),
1891 "IC_JPEG" => Some(Self::IcJpeg),
1892 _ => None,
1893 }
1894 }
1895}
1896#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1898#[repr(i32)]
1899pub enum BackupCodecPolicy {
1900 PreferRegression = 0,
1903 Simulcast = 1,
1905 Regression = 2,
1907}
1908impl BackupCodecPolicy {
1909 pub fn as_str_name(&self) -> &'static str {
1914 match self {
1915 Self::PreferRegression => "PREFER_REGRESSION",
1916 Self::Simulcast => "SIMULCAST",
1917 Self::Regression => "REGRESSION",
1918 }
1919 }
1920 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1922 match value {
1923 "PREFER_REGRESSION" => Some(Self::PreferRegression),
1924 "SIMULCAST" => Some(Self::Simulcast),
1925 "REGRESSION" => Some(Self::Regression),
1926 _ => None,
1927 }
1928 }
1929}
1930#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1931#[repr(i32)]
1932pub enum TrackType {
1933 Audio = 0,
1934 Video = 1,
1935 Data = 2,
1936}
1937impl TrackType {
1938 pub fn as_str_name(&self) -> &'static str {
1943 match self {
1944 Self::Audio => "AUDIO",
1945 Self::Video => "VIDEO",
1946 Self::Data => "DATA",
1947 }
1948 }
1949 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1951 match value {
1952 "AUDIO" => Some(Self::Audio),
1953 "VIDEO" => Some(Self::Video),
1954 "DATA" => Some(Self::Data),
1955 _ => None,
1956 }
1957 }
1958}
1959#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1960#[repr(i32)]
1961pub enum TrackSource {
1962 Unknown = 0,
1963 Camera = 1,
1964 Microphone = 2,
1965 ScreenShare = 3,
1966 ScreenShareAudio = 4,
1967}
1968impl TrackSource {
1969 pub fn as_str_name(&self) -> &'static str {
1974 match self {
1975 Self::Unknown => "UNKNOWN",
1976 Self::Camera => "CAMERA",
1977 Self::Microphone => "MICROPHONE",
1978 Self::ScreenShare => "SCREEN_SHARE",
1979 Self::ScreenShareAudio => "SCREEN_SHARE_AUDIO",
1980 }
1981 }
1982 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1984 match value {
1985 "UNKNOWN" => Some(Self::Unknown),
1986 "CAMERA" => Some(Self::Camera),
1987 "MICROPHONE" => Some(Self::Microphone),
1988 "SCREEN_SHARE" => Some(Self::ScreenShare),
1989 "SCREEN_SHARE_AUDIO" => Some(Self::ScreenShareAudio),
1990 _ => None,
1991 }
1992 }
1993}
1994#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1995#[repr(i32)]
1996pub enum DataTrackExtensionId {
1997 DteiInvalid = 0,
1998 DteiParticipantSidLow = 1,
1999 DteiParticipantSid = 255,
2000}
2001impl DataTrackExtensionId {
2002 pub fn as_str_name(&self) -> &'static str {
2007 match self {
2008 Self::DteiInvalid => "DTEI_INVALID",
2009 Self::DteiParticipantSidLow => "DTEI_PARTICIPANT_SID_LOW",
2010 Self::DteiParticipantSid => "DTEI_PARTICIPANT_SID",
2011 }
2012 }
2013 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2015 match value {
2016 "DTEI_INVALID" => Some(Self::DteiInvalid),
2017 "DTEI_PARTICIPANT_SID_LOW" => Some(Self::DteiParticipantSidLow),
2018 "DTEI_PARTICIPANT_SID" => Some(Self::DteiParticipantSid),
2019 _ => None,
2020 }
2021 }
2022}
2023#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2024#[repr(i32)]
2025pub enum VideoQuality {
2026 Low = 0,
2027 Medium = 1,
2028 High = 2,
2029 Off = 3,
2030}
2031impl VideoQuality {
2032 pub fn as_str_name(&self) -> &'static str {
2037 match self {
2038 Self::Low => "LOW",
2039 Self::Medium => "MEDIUM",
2040 Self::High => "HIGH",
2041 Self::Off => "OFF",
2042 }
2043 }
2044 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2046 match value {
2047 "LOW" => Some(Self::Low),
2048 "MEDIUM" => Some(Self::Medium),
2049 "HIGH" => Some(Self::High),
2050 "OFF" => Some(Self::Off),
2051 _ => None,
2052 }
2053 }
2054}
2055#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2056#[repr(i32)]
2057pub enum ConnectionQuality {
2058 Poor = 0,
2059 Good = 1,
2060 Excellent = 2,
2061 Lost = 3,
2062}
2063impl ConnectionQuality {
2064 pub fn as_str_name(&self) -> &'static str {
2069 match self {
2070 Self::Poor => "POOR",
2071 Self::Good => "GOOD",
2072 Self::Excellent => "EXCELLENT",
2073 Self::Lost => "LOST",
2074 }
2075 }
2076 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2078 match value {
2079 "POOR" => Some(Self::Poor),
2080 "GOOD" => Some(Self::Good),
2081 "EXCELLENT" => Some(Self::Excellent),
2082 "LOST" => Some(Self::Lost),
2083 _ => None,
2084 }
2085 }
2086}
2087#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2088#[repr(i32)]
2089pub enum ClientConfigSetting {
2090 Unset = 0,
2091 Disabled = 1,
2092 Enabled = 2,
2093}
2094impl ClientConfigSetting {
2095 pub fn as_str_name(&self) -> &'static str {
2100 match self {
2101 Self::Unset => "UNSET",
2102 Self::Disabled => "DISABLED",
2103 Self::Enabled => "ENABLED",
2104 }
2105 }
2106 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2108 match value {
2109 "UNSET" => Some(Self::Unset),
2110 "DISABLED" => Some(Self::Disabled),
2111 "ENABLED" => Some(Self::Enabled),
2112 _ => None,
2113 }
2114 }
2115}
2116#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2117#[repr(i32)]
2118pub enum DisconnectReason {
2119 UnknownReason = 0,
2120 ClientInitiated = 1,
2122 DuplicateIdentity = 2,
2124 ServerShutdown = 3,
2126 ParticipantRemoved = 4,
2128 RoomDeleted = 5,
2130 StateMismatch = 6,
2132 JoinFailure = 7,
2134 Migration = 8,
2136 SignalClose = 9,
2138 RoomClosed = 10,
2140 UserUnavailable = 11,
2142 UserRejected = 12,
2144 SipTrunkFailure = 13,
2146 ConnectionTimeout = 14,
2148 MediaFailure = 15,
2150 AgentError = 16,
2152}
2153impl DisconnectReason {
2154 pub fn as_str_name(&self) -> &'static str {
2159 match self {
2160 Self::UnknownReason => "UNKNOWN_REASON",
2161 Self::ClientInitiated => "CLIENT_INITIATED",
2162 Self::DuplicateIdentity => "DUPLICATE_IDENTITY",
2163 Self::ServerShutdown => "SERVER_SHUTDOWN",
2164 Self::ParticipantRemoved => "PARTICIPANT_REMOVED",
2165 Self::RoomDeleted => "ROOM_DELETED",
2166 Self::StateMismatch => "STATE_MISMATCH",
2167 Self::JoinFailure => "JOIN_FAILURE",
2168 Self::Migration => "MIGRATION",
2169 Self::SignalClose => "SIGNAL_CLOSE",
2170 Self::RoomClosed => "ROOM_CLOSED",
2171 Self::UserUnavailable => "USER_UNAVAILABLE",
2172 Self::UserRejected => "USER_REJECTED",
2173 Self::SipTrunkFailure => "SIP_TRUNK_FAILURE",
2174 Self::ConnectionTimeout => "CONNECTION_TIMEOUT",
2175 Self::MediaFailure => "MEDIA_FAILURE",
2176 Self::AgentError => "AGENT_ERROR",
2177 }
2178 }
2179 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2181 match value {
2182 "UNKNOWN_REASON" => Some(Self::UnknownReason),
2183 "CLIENT_INITIATED" => Some(Self::ClientInitiated),
2184 "DUPLICATE_IDENTITY" => Some(Self::DuplicateIdentity),
2185 "SERVER_SHUTDOWN" => Some(Self::ServerShutdown),
2186 "PARTICIPANT_REMOVED" => Some(Self::ParticipantRemoved),
2187 "ROOM_DELETED" => Some(Self::RoomDeleted),
2188 "STATE_MISMATCH" => Some(Self::StateMismatch),
2189 "JOIN_FAILURE" => Some(Self::JoinFailure),
2190 "MIGRATION" => Some(Self::Migration),
2191 "SIGNAL_CLOSE" => Some(Self::SignalClose),
2192 "ROOM_CLOSED" => Some(Self::RoomClosed),
2193 "USER_UNAVAILABLE" => Some(Self::UserUnavailable),
2194 "USER_REJECTED" => Some(Self::UserRejected),
2195 "SIP_TRUNK_FAILURE" => Some(Self::SipTrunkFailure),
2196 "CONNECTION_TIMEOUT" => Some(Self::ConnectionTimeout),
2197 "MEDIA_FAILURE" => Some(Self::MediaFailure),
2198 "AGENT_ERROR" => Some(Self::AgentError),
2199 _ => None,
2200 }
2201 }
2202}
2203#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2205#[repr(i32)]
2206pub enum RoomEndReason {
2207 RoomEndUnknown = 0,
2208 RoomEndApiDelete = 1,
2210 RoomEndIdleTimeout = 2,
2212 RoomEndServerShutdown = 3,
2214 RoomEndSuperseded = 4,
2216 RoomEndOpenFailed = 5,
2218}
2219impl RoomEndReason {
2220 pub fn as_str_name(&self) -> &'static str {
2225 match self {
2226 Self::RoomEndUnknown => "ROOM_END_UNKNOWN",
2227 Self::RoomEndApiDelete => "ROOM_END_API_DELETE",
2228 Self::RoomEndIdleTimeout => "ROOM_END_IDLE_TIMEOUT",
2229 Self::RoomEndServerShutdown => "ROOM_END_SERVER_SHUTDOWN",
2230 Self::RoomEndSuperseded => "ROOM_END_SUPERSEDED",
2231 Self::RoomEndOpenFailed => "ROOM_END_OPEN_FAILED",
2232 }
2233 }
2234 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2236 match value {
2237 "ROOM_END_UNKNOWN" => Some(Self::RoomEndUnknown),
2238 "ROOM_END_API_DELETE" => Some(Self::RoomEndApiDelete),
2239 "ROOM_END_IDLE_TIMEOUT" => Some(Self::RoomEndIdleTimeout),
2240 "ROOM_END_SERVER_SHUTDOWN" => Some(Self::RoomEndServerShutdown),
2241 "ROOM_END_SUPERSEDED" => Some(Self::RoomEndSuperseded),
2242 "ROOM_END_OPEN_FAILED" => Some(Self::RoomEndOpenFailed),
2243 _ => None,
2244 }
2245 }
2246}
2247#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2248#[repr(i32)]
2249pub enum ReconnectReason {
2250 RrUnknown = 0,
2251 RrSignalDisconnected = 1,
2252 RrPublisherFailed = 2,
2253 RrSubscriberFailed = 3,
2254 RrSwitchCandidate = 4,
2255}
2256impl ReconnectReason {
2257 pub fn as_str_name(&self) -> &'static str {
2262 match self {
2263 Self::RrUnknown => "RR_UNKNOWN",
2264 Self::RrSignalDisconnected => "RR_SIGNAL_DISCONNECTED",
2265 Self::RrPublisherFailed => "RR_PUBLISHER_FAILED",
2266 Self::RrSubscriberFailed => "RR_SUBSCRIBER_FAILED",
2267 Self::RrSwitchCandidate => "RR_SWITCH_CANDIDATE",
2268 }
2269 }
2270 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2272 match value {
2273 "RR_UNKNOWN" => Some(Self::RrUnknown),
2274 "RR_SIGNAL_DISCONNECTED" => Some(Self::RrSignalDisconnected),
2275 "RR_PUBLISHER_FAILED" => Some(Self::RrPublisherFailed),
2276 "RR_SUBSCRIBER_FAILED" => Some(Self::RrSubscriberFailed),
2277 "RR_SWITCH_CANDIDATE" => Some(Self::RrSwitchCandidate),
2278 _ => None,
2279 }
2280 }
2281}
2282#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2283#[repr(i32)]
2284pub enum SubscriptionError {
2285 SeUnknown = 0,
2286 SeCodecUnsupported = 1,
2287 SeTrackNotfound = 2,
2288}
2289impl SubscriptionError {
2290 pub fn as_str_name(&self) -> &'static str {
2295 match self {
2296 Self::SeUnknown => "SE_UNKNOWN",
2297 Self::SeCodecUnsupported => "SE_CODEC_UNSUPPORTED",
2298 Self::SeTrackNotfound => "SE_TRACK_NOTFOUND",
2299 }
2300 }
2301 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2303 match value {
2304 "SE_UNKNOWN" => Some(Self::SeUnknown),
2305 "SE_CODEC_UNSUPPORTED" => Some(Self::SeCodecUnsupported),
2306 "SE_TRACK_NOTFOUND" => Some(Self::SeTrackNotfound),
2307 _ => None,
2308 }
2309 }
2310}
2311#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2312#[repr(i32)]
2313pub enum AudioTrackFeature {
2314 TfStereo = 0,
2315 TfNoDtx = 1,
2316 TfAutoGainControl = 2,
2317 TfEchoCancellation = 3,
2318 TfNoiseSuppression = 4,
2319 TfEnhancedNoiseCancellation = 5,
2320 TfPreconnectBuffer = 6,
2322}
2323impl AudioTrackFeature {
2324 pub fn as_str_name(&self) -> &'static str {
2329 match self {
2330 Self::TfStereo => "TF_STEREO",
2331 Self::TfNoDtx => "TF_NO_DTX",
2332 Self::TfAutoGainControl => "TF_AUTO_GAIN_CONTROL",
2333 Self::TfEchoCancellation => "TF_ECHO_CANCELLATION",
2334 Self::TfNoiseSuppression => "TF_NOISE_SUPPRESSION",
2335 Self::TfEnhancedNoiseCancellation => "TF_ENHANCED_NOISE_CANCELLATION",
2336 Self::TfPreconnectBuffer => "TF_PRECONNECT_BUFFER",
2337 }
2338 }
2339 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2341 match value {
2342 "TF_STEREO" => Some(Self::TfStereo),
2343 "TF_NO_DTX" => Some(Self::TfNoDtx),
2344 "TF_AUTO_GAIN_CONTROL" => Some(Self::TfAutoGainControl),
2345 "TF_ECHO_CANCELLATION" => Some(Self::TfEchoCancellation),
2346 "TF_NOISE_SUPPRESSION" => Some(Self::TfNoiseSuppression),
2347 "TF_ENHANCED_NOISE_CANCELLATION" => Some(Self::TfEnhancedNoiseCancellation),
2348 "TF_PRECONNECT_BUFFER" => Some(Self::TfPreconnectBuffer),
2349 _ => None,
2350 }
2351 }
2352}
2353#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2354#[repr(i32)]
2355pub enum PacketTrailerFeature {
2356 PtfUserTimestamp = 0,
2357 PtfFrameId = 1,
2358 PtfUserData = 2,
2359}
2360impl PacketTrailerFeature {
2361 pub fn as_str_name(&self) -> &'static str {
2366 match self {
2367 Self::PtfUserTimestamp => "PTF_USER_TIMESTAMP",
2368 Self::PtfFrameId => "PTF_FRAME_ID",
2369 Self::PtfUserData => "PTF_USER_DATA",
2370 }
2371 }
2372 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2374 match value {
2375 "PTF_USER_TIMESTAMP" => Some(Self::PtfUserTimestamp),
2376 "PTF_FRAME_ID" => Some(Self::PtfFrameId),
2377 "PTF_USER_DATA" => Some(Self::PtfUserData),
2378 _ => None,
2379 }
2380 }
2381}
2382#[derive(Clone, PartialEq, ::prost::Message)]
2385pub struct StartEgressRequest {
2386 #[prost(string, tag = "1")]
2387 pub room_name: ::prost::alloc::string::String,
2388 #[prost(message, repeated, tag = "7")]
2390 pub outputs: ::prost::alloc::vec::Vec<Output>,
2391 #[prost(message, optional, tag = "8")]
2393 pub storage: ::core::option::Option<StorageConfig>,
2394 #[prost(message, repeated, tag = "9")]
2396 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
2397 #[prost(oneof = "start_egress_request::Source", tags = "2, 3, 4")]
2398 pub source: ::core::option::Option<start_egress_request::Source>,
2399 #[prost(oneof = "start_egress_request::Encoding", tags = "5, 6")]
2401 pub encoding: ::core::option::Option<start_egress_request::Encoding>,
2402}
2403pub mod start_egress_request {
2405 #[derive(Clone, PartialEq, ::prost::Oneof)]
2406 pub enum Source {
2407 #[prost(message, tag = "2")]
2408 Template(super::TemplateSource),
2409 #[prost(message, tag = "3")]
2410 Web(super::WebSource),
2411 #[prost(message, tag = "4")]
2412 Media(super::MediaSource),
2413 }
2414 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
2416 pub enum Encoding {
2417 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "5")]
2418 Preset(i32),
2419 #[prost(message, tag = "6")]
2420 Advanced(super::EncodingOptions),
2421 }
2422}
2423#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2428pub struct TemplateSource {
2429 #[prost(string, tag = "1")]
2430 pub layout: ::prost::alloc::string::String,
2431 #[prost(bool, tag = "2")]
2432 pub audio_only: bool,
2433 #[prost(bool, tag = "3")]
2434 pub video_only: bool,
2435 #[prost(string, tag = "4")]
2436 pub custom_base_url: ::prost::alloc::string::String,
2437}
2438#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2440pub struct WebSource {
2441 #[prost(string, tag = "1")]
2442 pub url: ::prost::alloc::string::String,
2443 #[prost(bool, tag = "2")]
2444 pub audio_only: bool,
2445 #[prost(bool, tag = "3")]
2446 pub video_only: bool,
2447 #[prost(bool, tag = "4")]
2448 pub await_start_signal: bool,
2449}
2450#[derive(Clone, PartialEq, ::prost::Message)]
2453pub struct MediaSource {
2454 #[prost(message, optional, tag = "3")]
2456 pub audio: ::core::option::Option<AudioConfig>,
2457 #[prost(oneof = "media_source::Video", tags = "1, 2")]
2458 pub video: ::core::option::Option<media_source::Video>,
2459}
2460pub mod media_source {
2462 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
2463 pub enum Video {
2464 #[prost(string, tag = "1")]
2465 VideoTrackId(::prost::alloc::string::String),
2466 #[prost(message, tag = "2")]
2467 ParticipantVideo(super::ParticipantVideo),
2468 }
2469}
2470#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2473pub struct ParticipantVideo {
2474 #[prost(string, tag = "1")]
2475 pub identity: ::prost::alloc::string::String,
2476 #[prost(bool, tag = "2")]
2477 pub prefer_screen_share: bool,
2478}
2479#[derive(Clone, PartialEq, ::prost::Message)]
2484pub struct AudioConfig {
2485 #[prost(bool, tag = "1")]
2487 pub capture_all: bool,
2488 #[prost(message, repeated, tag = "2")]
2489 pub routes: ::prost::alloc::vec::Vec<AudioRoute>,
2490}
2491#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2492pub struct AudioRoute {
2493 #[prost(enumeration = "AudioChannel", tag = "4")]
2494 pub channel: i32,
2495 #[prost(oneof = "audio_route::Match", tags = "1, 2, 3")]
2496 pub r#match: ::core::option::Option<audio_route::Match>,
2497}
2498pub mod audio_route {
2500 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
2501 pub enum Match {
2502 #[prost(string, tag = "1")]
2503 TrackId(::prost::alloc::string::String),
2504 #[prost(string, tag = "2")]
2505 ParticipantIdentity(::prost::alloc::string::String),
2506 #[prost(enumeration = "super::participant_info::Kind", tag = "3")]
2507 ParticipantKind(i32),
2508 }
2509}
2510#[derive(Clone, PartialEq, ::prost::Message)]
2513pub struct DataConfig {
2514 #[prost(bool, tag = "1")]
2515 pub capture_all: bool,
2516 #[prost(message, repeated, tag = "2")]
2517 pub selectors: ::prost::alloc::vec::Vec<DataSelector>,
2518}
2519#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2520pub struct DataSelector {
2521 #[prost(oneof = "data_selector::Match", tags = "1, 2")]
2522 pub r#match: ::core::option::Option<data_selector::Match>,
2523}
2524pub mod data_selector {
2526 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
2527 pub enum Match {
2528 #[prost(string, tag = "1")]
2529 TrackId(::prost::alloc::string::String),
2530 #[prost(string, tag = "2")]
2531 ParticipantIdentity(::prost::alloc::string::String),
2532 }
2533}
2534#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2535pub struct EncodingOptions {
2536 #[prost(int32, tag = "1")]
2538 pub width: i32,
2539 #[prost(int32, tag = "2")]
2541 pub height: i32,
2542 #[prost(int32, tag = "3")]
2544 pub depth: i32,
2545 #[prost(int32, tag = "4")]
2547 pub framerate: i32,
2548 #[prost(enumeration = "AudioCodec", tag = "5")]
2550 pub audio_codec: i32,
2551 #[prost(int32, tag = "6")]
2553 pub audio_bitrate: i32,
2554 #[prost(int32, tag = "7")]
2556 pub audio_frequency: i32,
2557 #[prost(enumeration = "VideoCodec", tag = "8")]
2559 pub video_codec: i32,
2560 #[prost(int32, tag = "9")]
2562 pub video_bitrate: i32,
2563 #[prost(double, tag = "10")]
2565 pub key_frame_interval: f64,
2566 #[deprecated]
2570 #[prost(int32, tag = "11")]
2571 pub audio_quality: i32,
2572 #[deprecated]
2574 #[prost(int32, tag = "12")]
2575 pub video_quality: i32,
2576}
2577#[derive(Clone, PartialEq, ::prost::Message)]
2580pub struct Output {
2581 #[prost(message, optional, tag = "6")]
2583 pub storage: ::core::option::Option<StorageConfig>,
2584 #[prost(oneof = "output::Config", tags = "1, 2, 3, 4")]
2585 pub config: ::core::option::Option<output::Config>,
2586}
2587pub mod output {
2589 #[derive(Clone, PartialEq, ::prost::Oneof)]
2590 pub enum Config {
2591 #[prost(message, tag = "1")]
2592 File(super::FileOutput),
2593 #[prost(message, tag = "2")]
2594 Stream(super::StreamOutput),
2595 #[prost(message, tag = "3")]
2596 Segments(super::SegmentedFileOutput),
2597 #[prost(message, tag = "4")]
2599 Images(super::ImageOutput),
2600 }
2601}
2602#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2605pub struct FileOutput {
2606 #[prost(enumeration = "EncodedFileType", tag = "1")]
2607 pub file_type: i32,
2608 #[prost(string, tag = "2")]
2609 pub filepath: ::prost::alloc::string::String,
2610 #[prost(bool, tag = "3")]
2611 pub disable_manifest: bool,
2612}
2613#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2614pub struct StreamOutput {
2615 #[prost(enumeration = "StreamProtocol", tag = "1")]
2617 pub protocol: i32,
2618 #[prost(string, repeated, tag = "2")]
2620 pub urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
2621}
2622#[derive(Clone, PartialEq, ::prost::Message)]
2624pub struct SegmentedFileOutput {
2625 #[prost(enumeration = "SegmentedFileProtocol", tag = "1")]
2627 pub protocol: i32,
2628 #[prost(string, tag = "2")]
2630 pub filename_prefix: ::prost::alloc::string::String,
2631 #[prost(string, tag = "3")]
2633 pub playlist_name: ::prost::alloc::string::String,
2634 #[prost(string, tag = "11")]
2636 pub live_playlist_name: ::prost::alloc::string::String,
2637 #[prost(uint32, tag = "4")]
2639 pub segment_duration: u32,
2640 #[prost(enumeration = "SegmentedFileSuffix", tag = "10")]
2642 pub filename_suffix: i32,
2643 #[prost(bool, tag = "8")]
2645 pub disable_manifest: bool,
2646 #[prost(oneof = "segmented_file_output::Output", tags = "5, 6, 7, 9")]
2648 pub output: ::core::option::Option<segmented_file_output::Output>,
2649}
2650pub mod segmented_file_output {
2652 #[derive(Clone, PartialEq, ::prost::Oneof)]
2654 pub enum Output {
2655 #[prost(message, tag = "5")]
2656 S3(super::S3Upload),
2657 #[prost(message, tag = "6")]
2658 Gcp(super::GcpUpload),
2659 #[prost(message, tag = "7")]
2660 Azure(super::AzureBlobUpload),
2661 #[prost(message, tag = "9")]
2662 AliOss(super::AliOssUpload),
2663 }
2664}
2665#[derive(Clone, PartialEq, ::prost::Message)]
2667pub struct ImageOutput {
2668 #[prost(uint32, tag = "1")]
2670 pub capture_interval: u32,
2671 #[prost(int32, tag = "2")]
2673 pub width: i32,
2674 #[prost(int32, tag = "3")]
2676 pub height: i32,
2677 #[prost(string, tag = "4")]
2679 pub filename_prefix: ::prost::alloc::string::String,
2680 #[prost(enumeration = "ImageFileSuffix", tag = "5")]
2682 pub filename_suffix: i32,
2683 #[prost(enumeration = "ImageCodec", tag = "6")]
2685 pub image_codec: i32,
2686 #[prost(bool, tag = "7")]
2688 pub disable_manifest: bool,
2689 #[prost(oneof = "image_output::Output", tags = "8, 9, 10, 11")]
2691 pub output: ::core::option::Option<image_output::Output>,
2692}
2693pub mod image_output {
2695 #[derive(Clone, PartialEq, ::prost::Oneof)]
2697 pub enum Output {
2698 #[prost(message, tag = "8")]
2699 S3(super::S3Upload),
2700 #[prost(message, tag = "9")]
2701 Gcp(super::GcpUpload),
2702 #[prost(message, tag = "10")]
2703 Azure(super::AzureBlobUpload),
2704 #[prost(message, tag = "11")]
2705 AliOss(super::AliOssUpload),
2706 }
2707}
2708#[derive(Clone, PartialEq, ::prost::Message)]
2711pub struct StorageConfig {
2712 #[prost(oneof = "storage_config::Provider", tags = "1, 2, 3, 4")]
2713 pub provider: ::core::option::Option<storage_config::Provider>,
2714}
2715pub mod storage_config {
2717 #[derive(Clone, PartialEq, ::prost::Oneof)]
2718 pub enum Provider {
2719 #[prost(message, tag = "1")]
2720 S3(super::S3Upload),
2721 #[prost(message, tag = "2")]
2722 Gcp(super::GcpUpload),
2723 #[prost(message, tag = "3")]
2724 Azure(super::AzureBlobUpload),
2725 #[prost(message, tag = "4")]
2726 AliOss(super::AliOssUpload),
2727 }
2728}
2729#[derive(Clone, PartialEq, ::prost::Message)]
2730pub struct S3Upload {
2731 #[prost(string, tag = "1")]
2732 pub access_key: ::prost::alloc::string::String,
2733 #[prost(string, tag = "2")]
2734 pub secret: ::prost::alloc::string::String,
2735 #[prost(string, tag = "11")]
2736 pub session_token: ::prost::alloc::string::String,
2737 #[prost(string, tag = "12")]
2739 pub assume_role_arn: ::prost::alloc::string::String,
2740 #[prost(string, tag = "13")]
2742 pub assume_role_external_id: ::prost::alloc::string::String,
2743 #[prost(string, tag = "3")]
2744 pub region: ::prost::alloc::string::String,
2745 #[prost(string, tag = "4")]
2746 pub endpoint: ::prost::alloc::string::String,
2747 #[prost(string, tag = "5")]
2748 pub bucket: ::prost::alloc::string::String,
2749 #[prost(bool, tag = "6")]
2750 pub force_path_style: bool,
2751 #[prost(map = "string, string", tag = "7")]
2752 pub metadata: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
2753 #[prost(string, tag = "8")]
2754 pub tagging: ::prost::alloc::string::String,
2755 #[prost(string, tag = "9")]
2757 pub content_disposition: ::prost::alloc::string::String,
2758 #[prost(message, optional, tag = "10")]
2759 pub proxy: ::core::option::Option<ProxyConfig>,
2760}
2761#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2762pub struct GcpUpload {
2763 #[prost(string, tag = "1")]
2765 pub credentials: ::prost::alloc::string::String,
2766 #[prost(string, tag = "2")]
2767 pub bucket: ::prost::alloc::string::String,
2768 #[prost(message, optional, tag = "3")]
2769 pub proxy: ::core::option::Option<ProxyConfig>,
2770}
2771#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2772pub struct AzureBlobUpload {
2773 #[prost(string, tag = "1")]
2774 pub account_name: ::prost::alloc::string::String,
2775 #[prost(string, tag = "2")]
2776 pub account_key: ::prost::alloc::string::String,
2777 #[prost(string, tag = "3")]
2778 pub container_name: ::prost::alloc::string::String,
2779}
2780#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2781pub struct AliOssUpload {
2782 #[prost(string, tag = "1")]
2783 pub access_key: ::prost::alloc::string::String,
2784 #[prost(string, tag = "2")]
2785 pub secret: ::prost::alloc::string::String,
2786 #[prost(string, tag = "3")]
2787 pub region: ::prost::alloc::string::String,
2788 #[prost(string, tag = "4")]
2789 pub endpoint: ::prost::alloc::string::String,
2790 #[prost(string, tag = "5")]
2791 pub bucket: ::prost::alloc::string::String,
2792}
2793#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2794pub struct ProxyConfig {
2795 #[prost(string, tag = "1")]
2796 pub url: ::prost::alloc::string::String,
2797 #[prost(string, tag = "2")]
2798 pub username: ::prost::alloc::string::String,
2799 #[prost(string, tag = "3")]
2800 pub password: ::prost::alloc::string::String,
2801}
2802#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2805pub struct ListEgressRequest {
2806 #[prost(string, tag = "1")]
2808 pub room_name: ::prost::alloc::string::String,
2809 #[prost(string, tag = "2")]
2811 pub egress_id: ::prost::alloc::string::String,
2812 #[prost(bool, tag = "3")]
2814 pub active: bool,
2815 #[prost(message, optional, tag = "4")]
2817 pub page_token: ::core::option::Option<TokenPagination>,
2818}
2819#[derive(Clone, PartialEq, ::prost::Message)]
2820pub struct ListEgressResponse {
2821 #[prost(message, repeated, tag = "1")]
2822 pub items: ::prost::alloc::vec::Vec<EgressInfo>,
2823 #[prost(message, optional, tag = "2")]
2825 pub next_page_token: ::core::option::Option<TokenPagination>,
2826}
2827#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2828pub struct StopEgressRequest {
2829 #[prost(string, tag = "1")]
2830 pub egress_id: ::prost::alloc::string::String,
2831}
2832#[derive(Clone, PartialEq, ::prost::Message)]
2835pub struct EgressInfo {
2836 #[prost(string, tag = "1")]
2837 pub egress_id: ::prost::alloc::string::String,
2838 #[prost(string, tag = "2")]
2839 pub room_id: ::prost::alloc::string::String,
2840 #[prost(string, tag = "13")]
2841 pub room_name: ::prost::alloc::string::String,
2842 #[prost(enumeration = "EgressSourceType", tag = "26")]
2843 pub source_type: i32,
2844 #[prost(enumeration = "EgressStatus", tag = "3")]
2845 pub status: i32,
2846 #[prost(int64, tag = "10")]
2847 pub started_at: i64,
2848 #[prost(int64, tag = "11")]
2849 pub ended_at: i64,
2850 #[prost(int64, tag = "18")]
2851 pub updated_at: i64,
2852 #[prost(message, repeated, tag = "15")]
2853 pub stream_results: ::prost::alloc::vec::Vec<StreamInfo>,
2854 #[prost(message, repeated, tag = "16")]
2855 pub file_results: ::prost::alloc::vec::Vec<FileInfo>,
2856 #[prost(message, repeated, tag = "17")]
2857 pub segment_results: ::prost::alloc::vec::Vec<SegmentsInfo>,
2858 #[prost(message, repeated, tag = "20")]
2859 pub image_results: ::prost::alloc::vec::Vec<ImagesInfo>,
2860 #[prost(string, tag = "9")]
2861 pub error: ::prost::alloc::string::String,
2862 #[prost(int32, tag = "22")]
2863 pub error_code: i32,
2864 #[prost(string, tag = "21")]
2865 pub details: ::prost::alloc::string::String,
2866 #[prost(string, tag = "23")]
2867 pub manifest_location: ::prost::alloc::string::String,
2868 #[prost(bool, tag = "25")]
2869 pub backup_storage_used: bool,
2870 #[prost(int32, tag = "27")]
2871 pub retry_count: i32,
2872 #[prost(oneof = "egress_info::Request", tags = "29, 30, 4, 14, 19, 5, 6")]
2873 pub request: ::core::option::Option<egress_info::Request>,
2874 #[prost(oneof = "egress_info::Result", tags = "7, 8, 12")]
2878 pub result: ::core::option::Option<egress_info::Result>,
2879}
2880pub mod egress_info {
2882 #[derive(Clone, PartialEq, ::prost::Oneof)]
2883 pub enum Request {
2884 #[prost(message, tag = "29")]
2885 Egress(super::StartEgressRequest),
2886 #[prost(message, tag = "30")]
2887 Replay(super::ExportReplayRequest),
2888 #[prost(message, tag = "4")]
2890 RoomComposite(super::RoomCompositeEgressRequest),
2891 #[prost(message, tag = "14")]
2892 Web(super::WebEgressRequest),
2893 #[prost(message, tag = "19")]
2894 Participant(super::ParticipantEgressRequest),
2895 #[prost(message, tag = "5")]
2896 TrackComposite(super::TrackCompositeEgressRequest),
2897 #[prost(message, tag = "6")]
2898 Track(super::TrackEgressRequest),
2899 }
2900 #[derive(Clone, PartialEq, ::prost::Oneof)]
2904 pub enum Result {
2905 #[deprecated]
2906 #[prost(message, tag = "7")]
2907 Stream(super::StreamInfoList),
2908 #[deprecated]
2909 #[prost(message, tag = "8")]
2910 File(super::FileInfo),
2911 #[deprecated]
2912 #[prost(message, tag = "12")]
2913 Segments(super::SegmentsInfo),
2914 }
2915}
2916#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2917pub struct StreamInfo {
2918 #[prost(string, tag = "1")]
2919 pub url: ::prost::alloc::string::String,
2920 #[prost(int64, tag = "2")]
2921 pub started_at: i64,
2922 #[prost(int64, tag = "3")]
2923 pub ended_at: i64,
2924 #[prost(int64, tag = "4")]
2925 pub duration: i64,
2926 #[prost(enumeration = "stream_info::Status", tag = "5")]
2927 pub status: i32,
2928 #[prost(string, tag = "6")]
2929 pub error: ::prost::alloc::string::String,
2930 #[prost(int64, tag = "7")]
2931 pub last_retry_at: i64,
2932 #[prost(uint32, tag = "8")]
2933 pub retries: u32,
2934}
2935pub mod stream_info {
2937 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
2938 #[repr(i32)]
2939 pub enum Status {
2940 Active = 0,
2941 Finished = 1,
2942 Failed = 2,
2943 }
2944 impl Status {
2945 pub fn as_str_name(&self) -> &'static str {
2950 match self {
2951 Self::Active => "ACTIVE",
2952 Self::Finished => "FINISHED",
2953 Self::Failed => "FAILED",
2954 }
2955 }
2956 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
2958 match value {
2959 "ACTIVE" => Some(Self::Active),
2960 "FINISHED" => Some(Self::Finished),
2961 "FAILED" => Some(Self::Failed),
2962 _ => None,
2963 }
2964 }
2965 }
2966}
2967#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2968pub struct FileInfo {
2969 #[prost(string, tag = "1")]
2970 pub filename: ::prost::alloc::string::String,
2971 #[prost(int64, tag = "2")]
2972 pub started_at: i64,
2973 #[prost(int64, tag = "3")]
2974 pub ended_at: i64,
2975 #[prost(int64, tag = "6")]
2976 pub duration: i64,
2977 #[prost(int64, tag = "4")]
2978 pub size: i64,
2979 #[prost(string, tag = "5")]
2980 pub location: ::prost::alloc::string::String,
2981}
2982#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
2983pub struct SegmentsInfo {
2984 #[prost(string, tag = "1")]
2985 pub playlist_name: ::prost::alloc::string::String,
2986 #[prost(string, tag = "8")]
2987 pub live_playlist_name: ::prost::alloc::string::String,
2988 #[prost(int64, tag = "2")]
2989 pub duration: i64,
2990 #[prost(int64, tag = "3")]
2991 pub size: i64,
2992 #[prost(string, tag = "4")]
2993 pub playlist_location: ::prost::alloc::string::String,
2994 #[prost(string, tag = "9")]
2995 pub live_playlist_location: ::prost::alloc::string::String,
2996 #[prost(int64, tag = "5")]
2997 pub segment_count: i64,
2998 #[prost(int64, tag = "6")]
2999 pub started_at: i64,
3000 #[prost(int64, tag = "7")]
3001 pub ended_at: i64,
3002}
3003#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3004pub struct ImagesInfo {
3005 #[prost(string, tag = "4")]
3006 pub filename_prefix: ::prost::alloc::string::String,
3007 #[prost(int64, tag = "1")]
3008 pub image_count: i64,
3009 #[prost(int64, tag = "2")]
3010 pub started_at: i64,
3011 #[prost(int64, tag = "3")]
3012 pub ended_at: i64,
3013}
3014#[derive(Clone, PartialEq, ::prost::Message)]
3017pub struct AutoParticipantEgress {
3018 #[prost(message, repeated, tag = "3")]
3019 pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
3020 #[prost(message, repeated, tag = "4")]
3021 pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
3022 #[prost(oneof = "auto_participant_egress::Options", tags = "1, 2")]
3023 pub options: ::core::option::Option<auto_participant_egress::Options>,
3024}
3025pub mod auto_participant_egress {
3027 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3028 pub enum Options {
3029 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "1")]
3031 Preset(i32),
3032 #[prost(message, tag = "2")]
3034 Advanced(super::EncodingOptions),
3035 }
3036}
3037#[derive(Clone, PartialEq, ::prost::Message)]
3038pub struct AutoTrackEgress {
3039 #[prost(string, tag = "1")]
3041 pub filepath: ::prost::alloc::string::String,
3042 #[prost(bool, tag = "5")]
3044 pub disable_manifest: bool,
3045 #[prost(oneof = "auto_track_egress::Output", tags = "2, 3, 4, 6")]
3046 pub output: ::core::option::Option<auto_track_egress::Output>,
3047}
3048pub mod auto_track_egress {
3050 #[derive(Clone, PartialEq, ::prost::Oneof)]
3051 pub enum Output {
3052 #[prost(message, tag = "2")]
3053 S3(super::S3Upload),
3054 #[prost(message, tag = "3")]
3055 Gcp(super::GcpUpload),
3056 #[prost(message, tag = "4")]
3057 Azure(super::AzureBlobUpload),
3058 #[prost(message, tag = "6")]
3059 AliOss(super::AliOssUpload),
3060 }
3061}
3062#[derive(Clone, PartialEq, ::prost::Message)]
3065pub struct ExportReplayRequest {
3066 #[prost(string, tag = "1")]
3067 pub replay_id: ::prost::alloc::string::String,
3068 #[prost(int64, tag = "2")]
3069 pub start_offset_ms: i64,
3070 #[prost(int64, tag = "3")]
3071 pub end_offset_ms: i64,
3072 #[prost(message, repeated, tag = "9")]
3073 pub outputs: ::prost::alloc::vec::Vec<Output>,
3074 #[prost(message, optional, tag = "10")]
3075 pub storage: ::core::option::Option<StorageConfig>,
3076 #[prost(message, repeated, tag = "11")]
3077 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3078 #[prost(oneof = "export_replay_request::Source", tags = "4, 5, 6")]
3079 pub source: ::core::option::Option<export_replay_request::Source>,
3080 #[prost(oneof = "export_replay_request::Encoding", tags = "7, 8")]
3081 pub encoding: ::core::option::Option<export_replay_request::Encoding>,
3082}
3083pub mod export_replay_request {
3085 #[derive(Clone, PartialEq, ::prost::Oneof)]
3086 pub enum Source {
3087 #[prost(message, tag = "4")]
3088 Template(super::TemplateSource),
3089 #[prost(message, tag = "5")]
3090 Web(super::WebSource),
3091 #[prost(message, tag = "6")]
3092 Media(super::MediaSource),
3093 }
3094 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3095 pub enum Encoding {
3096 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "7")]
3097 Preset(i32),
3098 #[prost(message, tag = "8")]
3099 Advanced(super::EncodingOptions),
3100 }
3101}
3102#[derive(Clone, PartialEq, ::prost::Message)]
3105pub struct RoomCompositeEgressRequest {
3106 #[prost(string, tag = "1")]
3107 pub room_name: ::prost::alloc::string::String,
3108 #[prost(string, tag = "2")]
3109 pub layout: ::prost::alloc::string::String,
3110 #[prost(bool, tag = "3")]
3111 pub audio_only: bool,
3112 #[prost(enumeration = "AudioMixing", tag = "15")]
3113 pub audio_mixing: i32,
3114 #[prost(bool, tag = "4")]
3115 pub video_only: bool,
3116 #[prost(string, tag = "5")]
3117 pub custom_base_url: ::prost::alloc::string::String,
3118 #[prost(message, repeated, tag = "11")]
3119 pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
3120 #[prost(message, repeated, tag = "12")]
3121 pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
3122 #[prost(message, repeated, tag = "13")]
3123 pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
3124 #[prost(message, repeated, tag = "14")]
3125 pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
3126 #[prost(message, repeated, tag = "16")]
3127 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3128 #[prost(oneof = "room_composite_egress_request::Output", tags = "6, 7, 10")]
3129 pub output: ::core::option::Option<room_composite_egress_request::Output>,
3130 #[prost(oneof = "room_composite_egress_request::Options", tags = "8, 9")]
3131 pub options: ::core::option::Option<room_composite_egress_request::Options>,
3132}
3133pub mod room_composite_egress_request {
3135 #[derive(Clone, PartialEq, ::prost::Oneof)]
3136 pub enum Output {
3137 #[deprecated]
3138 #[prost(message, tag = "6")]
3139 File(super::EncodedFileOutput),
3140 #[deprecated]
3141 #[prost(message, tag = "7")]
3142 Stream(super::StreamOutput),
3143 #[deprecated]
3144 #[prost(message, tag = "10")]
3145 Segments(super::SegmentedFileOutput),
3146 }
3147 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3148 pub enum Options {
3149 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "8")]
3150 Preset(i32),
3151 #[prost(message, tag = "9")]
3152 Advanced(super::EncodingOptions),
3153 }
3154}
3155#[derive(Clone, PartialEq, ::prost::Message)]
3156pub struct WebEgressRequest {
3157 #[prost(string, tag = "1")]
3158 pub url: ::prost::alloc::string::String,
3159 #[prost(bool, tag = "2")]
3160 pub audio_only: bool,
3161 #[prost(bool, tag = "3")]
3162 pub video_only: bool,
3163 #[prost(bool, tag = "12")]
3164 pub await_start_signal: bool,
3165 #[prost(message, repeated, tag = "9")]
3166 pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
3167 #[prost(message, repeated, tag = "10")]
3168 pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
3169 #[prost(message, repeated, tag = "11")]
3170 pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
3171 #[prost(message, repeated, tag = "13")]
3172 pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
3173 #[prost(message, repeated, tag = "14")]
3174 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3175 #[prost(oneof = "web_egress_request::Output", tags = "4, 5, 6")]
3176 pub output: ::core::option::Option<web_egress_request::Output>,
3177 #[prost(oneof = "web_egress_request::Options", tags = "7, 8")]
3178 pub options: ::core::option::Option<web_egress_request::Options>,
3179}
3180pub mod web_egress_request {
3182 #[derive(Clone, PartialEq, ::prost::Oneof)]
3183 pub enum Output {
3184 #[deprecated]
3185 #[prost(message, tag = "4")]
3186 File(super::EncodedFileOutput),
3187 #[deprecated]
3188 #[prost(message, tag = "5")]
3189 Stream(super::StreamOutput),
3190 #[deprecated]
3191 #[prost(message, tag = "6")]
3192 Segments(super::SegmentedFileOutput),
3193 }
3194 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3195 pub enum Options {
3196 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "7")]
3197 Preset(i32),
3198 #[prost(message, tag = "8")]
3199 Advanced(super::EncodingOptions),
3200 }
3201}
3202#[derive(Clone, PartialEq, ::prost::Message)]
3203pub struct ParticipantEgressRequest {
3204 #[prost(string, tag = "1")]
3205 pub room_name: ::prost::alloc::string::String,
3206 #[prost(string, tag = "2")]
3207 pub identity: ::prost::alloc::string::String,
3208 #[prost(bool, tag = "3")]
3209 pub screen_share: bool,
3210 #[prost(message, repeated, tag = "6")]
3211 pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
3212 #[prost(message, repeated, tag = "7")]
3213 pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
3214 #[prost(message, repeated, tag = "8")]
3215 pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
3216 #[prost(message, repeated, tag = "9")]
3217 pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
3218 #[prost(message, repeated, tag = "10")]
3219 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3220 #[prost(oneof = "participant_egress_request::Options", tags = "4, 5")]
3221 pub options: ::core::option::Option<participant_egress_request::Options>,
3222}
3223pub mod participant_egress_request {
3225 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3226 pub enum Options {
3227 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "4")]
3228 Preset(i32),
3229 #[prost(message, tag = "5")]
3230 Advanced(super::EncodingOptions),
3231 }
3232}
3233#[derive(Clone, PartialEq, ::prost::Message)]
3234pub struct TrackCompositeEgressRequest {
3235 #[prost(string, tag = "1")]
3236 pub room_name: ::prost::alloc::string::String,
3237 #[prost(string, tag = "2")]
3238 pub audio_track_id: ::prost::alloc::string::String,
3239 #[prost(string, tag = "3")]
3240 pub video_track_id: ::prost::alloc::string::String,
3241 #[prost(message, repeated, tag = "11")]
3242 pub file_outputs: ::prost::alloc::vec::Vec<EncodedFileOutput>,
3243 #[prost(message, repeated, tag = "12")]
3244 pub stream_outputs: ::prost::alloc::vec::Vec<StreamOutput>,
3245 #[prost(message, repeated, tag = "13")]
3246 pub segment_outputs: ::prost::alloc::vec::Vec<SegmentedFileOutput>,
3247 #[prost(message, repeated, tag = "14")]
3248 pub image_outputs: ::prost::alloc::vec::Vec<ImageOutput>,
3249 #[prost(message, repeated, tag = "15")]
3250 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3251 #[prost(oneof = "track_composite_egress_request::Output", tags = "4, 5, 8")]
3252 pub output: ::core::option::Option<track_composite_egress_request::Output>,
3253 #[prost(oneof = "track_composite_egress_request::Options", tags = "6, 7")]
3254 pub options: ::core::option::Option<track_composite_egress_request::Options>,
3255}
3256pub mod track_composite_egress_request {
3258 #[derive(Clone, PartialEq, ::prost::Oneof)]
3259 pub enum Output {
3260 #[deprecated]
3261 #[prost(message, tag = "4")]
3262 File(super::EncodedFileOutput),
3263 #[deprecated]
3264 #[prost(message, tag = "5")]
3265 Stream(super::StreamOutput),
3266 #[deprecated]
3267 #[prost(message, tag = "8")]
3268 Segments(super::SegmentedFileOutput),
3269 }
3270 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
3271 pub enum Options {
3272 #[prost(enumeration = "super::EncodingOptionsPreset", tag = "6")]
3273 Preset(i32),
3274 #[prost(message, tag = "7")]
3275 Advanced(super::EncodingOptions),
3276 }
3277}
3278#[derive(Clone, PartialEq, ::prost::Message)]
3279pub struct TrackEgressRequest {
3280 #[prost(string, tag = "1")]
3281 pub room_name: ::prost::alloc::string::String,
3282 #[prost(string, tag = "2")]
3283 pub track_id: ::prost::alloc::string::String,
3284 #[prost(message, repeated, tag = "5")]
3285 pub webhooks: ::prost::alloc::vec::Vec<WebhookConfig>,
3286 #[prost(oneof = "track_egress_request::Output", tags = "3, 4")]
3287 pub output: ::core::option::Option<track_egress_request::Output>,
3288}
3289pub mod track_egress_request {
3291 #[derive(Clone, PartialEq, ::prost::Oneof)]
3292 pub enum Output {
3293 #[prost(message, tag = "3")]
3294 File(super::DirectFileOutput),
3295 #[prost(string, tag = "4")]
3296 WebsocketUrl(::prost::alloc::string::String),
3297 }
3298}
3299#[derive(Clone, PartialEq, ::prost::Message)]
3300pub struct DirectFileOutput {
3301 #[prost(string, tag = "1")]
3302 pub filepath: ::prost::alloc::string::String,
3303 #[prost(bool, tag = "5")]
3304 pub disable_manifest: bool,
3305 #[prost(oneof = "direct_file_output::Output", tags = "2, 3, 4, 6")]
3306 pub output: ::core::option::Option<direct_file_output::Output>,
3307}
3308pub mod direct_file_output {
3310 #[derive(Clone, PartialEq, ::prost::Oneof)]
3311 pub enum Output {
3312 #[prost(message, tag = "2")]
3313 S3(super::S3Upload),
3314 #[prost(message, tag = "3")]
3315 Gcp(super::GcpUpload),
3316 #[prost(message, tag = "4")]
3317 Azure(super::AzureBlobUpload),
3318 #[prost(message, tag = "6")]
3319 AliOss(super::AliOssUpload),
3320 }
3321}
3322#[derive(Clone, PartialEq, ::prost::Message)]
3323pub struct EncodedFileOutput {
3324 #[prost(enumeration = "EncodedFileType", tag = "1")]
3325 pub file_type: i32,
3326 #[prost(string, tag = "2")]
3327 pub filepath: ::prost::alloc::string::String,
3328 #[prost(bool, tag = "6")]
3329 pub disable_manifest: bool,
3330 #[prost(oneof = "encoded_file_output::Output", tags = "3, 4, 5, 7")]
3331 pub output: ::core::option::Option<encoded_file_output::Output>,
3332}
3333pub mod encoded_file_output {
3335 #[derive(Clone, PartialEq, ::prost::Oneof)]
3336 pub enum Output {
3337 #[prost(message, tag = "3")]
3338 S3(super::S3Upload),
3339 #[prost(message, tag = "4")]
3340 Gcp(super::GcpUpload),
3341 #[prost(message, tag = "5")]
3342 Azure(super::AzureBlobUpload),
3343 #[prost(message, tag = "7")]
3344 AliOss(super::AliOssUpload),
3345 }
3346}
3347#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3348pub struct UpdateLayoutRequest {
3349 #[prost(string, tag = "1")]
3350 pub egress_id: ::prost::alloc::string::String,
3351 #[prost(string, tag = "2")]
3352 pub layout: ::prost::alloc::string::String,
3353}
3354#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3355pub struct UpdateStreamRequest {
3356 #[prost(string, tag = "1")]
3357 pub egress_id: ::prost::alloc::string::String,
3358 #[prost(string, repeated, tag = "2")]
3359 pub add_output_urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3360 #[prost(string, repeated, tag = "3")]
3361 pub remove_output_urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
3362}
3363#[derive(Clone, PartialEq, ::prost::Message)]
3364pub struct StreamInfoList {
3365 #[prost(message, repeated, tag = "1")]
3366 pub info: ::prost::alloc::vec::Vec<StreamInfo>,
3367}
3368#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3369#[repr(i32)]
3370pub enum AudioChannel {
3371 Both = 0,
3372 Left = 1,
3373 Right = 2,
3374}
3375impl AudioChannel {
3376 pub fn as_str_name(&self) -> &'static str {
3381 match self {
3382 Self::Both => "AUDIO_CHANNEL_BOTH",
3383 Self::Left => "AUDIO_CHANNEL_LEFT",
3384 Self::Right => "AUDIO_CHANNEL_RIGHT",
3385 }
3386 }
3387 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3389 match value {
3390 "AUDIO_CHANNEL_BOTH" => Some(Self::Both),
3391 "AUDIO_CHANNEL_LEFT" => Some(Self::Left),
3392 "AUDIO_CHANNEL_RIGHT" => Some(Self::Right),
3393 _ => None,
3394 }
3395 }
3396}
3397#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3400#[repr(i32)]
3401pub enum EncodingOptionsPreset {
3402 H264720p30 = 0,
3404 H264720p60 = 1,
3406 H2641080p30 = 2,
3408 H2641080p60 = 3,
3410 PortraitH264720p30 = 4,
3412 PortraitH264720p60 = 5,
3414 PortraitH2641080p30 = 6,
3416 PortraitH2641080p60 = 7,
3418 Passthrough = 8,
3420}
3421impl EncodingOptionsPreset {
3422 pub fn as_str_name(&self) -> &'static str {
3427 match self {
3428 Self::H264720p30 => "H264_720P_30",
3429 Self::H264720p60 => "H264_720P_60",
3430 Self::H2641080p30 => "H264_1080P_30",
3431 Self::H2641080p60 => "H264_1080P_60",
3432 Self::PortraitH264720p30 => "PORTRAIT_H264_720P_30",
3433 Self::PortraitH264720p60 => "PORTRAIT_H264_720P_60",
3434 Self::PortraitH2641080p30 => "PORTRAIT_H264_1080P_30",
3435 Self::PortraitH2641080p60 => "PORTRAIT_H264_1080P_60",
3436 Self::Passthrough => "PASSTHROUGH",
3437 }
3438 }
3439 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3441 match value {
3442 "H264_720P_30" => Some(Self::H264720p30),
3443 "H264_720P_60" => Some(Self::H264720p60),
3444 "H264_1080P_30" => Some(Self::H2641080p30),
3445 "H264_1080P_60" => Some(Self::H2641080p60),
3446 "PORTRAIT_H264_720P_30" => Some(Self::PortraitH264720p30),
3447 "PORTRAIT_H264_720P_60" => Some(Self::PortraitH264720p60),
3448 "PORTRAIT_H264_1080P_30" => Some(Self::PortraitH2641080p30),
3449 "PORTRAIT_H264_1080P_60" => Some(Self::PortraitH2641080p60),
3450 "PASSTHROUGH" => Some(Self::Passthrough),
3451 _ => None,
3452 }
3453 }
3454}
3455#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3456#[repr(i32)]
3457pub enum EncodedFileType {
3458 DefaultFiletype = 0,
3460 Mp4 = 1,
3461 Ogg = 2,
3462 Mp3 = 3,
3463}
3464impl EncodedFileType {
3465 pub fn as_str_name(&self) -> &'static str {
3470 match self {
3471 Self::DefaultFiletype => "DEFAULT_FILETYPE",
3472 Self::Mp4 => "MP4",
3473 Self::Ogg => "OGG",
3474 Self::Mp3 => "MP3",
3475 }
3476 }
3477 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3479 match value {
3480 "DEFAULT_FILETYPE" => Some(Self::DefaultFiletype),
3481 "MP4" => Some(Self::Mp4),
3482 "OGG" => Some(Self::Ogg),
3483 "MP3" => Some(Self::Mp3),
3484 _ => None,
3485 }
3486 }
3487}
3488#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3489#[repr(i32)]
3490pub enum StreamProtocol {
3491 DefaultProtocol = 0,
3493 Rtmp = 1,
3494 Srt = 2,
3495 Websocket = 3,
3496}
3497impl StreamProtocol {
3498 pub fn as_str_name(&self) -> &'static str {
3503 match self {
3504 Self::DefaultProtocol => "DEFAULT_PROTOCOL",
3505 Self::Rtmp => "RTMP",
3506 Self::Srt => "SRT",
3507 Self::Websocket => "WEBSOCKET",
3508 }
3509 }
3510 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3512 match value {
3513 "DEFAULT_PROTOCOL" => Some(Self::DefaultProtocol),
3514 "RTMP" => Some(Self::Rtmp),
3515 "SRT" => Some(Self::Srt),
3516 "WEBSOCKET" => Some(Self::Websocket),
3517 _ => None,
3518 }
3519 }
3520}
3521#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3522#[repr(i32)]
3523pub enum SegmentedFileProtocol {
3524 DefaultSegmentedFileProtocol = 0,
3525 HlsProtocol = 1,
3526}
3527impl SegmentedFileProtocol {
3528 pub fn as_str_name(&self) -> &'static str {
3533 match self {
3534 Self::DefaultSegmentedFileProtocol => "DEFAULT_SEGMENTED_FILE_PROTOCOL",
3535 Self::HlsProtocol => "HLS_PROTOCOL",
3536 }
3537 }
3538 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3540 match value {
3541 "DEFAULT_SEGMENTED_FILE_PROTOCOL" => Some(Self::DefaultSegmentedFileProtocol),
3542 "HLS_PROTOCOL" => Some(Self::HlsProtocol),
3543 _ => None,
3544 }
3545 }
3546}
3547#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3548#[repr(i32)]
3549pub enum SegmentedFileSuffix {
3550 Index = 0,
3551 Timestamp = 1,
3552}
3553impl SegmentedFileSuffix {
3554 pub fn as_str_name(&self) -> &'static str {
3559 match self {
3560 Self::Index => "INDEX",
3561 Self::Timestamp => "TIMESTAMP",
3562 }
3563 }
3564 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3566 match value {
3567 "INDEX" => Some(Self::Index),
3568 "TIMESTAMP" => Some(Self::Timestamp),
3569 _ => None,
3570 }
3571 }
3572}
3573#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3574#[repr(i32)]
3575pub enum ImageFileSuffix {
3576 ImageSuffixIndex = 0,
3577 ImageSuffixTimestamp = 1,
3578 ImageSuffixNoneOverwrite = 2,
3580}
3581impl ImageFileSuffix {
3582 pub fn as_str_name(&self) -> &'static str {
3587 match self {
3588 Self::ImageSuffixIndex => "IMAGE_SUFFIX_INDEX",
3589 Self::ImageSuffixTimestamp => "IMAGE_SUFFIX_TIMESTAMP",
3590 Self::ImageSuffixNoneOverwrite => "IMAGE_SUFFIX_NONE_OVERWRITE",
3591 }
3592 }
3593 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3595 match value {
3596 "IMAGE_SUFFIX_INDEX" => Some(Self::ImageSuffixIndex),
3597 "IMAGE_SUFFIX_TIMESTAMP" => Some(Self::ImageSuffixTimestamp),
3598 "IMAGE_SUFFIX_NONE_OVERWRITE" => Some(Self::ImageSuffixNoneOverwrite),
3599 _ => None,
3600 }
3601 }
3602}
3603#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3604#[repr(i32)]
3605pub enum EgressSourceType {
3606 Web = 0,
3607 Sdk = 1,
3608}
3609impl EgressSourceType {
3610 pub fn as_str_name(&self) -> &'static str {
3615 match self {
3616 Self::Web => "EGRESS_SOURCE_TYPE_WEB",
3617 Self::Sdk => "EGRESS_SOURCE_TYPE_SDK",
3618 }
3619 }
3620 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3622 match value {
3623 "EGRESS_SOURCE_TYPE_WEB" => Some(Self::Web),
3624 "EGRESS_SOURCE_TYPE_SDK" => Some(Self::Sdk),
3625 _ => None,
3626 }
3627 }
3628}
3629#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3630#[repr(i32)]
3631pub enum EgressStatus {
3632 EgressStarting = 0,
3633 EgressActive = 1,
3634 EgressEnding = 2,
3635 EgressComplete = 3,
3636 EgressFailed = 4,
3637 EgressAborted = 5,
3638 EgressLimitReached = 6,
3639}
3640impl EgressStatus {
3641 pub fn as_str_name(&self) -> &'static str {
3646 match self {
3647 Self::EgressStarting => "EGRESS_STARTING",
3648 Self::EgressActive => "EGRESS_ACTIVE",
3649 Self::EgressEnding => "EGRESS_ENDING",
3650 Self::EgressComplete => "EGRESS_COMPLETE",
3651 Self::EgressFailed => "EGRESS_FAILED",
3652 Self::EgressAborted => "EGRESS_ABORTED",
3653 Self::EgressLimitReached => "EGRESS_LIMIT_REACHED",
3654 }
3655 }
3656 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3658 match value {
3659 "EGRESS_STARTING" => Some(Self::EgressStarting),
3660 "EGRESS_ACTIVE" => Some(Self::EgressActive),
3661 "EGRESS_ENDING" => Some(Self::EgressEnding),
3662 "EGRESS_COMPLETE" => Some(Self::EgressComplete),
3663 "EGRESS_FAILED" => Some(Self::EgressFailed),
3664 "EGRESS_ABORTED" => Some(Self::EgressAborted),
3665 "EGRESS_LIMIT_REACHED" => Some(Self::EgressLimitReached),
3666 _ => None,
3667 }
3668 }
3669}
3670#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
3671#[repr(i32)]
3672pub enum AudioMixing {
3673 DefaultMixing = 0,
3674 DualChannelAgent = 1,
3675 DualChannelAlternate = 2,
3676}
3677impl AudioMixing {
3678 pub fn as_str_name(&self) -> &'static str {
3683 match self {
3684 Self::DefaultMixing => "DEFAULT_MIXING",
3685 Self::DualChannelAgent => "DUAL_CHANNEL_AGENT",
3686 Self::DualChannelAlternate => "DUAL_CHANNEL_ALTERNATE",
3687 }
3688 }
3689 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
3691 match value {
3692 "DEFAULT_MIXING" => Some(Self::DefaultMixing),
3693 "DUAL_CHANNEL_AGENT" => Some(Self::DualChannelAgent),
3694 "DUAL_CHANNEL_ALTERNATE" => Some(Self::DualChannelAlternate),
3695 _ => None,
3696 }
3697 }
3698}
3699#[derive(Clone, PartialEq, ::prost::Message)]
3700pub struct SignalRequest {
3701 #[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")]
3702 pub message: ::core::option::Option<signal_request::Message>,
3703}
3704pub mod signal_request {
3706 #[derive(Clone, PartialEq, ::prost::Oneof)]
3707 pub enum Message {
3708 #[prost(message, tag = "1")]
3710 Offer(super::SessionDescription),
3711 #[prost(message, tag = "2")]
3713 Answer(super::SessionDescription),
3714 #[prost(message, tag = "3")]
3715 Trickle(super::TrickleRequest),
3716 #[prost(message, tag = "4")]
3717 AddTrack(super::AddTrackRequest),
3718 #[prost(message, tag = "5")]
3720 Mute(super::MuteTrackRequest),
3721 #[prost(message, tag = "6")]
3723 Subscription(super::UpdateSubscription),
3724 #[prost(message, tag = "7")]
3726 TrackSetting(super::UpdateTrackSettings),
3727 #[prost(message, tag = "8")]
3729 Leave(super::LeaveRequest),
3730 #[deprecated]
3732 #[prost(message, tag = "10")]
3733 UpdateLayers(super::UpdateVideoLayers),
3734 #[prost(message, tag = "11")]
3736 SubscriptionPermission(super::SubscriptionPermission),
3737 #[prost(message, tag = "12")]
3739 SyncState(super::SyncState),
3740 #[prost(message, tag = "13")]
3742 Simulate(super::SimulateScenario),
3743 #[prost(int64, tag = "14")]
3747 Ping(i64),
3748 #[prost(message, tag = "15")]
3751 UpdateMetadata(super::UpdateParticipantMetadata),
3752 #[prost(message, tag = "16")]
3753 PingReq(super::Ping),
3754 #[prost(message, tag = "17")]
3756 UpdateAudioTrack(super::UpdateLocalAudioTrack),
3757 #[prost(message, tag = "18")]
3759 UpdateVideoTrack(super::UpdateLocalVideoTrack),
3760 #[prost(message, tag = "19")]
3762 PublishDataTrackRequest(super::PublishDataTrackRequest),
3763 #[prost(message, tag = "20")]
3765 UnpublishDataTrackRequest(super::UnpublishDataTrackRequest),
3766 #[prost(message, tag = "21")]
3768 UpdateDataSubscription(super::UpdateDataSubscription),
3769 #[prost(message, tag = "22")]
3771 StoreDataBlobRequest(super::StoreDataBlobRequest),
3772 #[prost(message, tag = "23")]
3774 GetDataBlobRequest(super::GetDataBlobRequest),
3775 }
3776}
3777#[derive(Clone, PartialEq, ::prost::Message)]
3778pub struct SignalResponse {
3779 #[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")]
3780 pub message: ::core::option::Option<signal_response::Message>,
3781}
3782pub mod signal_response {
3784 #[derive(Clone, PartialEq, ::prost::Oneof)]
3785 pub enum Message {
3786 #[prost(message, tag = "1")]
3788 Join(super::JoinResponse),
3789 #[prost(message, tag = "2")]
3791 Answer(super::SessionDescription),
3792 #[prost(message, tag = "3")]
3794 Offer(super::SessionDescription),
3795 #[prost(message, tag = "4")]
3797 Trickle(super::TrickleRequest),
3798 #[prost(message, tag = "5")]
3800 Update(super::ParticipantUpdate),
3801 #[prost(message, tag = "6")]
3803 TrackPublished(super::TrackPublishedResponse),
3804 #[prost(message, tag = "8")]
3806 Leave(super::LeaveRequest),
3807 #[prost(message, tag = "9")]
3809 Mute(super::MuteTrackRequest),
3810 #[prost(message, tag = "10")]
3812 SpeakersChanged(super::SpeakersChanged),
3813 #[prost(message, tag = "11")]
3815 RoomUpdate(super::RoomUpdate),
3816 #[prost(message, tag = "12")]
3818 ConnectionQuality(super::ConnectionQualityUpdate),
3819 #[prost(message, tag = "13")]
3822 StreamStateUpdate(super::StreamStateUpdate),
3823 #[prost(message, tag = "14")]
3825 SubscribedQualityUpdate(super::SubscribedQualityUpdate),
3826 #[prost(message, tag = "15")]
3828 SubscriptionPermissionUpdate(super::SubscriptionPermissionUpdate),
3829 #[prost(string, tag = "16")]
3831 RefreshToken(::prost::alloc::string::String),
3832 #[prost(message, tag = "17")]
3834 TrackUnpublished(super::TrackUnpublishedResponse),
3835 #[prost(int64, tag = "18")]
3839 Pong(i64),
3840 #[prost(message, tag = "19")]
3842 Reconnect(super::ReconnectResponse),
3843 #[prost(message, tag = "20")]
3845 PongResp(super::Pong),
3846 #[prost(message, tag = "21")]
3848 SubscriptionResponse(super::SubscriptionResponse),
3849 #[prost(message, tag = "22")]
3851 RequestResponse(super::RequestResponse),
3852 #[prost(message, tag = "23")]
3854 TrackSubscribed(super::TrackSubscribed),
3855 #[prost(message, tag = "24")]
3857 RoomMoved(super::RoomMovedResponse),
3858 #[prost(message, tag = "25")]
3860 MediaSectionsRequirement(super::MediaSectionsRequirement),
3861 #[prost(message, tag = "26")]
3863 SubscribedAudioCodecUpdate(super::SubscribedAudioCodecUpdate),
3864 #[prost(message, tag = "27")]
3866 PublishDataTrackResponse(super::PublishDataTrackResponse),
3867 #[prost(message, tag = "28")]
3869 UnpublishDataTrackResponse(super::UnpublishDataTrackResponse),
3870 #[prost(message, tag = "29")]
3872 DataTrackSubscriberHandles(super::DataTrackSubscriberHandles),
3873 #[prost(message, tag = "30")]
3875 StoreDataBlobResponse(super::StoreDataBlobResponse),
3876 #[prost(message, tag = "31")]
3878 GetDataBlobResponse(super::GetDataBlobResponse),
3879 }
3880}
3881#[derive(Clone, PartialEq, ::prost::Message)]
3882pub struct SimulcastCodec {
3883 #[prost(string, tag = "1")]
3884 pub codec: ::prost::alloc::string::String,
3885 #[prost(string, tag = "2")]
3886 pub cid: ::prost::alloc::string::String,
3887 #[prost(message, repeated, tag = "4")]
3888 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
3889 #[prost(enumeration = "video_layer::Mode", tag = "5")]
3890 pub video_layer_mode: i32,
3891}
3892#[derive(Clone, PartialEq, ::prost::Message)]
3893pub struct AddTrackRequest {
3894 #[prost(string, tag = "1")]
3896 pub cid: ::prost::alloc::string::String,
3897 #[prost(string, tag = "2")]
3898 pub name: ::prost::alloc::string::String,
3899 #[prost(enumeration = "TrackType", tag = "3")]
3900 pub r#type: i32,
3901 #[prost(uint32, tag = "4")]
3902 pub width: u32,
3903 #[prost(uint32, tag = "5")]
3904 pub height: u32,
3905 #[prost(bool, tag = "6")]
3907 pub muted: bool,
3908 #[deprecated]
3912 #[prost(bool, tag = "7")]
3913 pub disable_dtx: bool,
3914 #[prost(enumeration = "TrackSource", tag = "8")]
3915 pub source: i32,
3916 #[prost(message, repeated, tag = "9")]
3917 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
3918 #[prost(message, repeated, tag = "10")]
3919 pub simulcast_codecs: ::prost::alloc::vec::Vec<SimulcastCodec>,
3920 #[prost(string, tag = "11")]
3922 pub sid: ::prost::alloc::string::String,
3923 #[deprecated]
3925 #[prost(bool, tag = "12")]
3926 pub stereo: bool,
3927 #[prost(bool, tag = "13")]
3929 pub disable_red: bool,
3930 #[prost(enumeration = "encryption::Type", tag = "14")]
3931 pub encryption: i32,
3932 #[prost(string, tag = "15")]
3935 pub stream: ::prost::alloc::string::String,
3936 #[prost(enumeration = "BackupCodecPolicy", tag = "16")]
3937 pub backup_codec_policy: i32,
3938 #[prost(enumeration = "AudioTrackFeature", repeated, tag = "17")]
3939 pub audio_features: ::prost::alloc::vec::Vec<i32>,
3940 #[prost(enumeration = "PacketTrailerFeature", repeated, tag = "18")]
3941 pub packet_trailer_features: ::prost::alloc::vec::Vec<i32>,
3942}
3943#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3944pub struct PublishDataTrackRequest {
3945 #[prost(uint32, tag = "1")]
3948 pub pub_handle: u32,
3949 #[prost(string, tag = "2")]
3952 pub name: ::prost::alloc::string::String,
3953 #[prost(enumeration = "encryption::Type", tag = "3")]
3955 pub encryption: i32,
3956 #[prost(message, optional, tag = "4")]
3958 pub frame_encoding: ::core::option::Option<DataTrackFrameEncoding>,
3959 #[prost(message, optional, tag = "5")]
3962 pub schema: ::core::option::Option<DataTrackSchemaId>,
3963}
3964#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3965pub struct PublishDataTrackResponse {
3966 #[prost(message, optional, tag = "1")]
3968 pub info: ::core::option::Option<DataTrackInfo>,
3969}
3970#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
3971pub struct UnpublishDataTrackRequest {
3972 #[prost(uint32, tag = "1")]
3974 pub pub_handle: u32,
3975}
3976#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3977pub struct UnpublishDataTrackResponse {
3978 #[prost(message, optional, tag = "1")]
3980 pub info: ::core::option::Option<DataTrackInfo>,
3981}
3982#[derive(Clone, PartialEq, ::prost::Message)]
3983pub struct DataTrackSubscriberHandles {
3984 #[prost(map = "uint32, message", tag = "1")]
3986 pub sub_handles: ::std::collections::HashMap<u32, data_track_subscriber_handles::PublishedDataTrack>,
3987}
3988pub mod data_track_subscriber_handles {
3990 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3991 pub struct PublishedDataTrack {
3992 #[prost(string, tag = "1")]
3993 pub publisher_identity: ::prost::alloc::string::String,
3994 #[prost(string, tag = "2")]
3995 pub publisher_sid: ::prost::alloc::string::String,
3996 #[prost(string, tag = "3")]
3997 pub track_sid: ::prost::alloc::string::String,
3998 }
3999}
4000#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4001pub struct TrickleRequest {
4002 #[prost(string, tag = "1")]
4003 pub candidate_init: ::prost::alloc::string::String,
4004 #[prost(enumeration = "SignalTarget", tag = "2")]
4005 pub target: i32,
4006 #[prost(bool, tag = "3")]
4007 pub r#final: bool,
4008}
4009#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4010pub struct MuteTrackRequest {
4011 #[prost(string, tag = "1")]
4012 pub sid: ::prost::alloc::string::String,
4013 #[prost(bool, tag = "2")]
4014 pub muted: bool,
4015}
4016#[derive(Clone, PartialEq, ::prost::Message)]
4017pub struct JoinResponse {
4018 #[prost(message, optional, tag = "1")]
4019 pub room: ::core::option::Option<Room>,
4020 #[prost(message, optional, tag = "2")]
4021 pub participant: ::core::option::Option<ParticipantInfo>,
4022 #[prost(message, repeated, tag = "3")]
4023 pub other_participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
4024 #[prost(string, tag = "4")]
4026 pub server_version: ::prost::alloc::string::String,
4027 #[prost(message, repeated, tag = "5")]
4028 pub ice_servers: ::prost::alloc::vec::Vec<IceServer>,
4029 #[prost(bool, tag = "6")]
4031 pub subscriber_primary: bool,
4032 #[prost(string, tag = "7")]
4035 pub alternative_url: ::prost::alloc::string::String,
4036 #[prost(message, optional, tag = "8")]
4037 pub client_configuration: ::core::option::Option<ClientConfiguration>,
4038 #[prost(string, tag = "9")]
4040 pub server_region: ::prost::alloc::string::String,
4041 #[prost(int32, tag = "10")]
4042 pub ping_timeout: i32,
4043 #[prost(int32, tag = "11")]
4044 pub ping_interval: i32,
4045 #[prost(message, optional, tag = "12")]
4046 pub server_info: ::core::option::Option<ServerInfo>,
4047 #[prost(bytes = "vec", tag = "13")]
4049 pub sif_trailer: ::prost::alloc::vec::Vec<u8>,
4050 #[prost(message, repeated, tag = "14")]
4051 pub enabled_publish_codecs: ::prost::alloc::vec::Vec<Codec>,
4052 #[prost(bool, tag = "15")]
4054 pub fast_publish: bool,
4055}
4056#[derive(Clone, PartialEq, ::prost::Message)]
4057pub struct ReconnectResponse {
4058 #[prost(message, repeated, tag = "1")]
4059 pub ice_servers: ::prost::alloc::vec::Vec<IceServer>,
4060 #[prost(message, optional, tag = "2")]
4061 pub client_configuration: ::core::option::Option<ClientConfiguration>,
4062 #[prost(message, optional, tag = "3")]
4063 pub server_info: ::core::option::Option<ServerInfo>,
4064 #[prost(uint32, tag = "4")]
4066 pub last_message_seq: u32,
4067}
4068#[derive(Clone, PartialEq, ::prost::Message)]
4069pub struct TrackPublishedResponse {
4070 #[prost(string, tag = "1")]
4071 pub cid: ::prost::alloc::string::String,
4072 #[prost(message, optional, tag = "2")]
4073 pub track: ::core::option::Option<TrackInfo>,
4074}
4075#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4076pub struct TrackUnpublishedResponse {
4077 #[prost(string, tag = "1")]
4078 pub track_sid: ::prost::alloc::string::String,
4079}
4080#[derive(Clone, PartialEq, ::prost::Message)]
4081pub struct SessionDescription {
4082 #[prost(string, tag = "1")]
4084 pub r#type: ::prost::alloc::string::String,
4085 #[prost(string, tag = "2")]
4086 pub sdp: ::prost::alloc::string::String,
4087 #[prost(uint32, tag = "3")]
4088 pub id: u32,
4089 #[prost(map = "string, string", tag = "4")]
4090 pub mid_to_track_id: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
4091}
4092#[derive(Clone, PartialEq, ::prost::Message)]
4093pub struct ParticipantUpdate {
4094 #[prost(message, repeated, tag = "1")]
4095 pub participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
4096}
4097#[derive(Clone, PartialEq, ::prost::Message)]
4098pub struct UpdateSubscription {
4099 #[prost(string, repeated, tag = "1")]
4100 pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4101 #[prost(bool, tag = "2")]
4102 pub subscribe: bool,
4103 #[prost(message, repeated, tag = "3")]
4104 pub participant_tracks: ::prost::alloc::vec::Vec<ParticipantTracks>,
4105}
4106#[derive(Clone, PartialEq, ::prost::Message)]
4107pub struct UpdateDataSubscription {
4108 #[prost(message, repeated, tag = "1")]
4109 pub updates: ::prost::alloc::vec::Vec<update_data_subscription::Update>,
4110}
4111pub mod update_data_subscription {
4113 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4114 pub struct Update {
4115 #[prost(string, tag = "1")]
4116 pub track_sid: ::prost::alloc::string::String,
4117 #[prost(bool, tag = "2")]
4118 pub subscribe: bool,
4119 #[prost(message, optional, tag = "3")]
4122 pub options: ::core::option::Option<super::DataTrackSubscriptionOptions>,
4123 }
4124}
4125#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4126pub struct StoreDataBlobRequest {
4127 #[prost(uint32, tag = "1")]
4128 pub request_id: u32,
4129 #[prost(message, optional, tag = "2")]
4130 pub blob: ::core::option::Option<DataBlob>,
4131}
4132#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4133pub struct StoreDataBlobResponse {
4134 #[prost(uint32, tag = "1")]
4135 pub request_id: u32,
4136 #[prost(message, optional, tag = "2")]
4138 pub key: ::core::option::Option<DataBlobKey>,
4139}
4140#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4141pub struct GetDataBlobRequest {
4142 #[prost(uint32, tag = "1")]
4143 pub request_id: u32,
4144 #[prost(string, tag = "2")]
4146 pub participant_identity: ::prost::alloc::string::String,
4147 #[prost(message, optional, tag = "3")]
4149 pub key: ::core::option::Option<DataBlobKey>,
4150}
4151#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4152pub struct GetDataBlobResponse {
4153 #[prost(uint32, tag = "1")]
4154 pub request_id: u32,
4155 #[prost(message, optional, tag = "2")]
4156 pub blob: ::core::option::Option<DataBlob>,
4157}
4158#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4159pub struct UpdateTrackSettings {
4160 #[prost(string, repeated, tag = "1")]
4161 pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4162 #[prost(bool, tag = "3")]
4164 pub disabled: bool,
4165 #[prost(enumeration = "VideoQuality", tag = "4")]
4167 pub quality: i32,
4168 #[prost(uint32, tag = "5")]
4170 pub width: u32,
4171 #[prost(uint32, tag = "6")]
4173 pub height: u32,
4174 #[prost(uint32, tag = "7")]
4175 pub fps: u32,
4176 #[prost(uint32, tag = "8")]
4184 pub priority: u32,
4185}
4186#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4187pub struct UpdateLocalAudioTrack {
4188 #[prost(string, tag = "1")]
4189 pub track_sid: ::prost::alloc::string::String,
4190 #[prost(enumeration = "AudioTrackFeature", repeated, tag = "2")]
4191 pub features: ::prost::alloc::vec::Vec<i32>,
4192}
4193#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4194pub struct UpdateLocalVideoTrack {
4195 #[prost(string, tag = "1")]
4196 pub track_sid: ::prost::alloc::string::String,
4197 #[prost(uint32, tag = "2")]
4198 pub width: u32,
4199 #[prost(uint32, tag = "3")]
4200 pub height: u32,
4201}
4202#[derive(Clone, PartialEq, ::prost::Message)]
4203pub struct LeaveRequest {
4204 #[prost(bool, tag = "1")]
4208 pub can_reconnect: bool,
4209 #[prost(enumeration = "DisconnectReason", tag = "2")]
4210 pub reason: i32,
4211 #[prost(enumeration = "leave_request::Action", tag = "3")]
4212 pub action: i32,
4213 #[prost(message, optional, tag = "4")]
4214 pub regions: ::core::option::Option<RegionSettings>,
4215}
4216pub mod leave_request {
4218 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4220 #[repr(i32)]
4221 pub enum Action {
4222 Disconnect = 0,
4224 Resume = 1,
4226 Reconnect = 2,
4228 }
4229 impl Action {
4230 pub fn as_str_name(&self) -> &'static str {
4235 match self {
4236 Self::Disconnect => "DISCONNECT",
4237 Self::Resume => "RESUME",
4238 Self::Reconnect => "RECONNECT",
4239 }
4240 }
4241 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4243 match value {
4244 "DISCONNECT" => Some(Self::Disconnect),
4245 "RESUME" => Some(Self::Resume),
4246 "RECONNECT" => Some(Self::Reconnect),
4247 _ => None,
4248 }
4249 }
4250 }
4251}
4252#[derive(Clone, PartialEq, ::prost::Message)]
4254pub struct UpdateVideoLayers {
4255 #[prost(string, tag = "1")]
4256 pub track_sid: ::prost::alloc::string::String,
4257 #[prost(message, repeated, tag = "2")]
4258 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
4259}
4260#[derive(Clone, PartialEq, ::prost::Message)]
4261pub struct UpdateParticipantMetadata {
4262 #[prost(string, tag = "1")]
4263 pub metadata: ::prost::alloc::string::String,
4264 #[prost(string, tag = "2")]
4265 pub name: ::prost::alloc::string::String,
4266 #[prost(map = "string, string", tag = "3")]
4269 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
4270 #[prost(uint32, tag = "4")]
4271 pub request_id: u32,
4272}
4273#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4274pub struct IceServer {
4275 #[prost(string, repeated, tag = "1")]
4276 pub urls: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4277 #[prost(string, tag = "2")]
4278 pub username: ::prost::alloc::string::String,
4279 #[prost(string, tag = "3")]
4280 pub credential: ::prost::alloc::string::String,
4281}
4282#[derive(Clone, PartialEq, ::prost::Message)]
4283pub struct SpeakersChanged {
4284 #[prost(message, repeated, tag = "1")]
4285 pub speakers: ::prost::alloc::vec::Vec<SpeakerInfo>,
4286}
4287#[derive(Clone, PartialEq, ::prost::Message)]
4288pub struct RoomUpdate {
4289 #[prost(message, optional, tag = "1")]
4290 pub room: ::core::option::Option<Room>,
4291}
4292#[derive(Clone, PartialEq, ::prost::Message)]
4293pub struct ConnectionQualityInfo {
4294 #[prost(string, tag = "1")]
4295 pub participant_sid: ::prost::alloc::string::String,
4296 #[prost(enumeration = "ConnectionQuality", tag = "2")]
4297 pub quality: i32,
4298 #[prost(float, tag = "3")]
4299 pub score: f32,
4300}
4301#[derive(Clone, PartialEq, ::prost::Message)]
4302pub struct ConnectionQualityUpdate {
4303 #[prost(message, repeated, tag = "1")]
4304 pub updates: ::prost::alloc::vec::Vec<ConnectionQualityInfo>,
4305}
4306#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4307pub struct StreamStateInfo {
4308 #[prost(string, tag = "1")]
4309 pub participant_sid: ::prost::alloc::string::String,
4310 #[prost(string, tag = "2")]
4311 pub track_sid: ::prost::alloc::string::String,
4312 #[prost(enumeration = "StreamState", tag = "3")]
4313 pub state: i32,
4314}
4315#[derive(Clone, PartialEq, ::prost::Message)]
4316pub struct StreamStateUpdate {
4317 #[prost(message, repeated, tag = "1")]
4318 pub stream_states: ::prost::alloc::vec::Vec<StreamStateInfo>,
4319}
4320#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4321pub struct SubscribedQuality {
4322 #[prost(enumeration = "VideoQuality", tag = "1")]
4323 pub quality: i32,
4324 #[prost(bool, tag = "2")]
4325 pub enabled: bool,
4326}
4327#[derive(Clone, PartialEq, ::prost::Message)]
4328pub struct SubscribedCodec {
4329 #[prost(string, tag = "1")]
4330 pub codec: ::prost::alloc::string::String,
4331 #[prost(message, repeated, tag = "2")]
4332 pub qualities: ::prost::alloc::vec::Vec<SubscribedQuality>,
4333}
4334#[derive(Clone, PartialEq, ::prost::Message)]
4335pub struct SubscribedQualityUpdate {
4336 #[prost(string, tag = "1")]
4337 pub track_sid: ::prost::alloc::string::String,
4338 #[deprecated]
4339 #[prost(message, repeated, tag = "2")]
4340 pub subscribed_qualities: ::prost::alloc::vec::Vec<SubscribedQuality>,
4341 #[prost(message, repeated, tag = "3")]
4342 pub subscribed_codecs: ::prost::alloc::vec::Vec<SubscribedCodec>,
4343}
4344#[derive(Clone, PartialEq, ::prost::Message)]
4345pub struct SubscribedAudioCodecUpdate {
4346 #[prost(string, tag = "1")]
4347 pub track_sid: ::prost::alloc::string::String,
4348 #[prost(message, repeated, tag = "2")]
4349 pub subscribed_audio_codecs: ::prost::alloc::vec::Vec<SubscribedAudioCodec>,
4350}
4351#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4352pub struct TrackPermission {
4353 #[prost(string, tag = "1")]
4355 pub participant_sid: ::prost::alloc::string::String,
4356 #[prost(bool, tag = "2")]
4357 pub all_tracks: bool,
4358 #[prost(string, repeated, tag = "3")]
4359 pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4360 #[prost(string, tag = "4")]
4361 pub participant_identity: ::prost::alloc::string::String,
4362}
4363#[derive(Clone, PartialEq, ::prost::Message)]
4364pub struct SubscriptionPermission {
4365 #[prost(bool, tag = "1")]
4366 pub all_participants: bool,
4367 #[prost(message, repeated, tag = "2")]
4368 pub track_permissions: ::prost::alloc::vec::Vec<TrackPermission>,
4369}
4370#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4371pub struct SubscriptionPermissionUpdate {
4372 #[prost(string, tag = "1")]
4373 pub participant_sid: ::prost::alloc::string::String,
4374 #[prost(string, tag = "2")]
4375 pub track_sid: ::prost::alloc::string::String,
4376 #[prost(bool, tag = "3")]
4377 pub allowed: bool,
4378}
4379#[derive(Clone, PartialEq, ::prost::Message)]
4380pub struct RoomMovedResponse {
4381 #[prost(message, optional, tag = "1")]
4383 pub room: ::core::option::Option<Room>,
4384 #[prost(string, tag = "2")]
4386 pub token: ::prost::alloc::string::String,
4387 #[prost(message, optional, tag = "3")]
4388 pub participant: ::core::option::Option<ParticipantInfo>,
4389 #[prost(message, repeated, tag = "4")]
4390 pub other_participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
4391}
4392#[derive(Clone, PartialEq, ::prost::Message)]
4393pub struct SyncState {
4394 #[prost(message, optional, tag = "1")]
4398 pub answer: ::core::option::Option<SessionDescription>,
4399 #[prost(message, optional, tag = "2")]
4400 pub subscription: ::core::option::Option<UpdateSubscription>,
4401 #[prost(message, repeated, tag = "3")]
4402 pub publish_tracks: ::prost::alloc::vec::Vec<TrackPublishedResponse>,
4403 #[prost(message, repeated, tag = "4")]
4404 pub data_channels: ::prost::alloc::vec::Vec<DataChannelInfo>,
4405 #[prost(message, optional, tag = "5")]
4409 pub offer: ::core::option::Option<SessionDescription>,
4410 #[prost(string, repeated, tag = "6")]
4411 pub track_sids_disabled: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4412 #[prost(message, repeated, tag = "7")]
4413 pub datachannel_receive_states: ::prost::alloc::vec::Vec<DataChannelReceiveState>,
4414 #[prost(message, repeated, tag = "8")]
4415 pub publish_data_tracks: ::prost::alloc::vec::Vec<PublishDataTrackResponse>,
4416 #[prost(message, optional, tag = "9")]
4417 pub data_subscription: ::core::option::Option<UpdateDataSubscription>,
4418}
4419#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4420pub struct DataChannelReceiveState {
4421 #[prost(string, tag = "1")]
4422 pub publisher_sid: ::prost::alloc::string::String,
4423 #[prost(uint32, tag = "2")]
4424 pub last_seq: u32,
4425}
4426#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4427pub struct DataChannelInfo {
4428 #[prost(string, tag = "1")]
4429 pub label: ::prost::alloc::string::String,
4430 #[prost(uint32, tag = "2")]
4431 pub id: u32,
4432 #[prost(enumeration = "SignalTarget", tag = "3")]
4433 pub target: i32,
4434}
4435#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4436pub struct SimulateScenario {
4437 #[prost(oneof = "simulate_scenario::Scenario", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9")]
4438 pub scenario: ::core::option::Option<simulate_scenario::Scenario>,
4439}
4440pub mod simulate_scenario {
4442 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
4443 pub enum Scenario {
4444 #[prost(int32, tag = "1")]
4446 SpeakerUpdate(i32),
4447 #[prost(bool, tag = "2")]
4449 NodeFailure(bool),
4450 #[prost(bool, tag = "3")]
4452 Migration(bool),
4453 #[prost(bool, tag = "4")]
4455 ServerLeave(bool),
4456 #[prost(enumeration = "super::CandidateProtocol", tag = "5")]
4458 SwitchCandidateProtocol(i32),
4459 #[prost(int64, tag = "6")]
4462 SubscriberBandwidth(i64),
4463 #[prost(bool, tag = "7")]
4465 DisconnectSignalOnResume(bool),
4466 #[prost(bool, tag = "8")]
4468 DisconnectSignalOnResumeNoMessages(bool),
4469 #[prost(bool, tag = "9")]
4471 LeaveRequestFullReconnect(bool),
4472 }
4473}
4474#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4475pub struct Ping {
4476 #[prost(int64, tag = "1")]
4477 pub timestamp: i64,
4478 #[prost(int64, tag = "2")]
4480 pub rtt: i64,
4481}
4482#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4483pub struct Pong {
4484 #[prost(int64, tag = "1")]
4486 pub last_ping_timestamp: i64,
4487 #[prost(int64, tag = "2")]
4488 pub timestamp: i64,
4489}
4490#[derive(Clone, PartialEq, ::prost::Message)]
4491pub struct RegionSettings {
4492 #[prost(message, repeated, tag = "1")]
4493 pub regions: ::prost::alloc::vec::Vec<RegionInfo>,
4494}
4495#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4496pub struct RegionInfo {
4497 #[prost(string, tag = "1")]
4498 pub region: ::prost::alloc::string::String,
4499 #[prost(string, tag = "2")]
4500 pub url: ::prost::alloc::string::String,
4501 #[prost(int64, tag = "3")]
4502 pub distance: i64,
4503}
4504#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4505pub struct SubscriptionResponse {
4506 #[prost(string, tag = "1")]
4507 pub track_sid: ::prost::alloc::string::String,
4508 #[prost(enumeration = "SubscriptionError", tag = "2")]
4509 pub err: i32,
4510}
4511#[derive(Clone, PartialEq, ::prost::Message)]
4512pub struct RequestResponse {
4513 #[prost(uint32, tag = "1")]
4514 pub request_id: u32,
4515 #[prost(enumeration = "request_response::Reason", tag = "2")]
4516 pub reason: i32,
4517 #[prost(string, tag = "3")]
4518 pub message: ::prost::alloc::string::String,
4519 #[prost(oneof = "request_response::Request", tags = "4, 5, 6, 7, 8, 9, 10, 11")]
4520 pub request: ::core::option::Option<request_response::Request>,
4521}
4522pub mod request_response {
4524 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4525 #[repr(i32)]
4526 pub enum Reason {
4527 Ok = 0,
4528 NotFound = 1,
4529 NotAllowed = 2,
4530 LimitExceeded = 3,
4531 Queued = 4,
4532 UnsupportedType = 5,
4533 UnclassifiedError = 6,
4534 InvalidHandle = 7,
4535 InvalidName = 8,
4536 DuplicateHandle = 9,
4537 DuplicateName = 10,
4538 InvalidRequest = 11,
4539 }
4540 impl Reason {
4541 pub fn as_str_name(&self) -> &'static str {
4546 match self {
4547 Self::Ok => "OK",
4548 Self::NotFound => "NOT_FOUND",
4549 Self::NotAllowed => "NOT_ALLOWED",
4550 Self::LimitExceeded => "LIMIT_EXCEEDED",
4551 Self::Queued => "QUEUED",
4552 Self::UnsupportedType => "UNSUPPORTED_TYPE",
4553 Self::UnclassifiedError => "UNCLASSIFIED_ERROR",
4554 Self::InvalidHandle => "INVALID_HANDLE",
4555 Self::InvalidName => "INVALID_NAME",
4556 Self::DuplicateHandle => "DUPLICATE_HANDLE",
4557 Self::DuplicateName => "DUPLICATE_NAME",
4558 Self::InvalidRequest => "INVALID_REQUEST",
4559 }
4560 }
4561 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4563 match value {
4564 "OK" => Some(Self::Ok),
4565 "NOT_FOUND" => Some(Self::NotFound),
4566 "NOT_ALLOWED" => Some(Self::NotAllowed),
4567 "LIMIT_EXCEEDED" => Some(Self::LimitExceeded),
4568 "QUEUED" => Some(Self::Queued),
4569 "UNSUPPORTED_TYPE" => Some(Self::UnsupportedType),
4570 "UNCLASSIFIED_ERROR" => Some(Self::UnclassifiedError),
4571 "INVALID_HANDLE" => Some(Self::InvalidHandle),
4572 "INVALID_NAME" => Some(Self::InvalidName),
4573 "DUPLICATE_HANDLE" => Some(Self::DuplicateHandle),
4574 "DUPLICATE_NAME" => Some(Self::DuplicateName),
4575 "INVALID_REQUEST" => Some(Self::InvalidRequest),
4576 _ => None,
4577 }
4578 }
4579 }
4580 #[derive(Clone, PartialEq, ::prost::Oneof)]
4581 pub enum Request {
4582 #[prost(message, tag = "4")]
4583 Trickle(super::TrickleRequest),
4584 #[prost(message, tag = "5")]
4585 AddTrack(super::AddTrackRequest),
4586 #[prost(message, tag = "6")]
4587 Mute(super::MuteTrackRequest),
4588 #[prost(message, tag = "7")]
4589 UpdateMetadata(super::UpdateParticipantMetadata),
4590 #[prost(message, tag = "8")]
4591 UpdateAudioTrack(super::UpdateLocalAudioTrack),
4592 #[prost(message, tag = "9")]
4593 UpdateVideoTrack(super::UpdateLocalVideoTrack),
4594 #[prost(message, tag = "10")]
4595 PublishDataTrack(super::PublishDataTrackRequest),
4596 #[prost(message, tag = "11")]
4597 UnpublishDataTrack(super::UnpublishDataTrackRequest),
4598 }
4599}
4600#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4601pub struct TrackSubscribed {
4602 #[prost(string, tag = "1")]
4603 pub track_sid: ::prost::alloc::string::String,
4604}
4605#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4606pub struct ConnectionSettings {
4607 #[prost(bool, tag = "1")]
4608 pub auto_subscribe: bool,
4609 #[prost(bool, tag = "2")]
4610 pub adaptive_stream: bool,
4611 #[prost(bool, optional, tag = "3")]
4612 pub subscriber_allow_pause: ::core::option::Option<bool>,
4613 #[prost(bool, tag = "4")]
4614 pub disable_ice_lite: bool,
4615 #[prost(bool, optional, tag = "5")]
4616 pub auto_subscribe_data_track: ::core::option::Option<bool>,
4617}
4618#[derive(Clone, PartialEq, ::prost::Message)]
4619pub struct JoinRequest {
4620 #[prost(message, optional, tag = "1")]
4621 pub client_info: ::core::option::Option<ClientInfo>,
4622 #[prost(message, optional, tag = "2")]
4623 pub connection_settings: ::core::option::Option<ConnectionSettings>,
4624 #[prost(string, tag = "3")]
4626 pub metadata: ::prost::alloc::string::String,
4627 #[prost(map = "string, string", tag = "4")]
4631 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
4632 #[prost(message, repeated, tag = "5")]
4633 pub add_track_requests: ::prost::alloc::vec::Vec<AddTrackRequest>,
4634 #[prost(message, optional, tag = "6")]
4635 pub publisher_offer: ::core::option::Option<SessionDescription>,
4636 #[prost(bool, tag = "7")]
4637 pub reconnect: bool,
4638 #[prost(enumeration = "ReconnectReason", tag = "8")]
4639 pub reconnect_reason: i32,
4640 #[prost(string, tag = "9")]
4641 pub participant_sid: ::prost::alloc::string::String,
4642 #[prost(message, optional, tag = "10")]
4643 pub sync_state: ::core::option::Option<SyncState>,
4644}
4645#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4646pub struct WrappedJoinRequest {
4647 #[prost(enumeration = "wrapped_join_request::Compression", tag = "1")]
4648 pub compression: i32,
4649 #[prost(bytes = "vec", tag = "2")]
4651 pub join_request: ::prost::alloc::vec::Vec<u8>,
4652}
4653pub mod wrapped_join_request {
4655 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4656 #[repr(i32)]
4657 pub enum Compression {
4658 None = 0,
4659 Gzip = 1,
4660 }
4661 impl Compression {
4662 pub fn as_str_name(&self) -> &'static str {
4667 match self {
4668 Self::None => "NONE",
4669 Self::Gzip => "GZIP",
4670 }
4671 }
4672 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4674 match value {
4675 "NONE" => Some(Self::None),
4676 "GZIP" => Some(Self::Gzip),
4677 _ => None,
4678 }
4679 }
4680 }
4681}
4682#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4683pub struct MediaSectionsRequirement {
4684 #[prost(uint32, tag = "1")]
4685 pub num_audios: u32,
4686 #[prost(uint32, tag = "2")]
4687 pub num_videos: u32,
4688}
4689#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4690#[repr(i32)]
4691pub enum SignalTarget {
4692 Publisher = 0,
4693 Subscriber = 1,
4694}
4695impl SignalTarget {
4696 pub fn as_str_name(&self) -> &'static str {
4701 match self {
4702 Self::Publisher => "PUBLISHER",
4703 Self::Subscriber => "SUBSCRIBER",
4704 }
4705 }
4706 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4708 match value {
4709 "PUBLISHER" => Some(Self::Publisher),
4710 "SUBSCRIBER" => Some(Self::Subscriber),
4711 _ => None,
4712 }
4713 }
4714}
4715#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4716#[repr(i32)]
4717pub enum StreamState {
4718 Active = 0,
4719 Paused = 1,
4720}
4721impl StreamState {
4722 pub fn as_str_name(&self) -> &'static str {
4727 match self {
4728 Self::Active => "ACTIVE",
4729 Self::Paused => "PAUSED",
4730 }
4731 }
4732 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4734 match value {
4735 "ACTIVE" => Some(Self::Active),
4736 "PAUSED" => Some(Self::Paused),
4737 _ => None,
4738 }
4739 }
4740}
4741#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4742#[repr(i32)]
4743pub enum CandidateProtocol {
4744 Udp = 0,
4745 Tcp = 1,
4746 Tls = 2,
4747}
4748impl CandidateProtocol {
4749 pub fn as_str_name(&self) -> &'static str {
4754 match self {
4755 Self::Udp => "UDP",
4756 Self::Tcp => "TCP",
4757 Self::Tls => "TLS",
4758 }
4759 }
4760 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4762 match value {
4763 "UDP" => Some(Self::Udp),
4764 "TCP" => Some(Self::Tcp),
4765 "TLS" => Some(Self::Tls),
4766 _ => None,
4767 }
4768 }
4769}
4770#[derive(Clone, PartialEq, ::prost::Message)]
4771pub struct Job {
4772 #[prost(string, tag = "1")]
4773 pub id: ::prost::alloc::string::String,
4774 #[prost(string, tag = "9")]
4775 pub dispatch_id: ::prost::alloc::string::String,
4776 #[prost(enumeration = "JobType", tag = "2")]
4777 pub r#type: i32,
4778 #[prost(message, optional, tag = "3")]
4779 pub room: ::core::option::Option<Room>,
4780 #[prost(message, optional, tag = "4")]
4781 pub participant: ::core::option::Option<ParticipantInfo>,
4782 #[deprecated]
4783 #[prost(string, tag = "5")]
4784 pub namespace: ::prost::alloc::string::String,
4785 #[prost(string, tag = "6")]
4786 pub metadata: ::prost::alloc::string::String,
4787 #[prost(string, tag = "7")]
4788 pub agent_name: ::prost::alloc::string::String,
4789 #[prost(message, optional, tag = "8")]
4790 pub state: ::core::option::Option<JobState>,
4791 #[prost(bool, tag = "10")]
4792 pub enable_recording: bool,
4793 #[prost(string, tag = "11")]
4794 pub deployment: ::prost::alloc::string::String,
4795 #[prost(map = "string, string", tag = "12")]
4796 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
4797 #[prost(bool, tag = "13")]
4798 pub enable_redaction: bool,
4799}
4800#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4801pub struct JobState {
4802 #[prost(enumeration = "JobStatus", tag = "1")]
4803 pub status: i32,
4804 #[prost(string, tag = "2")]
4805 pub error: ::prost::alloc::string::String,
4806 #[prost(int64, tag = "3")]
4807 pub started_at: i64,
4808 #[prost(int64, tag = "4")]
4809 pub ended_at: i64,
4810 #[prost(int64, tag = "5")]
4811 pub updated_at: i64,
4812 #[prost(string, tag = "6")]
4813 pub participant_identity: ::prost::alloc::string::String,
4814 #[prost(string, tag = "7")]
4815 pub worker_id: ::prost::alloc::string::String,
4816 #[prost(string, tag = "8")]
4817 pub agent_id: ::prost::alloc::string::String,
4818}
4819#[derive(Clone, PartialEq, ::prost::Message)]
4821pub struct WorkerMessage {
4822 #[prost(oneof = "worker_message::Message", tags = "1, 2, 3, 4, 5, 6, 7")]
4823 pub message: ::core::option::Option<worker_message::Message>,
4824}
4825pub mod worker_message {
4827 #[derive(Clone, PartialEq, ::prost::Oneof)]
4828 pub enum Message {
4829 #[prost(message, tag = "1")]
4831 Register(super::RegisterWorkerRequest),
4832 #[prost(message, tag = "2")]
4834 Availability(super::AvailabilityResponse),
4835 #[prost(message, tag = "3")]
4837 UpdateWorker(super::UpdateWorkerStatus),
4838 #[prost(message, tag = "4")]
4840 UpdateJob(super::UpdateJobStatus),
4841 #[prost(message, tag = "5")]
4842 Ping(super::WorkerPing),
4843 #[prost(message, tag = "6")]
4844 SimulateJob(super::SimulateJobRequest),
4845 #[prost(message, tag = "7")]
4846 MigrateJob(super::MigrateJobRequest),
4847 }
4848}
4849#[derive(Clone, PartialEq, ::prost::Message)]
4851pub struct ServerMessage {
4852 #[prost(oneof = "server_message::Message", tags = "1, 2, 3, 5, 4, 6")]
4853 pub message: ::core::option::Option<server_message::Message>,
4854}
4855pub mod server_message {
4857 #[derive(Clone, PartialEq, ::prost::Oneof)]
4858 pub enum Message {
4859 #[prost(message, tag = "1")]
4861 Register(super::RegisterWorkerResponse),
4862 #[prost(message, tag = "2")]
4864 Availability(super::AvailabilityRequest),
4865 #[prost(message, tag = "3")]
4866 Assignment(super::JobAssignment),
4867 #[prost(message, tag = "5")]
4868 Termination(super::JobTermination),
4869 #[prost(message, tag = "4")]
4870 Pong(super::WorkerPong),
4871 #[prost(message, tag = "6")]
4874 GoAway(super::agent_http::GoAway),
4875 }
4876}
4877#[derive(Clone, PartialEq, ::prost::Message)]
4878pub struct SimulateJobRequest {
4879 #[prost(enumeration = "JobType", tag = "1")]
4880 pub r#type: i32,
4881 #[prost(message, optional, tag = "2")]
4882 pub room: ::core::option::Option<Room>,
4883 #[prost(message, optional, tag = "3")]
4884 pub participant: ::core::option::Option<ParticipantInfo>,
4885}
4886#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4887pub struct WorkerPing {
4888 #[prost(int64, tag = "1")]
4889 pub timestamp: i64,
4890}
4891#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
4892pub struct WorkerPong {
4893 #[prost(int64, tag = "1")]
4894 pub last_timestamp: i64,
4895 #[prost(int64, tag = "2")]
4896 pub timestamp: i64,
4897}
4898#[derive(Clone, PartialEq, ::prost::Message)]
4899pub struct RegisterWorkerRequest {
4900 #[prost(enumeration = "JobType", tag = "1")]
4901 pub r#type: i32,
4902 #[prost(string, tag = "8")]
4903 pub agent_name: ::prost::alloc::string::String,
4904 #[prost(string, tag = "3")]
4905 pub version: ::prost::alloc::string::String,
4906 #[prost(uint32, tag = "5")]
4907 pub ping_interval: u32,
4908 #[prost(string, optional, tag = "6")]
4909 pub namespace: ::core::option::Option<::prost::alloc::string::String>,
4910 #[prost(message, optional, tag = "7")]
4911 pub allowed_permissions: ::core::option::Option<ParticipantPermission>,
4912 #[prost(string, tag = "9")]
4913 pub deployment: ::prost::alloc::string::String,
4914 #[prost(message, repeated, tag = "10")]
4917 pub endpoints: ::prost::alloc::vec::Vec<agent_http::AgentEndpoint>,
4918 #[prost(string, tag = "11")]
4921 pub instance_id: ::prost::alloc::string::String,
4922 #[prost(uint32, tag = "12")]
4924 pub endpoint_protocol: u32,
4925}
4926#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4927pub struct RegisterWorkerResponse {
4928 #[prost(string, tag = "1")]
4929 pub worker_id: ::prost::alloc::string::String,
4930 #[prost(message, optional, tag = "3")]
4931 pub server_info: ::core::option::Option<ServerInfo>,
4932 #[prost(message, optional, tag = "4")]
4934 pub endpoint_settings: ::core::option::Option<agent_http::AgentEndpointSettings>,
4935}
4936#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4937pub struct MigrateJobRequest {
4938 #[prost(string, repeated, tag = "2")]
4940 pub job_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
4941}
4942#[derive(Clone, PartialEq, ::prost::Message)]
4943pub struct AvailabilityRequest {
4944 #[prost(message, optional, tag = "1")]
4945 pub job: ::core::option::Option<Job>,
4946 #[prost(bool, tag = "2")]
4949 pub resuming: bool,
4950}
4951#[derive(Clone, PartialEq, ::prost::Message)]
4952pub struct AvailabilityResponse {
4953 #[prost(string, tag = "1")]
4954 pub job_id: ::prost::alloc::string::String,
4955 #[prost(bool, tag = "2")]
4956 pub available: bool,
4957 #[prost(bool, tag = "3")]
4958 pub supports_resume: bool,
4959 #[prost(bool, tag = "8")]
4960 pub terminate: bool,
4961 #[prost(string, tag = "4")]
4962 pub participant_name: ::prost::alloc::string::String,
4963 #[prost(string, tag = "5")]
4964 pub participant_identity: ::prost::alloc::string::String,
4965 #[prost(string, tag = "6")]
4966 pub participant_metadata: ::prost::alloc::string::String,
4967 #[prost(map = "string, string", tag = "7")]
4969 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
4970}
4971#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
4972pub struct UpdateJobStatus {
4973 #[prost(string, tag = "1")]
4974 pub job_id: ::prost::alloc::string::String,
4975 #[prost(enumeration = "JobStatus", tag = "2")]
4977 pub status: i32,
4978 #[prost(string, tag = "3")]
4980 pub error: ::prost::alloc::string::String,
4981}
4982#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4983pub struct UpdateWorkerStatus {
4984 #[prost(enumeration = "WorkerStatus", optional, tag = "1")]
4985 pub status: ::core::option::Option<i32>,
4986 #[prost(float, tag = "3")]
4987 pub load: f32,
4988 #[prost(uint32, tag = "4")]
4989 pub job_count: u32,
4990 #[prost(bool, tag = "5")]
4992 pub draining: bool,
4993 #[prost(uint64, tag = "6")]
4996 pub seq: u64,
4997}
4998#[derive(Clone, PartialEq, ::prost::Message)]
4999pub struct JobAssignment {
5000 #[prost(message, optional, tag = "1")]
5001 pub job: ::core::option::Option<Job>,
5002 #[prost(string, optional, tag = "2")]
5003 pub url: ::core::option::Option<::prost::alloc::string::String>,
5004 #[prost(string, tag = "3")]
5005 pub token: ::prost::alloc::string::String,
5006}
5007#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5008pub struct JobTermination {
5009 #[prost(string, tag = "1")]
5010 pub job_id: ::prost::alloc::string::String,
5011}
5012#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5055pub struct AgentHttp {
5056}
5057pub mod agent_http {
5059 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5060 pub struct AgentEndpoint {
5061 #[prost(string, tag = "1")]
5065 pub path: ::prost::alloc::string::String,
5066 #[prost(string, repeated, tag = "2")]
5069 pub methods: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5070 #[prost(enumeration = "AgentEndpointKind", tag = "3")]
5071 pub kind: i32,
5072 #[prost(bool, tag = "4")]
5074 pub public: bool,
5075 }
5076 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5080 pub struct AgentEndpointSettings {
5081 #[prost(uint32, tag = "1")]
5084 pub protocol: u32,
5085 }
5086 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5090 pub struct StreamPreamble {
5091 #[prost(enumeration = "AgentEndpointKind", tag = "1")]
5094 pub kind: i32,
5095 #[prost(string, tag = "2")]
5096 pub request_id: ::prost::alloc::string::String,
5097 #[prost(bool, tag = "3")]
5100 pub authorized: bool,
5101 #[prost(string, tag = "4")]
5103 pub route: ::prost::alloc::string::String,
5104 #[prost(uint32, tag = "5")]
5107 pub timeout_ms: u32,
5108 #[prost(string, tag = "6")]
5110 pub client_addr: ::prost::alloc::string::String,
5111 #[prost(string, tag = "7")]
5115 pub scheme: ::prost::alloc::string::String,
5116 }
5117 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5120 pub struct GoAway {
5121 #[prost(string, tag = "1")]
5122 pub reason: ::prost::alloc::string::String,
5123 }
5124 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5125 #[repr(i32)]
5126 pub enum AgentEndpointKind {
5127 AekHttp = 0,
5128 AekText = 1,
5130 }
5131 impl AgentEndpointKind {
5132 pub fn as_str_name(&self) -> &'static str {
5137 match self {
5138 Self::AekHttp => "AEK_HTTP",
5139 Self::AekText => "AEK_TEXT",
5140 }
5141 }
5142 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5144 match value {
5145 "AEK_HTTP" => Some(Self::AekHttp),
5146 "AEK_TEXT" => Some(Self::AekText),
5147 _ => None,
5148 }
5149 }
5150 }
5151 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5157 #[repr(i32)]
5158 pub enum HttpStreamResetCode {
5159 HsrAbort = 0,
5163 HsrRefused = 1,
5167 HsrInternal = 2,
5171 HsrTimeout = 3,
5173 HsrProtocol = 4,
5175 }
5176 impl HttpStreamResetCode {
5177 pub fn as_str_name(&self) -> &'static str {
5182 match self {
5183 Self::HsrAbort => "HSR_ABORT",
5184 Self::HsrRefused => "HSR_REFUSED",
5185 Self::HsrInternal => "HSR_INTERNAL",
5186 Self::HsrTimeout => "HSR_TIMEOUT",
5187 Self::HsrProtocol => "HSR_PROTOCOL",
5188 }
5189 }
5190 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5192 match value {
5193 "HSR_ABORT" => Some(Self::HsrAbort),
5194 "HSR_REFUSED" => Some(Self::HsrRefused),
5195 "HSR_INTERNAL" => Some(Self::HsrInternal),
5196 "HSR_TIMEOUT" => Some(Self::HsrTimeout),
5197 "HSR_PROTOCOL" => Some(Self::HsrProtocol),
5198 _ => None,
5199 }
5200 }
5201 }
5202}
5203#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5204#[repr(i32)]
5205pub enum JobType {
5206 JtRoom = 0,
5207 JtPublisher = 1,
5208 JtParticipant = 2,
5209}
5210impl JobType {
5211 pub fn as_str_name(&self) -> &'static str {
5216 match self {
5217 Self::JtRoom => "JT_ROOM",
5218 Self::JtPublisher => "JT_PUBLISHER",
5219 Self::JtParticipant => "JT_PARTICIPANT",
5220 }
5221 }
5222 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5224 match value {
5225 "JT_ROOM" => Some(Self::JtRoom),
5226 "JT_PUBLISHER" => Some(Self::JtPublisher),
5227 "JT_PARTICIPANT" => Some(Self::JtParticipant),
5228 _ => None,
5229 }
5230 }
5231}
5232#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5233#[repr(i32)]
5234pub enum WorkerStatus {
5235 WsAvailable = 0,
5236 WsFull = 1,
5237}
5238impl WorkerStatus {
5239 pub fn as_str_name(&self) -> &'static str {
5244 match self {
5245 Self::WsAvailable => "WS_AVAILABLE",
5246 Self::WsFull => "WS_FULL",
5247 }
5248 }
5249 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5251 match value {
5252 "WS_AVAILABLE" => Some(Self::WsAvailable),
5253 "WS_FULL" => Some(Self::WsFull),
5254 _ => None,
5255 }
5256 }
5257}
5258#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5259#[repr(i32)]
5260pub enum JobStatus {
5261 JsPending = 0,
5262 JsRunning = 1,
5263 JsSuccess = 2,
5264 JsFailed = 3,
5265}
5266impl JobStatus {
5267 pub fn as_str_name(&self) -> &'static str {
5272 match self {
5273 Self::JsPending => "JS_PENDING",
5274 Self::JsRunning => "JS_RUNNING",
5275 Self::JsSuccess => "JS_SUCCESS",
5276 Self::JsFailed => "JS_FAILED",
5277 }
5278 }
5279 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5281 match value {
5282 "JS_PENDING" => Some(Self::JsPending),
5283 "JS_RUNNING" => Some(Self::JsRunning),
5284 "JS_SUCCESS" => Some(Self::JsSuccess),
5285 "JS_FAILED" => Some(Self::JsFailed),
5286 _ => None,
5287 }
5288 }
5289}
5290#[derive(Clone, PartialEq, ::prost::Message)]
5291pub struct CreateAgentDispatchRequest {
5292 #[prost(string, tag = "1")]
5293 pub agent_name: ::prost::alloc::string::String,
5294 #[prost(string, tag = "2")]
5295 pub room: ::prost::alloc::string::String,
5296 #[prost(string, tag = "3")]
5297 pub metadata: ::prost::alloc::string::String,
5298 #[prost(enumeration = "JobRestartPolicy", tag = "4")]
5300 pub restart_policy: i32,
5301 #[prost(string, tag = "5")]
5302 pub deployment: ::prost::alloc::string::String,
5303 #[prost(map = "string, string", tag = "6")]
5304 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5305}
5306#[derive(Clone, PartialEq, ::prost::Message)]
5307pub struct RoomAgentDispatch {
5308 #[prost(string, tag = "1")]
5309 pub agent_name: ::prost::alloc::string::String,
5310 #[prost(string, tag = "2")]
5311 pub metadata: ::prost::alloc::string::String,
5312 #[prost(enumeration = "JobRestartPolicy", tag = "3")]
5314 pub restart_policy: i32,
5315 #[prost(string, tag = "4")]
5316 pub deployment: ::prost::alloc::string::String,
5317 #[prost(map = "string, string", tag = "5")]
5318 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5319}
5320#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5321pub struct DeleteAgentDispatchRequest {
5322 #[prost(string, tag = "1")]
5323 pub dispatch_id: ::prost::alloc::string::String,
5324 #[prost(string, tag = "2")]
5325 pub room: ::prost::alloc::string::String,
5326}
5327#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5328pub struct ListAgentDispatchRequest {
5329 #[prost(string, tag = "1")]
5331 pub dispatch_id: ::prost::alloc::string::String,
5332 #[prost(string, tag = "2")]
5334 pub room: ::prost::alloc::string::String,
5335}
5336#[derive(Clone, PartialEq, ::prost::Message)]
5337pub struct ListAgentDispatchResponse {
5338 #[prost(message, repeated, tag = "1")]
5339 pub agent_dispatches: ::prost::alloc::vec::Vec<AgentDispatch>,
5340}
5341#[derive(Clone, PartialEq, ::prost::Message)]
5342pub struct AgentDispatch {
5343 #[prost(string, tag = "1")]
5344 pub id: ::prost::alloc::string::String,
5345 #[prost(string, tag = "2")]
5346 pub agent_name: ::prost::alloc::string::String,
5347 #[prost(string, tag = "3")]
5348 pub room: ::prost::alloc::string::String,
5349 #[prost(string, tag = "4")]
5350 pub metadata: ::prost::alloc::string::String,
5351 #[prost(message, optional, tag = "5")]
5352 pub state: ::core::option::Option<AgentDispatchState>,
5353 #[prost(enumeration = "JobRestartPolicy", tag = "6")]
5355 pub restart_policy: i32,
5356 #[prost(string, tag = "7")]
5357 pub deployment: ::prost::alloc::string::String,
5358 #[prost(map = "string, string", tag = "8")]
5359 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5360}
5361#[derive(Clone, PartialEq, ::prost::Message)]
5362pub struct AgentDispatchState {
5363 #[prost(message, repeated, tag = "1")]
5366 pub jobs: ::prost::alloc::vec::Vec<Job>,
5367 #[prost(int64, tag = "2")]
5368 pub created_at: i64,
5369 #[prost(int64, tag = "3")]
5370 pub deleted_at: i64,
5371}
5372#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5373#[repr(i32)]
5374pub enum JobRestartPolicy {
5375 JrpOnFailure = 0,
5377 JrpNever = 1,
5379}
5380impl JobRestartPolicy {
5381 pub fn as_str_name(&self) -> &'static str {
5386 match self {
5387 Self::JrpOnFailure => "JRP_ON_FAILURE",
5388 Self::JrpNever => "JRP_NEVER",
5389 }
5390 }
5391 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5393 match value {
5394 "JRP_ON_FAILURE" => Some(Self::JrpOnFailure),
5395 "JRP_NEVER" => Some(Self::JrpNever),
5396 _ => None,
5397 }
5398 }
5399}
5400#[derive(Clone, PartialEq, ::prost::Message)]
5401pub struct CreateRoomRequest {
5402 #[prost(string, tag = "1")]
5404 pub name: ::prost::alloc::string::String,
5405 #[prost(string, tag = "12")]
5407 pub room_preset: ::prost::alloc::string::String,
5408 #[prost(uint32, tag = "2")]
5410 pub empty_timeout: u32,
5411 #[prost(uint32, tag = "10")]
5413 pub departure_timeout: u32,
5414 #[prost(uint32, tag = "3")]
5416 pub max_participants: u32,
5417 #[prost(string, tag = "4")]
5419 pub node_id: ::prost::alloc::string::String,
5420 #[prost(string, tag = "5")]
5422 pub metadata: ::prost::alloc::string::String,
5423 #[prost(map = "string, string", tag = "15")]
5425 pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5426 #[prost(message, optional, tag = "6")]
5428 pub egress: ::core::option::Option<RoomEgress>,
5429 #[prost(uint32, tag = "7")]
5431 pub min_playout_delay: u32,
5432 #[prost(uint32, tag = "8")]
5433 pub max_playout_delay: u32,
5434 #[prost(bool, tag = "9")]
5437 pub sync_streams: bool,
5438 #[prost(bool, tag = "13")]
5440 pub replay_enabled: bool,
5441 #[prost(message, repeated, tag = "14")]
5443 pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
5444}
5445#[derive(Clone, PartialEq, ::prost::Message)]
5446pub struct RoomEgress {
5447 #[prost(message, optional, tag = "1")]
5448 pub room: ::core::option::Option<RoomCompositeEgressRequest>,
5449 #[prost(message, optional, tag = "3")]
5450 pub participant: ::core::option::Option<AutoParticipantEgress>,
5451 #[prost(message, optional, tag = "2")]
5452 pub tracks: ::core::option::Option<AutoTrackEgress>,
5453}
5454#[derive(Clone, PartialEq, ::prost::Message)]
5455pub struct RoomAgent {
5456 #[prost(message, repeated, tag = "1")]
5457 pub dispatches: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
5458}
5459#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5460pub struct ListRoomsRequest {
5461 #[prost(string, repeated, tag = "1")]
5463 pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5464}
5465#[derive(Clone, PartialEq, ::prost::Message)]
5466pub struct ListRoomsResponse {
5467 #[prost(message, repeated, tag = "1")]
5468 pub rooms: ::prost::alloc::vec::Vec<Room>,
5469}
5470#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5471pub struct DeleteRoomRequest {
5472 #[prost(string, tag = "1")]
5474 pub room: ::prost::alloc::string::String,
5475}
5476#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5477pub struct DeleteRoomResponse {
5478}
5479#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5480pub struct ListParticipantsRequest {
5481 #[prost(string, tag = "1")]
5483 pub room: ::prost::alloc::string::String,
5484}
5485#[derive(Clone, PartialEq, ::prost::Message)]
5486pub struct ListParticipantsResponse {
5487 #[prost(message, repeated, tag = "1")]
5488 pub participants: ::prost::alloc::vec::Vec<ParticipantInfo>,
5489}
5490#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5491pub struct RoomParticipantIdentity {
5492 #[prost(string, tag = "1")]
5494 pub room: ::prost::alloc::string::String,
5495 #[prost(string, tag = "2")]
5497 pub identity: ::prost::alloc::string::String,
5498 #[prost(int64, tag = "3")]
5501 pub revoke_token_ts: i64,
5502}
5503#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5504pub struct RemoveParticipantResponse {
5505}
5506#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5507pub struct MuteRoomTrackRequest {
5508 #[prost(string, tag = "1")]
5510 pub room: ::prost::alloc::string::String,
5511 #[prost(string, tag = "2")]
5512 pub identity: ::prost::alloc::string::String,
5513 #[prost(string, tag = "3")]
5515 pub track_sid: ::prost::alloc::string::String,
5516 #[prost(bool, tag = "4")]
5518 pub muted: bool,
5519}
5520#[derive(Clone, PartialEq, ::prost::Message)]
5521pub struct MuteRoomTrackResponse {
5522 #[prost(message, optional, tag = "1")]
5523 pub track: ::core::option::Option<TrackInfo>,
5524}
5525#[derive(Clone, PartialEq, ::prost::Message)]
5526pub struct UpdateParticipantRequest {
5527 #[prost(string, tag = "1")]
5528 pub room: ::prost::alloc::string::String,
5529 #[prost(string, tag = "2")]
5530 pub identity: ::prost::alloc::string::String,
5531 #[prost(string, tag = "3")]
5533 pub metadata: ::prost::alloc::string::String,
5534 #[prost(message, optional, tag = "4")]
5536 pub permission: ::core::option::Option<ParticipantPermission>,
5537 #[prost(string, tag = "5")]
5539 pub name: ::prost::alloc::string::String,
5540 #[prost(map = "string, string", tag = "6")]
5543 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5544}
5545#[derive(Clone, PartialEq, ::prost::Message)]
5546pub struct UpdateSubscriptionsRequest {
5547 #[prost(string, tag = "1")]
5548 pub room: ::prost::alloc::string::String,
5549 #[prost(string, tag = "2")]
5550 pub identity: ::prost::alloc::string::String,
5551 #[prost(string, repeated, tag = "3")]
5553 pub track_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5554 #[prost(bool, tag = "4")]
5556 pub subscribe: bool,
5557 #[prost(message, repeated, tag = "5")]
5559 pub participant_tracks: ::prost::alloc::vec::Vec<ParticipantTracks>,
5560}
5561#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5563pub struct UpdateSubscriptionsResponse {
5564}
5565#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5566pub struct SendDataRequest {
5567 #[prost(string, tag = "1")]
5568 pub room: ::prost::alloc::string::String,
5569 #[prost(bytes = "vec", tag = "2")]
5570 pub data: ::prost::alloc::vec::Vec<u8>,
5571 #[prost(enumeration = "data_packet::Kind", tag = "3")]
5572 pub kind: i32,
5573 #[deprecated]
5575 #[prost(string, repeated, tag = "4")]
5576 pub destination_sids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5577 #[prost(string, repeated, tag = "6")]
5579 pub destination_identities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
5580 #[prost(string, optional, tag = "5")]
5581 pub topic: ::core::option::Option<::prost::alloc::string::String>,
5582 #[prost(bytes = "vec", tag = "7")]
5584 pub nonce: ::prost::alloc::vec::Vec<u8>,
5585}
5586#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5588pub struct SendDataResponse {
5589}
5590#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5591pub struct UpdateRoomMetadataRequest {
5592 #[prost(string, tag = "1")]
5593 pub room: ::prost::alloc::string::String,
5594 #[prost(string, tag = "2")]
5596 pub metadata: ::prost::alloc::string::String,
5597}
5598#[derive(Clone, PartialEq, ::prost::Message)]
5599pub struct RoomConfiguration {
5600 #[prost(string, tag = "1")]
5602 pub name: ::prost::alloc::string::String,
5603 #[prost(uint32, tag = "2")]
5605 pub empty_timeout: u32,
5606 #[prost(uint32, tag = "3")]
5608 pub departure_timeout: u32,
5609 #[prost(uint32, tag = "4")]
5611 pub max_participants: u32,
5612 #[prost(string, tag = "11")]
5614 pub metadata: ::prost::alloc::string::String,
5615 #[prost(message, optional, tag = "5")]
5617 pub egress: ::core::option::Option<RoomEgress>,
5618 #[prost(uint32, tag = "7")]
5620 pub min_playout_delay: u32,
5621 #[prost(uint32, tag = "8")]
5622 pub max_playout_delay: u32,
5623 #[prost(bool, tag = "9")]
5626 pub sync_streams: bool,
5627 #[prost(message, repeated, tag = "10")]
5629 pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
5630 #[prost(map = "string, string", tag = "12")]
5632 pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
5633}
5634#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5635pub struct ForwardParticipantRequest {
5636 #[prost(string, tag = "1")]
5638 pub room: ::prost::alloc::string::String,
5639 #[prost(string, tag = "2")]
5641 pub identity: ::prost::alloc::string::String,
5642 #[prost(string, tag = "3")]
5644 pub destination_room: ::prost::alloc::string::String,
5645}
5646#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5647pub struct ForwardParticipantResponse {
5648}
5649#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5650pub struct MoveParticipantRequest {
5651 #[prost(string, tag = "1")]
5653 pub room: ::prost::alloc::string::String,
5654 #[prost(string, tag = "2")]
5656 pub identity: ::prost::alloc::string::String,
5657 #[prost(string, tag = "3")]
5659 pub destination_room: ::prost::alloc::string::String,
5660}
5661#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5662pub struct MoveParticipantResponse {
5663}
5664#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5665pub struct PerformRpcRequest {
5666 #[prost(string, tag = "1")]
5667 pub room: ::prost::alloc::string::String,
5668 #[prost(string, tag = "2")]
5669 pub destination_identity: ::prost::alloc::string::String,
5670 #[prost(string, tag = "3")]
5671 pub method: ::prost::alloc::string::String,
5672 #[prost(string, tag = "4")]
5673 pub payload: ::prost::alloc::string::String,
5674 #[prost(uint32, tag = "5")]
5675 pub response_timeout_ms: u32,
5676}
5677#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5678pub struct PerformRpcResponse {
5679 #[prost(string, tag = "1")]
5680 pub payload: ::prost::alloc::string::String,
5681}
5682#[derive(Clone, PartialEq, ::prost::Message)]
5683pub struct CreateIngressRequest {
5684 #[prost(enumeration = "IngressInput", tag = "1")]
5685 pub input_type: i32,
5686 #[prost(string, tag = "9")]
5688 pub url: ::prost::alloc::string::String,
5689 #[prost(string, tag = "2")]
5691 pub name: ::prost::alloc::string::String,
5692 #[prost(string, tag = "3")]
5694 pub room_name: ::prost::alloc::string::String,
5695 #[prost(string, tag = "4")]
5697 pub participant_identity: ::prost::alloc::string::String,
5698 #[prost(string, tag = "5")]
5700 pub participant_name: ::prost::alloc::string::String,
5701 #[prost(string, tag = "10")]
5703 pub participant_metadata: ::prost::alloc::string::String,
5704 #[deprecated]
5706 #[prost(bool, tag = "8")]
5707 pub bypass_transcoding: bool,
5708 #[prost(bool, optional, tag = "11")]
5710 pub enable_transcoding: ::core::option::Option<bool>,
5711 #[prost(message, optional, tag = "6")]
5712 pub audio: ::core::option::Option<IngressAudioOptions>,
5713 #[prost(message, optional, tag = "7")]
5714 pub video: ::core::option::Option<IngressVideoOptions>,
5715 #[prost(bool, optional, tag = "12")]
5717 pub enabled: ::core::option::Option<bool>,
5718}
5719#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5720pub struct IngressAudioOptions {
5721 #[prost(string, tag = "1")]
5722 pub name: ::prost::alloc::string::String,
5723 #[prost(enumeration = "TrackSource", tag = "2")]
5724 pub source: i32,
5725 #[prost(oneof = "ingress_audio_options::EncodingOptions", tags = "3, 4")]
5726 pub encoding_options: ::core::option::Option<ingress_audio_options::EncodingOptions>,
5727}
5728pub mod ingress_audio_options {
5730 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
5731 pub enum EncodingOptions {
5732 #[prost(enumeration = "super::IngressAudioEncodingPreset", tag = "3")]
5733 Preset(i32),
5734 #[prost(message, tag = "4")]
5735 Options(super::IngressAudioEncodingOptions),
5736 }
5737}
5738#[derive(Clone, PartialEq, ::prost::Message)]
5739pub struct IngressVideoOptions {
5740 #[prost(string, tag = "1")]
5741 pub name: ::prost::alloc::string::String,
5742 #[prost(enumeration = "TrackSource", tag = "2")]
5743 pub source: i32,
5744 #[prost(oneof = "ingress_video_options::EncodingOptions", tags = "3, 4")]
5745 pub encoding_options: ::core::option::Option<ingress_video_options::EncodingOptions>,
5746}
5747pub mod ingress_video_options {
5749 #[derive(Clone, PartialEq, ::prost::Oneof)]
5750 pub enum EncodingOptions {
5751 #[prost(enumeration = "super::IngressVideoEncodingPreset", tag = "3")]
5752 Preset(i32),
5753 #[prost(message, tag = "4")]
5754 Options(super::IngressVideoEncodingOptions),
5755 }
5756}
5757#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
5758pub struct IngressAudioEncodingOptions {
5759 #[prost(enumeration = "AudioCodec", tag = "1")]
5761 pub audio_codec: i32,
5762 #[prost(uint32, tag = "2")]
5763 pub bitrate: u32,
5764 #[prost(bool, tag = "3")]
5765 pub disable_dtx: bool,
5766 #[prost(uint32, tag = "4")]
5767 pub channels: u32,
5768}
5769#[derive(Clone, PartialEq, ::prost::Message)]
5770pub struct IngressVideoEncodingOptions {
5771 #[prost(enumeration = "VideoCodec", tag = "1")]
5773 pub video_codec: i32,
5774 #[prost(double, tag = "2")]
5775 pub frame_rate: f64,
5776 #[prost(message, repeated, tag = "3")]
5778 pub layers: ::prost::alloc::vec::Vec<VideoLayer>,
5779}
5780#[derive(Clone, PartialEq, ::prost::Message)]
5781pub struct IngressInfo {
5782 #[prost(string, tag = "1")]
5783 pub ingress_id: ::prost::alloc::string::String,
5784 #[prost(string, tag = "2")]
5785 pub name: ::prost::alloc::string::String,
5786 #[prost(string, tag = "3")]
5787 pub stream_key: ::prost::alloc::string::String,
5788 #[prost(string, tag = "4")]
5790 pub url: ::prost::alloc::string::String,
5791 #[prost(enumeration = "IngressInput", tag = "5")]
5795 pub input_type: i32,
5796 #[deprecated]
5797 #[prost(bool, tag = "13")]
5798 pub bypass_transcoding: bool,
5799 #[prost(bool, optional, tag = "15")]
5800 pub enable_transcoding: ::core::option::Option<bool>,
5801 #[prost(message, optional, tag = "6")]
5802 pub audio: ::core::option::Option<IngressAudioOptions>,
5803 #[prost(message, optional, tag = "7")]
5804 pub video: ::core::option::Option<IngressVideoOptions>,
5805 #[prost(string, tag = "8")]
5806 pub room_name: ::prost::alloc::string::String,
5807 #[prost(string, tag = "9")]
5808 pub participant_identity: ::prost::alloc::string::String,
5809 #[prost(string, tag = "10")]
5810 pub participant_name: ::prost::alloc::string::String,
5811 #[prost(string, tag = "14")]
5812 pub participant_metadata: ::prost::alloc::string::String,
5813 #[prost(bool, tag = "11")]
5814 pub reusable: bool,
5815 #[prost(message, optional, tag = "12")]
5817 pub state: ::core::option::Option<IngressState>,
5818 #[prost(bool, optional, tag = "16")]
5820 pub enabled: ::core::option::Option<bool>,
5821}
5822#[derive(Clone, PartialEq, ::prost::Message)]
5823pub struct IngressState {
5824 #[prost(enumeration = "ingress_state::Status", tag = "1")]
5825 pub status: i32,
5826 #[prost(string, tag = "2")]
5828 pub error: ::prost::alloc::string::String,
5829 #[prost(message, optional, tag = "3")]
5830 pub video: ::core::option::Option<InputVideoState>,
5831 #[prost(message, optional, tag = "4")]
5832 pub audio: ::core::option::Option<InputAudioState>,
5833 #[prost(string, tag = "5")]
5835 pub room_id: ::prost::alloc::string::String,
5836 #[prost(int64, tag = "7")]
5837 pub started_at: i64,
5838 #[prost(int64, tag = "8")]
5839 pub ended_at: i64,
5840 #[prost(int64, tag = "10")]
5841 pub updated_at: i64,
5842 #[prost(string, tag = "9")]
5843 pub resource_id: ::prost::alloc::string::String,
5844 #[prost(message, repeated, tag = "6")]
5845 pub tracks: ::prost::alloc::vec::Vec<TrackInfo>,
5846}
5847pub mod ingress_state {
5849 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5850 #[repr(i32)]
5851 pub enum Status {
5852 EndpointInactive = 0,
5853 EndpointBuffering = 1,
5854 EndpointPublishing = 2,
5855 EndpointError = 3,
5856 EndpointComplete = 4,
5857 }
5858 impl Status {
5859 pub fn as_str_name(&self) -> &'static str {
5864 match self {
5865 Self::EndpointInactive => "ENDPOINT_INACTIVE",
5866 Self::EndpointBuffering => "ENDPOINT_BUFFERING",
5867 Self::EndpointPublishing => "ENDPOINT_PUBLISHING",
5868 Self::EndpointError => "ENDPOINT_ERROR",
5869 Self::EndpointComplete => "ENDPOINT_COMPLETE",
5870 }
5871 }
5872 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5874 match value {
5875 "ENDPOINT_INACTIVE" => Some(Self::EndpointInactive),
5876 "ENDPOINT_BUFFERING" => Some(Self::EndpointBuffering),
5877 "ENDPOINT_PUBLISHING" => Some(Self::EndpointPublishing),
5878 "ENDPOINT_ERROR" => Some(Self::EndpointError),
5879 "ENDPOINT_COMPLETE" => Some(Self::EndpointComplete),
5880 _ => None,
5881 }
5882 }
5883 }
5884}
5885#[derive(Clone, PartialEq, ::prost::Message)]
5886pub struct InputVideoState {
5887 #[prost(string, tag = "1")]
5888 pub mime_type: ::prost::alloc::string::String,
5889 #[prost(uint32, tag = "2")]
5890 pub average_bitrate: u32,
5891 #[prost(uint32, tag = "3")]
5892 pub width: u32,
5893 #[prost(uint32, tag = "4")]
5894 pub height: u32,
5895 #[prost(double, tag = "5")]
5896 pub framerate: f64,
5897}
5898#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5899pub struct InputAudioState {
5900 #[prost(string, tag = "1")]
5901 pub mime_type: ::prost::alloc::string::String,
5902 #[prost(uint32, tag = "2")]
5903 pub average_bitrate: u32,
5904 #[prost(uint32, tag = "3")]
5905 pub channels: u32,
5906 #[prost(uint32, tag = "4")]
5907 pub sample_rate: u32,
5908}
5909#[derive(Clone, PartialEq, ::prost::Message)]
5910pub struct UpdateIngressRequest {
5911 #[prost(string, tag = "1")]
5912 pub ingress_id: ::prost::alloc::string::String,
5913 #[prost(string, tag = "2")]
5914 pub name: ::prost::alloc::string::String,
5915 #[prost(string, tag = "3")]
5916 pub room_name: ::prost::alloc::string::String,
5917 #[prost(string, tag = "4")]
5918 pub participant_identity: ::prost::alloc::string::String,
5919 #[prost(string, tag = "5")]
5920 pub participant_name: ::prost::alloc::string::String,
5921 #[prost(string, tag = "9")]
5922 pub participant_metadata: ::prost::alloc::string::String,
5923 #[deprecated]
5924 #[prost(bool, optional, tag = "8")]
5925 pub bypass_transcoding: ::core::option::Option<bool>,
5926 #[prost(bool, optional, tag = "10")]
5927 pub enable_transcoding: ::core::option::Option<bool>,
5928 #[prost(message, optional, tag = "6")]
5929 pub audio: ::core::option::Option<IngressAudioOptions>,
5930 #[prost(message, optional, tag = "7")]
5931 pub video: ::core::option::Option<IngressVideoOptions>,
5932 #[prost(bool, optional, tag = "11")]
5934 pub enabled: ::core::option::Option<bool>,
5935}
5936#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5937pub struct ListIngressRequest {
5938 #[prost(message, optional, tag = "3")]
5939 pub page_token: ::core::option::Option<TokenPagination>,
5940 #[prost(string, tag = "1")]
5944 pub room_name: ::prost::alloc::string::String,
5945 #[prost(string, tag = "2")]
5947 pub ingress_id: ::prost::alloc::string::String,
5948}
5949#[derive(Clone, PartialEq, ::prost::Message)]
5950pub struct ListIngressResponse {
5951 #[prost(message, optional, tag = "2")]
5952 pub next_page_token: ::core::option::Option<TokenPagination>,
5953 #[prost(message, repeated, tag = "1")]
5955 pub items: ::prost::alloc::vec::Vec<IngressInfo>,
5956}
5957#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
5958pub struct DeleteIngressRequest {
5959 #[prost(string, tag = "1")]
5960 pub ingress_id: ::prost::alloc::string::String,
5961}
5962#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5963#[repr(i32)]
5964pub enum IngressInput {
5965 RtmpInput = 0,
5966 WhipInput = 1,
5967 UrlInput = 2,
5969}
5970impl IngressInput {
5971 pub fn as_str_name(&self) -> &'static str {
5976 match self {
5977 Self::RtmpInput => "RTMP_INPUT",
5978 Self::WhipInput => "WHIP_INPUT",
5979 Self::UrlInput => "URL_INPUT",
5980 }
5981 }
5982 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5984 match value {
5985 "RTMP_INPUT" => Some(Self::RtmpInput),
5986 "WHIP_INPUT" => Some(Self::WhipInput),
5987 "URL_INPUT" => Some(Self::UrlInput),
5988 _ => None,
5989 }
5990 }
5991}
5992#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5993#[repr(i32)]
5994pub enum IngressAudioEncodingPreset {
5995 OpusStereo96kbps = 0,
5997 OpusMono64kbs = 1,
5999}
6000impl IngressAudioEncodingPreset {
6001 pub fn as_str_name(&self) -> &'static str {
6006 match self {
6007 Self::OpusStereo96kbps => "OPUS_STEREO_96KBPS",
6008 Self::OpusMono64kbs => "OPUS_MONO_64KBS",
6009 }
6010 }
6011 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6013 match value {
6014 "OPUS_STEREO_96KBPS" => Some(Self::OpusStereo96kbps),
6015 "OPUS_MONO_64KBS" => Some(Self::OpusMono64kbs),
6016 _ => None,
6017 }
6018 }
6019}
6020#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6021#[repr(i32)]
6022pub enum IngressVideoEncodingPreset {
6023 H264720p30fps3Layers = 0,
6025 H2641080p30fps3Layers = 1,
6027 H264540p25fps2Layers = 2,
6029 H264720p30fps1Layer = 3,
6031 H2641080p30fps1Layer = 4,
6033 H264720p30fps3LayersHighMotion = 5,
6035 H2641080p30fps3LayersHighMotion = 6,
6037 H264540p25fps2LayersHighMotion = 7,
6039 H264720p30fps1LayerHighMotion = 8,
6041 H2641080p30fps1LayerHighMotion = 9,
6043}
6044impl IngressVideoEncodingPreset {
6045 pub fn as_str_name(&self) -> &'static str {
6050 match self {
6051 Self::H264720p30fps3Layers => "H264_720P_30FPS_3_LAYERS",
6052 Self::H2641080p30fps3Layers => "H264_1080P_30FPS_3_LAYERS",
6053 Self::H264540p25fps2Layers => "H264_540P_25FPS_2_LAYERS",
6054 Self::H264720p30fps1Layer => "H264_720P_30FPS_1_LAYER",
6055 Self::H2641080p30fps1Layer => "H264_1080P_30FPS_1_LAYER",
6056 Self::H264720p30fps3LayersHighMotion => "H264_720P_30FPS_3_LAYERS_HIGH_MOTION",
6057 Self::H2641080p30fps3LayersHighMotion => "H264_1080P_30FPS_3_LAYERS_HIGH_MOTION",
6058 Self::H264540p25fps2LayersHighMotion => "H264_540P_25FPS_2_LAYERS_HIGH_MOTION",
6059 Self::H264720p30fps1LayerHighMotion => "H264_720P_30FPS_1_LAYER_HIGH_MOTION",
6060 Self::H2641080p30fps1LayerHighMotion => "H264_1080P_30FPS_1_LAYER_HIGH_MOTION",
6061 }
6062 }
6063 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6065 match value {
6066 "H264_720P_30FPS_3_LAYERS" => Some(Self::H264720p30fps3Layers),
6067 "H264_1080P_30FPS_3_LAYERS" => Some(Self::H2641080p30fps3Layers),
6068 "H264_540P_25FPS_2_LAYERS" => Some(Self::H264540p25fps2Layers),
6069 "H264_720P_30FPS_1_LAYER" => Some(Self::H264720p30fps1Layer),
6070 "H264_1080P_30FPS_1_LAYER" => Some(Self::H2641080p30fps1Layer),
6071 "H264_720P_30FPS_3_LAYERS_HIGH_MOTION" => Some(Self::H264720p30fps3LayersHighMotion),
6072 "H264_1080P_30FPS_3_LAYERS_HIGH_MOTION" => Some(Self::H2641080p30fps3LayersHighMotion),
6073 "H264_540P_25FPS_2_LAYERS_HIGH_MOTION" => Some(Self::H264540p25fps2LayersHighMotion),
6074 "H264_720P_30FPS_1_LAYER_HIGH_MOTION" => Some(Self::H264720p30fps1LayerHighMotion),
6075 "H264_1080P_30FPS_1_LAYER_HIGH_MOTION" => Some(Self::H2641080p30fps1LayerHighMotion),
6076 _ => None,
6077 }
6078 }
6079}
6080#[derive(Clone, PartialEq, ::prost::Message)]
6081pub struct WebhookEvent {
6082 #[prost(string, tag = "1")]
6086 pub event: ::prost::alloc::string::String,
6087 #[prost(message, optional, tag = "2")]
6088 pub room: ::core::option::Option<Room>,
6089 #[prost(message, optional, tag = "3")]
6091 pub participant: ::core::option::Option<ParticipantInfo>,
6092 #[prost(message, optional, tag = "9")]
6094 pub egress_info: ::core::option::Option<EgressInfo>,
6095 #[prost(message, optional, tag = "10")]
6097 pub ingress_info: ::core::option::Option<IngressInfo>,
6098 #[prost(message, optional, tag = "8")]
6100 pub track: ::core::option::Option<TrackInfo>,
6101 #[prost(message, optional, tag = "12")]
6103 pub job: ::core::option::Option<Job>,
6104 #[prost(string, tag = "6")]
6106 pub id: ::prost::alloc::string::String,
6107 #[prost(int64, tag = "7")]
6109 pub created_at: i64,
6110 #[deprecated]
6111 #[prost(int32, tag = "11")]
6112 pub num_dropped: i32,
6113 #[prost(enumeration = "RoomEndReason", tag = "13")]
6115 pub room_end_reason: i32,
6116}
6117#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6119pub struct SipStatus {
6120 #[prost(enumeration = "SipStatusCode", tag = "1")]
6121 pub code: i32,
6122 #[prost(string, tag = "2")]
6123 pub status: ::prost::alloc::string::String,
6124}
6125#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6126pub struct CreateSipTrunkRequest {
6127 #[prost(string, repeated, tag = "1")]
6130 pub inbound_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6131 #[prost(string, tag = "2")]
6133 pub outbound_address: ::prost::alloc::string::String,
6134 #[prost(string, tag = "3")]
6136 pub outbound_number: ::prost::alloc::string::String,
6137 #[deprecated]
6138 #[prost(string, repeated, tag = "4")]
6139 pub inbound_numbers_regex: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6140 #[prost(string, repeated, tag = "9")]
6144 pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6145 #[prost(string, tag = "5")]
6148 pub inbound_username: ::prost::alloc::string::String,
6149 #[prost(string, tag = "6")]
6150 pub inbound_password: ::prost::alloc::string::String,
6151 #[prost(string, tag = "7")]
6152 pub outbound_username: ::prost::alloc::string::String,
6153 #[prost(string, tag = "8")]
6154 pub outbound_password: ::prost::alloc::string::String,
6155 #[prost(string, tag = "10")]
6157 pub name: ::prost::alloc::string::String,
6158 #[prost(string, tag = "11")]
6160 pub metadata: ::prost::alloc::string::String,
6161}
6162#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6163pub struct SipCodec {
6164 #[prost(string, tag = "1")]
6165 pub name: ::prost::alloc::string::String,
6166 #[prost(uint32, tag = "2")]
6167 pub rate: u32,
6168}
6169#[derive(Clone, PartialEq, ::prost::Message)]
6170pub struct SipMediaConfig {
6171 #[prost(bool, tag = "1")]
6173 pub only_listed_codecs: bool,
6174 #[prost(message, repeated, tag = "2")]
6176 pub codecs: ::prost::alloc::vec::Vec<SipCodec>,
6177 #[prost(enumeration = "SipMediaEncryption", optional, tag = "3")]
6178 pub encryption: ::core::option::Option<i32>,
6179 #[prost(message, optional, tag = "4")]
6181 pub media_timeout: ::core::option::Option<::pbjson_types::Duration>,
6182}
6183#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6184pub struct ProviderInfo {
6185 #[prost(string, tag = "1")]
6186 pub id: ::prost::alloc::string::String,
6187 #[prost(string, tag = "2")]
6188 pub name: ::prost::alloc::string::String,
6189 #[prost(enumeration = "ProviderType", tag = "3")]
6190 pub r#type: i32,
6191 #[prost(bool, tag = "4")]
6192 pub prevent_transfer: bool,
6193}
6194#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6195pub struct SipTrunkInfo {
6196 #[prost(string, tag = "1")]
6197 pub sip_trunk_id: ::prost::alloc::string::String,
6198 #[prost(enumeration = "sip_trunk_info::TrunkKind", tag = "14")]
6199 pub kind: i32,
6200 #[prost(string, repeated, tag = "2")]
6203 pub inbound_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6204 #[prost(string, tag = "3")]
6206 pub outbound_address: ::prost::alloc::string::String,
6207 #[prost(string, tag = "4")]
6209 pub outbound_number: ::prost::alloc::string::String,
6210 #[prost(enumeration = "SipTransport", tag = "13")]
6212 pub transport: i32,
6213 #[deprecated]
6214 #[prost(string, repeated, tag = "5")]
6215 pub inbound_numbers_regex: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6216 #[prost(string, repeated, tag = "10")]
6220 pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6221 #[prost(string, tag = "6")]
6224 pub inbound_username: ::prost::alloc::string::String,
6225 #[prost(string, tag = "7")]
6226 pub inbound_password: ::prost::alloc::string::String,
6227 #[prost(string, tag = "8")]
6228 pub outbound_username: ::prost::alloc::string::String,
6229 #[prost(string, tag = "9")]
6230 pub outbound_password: ::prost::alloc::string::String,
6231 #[prost(string, tag = "11")]
6233 pub name: ::prost::alloc::string::String,
6234 #[prost(string, tag = "12")]
6236 pub metadata: ::prost::alloc::string::String,
6237}
6238pub mod sip_trunk_info {
6240 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6241 #[repr(i32)]
6242 pub enum TrunkKind {
6243 TrunkLegacy = 0,
6244 TrunkInbound = 1,
6245 TrunkOutbound = 2,
6246 }
6247 impl TrunkKind {
6248 pub fn as_str_name(&self) -> &'static str {
6253 match self {
6254 Self::TrunkLegacy => "TRUNK_LEGACY",
6255 Self::TrunkInbound => "TRUNK_INBOUND",
6256 Self::TrunkOutbound => "TRUNK_OUTBOUND",
6257 }
6258 }
6259 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6261 match value {
6262 "TRUNK_LEGACY" => Some(Self::TrunkLegacy),
6263 "TRUNK_INBOUND" => Some(Self::TrunkInbound),
6264 "TRUNK_OUTBOUND" => Some(Self::TrunkOutbound),
6265 _ => None,
6266 }
6267 }
6268 }
6269}
6270#[derive(Clone, PartialEq, ::prost::Message)]
6271pub struct CreateSipInboundTrunkRequest {
6272 #[prost(message, optional, tag = "1")]
6274 pub trunk: ::core::option::Option<SipInboundTrunkInfo>,
6275}
6276#[derive(Clone, PartialEq, ::prost::Message)]
6277pub struct UpdateSipInboundTrunkRequest {
6278 #[prost(string, tag = "1")]
6279 pub sip_trunk_id: ::prost::alloc::string::String,
6280 #[prost(oneof = "update_sip_inbound_trunk_request::Action", tags = "2, 3")]
6281 pub action: ::core::option::Option<update_sip_inbound_trunk_request::Action>,
6282}
6283pub mod update_sip_inbound_trunk_request {
6285 #[derive(Clone, PartialEq, ::prost::Oneof)]
6286 pub enum Action {
6287 #[prost(message, tag = "2")]
6288 Replace(super::SipInboundTrunkInfo),
6289 #[prost(message, tag = "3")]
6290 Update(super::SipInboundTrunkUpdate),
6291 }
6292}
6293#[derive(Clone, PartialEq, ::prost::Message)]
6294pub struct SipInboundTrunkInfo {
6295 #[prost(string, tag = "1")]
6296 pub sip_trunk_id: ::prost::alloc::string::String,
6297 #[prost(string, tag = "2")]
6299 pub name: ::prost::alloc::string::String,
6300 #[prost(string, tag = "3")]
6302 pub metadata: ::prost::alloc::string::String,
6303 #[prost(string, repeated, tag = "4")]
6306 pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6307 #[prost(string, repeated, tag = "5")]
6310 pub allowed_addresses: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6311 #[prost(string, repeated, tag = "6")]
6314 pub allowed_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6315 #[prost(string, tag = "7")]
6318 pub auth_username: ::prost::alloc::string::String,
6319 #[prost(string, tag = "8")]
6320 pub auth_password: ::prost::alloc::string::String,
6321 #[prost(string, tag = "19")]
6322 pub auth_realm: ::prost::alloc::string::String,
6323 #[prost(map = "string, string", tag = "9")]
6325 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6326 #[prost(map = "string, string", tag = "10")]
6328 pub headers_to_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6329 #[prost(map = "string, string", tag = "14")]
6332 pub attributes_to_headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6333 #[prost(enumeration = "SipHeaderOptions", tag = "15")]
6340 pub include_headers: i32,
6341 #[prost(message, optional, tag = "11")]
6343 pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
6344 #[prost(enumeration = "SipStatusCode", tag = "21")]
6346 pub ringing_timeout_status: i32,
6347 #[prost(message, optional, tag = "12")]
6349 pub max_call_duration: ::core::option::Option<::pbjson_types::Duration>,
6350 #[prost(bool, tag = "13")]
6351 pub krisp_enabled: bool,
6352 #[deprecated]
6353 #[prost(enumeration = "SipMediaEncryption", tag = "16")]
6354 pub media_encryption: i32,
6355 #[prost(message, optional, tag = "20")]
6356 pub media: ::core::option::Option<SipMediaConfig>,
6357 #[prost(message, optional, tag = "17")]
6358 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
6359 #[prost(message, optional, tag = "18")]
6360 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
6361}
6362#[derive(Clone, PartialEq, ::prost::Message)]
6363pub struct SipInboundTrunkUpdate {
6364 #[prost(message, optional, tag = "1")]
6365 pub numbers: ::core::option::Option<ListUpdate>,
6366 #[prost(message, optional, tag = "2")]
6367 pub allowed_addresses: ::core::option::Option<ListUpdate>,
6368 #[prost(message, optional, tag = "3")]
6369 pub allowed_numbers: ::core::option::Option<ListUpdate>,
6370 #[prost(string, optional, tag = "4")]
6371 pub auth_username: ::core::option::Option<::prost::alloc::string::String>,
6372 #[prost(string, optional, tag = "5")]
6373 pub auth_password: ::core::option::Option<::prost::alloc::string::String>,
6374 #[prost(string, optional, tag = "9")]
6375 pub auth_realm: ::core::option::Option<::prost::alloc::string::String>,
6376 #[prost(string, optional, tag = "6")]
6377 pub name: ::core::option::Option<::prost::alloc::string::String>,
6378 #[prost(string, optional, tag = "7")]
6379 pub metadata: ::core::option::Option<::prost::alloc::string::String>,
6380 #[deprecated]
6381 #[prost(enumeration = "SipMediaEncryption", optional, tag = "8")]
6382 pub media_encryption: ::core::option::Option<i32>,
6383 #[prost(message, optional, tag = "10")]
6384 pub media: ::core::option::Option<SipMediaConfig>,
6385}
6386#[derive(Clone, PartialEq, ::prost::Message)]
6387pub struct CreateSipOutboundTrunkRequest {
6388 #[prost(message, optional, tag = "1")]
6390 pub trunk: ::core::option::Option<SipOutboundTrunkInfo>,
6391}
6392#[derive(Clone, PartialEq, ::prost::Message)]
6393pub struct UpdateSipOutboundTrunkRequest {
6394 #[prost(string, tag = "1")]
6395 pub sip_trunk_id: ::prost::alloc::string::String,
6396 #[prost(oneof = "update_sip_outbound_trunk_request::Action", tags = "2, 3")]
6397 pub action: ::core::option::Option<update_sip_outbound_trunk_request::Action>,
6398}
6399pub mod update_sip_outbound_trunk_request {
6401 #[derive(Clone, PartialEq, ::prost::Oneof)]
6402 pub enum Action {
6403 #[prost(message, tag = "2")]
6404 Replace(super::SipOutboundTrunkInfo),
6405 #[prost(message, tag = "3")]
6406 Update(super::SipOutboundTrunkUpdate),
6407 }
6408}
6409#[derive(Clone, PartialEq, ::prost::Message)]
6410pub struct SipOutboundTrunkInfo {
6411 #[prost(string, tag = "1")]
6412 pub sip_trunk_id: ::prost::alloc::string::String,
6413 #[prost(string, tag = "2")]
6415 pub name: ::prost::alloc::string::String,
6416 #[prost(string, tag = "3")]
6418 pub metadata: ::prost::alloc::string::String,
6419 #[prost(string, tag = "4")]
6422 pub address: ::prost::alloc::string::String,
6423 #[prost(string, tag = "14")]
6425 pub destination_country: ::prost::alloc::string::String,
6426 #[prost(enumeration = "SipTransport", tag = "5")]
6428 pub transport: i32,
6429 #[prost(string, repeated, tag = "6")]
6431 pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6432 #[prost(string, tag = "7")]
6435 pub auth_username: ::prost::alloc::string::String,
6436 #[prost(string, tag = "8")]
6437 pub auth_password: ::prost::alloc::string::String,
6438 #[prost(map = "string, string", tag = "9")]
6441 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6442 #[prost(map = "string, string", tag = "10")]
6445 pub headers_to_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6446 #[prost(map = "string, string", tag = "11")]
6449 pub attributes_to_headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6450 #[prost(enumeration = "SipHeaderOptions", tag = "12")]
6457 pub include_headers: i32,
6458 #[deprecated]
6459 #[prost(enumeration = "SipMediaEncryption", tag = "13")]
6460 pub media_encryption: i32,
6461 #[prost(message, optional, tag = "18")]
6462 pub media: ::core::option::Option<SipMediaConfig>,
6463 #[prost(string, tag = "15")]
6467 pub from_host: ::prost::alloc::string::String,
6468 #[prost(message, optional, tag = "16")]
6469 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
6470 #[prost(message, optional, tag = "17")]
6471 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
6472}
6473#[derive(Clone, PartialEq, ::prost::Message)]
6474pub struct SipOutboundTrunkUpdate {
6475 #[prost(string, optional, tag = "1")]
6476 pub address: ::core::option::Option<::prost::alloc::string::String>,
6477 #[prost(enumeration = "SipTransport", optional, tag = "2")]
6478 pub transport: ::core::option::Option<i32>,
6479 #[prost(string, optional, tag = "9")]
6480 pub destination_country: ::core::option::Option<::prost::alloc::string::String>,
6481 #[prost(message, optional, tag = "3")]
6482 pub numbers: ::core::option::Option<ListUpdate>,
6483 #[prost(string, optional, tag = "4")]
6484 pub auth_username: ::core::option::Option<::prost::alloc::string::String>,
6485 #[prost(string, optional, tag = "5")]
6486 pub auth_password: ::core::option::Option<::prost::alloc::string::String>,
6487 #[prost(string, optional, tag = "6")]
6488 pub name: ::core::option::Option<::prost::alloc::string::String>,
6489 #[prost(string, optional, tag = "7")]
6490 pub metadata: ::core::option::Option<::prost::alloc::string::String>,
6491 #[deprecated]
6492 #[prost(enumeration = "SipMediaEncryption", optional, tag = "8")]
6493 pub media_encryption: ::core::option::Option<i32>,
6494 #[prost(message, optional, tag = "11")]
6495 pub media: ::core::option::Option<SipMediaConfig>,
6496 #[prost(string, optional, tag = "10")]
6497 pub from_host: ::core::option::Option<::prost::alloc::string::String>,
6498}
6499#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6500pub struct GetSipInboundTrunkRequest {
6501 #[prost(string, tag = "1")]
6502 pub sip_trunk_id: ::prost::alloc::string::String,
6503}
6504#[derive(Clone, PartialEq, ::prost::Message)]
6505pub struct GetSipInboundTrunkResponse {
6506 #[prost(message, optional, tag = "1")]
6507 pub trunk: ::core::option::Option<SipInboundTrunkInfo>,
6508}
6509#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6510pub struct GetSipOutboundTrunkRequest {
6511 #[prost(string, tag = "1")]
6512 pub sip_trunk_id: ::prost::alloc::string::String,
6513}
6514#[derive(Clone, PartialEq, ::prost::Message)]
6515pub struct GetSipOutboundTrunkResponse {
6516 #[prost(message, optional, tag = "1")]
6517 pub trunk: ::core::option::Option<SipOutboundTrunkInfo>,
6518}
6519#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6520pub struct ListSipTrunkRequest {
6521 #[prost(message, optional, tag = "1")]
6522 pub page: ::core::option::Option<Pagination>,
6523}
6524#[derive(Clone, PartialEq, ::prost::Message)]
6525pub struct ListSipTrunkResponse {
6526 #[prost(message, repeated, tag = "1")]
6527 pub items: ::prost::alloc::vec::Vec<SipTrunkInfo>,
6528}
6529#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6531pub struct ListSipInboundTrunkRequest {
6532 #[prost(message, optional, tag = "3")]
6533 pub page: ::core::option::Option<Pagination>,
6534 #[prost(string, repeated, tag = "1")]
6537 pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6538 #[prost(string, repeated, tag = "2")]
6540 pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6541}
6542#[derive(Clone, PartialEq, ::prost::Message)]
6543pub struct ListSipInboundTrunkResponse {
6544 #[prost(message, repeated, tag = "1")]
6545 pub items: ::prost::alloc::vec::Vec<SipInboundTrunkInfo>,
6546}
6547#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6549pub struct ListSipOutboundTrunkRequest {
6550 #[prost(message, optional, tag = "3")]
6551 pub page: ::core::option::Option<Pagination>,
6552 #[prost(string, repeated, tag = "1")]
6555 pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6556 #[prost(string, repeated, tag = "2")]
6558 pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6559}
6560#[derive(Clone, PartialEq, ::prost::Message)]
6561pub struct ListSipOutboundTrunkResponse {
6562 #[prost(message, repeated, tag = "1")]
6563 pub items: ::prost::alloc::vec::Vec<SipOutboundTrunkInfo>,
6564}
6565#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6566pub struct DeleteSipTrunkRequest {
6567 #[prost(string, tag = "1")]
6568 pub sip_trunk_id: ::prost::alloc::string::String,
6569}
6570#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6571pub struct SipDispatchRuleDirect {
6572 #[prost(string, tag = "1")]
6574 pub room_name: ::prost::alloc::string::String,
6575 #[prost(string, tag = "2")]
6577 pub pin: ::prost::alloc::string::String,
6578}
6579#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6580pub struct SipDispatchRuleIndividual {
6581 #[prost(string, tag = "1")]
6583 pub room_prefix: ::prost::alloc::string::String,
6584 #[prost(string, tag = "2")]
6586 pub pin: ::prost::alloc::string::String,
6587 #[prost(bool, tag = "3")]
6589 pub no_randomness: bool,
6590}
6591#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6592pub struct SipDispatchRuleCallee {
6593 #[prost(string, tag = "1")]
6595 pub room_prefix: ::prost::alloc::string::String,
6596 #[prost(string, tag = "2")]
6598 pub pin: ::prost::alloc::string::String,
6599 #[prost(bool, tag = "3")]
6601 pub randomize: bool,
6602}
6603#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6604pub struct SipDispatchRule {
6605 #[prost(oneof = "sip_dispatch_rule::Rule", tags = "1, 2, 3")]
6606 pub rule: ::core::option::Option<sip_dispatch_rule::Rule>,
6607}
6608pub mod sip_dispatch_rule {
6610 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
6611 pub enum Rule {
6612 #[prost(message, tag = "1")]
6616 DispatchRuleDirect(super::SipDispatchRuleDirect),
6617 #[prost(message, tag = "2")]
6619 DispatchRuleIndividual(super::SipDispatchRuleIndividual),
6620 #[prost(message, tag = "3")]
6622 DispatchRuleCallee(super::SipDispatchRuleCallee),
6623 }
6624}
6625#[derive(Clone, PartialEq, ::prost::Message)]
6626pub struct CreateSipDispatchRuleRequest {
6627 #[prost(message, optional, tag = "10")]
6629 pub dispatch_rule: ::core::option::Option<SipDispatchRuleInfo>,
6630 #[deprecated]
6631 #[prost(message, optional, tag = "1")]
6632 pub rule: ::core::option::Option<SipDispatchRule>,
6633 #[deprecated]
6636 #[prost(string, repeated, tag = "2")]
6637 pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6638 #[deprecated]
6641 #[prost(bool, tag = "3")]
6642 pub hide_phone_number: bool,
6643 #[deprecated]
6645 #[prost(string, repeated, tag = "6")]
6646 pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6647 #[deprecated]
6649 #[prost(string, tag = "4")]
6650 pub name: ::prost::alloc::string::String,
6651 #[deprecated]
6654 #[prost(string, tag = "5")]
6655 pub metadata: ::prost::alloc::string::String,
6656 #[prost(map = "string, string", tag = "7")]
6659 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6660 #[deprecated]
6662 #[prost(string, tag = "8")]
6663 pub room_preset: ::prost::alloc::string::String,
6664 #[deprecated]
6666 #[prost(message, optional, tag = "9")]
6667 pub room_config: ::core::option::Option<RoomConfiguration>,
6668}
6669#[derive(Clone, PartialEq, ::prost::Message)]
6670pub struct UpdateSipDispatchRuleRequest {
6671 #[prost(string, tag = "1")]
6672 pub sip_dispatch_rule_id: ::prost::alloc::string::String,
6673 #[prost(oneof = "update_sip_dispatch_rule_request::Action", tags = "2, 3")]
6674 pub action: ::core::option::Option<update_sip_dispatch_rule_request::Action>,
6675}
6676pub mod update_sip_dispatch_rule_request {
6678 #[derive(Clone, PartialEq, ::prost::Oneof)]
6679 pub enum Action {
6680 #[prost(message, tag = "2")]
6681 Replace(super::SipDispatchRuleInfo),
6682 #[prost(message, tag = "3")]
6683 Update(super::SipDispatchRuleUpdate),
6684 }
6685}
6686#[derive(Clone, PartialEq, ::prost::Message)]
6687pub struct SipDispatchRuleInfo {
6688 #[prost(string, tag = "1")]
6689 pub sip_dispatch_rule_id: ::prost::alloc::string::String,
6690 #[prost(message, optional, tag = "2")]
6691 pub rule: ::core::option::Option<SipDispatchRule>,
6692 #[prost(string, repeated, tag = "3")]
6693 pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6694 #[prost(bool, tag = "4")]
6695 pub hide_phone_number: bool,
6696 #[prost(string, repeated, tag = "7")]
6698 pub inbound_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6699 #[prost(string, repeated, tag = "13")]
6701 pub numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6702 #[prost(string, tag = "5")]
6704 pub name: ::prost::alloc::string::String,
6705 #[prost(string, tag = "6")]
6708 pub metadata: ::prost::alloc::string::String,
6709 #[prost(map = "string, string", tag = "8")]
6712 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6713 #[prost(string, tag = "9")]
6715 pub room_preset: ::prost::alloc::string::String,
6716 #[prost(message, optional, tag = "10")]
6718 pub room_config: ::core::option::Option<RoomConfiguration>,
6719 #[prost(message, optional, tag = "16")]
6720 pub media: ::core::option::Option<SipMediaConfig>,
6721 #[prost(bool, tag = "11")]
6722 pub krisp_enabled: bool,
6723 #[deprecated]
6724 #[prost(enumeration = "SipMediaEncryption", tag = "12")]
6725 pub media_encryption: i32,
6726 #[prost(message, optional, tag = "14")]
6727 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
6728 #[prost(message, optional, tag = "15")]
6729 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
6730}
6731#[derive(Clone, PartialEq, ::prost::Message)]
6732pub struct SipDispatchRuleUpdate {
6733 #[prost(message, optional, tag = "1")]
6734 pub trunk_ids: ::core::option::Option<ListUpdate>,
6735 #[prost(message, optional, tag = "2")]
6736 pub rule: ::core::option::Option<SipDispatchRule>,
6737 #[prost(string, optional, tag = "3")]
6738 pub name: ::core::option::Option<::prost::alloc::string::String>,
6739 #[prost(string, optional, tag = "4")]
6740 pub metadata: ::core::option::Option<::prost::alloc::string::String>,
6741 #[prost(map = "string, string", tag = "5")]
6742 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6743 #[deprecated]
6744 #[prost(enumeration = "SipMediaEncryption", optional, tag = "6")]
6745 pub media_encryption: ::core::option::Option<i32>,
6746 #[prost(message, optional, tag = "7")]
6747 pub media: ::core::option::Option<SipMediaConfig>,
6748}
6749#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6751pub struct ListSipDispatchRuleRequest {
6752 #[prost(message, optional, tag = "3")]
6753 pub page: ::core::option::Option<Pagination>,
6754 #[prost(string, repeated, tag = "1")]
6757 pub dispatch_rule_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6758 #[prost(string, repeated, tag = "2")]
6760 pub trunk_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
6761}
6762#[derive(Clone, PartialEq, ::prost::Message)]
6763pub struct ListSipDispatchRuleResponse {
6764 #[prost(message, repeated, tag = "1")]
6765 pub items: ::prost::alloc::vec::Vec<SipDispatchRuleInfo>,
6766}
6767#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6768pub struct DeleteSipDispatchRuleRequest {
6769 #[prost(string, tag = "1")]
6770 pub sip_dispatch_rule_id: ::prost::alloc::string::String,
6771}
6772#[derive(Clone, PartialEq, ::prost::Message)]
6773pub struct SipOutboundConfig {
6774 #[prost(string, tag = "1")]
6776 pub hostname: ::prost::alloc::string::String,
6777 #[prost(string, tag = "7")]
6779 pub destination_country: ::prost::alloc::string::String,
6780 #[prost(enumeration = "SipTransport", tag = "2")]
6782 pub transport: i32,
6783 #[prost(string, tag = "3")]
6786 pub auth_username: ::prost::alloc::string::String,
6787 #[prost(string, tag = "4")]
6788 pub auth_password: ::prost::alloc::string::String,
6789 #[prost(map = "string, string", tag = "5")]
6792 pub headers_to_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6793 #[prost(map = "string, string", tag = "6")]
6796 pub attributes_to_headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6797 #[prost(string, tag = "8")]
6799 pub from_host: ::prost::alloc::string::String,
6800}
6801#[derive(Clone, PartialEq, ::prost::Message)]
6804pub struct CreateSipParticipantRequest {
6805 #[prost(string, tag = "1")]
6807 pub sip_trunk_id: ::prost::alloc::string::String,
6808 #[prost(message, optional, tag = "20")]
6809 pub trunk: ::core::option::Option<SipOutboundConfig>,
6810 #[prost(message, optional, tag = "24")]
6812 pub sip_request_uri: ::core::option::Option<SipRequestDest>,
6813 #[prost(message, optional, tag = "25")]
6818 pub sip_to_header: ::core::option::Option<SipNamedDest>,
6819 #[prost(message, optional, tag = "26")]
6821 pub sip_from_header: ::core::option::Option<SipNamedDest>,
6822 #[prost(string, tag = "2")]
6824 pub sip_call_to: ::prost::alloc::string::String,
6825 #[prost(string, tag = "27")]
6834 pub to_user_override: ::prost::alloc::string::String,
6835 #[prost(string, tag = "15")]
6837 pub sip_number: ::prost::alloc::string::String,
6838 #[prost(string, tag = "3")]
6840 pub room_name: ::prost::alloc::string::String,
6841 #[prost(string, tag = "4")]
6843 pub participant_identity: ::prost::alloc::string::String,
6844 #[prost(string, tag = "7")]
6846 pub participant_name: ::prost::alloc::string::String,
6847 #[prost(string, tag = "8")]
6849 pub participant_metadata: ::prost::alloc::string::String,
6850 #[prost(map = "string, string", tag = "9")]
6852 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6853 #[prost(string, tag = "5")]
6856 pub dtmf: ::prost::alloc::string::String,
6857 #[deprecated]
6859 #[prost(bool, tag = "6")]
6860 pub play_ringtone: bool,
6861 #[prost(bool, tag = "13")]
6862 pub play_dialtone: bool,
6863 #[prost(bool, tag = "10")]
6866 pub hide_phone_number: bool,
6867 #[prost(map = "string, string", tag = "16")]
6869 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6870 #[prost(enumeration = "SipHeaderOptions", tag = "17")]
6877 pub include_headers: i32,
6878 #[prost(message, optional, tag = "11")]
6880 pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
6881 #[prost(message, optional, tag = "12")]
6883 pub max_call_duration: ::core::option::Option<::pbjson_types::Duration>,
6884 #[prost(bool, tag = "14")]
6886 pub krisp_enabled: bool,
6887 #[deprecated]
6888 #[prost(enumeration = "SipMediaEncryption", tag = "18")]
6889 pub media_encryption: i32,
6890 #[prost(message, optional, tag = "23")]
6891 pub media: ::core::option::Option<SipMediaConfig>,
6892 #[prost(bool, tag = "19")]
6894 pub wait_until_answered: bool,
6895 #[prost(string, optional, tag = "21")]
6902 pub display_name: ::core::option::Option<::prost::alloc::string::String>,
6903 #[prost(message, optional, tag = "22")]
6905 pub destination: ::core::option::Option<Destination>,
6906}
6907#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6908pub struct SipParticipantInfo {
6909 #[prost(string, tag = "1")]
6910 pub participant_id: ::prost::alloc::string::String,
6911 #[prost(string, tag = "2")]
6912 pub participant_identity: ::prost::alloc::string::String,
6913 #[prost(string, tag = "3")]
6914 pub room_name: ::prost::alloc::string::String,
6915 #[prost(string, tag = "4")]
6916 pub sip_call_id: ::prost::alloc::string::String,
6917}
6918#[derive(Clone, PartialEq, ::prost::Message)]
6919pub struct TransferSipParticipantRequest {
6920 #[prost(string, tag = "1")]
6921 pub participant_identity: ::prost::alloc::string::String,
6922 #[prost(string, tag = "2")]
6923 pub room_name: ::prost::alloc::string::String,
6924 #[prost(string, tag = "3")]
6925 pub transfer_to: ::prost::alloc::string::String,
6926 #[prost(bool, tag = "4")]
6928 pub play_dialtone: bool,
6929 #[prost(map = "string, string", tag = "5")]
6931 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6932 #[prost(message, optional, tag = "6")]
6934 pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
6935}
6936#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6940pub struct TransferSipParticipantResponse {
6941 #[prost(string, tag = "1")]
6942 pub transfer_id: ::prost::alloc::string::String,
6943 #[prost(enumeration = "SipTransferStatus", tag = "2")]
6944 pub status: i32,
6945 #[prost(enumeration = "SipTransferReason", tag = "3")]
6946 pub reason: i32,
6947 #[prost(message, optional, tag = "4")]
6949 pub sip_status: ::core::option::Option<SipStatus>,
6950}
6951#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
6953pub struct SipTransferError {
6954 #[prost(string, tag = "1")]
6955 pub transfer_id: ::prost::alloc::string::String,
6956 #[prost(enumeration = "SipTransferReason", tag = "2")]
6957 pub reason: i32,
6958 #[prost(message, optional, tag = "3")]
6960 pub sip_status: ::core::option::Option<SipStatus>,
6961}
6962#[derive(Clone, PartialEq, ::prost::Message)]
6963pub struct SipCallInfo {
6964 #[prost(string, tag = "1")]
6965 pub call_id: ::prost::alloc::string::String,
6966 #[prost(string, tag = "2")]
6967 pub trunk_id: ::prost::alloc::string::String,
6968 #[prost(string, tag = "16")]
6969 pub dispatch_rule_id: ::prost::alloc::string::String,
6970 #[prost(string, tag = "17")]
6971 pub region: ::prost::alloc::string::String,
6972 #[prost(string, tag = "3")]
6973 pub room_name: ::prost::alloc::string::String,
6974 #[prost(string, tag = "4")]
6976 pub room_id: ::prost::alloc::string::String,
6977 #[prost(string, tag = "5")]
6978 pub participant_identity: ::prost::alloc::string::String,
6979 #[prost(map = "string, string", tag = "18")]
6980 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
6981 #[prost(message, optional, tag = "6")]
6982 pub from_uri: ::core::option::Option<SipUri>,
6983 #[prost(message, optional, tag = "7")]
6984 pub to_uri: ::core::option::Option<SipUri>,
6985 #[deprecated]
6986 #[prost(int64, tag = "9")]
6987 pub created_at: i64,
6988 #[deprecated]
6989 #[prost(int64, tag = "10")]
6990 pub started_at: i64,
6991 #[deprecated]
6992 #[prost(int64, tag = "11")]
6993 pub ended_at: i64,
6994 #[prost(enumeration = "SipFeature", repeated, tag = "14")]
6995 pub enabled_features: ::prost::alloc::vec::Vec<i32>,
6996 #[prost(enumeration = "SipCallDirection", tag = "15")]
6997 pub call_direction: i32,
6998 #[prost(enumeration = "SipCallStatus", tag = "8")]
6999 pub call_status: i32,
7000 #[prost(int64, tag = "22")]
7001 pub created_at_ns: i64,
7002 #[prost(int64, tag = "23")]
7003 pub started_at_ns: i64,
7004 #[prost(int64, tag = "24")]
7005 pub ended_at_ns: i64,
7006 #[prost(enumeration = "DisconnectReason", tag = "12")]
7007 pub disconnect_reason: i32,
7008 #[prost(string, tag = "13")]
7009 pub error: ::prost::alloc::string::String,
7010 #[prost(message, optional, tag = "19")]
7011 pub call_status_code: ::core::option::Option<SipStatus>,
7012 #[prost(string, tag = "20")]
7013 pub audio_codec: ::prost::alloc::string::String,
7014 #[prost(string, tag = "21")]
7015 pub media_encryption: ::prost::alloc::string::String,
7016 #[prost(string, tag = "25")]
7017 pub pcap_file_link: ::prost::alloc::string::String,
7018 #[prost(message, repeated, tag = "26")]
7019 pub call_context: ::prost::alloc::vec::Vec<::pbjson_types::Any>,
7020 #[prost(message, optional, tag = "27")]
7021 pub provider_info: ::core::option::Option<ProviderInfo>,
7022 #[prost(string, tag = "28")]
7023 pub sip_call_id: ::prost::alloc::string::String,
7024}
7025#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7026pub struct SipTransferInfo {
7027 #[prost(string, tag = "1")]
7028 pub transfer_id: ::prost::alloc::string::String,
7029 #[prost(string, tag = "2")]
7030 pub call_id: ::prost::alloc::string::String,
7031 #[prost(string, tag = "3")]
7032 pub transfer_to: ::prost::alloc::string::String,
7033 #[prost(int64, tag = "4")]
7034 pub transfer_initiated_at_ns: i64,
7035 #[prost(int64, tag = "5")]
7036 pub transfer_completed_at_ns: i64,
7037 #[prost(enumeration = "SipTransferStatus", tag = "6")]
7038 pub transfer_status: i32,
7039 #[prost(string, tag = "7")]
7040 pub error: ::prost::alloc::string::String,
7041 #[prost(message, optional, tag = "8")]
7042 pub transfer_status_code: ::core::option::Option<SipStatus>,
7043 #[prost(enumeration = "SipTransferReason", tag = "9")]
7044 pub reason: i32,
7045}
7046#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7047pub struct SipUri {
7048 #[prost(string, tag = "1")]
7049 pub user: ::prost::alloc::string::String,
7050 #[prost(string, tag = "2")]
7051 pub host: ::prost::alloc::string::String,
7052 #[prost(string, tag = "3")]
7053 pub ip: ::prost::alloc::string::String,
7054 #[prost(uint32, tag = "4")]
7055 pub port: u32,
7056 #[prost(enumeration = "SipTransport", tag = "5")]
7057 pub transport: i32,
7058}
7059#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7060pub struct SipRequestDest {
7061 #[prost(oneof = "sip_request_dest::Uri", tags = "1, 2")]
7062 pub uri: ::core::option::Option<sip_request_dest::Uri>,
7063}
7064pub mod sip_request_dest {
7066 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
7067 pub enum Uri {
7068 #[prost(string, tag = "1")]
7070 Raw(::prost::alloc::string::String),
7071 #[prost(message, tag = "2")]
7072 Values(super::SipUri),
7073 }
7074}
7075#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7076pub struct SipNamedDest {
7077 #[prost(string, tag = "3")]
7078 pub display_name: ::prost::alloc::string::String,
7079 #[prost(oneof = "sip_named_dest::Uri", tags = "1, 2")]
7080 pub uri: ::core::option::Option<sip_named_dest::Uri>,
7081}
7082pub mod sip_named_dest {
7084 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
7085 pub enum Uri {
7086 #[prost(string, tag = "1")]
7088 Raw(::prost::alloc::string::String),
7089 #[prost(message, tag = "2")]
7090 Values(super::SipUri),
7091 }
7092}
7093#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7094pub struct Destination {
7095 #[prost(string, tag = "1")]
7096 pub city: ::prost::alloc::string::String,
7097 #[prost(string, tag = "2")]
7098 pub country: ::prost::alloc::string::String,
7099 #[prost(string, tag = "3")]
7100 pub region: ::prost::alloc::string::String,
7101}
7102#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7103#[repr(i32)]
7104pub enum SipStatusCode {
7105 SipStatusUnknown = 0,
7106 SipStatusTrying = 100,
7107 SipStatusRinging = 180,
7108 SipStatusCallIsForwarded = 181,
7109 SipStatusQueued = 182,
7110 SipStatusSessionProgress = 183,
7111 SipStatusEarlyDialogTerminated = 199,
7112 SipStatusOk = 200,
7113 SipStatusAccepted = 202,
7114 SipStatusNoNotification = 204,
7115 SipStatusMultipleChoices = 300,
7116 SipStatusMovedPermanently = 301,
7117 SipStatusMovedTemporarily = 302,
7118 SipStatusUseProxy = 305,
7119 SipStatusAlternativeService = 380,
7120 SipStatusBadRequest = 400,
7121 SipStatusUnauthorized = 401,
7122 SipStatusPaymentRequired = 402,
7123 SipStatusForbidden = 403,
7124 SipStatusNotfound = 404,
7125 SipStatusMethodNotAllowed = 405,
7126 SipStatusNotAcceptable = 406,
7127 SipStatusProxyAuthRequired = 407,
7128 SipStatusRequestTimeout = 408,
7129 SipStatusConflict = 409,
7130 SipStatusGone = 410,
7131 SipStatusLengthRequired = 411,
7132 SipStatusConditionalRequestFailed = 412,
7133 SipStatusRequestEntityTooLarge = 413,
7134 SipStatusRequestUriTooLong = 414,
7135 SipStatusUnsupportedMediaType = 415,
7136 SipStatusRequestedRangeNotSatisfiable = 416,
7137 SipStatusUnknownResourcePriority = 417,
7138 SipStatusBadExtension = 420,
7139 SipStatusExtensionRequired = 421,
7140 SipStatusSessionIntervalTooSmall = 422,
7141 SipStatusIntervalTooBrief = 423,
7142 SipStatusBadLocationInformation = 424,
7143 SipStatusBadAlertMessage = 425,
7144 SipStatusUseIdentityHeader = 428,
7145 SipStatusProvideReferrerIdentity = 429,
7146 SipStatusFlowFailed = 430,
7147 SipStatusAnonymityDisallowed = 433,
7148 SipStatusBadIdentityInfo = 436,
7149 SipStatusUnsupportedCertificate = 437,
7150 SipStatusInvalidIdentityHeader = 438,
7151 SipStatusFirstHopLacksOutboundSupport = 439,
7152 SipStatusMaxBreadthExceeded = 440,
7153 SipStatusBadInfoPackage = 469,
7154 SipStatusConsentNeeded = 470,
7155 SipStatusTemporarilyUnavailable = 480,
7156 SipStatusCallTransactionDoesNotExists = 481,
7157 SipStatusLoopDetected = 482,
7158 SipStatusTooManyHops = 483,
7159 SipStatusAddressIncomplete = 484,
7160 SipStatusAmbiguous = 485,
7161 SipStatusBusyHere = 486,
7162 SipStatusRequestTerminated = 487,
7163 SipStatusNotAcceptableHere = 488,
7164 SipStatusBadEvent = 489,
7165 SipStatusRequestPending = 491,
7166 SipStatusUndecipherable = 493,
7167 SipStatusSecurityAgreementRequired = 494,
7168 SipStatusInternalServerError = 500,
7169 SipStatusNotImplemented = 501,
7170 SipStatusBadGateway = 502,
7171 SipStatusServiceUnavailable = 503,
7172 SipStatusGatewayTimeout = 504,
7173 SipStatusVersionNotSupported = 505,
7174 SipStatusMessageTooLarge = 513,
7175 SipStatusGlobalBusyEverywhere = 600,
7176 SipStatusGlobalDecline = 603,
7177 SipStatusGlobalDoesNotExistAnywhere = 604,
7178 SipStatusGlobalNotAcceptable = 606,
7179 SipStatusGlobalUnwanted = 607,
7180 SipStatusGlobalRejected = 608,
7181}
7182impl SipStatusCode {
7183 pub fn as_str_name(&self) -> &'static str {
7188 match self {
7189 Self::SipStatusUnknown => "SIP_STATUS_UNKNOWN",
7190 Self::SipStatusTrying => "SIP_STATUS_TRYING",
7191 Self::SipStatusRinging => "SIP_STATUS_RINGING",
7192 Self::SipStatusCallIsForwarded => "SIP_STATUS_CALL_IS_FORWARDED",
7193 Self::SipStatusQueued => "SIP_STATUS_QUEUED",
7194 Self::SipStatusSessionProgress => "SIP_STATUS_SESSION_PROGRESS",
7195 Self::SipStatusEarlyDialogTerminated => "SIP_STATUS_EARLY_DIALOG_TERMINATED",
7196 Self::SipStatusOk => "SIP_STATUS_OK",
7197 Self::SipStatusAccepted => "SIP_STATUS_ACCEPTED",
7198 Self::SipStatusNoNotification => "SIP_STATUS_NO_NOTIFICATION",
7199 Self::SipStatusMultipleChoices => "SIP_STATUS_MULTIPLE_CHOICES",
7200 Self::SipStatusMovedPermanently => "SIP_STATUS_MOVED_PERMANENTLY",
7201 Self::SipStatusMovedTemporarily => "SIP_STATUS_MOVED_TEMPORARILY",
7202 Self::SipStatusUseProxy => "SIP_STATUS_USE_PROXY",
7203 Self::SipStatusAlternativeService => "SIP_STATUS_ALTERNATIVE_SERVICE",
7204 Self::SipStatusBadRequest => "SIP_STATUS_BAD_REQUEST",
7205 Self::SipStatusUnauthorized => "SIP_STATUS_UNAUTHORIZED",
7206 Self::SipStatusPaymentRequired => "SIP_STATUS_PAYMENT_REQUIRED",
7207 Self::SipStatusForbidden => "SIP_STATUS_FORBIDDEN",
7208 Self::SipStatusNotfound => "SIP_STATUS_NOTFOUND",
7209 Self::SipStatusMethodNotAllowed => "SIP_STATUS_METHOD_NOT_ALLOWED",
7210 Self::SipStatusNotAcceptable => "SIP_STATUS_NOT_ACCEPTABLE",
7211 Self::SipStatusProxyAuthRequired => "SIP_STATUS_PROXY_AUTH_REQUIRED",
7212 Self::SipStatusRequestTimeout => "SIP_STATUS_REQUEST_TIMEOUT",
7213 Self::SipStatusConflict => "SIP_STATUS_CONFLICT",
7214 Self::SipStatusGone => "SIP_STATUS_GONE",
7215 Self::SipStatusLengthRequired => "SIP_STATUS_LENGTH_REQUIRED",
7216 Self::SipStatusConditionalRequestFailed => "SIP_STATUS_CONDITIONAL_REQUEST_FAILED",
7217 Self::SipStatusRequestEntityTooLarge => "SIP_STATUS_REQUEST_ENTITY_TOO_LARGE",
7218 Self::SipStatusRequestUriTooLong => "SIP_STATUS_REQUEST_URI_TOO_LONG",
7219 Self::SipStatusUnsupportedMediaType => "SIP_STATUS_UNSUPPORTED_MEDIA_TYPE",
7220 Self::SipStatusRequestedRangeNotSatisfiable => "SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE",
7221 Self::SipStatusUnknownResourcePriority => "SIP_STATUS_UNKNOWN_RESOURCE_PRIORITY",
7222 Self::SipStatusBadExtension => "SIP_STATUS_BAD_EXTENSION",
7223 Self::SipStatusExtensionRequired => "SIP_STATUS_EXTENSION_REQUIRED",
7224 Self::SipStatusSessionIntervalTooSmall => "SIP_STATUS_SESSION_INTERVAL_TOO_SMALL",
7225 Self::SipStatusIntervalTooBrief => "SIP_STATUS_INTERVAL_TOO_BRIEF",
7226 Self::SipStatusBadLocationInformation => "SIP_STATUS_BAD_LOCATION_INFORMATION",
7227 Self::SipStatusBadAlertMessage => "SIP_STATUS_BAD_ALERT_MESSAGE",
7228 Self::SipStatusUseIdentityHeader => "SIP_STATUS_USE_IDENTITY_HEADER",
7229 Self::SipStatusProvideReferrerIdentity => "SIP_STATUS_PROVIDE_REFERRER_IDENTITY",
7230 Self::SipStatusFlowFailed => "SIP_STATUS_FLOW_FAILED",
7231 Self::SipStatusAnonymityDisallowed => "SIP_STATUS_ANONYMITY_DISALLOWED",
7232 Self::SipStatusBadIdentityInfo => "SIP_STATUS_BAD_IDENTITY_INFO",
7233 Self::SipStatusUnsupportedCertificate => "SIP_STATUS_UNSUPPORTED_CERTIFICATE",
7234 Self::SipStatusInvalidIdentityHeader => "SIP_STATUS_INVALID_IDENTITY_HEADER",
7235 Self::SipStatusFirstHopLacksOutboundSupport => "SIP_STATUS_FIRST_HOP_LACKS_OUTBOUND_SUPPORT",
7236 Self::SipStatusMaxBreadthExceeded => "SIP_STATUS_MAX_BREADTH_EXCEEDED",
7237 Self::SipStatusBadInfoPackage => "SIP_STATUS_BAD_INFO_PACKAGE",
7238 Self::SipStatusConsentNeeded => "SIP_STATUS_CONSENT_NEEDED",
7239 Self::SipStatusTemporarilyUnavailable => "SIP_STATUS_TEMPORARILY_UNAVAILABLE",
7240 Self::SipStatusCallTransactionDoesNotExists => "SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS",
7241 Self::SipStatusLoopDetected => "SIP_STATUS_LOOP_DETECTED",
7242 Self::SipStatusTooManyHops => "SIP_STATUS_TOO_MANY_HOPS",
7243 Self::SipStatusAddressIncomplete => "SIP_STATUS_ADDRESS_INCOMPLETE",
7244 Self::SipStatusAmbiguous => "SIP_STATUS_AMBIGUOUS",
7245 Self::SipStatusBusyHere => "SIP_STATUS_BUSY_HERE",
7246 Self::SipStatusRequestTerminated => "SIP_STATUS_REQUEST_TERMINATED",
7247 Self::SipStatusNotAcceptableHere => "SIP_STATUS_NOT_ACCEPTABLE_HERE",
7248 Self::SipStatusBadEvent => "SIP_STATUS_BAD_EVENT",
7249 Self::SipStatusRequestPending => "SIP_STATUS_REQUEST_PENDING",
7250 Self::SipStatusUndecipherable => "SIP_STATUS_UNDECIPHERABLE",
7251 Self::SipStatusSecurityAgreementRequired => "SIP_STATUS_SECURITY_AGREEMENT_REQUIRED",
7252 Self::SipStatusInternalServerError => "SIP_STATUS_INTERNAL_SERVER_ERROR",
7253 Self::SipStatusNotImplemented => "SIP_STATUS_NOT_IMPLEMENTED",
7254 Self::SipStatusBadGateway => "SIP_STATUS_BAD_GATEWAY",
7255 Self::SipStatusServiceUnavailable => "SIP_STATUS_SERVICE_UNAVAILABLE",
7256 Self::SipStatusGatewayTimeout => "SIP_STATUS_GATEWAY_TIMEOUT",
7257 Self::SipStatusVersionNotSupported => "SIP_STATUS_VERSION_NOT_SUPPORTED",
7258 Self::SipStatusMessageTooLarge => "SIP_STATUS_MESSAGE_TOO_LARGE",
7259 Self::SipStatusGlobalBusyEverywhere => "SIP_STATUS_GLOBAL_BUSY_EVERYWHERE",
7260 Self::SipStatusGlobalDecline => "SIP_STATUS_GLOBAL_DECLINE",
7261 Self::SipStatusGlobalDoesNotExistAnywhere => "SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE",
7262 Self::SipStatusGlobalNotAcceptable => "SIP_STATUS_GLOBAL_NOT_ACCEPTABLE",
7263 Self::SipStatusGlobalUnwanted => "SIP_STATUS_GLOBAL_UNWANTED",
7264 Self::SipStatusGlobalRejected => "SIP_STATUS_GLOBAL_REJECTED",
7265 }
7266 }
7267 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7269 match value {
7270 "SIP_STATUS_UNKNOWN" => Some(Self::SipStatusUnknown),
7271 "SIP_STATUS_TRYING" => Some(Self::SipStatusTrying),
7272 "SIP_STATUS_RINGING" => Some(Self::SipStatusRinging),
7273 "SIP_STATUS_CALL_IS_FORWARDED" => Some(Self::SipStatusCallIsForwarded),
7274 "SIP_STATUS_QUEUED" => Some(Self::SipStatusQueued),
7275 "SIP_STATUS_SESSION_PROGRESS" => Some(Self::SipStatusSessionProgress),
7276 "SIP_STATUS_EARLY_DIALOG_TERMINATED" => Some(Self::SipStatusEarlyDialogTerminated),
7277 "SIP_STATUS_OK" => Some(Self::SipStatusOk),
7278 "SIP_STATUS_ACCEPTED" => Some(Self::SipStatusAccepted),
7279 "SIP_STATUS_NO_NOTIFICATION" => Some(Self::SipStatusNoNotification),
7280 "SIP_STATUS_MULTIPLE_CHOICES" => Some(Self::SipStatusMultipleChoices),
7281 "SIP_STATUS_MOVED_PERMANENTLY" => Some(Self::SipStatusMovedPermanently),
7282 "SIP_STATUS_MOVED_TEMPORARILY" => Some(Self::SipStatusMovedTemporarily),
7283 "SIP_STATUS_USE_PROXY" => Some(Self::SipStatusUseProxy),
7284 "SIP_STATUS_ALTERNATIVE_SERVICE" => Some(Self::SipStatusAlternativeService),
7285 "SIP_STATUS_BAD_REQUEST" => Some(Self::SipStatusBadRequest),
7286 "SIP_STATUS_UNAUTHORIZED" => Some(Self::SipStatusUnauthorized),
7287 "SIP_STATUS_PAYMENT_REQUIRED" => Some(Self::SipStatusPaymentRequired),
7288 "SIP_STATUS_FORBIDDEN" => Some(Self::SipStatusForbidden),
7289 "SIP_STATUS_NOTFOUND" => Some(Self::SipStatusNotfound),
7290 "SIP_STATUS_METHOD_NOT_ALLOWED" => Some(Self::SipStatusMethodNotAllowed),
7291 "SIP_STATUS_NOT_ACCEPTABLE" => Some(Self::SipStatusNotAcceptable),
7292 "SIP_STATUS_PROXY_AUTH_REQUIRED" => Some(Self::SipStatusProxyAuthRequired),
7293 "SIP_STATUS_REQUEST_TIMEOUT" => Some(Self::SipStatusRequestTimeout),
7294 "SIP_STATUS_CONFLICT" => Some(Self::SipStatusConflict),
7295 "SIP_STATUS_GONE" => Some(Self::SipStatusGone),
7296 "SIP_STATUS_LENGTH_REQUIRED" => Some(Self::SipStatusLengthRequired),
7297 "SIP_STATUS_CONDITIONAL_REQUEST_FAILED" => Some(Self::SipStatusConditionalRequestFailed),
7298 "SIP_STATUS_REQUEST_ENTITY_TOO_LARGE" => Some(Self::SipStatusRequestEntityTooLarge),
7299 "SIP_STATUS_REQUEST_URI_TOO_LONG" => Some(Self::SipStatusRequestUriTooLong),
7300 "SIP_STATUS_UNSUPPORTED_MEDIA_TYPE" => Some(Self::SipStatusUnsupportedMediaType),
7301 "SIP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE" => Some(Self::SipStatusRequestedRangeNotSatisfiable),
7302 "SIP_STATUS_UNKNOWN_RESOURCE_PRIORITY" => Some(Self::SipStatusUnknownResourcePriority),
7303 "SIP_STATUS_BAD_EXTENSION" => Some(Self::SipStatusBadExtension),
7304 "SIP_STATUS_EXTENSION_REQUIRED" => Some(Self::SipStatusExtensionRequired),
7305 "SIP_STATUS_SESSION_INTERVAL_TOO_SMALL" => Some(Self::SipStatusSessionIntervalTooSmall),
7306 "SIP_STATUS_INTERVAL_TOO_BRIEF" => Some(Self::SipStatusIntervalTooBrief),
7307 "SIP_STATUS_BAD_LOCATION_INFORMATION" => Some(Self::SipStatusBadLocationInformation),
7308 "SIP_STATUS_BAD_ALERT_MESSAGE" => Some(Self::SipStatusBadAlertMessage),
7309 "SIP_STATUS_USE_IDENTITY_HEADER" => Some(Self::SipStatusUseIdentityHeader),
7310 "SIP_STATUS_PROVIDE_REFERRER_IDENTITY" => Some(Self::SipStatusProvideReferrerIdentity),
7311 "SIP_STATUS_FLOW_FAILED" => Some(Self::SipStatusFlowFailed),
7312 "SIP_STATUS_ANONYMITY_DISALLOWED" => Some(Self::SipStatusAnonymityDisallowed),
7313 "SIP_STATUS_BAD_IDENTITY_INFO" => Some(Self::SipStatusBadIdentityInfo),
7314 "SIP_STATUS_UNSUPPORTED_CERTIFICATE" => Some(Self::SipStatusUnsupportedCertificate),
7315 "SIP_STATUS_INVALID_IDENTITY_HEADER" => Some(Self::SipStatusInvalidIdentityHeader),
7316 "SIP_STATUS_FIRST_HOP_LACKS_OUTBOUND_SUPPORT" => Some(Self::SipStatusFirstHopLacksOutboundSupport),
7317 "SIP_STATUS_MAX_BREADTH_EXCEEDED" => Some(Self::SipStatusMaxBreadthExceeded),
7318 "SIP_STATUS_BAD_INFO_PACKAGE" => Some(Self::SipStatusBadInfoPackage),
7319 "SIP_STATUS_CONSENT_NEEDED" => Some(Self::SipStatusConsentNeeded),
7320 "SIP_STATUS_TEMPORARILY_UNAVAILABLE" => Some(Self::SipStatusTemporarilyUnavailable),
7321 "SIP_STATUS_CALL_TRANSACTION_DOES_NOT_EXISTS" => Some(Self::SipStatusCallTransactionDoesNotExists),
7322 "SIP_STATUS_LOOP_DETECTED" => Some(Self::SipStatusLoopDetected),
7323 "SIP_STATUS_TOO_MANY_HOPS" => Some(Self::SipStatusTooManyHops),
7324 "SIP_STATUS_ADDRESS_INCOMPLETE" => Some(Self::SipStatusAddressIncomplete),
7325 "SIP_STATUS_AMBIGUOUS" => Some(Self::SipStatusAmbiguous),
7326 "SIP_STATUS_BUSY_HERE" => Some(Self::SipStatusBusyHere),
7327 "SIP_STATUS_REQUEST_TERMINATED" => Some(Self::SipStatusRequestTerminated),
7328 "SIP_STATUS_NOT_ACCEPTABLE_HERE" => Some(Self::SipStatusNotAcceptableHere),
7329 "SIP_STATUS_BAD_EVENT" => Some(Self::SipStatusBadEvent),
7330 "SIP_STATUS_REQUEST_PENDING" => Some(Self::SipStatusRequestPending),
7331 "SIP_STATUS_UNDECIPHERABLE" => Some(Self::SipStatusUndecipherable),
7332 "SIP_STATUS_SECURITY_AGREEMENT_REQUIRED" => Some(Self::SipStatusSecurityAgreementRequired),
7333 "SIP_STATUS_INTERNAL_SERVER_ERROR" => Some(Self::SipStatusInternalServerError),
7334 "SIP_STATUS_NOT_IMPLEMENTED" => Some(Self::SipStatusNotImplemented),
7335 "SIP_STATUS_BAD_GATEWAY" => Some(Self::SipStatusBadGateway),
7336 "SIP_STATUS_SERVICE_UNAVAILABLE" => Some(Self::SipStatusServiceUnavailable),
7337 "SIP_STATUS_GATEWAY_TIMEOUT" => Some(Self::SipStatusGatewayTimeout),
7338 "SIP_STATUS_VERSION_NOT_SUPPORTED" => Some(Self::SipStatusVersionNotSupported),
7339 "SIP_STATUS_MESSAGE_TOO_LARGE" => Some(Self::SipStatusMessageTooLarge),
7340 "SIP_STATUS_GLOBAL_BUSY_EVERYWHERE" => Some(Self::SipStatusGlobalBusyEverywhere),
7341 "SIP_STATUS_GLOBAL_DECLINE" => Some(Self::SipStatusGlobalDecline),
7342 "SIP_STATUS_GLOBAL_DOES_NOT_EXIST_ANYWHERE" => Some(Self::SipStatusGlobalDoesNotExistAnywhere),
7343 "SIP_STATUS_GLOBAL_NOT_ACCEPTABLE" => Some(Self::SipStatusGlobalNotAcceptable),
7344 "SIP_STATUS_GLOBAL_UNWANTED" => Some(Self::SipStatusGlobalUnwanted),
7345 "SIP_STATUS_GLOBAL_REJECTED" => Some(Self::SipStatusGlobalRejected),
7346 _ => None,
7347 }
7348 }
7349}
7350#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7351#[repr(i32)]
7352pub enum SipTransport {
7353 Auto = 0,
7354 Udp = 1,
7355 Tcp = 2,
7356 Tls = 3,
7357}
7358impl SipTransport {
7359 pub fn as_str_name(&self) -> &'static str {
7364 match self {
7365 Self::Auto => "SIP_TRANSPORT_AUTO",
7366 Self::Udp => "SIP_TRANSPORT_UDP",
7367 Self::Tcp => "SIP_TRANSPORT_TCP",
7368 Self::Tls => "SIP_TRANSPORT_TLS",
7369 }
7370 }
7371 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7373 match value {
7374 "SIP_TRANSPORT_AUTO" => Some(Self::Auto),
7375 "SIP_TRANSPORT_UDP" => Some(Self::Udp),
7376 "SIP_TRANSPORT_TCP" => Some(Self::Tcp),
7377 "SIP_TRANSPORT_TLS" => Some(Self::Tls),
7378 _ => None,
7379 }
7380 }
7381}
7382#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7383#[repr(i32)]
7384pub enum SipHeaderOptions {
7385 SipNoHeaders = 0,
7387 SipXHeaders = 1,
7389 SipAllHeaders = 2,
7391}
7392impl SipHeaderOptions {
7393 pub fn as_str_name(&self) -> &'static str {
7398 match self {
7399 Self::SipNoHeaders => "SIP_NO_HEADERS",
7400 Self::SipXHeaders => "SIP_X_HEADERS",
7401 Self::SipAllHeaders => "SIP_ALL_HEADERS",
7402 }
7403 }
7404 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7406 match value {
7407 "SIP_NO_HEADERS" => Some(Self::SipNoHeaders),
7408 "SIP_X_HEADERS" => Some(Self::SipXHeaders),
7409 "SIP_ALL_HEADERS" => Some(Self::SipAllHeaders),
7410 _ => None,
7411 }
7412 }
7413}
7414#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7415#[repr(i32)]
7416pub enum SipMediaEncryption {
7417 SipMediaEncryptDisable = 0,
7419 SipMediaEncryptAllow = 1,
7421 SipMediaEncryptRequire = 2,
7423}
7424impl SipMediaEncryption {
7425 pub fn as_str_name(&self) -> &'static str {
7430 match self {
7431 Self::SipMediaEncryptDisable => "SIP_MEDIA_ENCRYPT_DISABLE",
7432 Self::SipMediaEncryptAllow => "SIP_MEDIA_ENCRYPT_ALLOW",
7433 Self::SipMediaEncryptRequire => "SIP_MEDIA_ENCRYPT_REQUIRE",
7434 }
7435 }
7436 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7438 match value {
7439 "SIP_MEDIA_ENCRYPT_DISABLE" => Some(Self::SipMediaEncryptDisable),
7440 "SIP_MEDIA_ENCRYPT_ALLOW" => Some(Self::SipMediaEncryptAllow),
7441 "SIP_MEDIA_ENCRYPT_REQUIRE" => Some(Self::SipMediaEncryptRequire),
7442 _ => None,
7443 }
7444 }
7445}
7446#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7447#[repr(i32)]
7448pub enum ProviderType {
7449 Unknown = 0,
7450 Internal = 1,
7452 External = 2,
7454}
7455impl ProviderType {
7456 pub fn as_str_name(&self) -> &'static str {
7461 match self {
7462 Self::Unknown => "PROVIDER_TYPE_UNKNOWN",
7463 Self::Internal => "PROVIDER_TYPE_INTERNAL",
7464 Self::External => "PROVIDER_TYPE_EXTERNAL",
7465 }
7466 }
7467 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7469 match value {
7470 "PROVIDER_TYPE_UNKNOWN" => Some(Self::Unknown),
7471 "PROVIDER_TYPE_INTERNAL" => Some(Self::Internal),
7472 "PROVIDER_TYPE_EXTERNAL" => Some(Self::External),
7473 _ => None,
7474 }
7475 }
7476}
7477#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7478#[repr(i32)]
7479pub enum SipCallStatus {
7480 ScsCallIncoming = 0,
7482 ScsParticipantJoined = 1,
7484 ScsActive = 2,
7486 ScsDisconnected = 3,
7488 ScsError = 4,
7490}
7491impl SipCallStatus {
7492 pub fn as_str_name(&self) -> &'static str {
7497 match self {
7498 Self::ScsCallIncoming => "SCS_CALL_INCOMING",
7499 Self::ScsParticipantJoined => "SCS_PARTICIPANT_JOINED",
7500 Self::ScsActive => "SCS_ACTIVE",
7501 Self::ScsDisconnected => "SCS_DISCONNECTED",
7502 Self::ScsError => "SCS_ERROR",
7503 }
7504 }
7505 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7507 match value {
7508 "SCS_CALL_INCOMING" => Some(Self::ScsCallIncoming),
7509 "SCS_PARTICIPANT_JOINED" => Some(Self::ScsParticipantJoined),
7510 "SCS_ACTIVE" => Some(Self::ScsActive),
7511 "SCS_DISCONNECTED" => Some(Self::ScsDisconnected),
7512 "SCS_ERROR" => Some(Self::ScsError),
7513 _ => None,
7514 }
7515 }
7516}
7517#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7518#[repr(i32)]
7519pub enum SipTransferStatus {
7520 StsTransferOngoing = 0,
7521 StsTransferFailed = 1,
7522 StsTransferSuccessful = 2,
7523}
7524impl SipTransferStatus {
7525 pub fn as_str_name(&self) -> &'static str {
7530 match self {
7531 Self::StsTransferOngoing => "STS_TRANSFER_ONGOING",
7532 Self::StsTransferFailed => "STS_TRANSFER_FAILED",
7533 Self::StsTransferSuccessful => "STS_TRANSFER_SUCCESSFUL",
7534 }
7535 }
7536 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7538 match value {
7539 "STS_TRANSFER_ONGOING" => Some(Self::StsTransferOngoing),
7540 "STS_TRANSFER_FAILED" => Some(Self::StsTransferFailed),
7541 "STS_TRANSFER_SUCCESSFUL" => Some(Self::StsTransferSuccessful),
7542 _ => None,
7543 }
7544 }
7545}
7546#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7547#[repr(i32)]
7548pub enum SipTransferReason {
7549 StrUnspecified = 0,
7551 StrCompleted = 1,
7553 StrCallEnded = 2,
7555 StrRejected = 3,
7557 StrRingingTimeout = 4,
7559 StrSubscriptionTerminated = 5,
7561 StrCanceled = 6,
7563}
7564impl SipTransferReason {
7565 pub fn as_str_name(&self) -> &'static str {
7570 match self {
7571 Self::StrUnspecified => "STR_UNSPECIFIED",
7572 Self::StrCompleted => "STR_COMPLETED",
7573 Self::StrCallEnded => "STR_CALL_ENDED",
7574 Self::StrRejected => "STR_REJECTED",
7575 Self::StrRingingTimeout => "STR_RINGING_TIMEOUT",
7576 Self::StrSubscriptionTerminated => "STR_SUBSCRIPTION_TERMINATED",
7577 Self::StrCanceled => "STR_CANCELED",
7578 }
7579 }
7580 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7582 match value {
7583 "STR_UNSPECIFIED" => Some(Self::StrUnspecified),
7584 "STR_COMPLETED" => Some(Self::StrCompleted),
7585 "STR_CALL_ENDED" => Some(Self::StrCallEnded),
7586 "STR_REJECTED" => Some(Self::StrRejected),
7587 "STR_RINGING_TIMEOUT" => Some(Self::StrRingingTimeout),
7588 "STR_SUBSCRIPTION_TERMINATED" => Some(Self::StrSubscriptionTerminated),
7589 "STR_CANCELED" => Some(Self::StrCanceled),
7590 _ => None,
7591 }
7592 }
7593}
7594#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7595#[repr(i32)]
7596pub enum SipFeature {
7597 None = 0,
7598 KrispEnabled = 1,
7599}
7600impl SipFeature {
7601 pub fn as_str_name(&self) -> &'static str {
7606 match self {
7607 Self::None => "NONE",
7608 Self::KrispEnabled => "KRISP_ENABLED",
7609 }
7610 }
7611 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7613 match value {
7614 "NONE" => Some(Self::None),
7615 "KRISP_ENABLED" => Some(Self::KrispEnabled),
7616 _ => None,
7617 }
7618 }
7619}
7620#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7621#[repr(i32)]
7622pub enum SipCallDirection {
7623 ScdUnknown = 0,
7624 ScdInbound = 1,
7625 ScdOutbound = 2,
7626}
7627impl SipCallDirection {
7628 pub fn as_str_name(&self) -> &'static str {
7633 match self {
7634 Self::ScdUnknown => "SCD_UNKNOWN",
7635 Self::ScdInbound => "SCD_INBOUND",
7636 Self::ScdOutbound => "SCD_OUTBOUND",
7637 }
7638 }
7639 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7641 match value {
7642 "SCD_UNKNOWN" => Some(Self::ScdUnknown),
7643 "SCD_INBOUND" => Some(Self::ScdInbound),
7644 "SCD_OUTBOUND" => Some(Self::ScdOutbound),
7645 _ => None,
7646 }
7647 }
7648}
7649#[derive(Clone, PartialEq, ::prost::Message)]
7650pub struct DialWhatsAppCallRequest {
7651 #[prost(string, tag = "1")]
7653 pub whatsapp_phone_number_id: ::prost::alloc::string::String,
7654 #[prost(string, tag = "2")]
7656 pub whatsapp_to_phone_number: ::prost::alloc::string::String,
7657 #[prost(string, tag = "3")]
7659 pub whatsapp_api_key: ::prost::alloc::string::String,
7660 #[prost(string, tag = "12")]
7662 pub whatsapp_cloud_api_version: ::prost::alloc::string::String,
7663 #[prost(string, tag = "4")]
7665 pub whatsapp_biz_opaque_callback_data: ::prost::alloc::string::String,
7666 #[prost(string, tag = "5")]
7668 pub room_name: ::prost::alloc::string::String,
7669 #[prost(message, repeated, tag = "6")]
7671 pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
7672 #[prost(string, tag = "7")]
7675 pub participant_identity: ::prost::alloc::string::String,
7676 #[prost(string, tag = "8")]
7678 pub participant_name: ::prost::alloc::string::String,
7679 #[prost(string, tag = "9")]
7681 pub participant_metadata: ::prost::alloc::string::String,
7682 #[prost(map = "string, string", tag = "10")]
7684 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
7685 #[prost(string, tag = "11")]
7687 pub destination_country: ::prost::alloc::string::String,
7688 #[prost(message, optional, tag = "13")]
7690 pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
7691}
7692#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7693pub struct DialWhatsAppCallResponse {
7694 #[prost(string, tag = "1")]
7696 pub whatsapp_call_id: ::prost::alloc::string::String,
7697 #[prost(string, tag = "2")]
7699 pub room_name: ::prost::alloc::string::String,
7700}
7701#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7702pub struct DisconnectWhatsAppCallRequest {
7703 #[prost(string, tag = "1")]
7705 pub whatsapp_call_id: ::prost::alloc::string::String,
7706 #[prost(string, tag = "2")]
7710 pub whatsapp_api_key: ::prost::alloc::string::String,
7711 #[prost(enumeration = "disconnect_whats_app_call_request::DisconnectReason", tag = "3")]
7713 pub disconnect_reason: i32,
7714}
7715pub mod disconnect_whats_app_call_request {
7717 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7718 #[repr(i32)]
7719 pub enum DisconnectReason {
7720 BusinessInitiated = 0,
7722 UserInitiated = 1,
7728 }
7729 impl DisconnectReason {
7730 pub fn as_str_name(&self) -> &'static str {
7735 match self {
7736 Self::BusinessInitiated => "BUSINESS_INITIATED",
7737 Self::UserInitiated => "USER_INITIATED",
7738 }
7739 }
7740 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7742 match value {
7743 "BUSINESS_INITIATED" => Some(Self::BusinessInitiated),
7744 "USER_INITIATED" => Some(Self::UserInitiated),
7745 _ => None,
7746 }
7747 }
7748 }
7749}
7750#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
7751pub struct DisconnectWhatsAppCallResponse {
7752}
7753#[derive(Clone, PartialEq, ::prost::Message)]
7754pub struct ConnectWhatsAppCallRequest {
7755 #[prost(string, tag = "1")]
7757 pub whatsapp_call_id: ::prost::alloc::string::String,
7758 #[prost(message, optional, tag = "2")]
7761 pub sdp: ::core::option::Option<SessionDescription>,
7762 #[prost(bool, tag = "3")]
7764 pub wait_until_answered: bool,
7765}
7766#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
7767pub struct ConnectWhatsAppCallResponse {
7768}
7769#[derive(Clone, PartialEq, ::prost::Message)]
7770pub struct AcceptWhatsAppCallRequest {
7771 #[prost(string, tag = "1")]
7773 pub whatsapp_phone_number_id: ::prost::alloc::string::String,
7774 #[prost(string, tag = "2")]
7776 pub whatsapp_api_key: ::prost::alloc::string::String,
7777 #[prost(string, tag = "13")]
7779 pub whatsapp_cloud_api_version: ::prost::alloc::string::String,
7780 #[prost(string, tag = "3")]
7782 pub whatsapp_call_id: ::prost::alloc::string::String,
7783 #[prost(string, tag = "4")]
7785 pub whatsapp_biz_opaque_callback_data: ::prost::alloc::string::String,
7786 #[prost(message, optional, tag = "5")]
7789 pub sdp: ::core::option::Option<SessionDescription>,
7790 #[prost(string, tag = "6")]
7792 pub room_name: ::prost::alloc::string::String,
7793 #[prost(message, repeated, tag = "7")]
7795 pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
7796 #[prost(string, tag = "8")]
7799 pub participant_identity: ::prost::alloc::string::String,
7800 #[prost(string, tag = "9")]
7802 pub participant_name: ::prost::alloc::string::String,
7803 #[prost(string, tag = "10")]
7805 pub participant_metadata: ::prost::alloc::string::String,
7806 #[prost(map = "string, string", tag = "11")]
7808 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
7809 #[prost(string, tag = "12")]
7811 pub destination_country: ::prost::alloc::string::String,
7812 #[prost(message, optional, tag = "14")]
7814 pub ringing_timeout: ::core::option::Option<::pbjson_types::Duration>,
7815 #[prost(bool, tag = "15")]
7817 pub wait_until_answered: bool,
7818}
7819#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7820pub struct AcceptWhatsAppCallResponse {
7821 #[prost(string, tag = "1")]
7823 pub room_name: ::prost::alloc::string::String,
7824}
7825#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7826pub struct WhatsAppCall {
7827 #[prost(string, tag = "1")]
7829 pub whatsapp_call_id: ::prost::alloc::string::String,
7830 #[prost(enumeration = "WhatsAppCallDirection", tag = "2")]
7832 pub direction: i32,
7833}
7834#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7835#[repr(i32)]
7836pub enum WhatsAppCallDirection {
7837 WhatsappCallDirectionInbound = 0,
7838 WhatsappCallDirectionOutbound = 2,
7839}
7840impl WhatsAppCallDirection {
7841 pub fn as_str_name(&self) -> &'static str {
7846 match self {
7847 Self::WhatsappCallDirectionInbound => "WHATSAPP_CALL_DIRECTION_INBOUND",
7848 Self::WhatsappCallDirectionOutbound => "WHATSAPP_CALL_DIRECTION_OUTBOUND",
7849 }
7850 }
7851 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7853 match value {
7854 "WHATSAPP_CALL_DIRECTION_INBOUND" => Some(Self::WhatsappCallDirectionInbound),
7855 "WHATSAPP_CALL_DIRECTION_OUTBOUND" => Some(Self::WhatsappCallDirectionOutbound),
7856 _ => None,
7857 }
7858 }
7859}
7860#[derive(Clone, PartialEq, ::prost::Message)]
7861pub struct ConnectTwilioCallRequest {
7862 #[prost(enumeration = "connect_twilio_call_request::TwilioCallDirection", tag = "1")]
7864 pub twilio_call_direction: i32,
7865 #[prost(string, tag = "2")]
7867 pub room_name: ::prost::alloc::string::String,
7868 #[prost(message, repeated, tag = "3")]
7870 pub agents: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
7871 #[prost(string, tag = "4")]
7874 pub participant_identity: ::prost::alloc::string::String,
7875 #[prost(string, tag = "5")]
7877 pub participant_name: ::prost::alloc::string::String,
7878 #[prost(string, tag = "6")]
7880 pub participant_metadata: ::prost::alloc::string::String,
7881 #[prost(map = "string, string", tag = "7")]
7883 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
7884 #[prost(string, tag = "8")]
7886 pub destination_country: ::prost::alloc::string::String,
7887}
7888pub mod connect_twilio_call_request {
7890 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7891 #[repr(i32)]
7892 pub enum TwilioCallDirection {
7893 Inbound = 0,
7895 Outbound = 1,
7897 }
7898 impl TwilioCallDirection {
7899 pub fn as_str_name(&self) -> &'static str {
7904 match self {
7905 Self::Inbound => "TWILIO_CALL_DIRECTION_INBOUND",
7906 Self::Outbound => "TWILIO_CALL_DIRECTION_OUTBOUND",
7907 }
7908 }
7909 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7911 match value {
7912 "TWILIO_CALL_DIRECTION_INBOUND" => Some(Self::Inbound),
7913 "TWILIO_CALL_DIRECTION_OUTBOUND" => Some(Self::Outbound),
7914 _ => None,
7915 }
7916 }
7917 }
7918}
7919#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
7920pub struct ConnectTwilioCallResponse {
7921 #[prost(string, tag = "1")]
7923 pub connect_url: ::prost::alloc::string::String,
7924}
7925#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7926#[repr(i32)]
7927pub enum ConnectorType {
7928 Unspecified = 0,
7929 WhatsApp = 1,
7930 Twilio = 2,
7931}
7932impl ConnectorType {
7933 pub fn as_str_name(&self) -> &'static str {
7938 match self {
7939 Self::Unspecified => "Unspecified",
7940 Self::WhatsApp => "WhatsApp",
7941 Self::Twilio => "Twilio",
7942 }
7943 }
7944 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7946 match value {
7947 "Unspecified" => Some(Self::Unspecified),
7948 "WhatsApp" => Some(Self::WhatsApp),
7949 "Twilio" => Some(Self::Twilio),
7950 _ => None,
7951 }
7952 }
7953}
7954#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
7955pub struct AnalyticsVideoLayer {
7956 #[prost(int32, tag = "1")]
7957 pub layer: i32,
7958 #[prost(uint32, tag = "2")]
7959 pub packets: u32,
7960 #[prost(uint64, tag = "3")]
7961 pub bytes: u64,
7962 #[prost(uint32, tag = "4")]
7963 pub frames: u32,
7964}
7965#[derive(Clone, PartialEq, ::prost::Message)]
7966pub struct AnalyticsStream {
7967 #[prost(uint32, tag = "1")]
7968 pub ssrc: u32,
7969 #[prost(uint32, tag = "2")]
7970 pub primary_packets: u32,
7971 #[prost(uint64, tag = "3")]
7972 pub primary_bytes: u64,
7973 #[prost(uint32, tag = "4")]
7974 pub retransmit_packets: u32,
7975 #[prost(uint64, tag = "5")]
7976 pub retransmit_bytes: u64,
7977 #[prost(uint32, tag = "6")]
7978 pub padding_packets: u32,
7979 #[prost(uint64, tag = "7")]
7980 pub padding_bytes: u64,
7981 #[prost(uint32, tag = "8")]
7982 pub packets_lost: u32,
7983 #[prost(uint32, tag = "9")]
7984 pub frames: u32,
7985 #[prost(uint32, tag = "10")]
7986 pub rtt: u32,
7987 #[prost(uint32, tag = "11")]
7988 pub jitter: u32,
7989 #[prost(uint32, tag = "12")]
7990 pub nacks: u32,
7991 #[prost(uint32, tag = "13")]
7992 pub plis: u32,
7993 #[prost(uint32, tag = "14")]
7994 pub firs: u32,
7995 #[prost(message, repeated, tag = "15")]
7996 pub video_layers: ::prost::alloc::vec::Vec<AnalyticsVideoLayer>,
7997 #[prost(message, optional, tag = "17")]
7998 pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
7999 #[prost(message, optional, tag = "18")]
8000 pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
8001 #[prost(uint32, tag = "19")]
8002 pub packets_out_of_order: u32,
8003}
8004#[derive(Clone, PartialEq, ::prost::Message)]
8005pub struct AnalyticsStat {
8006 #[prost(string, tag = "14")]
8008 pub id: ::prost::alloc::string::String,
8009 #[prost(string, tag = "1")]
8010 pub analytics_key: ::prost::alloc::string::String,
8011 #[prost(enumeration = "StreamType", tag = "2")]
8012 pub kind: i32,
8013 #[prost(message, optional, tag = "3")]
8014 pub time_stamp: ::core::option::Option<::pbjson_types::Timestamp>,
8015 #[prost(string, tag = "4")]
8016 pub node: ::prost::alloc::string::String,
8017 #[prost(string, tag = "5")]
8018 pub room_id: ::prost::alloc::string::String,
8019 #[prost(string, tag = "6")]
8020 pub room_name: ::prost::alloc::string::String,
8021 #[prost(string, tag = "7")]
8022 pub participant_id: ::prost::alloc::string::String,
8023 #[prost(string, tag = "8")]
8024 pub track_id: ::prost::alloc::string::String,
8025 #[prost(float, tag = "9")]
8027 pub score: f32,
8028 #[prost(message, repeated, tag = "10")]
8029 pub streams: ::prost::alloc::vec::Vec<AnalyticsStream>,
8030 #[prost(string, tag = "11")]
8031 pub mime: ::prost::alloc::string::String,
8032 #[prost(float, tag = "12")]
8033 pub min_score: f32,
8034 #[prost(float, tag = "13")]
8035 pub median_score: f32,
8036}
8037#[derive(Clone, PartialEq, ::prost::Message)]
8038pub struct AnalyticsStats {
8039 #[prost(message, repeated, tag = "1")]
8040 pub stats: ::prost::alloc::vec::Vec<AnalyticsStat>,
8041}
8042#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8043pub struct AnalyticsClientMeta {
8044 #[prost(string, tag = "1")]
8045 pub region: ::prost::alloc::string::String,
8046 #[prost(string, tag = "2")]
8047 pub node: ::prost::alloc::string::String,
8048 #[prost(string, tag = "3")]
8049 pub client_addr: ::prost::alloc::string::String,
8050 #[prost(uint32, tag = "4")]
8051 pub client_connect_time: u32,
8052 #[prost(string, tag = "5")]
8054 pub connection_type: ::prost::alloc::string::String,
8055 #[prost(enumeration = "ReconnectReason", tag = "6")]
8056 pub reconnect_reason: i32,
8057 #[prost(string, optional, tag = "7")]
8058 pub geo_hash: ::core::option::Option<::prost::alloc::string::String>,
8059 #[prost(string, optional, tag = "8")]
8060 pub country: ::core::option::Option<::prost::alloc::string::String>,
8061 #[prost(uint32, optional, tag = "9")]
8062 pub isp_asn: ::core::option::Option<u32>,
8063}
8064#[derive(Clone, PartialEq, ::prost::Message)]
8065pub struct AnalyticsEvent {
8066 #[prost(string, tag = "25")]
8068 pub id: ::prost::alloc::string::String,
8069 #[prost(enumeration = "AnalyticsEventType", tag = "1")]
8070 pub r#type: i32,
8071 #[prost(message, optional, tag = "2")]
8072 pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
8073 #[prost(string, tag = "3")]
8074 pub room_id: ::prost::alloc::string::String,
8075 #[prost(message, optional, tag = "4")]
8076 pub room: ::core::option::Option<Room>,
8077 #[prost(string, tag = "5")]
8078 pub participant_id: ::prost::alloc::string::String,
8079 #[prost(message, optional, tag = "6")]
8080 pub participant: ::core::option::Option<ParticipantInfo>,
8081 #[prost(string, tag = "7")]
8082 pub track_id: ::prost::alloc::string::String,
8083 #[prost(message, optional, tag = "8")]
8084 pub track: ::core::option::Option<TrackInfo>,
8085 #[prost(string, tag = "10")]
8086 pub analytics_key: ::prost::alloc::string::String,
8087 #[prost(message, optional, tag = "11")]
8088 pub client_info: ::core::option::Option<ClientInfo>,
8089 #[prost(message, optional, tag = "12")]
8090 pub client_meta: ::core::option::Option<AnalyticsClientMeta>,
8091 #[prost(string, tag = "13")]
8092 pub egress_id: ::prost::alloc::string::String,
8093 #[prost(string, tag = "19")]
8094 pub ingress_id: ::prost::alloc::string::String,
8095 #[prost(enumeration = "VideoQuality", tag = "14")]
8096 pub max_subscribed_video_quality: i32,
8097 #[prost(message, optional, tag = "15")]
8098 pub publisher: ::core::option::Option<ParticipantInfo>,
8099 #[prost(string, tag = "16")]
8100 pub mime: ::prost::alloc::string::String,
8101 #[prost(message, optional, tag = "17")]
8102 pub egress: ::core::option::Option<EgressInfo>,
8103 #[prost(message, optional, tag = "18")]
8104 pub ingress: ::core::option::Option<IngressInfo>,
8105 #[prost(string, tag = "20")]
8106 pub error: ::prost::alloc::string::String,
8107 #[prost(message, optional, tag = "21")]
8108 pub rtp_stats: ::core::option::Option<RtpStats>,
8109 #[prost(int32, tag = "22")]
8110 pub video_layer: i32,
8111 #[prost(string, tag = "24")]
8112 pub node_id: ::prost::alloc::string::String,
8113 #[prost(string, tag = "26")]
8114 pub sip_call_id: ::prost::alloc::string::String,
8115 #[prost(message, optional, tag = "27")]
8116 pub sip_call: ::core::option::Option<SipCallInfo>,
8117 #[prost(string, tag = "28")]
8118 pub sip_trunk_id: ::prost::alloc::string::String,
8119 #[prost(message, optional, tag = "29")]
8120 pub sip_inbound_trunk: ::core::option::Option<SipInboundTrunkInfo>,
8121 #[prost(message, optional, tag = "30")]
8122 pub sip_outbound_trunk: ::core::option::Option<SipOutboundTrunkInfo>,
8123 #[prost(string, tag = "31")]
8124 pub sip_dispatch_rule_id: ::prost::alloc::string::String,
8125 #[prost(message, optional, tag = "32")]
8126 pub sip_dispatch_rule: ::core::option::Option<SipDispatchRuleInfo>,
8127 #[prost(message, optional, tag = "36")]
8128 pub sip_transfer: ::core::option::Option<SipTransferInfo>,
8129 #[prost(message, optional, tag = "33")]
8130 pub report: ::core::option::Option<ReportInfo>,
8131 #[prost(message, optional, tag = "34")]
8132 pub api_call: ::core::option::Option<ApiCallInfo>,
8133 #[prost(message, optional, tag = "35")]
8134 pub webhook: ::core::option::Option<WebhookInfo>,
8135 #[prost(enumeration = "RoomEndReason", tag = "37")]
8136 pub room_end_reason: i32,
8137}
8138#[derive(Clone, PartialEq, ::prost::Message)]
8139pub struct AnalyticsEvents {
8140 #[prost(message, repeated, tag = "1")]
8141 pub events: ::prost::alloc::vec::Vec<AnalyticsEvent>,
8142}
8143#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8144pub struct AnalyticsRoomParticipant {
8145 #[prost(string, tag = "1")]
8146 pub id: ::prost::alloc::string::String,
8147 #[prost(string, tag = "2")]
8148 pub identity: ::prost::alloc::string::String,
8149 #[prost(string, tag = "3")]
8150 pub name: ::prost::alloc::string::String,
8151 #[prost(enumeration = "participant_info::State", tag = "4")]
8152 pub state: i32,
8153 #[prost(message, optional, tag = "5")]
8154 pub joined_at: ::core::option::Option<::pbjson_types::Timestamp>,
8155}
8156#[derive(Clone, PartialEq, ::prost::Message)]
8157pub struct AnalyticsRoom {
8158 #[prost(string, tag = "1")]
8159 pub id: ::prost::alloc::string::String,
8160 #[prost(string, tag = "2")]
8161 pub name: ::prost::alloc::string::String,
8162 #[prost(string, tag = "5")]
8163 pub project_id: ::prost::alloc::string::String,
8164 #[prost(message, optional, tag = "3")]
8165 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
8166 #[prost(message, repeated, tag = "4")]
8167 pub participants: ::prost::alloc::vec::Vec<AnalyticsRoomParticipant>,
8168}
8169#[derive(Clone, PartialEq, ::prost::Message)]
8170pub struct AnalyticsNodeRooms {
8171 #[prost(string, tag = "1")]
8172 pub node_id: ::prost::alloc::string::String,
8173 #[prost(uint64, tag = "2")]
8174 pub sequence_number: u64,
8175 #[prost(message, optional, tag = "3")]
8176 pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
8177 #[prost(message, repeated, tag = "4")]
8178 pub rooms: ::prost::alloc::vec::Vec<AnalyticsRoom>,
8179}
8180#[derive(Clone, PartialEq, ::prost::Message)]
8181pub struct ReportInfo {
8182 #[prost(oneof = "report_info::Message", tags = "1")]
8183 pub message: ::core::option::Option<report_info::Message>,
8184}
8185pub mod report_info {
8187 #[derive(Clone, PartialEq, ::prost::Oneof)]
8188 pub enum Message {
8189 #[prost(message, tag = "1")]
8190 FeatureUsage(super::FeatureUsageInfo),
8191 }
8192}
8193#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8194pub struct TimeRange {
8195 #[prost(message, optional, tag = "1")]
8196 pub started_at: ::core::option::Option<::pbjson_types::Timestamp>,
8197 #[prost(message, optional, tag = "2")]
8198 pub ended_at: ::core::option::Option<::pbjson_types::Timestamp>,
8199}
8200#[derive(Clone, PartialEq, ::prost::Message)]
8201pub struct FeatureUsageInfo {
8202 #[prost(enumeration = "feature_usage_info::Feature", tag = "1")]
8203 pub feature: i32,
8204 #[prost(string, tag = "2")]
8205 pub project_id: ::prost::alloc::string::String,
8206 #[prost(string, tag = "3")]
8207 pub room_name: ::prost::alloc::string::String,
8208 #[prost(string, tag = "4")]
8209 pub room_id: ::prost::alloc::string::String,
8210 #[prost(string, tag = "5")]
8211 pub participant_identity: ::prost::alloc::string::String,
8212 #[prost(string, tag = "6")]
8213 pub participant_id: ::prost::alloc::string::String,
8214 #[prost(string, tag = "7")]
8215 pub track_id: ::prost::alloc::string::String,
8216 #[prost(message, repeated, tag = "8")]
8220 pub time_ranges: ::prost::alloc::vec::Vec<TimeRange>,
8221 #[prost(map = "string, string", tag = "9")]
8223 pub feature_info: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
8224}
8225pub mod feature_usage_info {
8227 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8228 #[repr(i32)]
8229 pub enum Feature {
8230 KrispNoiseCancellation = 0,
8231 KrispBackgroundVoiceCancellation = 1,
8232 AicAudioEnhancement = 2,
8233 KrispViva = 3,
8234 }
8235 impl Feature {
8236 pub fn as_str_name(&self) -> &'static str {
8241 match self {
8242 Self::KrispNoiseCancellation => "KRISP_NOISE_CANCELLATION",
8243 Self::KrispBackgroundVoiceCancellation => "KRISP_BACKGROUND_VOICE_CANCELLATION",
8244 Self::AicAudioEnhancement => "AIC_AUDIO_ENHANCEMENT",
8245 Self::KrispViva => "KRISP_VIVA",
8246 }
8247 }
8248 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8250 match value {
8251 "KRISP_NOISE_CANCELLATION" => Some(Self::KrispNoiseCancellation),
8252 "KRISP_BACKGROUND_VOICE_CANCELLATION" => Some(Self::KrispBackgroundVoiceCancellation),
8253 "AIC_AUDIO_ENHANCEMENT" => Some(Self::AicAudioEnhancement),
8254 "KRISP_VIVA" => Some(Self::KrispViva),
8255 _ => None,
8256 }
8257 }
8258 }
8259}
8260#[derive(Clone, PartialEq, ::prost::Message)]
8261pub struct ApiCallRequest {
8262 #[prost(oneof = "api_call_request::Message", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10")]
8263 pub message: ::core::option::Option<api_call_request::Message>,
8264}
8265pub mod api_call_request {
8267 #[derive(Clone, PartialEq, ::prost::Oneof)]
8268 pub enum Message {
8269 #[prost(message, tag = "1")]
8270 CreateRoomRequest(super::CreateRoomRequest),
8271 #[prost(message, tag = "2")]
8272 ListRoomsRequest(super::ListRoomsRequest),
8273 #[prost(message, tag = "3")]
8274 DeleteRoomRequest(super::DeleteRoomRequest),
8275 #[prost(message, tag = "4")]
8276 ListParticipantsRequest(super::ListParticipantsRequest),
8277 #[prost(message, tag = "5")]
8278 RoomParticipantIdentity(super::RoomParticipantIdentity),
8279 #[prost(message, tag = "6")]
8280 MuteRoomTrackRequest(super::MuteRoomTrackRequest),
8281 #[prost(message, tag = "7")]
8282 UpdateParticipantRequest(super::UpdateParticipantRequest),
8283 #[prost(message, tag = "8")]
8284 UpdateSubscriptionsRequest(super::UpdateSubscriptionsRequest),
8285 #[prost(message, tag = "9")]
8286 SendDataRequest(super::SendDataRequest),
8287 #[prost(message, tag = "10")]
8288 UpdateRoomMetadataRequest(super::UpdateRoomMetadataRequest),
8289 }
8290}
8291#[derive(Clone, PartialEq, ::prost::Message)]
8292pub struct ApiCallInfo {
8293 #[prost(string, tag = "1")]
8294 pub project_id: ::prost::alloc::string::String,
8295 #[prost(message, optional, tag = "2")]
8296 pub request: ::core::option::Option<ApiCallRequest>,
8297 #[prost(string, tag = "3")]
8298 pub service: ::prost::alloc::string::String,
8299 #[prost(string, tag = "4")]
8300 pub method: ::prost::alloc::string::String,
8301 #[prost(string, tag = "5")]
8302 pub node_id: ::prost::alloc::string::String,
8303 #[prost(int32, tag = "6")]
8304 pub status: i32,
8305 #[prost(string, tag = "7")]
8306 pub twirp_error_code: ::prost::alloc::string::String,
8307 #[prost(string, tag = "8")]
8308 pub twirp_error_message: ::prost::alloc::string::String,
8309 #[prost(string, tag = "9")]
8310 pub room_name: ::prost::alloc::string::String,
8311 #[prost(string, tag = "10")]
8312 pub room_id: ::prost::alloc::string::String,
8313 #[prost(string, tag = "11")]
8314 pub participant_identity: ::prost::alloc::string::String,
8315 #[prost(string, tag = "12")]
8316 pub participant_id: ::prost::alloc::string::String,
8317 #[prost(string, tag = "13")]
8318 pub track_id: ::prost::alloc::string::String,
8319 #[prost(message, optional, tag = "14")]
8320 pub started_at: ::core::option::Option<::pbjson_types::Timestamp>,
8321 #[prost(int64, tag = "15")]
8322 pub duration_ns: i64,
8323}
8324#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8325pub struct WebhookInfo {
8326 #[prost(string, tag = "1")]
8327 pub event_id: ::prost::alloc::string::String,
8328 #[prost(string, tag = "2")]
8329 pub event: ::prost::alloc::string::String,
8330 #[prost(string, tag = "3")]
8331 pub project_id: ::prost::alloc::string::String,
8332 #[prost(string, tag = "4")]
8333 pub room_name: ::prost::alloc::string::String,
8334 #[prost(string, tag = "5")]
8335 pub room_id: ::prost::alloc::string::String,
8336 #[prost(string, tag = "6")]
8337 pub participant_identity: ::prost::alloc::string::String,
8338 #[prost(string, tag = "7")]
8339 pub participant_id: ::prost::alloc::string::String,
8340 #[prost(string, tag = "8")]
8341 pub track_id: ::prost::alloc::string::String,
8342 #[prost(string, tag = "9")]
8343 pub egress_id: ::prost::alloc::string::String,
8344 #[prost(string, tag = "10")]
8345 pub ingress_id: ::prost::alloc::string::String,
8346 #[prost(message, optional, tag = "11")]
8347 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
8348 #[prost(message, optional, tag = "12")]
8349 pub queued_at: ::core::option::Option<::pbjson_types::Timestamp>,
8350 #[prost(int64, tag = "13")]
8351 pub queue_duration_ns: i64,
8352 #[prost(message, optional, tag = "14")]
8353 pub sent_at: ::core::option::Option<::pbjson_types::Timestamp>,
8354 #[prost(int64, tag = "15")]
8355 pub send_duration_ns: i64,
8356 #[prost(string, tag = "16")]
8357 pub url: ::prost::alloc::string::String,
8358 #[prost(int32, tag = "17")]
8359 pub num_dropped: i32,
8360 #[prost(bool, tag = "18")]
8361 pub is_dropped: bool,
8362 #[prost(string, tag = "19")]
8363 pub service_status: ::prost::alloc::string::String,
8364 #[prost(int32, tag = "20")]
8365 pub service_error_code: i32,
8366 #[prost(string, tag = "21")]
8367 pub service_error: ::prost::alloc::string::String,
8368 #[prost(string, tag = "22")]
8369 pub send_error: ::prost::alloc::string::String,
8370 #[prost(int32, tag = "23")]
8372 pub http_status_code: i32,
8373}
8374#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8375#[repr(i32)]
8376pub enum StreamType {
8377 Upstream = 0,
8378 Downstream = 1,
8379}
8380impl StreamType {
8381 pub fn as_str_name(&self) -> &'static str {
8386 match self {
8387 Self::Upstream => "UPSTREAM",
8388 Self::Downstream => "DOWNSTREAM",
8389 }
8390 }
8391 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8393 match value {
8394 "UPSTREAM" => Some(Self::Upstream),
8395 "DOWNSTREAM" => Some(Self::Downstream),
8396 _ => None,
8397 }
8398 }
8399}
8400#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8401#[repr(i32)]
8402pub enum AnalyticsEventType {
8403 RoomCreated = 0,
8404 RoomEnded = 1,
8405 ParticipantJoined = 2,
8406 ParticipantLeft = 3,
8407 ParticipantConnectionAborted = 45,
8408 TrackPublished = 4,
8409 TrackPublishRequested = 20,
8410 TrackUnpublished = 5,
8411 TrackSubscribed = 6,
8412 TrackSubscribeRequested = 21,
8413 TrackSubscribeFailed = 25,
8414 TrackUnsubscribed = 7,
8415 TrackPublishedUpdate = 10,
8416 TrackMuted = 23,
8417 TrackUnmuted = 24,
8418 TrackPublishStats = 26,
8419 TrackSubscribeStats = 27,
8420 ParticipantActive = 11,
8421 ParticipantResumed = 22,
8422 EgressStarted = 12,
8423 EgressEnded = 13,
8424 EgressUpdated = 28,
8425 TrackMaxSubscribedVideoQuality = 14,
8426 Reconnected = 15,
8427 IngressCreated = 18,
8428 IngressDeleted = 19,
8429 IngressStarted = 16,
8430 IngressEnded = 17,
8431 IngressUpdated = 29,
8432 SipInboundTrunkCreated = 30,
8433 SipInboundTrunkDeleted = 31,
8434 SipOutboundTrunkCreated = 32,
8435 SipOutboundTrunkDeleted = 33,
8436 SipDispatchRuleCreated = 34,
8437 SipDispatchRuleDeleted = 35,
8438 SipParticipantCreated = 36,
8439 SipCallIncoming = 37,
8440 SipCallStarted = 38,
8441 SipCallEnded = 39,
8442 SipTransferRequested = 43,
8443 SipTransferComplete = 44,
8444 SipCallUpdate = 46,
8445 Report = 40,
8446 ApiCall = 41,
8447 Webhook = 42,
8448}
8449impl AnalyticsEventType {
8450 pub fn as_str_name(&self) -> &'static str {
8455 match self {
8456 Self::RoomCreated => "ROOM_CREATED",
8457 Self::RoomEnded => "ROOM_ENDED",
8458 Self::ParticipantJoined => "PARTICIPANT_JOINED",
8459 Self::ParticipantLeft => "PARTICIPANT_LEFT",
8460 Self::ParticipantConnectionAborted => "PARTICIPANT_CONNECTION_ABORTED",
8461 Self::TrackPublished => "TRACK_PUBLISHED",
8462 Self::TrackPublishRequested => "TRACK_PUBLISH_REQUESTED",
8463 Self::TrackUnpublished => "TRACK_UNPUBLISHED",
8464 Self::TrackSubscribed => "TRACK_SUBSCRIBED",
8465 Self::TrackSubscribeRequested => "TRACK_SUBSCRIBE_REQUESTED",
8466 Self::TrackSubscribeFailed => "TRACK_SUBSCRIBE_FAILED",
8467 Self::TrackUnsubscribed => "TRACK_UNSUBSCRIBED",
8468 Self::TrackPublishedUpdate => "TRACK_PUBLISHED_UPDATE",
8469 Self::TrackMuted => "TRACK_MUTED",
8470 Self::TrackUnmuted => "TRACK_UNMUTED",
8471 Self::TrackPublishStats => "TRACK_PUBLISH_STATS",
8472 Self::TrackSubscribeStats => "TRACK_SUBSCRIBE_STATS",
8473 Self::ParticipantActive => "PARTICIPANT_ACTIVE",
8474 Self::ParticipantResumed => "PARTICIPANT_RESUMED",
8475 Self::EgressStarted => "EGRESS_STARTED",
8476 Self::EgressEnded => "EGRESS_ENDED",
8477 Self::EgressUpdated => "EGRESS_UPDATED",
8478 Self::TrackMaxSubscribedVideoQuality => "TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY",
8479 Self::Reconnected => "RECONNECTED",
8480 Self::IngressCreated => "INGRESS_CREATED",
8481 Self::IngressDeleted => "INGRESS_DELETED",
8482 Self::IngressStarted => "INGRESS_STARTED",
8483 Self::IngressEnded => "INGRESS_ENDED",
8484 Self::IngressUpdated => "INGRESS_UPDATED",
8485 Self::SipInboundTrunkCreated => "SIP_INBOUND_TRUNK_CREATED",
8486 Self::SipInboundTrunkDeleted => "SIP_INBOUND_TRUNK_DELETED",
8487 Self::SipOutboundTrunkCreated => "SIP_OUTBOUND_TRUNK_CREATED",
8488 Self::SipOutboundTrunkDeleted => "SIP_OUTBOUND_TRUNK_DELETED",
8489 Self::SipDispatchRuleCreated => "SIP_DISPATCH_RULE_CREATED",
8490 Self::SipDispatchRuleDeleted => "SIP_DISPATCH_RULE_DELETED",
8491 Self::SipParticipantCreated => "SIP_PARTICIPANT_CREATED",
8492 Self::SipCallIncoming => "SIP_CALL_INCOMING",
8493 Self::SipCallStarted => "SIP_CALL_STARTED",
8494 Self::SipCallEnded => "SIP_CALL_ENDED",
8495 Self::SipTransferRequested => "SIP_TRANSFER_REQUESTED",
8496 Self::SipTransferComplete => "SIP_TRANSFER_COMPLETE",
8497 Self::SipCallUpdate => "SIP_CALL_UPDATE",
8498 Self::Report => "REPORT",
8499 Self::ApiCall => "API_CALL",
8500 Self::Webhook => "WEBHOOK",
8501 }
8502 }
8503 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8505 match value {
8506 "ROOM_CREATED" => Some(Self::RoomCreated),
8507 "ROOM_ENDED" => Some(Self::RoomEnded),
8508 "PARTICIPANT_JOINED" => Some(Self::ParticipantJoined),
8509 "PARTICIPANT_LEFT" => Some(Self::ParticipantLeft),
8510 "PARTICIPANT_CONNECTION_ABORTED" => Some(Self::ParticipantConnectionAborted),
8511 "TRACK_PUBLISHED" => Some(Self::TrackPublished),
8512 "TRACK_PUBLISH_REQUESTED" => Some(Self::TrackPublishRequested),
8513 "TRACK_UNPUBLISHED" => Some(Self::TrackUnpublished),
8514 "TRACK_SUBSCRIBED" => Some(Self::TrackSubscribed),
8515 "TRACK_SUBSCRIBE_REQUESTED" => Some(Self::TrackSubscribeRequested),
8516 "TRACK_SUBSCRIBE_FAILED" => Some(Self::TrackSubscribeFailed),
8517 "TRACK_UNSUBSCRIBED" => Some(Self::TrackUnsubscribed),
8518 "TRACK_PUBLISHED_UPDATE" => Some(Self::TrackPublishedUpdate),
8519 "TRACK_MUTED" => Some(Self::TrackMuted),
8520 "TRACK_UNMUTED" => Some(Self::TrackUnmuted),
8521 "TRACK_PUBLISH_STATS" => Some(Self::TrackPublishStats),
8522 "TRACK_SUBSCRIBE_STATS" => Some(Self::TrackSubscribeStats),
8523 "PARTICIPANT_ACTIVE" => Some(Self::ParticipantActive),
8524 "PARTICIPANT_RESUMED" => Some(Self::ParticipantResumed),
8525 "EGRESS_STARTED" => Some(Self::EgressStarted),
8526 "EGRESS_ENDED" => Some(Self::EgressEnded),
8527 "EGRESS_UPDATED" => Some(Self::EgressUpdated),
8528 "TRACK_MAX_SUBSCRIBED_VIDEO_QUALITY" => Some(Self::TrackMaxSubscribedVideoQuality),
8529 "RECONNECTED" => Some(Self::Reconnected),
8530 "INGRESS_CREATED" => Some(Self::IngressCreated),
8531 "INGRESS_DELETED" => Some(Self::IngressDeleted),
8532 "INGRESS_STARTED" => Some(Self::IngressStarted),
8533 "INGRESS_ENDED" => Some(Self::IngressEnded),
8534 "INGRESS_UPDATED" => Some(Self::IngressUpdated),
8535 "SIP_INBOUND_TRUNK_CREATED" => Some(Self::SipInboundTrunkCreated),
8536 "SIP_INBOUND_TRUNK_DELETED" => Some(Self::SipInboundTrunkDeleted),
8537 "SIP_OUTBOUND_TRUNK_CREATED" => Some(Self::SipOutboundTrunkCreated),
8538 "SIP_OUTBOUND_TRUNK_DELETED" => Some(Self::SipOutboundTrunkDeleted),
8539 "SIP_DISPATCH_RULE_CREATED" => Some(Self::SipDispatchRuleCreated),
8540 "SIP_DISPATCH_RULE_DELETED" => Some(Self::SipDispatchRuleDeleted),
8541 "SIP_PARTICIPANT_CREATED" => Some(Self::SipParticipantCreated),
8542 "SIP_CALL_INCOMING" => Some(Self::SipCallIncoming),
8543 "SIP_CALL_STARTED" => Some(Self::SipCallStarted),
8544 "SIP_CALL_ENDED" => Some(Self::SipCallEnded),
8545 "SIP_TRANSFER_REQUESTED" => Some(Self::SipTransferRequested),
8546 "SIP_TRANSFER_COMPLETE" => Some(Self::SipTransferComplete),
8547 "SIP_CALL_UPDATE" => Some(Self::SipCallUpdate),
8548 "REPORT" => Some(Self::Report),
8549 "API_CALL" => Some(Self::ApiCall),
8550 "WEBHOOK" => Some(Self::Webhook),
8551 _ => None,
8552 }
8553 }
8554}
8555#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8558pub struct AgentDb {
8559}
8560pub mod agent_db {
8562 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8563 pub struct CreateRequest {
8564 #[prost(message, optional, tag = "1")]
8567 pub ttl: ::core::option::Option<::pbjson_types::Duration>,
8568 }
8569 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8570 pub struct CreateResponse {
8571 #[prost(string, tag = "1")]
8573 pub database_id: ::prost::alloc::string::String,
8574 #[prost(message, optional, tag = "2")]
8575 pub expires_at: ::core::option::Option<::pbjson_types::Timestamp>,
8576 }
8577 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8578 pub struct GetRequest {
8579 #[prost(string, tag = "1")]
8580 pub database_id: ::prost::alloc::string::String,
8581 }
8582 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8583 pub struct ListRequest {
8584 #[prost(int32, tag = "1")]
8586 pub page_size: i32,
8587 #[prost(string, tag = "2")]
8588 pub page_token: ::prost::alloc::string::String,
8589 }
8590 #[derive(Clone, PartialEq, ::prost::Message)]
8591 pub struct ListResponse {
8592 #[prost(message, repeated, tag = "1")]
8593 pub databases: ::prost::alloc::vec::Vec<AgentDatabase>,
8594 #[prost(string, tag = "2")]
8596 pub next_page_token: ::prost::alloc::string::String,
8597 }
8598 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8600 pub struct AgentDatabase {
8601 #[prost(string, tag = "1")]
8602 pub database_id: ::prost::alloc::string::String,
8603 #[prost(string, tag = "2")]
8604 pub region: ::prost::alloc::string::String,
8605 #[prost(message, optional, tag = "3")]
8606 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
8607 #[prost(message, optional, tag = "4")]
8608 pub expires_at: ::core::option::Option<::pbjson_types::Timestamp>,
8609 #[prost(int64, tag = "5")]
8610 pub tip: i64,
8611 }
8612 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8613 pub struct DeleteRequest {
8614 #[prost(string, tag = "1")]
8615 pub database_id: ::prost::alloc::string::String,
8616 }
8617 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8618 pub struct DeleteResponse {
8619 }
8620 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8621 pub struct ExportRequest {
8622 #[prost(string, tag = "1")]
8623 pub database_id: ::prost::alloc::string::String,
8624 }
8625 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8626 pub struct ExportResponse {
8627 #[prost(string, tag = "1")]
8629 pub download_url: ::prost::alloc::string::String,
8630 #[prost(message, optional, tag = "2")]
8632 pub expires_at: ::core::option::Option<::pbjson_types::Timestamp>,
8633 #[prost(int64, tag = "3")]
8635 pub tip: i64,
8636 }
8637 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8641 pub struct Wire {
8642 }
8643 pub mod wire {
8645 #[derive(Clone, PartialEq, ::prost::Message)]
8646 pub struct ClientMessage {
8647 #[prost(uint32, tag = "1")]
8648 pub request_id: u32,
8649 #[prost(oneof = "client_message::Message", tags = "2, 3, 4, 5, 6, 7, 8, 9, 10, 11")]
8650 pub message: ::core::option::Option<client_message::Message>,
8651 }
8652 pub mod client_message {
8654 #[derive(Clone, PartialEq, ::prost::Oneof)]
8655 pub enum Message {
8656 #[prost(message, tag = "2")]
8658 Hello(super::Hello),
8659 #[prost(message, tag = "3")]
8661 Exec(super::Statement),
8662 #[prost(message, tag = "4")]
8664 Query(super::Statement),
8665 #[prost(message, tag = "5")]
8667 Batch(super::Batch),
8668 #[prost(message, tag = "6")]
8669 Begin(super::Begin),
8670 #[prost(message, tag = "7")]
8671 Commit(super::Commit),
8672 #[prost(message, tag = "8")]
8673 Rollback(super::Rollback),
8674 #[prost(message, tag = "9")]
8675 Cancel(super::Cancel),
8676 #[prost(message, tag = "10")]
8677 Credit(super::Credit),
8678 #[prost(message, tag = "11")]
8679 Ping(super::Ping),
8680 }
8681 }
8682 #[derive(Clone, PartialEq, ::prost::Message)]
8683 pub struct ServerMessage {
8684 #[prost(uint32, tag = "1")]
8685 pub request_id: u32,
8686 #[prost(oneof = "server_message::Message", tags = "2, 3, 4, 5, 6, 7, 8")]
8687 pub message: ::core::option::Option<server_message::Message>,
8688 }
8689 pub mod server_message {
8691 #[derive(Clone, PartialEq, ::prost::Oneof)]
8692 pub enum Message {
8693 #[prost(message, tag = "2")]
8694 HelloOk(super::HelloOk),
8695 #[prost(message, tag = "3")]
8696 Columns(super::Columns),
8697 #[prost(message, tag = "4")]
8698 ColumnBatch(super::ColumnBatch),
8699 #[prost(message, tag = "5")]
8700 ExecResult(super::ExecResult),
8701 #[prost(message, tag = "6")]
8702 Done(super::Done),
8703 #[prost(message, tag = "7")]
8704 Error(super::Error),
8705 #[prost(message, tag = "8")]
8706 Pong(super::Pong),
8707 }
8708 }
8709 #[derive(Clone, PartialEq, ::prost::Message)]
8711 pub struct Value {
8712 #[prost(oneof = "value::Value", tags = "1, 2, 3, 4, 5")]
8713 pub value: ::core::option::Option<value::Value>,
8714 }
8715 pub mod value {
8717 #[derive(Clone, PartialEq, ::prost::Oneof)]
8718 pub enum Value {
8719 #[prost(bool, tag = "1")]
8721 NullValue(bool),
8722 #[prost(int64, tag = "2")]
8723 IntValue(i64),
8724 #[prost(double, tag = "3")]
8725 DoubleValue(f64),
8726 #[prost(string, tag = "4")]
8727 TextValue(::prost::alloc::string::String),
8728 #[prost(bytes, tag = "5")]
8729 BlobValue(::prost::alloc::vec::Vec<u8>),
8730 }
8731 }
8732 #[derive(Clone, PartialEq, ::prost::Message)]
8733 pub struct Statement {
8734 #[prost(string, tag = "1")]
8735 pub sql: ::prost::alloc::string::String,
8736 #[prost(message, repeated, tag = "2")]
8738 pub params: ::prost::alloc::vec::Vec<Value>,
8739 #[prost(enumeration = "QueryLang", tag = "3")]
8740 pub lang: i32,
8741 }
8742 #[derive(Clone, PartialEq, ::prost::Message)]
8749 pub struct Batch {
8750 #[prost(message, repeated, tag = "1")]
8751 pub statements: ::prost::alloc::vec::Vec<Statement>,
8752 }
8753 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8754 pub struct Begin {
8755 }
8756 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8757 pub struct Commit {
8758 }
8759 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8760 pub struct Rollback {
8761 }
8762 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8763 pub struct Cancel {
8764 }
8765 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8766 pub struct Credit {
8767 #[prost(uint32, tag = "1")]
8769 pub batches: u32,
8770 }
8771 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8772 pub struct Ping {
8773 #[prost(int64, tag = "1")]
8774 pub timestamp_ms: i64,
8775 }
8776 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8777 pub struct Pong {
8778 #[prost(int64, tag = "1")]
8779 pub last_ping_timestamp_ms: i64,
8780 #[prost(int64, tag = "2")]
8781 pub timestamp_ms: i64,
8782 }
8783 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8784 pub struct Hello {
8785 #[prost(string, tag = "1")]
8786 pub token: ::prost::alloc::string::String,
8787 #[prost(string, tag = "2")]
8788 pub database_id: ::prost::alloc::string::String,
8789 }
8790 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8791 pub struct HelloOk {
8792 #[prost(int64, tag = "1")]
8793 pub tip: i64,
8794 #[prost(uint32, tag = "2")]
8795 pub ping_interval_ms: u32,
8796 #[prost(uint32, tag = "3")]
8797 pub ping_timeout_ms: u32,
8798 }
8799 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8800 pub struct Columns {
8801 #[prost(string, repeated, tag = "1")]
8802 pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
8803 #[prost(uint32, tag = "2")]
8805 pub statement: u32,
8806 }
8807 #[derive(Clone, PartialEq, ::prost::Message)]
8813 pub struct Column {
8814 #[prost(bytes = "vec", tag = "1")]
8816 pub types: ::prost::alloc::vec::Vec<u8>,
8817 #[prost(sint64, repeated, tag = "2")]
8818 pub ints: ::prost::alloc::vec::Vec<i64>,
8819 #[prost(double, repeated, tag = "3")]
8820 pub doubles: ::prost::alloc::vec::Vec<f64>,
8821 #[prost(bytes = "vec", tag = "4")]
8822 pub text_data: ::prost::alloc::vec::Vec<u8>,
8823 #[prost(uint32, repeated, tag = "5")]
8824 pub text_ends: ::prost::alloc::vec::Vec<u32>,
8825 #[prost(bytes = "vec", tag = "6")]
8826 pub blob_data: ::prost::alloc::vec::Vec<u8>,
8827 #[prost(uint32, repeated, tag = "7")]
8828 pub blob_ends: ::prost::alloc::vec::Vec<u32>,
8829 }
8830 #[derive(Clone, PartialEq, ::prost::Message)]
8831 pub struct ColumnBatch {
8832 #[prost(message, repeated, tag = "1")]
8834 pub columns: ::prost::alloc::vec::Vec<Column>,
8835 #[prost(uint32, tag = "2")]
8836 pub rows: u32,
8837 #[prost(uint32, tag = "3")]
8839 pub statement: u32,
8840 }
8841 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8842 pub struct ExecResult {
8843 #[prost(int64, tag = "1")]
8844 pub rows_affected: i64,
8845 #[prost(int64, tag = "2")]
8846 pub last_insert_id: i64,
8847 #[prost(int64, tag = "3")]
8848 pub tip: i64,
8849 #[prost(uint32, tag = "4")]
8851 pub statement: u32,
8852 }
8853 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8854 pub struct Done {
8855 #[prost(int64, tag = "1")]
8857 pub tip: i64,
8858 #[prost(uint64, tag = "2")]
8859 pub total_rows: u64,
8860 }
8861 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8862 pub struct Error {
8863 #[prost(string, tag = "1")]
8865 pub code: ::prost::alloc::string::String,
8866 #[prost(string, tag = "2")]
8867 pub message: ::prost::alloc::string::String,
8868 }
8869 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8870 #[repr(i32)]
8871 pub enum QueryLang {
8872 Sql = 0,
8873 }
8874 impl QueryLang {
8875 pub fn as_str_name(&self) -> &'static str {
8880 match self {
8881 Self::Sql => "SQL",
8882 }
8883 }
8884 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8886 match value {
8887 "SQL" => Some(Self::Sql),
8888 _ => None,
8889 }
8890 }
8891 }
8892 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
8893 #[repr(i32)]
8894 pub enum ValueType {
8895 Null = 0,
8896 Int = 1,
8897 Double = 2,
8898 Text = 3,
8899 Blob = 4,
8900 }
8901 impl ValueType {
8902 pub fn as_str_name(&self) -> &'static str {
8907 match self {
8908 Self::Null => "NULL",
8909 Self::Int => "INT",
8910 Self::Double => "DOUBLE",
8911 Self::Text => "TEXT",
8912 Self::Blob => "BLOB",
8913 }
8914 }
8915 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8917 match value {
8918 "NULL" => Some(Self::Null),
8919 "INT" => Some(Self::Int),
8920 "DOUBLE" => Some(Self::Double),
8921 "TEXT" => Some(Self::Text),
8922 "BLOB" => Some(Self::Blob),
8923 _ => None,
8924 }
8925 }
8926 }
8927 }
8928}
8929#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8930pub struct ListReplaysRequest {
8931 #[prost(string, tag = "1")]
8933 pub room_name: ::prost::alloc::string::String,
8934 #[prost(message, optional, tag = "2")]
8935 pub page_token: ::core::option::Option<TokenPagination>,
8936}
8937#[derive(Clone, PartialEq, ::prost::Message)]
8938pub struct ListReplaysResponse {
8939 #[prost(message, repeated, tag = "1")]
8940 pub replays: ::prost::alloc::vec::Vec<ReplayInfo>,
8941 #[prost(message, optional, tag = "2")]
8942 pub next_page_token: ::core::option::Option<TokenPagination>,
8943}
8944#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8945pub struct ReplayInfo {
8946 #[prost(string, tag = "1")]
8947 pub replay_id: ::prost::alloc::string::String,
8948 #[prost(string, tag = "2")]
8949 pub room_name: ::prost::alloc::string::String,
8950 #[prost(int64, tag = "3")]
8951 pub start_time: i64,
8952 #[prost(int64, tag = "4")]
8953 pub duration_ms: i64,
8954}
8955#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8956pub struct PlaybackRequest {
8957 #[prost(string, tag = "1")]
8958 pub replay_id: ::prost::alloc::string::String,
8959 #[prost(string, tag = "2")]
8961 pub playback_room: ::prost::alloc::string::String,
8962 #[prost(int64, tag = "3")]
8964 pub seek_offset_ms: i64,
8965}
8966#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8967pub struct PlaybackResponse {
8968 #[prost(string, tag = "1")]
8969 pub playback_id: ::prost::alloc::string::String,
8970}
8971#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8972pub struct SeekRequest {
8973 #[prost(string, tag = "1")]
8974 pub playback_id: ::prost::alloc::string::String,
8975 #[prost(int64, tag = "2")]
8977 pub seek_offset_ms: i64,
8978}
8979#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8980pub struct ClosePlaybackRequest {
8981 #[prost(string, tag = "1")]
8982 pub playback_id: ::prost::alloc::string::String,
8983}
8984#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8985pub struct DeleteReplayRequest {
8986 #[prost(string, tag = "1")]
8987 pub replay_id: ::prost::alloc::string::String,
8988}
8989#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
8990pub struct AgentEvent {
8991 #[prost(enumeration = "AgentEventType", tag = "1")]
8992 pub r#type: i32,
8993 #[prost(int32, tag = "2")]
8994 pub count: i32,
8995 #[prost(message, optional, tag = "3")]
8996 pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
8997}
8998#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
8999pub struct AgentSecret {
9000 #[prost(string, tag = "1")]
9001 pub name: ::prost::alloc::string::String,
9002 #[prost(bytes = "vec", tag = "2")]
9003 pub value: ::prost::alloc::vec::Vec<u8>,
9004 #[prost(message, optional, tag = "3")]
9005 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
9006 #[prost(message, optional, tag = "4")]
9007 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
9008 #[prost(enumeration = "AgentSecretKind", tag = "5")]
9009 pub kind: i32,
9010 #[prost(string, repeated, tag = "6")]
9011 pub deployments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9012}
9013#[derive(Clone, PartialEq, ::prost::Message)]
9014pub struct CreateAgentRequest {
9015 #[deprecated]
9016 #[prost(string, tag = "1")]
9017 pub agent_name: ::prost::alloc::string::String,
9018 #[prost(message, repeated, tag = "2")]
9019 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9020 #[deprecated]
9021 #[prost(int32, tag = "3")]
9022 pub replicas: i32,
9023 #[deprecated]
9024 #[prost(int32, tag = "4")]
9025 pub max_replicas: i32,
9026 #[deprecated]
9027 #[prost(string, tag = "5")]
9028 pub cpu_req: ::prost::alloc::string::String,
9029 #[prost(string, repeated, tag = "6")]
9030 pub regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9031}
9032#[derive(Clone, PartialEq, ::prost::Message)]
9033pub struct CreateAgentResponse {
9034 #[prost(string, tag = "1")]
9035 pub agent_id: ::prost::alloc::string::String,
9036 #[prost(string, tag = "2")]
9037 pub agent_name: ::prost::alloc::string::String,
9038 #[prost(string, tag = "3")]
9039 pub status: ::prost::alloc::string::String,
9040 #[prost(string, tag = "4")]
9041 pub version: ::prost::alloc::string::String,
9042 #[prost(string, tag = "5")]
9043 pub presigned_url: ::prost::alloc::string::String,
9044 #[prost(string, tag = "6")]
9045 pub tag: ::prost::alloc::string::String,
9046 #[prost(string, repeated, tag = "7")]
9047 pub server_regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9048 #[prost(message, optional, tag = "8")]
9049 pub presigned_post_request: ::core::option::Option<PresignedPostRequest>,
9050}
9051#[derive(Clone, PartialEq, ::prost::Message)]
9052pub struct CreateAgentV2Request {
9053 #[prost(message, repeated, tag = "1")]
9054 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9055 #[prost(string, repeated, tag = "2")]
9056 pub regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9057}
9058#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9059pub struct CreateAgentV2Response {
9060 #[prost(string, tag = "1")]
9061 pub agent_id: ::prost::alloc::string::String,
9062 #[prost(string, tag = "2")]
9063 pub status: ::prost::alloc::string::String,
9064 #[prost(string, repeated, tag = "3")]
9065 pub server_regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9066}
9067#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9068pub struct PromoteAgentRequest {
9069 #[prost(string, tag = "1")]
9070 pub agent_id: ::prost::alloc::string::String,
9071 #[prost(string, tag = "2")]
9072 pub src_deployment: ::prost::alloc::string::String,
9073 #[prost(string, tag = "3")]
9074 pub dst_deployment: ::prost::alloc::string::String,
9075}
9076#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9077pub struct PromoteAgentResponse {
9078 #[prost(bool, tag = "1")]
9079 pub success: bool,
9080 #[prost(string, tag = "2")]
9081 pub message: ::prost::alloc::string::String,
9082 #[prost(string, tag = "3")]
9083 pub agent_id: ::prost::alloc::string::String,
9084 #[prost(string, tag = "4")]
9085 pub src_deployment: ::prost::alloc::string::String,
9086 #[prost(string, tag = "5")]
9087 pub dst_deployment: ::prost::alloc::string::String,
9088 #[prost(string, tag = "6")]
9089 pub version_tag: ::prost::alloc::string::String,
9090}
9091#[derive(Clone, PartialEq, ::prost::Message)]
9092pub struct PresignedPostRequest {
9093 #[prost(string, tag = "1")]
9094 pub url: ::prost::alloc::string::String,
9095 #[prost(map = "string, string", tag = "2")]
9096 pub values: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
9097}
9098#[derive(Clone, PartialEq, ::prost::Message)]
9099pub struct AgentDeployment {
9100 #[prost(string, tag = "1")]
9101 pub region: ::prost::alloc::string::String,
9102 #[prost(string, tag = "2")]
9103 pub agent_id: ::prost::alloc::string::String,
9104 #[prost(string, tag = "3")]
9105 pub status: ::prost::alloc::string::String,
9106 #[prost(int32, tag = "4")]
9107 pub replicas: i32,
9108 #[prost(int32, tag = "5")]
9109 pub min_replicas: i32,
9110 #[prost(int32, tag = "6")]
9111 pub max_replicas: i32,
9112 #[prost(string, tag = "7")]
9113 pub cpu_req: ::prost::alloc::string::String,
9114 #[prost(string, tag = "8")]
9115 pub cur_cpu: ::prost::alloc::string::String,
9116 #[prost(string, tag = "9")]
9117 pub cur_mem: ::prost::alloc::string::String,
9118 #[prost(string, tag = "10")]
9119 pub mem_req: ::prost::alloc::string::String,
9120 #[prost(string, tag = "11")]
9121 pub mem_limit: ::prost::alloc::string::String,
9122 #[prost(string, tag = "12")]
9123 pub cpu_limit: ::prost::alloc::string::String,
9124 #[prost(string, tag = "13")]
9125 pub server_region: ::prost::alloc::string::String,
9126 #[prost(message, repeated, tag = "14")]
9127 pub events: ::prost::alloc::vec::Vec<AgentEvent>,
9128 #[prost(string, tag = "15")]
9129 pub deployment: ::prost::alloc::string::String,
9130 #[prost(string, tag = "16")]
9131 pub version: ::prost::alloc::string::String,
9132 #[prost(string, tag = "17")]
9133 pub agent_name: ::prost::alloc::string::String,
9134 #[prost(bool, tag = "18")]
9135 pub deployment_enabled: bool,
9136 #[prost(message, optional, tag = "19")]
9137 pub last_scraped_at: ::core::option::Option<::pbjson_types::Timestamp>,
9138}
9139#[derive(Clone, PartialEq, ::prost::Message)]
9140pub struct AgentInfo {
9141 #[prost(string, tag = "1")]
9142 pub agent_id: ::prost::alloc::string::String,
9143 #[prost(string, tag = "2")]
9144 pub agent_name: ::prost::alloc::string::String,
9145 #[prost(string, tag = "3")]
9146 pub version: ::prost::alloc::string::String,
9147 #[prost(message, repeated, tag = "4")]
9148 pub agent_deployments: ::prost::alloc::vec::Vec<AgentDeployment>,
9149 #[prost(message, repeated, tag = "5")]
9150 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9151 #[prost(message, optional, tag = "6")]
9152 pub deployed_at: ::core::option::Option<::pbjson_types::Timestamp>,
9153}
9154#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9155pub struct ListAgentsRequest {
9156 #[prost(string, tag = "1")]
9157 pub agent_name: ::prost::alloc::string::String,
9158 #[prost(string, tag = "2")]
9159 pub agent_id: ::prost::alloc::string::String,
9160}
9161#[derive(Clone, PartialEq, ::prost::Message)]
9162pub struct ListAgentsResponse {
9163 #[prost(message, repeated, tag = "1")]
9164 pub agents: ::prost::alloc::vec::Vec<AgentInfo>,
9165}
9166#[derive(Clone, PartialEq, ::prost::Message)]
9167pub struct AgentVersion {
9168 #[prost(string, tag = "1")]
9169 pub version: ::prost::alloc::string::String,
9170 #[prost(bool, tag = "2")]
9171 pub current: bool,
9172 #[prost(message, optional, tag = "3")]
9173 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
9174 #[prost(message, optional, tag = "4")]
9175 pub deployed_at: ::core::option::Option<::pbjson_types::Timestamp>,
9176 #[prost(map = "string, string", tag = "5")]
9177 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
9178 #[prost(string, tag = "6")]
9179 pub status: ::prost::alloc::string::String,
9180 #[prost(string, tag = "7")]
9181 pub owner: ::prost::alloc::string::String,
9182 #[prost(bool, tag = "8")]
9183 pub draining: bool,
9184 #[prost(bool, tag = "9")]
9185 pub active: bool,
9186}
9187#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9188pub struct ListAgentVersionsRequest {
9189 #[prost(string, tag = "1")]
9190 pub agent_id: ::prost::alloc::string::String,
9191 #[prost(string, tag = "2")]
9192 pub agent_name: ::prost::alloc::string::String,
9193}
9194#[derive(Clone, PartialEq, ::prost::Message)]
9195pub struct ListAgentVersionsResponse {
9196 #[prost(message, repeated, tag = "1")]
9197 pub versions: ::prost::alloc::vec::Vec<AgentVersion>,
9198}
9199#[derive(Clone, PartialEq, ::prost::Message)]
9200pub struct UpdateAgentRequest {
9201 #[prost(string, tag = "1")]
9202 pub agent_id: ::prost::alloc::string::String,
9203 #[deprecated]
9204 #[prost(string, tag = "2")]
9205 pub agent_name: ::prost::alloc::string::String,
9206 #[deprecated]
9207 #[prost(int32, tag = "3")]
9208 pub replicas: i32,
9209 #[deprecated]
9210 #[prost(int32, tag = "4")]
9211 pub max_replicas: i32,
9212 #[deprecated]
9213 #[prost(string, tag = "5")]
9214 pub cpu_req: ::prost::alloc::string::String,
9215 #[prost(string, repeated, tag = "6")]
9216 pub regions: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9217 #[prost(message, repeated, tag = "7")]
9218 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9219}
9220#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9221pub struct UpdateAgentResponse {
9222 #[prost(bool, tag = "1")]
9223 pub success: bool,
9224 #[prost(string, tag = "2")]
9225 pub message: ::prost::alloc::string::String,
9226}
9227#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9228pub struct RestartAgentRequest {
9229 #[prost(string, tag = "1")]
9230 pub agent_id: ::prost::alloc::string::String,
9231}
9232#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9233pub struct RestartAgentResponse {
9234 #[prost(bool, tag = "1")]
9235 pub success: bool,
9236 #[prost(string, tag = "2")]
9237 pub message: ::prost::alloc::string::String,
9238}
9239#[derive(Clone, PartialEq, ::prost::Message)]
9240pub struct DeployAgentRequest {
9241 #[prost(string, tag = "1")]
9242 pub agent_id: ::prost::alloc::string::String,
9243 #[deprecated]
9244 #[prost(string, tag = "2")]
9245 pub agent_name: ::prost::alloc::string::String,
9246 #[prost(message, repeated, tag = "3")]
9247 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9248 #[deprecated]
9249 #[prost(int32, tag = "4")]
9250 pub replicas: i32,
9251 #[deprecated]
9252 #[prost(int32, tag = "5")]
9253 pub max_replicas: i32,
9254 #[deprecated]
9255 #[prost(string, tag = "6")]
9256 pub cpu_req: ::prost::alloc::string::String,
9257 #[prost(string, tag = "7")]
9258 pub deployment: ::prost::alloc::string::String,
9259 #[prost(map = "string, string", tag = "8")]
9260 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
9261}
9262#[derive(Clone, PartialEq, ::prost::Message)]
9263pub struct DeployAgentResponse {
9264 #[prost(bool, tag = "1")]
9265 pub success: bool,
9266 #[prost(string, tag = "2")]
9267 pub message: ::prost::alloc::string::String,
9268 #[prost(string, tag = "3")]
9269 pub agent_id: ::prost::alloc::string::String,
9270 #[deprecated]
9271 #[prost(string, tag = "4")]
9272 pub presigned_url: ::prost::alloc::string::String,
9273 #[prost(string, tag = "5")]
9274 pub tag: ::prost::alloc::string::String,
9275 #[prost(message, optional, tag = "6")]
9276 pub presigned_post_request: ::core::option::Option<PresignedPostRequest>,
9277 #[prost(string, tag = "7")]
9278 pub deployment: ::prost::alloc::string::String,
9279}
9280#[derive(Clone, PartialEq, ::prost::Message)]
9281pub struct DeployAgentV2Request {
9282 #[prost(string, tag = "1")]
9283 pub agent_id: ::prost::alloc::string::String,
9284 #[prost(message, repeated, tag = "2")]
9285 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9286 #[prost(string, tag = "3")]
9287 pub deployment: ::prost::alloc::string::String,
9288 #[prost(map = "string, string", tag = "4")]
9289 pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
9290}
9291#[derive(Clone, PartialEq, ::prost::Message)]
9292pub struct DeployAgentV2Response {
9293 #[prost(bool, tag = "1")]
9294 pub success: bool,
9295 #[prost(string, tag = "2")]
9296 pub message: ::prost::alloc::string::String,
9297 #[prost(string, tag = "3")]
9298 pub agent_id: ::prost::alloc::string::String,
9299 #[prost(string, tag = "4")]
9300 pub tag: ::prost::alloc::string::String,
9301 #[prost(message, optional, tag = "5")]
9302 pub presigned_req: ::core::option::Option<PresignedPostRequest>,
9303 #[prost(string, tag = "6")]
9304 pub deployment: ::prost::alloc::string::String,
9305}
9306#[derive(Clone, PartialEq, ::prost::Message)]
9307pub struct UpdateAgentSecretsRequest {
9308 #[prost(string, tag = "1")]
9309 pub agent_id: ::prost::alloc::string::String,
9310 #[prost(string, tag = "2")]
9311 pub agent_name: ::prost::alloc::string::String,
9312 #[prost(bool, tag = "3")]
9313 pub overwrite: bool,
9314 #[prost(message, repeated, tag = "4")]
9315 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9316 #[prost(string, repeated, tag = "5")]
9317 pub remove: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9318}
9319#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9320pub struct UpdateAgentSecretsResponse {
9321 #[prost(bool, tag = "1")]
9322 pub success: bool,
9323 #[prost(string, tag = "2")]
9324 pub message: ::prost::alloc::string::String,
9325}
9326#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9327pub struct RollbackAgentRequest {
9328 #[prost(string, tag = "1")]
9329 pub agent_id: ::prost::alloc::string::String,
9330 #[prost(string, tag = "2")]
9331 pub agent_name: ::prost::alloc::string::String,
9332 #[prost(string, tag = "3")]
9333 pub version: ::prost::alloc::string::String,
9334}
9335#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9336pub struct RollbackAgentResponse {
9337 #[prost(bool, tag = "1")]
9338 pub success: bool,
9339 #[prost(string, tag = "2")]
9340 pub message: ::prost::alloc::string::String,
9341}
9342#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9343pub struct DeleteAgentRequest {
9344 #[prost(string, tag = "1")]
9345 pub agent_id: ::prost::alloc::string::String,
9346 #[prost(string, tag = "2")]
9347 pub agent_name: ::prost::alloc::string::String,
9348 #[prost(string, tag = "3")]
9350 pub deployment: ::prost::alloc::string::String,
9351}
9352#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9353pub struct DeleteAgentResponse {
9354 #[prost(bool, tag = "1")]
9355 pub success: bool,
9356 #[prost(string, tag = "2")]
9357 pub message: ::prost::alloc::string::String,
9358}
9359#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9360pub struct ListAgentSecretsRequest {
9361 #[prost(string, tag = "1")]
9362 pub agent_id: ::prost::alloc::string::String,
9363 #[prost(string, tag = "2")]
9364 pub agent_name: ::prost::alloc::string::String,
9365}
9366#[derive(Clone, PartialEq, ::prost::Message)]
9367pub struct ListAgentSecretsResponse {
9368 #[prost(message, repeated, tag = "1")]
9369 pub secrets: ::prost::alloc::vec::Vec<AgentSecret>,
9370}
9371#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9372pub struct SettingsParam {
9373 #[prost(string, tag = "1")]
9374 pub name: ::prost::alloc::string::String,
9375 #[prost(string, tag = "2")]
9376 pub value: ::prost::alloc::string::String,
9377}
9378#[derive(Clone, PartialEq, ::prost::Message)]
9379pub struct ClientSettingsResponse {
9380 #[prost(message, repeated, tag = "1")]
9381 pub params: ::prost::alloc::vec::Vec<SettingsParam>,
9382}
9383#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9384pub struct ClientSettingsRequest {
9385}
9386#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9387pub struct PrivateLink {
9388 #[prost(string, tag = "1")]
9389 pub private_link_id: ::prost::alloc::string::String,
9390 #[prost(string, tag = "2")]
9391 pub name: ::prost::alloc::string::String,
9392 #[prost(string, tag = "4")]
9393 pub region: ::prost::alloc::string::String,
9394 #[prost(uint32, tag = "5")]
9395 pub port: u32,
9396 #[prost(string, tag = "6")]
9397 pub endpoint: ::prost::alloc::string::String,
9398 #[prost(string, tag = "7")]
9399 pub connection_endpoint: ::prost::alloc::string::String,
9400 #[prost(string, tag = "8")]
9401 pub cloud_region: ::prost::alloc::string::String,
9402 #[prost(oneof = "private_link::Config", tags = "3")]
9403 pub config: ::core::option::Option<private_link::Config>,
9404}
9405pub mod private_link {
9407 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9408 pub struct AwsConfig {
9409 #[deprecated]
9411 #[prost(string, tag = "1")]
9412 pub endpoint: ::prost::alloc::string::String,
9413 }
9414 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
9415 pub enum Config {
9416 #[deprecated]
9417 #[prost(message, tag = "3")]
9418 Aws(AwsConfig),
9419 }
9420}
9421#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9422pub struct PrivateLinkStatus {
9423 #[prost(enumeration = "private_link_status::Status", tag = "1")]
9424 pub status: i32,
9425 #[prost(message, optional, tag = "2")]
9426 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
9427 #[prost(string, tag = "3")]
9428 pub reason: ::prost::alloc::string::String,
9429}
9430pub mod private_link_status {
9432 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
9433 #[repr(i32)]
9434 pub enum Status {
9435 PrivateLinkStatusUnknown = 0,
9436 PrivateLinkStatusProvisioning = 1,
9437 PrivateLinkStatusPendingApproval = 2,
9438 PrivateLinkStatusHealthy = 3,
9439 PrivateLinkStatusUnhealthy = 4,
9440 PrivateLinkStatusApproved = 5,
9441 }
9442 impl Status {
9443 pub fn as_str_name(&self) -> &'static str {
9448 match self {
9449 Self::PrivateLinkStatusUnknown => "PRIVATE_LINK_STATUS_UNKNOWN",
9450 Self::PrivateLinkStatusProvisioning => "PRIVATE_LINK_STATUS_PROVISIONING",
9451 Self::PrivateLinkStatusPendingApproval => "PRIVATE_LINK_STATUS_PENDING_APPROVAL",
9452 Self::PrivateLinkStatusHealthy => "PRIVATE_LINK_STATUS_HEALTHY",
9453 Self::PrivateLinkStatusUnhealthy => "PRIVATE_LINK_STATUS_UNHEALTHY",
9454 Self::PrivateLinkStatusApproved => "PRIVATE_LINK_STATUS_APPROVED",
9455 }
9456 }
9457 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
9459 match value {
9460 "PRIVATE_LINK_STATUS_UNKNOWN" => Some(Self::PrivateLinkStatusUnknown),
9461 "PRIVATE_LINK_STATUS_PROVISIONING" => Some(Self::PrivateLinkStatusProvisioning),
9462 "PRIVATE_LINK_STATUS_PENDING_APPROVAL" => Some(Self::PrivateLinkStatusPendingApproval),
9463 "PRIVATE_LINK_STATUS_HEALTHY" => Some(Self::PrivateLinkStatusHealthy),
9464 "PRIVATE_LINK_STATUS_UNHEALTHY" => Some(Self::PrivateLinkStatusUnhealthy),
9465 "PRIVATE_LINK_STATUS_APPROVED" => Some(Self::PrivateLinkStatusApproved),
9466 _ => None,
9467 }
9468 }
9469 }
9470}
9471#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9472pub struct CreatePrivateLinkRequest {
9473 #[prost(string, tag = "1")]
9474 pub name: ::prost::alloc::string::String,
9475 #[prost(string, tag = "3")]
9476 pub region: ::prost::alloc::string::String,
9477 #[prost(uint32, tag = "4")]
9478 pub port: u32,
9479 #[prost(string, tag = "5")]
9480 pub endpoint: ::prost::alloc::string::String,
9481 #[prost(string, optional, tag = "6")]
9482 pub cloud_region: ::core::option::Option<::prost::alloc::string::String>,
9483 #[prost(oneof = "create_private_link_request::Config", tags = "2")]
9484 pub config: ::core::option::Option<create_private_link_request::Config>,
9485}
9486pub mod create_private_link_request {
9488 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9489 pub struct AwsCreateConfig {
9490 #[deprecated]
9491 #[prost(string, tag = "1")]
9492 pub endpoint: ::prost::alloc::string::String,
9493 }
9494 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
9495 pub enum Config {
9496 #[deprecated]
9497 #[prost(message, tag = "2")]
9498 Aws(AwsCreateConfig),
9499 }
9500}
9501#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9502pub struct CreatePrivateLinkResponse {
9503 #[prost(message, optional, tag = "1")]
9504 pub private_link: ::core::option::Option<PrivateLink>,
9505}
9506#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9507pub struct DestroyPrivateLinkRequest {
9508 #[prost(string, tag = "1")]
9509 pub private_link_id: ::prost::alloc::string::String,
9510}
9511#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9512pub struct DestroyPrivateLinkResponse {
9513}
9514#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9515pub struct ListPrivateLinksRequest {
9516}
9517#[derive(Clone, PartialEq, ::prost::Message)]
9518pub struct ListPrivateLinksResponse {
9519 #[prost(message, repeated, tag = "1")]
9520 pub items: ::prost::alloc::vec::Vec<PrivateLink>,
9521}
9522#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9523pub struct GetPrivateLinkStatusRequest {
9524 #[prost(string, tag = "1")]
9525 pub private_link_id: ::prost::alloc::string::String,
9526}
9527#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9528pub struct GetPrivateLinkStatusResponse {
9529 #[prost(message, optional, tag = "1")]
9530 pub value: ::core::option::Option<PrivateLinkStatus>,
9531}
9532#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
9533#[repr(i32)]
9534pub enum AgentSecretKind {
9535 Unknown = 0,
9536 Environment = 1,
9537 File = 2,
9538}
9539impl AgentSecretKind {
9540 pub fn as_str_name(&self) -> &'static str {
9545 match self {
9546 Self::Unknown => "AGENT_SECRET_KIND_UNKNOWN",
9547 Self::Environment => "AGENT_SECRET_KIND_ENVIRONMENT",
9548 Self::File => "AGENT_SECRET_KIND_FILE",
9549 }
9550 }
9551 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
9553 match value {
9554 "AGENT_SECRET_KIND_UNKNOWN" => Some(Self::Unknown),
9555 "AGENT_SECRET_KIND_ENVIRONMENT" => Some(Self::Environment),
9556 "AGENT_SECRET_KIND_FILE" => Some(Self::File),
9557 _ => None,
9558 }
9559 }
9560}
9561#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
9562#[repr(i32)]
9563pub enum AgentEventType {
9564 Unknown = 0,
9565 ApplicationCrashed = 1,
9566 RestartedHighDiskUsage = 2,
9567 RestartedHighMemoryUsage = 3,
9568}
9569impl AgentEventType {
9570 pub fn as_str_name(&self) -> &'static str {
9575 match self {
9576 Self::Unknown => "AGENT_EVENT_TYPE_UNKNOWN",
9577 Self::ApplicationCrashed => "AGENT_EVENT_TYPE_APPLICATION_CRASHED",
9578 Self::RestartedHighDiskUsage => "AGENT_EVENT_TYPE_RESTARTED_HIGH_DISK_USAGE",
9579 Self::RestartedHighMemoryUsage => "AGENT_EVENT_TYPE_RESTARTED_HIGH_MEMORY_USAGE",
9580 }
9581 }
9582 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
9584 match value {
9585 "AGENT_EVENT_TYPE_UNKNOWN" => Some(Self::Unknown),
9586 "AGENT_EVENT_TYPE_APPLICATION_CRASHED" => Some(Self::ApplicationCrashed),
9587 "AGENT_EVENT_TYPE_RESTARTED_HIGH_DISK_USAGE" => Some(Self::RestartedHighDiskUsage),
9588 "AGENT_EVENT_TYPE_RESTARTED_HIGH_MEMORY_USAGE" => Some(Self::RestartedHighMemoryUsage),
9589 _ => None,
9590 }
9591 }
9592}
9593#[derive(Clone, PartialEq, ::prost::Message)]
9594pub struct SimulationRunSummary {
9595 #[prost(int32, tag = "1")]
9596 pub passed: i32,
9597 #[prost(int32, tag = "2")]
9598 pub failed: i32,
9599 #[prost(string, tag = "3")]
9600 pub going_well: ::prost::alloc::string::String,
9601 #[prost(string, tag = "4")]
9602 pub to_improve: ::prost::alloc::string::String,
9603 #[prost(message, repeated, tag = "5")]
9604 pub issues: ::prost::alloc::vec::Vec<simulation_run_summary::Issue>,
9605 #[prost(map = "string, message", tag = "6")]
9606 pub chat_history: ::std::collections::HashMap<::prost::alloc::string::String, agent::ChatContext>,
9607}
9608pub mod simulation_run_summary {
9610 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
9611 pub struct Issue {
9612 #[prost(string, tag = "1")]
9613 pub description: ::prost::alloc::string::String,
9614 #[prost(string, tag = "2")]
9615 pub suggestion: ::prost::alloc::string::String,
9616 #[prost(string, tag = "3")]
9617 pub label: ::prost::alloc::string::String,
9618 }
9619}
9620#[derive(Clone, PartialEq, ::prost::Message)]
9621pub struct SimulationRun {
9622 #[prost(string, tag = "1")]
9623 pub id: ::prost::alloc::string::String,
9624 #[prost(string, tag = "2")]
9625 pub project_id: ::prost::alloc::string::String,
9626 #[prost(enumeration = "simulation_run::Status", tag = "3")]
9627 pub status: i32,
9628 #[prost(string, tag = "4")]
9629 pub agent_description: ::prost::alloc::string::String,
9630 #[prost(string, tag = "5")]
9631 pub error: ::prost::alloc::string::String,
9632 #[prost(message, optional, tag = "6")]
9633 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
9634 #[prost(message, repeated, tag = "7")]
9635 pub jobs: ::prost::alloc::vec::Vec<simulation_run::Job>,
9636 #[prost(string, tag = "9")]
9637 pub agent_name: ::prost::alloc::string::String,
9638 #[prost(message, optional, tag = "10")]
9639 pub scenario_group: ::core::option::Option<ScenarioGroup>,
9640 #[prost(message, optional, tag = "11")]
9641 pub ended_at: ::core::option::Option<::pbjson_types::Timestamp>,
9642 #[prost(int32, tag = "12")]
9643 pub job_count: i32,
9644 #[prost(int32, tag = "13")]
9645 pub passed_count: i32,
9646 #[prost(int32, tag = "14")]
9647 pub failed_count: i32,
9648 #[prost(int32, tag = "15")]
9649 pub num_simulations: i32,
9650 #[prost(message, optional, tag = "16")]
9652 pub usage: ::core::option::Option<simulation_run::Usage>,
9653 #[prost(int32, tag = "17")]
9655 pub concurrency: i32,
9656 #[prost(enumeration = "SimulationMode", tag = "18")]
9658 pub mode: i32,
9659 #[prost(message, optional, tag = "19")]
9661 pub metrics: ::core::option::Option<simulation_run::RunMetrics>,
9662 #[prost(bytes = "vec", tag = "20")]
9665 pub summary_zstd: ::prost::alloc::vec::Vec<u8>,
9666 #[prost(int32, optional, tag = "21")]
9670 pub issue_count: ::core::option::Option<i32>,
9671 #[prost(message, optional, tag = "22")]
9673 pub ci: ::core::option::Option<simulation_run::Ci>,
9674 #[prost(message, optional, tag = "23")]
9676 pub sampling: ::core::option::Option<simulation_run::SamplingOptions>,
9677}
9678pub mod simulation_run {
9680 #[derive(Clone, PartialEq, ::prost::Message)]
9681 pub struct Job {
9682 #[prost(string, tag = "1")]
9683 pub id: ::prost::alloc::string::String,
9684 #[prost(enumeration = "job::Status", tag = "2")]
9685 pub status: i32,
9686 #[prost(string, tag = "3")]
9687 pub instructions: ::prost::alloc::string::String,
9688 #[prost(string, tag = "4")]
9689 pub error: ::prost::alloc::string::String,
9690 #[prost(string, tag = "5")]
9691 pub agent_expectations: ::prost::alloc::string::String,
9692 #[prost(string, tag = "6")]
9693 pub label: ::prost::alloc::string::String,
9694 #[prost(string, repeated, tag = "7")]
9695 pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
9696 #[prost(string, tag = "8")]
9697 pub room_name: ::prost::alloc::string::String,
9698 #[prost(message, optional, tag = "10")]
9699 pub started_at: ::core::option::Option<::pbjson_types::Timestamp>,
9700 #[prost(message, optional, tag = "11")]
9701 pub ended_at: ::core::option::Option<::pbjson_types::Timestamp>,
9702 #[prost(string, tag = "12")]
9703 pub room_id: ::prost::alloc::string::String,
9704 #[prost(message, optional, tag = "13")]
9705 pub usage: ::core::option::Option<job::Usage>,
9706 #[prost(message, optional, tag = "14")]
9708 pub metrics: ::core::option::Option<JobMetrics>,
9709 #[prost(string, tag = "15")]
9712 pub scenario_id: ::prost::alloc::string::String,
9713 #[prost(int32, tag = "16")]
9716 pub sample: i32,
9717 }
9718 pub mod job {
9720 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
9721 pub struct Usage {
9722 #[prost(int32, tag = "1")]
9723 pub text_turns_count: i32,
9724 #[prost(int32, tag = "2")]
9725 pub audio_turns_count: i32,
9726 }
9727 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
9728 #[repr(i32)]
9729 pub enum Status {
9730 Pending = 0,
9731 Running = 1,
9732 Completed = 2,
9733 Failed = 3,
9734 Cancelled = 4,
9735 }
9736 impl Status {
9737 pub fn as_str_name(&self) -> &'static str {
9742 match self {
9743 Self::Pending => "STATUS_PENDING",
9744 Self::Running => "STATUS_RUNNING",
9745 Self::Completed => "STATUS_COMPLETED",
9746 Self::Failed => "STATUS_FAILED",
9747 Self::Cancelled => "STATUS_CANCELLED",
9748 }
9749 }
9750 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
9752 match value {
9753 "STATUS_PENDING" => Some(Self::Pending),
9754 "STATUS_RUNNING" => Some(Self::Running),
9755 "STATUS_COMPLETED" => Some(Self::Completed),
9756 "STATUS_FAILED" => Some(Self::Failed),
9757 "STATUS_CANCELLED" => Some(Self::Cancelled),
9758 _ => None,
9759 }
9760 }
9761 }
9762 }
9763 #[derive(Clone, PartialEq, ::prost::Message)]
9764 pub struct JobMetrics {
9765 #[prost(float, optional, tag = "3")]
9767 pub task_completion: ::core::option::Option<f32>,
9768 #[prost(float, optional, tag = "20")]
9770 pub overall_score: ::core::option::Option<f32>,
9771 #[prost(message, optional, tag = "4")]
9772 pub stt: ::core::option::Option<job_metrics::Stt>,
9773 #[prost(message, optional, tag = "5")]
9774 pub llm: ::core::option::Option<job_metrics::Llm>,
9775 #[prost(message, optional, tag = "6")]
9776 pub tts: ::core::option::Option<job_metrics::Tts>,
9777 #[prost(message, optional, tag = "7")]
9778 pub conversation: ::core::option::Option<job_metrics::Conversation>,
9779 #[prost(message, repeated, tag = "9")]
9781 pub turns: ::prost::alloc::vec::Vec<job_metrics::Turn>,
9782 #[prost(string, tag = "10")]
9784 pub judge_model: ::prost::alloc::string::String,
9785 #[prost(bool, tag = "12")]
9787 pub has_remote_session: bool,
9788 #[prost(message, optional, tag = "13")]
9790 pub t0: ::core::option::Option<::pbjson_types::Timestamp>,
9791 #[prost(float, optional, tag = "14")]
9795 pub conciseness: ::core::option::Option<f32>,
9796 #[prost(bool, optional, tag = "15")]
9798 pub unnecessary_tool_calls: ::core::option::Option<bool>,
9799 #[prost(bool, optional, tag = "16")]
9800 pub information_loss: ::core::option::Option<bool>,
9801 #[prost(bool, optional, tag = "17")]
9802 pub redundant_statements: ::core::option::Option<bool>,
9803 #[prost(bool, optional, tag = "18")]
9804 pub poor_question_quality: ::core::option::Option<bool>,
9805 #[prost(float, optional, tag = "19")]
9807 pub conversation_progression: ::core::option::Option<f32>,
9808 }
9809 pub mod job_metrics {
9811 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
9813 pub struct Stt {
9814 #[prost(float, optional, tag = "1")]
9816 pub wer: ::core::option::Option<f32>,
9817 #[prost(uint32, optional, tag = "2")]
9819 pub words: ::core::option::Option<u32>,
9820 #[prost(uint32, optional, tag = "3")]
9822 pub word_errors: ::core::option::Option<u32>,
9823 #[prost(float, optional, tag = "4")]
9825 pub cer: ::core::option::Option<f32>,
9826 #[prost(uint32, optional, tag = "9")]
9828 pub chars: ::core::option::Option<u32>,
9829 #[prost(uint32, optional, tag = "10")]
9831 pub char_errors: ::core::option::Option<u32>,
9832 #[prost(uint32, optional, tag = "8")]
9834 pub stt_delay_ms: ::core::option::Option<u32>,
9835 #[prost(float, optional, tag = "11")]
9839 pub entity_recognition: ::core::option::Option<f32>,
9840 #[prost(uint32, optional, tag = "12")]
9841 pub entities_uttered: ::core::option::Option<u32>,
9842 #[prost(uint32, optional, tag = "13")]
9843 pub entities_recognized: ::core::option::Option<u32>,
9844 #[prost(float, optional, tag = "14")]
9850 pub entity_recall: ::core::option::Option<f32>,
9851 #[prost(uint32, optional, tag = "15")]
9852 pub entities_acquired_uttered: ::core::option::Option<u32>,
9853 #[prost(uint32, optional, tag = "16")]
9854 pub entities_acquired_recognized: ::core::option::Option<u32>,
9855 }
9856 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
9857 pub struct Llm {
9858 #[prost(uint32, optional, tag = "1")]
9860 pub ttft_ms: ::core::option::Option<u32>,
9861 #[prost(uint32, optional, tag = "2")]
9863 pub ttfs_ms: ::core::option::Option<u32>,
9864 #[prost(float, optional, tag = "3")]
9866 pub tokens_per_second: ::core::option::Option<f32>,
9867 }
9868 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
9870 pub struct Tts {
9871 #[prost(uint32, optional, tag = "2")]
9873 pub ttfb_ms: ::core::option::Option<u32>,
9874 #[prost(float, optional, tag = "3")]
9876 pub wer: ::core::option::Option<f32>,
9877 #[prost(uint32, optional, tag = "7")]
9879 pub words: ::core::option::Option<u32>,
9880 #[prost(uint32, optional, tag = "8")]
9882 pub word_errors: ::core::option::Option<u32>,
9883 #[prost(float, optional, tag = "9")]
9885 pub cer: ::core::option::Option<f32>,
9886 #[prost(uint32, optional, tag = "10")]
9888 pub chars: ::core::option::Option<u32>,
9889 #[prost(uint32, optional, tag = "11")]
9891 pub char_errors: ::core::option::Option<u32>,
9892 #[prost(float, optional, tag = "14")]
9896 pub entity_recognition: ::core::option::Option<f32>,
9897 #[prost(uint32, optional, tag = "15")]
9898 pub entities_uttered: ::core::option::Option<u32>,
9899 #[prost(uint32, optional, tag = "16")]
9900 pub entities_recognized: ::core::option::Option<u32>,
9901 #[prost(float, optional, tag = "17")]
9903 pub entity_recall: ::core::option::Option<f32>,
9904 #[prost(uint32, optional, tag = "18")]
9905 pub entities_acquired_uttered: ::core::option::Option<u32>,
9906 #[prost(uint32, optional, tag = "19")]
9907 pub entities_acquired_recognized: ::core::option::Option<u32>,
9908 }
9909 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
9911 pub struct Conversation {
9912 #[prost(float, optional, tag = "1")]
9914 pub turn_taking_score: ::core::option::Option<f32>,
9915 #[prost(int32, optional, tag = "2")]
9917 pub heard_e2e_latency_p50_ms: ::core::option::Option<i32>,
9918 #[prost(int32, optional, tag = "3")]
9919 pub heard_e2e_latency_p95_ms: ::core::option::Option<i32>,
9920 #[prost(int32, optional, tag = "4")]
9921 pub heard_e2e_latency_p99_ms: ::core::option::Option<i32>,
9922 #[prost(uint32, optional, tag = "5")]
9924 pub time_to_yield_ms: ::core::option::Option<u32>,
9925 #[prost(uint32, optional, tag = "6")]
9927 pub eot_misprediction_count: ::core::option::Option<u32>,
9928 #[prost(float, optional, tag = "7")]
9930 pub overlap_ratio: ::core::option::Option<f32>,
9931 #[prost(uint32, optional, tag = "8")]
9933 pub overlap_speech_ms: ::core::option::Option<u32>,
9934 #[prost(uint32, optional, tag = "9")]
9935 pub total_speech_ms: ::core::option::Option<u32>,
9936 #[prost(uint32, optional, tag = "11")]
9938 pub awkward_silence_count: ::core::option::Option<u32>,
9939 #[prost(uint32, optional, tag = "12")]
9941 pub unanswered_turns: ::core::option::Option<u32>,
9942 #[prost(uint32, optional, tag = "13")]
9944 pub false_interruption_count: ::core::option::Option<u32>,
9945 #[prost(uint32, optional, tag = "15")]
9947 pub e2e_latency_ms: ::core::option::Option<u32>,
9948 }
9949 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
9952 pub struct Turn {
9953 #[prost(uint32, tag = "1")]
9955 pub index: u32,
9956 #[prost(enumeration = "super::super::agent::ChatRole", tag = "2")]
9958 pub role: i32,
9959 #[prost(uint32, optional, tag = "3")]
9961 pub start_ms: ::core::option::Option<u32>,
9962 #[prost(uint32, optional, tag = "4")]
9964 pub end_ms: ::core::option::Option<u32>,
9965 #[prost(uint32, optional, tag = "5")]
9967 pub stt_delay_ms: ::core::option::Option<u32>,
9968 #[prost(uint32, optional, tag = "6")]
9970 pub llm_ttft_ms: ::core::option::Option<u32>,
9971 #[prost(uint32, optional, tag = "7")]
9973 pub llm_ttfs_ms: ::core::option::Option<u32>,
9974 #[prost(float, optional, tag = "8")]
9976 pub llm_tps: ::core::option::Option<f32>,
9977 #[prost(uint32, optional, tag = "9")]
9979 pub tts_ttfb_ms: ::core::option::Option<u32>,
9980 #[prost(uint32, optional, tag = "10")]
9982 pub e2e_latency_ms: ::core::option::Option<u32>,
9983 #[prost(int32, optional, tag = "11")]
9984 pub heard_e2e_latency_ms: ::core::option::Option<i32>,
9985 #[prost(uint32, optional, tag = "12")]
9986 pub time_to_yield_ms: ::core::option::Option<u32>,
9987 #[prost(float, optional, tag = "13")]
9988 pub turn_taking_score: ::core::option::Option<f32>,
9989 #[prost(float, optional, tag = "14")]
9991 pub conciseness: ::core::option::Option<f32>,
9992 #[prost(bool, optional, tag = "15")]
9993 pub eot_misprediction: ::core::option::Option<bool>,
9994 #[prost(bool, optional, tag = "16")]
9995 pub awkward_silence: ::core::option::Option<bool>,
9996 #[prost(bool, optional, tag = "17")]
9997 pub unanswered: ::core::option::Option<bool>,
9998 }
9999 }
10000 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
10003 pub struct RunMetrics {
10004 #[prost(float, optional, tag = "3")]
10006 pub scenario_pass_rate: ::core::option::Option<f32>,
10007 #[prost(float, optional, tag = "10")]
10009 pub overall_score: ::core::option::Option<f32>,
10010 #[prost(message, optional, tag = "4")]
10011 pub stt: ::core::option::Option<job_metrics::Stt>,
10012 #[prost(message, optional, tag = "5")]
10013 pub llm: ::core::option::Option<job_metrics::Llm>,
10014 #[prost(message, optional, tag = "6")]
10015 pub tts: ::core::option::Option<job_metrics::Tts>,
10016 #[prost(message, optional, tag = "7")]
10017 pub conversation: ::core::option::Option<job_metrics::Conversation>,
10018 #[prost(float, optional, tag = "8")]
10020 pub conciseness: ::core::option::Option<f32>,
10021 #[prost(float, optional, tag = "9")]
10022 pub conversation_progression: ::core::option::Option<f32>,
10023 }
10024 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10027 pub struct Ci {
10028 #[prost(string, tag = "1")]
10030 pub provider: ::prost::alloc::string::String,
10031 #[prost(string, tag = "2")]
10032 pub commit_sha: ::prost::alloc::string::String,
10033 #[prost(string, tag = "3")]
10035 pub r#ref: ::prost::alloc::string::String,
10036 #[prost(string, tag = "4")]
10037 pub pull_request: ::prost::alloc::string::String,
10038 #[prost(string, tag = "5")]
10040 pub run_url: ::prost::alloc::string::String,
10041 #[prost(string, tag = "6")]
10042 pub actor: ::prost::alloc::string::String,
10043 }
10044 #[derive(Clone, Copy, PartialEq, ::prost::Message)]
10047 pub struct SamplingOptions {
10048 #[prost(int32, tag = "1")]
10051 pub samples: i32,
10052 #[prost(double, tag = "2")]
10056 pub pass_rate: f64,
10057 }
10058 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10059 pub struct Create {
10060 }
10061 pub mod create {
10063 #[derive(Clone, PartialEq, ::prost::Message)]
10064 pub struct Request {
10065 #[prost(string, tag = "1")]
10066 pub project_id: ::prost::alloc::string::String,
10067 #[prost(string, tag = "2")]
10068 pub agent_name: ::prost::alloc::string::String,
10069 #[prost(int32, tag = "4")]
10070 pub num_simulations: i32,
10071 #[prost(string, tag = "6")]
10072 pub region: ::prost::alloc::string::String,
10073 #[prost(message, optional, tag = "7")]
10076 pub scenario_group: ::core::option::Option<super::super::ScenarioGroup>,
10077 #[prost(int32, optional, tag = "8")]
10080 pub concurrency: ::core::option::Option<i32>,
10081 #[prost(enumeration = "super::super::SimulationMode", tag = "9")]
10083 pub mode: i32,
10084 #[prost(bool, tag = "10")]
10086 pub background_noise: bool,
10087 #[prost(bool, tag = "11")]
10088 pub low_quality_microphone: bool,
10089 #[prost(bool, tag = "12")]
10090 pub packet_loss: bool,
10091 #[prost(message, optional, tag = "13")]
10092 pub ci: ::core::option::Option<super::Ci>,
10093 #[prost(message, optional, tag = "14")]
10097 pub sampling: ::core::option::Option<super::SamplingOptions>,
10098 }
10099 #[derive(Clone, PartialEq, ::prost::Message)]
10100 pub struct Response {
10101 #[prost(string, tag = "1")]
10102 pub simulation_run_id: ::prost::alloc::string::String,
10103 #[prost(message, optional, tag = "2")]
10104 pub presigned_post_request: ::core::option::Option<super::super::PresignedPostRequest>,
10105 }
10106 }
10107 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10108 pub struct ConfirmSourceUpload {
10109 }
10110 pub mod confirm_source_upload {
10112 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10113 pub struct Request {
10114 #[prost(string, tag = "1")]
10115 pub project_id: ::prost::alloc::string::String,
10116 #[prost(string, tag = "2")]
10117 pub simulation_run_id: ::prost::alloc::string::String,
10118 #[prost(string, tag = "3")]
10119 pub code_entrypoint: ::prost::alloc::string::String,
10120 }
10121 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10122 pub struct Response {
10123 }
10124 }
10125 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10126 pub struct Get {
10127 }
10128 pub mod get {
10130 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10131 pub struct Request {
10132 #[prost(string, tag = "1")]
10133 pub project_id: ::prost::alloc::string::String,
10134 #[prost(string, tag = "2")]
10135 pub simulation_run_id: ::prost::alloc::string::String,
10136 }
10137 #[derive(Clone, PartialEq, ::prost::Message)]
10138 pub struct Response {
10139 #[prost(message, optional, tag = "1")]
10140 pub run: ::core::option::Option<super::super::SimulationRun>,
10141 }
10142 }
10143 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10144 pub struct List {
10145 }
10146 pub mod list {
10148 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10149 pub struct Request {
10150 #[prost(string, tag = "1")]
10151 pub project_id: ::prost::alloc::string::String,
10152 #[prost(enumeration = "super::Status", optional, tag = "2")]
10153 pub status: ::core::option::Option<i32>,
10154 #[prost(message, optional, tag = "3")]
10155 pub page_token: ::core::option::Option<super::super::TokenPagination>,
10156 #[prost(message, optional, tag = "4")]
10160 pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
10161 #[prost(message, optional, tag = "5")]
10162 pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
10163 #[prost(string, optional, tag = "6")]
10166 pub agent_name: ::core::option::Option<::prost::alloc::string::String>,
10167 #[prost(enumeration = "super::super::SimulationMode", optional, tag = "7")]
10170 pub mode: ::core::option::Option<i32>,
10171 }
10172 #[derive(Clone, PartialEq, ::prost::Message)]
10173 pub struct Response {
10174 #[prost(message, repeated, tag = "1")]
10175 pub runs: ::prost::alloc::vec::Vec<super::super::SimulationRun>,
10176 #[prost(message, optional, tag = "2")]
10177 pub next_page_token: ::core::option::Option<super::super::TokenPagination>,
10178 }
10179 }
10180 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10183 pub struct Counts {
10184 }
10185 pub mod counts {
10187 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10188 pub struct Request {
10189 #[prost(string, tag = "1")]
10190 pub project_id: ::prost::alloc::string::String,
10191 #[prost(message, optional, tag = "2")]
10194 pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
10195 #[prost(message, optional, tag = "3")]
10196 pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
10197 #[prost(enumeration = "super::Status", optional, tag = "4")]
10200 pub status: ::core::option::Option<i32>,
10201 #[prost(string, optional, tag = "5")]
10202 pub agent_name: ::core::option::Option<::prost::alloc::string::String>,
10203 #[prost(enumeration = "super::super::SimulationMode", optional, tag = "6")]
10204 pub mode: ::core::option::Option<i32>,
10205 }
10206 #[derive(Clone, PartialEq, ::prost::Message)]
10207 pub struct Response {
10208 #[prost(message, repeated, tag = "1")]
10212 pub buckets: ::prost::alloc::vec::Vec<Bucket>,
10213 #[prost(message, optional, tag = "2")]
10216 pub interval: ::core::option::Option<::pbjson_types::Duration>,
10217 }
10218 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10219 pub struct Bucket {
10220 #[prost(message, optional, tag = "1")]
10221 pub bucket_start: ::core::option::Option<::pbjson_types::Timestamp>,
10222 #[prost(uint64, tag = "2")]
10223 pub count: u64,
10224 }
10225 }
10226 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10227 pub struct Cancel {
10228 }
10229 pub mod cancel {
10231 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10232 pub struct Request {
10233 #[prost(string, tag = "1")]
10234 pub project_id: ::prost::alloc::string::String,
10235 #[prost(string, tag = "2")]
10236 pub simulation_run_id: ::prost::alloc::string::String,
10237 }
10238 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10239 pub struct Response {
10240 }
10241 }
10242 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10243 pub struct Usage {
10244 #[prost(int32, tag = "1")]
10245 pub text_turns_count: i32,
10246 #[prost(int32, tag = "2")]
10247 pub audio_turns_count: i32,
10248 }
10249 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
10250 #[repr(i32)]
10251 pub enum Status {
10252 PendingUpload = 0,
10253 Generating = 1,
10254 Running = 2,
10255 Summarizing = 3,
10256 Completed = 4,
10257 Failed = 5,
10258 Cancelled = 6,
10259 }
10260 impl Status {
10261 pub fn as_str_name(&self) -> &'static str {
10266 match self {
10267 Self::PendingUpload => "STATUS_PENDING_UPLOAD",
10268 Self::Generating => "STATUS_GENERATING",
10269 Self::Running => "STATUS_RUNNING",
10270 Self::Summarizing => "STATUS_SUMMARIZING",
10271 Self::Completed => "STATUS_COMPLETED",
10272 Self::Failed => "STATUS_FAILED",
10273 Self::Cancelled => "STATUS_CANCELLED",
10274 }
10275 }
10276 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
10278 match value {
10279 "STATUS_PENDING_UPLOAD" => Some(Self::PendingUpload),
10280 "STATUS_GENERATING" => Some(Self::Generating),
10281 "STATUS_RUNNING" => Some(Self::Running),
10282 "STATUS_SUMMARIZING" => Some(Self::Summarizing),
10283 "STATUS_COMPLETED" => Some(Self::Completed),
10284 "STATUS_FAILED" => Some(Self::Failed),
10285 "STATUS_CANCELLED" => Some(Self::Cancelled),
10286 _ => None,
10287 }
10288 }
10289 }
10290}
10291#[derive(Clone, PartialEq, ::prost::Message)]
10294pub struct Scenario {
10295 #[prost(string, tag = "1")]
10296 pub label: ::prost::alloc::string::String,
10297 #[prost(string, tag = "2")]
10298 pub instructions: ::prost::alloc::string::String,
10299 #[prost(string, tag = "3")]
10300 pub agent_expectations: ::prost::alloc::string::String,
10301 #[prost(map = "string, string", tag = "4")]
10303 pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
10304 #[prost(string, tag = "5")]
10307 pub userdata: ::prost::alloc::string::String,
10308 #[prost(string, tag = "6")]
10311 pub id: ::prost::alloc::string::String,
10312}
10313pub mod scenario {
10315 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10316 pub struct CreateFromSession {
10317 }
10318 pub mod create_from_session {
10320 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10321 pub struct Request {
10322 #[prost(string, tag = "1")]
10323 pub project_id: ::prost::alloc::string::String,
10324 #[prost(string, tag = "2")]
10325 pub room_id: ::prost::alloc::string::String,
10326 #[prost(string, tag = "3")]
10327 pub region: ::prost::alloc::string::String,
10328 }
10329 #[derive(Clone, PartialEq, ::prost::Message)]
10330 pub struct Response {
10331 #[prost(message, optional, tag = "1")]
10332 pub scenario: ::core::option::Option<super::super::Scenario>,
10333 }
10334 }
10335}
10336#[derive(Clone, PartialEq, ::prost::Message)]
10338pub struct ScenarioGroup {
10339 #[prost(string, tag = "1")]
10340 pub name: ::prost::alloc::string::String,
10341 #[prost(message, repeated, tag = "2")]
10342 pub scenarios: ::prost::alloc::vec::Vec<Scenario>,
10343 #[prost(string, tag = "3")]
10346 pub id: ::prost::alloc::string::String,
10347}
10348#[derive(Clone, PartialEq, ::prost::Message)]
10351pub struct SimulationDispatch {
10352 #[prost(string, tag = "1")]
10353 pub simulation_run_id: ::prost::alloc::string::String,
10354 #[prost(string, tag = "2")]
10355 pub job_id: ::prost::alloc::string::String,
10356 #[prost(message, optional, tag = "3")]
10357 pub scenario: ::core::option::Option<Scenario>,
10358 #[prost(enumeration = "SimulationMode", tag = "4")]
10359 pub mode: i32,
10360}
10361#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
10363#[repr(i32)]
10364pub enum SimulationMode {
10365 Unspecified = 0,
10366 Text = 1,
10368 Audio = 2,
10370}
10371impl SimulationMode {
10372 pub fn as_str_name(&self) -> &'static str {
10377 match self {
10378 Self::Unspecified => "SIMULATION_MODE_UNSPECIFIED",
10379 Self::Text => "SIMULATION_MODE_TEXT",
10380 Self::Audio => "SIMULATION_MODE_AUDIO",
10381 }
10382 }
10383 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
10385 match value {
10386 "SIMULATION_MODE_UNSPECIFIED" => Some(Self::Unspecified),
10387 "SIMULATION_MODE_TEXT" => Some(Self::Text),
10388 "SIMULATION_MODE_AUDIO" => Some(Self::Audio),
10389 _ => None,
10390 }
10391 }
10392}
10393#[derive(Clone, PartialEq, ::prost::Message)]
10394pub struct WorkerInfo {
10395 #[prost(string, tag = "1")]
10396 pub worker_type: ::prost::alloc::string::String,
10397 #[prost(string, tag = "2")]
10398 pub agent_name: ::prost::alloc::string::String,
10399 #[prost(float, tag = "3")]
10400 pub active_jobs: f32,
10401 #[prost(string, tag = "4")]
10402 pub sdk_version: ::prost::alloc::string::String,
10403 #[prost(float, tag = "5")]
10404 pub worker_load: f32,
10405 #[prost(int32, tag = "6")]
10406 pub protocol_version: i32,
10407}
10408#[derive(Clone, PartialEq, ::prost::Message)]
10409pub struct Node {
10410 #[prost(string, tag = "1")]
10411 pub id: ::prost::alloc::string::String,
10412 #[prost(string, tag = "2")]
10413 pub ip: ::prost::alloc::string::String,
10414 #[prost(uint32, tag = "3")]
10415 pub num_cpus: u32,
10416 #[prost(message, optional, tag = "4")]
10417 pub stats: ::core::option::Option<NodeStats>,
10418 #[prost(enumeration = "NodeType", tag = "5")]
10419 pub r#type: i32,
10420 #[prost(enumeration = "NodeState", tag = "6")]
10421 pub state: i32,
10422 #[prost(string, tag = "7")]
10423 pub region: ::prost::alloc::string::String,
10424}
10425#[derive(Clone, PartialEq, ::prost::Message)]
10426pub struct NodeStats {
10427 #[prost(int64, tag = "1")]
10429 pub started_at: i64,
10430 #[prost(int64, tag = "2")]
10432 pub updated_at: i64,
10433 #[prost(int32, tag = "3")]
10435 pub num_rooms: i32,
10436 #[prost(int32, tag = "4")]
10437 pub num_clients: i32,
10438 #[prost(int32, tag = "5")]
10439 pub num_tracks_in: i32,
10440 #[prost(int32, tag = "6")]
10441 pub num_tracks_out: i32,
10442 #[prost(int32, tag = "36")]
10443 pub num_track_publish_attempts: i32,
10444 #[deprecated]
10445 #[prost(float, tag = "37")]
10446 pub track_publish_attempts_per_sec: f32,
10447 #[prost(int32, tag = "38")]
10448 pub num_track_publish_success: i32,
10449 #[deprecated]
10450 #[prost(float, tag = "39")]
10451 pub track_publish_success_per_sec: f32,
10452 #[prost(int32, tag = "51")]
10453 pub num_track_publish_cancels: i32,
10454 #[prost(int32, tag = "40")]
10455 pub num_track_subscribe_attempts: i32,
10456 #[deprecated]
10457 #[prost(float, tag = "41")]
10458 pub track_subscribe_attempts_per_sec: f32,
10459 #[prost(int32, tag = "42")]
10460 pub num_track_subscribe_success: i32,
10461 #[deprecated]
10462 #[prost(float, tag = "43")]
10463 pub track_subscribe_success_per_sec: f32,
10464 #[prost(int32, tag = "52")]
10465 pub num_track_subscribe_cancels: i32,
10466 #[prost(uint64, tag = "7")]
10468 pub bytes_in: u64,
10469 #[prost(uint64, tag = "8")]
10470 pub bytes_out: u64,
10471 #[prost(uint64, tag = "9")]
10472 pub packets_in: u64,
10473 #[prost(uint64, tag = "10")]
10474 pub packets_out: u64,
10475 #[prost(uint64, tag = "11")]
10476 pub nack_total: u64,
10477 #[deprecated]
10478 #[prost(float, tag = "12")]
10479 pub bytes_in_per_sec: f32,
10480 #[deprecated]
10481 #[prost(float, tag = "13")]
10482 pub bytes_out_per_sec: f32,
10483 #[prost(float, tag = "14")]
10484 pub packets_in_per_sec: f32,
10485 #[deprecated]
10486 #[prost(float, tag = "15")]
10487 pub packets_out_per_sec: f32,
10488 #[deprecated]
10489 #[prost(float, tag = "16")]
10490 pub nack_per_sec: f32,
10491 #[prost(uint32, tag = "17")]
10493 pub num_cpus: u32,
10494 #[prost(float, tag = "18")]
10495 pub load_avg_last1min: f32,
10496 #[prost(float, tag = "19")]
10497 pub load_avg_last5min: f32,
10498 #[prost(float, tag = "20")]
10499 pub load_avg_last15min: f32,
10500 #[prost(float, tag = "21")]
10501 pub cpu_load: f32,
10502 #[deprecated]
10503 #[prost(float, tag = "33")]
10504 pub memory_load: f32,
10505 #[prost(uint64, tag = "34")]
10506 pub memory_total: u64,
10507 #[prost(uint64, tag = "35")]
10508 pub memory_used: u64,
10509 #[prost(uint32, tag = "28")]
10510 pub sys_packets_out: u32,
10511 #[prost(uint32, tag = "29")]
10512 pub sys_packets_dropped: u32,
10513 #[deprecated]
10514 #[prost(float, tag = "30")]
10515 pub sys_packets_out_per_sec: f32,
10516 #[deprecated]
10517 #[prost(float, tag = "31")]
10518 pub sys_packets_dropped_per_sec: f32,
10519 #[deprecated]
10520 #[prost(float, tag = "32")]
10521 pub sys_packets_dropped_pct_per_sec: f32,
10522 #[prost(uint64, tag = "22")]
10524 pub retransmit_bytes_out: u64,
10525 #[prost(uint64, tag = "23")]
10526 pub retransmit_packets_out: u64,
10527 #[deprecated]
10528 #[prost(float, tag = "24")]
10529 pub retransmit_bytes_out_per_sec: f32,
10530 #[deprecated]
10531 #[prost(float, tag = "25")]
10532 pub retransmit_packets_out_per_sec: f32,
10533 #[prost(uint64, tag = "26")]
10535 pub participant_signal_connected: u64,
10536 #[deprecated]
10537 #[prost(float, tag = "27")]
10538 pub participant_signal_connected_per_sec: f32,
10539 #[deprecated]
10540 #[prost(uint64, tag = "55")]
10541 pub participant_signal_failed: u64,
10542 #[deprecated]
10543 #[prost(uint64, tag = "56")]
10544 pub participant_signal_validation_failed: u64,
10545 #[prost(uint64, tag = "44")]
10546 pub participant_rtc_connected: u64,
10547 #[deprecated]
10548 #[prost(float, tag = "45")]
10549 pub participant_rtc_connected_per_sec: f32,
10550 #[prost(uint64, tag = "46")]
10551 pub participant_rtc_init: u64,
10552 #[deprecated]
10553 #[prost(float, tag = "47")]
10554 pub participant_rtc_init_per_sec: f32,
10555 #[prost(uint64, tag = "53")]
10556 pub participant_rtc_canceled: u64,
10557 #[prost(uint64, tag = "54")]
10558 pub participant_rtc_active: u64,
10559 #[prost(uint32, tag = "48")]
10561 pub forward_latency: u32,
10562 #[deprecated]
10563 #[prost(uint32, tag = "49")]
10564 pub forward_jitter: u32,
10565 #[prost(message, repeated, tag = "50")]
10566 pub rates: ::prost::alloc::vec::Vec<NodeStatsRate>,
10567}
10568#[derive(Clone, Copy, PartialEq, ::prost::Message)]
10570pub struct NodeStatsRate {
10571 #[prost(int64, tag = "1")]
10572 pub started_at: i64,
10573 #[prost(int64, tag = "2")]
10574 pub ended_at: i64,
10575 #[prost(int64, tag = "3")]
10576 pub duration: i64,
10577 #[prost(float, tag = "4")]
10578 pub track_publish_attempts: f32,
10579 #[prost(float, tag = "5")]
10580 pub track_publish_success: f32,
10581 #[prost(float, tag = "24")]
10582 pub track_publish_cancels: f32,
10583 #[prost(float, tag = "6")]
10584 pub track_subscribe_attempts: f32,
10585 #[prost(float, tag = "7")]
10586 pub track_subscribe_success: f32,
10587 #[prost(float, tag = "25")]
10588 pub track_subscribe_cancels: f32,
10589 #[prost(float, tag = "8")]
10590 pub bytes_in: f32,
10591 #[prost(float, tag = "9")]
10592 pub bytes_out: f32,
10593 #[prost(float, tag = "10")]
10594 pub packets_in: f32,
10595 #[prost(float, tag = "11")]
10596 pub packets_out: f32,
10597 #[prost(float, tag = "12")]
10598 pub nack_total: f32,
10599 #[prost(float, tag = "13")]
10600 pub sys_packets_out: f32,
10601 #[prost(float, tag = "14")]
10602 pub sys_packets_dropped: f32,
10603 #[prost(float, tag = "15")]
10604 pub retransmit_bytes_out: f32,
10605 #[prost(float, tag = "16")]
10606 pub retransmit_packets_out: f32,
10607 #[prost(float, tag = "17")]
10608 pub participant_signal_connected: f32,
10609 #[prost(float, tag = "28")]
10610 pub participant_signal_failed: f32,
10611 #[prost(float, tag = "29")]
10612 pub participant_signal_validation_failed: f32,
10613 #[prost(float, tag = "18")]
10614 pub participant_rtc_connected: f32,
10615 #[prost(float, tag = "19")]
10616 pub participant_rtc_init: f32,
10617 #[prost(float, tag = "26")]
10618 pub participant_rtc_canceled: f32,
10619 #[prost(float, tag = "27")]
10620 pub participant_rtc_active: f32,
10621 #[prost(float, tag = "20")]
10623 pub cpu_load: f32,
10624 #[prost(float, tag = "21")]
10625 pub memory_load: f32,
10626 #[prost(float, tag = "22")]
10627 pub memory_used: f32,
10628 #[prost(float, tag = "23")]
10629 pub memory_total: f32,
10630}
10631#[derive(Clone, PartialEq, ::prost::Message)]
10632pub struct StartSession {
10633 #[prost(string, tag = "1")]
10634 pub room_name: ::prost::alloc::string::String,
10635 #[prost(string, tag = "2")]
10636 pub identity: ::prost::alloc::string::String,
10637 #[prost(string, tag = "3")]
10638 pub connection_id: ::prost::alloc::string::String,
10639 #[prost(bool, tag = "4")]
10641 pub reconnect: bool,
10642 #[prost(bool, tag = "9")]
10643 pub auto_subscribe: bool,
10644 #[prost(bool, optional, tag = "25")]
10645 pub auto_subscribe_data_track: ::core::option::Option<bool>,
10646 #[deprecated]
10647 #[prost(bool, tag = "10")]
10648 pub hidden: bool,
10649 #[prost(message, optional, tag = "11")]
10650 pub client: ::core::option::Option<ClientInfo>,
10651 #[deprecated]
10652 #[prost(bool, tag = "12")]
10653 pub recorder: bool,
10654 #[prost(string, tag = "13")]
10655 pub name: ::prost::alloc::string::String,
10656 #[prost(string, tag = "14")]
10658 pub grants_json: ::prost::alloc::string::String,
10659 #[prost(bool, tag = "15")]
10660 pub adaptive_stream: bool,
10661 #[prost(string, tag = "16")]
10663 pub participant_id: ::prost::alloc::string::String,
10664 #[prost(enumeration = "ReconnectReason", tag = "17")]
10665 pub reconnect_reason: i32,
10666 #[prost(bool, optional, tag = "18")]
10667 pub subscriber_allow_pause: ::core::option::Option<bool>,
10668 #[prost(bool, tag = "19")]
10669 pub disable_ice_lite: bool,
10670 #[prost(message, optional, tag = "20")]
10671 pub create_room: ::core::option::Option<CreateRoomRequest>,
10672 #[prost(message, repeated, tag = "21")]
10673 pub add_track_requests: ::prost::alloc::vec::Vec<AddTrackRequest>,
10674 #[prost(message, optional, tag = "22")]
10675 pub publisher_offer: ::core::option::Option<SessionDescription>,
10676 #[prost(message, optional, tag = "23")]
10677 pub sync_state: ::core::option::Option<SyncState>,
10678 #[prost(bool, tag = "24")]
10679 pub use_single_peer_connection: bool,
10680 #[prost(int64, tag = "26")]
10681 pub token_expires_at: i64,
10682}
10683#[derive(Clone, PartialEq, ::prost::Message)]
10685pub struct RoomInternal {
10686 #[prost(message, optional, tag = "1")]
10687 pub track_egress: ::core::option::Option<AutoTrackEgress>,
10688 #[prost(message, optional, tag = "2")]
10689 pub participant_egress: ::core::option::Option<AutoParticipantEgress>,
10690 #[prost(message, optional, tag = "3")]
10691 pub playout_delay: ::core::option::Option<PlayoutDelay>,
10692 #[prost(message, repeated, tag = "5")]
10693 pub agent_dispatches: ::prost::alloc::vec::Vec<RoomAgentDispatch>,
10694 #[prost(bool, tag = "4")]
10695 pub sync_streams: bool,
10696 #[prost(bool, tag = "6")]
10697 pub replay_enabled: bool,
10698 #[prost(bool, tag = "7")]
10699 pub export_room: bool,
10700 #[prost(map = "string, string", tag = "8")]
10701 pub tags: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
10702}
10703#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10704pub struct IceConfig {
10705 #[prost(enumeration = "IceCandidateType", tag = "1")]
10706 pub preference_subscriber: i32,
10707 #[prost(enumeration = "IceCandidateType", tag = "2")]
10708 pub preference_publisher: i32,
10709}
10710#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
10711#[repr(i32)]
10712pub enum NodeType {
10713 Server = 0,
10714 Controller = 1,
10715 Media = 2,
10716 Turn = 4,
10717 Sweeper = 5,
10718 Director = 6,
10719 HostedAgent = 7,
10720 Settings = 8,
10721}
10722impl NodeType {
10723 pub fn as_str_name(&self) -> &'static str {
10728 match self {
10729 Self::Server => "SERVER",
10730 Self::Controller => "CONTROLLER",
10731 Self::Media => "MEDIA",
10732 Self::Turn => "TURN",
10733 Self::Sweeper => "SWEEPER",
10734 Self::Director => "DIRECTOR",
10735 Self::HostedAgent => "HOSTED_AGENT",
10736 Self::Settings => "SETTINGS",
10737 }
10738 }
10739 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
10741 match value {
10742 "SERVER" => Some(Self::Server),
10743 "CONTROLLER" => Some(Self::Controller),
10744 "MEDIA" => Some(Self::Media),
10745 "TURN" => Some(Self::Turn),
10746 "SWEEPER" => Some(Self::Sweeper),
10747 "DIRECTOR" => Some(Self::Director),
10748 "HOSTED_AGENT" => Some(Self::HostedAgent),
10749 "SETTINGS" => Some(Self::Settings),
10750 _ => None,
10751 }
10752 }
10753}
10754#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
10755#[repr(i32)]
10756pub enum NodeState {
10757 StartingUp = 0,
10758 Serving = 1,
10759 ShuttingDown = 2,
10760 Suspended = 3,
10761}
10762impl NodeState {
10763 pub fn as_str_name(&self) -> &'static str {
10768 match self {
10769 Self::StartingUp => "STARTING_UP",
10770 Self::Serving => "SERVING",
10771 Self::ShuttingDown => "SHUTTING_DOWN",
10772 Self::Suspended => "SUSPENDED",
10773 }
10774 }
10775 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
10777 match value {
10778 "STARTING_UP" => Some(Self::StartingUp),
10779 "SERVING" => Some(Self::Serving),
10780 "SHUTTING_DOWN" => Some(Self::ShuttingDown),
10781 "SUSPENDED" => Some(Self::Suspended),
10782 _ => None,
10783 }
10784 }
10785}
10786#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
10787#[repr(i32)]
10788pub enum IceCandidateType {
10789 IctNone = 0,
10790 IctTcp = 1,
10791 IctTls = 2,
10792}
10793impl IceCandidateType {
10794 pub fn as_str_name(&self) -> &'static str {
10799 match self {
10800 Self::IctNone => "ICT_NONE",
10801 Self::IctTcp => "ICT_TCP",
10802 Self::IctTls => "ICT_TLS",
10803 }
10804 }
10805 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
10807 match value {
10808 "ICT_NONE" => Some(Self::IctNone),
10809 "ICT_TCP" => Some(Self::IctTcp),
10810 "ICT_TLS" => Some(Self::IctTls),
10811 _ => None,
10812 }
10813 }
10814}
10815#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10817pub struct SearchPhoneNumbersRequest {
10818 #[prost(string, tag = "1")]
10820 pub country_code: ::prost::alloc::string::String,
10821 #[prost(string, optional, tag = "2")]
10823 pub area_code: ::core::option::Option<::prost::alloc::string::String>,
10824 #[prost(int32, optional, tag = "3")]
10826 pub limit: ::core::option::Option<i32>,
10827 #[prost(message, optional, tag = "4")]
10829 pub page_token: ::core::option::Option<TokenPagination>,
10830}
10831#[derive(Clone, PartialEq, ::prost::Message)]
10833pub struct SearchPhoneNumbersResponse {
10834 #[prost(message, repeated, tag = "1")]
10836 pub items: ::prost::alloc::vec::Vec<PhoneNumber>,
10837 #[prost(message, optional, tag = "2")]
10839 pub next_page_token: ::core::option::Option<TokenPagination>,
10840}
10841#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10843pub struct PurchasePhoneNumberRequest {
10844 #[prost(string, repeated, tag = "1")]
10846 pub phone_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
10847 #[prost(string, optional, tag = "2")]
10849 pub sip_dispatch_rule_id: ::core::option::Option<::prost::alloc::string::String>,
10850}
10851#[derive(Clone, PartialEq, ::prost::Message)]
10853pub struct PurchasePhoneNumberResponse {
10854 #[prost(message, repeated, tag = "1")]
10856 pub phone_numbers: ::prost::alloc::vec::Vec<PhoneNumber>,
10857}
10858#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10860pub struct ListPhoneNumbersRequest {
10861 #[prost(int32, optional, tag = "1")]
10863 pub limit: ::core::option::Option<i32>,
10864 #[prost(enumeration = "PhoneNumberStatus", repeated, tag = "2")]
10866 pub statuses: ::prost::alloc::vec::Vec<i32>,
10867 #[prost(message, optional, tag = "3")]
10869 pub page_token: ::core::option::Option<TokenPagination>,
10870 #[prost(string, optional, tag = "4")]
10872 pub sip_dispatch_rule_id: ::core::option::Option<::prost::alloc::string::String>,
10873}
10874#[derive(Clone, PartialEq, ::prost::Message)]
10876pub struct ListPhoneNumbersResponse {
10877 #[prost(message, repeated, tag = "1")]
10879 pub items: ::prost::alloc::vec::Vec<PhoneNumber>,
10880 #[prost(message, optional, tag = "2")]
10882 pub next_page_token: ::core::option::Option<TokenPagination>,
10883 #[prost(int32, tag = "3")]
10885 pub total_count: i32,
10886 #[prost(int32, tag = "4")]
10888 pub offline_count: i32,
10889}
10890#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10892pub struct GetPhoneNumberRequest {
10893 #[prost(string, optional, tag = "1")]
10895 pub id: ::core::option::Option<::prost::alloc::string::String>,
10896 #[prost(string, optional, tag = "2")]
10898 pub phone_number: ::core::option::Option<::prost::alloc::string::String>,
10899}
10900#[derive(Clone, PartialEq, ::prost::Message)]
10902pub struct GetPhoneNumberResponse {
10903 #[prost(message, optional, tag = "1")]
10905 pub phone_number: ::core::option::Option<PhoneNumber>,
10906}
10907#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10909pub struct UpdatePhoneNumberRequest {
10910 #[prost(string, optional, tag = "1")]
10912 pub id: ::core::option::Option<::prost::alloc::string::String>,
10913 #[prost(string, optional, tag = "2")]
10915 pub phone_number: ::core::option::Option<::prost::alloc::string::String>,
10916 #[prost(string, optional, tag = "3")]
10918 pub sip_dispatch_rule_id: ::core::option::Option<::prost::alloc::string::String>,
10919 #[prost(string, optional, tag = "4")]
10920 pub name: ::core::option::Option<::prost::alloc::string::String>,
10921}
10922#[derive(Clone, PartialEq, ::prost::Message)]
10924pub struct UpdatePhoneNumberResponse {
10925 #[prost(message, optional, tag = "1")]
10927 pub phone_number: ::core::option::Option<PhoneNumber>,
10928}
10929#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
10931pub struct ReleasePhoneNumbersRequest {
10932 #[prost(string, repeated, tag = "1")]
10934 pub ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
10935 #[prost(string, repeated, tag = "2")]
10937 pub phone_numbers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
10938}
10939#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
10943pub struct ReleasePhoneNumbersResponse {
10944}
10945#[derive(Clone, PartialEq, ::prost::Message)]
10947pub struct PhoneNumber {
10948 #[prost(string, tag = "1")]
10950 pub id: ::prost::alloc::string::String,
10951 #[prost(string, tag = "17")]
10953 pub name: ::prost::alloc::string::String,
10954 #[prost(string, tag = "2")]
10956 pub e164_format: ::prost::alloc::string::String,
10957 #[prost(string, tag = "3")]
10959 pub country_code: ::prost::alloc::string::String,
10960 #[prost(string, tag = "4")]
10962 pub area_code: ::prost::alloc::string::String,
10963 #[prost(enumeration = "PhoneNumberType", tag = "5")]
10965 pub number_type: i32,
10966 #[prost(string, tag = "6")]
10968 pub locality: ::prost::alloc::string::String,
10969 #[prost(string, tag = "7")]
10971 pub region: ::prost::alloc::string::String,
10972 #[prost(double, tag = "8")]
10974 pub spam_score: f64,
10975 #[prost(message, optional, tag = "9")]
10977 pub created_at: ::core::option::Option<::pbjson_types::Timestamp>,
10978 #[prost(message, optional, tag = "10")]
10980 pub updated_at: ::core::option::Option<::pbjson_types::Timestamp>,
10981 #[prost(string, repeated, tag = "11")]
10983 pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
10984 #[prost(enumeration = "PhoneNumberStatus", tag = "12")]
10986 pub status: i32,
10987 #[prost(enumeration = "PhoneNumberInboundStatus", tag = "18")]
10989 pub inbound_status: i32,
10990 #[prost(enumeration = "PhoneNumberOutboundStatus", tag = "19")]
10992 pub outbound_status: i32,
10993 #[prost(message, optional, tag = "13")]
10995 pub assigned_at: ::core::option::Option<::pbjson_types::Timestamp>,
10996 #[prost(message, optional, tag = "14")]
10998 pub released_at: ::core::option::Option<::pbjson_types::Timestamp>,
10999 #[deprecated]
11001 #[prost(string, tag = "15")]
11002 pub sip_dispatch_rule_id: ::prost::alloc::string::String,
11003 #[prost(string, repeated, tag = "16")]
11005 pub sip_dispatch_rule_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11006}
11007#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
11009#[repr(i32)]
11010pub enum PhoneNumberStatus {
11011 Unspecified = 0,
11013 Active = 1,
11015 Pending = 2,
11017 Released = 3,
11019 Offline = 4,
11021}
11022impl PhoneNumberStatus {
11023 pub fn as_str_name(&self) -> &'static str {
11028 match self {
11029 Self::Unspecified => "PHONE_NUMBER_STATUS_UNSPECIFIED",
11030 Self::Active => "PHONE_NUMBER_STATUS_ACTIVE",
11031 Self::Pending => "PHONE_NUMBER_STATUS_PENDING",
11032 Self::Released => "PHONE_NUMBER_STATUS_RELEASED",
11033 Self::Offline => "PHONE_NUMBER_STATUS_OFFLINE",
11034 }
11035 }
11036 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
11038 match value {
11039 "PHONE_NUMBER_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
11040 "PHONE_NUMBER_STATUS_ACTIVE" => Some(Self::Active),
11041 "PHONE_NUMBER_STATUS_PENDING" => Some(Self::Pending),
11042 "PHONE_NUMBER_STATUS_RELEASED" => Some(Self::Released),
11043 "PHONE_NUMBER_STATUS_OFFLINE" => Some(Self::Offline),
11044 _ => None,
11045 }
11046 }
11047}
11048#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
11049#[repr(i32)]
11050pub enum PhoneNumberInboundStatus {
11051 PhoneNumberInStatusUnspecified = 0,
11053 PhoneNumberInStatusActive = 1,
11055 PhoneNumberInStatusUnavailable = 2,
11057 PhoneNumberInStatusDetached = 3,
11059}
11060impl PhoneNumberInboundStatus {
11061 pub fn as_str_name(&self) -> &'static str {
11066 match self {
11067 Self::PhoneNumberInStatusUnspecified => "PHONE_NUMBER_IN_STATUS_UNSPECIFIED",
11068 Self::PhoneNumberInStatusActive => "PHONE_NUMBER_IN_STATUS_ACTIVE",
11069 Self::PhoneNumberInStatusUnavailable => "PHONE_NUMBER_IN_STATUS_UNAVAILABLE",
11070 Self::PhoneNumberInStatusDetached => "PHONE_NUMBER_IN_STATUS_DETACHED",
11071 }
11072 }
11073 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
11075 match value {
11076 "PHONE_NUMBER_IN_STATUS_UNSPECIFIED" => Some(Self::PhoneNumberInStatusUnspecified),
11077 "PHONE_NUMBER_IN_STATUS_ACTIVE" => Some(Self::PhoneNumberInStatusActive),
11078 "PHONE_NUMBER_IN_STATUS_UNAVAILABLE" => Some(Self::PhoneNumberInStatusUnavailable),
11079 "PHONE_NUMBER_IN_STATUS_DETACHED" => Some(Self::PhoneNumberInStatusDetached),
11080 _ => None,
11081 }
11082 }
11083}
11084#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
11085#[repr(i32)]
11086pub enum PhoneNumberOutboundStatus {
11087 PhoneNumberOutStatusUnspecified = 0,
11089 PhoneNumberOutStatusActive = 1,
11091 PhoneNumberOutStatusUnavailable = 2,
11093}
11094impl PhoneNumberOutboundStatus {
11095 pub fn as_str_name(&self) -> &'static str {
11100 match self {
11101 Self::PhoneNumberOutStatusUnspecified => "PHONE_NUMBER_OUT_STATUS_UNSPECIFIED",
11102 Self::PhoneNumberOutStatusActive => "PHONE_NUMBER_OUT_STATUS_ACTIVE",
11103 Self::PhoneNumberOutStatusUnavailable => "PHONE_NUMBER_OUT_STATUS_UNAVAILABLE",
11104 }
11105 }
11106 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
11108 match value {
11109 "PHONE_NUMBER_OUT_STATUS_UNSPECIFIED" => Some(Self::PhoneNumberOutStatusUnspecified),
11110 "PHONE_NUMBER_OUT_STATUS_ACTIVE" => Some(Self::PhoneNumberOutStatusActive),
11111 "PHONE_NUMBER_OUT_STATUS_UNAVAILABLE" => Some(Self::PhoneNumberOutStatusUnavailable),
11112 _ => None,
11113 }
11114 }
11115}
11116#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
11118#[repr(i32)]
11119pub enum PhoneNumberType {
11120 Unknown = 0,
11122 Mobile = 1,
11124 Local = 2,
11126 TollFree = 3,
11128}
11129impl PhoneNumberType {
11130 pub fn as_str_name(&self) -> &'static str {
11135 match self {
11136 Self::Unknown => "PHONE_NUMBER_TYPE_UNKNOWN",
11137 Self::Mobile => "PHONE_NUMBER_TYPE_MOBILE",
11138 Self::Local => "PHONE_NUMBER_TYPE_LOCAL",
11139 Self::TollFree => "PHONE_NUMBER_TYPE_TOLL_FREE",
11140 }
11141 }
11142 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
11144 match value {
11145 "PHONE_NUMBER_TYPE_UNKNOWN" => Some(Self::Unknown),
11146 "PHONE_NUMBER_TYPE_MOBILE" => Some(Self::Mobile),
11147 "PHONE_NUMBER_TYPE_LOCAL" => Some(Self::Local),
11148 "PHONE_NUMBER_TYPE_TOLL_FREE" => Some(Self::TollFree),
11149 _ => None,
11150 }
11151 }
11152}
11153#[derive(Clone, PartialEq, ::prost::Message)]
11154pub struct TokenSourceRequest {
11155 #[prost(string, optional, tag = "1")]
11157 pub room_name: ::core::option::Option<::prost::alloc::string::String>,
11158 #[prost(string, optional, tag = "2")]
11160 pub participant_name: ::core::option::Option<::prost::alloc::string::String>,
11161 #[prost(string, optional, tag = "3")]
11163 pub participant_identity: ::core::option::Option<::prost::alloc::string::String>,
11164 #[prost(string, optional, tag = "4")]
11166 pub participant_metadata: ::core::option::Option<::prost::alloc::string::String>,
11167 #[prost(map = "string, string", tag = "5")]
11169 pub participant_attributes: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
11170 #[prost(message, optional, tag = "6")]
11174 pub room_config: ::core::option::Option<RoomConfiguration>,
11175}
11176#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11177pub struct TokenSourceResponse {
11178 #[prost(string, tag = "1")]
11179 pub server_url: ::prost::alloc::string::String,
11180 #[prost(string, tag = "2")]
11181 pub participant_token: ::prost::alloc::string::String,
11182}
11183#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
11184pub struct GetRemoteHeadersV1Request {
11185 #[prost(string, repeated, tag = "1")]
11187 pub include: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11188 #[prost(string, repeated, tag = "2")]
11190 pub exclude: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
11191}
11192#[derive(Clone, PartialEq, ::prost::Message)]
11193pub struct GetRemoteHeadersV1Response {
11194 #[prost(map = "string, string", tag = "1")]
11195 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
11196}
11197#[derive(Clone, PartialEq, ::prost::Message)]
11198pub struct EndCallV1Request {
11199 #[prost(map = "string, string", tag = "1")]
11200 pub headers: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
11201}
11202#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
11203pub struct EndCallV1Response {
11204}
11205include!("livekit.serde.rs");
11206