5个不稳定版本

0.3.1 2023年3月28日
0.3.0 2022年10月31日
0.2.0 2022年10月31日
0.1.1 2022年10月15日
0.1.0 2022年10月15日

#8 in #authenticate

每月21次下载

自定义许可

24KB
624

Freeswitch ESL Rust实现(进行中)

注意:不线程安全

extern crate freeswitch_esl_rs;
use std::net::{TcpStream};
use std::env;
use freeswitch_esl_rs::{Connection,Client,Event};

fn main() -> std::io::Result<()> {
    let args: Vec<String> = env::args().collect();
    let host = &args[1];
    let event = &args[2];
    // open stream
    let mut stream = TcpStream::connect(host)?;

    // open connection
    let conn = Connection::new(&mut stream);
    // create freeswitch esl client
    let mut client = Client::new(conn);

    // authenticate to freeswitch
    client.auth("cloudpbx").expect("fails to authenticate");
    // enable events
    client.event(event).expect("fails enabling events");

    loop {
        // poll event
        let event: Event = client.pull_event().unwrap();
        println!("{:?}", event);
    }
    
    Ok(())
}

依赖项

~27KB