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: StringWhat 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: StringWhat number should be dialed via SIP
to_user_override: StringReplaces 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: StringOptional SIP From number to use. If empty, trunk number is used.
room_name: StringWhat LiveKit room should this participant be connected too
participant_identity: StringOptional identity of the participant in LiveKit room
participant_name: StringOptional name of the participant in LiveKit room
participant_metadata: StringOptional 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: StringOptionally send following DTMF digits (extension codes) when making a call. Character ‘w’ can be used to add a 0.5 sec delay.
play_ringtone: boolOptionally 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: boolBy 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: i32Map 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: boolEnable voice isolation for the callee.
media_encryption: i32media: Option<SipMediaConfig>§wait_until_answered: boolWait for the answer for the call before returning.
display_name: Option<String>Optional display name for the ‘From’ SIP header.
Cases:
- Unspecified: Use legacy behavior - display name will be set to be the caller’s number.
- Empty string: Do not send a display name, which will result in a CNAM lookup downstream.
- Non-empty: Use the specified value as the display name.
destination: Option<Destination>NEXT ID: 28
Implementations§
Source§impl CreateSipParticipantRequest
impl CreateSipParticipantRequest
Sourcepub fn include_headers(&self) -> SipHeaderOptions
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.
Sourcepub fn set_include_headers(&mut self, value: SipHeaderOptions)
pub fn set_include_headers(&mut self, value: SipHeaderOptions)
Sets include_headers to the provided enum value.
Sourcepub fn media_encryption(&self) -> SipMediaEncryption
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.
Sourcepub fn set_media_encryption(&mut self, value: SipMediaEncryption)
pub fn set_media_encryption(&mut self, value: SipMediaEncryption)
Sets media_encryption to the provided enum value.
Sourcepub fn display_name(&self) -> &str
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
impl Clone for CreateSipParticipantRequest
Source§impl Debug for CreateSipParticipantRequest
impl Debug for CreateSipParticipantRequest
§impl<'de> Deserialize<'de> for CreateSipParticipantRequest
impl<'de> Deserialize<'de> for CreateSipParticipantRequest
§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl Message for CreateSipParticipantRequest
impl Message for CreateSipParticipantRequest
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.