vapi_client/models/
sip_trunk_gateway.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct SipTrunkGateway {
16 #[serde(rename = "ip")]
18 pub ip: String,
19 #[serde(rename = "port", skip_serializing_if = "Option::is_none")]
21 pub port: Option<f64>,
22 #[serde(rename = "netmask", skip_serializing_if = "Option::is_none")]
24 pub netmask: Option<f64>,
25 #[serde(rename = "inboundEnabled", skip_serializing_if = "Option::is_none")]
27 pub inbound_enabled: Option<bool>,
28 #[serde(rename = "outboundEnabled", skip_serializing_if = "Option::is_none")]
30 pub outbound_enabled: Option<bool>,
31 #[serde(rename = "outboundProtocol", skip_serializing_if = "Option::is_none")]
33 pub outbound_protocol: Option<OutboundProtocolTrue>,
34 #[serde(rename = "optionsPingEnabled", skip_serializing_if = "Option::is_none")]
36 pub options_ping_enabled: Option<bool>,
37}
38
39impl SipTrunkGateway {
40 pub fn new(ip: String) -> SipTrunkGateway {
41 SipTrunkGateway {
42 ip,
43 port: None,
44 netmask: None,
45 inbound_enabled: None,
46 outbound_enabled: None,
47 outbound_protocol: None,
48 options_ping_enabled: None,
49 }
50 }
51}
52#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
54pub enum OutboundProtocolTrue {
55 #[serde(rename = "tls/srtp")]
56 TlsSlashSrtp,
57 #[serde(rename = "tcp")]
58 Tcp,
59 #[serde(rename = "tls")]
60 Tls,
61 #[serde(rename = "udp")]
62 Udp,
63}
64
65impl Default for OutboundProtocolTrue {
66 fn default() -> OutboundProtocolTrue {
67 Self::TlsSlashSrtp
68 }
69}