vapi_client/models/
transfer_destination_sip.rs

1/*
2 * Vapi API
3 *
4 * Voice AI for developers.
5 *
6 * The version of the OpenAPI document: 1.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TransferDestinationSip {
16    #[serde(rename = "message", skip_serializing_if = "Option::is_none")]
17    pub message: Option<models::TransferDestinationAssistantMessage>,
18    #[serde(rename = "type")]
19    pub r#type: TypeTrue,
20    /// This is the SIP URI to transfer the call to.
21    #[serde(rename = "sipUri")]
22    pub sip_uri: String,
23    /// This configures how transfer is executed and the experience of the destination party receiving the call. Defaults to `blind-transfer`.  @default `transferPlan.mode='blind-transfer'`
24    #[serde(rename = "transferPlan", skip_serializing_if = "Option::is_none")]
25    pub transfer_plan: Option<models::TransferPlan>,
26    /// These are custom headers to be added to SIP refer during transfer call.
27    #[serde(rename = "sipHeaders", skip_serializing_if = "Option::is_none")]
28    pub sip_headers: Option<serde_json::Value>,
29    /// This is the description of the destination, used by the AI to choose when and how to transfer the call.
30    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
31    pub description: Option<String>,
32}
33
34impl TransferDestinationSip {
35    pub fn new(r#type: TypeTrue, sip_uri: String) -> TransferDestinationSip {
36        TransferDestinationSip {
37            message: None,
38            r#type,
39            sip_uri,
40            transfer_plan: None,
41            sip_headers: None,
42            description: None,
43        }
44    }
45}
46///
47#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
48pub enum TypeTrue {
49    #[serde(rename = "sip")]
50    Sip,
51}
52
53impl Default for TypeTrue {
54    fn default() -> TypeTrue {
55        Self::Sip
56    }
57}