pub struct AdvancedSipClient { /* private fields */ }
Expand description
Advanced SIP client with full control over audio pipeline and media
Implementations§
Source§impl AdvancedSipClient
impl AdvancedSipClient
Sourcepub async fn new(
sip_uri: &str,
pipeline_config: AudioPipelineConfig,
media_prefs: MediaPreferences,
) -> SipClientResult<Self>
pub async fn new( sip_uri: &str, pipeline_config: AudioPipelineConfig, media_prefs: MediaPreferences, ) -> SipClientResult<Self>
Create a new advanced SIP client with custom configuration
Sourcepub async fn start(&self) -> SipClientResult<()>
pub async fn start(&self) -> SipClientResult<()>
Start the client
Sourcepub async fn stop(&self) -> SipClientResult<()>
pub async fn stop(&self) -> SipClientResult<()>
Stop the client
Sourcepub async fn call(&self, uri: &str) -> SipClientResult<Arc<Call>>
pub async fn call(&self, uri: &str) -> SipClientResult<Arc<Call>>
Make an outgoing call with custom audio pipeline
Sourcepub async fn get_audio_stream(
&self,
call_id: &CallId,
) -> SipClientResult<AudioStream>
pub async fn get_audio_stream( &self, call_id: &CallId, ) -> SipClientResult<AudioStream>
Get audio stream for a call (for frame-level processing)
Sourcepub async fn update_pipeline_config(
&self,
config: AudioPipelineConfig,
) -> SipClientResult<()>
pub async fn update_pipeline_config( &self, config: AudioPipelineConfig, ) -> SipClientResult<()>
Update audio pipeline configuration
Sourcepub async fn update_media_preferences(
&self,
prefs: MediaPreferences,
) -> SipClientResult<()>
pub async fn update_media_preferences( &self, prefs: MediaPreferences, ) -> SipClientResult<()>
Update media preferences
Sourcepub async fn transfer_call(
&self,
call_id: &CallId,
target_uri: &str,
) -> SipClientResult<()>
pub async fn transfer_call( &self, call_id: &CallId, target_uri: &str, ) -> SipClientResult<()>
Transfer a call to another party
Sourcepub async fn hold_call(&self, call_id: &CallId) -> SipClientResult<()>
pub async fn hold_call(&self, call_id: &CallId) -> SipClientResult<()>
Put a call on hold
Sourcepub async fn resume_call(&self, call_id: &CallId) -> SipClientResult<()>
pub async fn resume_call(&self, call_id: &CallId) -> SipClientResult<()>
Resume a held call
Sourcepub async fn send_dtmf(
&self,
call_id: &CallId,
digits: &str,
) -> SipClientResult<()>
pub async fn send_dtmf( &self, call_id: &CallId, digits: &str, ) -> SipClientResult<()>
Send DTMF digits
Sourcepub async fn get_call_statistics(
&self,
call_id: &CallId,
) -> SipClientResult<CallStatistics>
pub async fn get_call_statistics( &self, call_id: &CallId, ) -> SipClientResult<CallStatistics>
Get call statistics
Sourcepub async fn answer(&self, call_id: &CallId) -> SipClientResult<()>
pub async fn answer(&self, call_id: &CallId) -> SipClientResult<()>
Answer an incoming call
Sourcepub async fn hangup(&self, call_id: &CallId) -> SipClientResult<()>
pub async fn hangup(&self, call_id: &CallId) -> SipClientResult<()>
Hangup a call
Sourcepub fn events(&self) -> EventStream
pub fn events(&self) -> EventStream
Get event stream
Auto Trait Implementations§
impl Freeze for AdvancedSipClient
impl !RefUnwindSafe for AdvancedSipClient
impl Send for AdvancedSipClient
impl Sync for AdvancedSipClient
impl Unpin for AdvancedSipClient
impl !UnwindSafe for AdvancedSipClient
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