pjsipua-win 0.1.26

Rust library PJSUA2
// examples/basic_usage.rs
use pjsipua_win::*;

fn main() {
    println!("=== PJSUA2 Test Library Example ===\n");

    // Run diagnostics first
    println!("Running diagnostics...");
    let diagnostics = run_diagnostics();
    println!("{:?}\n", diagnostics);

    // Initialize PJSUA2
    println!("Initializing PJSUA2...");
    let endpoint = match Pjsua2Endpoint::init(4) {
        Ok(ep) => {
            println!("✓ Endpoint initialized successfully");
            ep
        }
        Err(e) => {
            eprintln!("✗ Failed to initialize: {}", e);
            return;
        }
    };

    // Check endpoint state
    let state = endpoint.get_state();
    println!("✓ Endpoint state: {} (4 = RUNNING)", state);

    // Create a test account
    println!("\nCreating test account...");
    let config = AccountConfig::new("testuser", "example.com", "testpass");

    match endpoint.create_account(&config) {
        Ok(id) => {
            println!("✓ Account created successfully with ID: {}", id);
            println!("  Username: {}", config.username);
            println!("  Domain: example.com");
            println!("  SIP URI: {}", config.id_uri);
        }
        Err(e) => {
            eprintln!("✗ Failed to create account: {}", e);
        }
    }

    println!("\nExample completed. Endpoint will be destroyed on exit.");
}