Expand description
§rvoip — Universal real-time gateway library
rvoip is the facade crate for the rvoip workspace. It always compiles the
voip-3 substrate (rvoip-core + rvoip-core-traits — the cross-transport
Orchestrator and the Conversation/Session/Connection/Stream/
Message/Participant model) and lets you opt into transports and
extensions behind cargo features, defaulting to the SIP product.
§Maturity tiers
Versions are plain numeric (no -alpha/-beta suffixes): 0.1.x = alpha,
0.2.x = beta, 1.0 = stable. The sip surface is beta; the other
surfaces (webrtc, uctp, the voip-3 extensions, client) are alpha.
See docs/PRD.md, INTERFACE_DESIGN.md, and CONVERSATION_PROTOCOL.md
for the architectural context.
§Quick start
use rvoip::{Orchestrator, Config};
// `Orchestrator::new` returns an `Arc<Orchestrator>`.
let orchestrator = Orchestrator::new(Config::default());
// Register interop adapters (e.g. `rvoip::sip::SipAdapter::new(coordinator).await?`,
// built from a configured `UnifiedCoordinator`) via `orchestrator.register(adapter)?`.
let mut events = orchestrator.subscribe_events();
while let Ok(event) = events.recv().await {
// handle each orchestrator event
drop(event);
}§Cargo features
| Feature | Default | Pulls in |
|---|---|---|
sip | ✅ | SIP interop adapter (rvoip::sip) — beta |
webrtc | WebRTC interop adapter (rvoip::webrtc) — alpha | |
uctp | UCTP substrate adapters — QUIC / WebTransport / WebSocket (rvoip::uctp) — alpha | |
sip-stir-shaken | RFC 8224 caller-ID attestation; requires sip (rvoip::stir_shaken) — alpha | |
voip-3 | The full experience: every transport + vCon / identity / AI-harness extensions — alpha | |
client | Cross-transport client SDK (rvoip::client) — alpha | |
app | High-level gateway builder (rvoip::app) — alpha | |
full | voip-3 + sip-stir-shaken + client + app |
The vcon, identity, and harness conversation-model extensions are
transport-agnostic and reachable only through the voip-3 feature.
§Module layout
The unifying voip-3 nouns are re-exported at the crate root via
rvoip::core_traits; the Orchestrator + Config at the root directly.
Each transport/extension lives under its own feature-gated module
(rvoip::sip, rvoip::webrtc, rvoip::uctp, rvoip::app,
rvoip::client, …).
Re-exports§
pub use rvoip_core_traits as core_traits;
Modules§
- sip
- SIP interop adapter — bridges SIP/RTP into the voip-3
Sessionabstraction. Seervoip-sipfor the full surface.
Structs§
- Config
- Orchestrator configuration.
- Orchestrator
Constants§
- VERSION
- The version of the rvoip facade crate.