# crates/rutster-trunk/Cargo.toml [package] name = "rutster-trunk" version = "0.0.0" license.workspace = true edition.workspace = true repository.workspace = true description = "Rented carrier transport — CPaaS media-leg ingress; no first-party SIP (spearhead step 5, ADR-0007)." [dependencies] # FOB-side (dev-c, T1/T3/T4/T5): rutster-media = { path = "../rutster-media" } rutster-call-model = { path = "../rutster-call-model" } rutster-tap = { path = "../rutster-tap" } tokio = { workspace = true, features = ["macros", "rt-multi-thread", "sync", "time"] } axum = { workspace = true, features = ["ws"] } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } tracing = { workspace = true } thiserror = { workspace = true } base64 = { workspace = true } # Green-zone (dev-b, T2/T6): async-trait = { workspace = true } url = { workspace = true } ipnet = { workspace = true } # reqwest is OPTIONAL — only pulled in when `twilio-live` is enabled (the # live `TwilioCallControlClient`, T6). Keeps default CI build lean. reqwest = { workspace = true, optional = true } [dev-dependencies] tower = { workspace = true } futures-util = { workspace = true } tokio-tungstenite = { workspace = true } tracing-subscriber = { workspace = true } rutster-brain-realtime = { path = "../rutster-brain-realtime", features = ["mock"] } tokio = { workspace = true, features = ["macros", "rt-multi-thread", "sync", "time", "net"] } [features] default = [] # The live `TwilioCallControlClient` (T6) is feature-gated behind `twilio-live`. # `MockCallControlClient` is the per-PR test surface; the maintainer runs # `cargo test --features=twilio-live` manually pre-release (ADR-0009). twilio-live = ["dep:reqwest"]