#[non_exhaustive]pub struct SipConfig {
pub create_conversation_on_the_fly: bool,
pub inactive_start: bool,
pub max_audio_recording_duration: Option<Duration>,
pub allow_virtual_agent_interaction: bool,
pub keep_conversation_running: bool,
pub copy_inbound_call_leg_headers: Vec<String>,
pub ignore_reinvite_media_direction: bool,
/* private fields */
}conversation-profiles or conversations only.Expand description
Defines the SIP configuration.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.create_conversation_on_the_fly: boolAsks Dialogflow Telephony to create the conversation provided in the SIP header on the fly when the call comes in.
inactive_start: boolStarts the conversation with inactive SDP directives
max_audio_recording_duration: Option<Duration>Max duration for audio recording. Overrides the default value of 15 min. Max value is 8 hours.
allow_virtual_agent_interaction: boolAllows interactions with a Dialogflow virtual agent even if the call is connected for SIPREC purposes.
keep_conversation_running: boolKeeps the conversation running even if the call is disconnected.
copy_inbound_call_leg_headers: Vec<String>List of inbound call leg headers to be copied to outbound call legs created later.
ignore_reinvite_media_direction: boolIgnores any media direction in the reINVITE SDP offer. Reuse the previous media direction.
Implementations§
Source§impl SipConfig
impl SipConfig
Sourcepub fn set_create_conversation_on_the_fly<T: Into<bool>>(self, v: T) -> Self
pub fn set_create_conversation_on_the_fly<T: Into<bool>>(self, v: T) -> Self
Sets the value of create_conversation_on_the_fly.
§Example
let x = SipConfig::new().set_create_conversation_on_the_fly(true);Sourcepub fn set_inactive_start<T: Into<bool>>(self, v: T) -> Self
pub fn set_inactive_start<T: Into<bool>>(self, v: T) -> Self
Sourcepub fn set_max_audio_recording_duration<T>(self, v: T) -> Self
pub fn set_max_audio_recording_duration<T>(self, v: T) -> Self
Sets the value of max_audio_recording_duration.
§Example
use wkt::Duration;
let x = SipConfig::new().set_max_audio_recording_duration(Duration::default()/* use setters */);Sourcepub fn set_or_clear_max_audio_recording_duration<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_max_audio_recording_duration<T>(self, v: Option<T>) -> Self
Sets or clears the value of max_audio_recording_duration.
§Example
use wkt::Duration;
let x = SipConfig::new().set_or_clear_max_audio_recording_duration(Some(Duration::default()/* use setters */));
let x = SipConfig::new().set_or_clear_max_audio_recording_duration(None::<Duration>);Sourcepub fn set_allow_virtual_agent_interaction<T: Into<bool>>(self, v: T) -> Self
pub fn set_allow_virtual_agent_interaction<T: Into<bool>>(self, v: T) -> Self
Sets the value of allow_virtual_agent_interaction.
§Example
let x = SipConfig::new().set_allow_virtual_agent_interaction(true);Sourcepub fn set_keep_conversation_running<T: Into<bool>>(self, v: T) -> Self
pub fn set_keep_conversation_running<T: Into<bool>>(self, v: T) -> Self
Sets the value of keep_conversation_running.
§Example
let x = SipConfig::new().set_keep_conversation_running(true);Sourcepub fn set_copy_inbound_call_leg_headers<T, V>(self, v: T) -> Self
pub fn set_copy_inbound_call_leg_headers<T, V>(self, v: T) -> Self
Sets the value of copy_inbound_call_leg_headers.
§Example
let x = SipConfig::new().set_copy_inbound_call_leg_headers(["a", "b", "c"]);Sourcepub fn set_ignore_reinvite_media_direction<T: Into<bool>>(self, v: T) -> Self
pub fn set_ignore_reinvite_media_direction<T: Into<bool>>(self, v: T) -> Self
Sets the value of ignore_reinvite_media_direction.
§Example
let x = SipConfig::new().set_ignore_reinvite_media_direction(true);Trait Implementations§
impl StructuralPartialEq for SipConfig
Auto Trait Implementations§
impl Freeze for SipConfig
impl RefUnwindSafe for SipConfig
impl Send for SipConfig
impl Sync for SipConfig
impl Unpin for SipConfig
impl UnsafeUnpin for SipConfig
impl UnwindSafe for SipConfig
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request