A scriptable CLI
Place, answer, and register from a shell with JSON results and distinct exit codes. WAV files are the reproducible audio default; an optional feature enables explicitly selected live devices.
A Rust call framework
Place and answer calls, register, transfer, play and record audio, receive DTMF, and inspect call quality from typed Rust APIs.
Telephony audio
G.711 in both directions, WAV playback and recording, DTMF, jitter buffering, and quality statistics. Opus is selectable through an optional Cargo feature.
A Sans-I/O core
The protocol core does no I/O: parser, transactions and dialogs are pure state machines you can take without a socket layer attached.
Secure library transports
The Rust transport layer supports TLS and secure WebSocket with certificate verification, and calls can negotiate SRTP when signalling protects the key.
Measured RFC coverage
A generated registry distinguishes implemented behaviour, partial support, syntax-only parsing, and work that has not started.