Skip to main content

CreateSipParticipantRequest

Struct CreateSipParticipantRequest 

Source
pub struct CreateSipParticipantRequest {
Show 27 fields pub sip_trunk_id: String, pub trunk: Option<SipOutboundConfig>, pub sip_request_uri: Option<SipRequestDest>, pub sip_to_header: Option<SipNamedDest>, pub sip_from_header: Option<SipNamedDest>, pub sip_call_to: String, pub to_user_override: String, pub sip_number: String, pub room_name: String, pub participant_identity: String, pub participant_name: String, pub participant_metadata: String, pub participant_attributes: HashMap<String, String>, pub dtmf: String, pub play_ringtone: bool, pub play_dialtone: bool, pub hide_phone_number: bool, pub headers: HashMap<String, String>, pub include_headers: i32, pub ringing_timeout: Option<Duration>, pub max_call_duration: Option<Duration>, pub krisp_enabled: bool, pub media_encryption: i32, pub media: Option<SipMediaConfig>, pub wait_until_answered: bool, pub display_name: Option<String>, pub destination: Option<Destination>,
}
Expand description

A SIP Participant is a singular SIP session connected to a LiveKit room via a SIP Trunk into a SIP DispatchRule

Fields§

§sip_trunk_id: String

What SIP Trunk should be used to dial the user

§trunk: Option<SipOutboundConfig>§sip_request_uri: Option<SipRequestDest>

INVITE

§sip_to_header: Option<SipNamedDest>

Currently not usable with CreateSIPParticipant: sip_call_to is required, and the two cannot be combined. Use to_user_override to change the To header user.

To: “Name”

§sip_from_header: Option<SipNamedDest>

From: “Name”

§sip_call_to: String

What number should be dialed via SIP

§to_user_override: String

Replaces the user part of the To header, leaving its host, port and transport as they would otherwise be. The request URI is not affected, so the call is still placed to sip_call_to. Empty means no override.

Use this when the callee expects a To header that differs from the number being dialed. Setting “To” in the headers map is not a valid alternative: it adds a second To header rather than replacing the existing one, which makes the INVITE malformed.

§sip_number: String

Optional SIP From number to use. If empty, trunk number is used.

§room_name: String

What LiveKit room should this participant be connected too

§participant_identity: String

Optional identity of the participant in LiveKit room

§participant_name: String

Optional name of the participant in LiveKit room

§participant_metadata: String

Optional user-defined metadata. Will be attached to a created Participant in the room.

§participant_attributes: HashMap<String, String>

Optional user-defined attributes. Will be attached to a created Participant in the room.

§dtmf: String

Optionally send following DTMF digits (extension codes) when making a call. Character ‘w’ can be used to add a 0.5 sec delay.

§play_ringtone: bool
👎Deprecated

Optionally play dialtone in the room as an audible indicator for existing participants. The play_ringtone option is deprectated but has the same effect.

§play_dialtone: bool§hide_phone_number: bool

By default the From value (Phone number) is used for participant name/identity (if not set) and added to attributes. If true, a random value for identity will be used and numbers will be omitted from attributes.

§headers: HashMap<String, String>

These headers are sent as-is and may help identify this call as coming from LiveKit for the other SIP endpoint.

§include_headers: i32

Map SIP headers from 200 OK to sip.h.* participant attributes automatically.

When the names of required headers is known, using headers_to_attributes is strongly recommended.

When mapping 200 OK headers to follow-up request headers with attributes_to_headers map, lowercase header names should be used, for example: sip.h.x-custom-header.

§ringing_timeout: Option<Duration>

Max time for the callee to answer the call.

§max_call_duration: Option<Duration>

Max call duration.

§krisp_enabled: bool

Enable voice isolation for the callee.

§media_encryption: i32
👎Deprecated
§media: Option<SipMediaConfig>§wait_until_answered: bool

Wait for the answer for the call before returning.

§display_name: Option<String>

Optional display name for the ‘From’ SIP header.

Cases:

  1. Unspecified: Use legacy behavior - display name will be set to be the caller’s number.
  2. Empty string: Do not send a display name, which will result in a CNAM lookup downstream.
  3. Non-empty: Use the specified value as the display name.
§destination: Option<Destination>

NEXT ID: 28

Implementations§

Source§

impl CreateSipParticipantRequest

Source

pub fn include_headers(&self) -> SipHeaderOptions

Returns the enum value of include_headers, or the default if the field is set to an invalid enum value.

Source

pub fn set_include_headers(&mut self, value: SipHeaderOptions)

Sets include_headers to the provided enum value.

Source

pub fn media_encryption(&self) -> SipMediaEncryption

Returns the enum value of media_encryption, or the default if the field is set to an invalid enum value.

Source

pub fn set_media_encryption(&mut self, value: SipMediaEncryption)

Sets media_encryption to the provided enum value.

Source

pub fn display_name(&self) -> &str

Returns the value of display_name, or the default value if display_name is unset.

Trait Implementations§

Source§

impl Clone for CreateSipParticipantRequest

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CreateSipParticipantRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for CreateSipParticipantRequest

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
§

impl<'de> Deserialize<'de> for CreateSipParticipantRequest

§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Message for CreateSipParticipantRequest

Source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
Source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
Source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
Source§

fn encode_to_vec(&self) -> Vec<u8> ⓘ
where Self: Sized,

Encodes the message to a newly allocated buffer.
Source§

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
Source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘ
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
Source§

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
Source§

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
Source§

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
Source§

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
Source§

impl PartialEq for CreateSipParticipantRequest

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
§

impl Serialize for CreateSipParticipantRequest

§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for CreateSipParticipantRequest

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.