async fn dial(&mut self,
to: &str,
trunk_id: &str,
auto_barge_in: bool,
barge_in_patience_ms: i32,
client_id: Option<&str>,
) -> Result<(), Box<dyn Error>>;
async fn originate_bulk(&mut self,
csv_url: &str,
trunk_id: &str,
cps: i32,
cmp_id: &str,
auto_barge_in: bool,
barge_in_patience_ms: i32,
) -> Result<(), Box<dyn Error>>;
async fn terminate(&mut self, call_sid: &str) -> Result<(), Box<dyn Error>>;
async fn abort_bulk(&mut self, campaign_id: &str) -> Result<(), Box<dyn Error>>;
async fn stream_events(&mut self, client_id: &str) -> Result<(), Box<dyn Error>>;
async fn barge(&mut self, call_sid: &str) -> Result<(), Box<dyn Error>>;
async fn set_inbound_routing(&mut self,
trunk_id: &str, rule: i32,
audio_url: &str, webhook_url: &str, ai_ws: &str, ai_quic: &str,
) -> Result<(), Box<dyn Error>>;
async fn get_incoming_calls(&mut self, trunk_id: &str) -> Result<(), Box<dyn Error>>;
async fn answer_incoming_call(&mut self,
call_sid: &str, ai_ws: &str, ai_quic: &str,
) -> Result<(), Box<dyn Error>>;
async fn get_active_buckets(&mut self) -> Result<(), Box<dyn Error>>;
async fn get_bucket_calls(&mut self, bucket_id: &str) -> Result<(), Box<dyn Error>>;
async fn execute_bucket_action(&mut self,
bucket_id: &str, action: i32,
) -> Result<(), Box<dyn Error>>;
async fn push_audio(&mut self,
call_sid: &str, payload: &[u8], codec: &str,
seq_num: u64, eos: bool,
) -> Result<(), Box<dyn Error>>;