use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateSipTrunkRequest {
#[serde(rename = "label")]
pub label: String,
#[serde(rename = "sipHost")]
pub sip_host: String,
#[serde(rename = "sipPort", skip_serializing_if = "Option::is_none")]
pub sip_port: Option<i32>,
#[serde(rename = "transport", skip_serializing_if = "Option::is_none")]
pub transport: Option<Transport>,
}
impl CreateSipTrunkRequest {
pub fn new(label: String, sip_host: String) -> CreateSipTrunkRequest {
CreateSipTrunkRequest {
label,
sip_host,
sip_port: None,
transport: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Transport {
#[serde(rename = "tls")]
Tls,
#[serde(rename = "tcp")]
Tcp,
#[serde(rename = "udp")]
Udp,
}
impl Default for Transport {
fn default() -> Transport {
Self::Tls
}
}