pub enum Command {
Show 29 variants
OpenConversation {
tenant_id: TenantId,
policy: ConversationPolicy,
metadata: HashMap<String, String>,
correlation_id: String,
},
CloseConversation {
conversation_id: ConversationId,
force: bool,
correlation_id: String,
},
StartSession {
conversation_id: ConversationId,
medium: SessionMedium,
invitees: Vec<ParticipantId>,
correlation_id: String,
},
EndSession {
session_id: SessionId,
reason: EndReason,
correlation_id: String,
},
JoinSession {
session_id: SessionId,
participant_id: ParticipantId,
kind: ParticipantKind,
role: ParticipantRole,
correlation_id: String,
},
LeaveSession {
session_id: SessionId,
participant_id: ParticipantId,
correlation_id: String,
},
RouteInboundConnection {
connection_id: ConnectionId,
action: InboundAction,
correlation_id: String,
},
OriginateConnection {
request: OriginateRequest,
correlation_id: String,
},
EndConnection {
connection_id: ConnectionId,
reason: EndReason,
correlation_id: String,
},
BridgeConnections {
a: ConnectionId,
b: ConnectionId,
correlation_id: String,
},
UnbridgeConnections {
bridge_id: BridgeId,
correlation_id: String,
},
TransferConnection {
connection_id: ConnectionId,
target: TransferTarget,
correlation_id: String,
},
Hold {
connection_id: ConnectionId,
correlation_id: String,
},
Resume {
connection_id: ConnectionId,
correlation_id: String,
},
Mute {
connection_id: ConnectionId,
direction: MuteDirection,
correlation_id: String,
},
Unmute {
connection_id: ConnectionId,
direction: MuteDirection,
correlation_id: String,
},
SendMessage {
connection_id: ConnectionId,
message: Message,
correlation_id: String,
},
SendDtmf {
connection_id: ConnectionId,
digits: String,
duration_ms: u32,
correlation_id: String,
},
PlayAudio {
connection_id: ConnectionId,
source: AudioSource,
correlation_id: String,
},
RenegotiateMedia {
connection_id: ConnectionId,
capabilities: CapabilityDescriptor,
correlation_id: String,
},
AttachAi {
connection_id: ConnectionId,
provider_ref: String,
config: HashMap<String, String>,
correlation_id: String,
},
AttachListener {
target: ListenerTarget,
sink: ListenerSink,
correlation_id: String,
},
Detach {
attachment: AttachmentRef,
correlation_id: String,
},
StartRecording {
target: RecordingTarget,
sink: RecordingSink,
correlation_id: String,
},
StopRecording {
recording_id: RecordingId,
correlation_id: String,
},
PauseRecording {
recording_id: RecordingId,
correlation_id: String,
},
ResumeRecording {
recording_id: RecordingId,
correlation_id: String,
},
StartTranscription {
target: RecordingTarget,
provider_ref: String,
correlation_id: String,
},
StopTranscription {
target: RecordingTarget,
correlation_id: String,
},
}Expand description
Consumer-facing commands dispatched into the crate::Orchestrator. Each
carries tenant_id and correlation_id for tracing/quotas.
Variants§
OpenConversation
Fields
§
policy: ConversationPolicyCloseConversation
StartSession
EndSession
JoinSession
LeaveSession
RouteInboundConnection
OriginateConnection
EndConnection
BridgeConnections
UnbridgeConnections
TransferConnection
Hold
Resume
Mute
Unmute
SendMessage
SendDtmf
PlayAudio
RenegotiateMedia
AttachAi
Fields
§
connection_id: ConnectionIdAttachListener
Detach
StartRecording
StopRecording
PauseRecording
ResumeRecording
StartTranscription
StopTranscription
Trait Implementations§
Auto Trait Implementations§
impl !Freeze for Command
impl !RefUnwindSafe for Command
impl !UnwindSafe for Command
impl Send for Command
impl Sync for Command
impl Unpin for Command
impl UnsafeUnpin for Command
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more