Per-channel (PSTN, browser, meeting) voice provider configuration with global default and per-tenant override.
Providers marked coming soon can be selected as policy values. Channel policy comes from tenant Settings / live catalog; Probe/health before a seat change. Runtime follows that policy until the selected provider's transport is live. Gemini Live becomes available once the VertexAI jurisdiction gate (#3224) lands.
Concurrent sessions, admission-queue depth, and provider throttle ETA. Invisible to regular users; shown here only when pressure is present (Iceberg Principle — #11960).
Set the voice provider for each channel on a specific tenant, or use
__platform__ for the global default. Setting a new provider for a
live channel takes effect on the next voice session for that tenant.
Runtime fallback active (force_coming_soon=true)
This tenant policy currently selects a coming_soon voice
provider. Runtime follows channel policy from tenant Settings / live catalog
on every voice session, and emits a voice_silent_fallback
Decision Trace so the audit log records each swap. Clear
force_coming_soon and pick a LIVE catalog provider to remove this
banner.
| Channel | Override provider |
|---|
PUT /api/v1/founder/voice/policy/{tenant_id}),
CLI (ww admin voice policy set),
MCP (ww.admin.voice.policy_set).
All emit a voice_policy_changed Decision Trace.
Provider per purpose, dated per-minute pass-through prices, and the monthly minutes ceiling. Tenants read these numbers; only this page writes them.
Default provider per purpose (inbound, outbound, meetings). Tenants inherit these until they set a route.
Default keys used when a tenant chooses Workweaver keys. Tenants never see the key. Dated Voice defaults prices bill that path.
Voice channels carry the same call to different transports:
Permissions:
voice:read for inspection,
voice:write for policy mutations.