pub trait CallProxyInterface: Send + Sync {
type WatchStateResponseFut: Future<Output = Result<CallState, Error>> + Send;
type SendDtmfCodeResponseFut: Future<Output = Result<CallSendDtmfCodeResult, Error>> + Send;
// Required methods
fn watch_state(&self) -> Self::WatchStateResponseFut;
fn request_hold(&self) -> Result<(), Error>;
fn request_active(&self) -> Result<(), Error>;
fn request_terminate(&self) -> Result<(), Error>;
fn request_transfer_audio(&self) -> Result<(), Error>;
fn send_dtmf_code(&self, code: DtmfCode) -> Self::SendDtmfCodeResponseFut;
}