Skip to main content

Crate rvoip

Crate rvoip 

Source
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

FeatureDefaultPulls in
sipSIP interop adapter (rvoip::sip) — beta
webrtcWebRTC interop adapter (rvoip::webrtc) — alpha
uctpUCTP substrate adapters — QUIC / WebTransport / WebSocket (rvoip::uctp) — alpha
sip-stir-shakenRFC 8224 caller-ID attestation; requires sip (rvoip::stir_shaken) — alpha
voip-3The full experience: every transport + vCon / identity / AI-harness extensions — alpha
clientCross-transport client SDK (rvoip::client) — alpha
appHigh-level gateway builder (rvoip::app) — alpha
fullvoip-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 Session abstraction. See rvoip-sip for the full surface.

Structs§

Config
Orchestrator configuration.
Orchestrator

Constants§

VERSION
The version of the rvoip facade crate.