vapi_client/models/
create_assistant_dto_voicemail_detection.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/// CreateAssistantDtoVoicemailDetection : These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool]. This uses Twilio's built-in detection while the VoicemailTool relies on the model to detect if a voicemail was reached. You can use neither of them, one of them, or both of them. By default, Twilio built-in detection is enabled while VoicemailTool is not.
15/// These are the settings to configure or disable voicemail detection. Alternatively, voicemail detection can be configured using the model.tools=[VoicemailTool]. This uses Twilio's built-in detection while the VoicemailTool relies on the model to detect if a voicemail was reached. You can use neither of them, one of them, or both of them. By default, Twilio built-in detection is enabled while VoicemailTool is not.
16#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
17#[serde(untagged)]
18pub enum CreateAssistantDtoVoicemailDetection {
19    GoogleVoicemailDetectionPlan(models::GoogleVoicemailDetectionPlan),
20    OpenAiVoicemailDetectionPlan(models::OpenAiVoicemailDetectionPlan),
21    TwilioVoicemailDetectionPlan(models::TwilioVoicemailDetectionPlan),
22    VapiVoicemailDetectionPlan(models::VapiVoicemailDetectionPlan),
23}
24
25impl Default for CreateAssistantDtoVoicemailDetection {
26    fn default() -> Self {
27        Self::GoogleVoicemailDetectionPlan(Default::default())
28    }
29}
30/// This is the provider to use for voicemail detection.
31#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
32pub enum ProviderTrue {
33    #[serde(rename = "vapi")]
34    Vapi,
35}
36
37impl Default for ProviderTrue {
38    fn default() -> ProviderTrue {
39        Self::Vapi
40    }
41}
42/// These are the AMD messages from Twilio that are considered as voicemail. Default is ['machine_end_beep', 'machine_end_silence'].  @default {Array} ['machine_end_beep', 'machine_end_silence']
43#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
44pub enum VoicemailDetectionTypesTrue {
45    #[serde(rename = "machine_start")]
46    MachineStart,
47    #[serde(rename = "human")]
48    Human,
49    #[serde(rename = "fax")]
50    Fax,
51    #[serde(rename = "unknown")]
52    Unknown,
53    #[serde(rename = "machine_end_beep")]
54    MachineEndBeep,
55    #[serde(rename = "machine_end_silence")]
56    MachineEndSilence,
57    #[serde(rename = "machine_end_other")]
58    MachineEndOther,
59}
60
61impl Default for VoicemailDetectionTypesTrue {
62    fn default() -> VoicemailDetectionTypesTrue {
63        Self::MachineStart
64    }
65}