Files
call-center/docs/roadmap/08-track12-operator-voice-ux-hardening.md
T

1.8 KiB

Wave 2 / Track 12 - Operator Voice UX Hardening

Status: Accepted

Track 12 hardens the accepted Track 11 voice-control baseline without changing the telephony architecture.

Goal

Keep the current Asterisk plus MicroSIP/Zoiper model, but make the operator voice flow predictable and readable.

Accepted outcome:

  • /operator shows only real bridge-backed calls
  • active and recently ended calls are separated
  • browser actions behave consistently
  • recent calls stay visible briefly instead of disappearing immediately

Scope

In scope:

  • GET /asterisk/recent-calls
  • additive live-call metadata
  • operator UI split into Активные звонки and Только что завершённые
  • clearer labels and SIP-versus-browser hint text
  • removal of interaction-based live-call guessing
  • QA acceptance for active/recent call behavior

Out of scope:

  • WebRTC or browser softphone
  • claim-first telephony redesign
  • ARI
  • attended transfer or conference
  • production cutover

Deliverables

  1. Backend:
    • services/asterisk_bridge_service/app.py
    • services/shared/models.py
    • gateway/app.py
  2. Operator UI:
    • ui/operator/index.html
    • ui/operator/app.js
    • ui/operator/styles.css
  3. Evidence and docs:
    • docs/runbooks/track12-operator-voice-ux.md
    • docs/acceptance/track12/track12-acceptance.template.md

Accepted baseline

Track 12 is frozen with these guarantees:

  • Живые звонки never falls back to interaction:int_* placeholder cards
  • reconciled service traces do not remove an active call early
  • hangup and blind transfer move the card into the recent bucket
  • recent cards stay visible for the short configured window
  • Track 11 control-path behavior and recording playback remain green

This is the current operator voice UX baseline.