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)