1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! SIP B2BUA / gateway helpers built on top of `api::UnifiedCoordinator`.
//!
//! Per CARVE_PLAN §2 layering rule: every helper here ultimately calls into
//! `api::UnifiedCoordinator`. The `server::*` surface is *coordination glue*
//! on top of the proven api/ surface — bridge ID assignment, AOR-to-Contact
//! resolution, B2BUA lifecycle patterns — not a parallel access path to
//! `rvoip-sip-dialog` / `media-core`.
//!
//! ## Modules
//!
//! - [`bridge`] — `SipBridgeStrategy` for SIP↔SIP same-codec fast-path bridges.
//! Wraps `UnifiedCoordinator::bridge(a, b)` and returns the
//! `media-core::BridgeHandle` so the caller can store it in a registry.
//! - [`contact_resolver`] — AOR → live Contact URI resolution against
//! `rvoip-sip-registrar`. Lifted from `orchestration-core/src/traits.rs:81-198`
//! with a SIP-flavored `ContactRequest` input (the workforce-flavored
//! `Agent` parameter stays in orchestration-core).
//! - [`transfer`] — B2BUA-side transfer orchestration helpers (blind /
//! attended / external) wrapping the `UnifiedCoordinator::refer(...)`
//! builder and `UnifiedCoordinator::accept_refer`. The actual REFER
//! mechanics stay in `api::unified`; these helpers add scenario-specific
//! glue.
//! - [`b2bua`] — Optional convenience `SipB2bua` that wires the canonical
//! pattern (incoming INVITE → originate outbound → bridge) entirely
//! through `api::UnifiedCoordinator`.
pub use ;
pub use ;
pub use ;