//! # rutster-trunk //! //! **Status:** stub. Fills in at spearhead step 5 (a real phone number via rented transport). //! //! Carrier / PSTN reach for rutster — **rented transport, no first-party SIP** //! ([ADR-0007](../../../docs/adr/0007-trunk-rented-transport.md)). This crate will hold the //! rented-transport ingress: the **CPaaS media-leg adapter** — a WebSocket server accepting a //! provider raw-media fork (Twilio Media Streams / Telnyx) plus the provider call-control //! client — and later the glue for an **out-of-tree SBC** when PSTN media must stay on-prem. //! It owns **no SIP stack**: SIP lives outside the trust boundary, in the rented transport //! (green zone — [ADR-0008](../../../docs/adr/0008-fob-and-green-zone.md)). //! //! Slice 1's WebRTC-only ingress needs none of this — this stub exists to lock the crate //! boundary without anticipating code (spec §2.2). Its future dependency direction is //! `rutster-trunk` → `rutster-call-model` + `rutster-media`: PSTN audio is resampled to the //! canonical tap format and handed to the media plane as a media-leg ingress, parallel to //! WebRTC. #[cfg(test)] mod tests { /// Stub crates lock boundaries; the compile-test is the lock. #[test] fn crate_compiles() {} }