# 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)
