# Market Feature Scan — Enterprise Voice-AI Cohort & Natural Adjacencies - **Date:** 2026-07-03 - **Scope:** Feature surfaces of the enterprise conversational/voice-AI cohort (boost.ai, Parloa, PolyAI, Cognigy) and the builder-tier platforms (Vapi, Retell), mined for capabilities that translate to **engine primitives** — plus a map of the natural adjacencies that fit rutster's niche. Companion to the [adversarial review](2026-07-03-adversarial-review.md) of the same date. - **Framing constraint (maintainer-stated):** rutster is a toolkit for DIY builders and integrators — *not* another UCaaS/CCaaS product. Every feature below is evaluated as an engine primitive a builder composes, never as a turnkey SaaS feature to clone. The filter is ADR-0008's FOB/green-zone test plus the capability ladder. - **Status:** Advisory research record. Items marked ★ are candidates for future specs/ADRs. --- ## Part I — The cohort, briefly | Player | What they are | Why they matter to rutster | |---|---|---| | **boost.ai** | Gartner-MQ-leader enterprise conversational-AI suite (chat+voice), regulated-industry heavy, quote-priced SaaS | Their feature surface is a map of what regulated contact-center buyers pay for | | **Parloa** | Voice-first "AI agent lifecycle" platform (Design/Test/Scale/Optimize), PCI DSS/DORA positioning | Their **Test** phase (simulation + evals) is the single most engine-translatable idea in the cohort | | **PolyAI** | Voice-specialized agent platform, caller-interaction craft | Less to mine — differentiation is craft, not primitives | | **Cognigy** | Omnichannel enterprise platform; acquired by NICE for ~$955M (closed 2025-09) | The acquisition price validates the domain; omnichannel is the anti-pattern to refuse | | **Vapi / Retell** | Builder-tier cloud voice-agent platforms, per-minute pricing | Closest to the rutster persona; sets the **developer-ergonomics bar** (not the enterprise-surface bar) | **Structural observation:** every serious player is enterprise-only or cloud-only. There is no self-hostable engine in the category — the "Asterisk slot" is empty. Separately, a dedicated SaaS category exists just for voice-agent *testing/evals* (Cekura, Coval) — confidence is a product buyers pay for on its own. **boost.ai's most instructive move:** their voice line splits into **Express Voice** (speech-to-speech, direct to multimodal models) and **Enterprise Voice** (cascade STT/LLM/TTS for regulated scenarios). The market leader productized exactly the s2s-vs-cascade duality — independent confirmation of adversarial-review finding D3: the tap must treat both brain shapes as first-class, and a cascade reference brain belongs in `examples/`. --- ## Part II — Features worth incorporating (ranked by engine-fit) ### F1. ★ Simulation testing / synthetic callers (`rutster-sim`) — the standout **Source:** Parloa Test — thousands of simulated conversations pre-deployment (one model plays the caller, one runs the agent), scored by deterministic checks + LLM-as-judge. Cekura/Coval sell this as standalone SaaS. **Nobody ships it self-hosted.** **Why rutster is structurally close:** the tap is symmetric. A synthetic *caller* is just a media-leg ingress speaking audio, and the slice-3 mock brain is already half the harness. A `rutster-sim` that runs scripted/LLM-driven caller scenarios against a call flow **in CI, from the terminal** is perfectly shaped for the git-versioned builder persona. **One build, three payoffs:** 1. Regression evals (rung 3–4: "eval sets that regression-test past failures" — already in the vision doc, now with a mechanism). 2. Load testing (N concurrent synthetic callers). 3. The latency/barge-in benchmark from adversarial-review R2 — the *same harness*. **Disposition:** FOB-adjacent tooling (differentiating). Strongest single feature candidate in this scan. ### F2. ★ Warm handoff as a protocol, not just a barge (rung-2 sharpening) **Source:** 2026 table stakes across the cohort — structured pre-transfer summary (who's calling, what they want, what the AI attempted, why escalating, sentiment) delivered to the human via whisper-audio or screen-pop before bridging. **Engine translation:** rung 2 currently reads "human agent barges in / takes over." Sharpen to a **handoff protocol**: - A **typed handoff artifact** as a first-class event in the tap protocol / event stream. - Whisper-play into the human leg before bridging (the audiohook primitive already retained from Asterisk covers the media side). - Call variables passed to the destination via the event stream. - Reverse direction (cheap, later): brain stays on post-handoff as a **copilot whispering to the human** — same audiohook, Cresta-shaped, also unshipped self-hosted. **Disposition:** FOB (differentiating; the escalation primitive is the white space). ### F3. Outcome-native CDR + the call-record bundle **Source:** boost.ai CX Insights — auto-review of every conversation, outcome categorization (why automated vs escalated), quality rating/tagging; their sales pitch is the numbers ("70% automation, 75% FCR"). **Engine translation:** - **Containment / escalation-reason / resolution as native CDR schema fields**, not integrator bolt-ons. Containment rate and first-contact resolution are *the* KPIs of the category; the schema should speak them natively. - A canonical **call-record bundle** (audio + transcript + event timeline + outcome) plus a post-call hook, so a builder points any LLM at it for automated review. rutster ships the bundle format and the hook; the ecosystem ships dashboards. **Disposition:** schema = FOB-adjacent (call model / CDR); review loop = green zone via hook. ### F4. Mid-call brain transfer ("squads-lite") **Source:** Vapi Squads — one call routed across specialized agents (triage → specialist → closer). **Engine translation:** slice-2's tap reconnect machinery already survives brain disconnects; making the brain URL switchable per-call via the API turns that into a **brain-transfer primitive**. Small delta, large composability win for integrators. **Disposition:** FOB (tap engine); near-term cheap. ### F5. Cost metering inside the spend gate **Source:** Vapi/Retell per-call cost breakdowns per component. **Engine translation:** `rutster-spend` is planned as a *cap*; it should also be a *meter* — per-call attribution of CPaaS minutes + brain usage, emitted into the CDR. For integrators this is load-bearing unit economics: they resell on margin, and **cost-per-contained-call** is their P&L line. **Disposition:** FOB (spend gate is constitutive); extend step 6's scope. ### F6. PCI redaction primitive **Source:** Parloa's PCI DSS/DORA positioning; standard enterprise requirement. **Engine translation:** pause-recording / segment redaction + DTMF masking on the audiohook path during payment capture. FOB by ADR-0008's own test (security-constitutive, in the media path); directly serves the compliance wedge. ### F7. A/B traffic splits at the routing layer (defer, keep the seam) **Source:** Parloa's Bayesian A/B testing of agents. **Engine translation:** percentage split between two brain configs at the routing layer, variant recorded in CDR; the integrator (or a small service) does the statistics. Defer the feature; design the routing seam so it's possible. --- ## Part III — Natural adjacencies (what fits the niche) Mapped in rings, from "falls out of primitives already owned" outward. ### Ring 1 — falls out of the substrate **★ A1. Graceful degradation when the brain is down.** The claim only self-hosted can make: every cloud voice-AI product *is* the dependency — when the model API 503s, their customers get dead air. rutster terminates media locally, so it can degrade: brain unreachable → deterministic local IVR / structured voicemail / straight-to-queue. *"The phone still answers when the AI doesn't."* FOB (hot-path, unenforceable from outside the media). **Candidate for explicit capability-ladder placement.** **★ A2. Local keyword reflexes — the "operator!" reflex.** The second instance of the local- reflex doctrine after barge-in: caller says "agent" / "human" / "representative" or mashes 0 → local detection fires the escalation policy regardless of the brain's behavior. Outbound flavor: "stop calling" → TCPA opt-out enforced locally, recorded in the audit surface. Small keyword-spotting models make this feasible without a brain round-trip. Strategically, this is a better demo of reflexes-as-moat than barge-in alone, because it's a **policy guarantee** ("callers can always reach a human / opt out, even if the AI misbehaves") — the auditable boundary made concrete. **A3. The call archive as data gravity.** Media + CDR are already owned; a searchable archive (the F3 bundle, indexed) is nearly free and is the substrate rungs 3–4 stand on. Years of a business's calls in *their* object storage is the compounding moat. Natural extension: **QA on human agents too** — the same LLM-review loop scores human calls (Observe.AI/Cresta's business, sold as SaaS on calls the customer doesn't own). One loop, both populations, self-hosted. **A4. Bread-and-butter thin layers:** Voicemail 2.0 (AI answers → structured message → summary to email/Slack); queue callbacks ("press 1 to hold your place"); transactional **SMS as a tool call** via the CPaaS API ("I'll text you the link"). Scope note recorded deliberately: SMS-from-a-call is a tool call (green zone, fine); an SMS *channel* is omnichannel creep (refuse). ### Ring 2 — the deployment-shape insight **★ A5. Multi-tenancy is the integrator's actual unit — decide its timing explicitly.** The 2006 pattern was not one Asterisk per SMB; it was one integrator box serving dozens of clients (Vicidial hosting, multi-tenant FreePBX builds). The docs list hard multi-tenancy as a pillar, but the spearhead and ladder are implicitly single-tenant. If the integrator is half the persona, tenant-scoped numbers/brains/spend-caps/recordings/event-streams are the difference between a DIY toy and a thing an integrator bets a client book on. **Retrofitting tenant IDs into a CDR/config schema is miserable — the timing decision deserves an ADR or spec note before the CDR/config schemas ossify.** **A6. Verticals arrive via the integrator, not via rutster.** Dental/medical intake (HIPAA — needs the graduation path), trades dispatch and after-hours answering, law-firm intake, restaurants, property management, municipal 311-style lines (public sector's sovereignty preference — boost.ai's traction there validates it). The engine's job is to make each vertical a template someone else ships (→ Ring 3). ### Ring 3 — ecosystem artifacts (host the conventions, don't build the products) - **A7. Brain adapters** — OpenAI Realtime (shipped), Gemini Live, cascade reference (Whisper + open LLM + local TTS), local s2s when it matures. The adapter registry is the integration surface (Home Assistant model). - **A8. Scenario/eval packs** — community-shared synthetic-caller suites for `rutster-sim` ("dental-intake pack: 40 scenarios, expected outcomes"). Evals-as-shareable-artifacts turns F1 into an ecosystem; vertical eval packs are how integrator knowledge gets encoded and traded. - **A9. Vertical starter kits** — routing config + prompts + eval pack + tool definitions per vertical. The "thousand integrator builds" pattern, git-cloneable. - **A10. A Terraform provider / declarative reconciler** — the Kubernetes model is already ratified; `terraform-provider-rutster` (or the native reconciler) makes "Terraform for call centers" literal, and it's the artifact the persona expects to exist. - **A11. The homelab wedge — a Home Assistant integration.** A phone line into HA Assist: call the house, AI answers, controls the home, takes messages. Strategically small but precisely the persona's watering hole; demo fuel OpenAI-direct cannot replicate (local control plane); the historical ignition path for self-hosted projects (r/selfhosted → blog posts → integrators discover it). Cheap, viral, on-thesis. --- ## Part IV — Explicit refusals (the Five9-parity fence, restated) Product-shaped features observed in the cohort that rutster must not incorporate: - Visual no-code flow builders (Vapi Flow Studio, boost.ai canvas) — GUI territory; the reference GUI is a pure API client and the ecosystem's problem. - Knowledge-base / RAG hosting — a **brain** concern; the integrator wires retrieval into their brain; the tap doesn't care. - Prebuilt intent libraries; managed dashboards. - Omnichannel chat/messaging suites. One deliberate deferral recorded: **text frames in the tap protocol** would be nearly free and opens a text-channel door later — decide consciously (for or against) rather than by accident when someone PRs it. - Workforce management / scheduling; CRM — deep CCaaS territory. - Being a CPaaS (number resale, SMS routing); being an SBC; video; meetings/UCaaS. - **Voice biometrics** — will be requested for regulated verticals; genuinely useful; must be a green-zone integration point (an audiohook consumer), never FOB. --- ## Part V — The through-line (a filter for future feature requests) Nearly everything that naturally fits is one of three shapes: 1. **A reliability/policy guarantee only local media termination can make** — degradation (A1), escape-hatch reflexes (A2), opt-out enforcement. 2. **A data-gravity loop on calls the operator owns** — archive, QA, evals, training signal (A3, F1, F3). 3. **An ecosystem convention** — adapters, packs, templates, providers (A7–A11). If a proposed feature is none of these and is not already on the capability ladder, it is probably someone else's product. **Promoted to planning (schema-touching, expensive to retrofit):** - **A1 — brain-down degradation** → capability-ladder placement. - **A5 — multi-tenancy timing** → ADR/spec note before CDR/config schemas ossify. --- ## Sources - boost.ai: [upgraded voice offering (Express/Enterprise Voice)](https://boost.ai/announcements/introducing-upgraded-voice-offering/) · [AI-powered CX Insights](https://boost.ai/announcements/boost-ai-introduces-ai-powered-cx-insights/) · [conversational AI platform](https://boost.ai/product/conversational-ai-platform) · [voice AI overview](https://boost.ai/learn/voice-ai/) - Parloa: [Test (simulation)](https://www.parloa.com/platform/test/) · [simulations & evaluations](https://www.parloa.com/resources/blog/simulations-and-evaluations-ensure-ai-agent-reliability/) · [Bayesian A/B testing](https://www.parloa.com/blog/ai-agent-testing/) · [Parloa × OpenAI](https://openai.com/index/parloa/) - Cohort comparison: [Cognigy vs Parloa (incl. NICE acquisition)](https://www.webfuse.com/compare/cognigy-vs-parloa) - Builder tier: [Vapi review (Retell)](https://www.retellai.com/blog/vapi-ai-review) · [Retell vs Vapi (Cekura)](https://www.cekura.ai/blogs/retell-vs-vapi) - Handoff: [warm transfer without losing context](https://www.sigmamind.ai/blog/warm-transfer) · [AI-to-human handoff guide (Telnyx)](https://telnyx.com/resources/ai-to-human-handoff-voice-ai)