v0.3.2
eisenzopf/rvoipv0.3.2Jul 29, 2026by eisenzopf
AI Summary
A unified release adding authenticated-principal propagation, transport-neutral data messaging, and a `MediaGraph` for media routing, achieving full interoperability with Asterisk and FreeSWITCH.
Key Highlights
- Authenticated-principal propagation and ownership enforcement
- Transport-neutral data messaging and typed SIP headers
- Introduced single-consumer `MediaGraph` with directional routing
- Added `rvoip-vapi` native bidirectional raw-audio WebSocket transport
Breaking Changes
- UCTP media datagrams now contain a complete RTP packet
- MOQT draft changes are wire-incompatible at the `rvoip-moq` boundary
- `rvoip_core_traits::connection::Transport` adds `Vapi`
New Features
- Authenticated principal propagation
- MediaGraph
- vapi transport
- Authenticated principal propagation across SIP/WebRTC
Full Release Notes
## Unified 0.3.2 release All 44 publishable rvoip workspace crates move together to version 0.3.2. ### Highlights - Adds authenticated-principal propagation and ownership enforcement across SIP, WebRTC, UCTP, routes, and operational events. - Adds transport-neutral data messaging, typed SIP headers, DTMF, and correlated transfer outcomes. - Introduces the single-consumer `MediaGraph` with directional routing, transcoding, bounded fanout, snapshots, and drop/eviction metrics. - Adds prepare/bind/activate lifecycles with owned cancellation, bounded drain, and deterministic teardown. - Expands UCTP complete-RTP routing and the MOQT draft-19 transport, native, relay, and media-graph integration. - Introduces the developer-preview `rvoip-vapi` native bidirectional raw-audio WebSocket transport for SIP or WebRTC callers. - Includes all 14 optional extension crates for identity, provisioning, caller trust, voice AI, vCon, and audit integrations. ### SIP interoperability The 0.3.2 full release run passed all 16 selected PBX and interoperability gates: - Asterisk all-API/all-scenario UDP/TLS matrix: passed. - FreeSWITCH all-API/all-scenario UDP/TLS matrix: passed. - SIPp at 30, 100, 300, 1,000, and 2,000 CPS: passed with 100% configured call completion. - baresip strict-UA validation: passed. - Kamailio and OpenSIPS proxy/RTPengine topologies were explicitly de-scoped and are not claimed as release-tested. ### Qualification disclosure The clean, unchanged full run recorded 106 PASS, 2 FAIL, and 0 SKIP results. The project owner accepted one bounded deviation: the high-density full-media burst completed 17,871 of 18,000 calls, with ASR 0.9928 against the strict 0.995 requirement. All 129 failures were answer timeouts; non-timeout, media-setup, overload, teardown, cleanup, retention, RSS, and host UDP full-buffer-drop checks remained within policy. The second failed record is the reporting roll-up of the same ASR miss. The strict automated qualification remains NON-RC; the release disposition is APPROVED-WITH-EXCEPTION. ### Compatibility notes - UCTP media datagrams now contain a complete RTP packet after the UCTP header. - MOQT draft changes are wire-incompatible at the `rvoip-moq` boundary. - `rvoip_core_traits::connection::Transport` adds `Vapi`. - `rvoip::app::AppEvent` adds `InboundCallAccepted`. ### Install ```sh cargo add rvoip@0.3.2 ``` Or select any individual workspace crate at version `0.3.2`. ### Evidence - [Release exception](https://github.com/eisenzopf/rvoip/blob/v0.3.2/crates/sip/rvoip-sip/docs/BETA_RELEASE_EXCEPTION.md) - [Complete gate record](https://github.com/eisenzopf/rvoip/blob/v0.3.2/crates/sip/rvoip-sip/docs/BETA_GATE_EXCEPTION.md) - [Performance evidence](https://github.com/eisenzopf/rvoip/blob/v0.3.2/crates/sip/rvoip-sip/docs/BETA_PERFORMANCE_EXCEPTION.md) - [Release notes](https://github.com/eisenzopf/rvoip/blob/v0.3.2/crates/sip/rvoip-sip/docs/RELEASE_NOTES_NEXT.md)