Realtime

Struct Realtime 

Source
pub struct Realtime<'c, C: Config> { /* private fields */ }
Available on crate feature realtime only.
Expand description

Realtime API for creating sessions, managing calls, and handling WebRTC connections. Related guide: Realtime API

Implementations§

Source§

impl<'c, C: Config> Realtime<'c, C>

Source

pub fn new(client: &'c Client<C>) -> Self

Source

pub async fn create_call( &self, request: RealtimeCallCreateRequest, ) -> Result<RealtimeCallCreateResponse, OpenAIError>

Create a new Realtime API call over WebRTC and receive the SDP answer needed to complete the peer connection.

Returns the SDP answer in the response body and the call ID in the Location header.

Source

pub async fn accept_call( &self, call_id: &str, request: RealtimeCallAcceptRequest, ) -> Result<(), OpenAIError>

Accept an incoming SIP call and configure the realtime session that will handle the call.

Source

pub async fn hangup_call(&self, call_id: &str) -> Result<(), OpenAIError>

End an active Realtime API call, whether it was initiated over SIP or WebRTC.

Source

pub async fn refer_call( &self, call_id: &str, request: RealtimeCallReferRequest, ) -> Result<(), OpenAIError>

Transfer a SIP call to a new destination using the Realtime API.

Source

pub async fn reject_call( &self, call_id: &str, request: Option<RealtimeCallRejectRequest>, ) -> Result<(), OpenAIError>

Decline an incoming SIP call handled by the Realtime API.

Source

pub async fn create_client_secret( &self, request: RealtimeCreateClientSecretRequest, ) -> Result<RealtimeCreateClientSecretResponse, OpenAIError>

Create a Realtime client secret with an associated session configuration.

Auto Trait Implementations§

§

impl<'c, C> Freeze for Realtime<'c, C>

§

impl<'c, C> !RefUnwindSafe for Realtime<'c, C>

§

impl<'c, C> Send for Realtime<'c, C>

§

impl<'c, C> Sync for Realtime<'c, C>

§

impl<'c, C> Unpin for Realtime<'c, C>

§

impl<'c, C> !UnwindSafe for Realtime<'c, C>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more