Delphi v0.9.14
Delphi v0.9.14 introduces full UI internationalization (English and German), a redesigned resilience and failover system with three-tier configuration (platform → team → flow) and intermediate bot delay comfort actions, three new voice providers (Gemini Live, Inworld, Grok), hard account lockout for security compliance, in-call DTMF collection for TOBi LLM flows, and plan-gated audio preprocessing.
v0.9.14Recommended SDKv0.1.3Supported SDK range>=0.1.2 <0.2.0Highlights
- Internationalization: the entire TelWeb UI is now translatable, with English and German shipped out of the box and dynamic language management from the admin panel.
- Resilience and failover redesign: configure provider timeout/retry defaults and call-level failover policies at platform, team, or flow level — with a new overview panel and contextual editing.
- Bot delay handling: configurable intermediate comfort messages while waiting for bot responses, automatic STT recognition resume, and a final give-up timeout — all dynamically updatable mid-call by the bot.
- New voice providers: Gemini Live, Inworld, and Grok realtime voice providers are now available alongside OpenAI and Azure when additional providers are enabled.
- Hard account lockout: accounts lock after repeated failed login attempts, with audit logging and admin unlock.
- Audio preprocessing plan gating: audio preprocessing is now restricted to Business Mid, custom, and unlimited plans.
- API access gating:
FEATURE_API_ACCESSnow separates external REST/SDK access from WebRTC and webhook-only deployments.
Internationalization (i18n)
The TelWeb platform now supports full UI localization:
- SSR locale resolution from the user's
Accept-Languageheader with English as fallback. - Language management in the admin panel — add, edit, and manage available languages.
- Per-user language preference stored on the user profile.
- Redis + ETag caching for locale bundles to ensure fast delivery.
- An
i18n:checkCI guard prevents shipping with missing translation keys.
English and German bundles are included. Additional languages can be added through the admin Language management page.
Resilience and failover
Failover and error handling has been redesigned with a layered configuration model:
| Level | Where to configure | Inheritance |
|---|---|---|
| Platform | Admin Settings → Platform Settings → Resilience | Base |
| Team | Team Settings → Resilience (override toggle) | Overrides platform |
| Flow | Flow Builder → Error Handling / Provider settings | Overrides team |
What's configurable
- Provider defaults (per role: STT, TTS, Realtime, Bot/LLM) — timeout, retry count, retry delay, backoff factor.
- Call-level failover — enable/disable, triggers (
bot_timeout,bot_error,stt_error,tts_error,system_error), and actions (transfer or hangup). - Bot delay handling — intermediate comfort messages while waiting for bot responses, with configurable timeout, speech/audio, retry count, and automatic STT recognition resume.
Flow Builder changes
- A new Resilience Overview Panel (sidebar) provides a read-only dashboard of all active resilience settings with links to edit each section.
- The old Failover Form is replaced by a new Error Handling Section with dedicated bot delay and trigger-based error action controls.
- STT/TTS exhaustion actions moved to their respective provider configuration sections.
See Flow Designer and Source view for related flow configuration.
New voice providers
Three new realtime voice providers are available in the Flow Builder provider selector:
- Gemini Live (Google)
- Inworld
- Grok (xAI)
Configure them under Flow Builder → Provider Configuration with the same resilience, timeout, and failover settings as existing providers.
These providers are shown when FeatureadditionalProviders is enabled.
In-call DTMF for TOBi
Flows using the Vodafone TOBi LLM adapter can now:
- Collect DTMF digits during a live call and forward them to the bot platform.
- Dynamically update DTMF configuration (digit count, timeout, inter-digit delay) via bot
sessionParams. - Handle DTMF on extension-routed calls.
The update_dtmf_config and update_bot_delay_config runtime commands are treated as managed runtime configuration updates and do not require separate call-control permissions.
Security
Hard account lockout
Accounts are now locked after repeated failed authentication attempts (configurable threshold). When locked:
- The user sees a generic "account locked" message (no information disclosure).
- A critical audit event is logged.
- An admin can unlock the account from the admin panel.
- Ghost-email protection prevents lockout-state leaking through login error messages.
Extended audit logging
Platform audit logging now covers a broader set of security-relevant events and is instrumented for SigNoz ingestion.
TelAPI and API access
FEATURE_API_ACCESS now controls external REST/SDK access independently from FEATURE_WEBRTC:
- Webhook-only deployments can keep
/api/v1/webhooks/*,/health, and/metricswhile hiding API keys, API Server Config, session/runtime endpoints, and browser SDK surfaces. - WebRTC-disabled deployments return
503for WebRTC session-token requests while still allowing webhook-only operation when API access is off. - The OpenAPI reference ships separate WebRTC/API and webhook-only profiles; use the profile that matches the deployment flags.
See API operations and API reference.
Audio preprocessing plan gating
Audio preprocessing (noise reduction, echo cancellation) is now plan-restricted:
- Available on Business Mid, custom, and unlimited plans.
- Blocked on Starter and Business Small plans.
- Existing flows using audio preprocessing on restricted plans should be reviewed.
Backend validation is enforced on flow create, update, and version publish.
Observability
- Superadmin trace search via SigNoz, aligned with VF Ops SIP header filtering requirements.
- Structured JSON logging for TelSys/Asterisk (
VAIASTERISKCONSOLELOGFORMAT=json) with Pino-aligned log levels. - OTEL collector severity parser for structured log level mapping.
Operators
Database migrations
11 new migrations must be applied. Run voiceai-db-migrate before restarting application services. Key changes:
Languagetable and seed data.User.languageFK.- Account lockout fields.
- API server config rate-limit tiers.
- Table renames (snake_case → PrismaModel).
- Resilience defaults columns on
Team.
Run voiceai-db-migrate on the Ops host before rolling out v0.9.14 containers.
New environment variables
| Variable | Service | Default | Description |
|---|---|---|---|
ENVIRONMENT | TelWeb, API | delphi | Deployment identifier for AWS Secrets Manager path prefix |
NEXT_PUBLIC_ENVIRONMENT | TelWeb | delphi | Client-side deployment identifier (must match ENVIRONMENT) |
TELSYS_LOG_LEVEL | TelSys | info | Pino-aligned log level (trace|debug|info|warn|error|fatal) |
FEATURE_API_ACCESS | TelAPI, TelWeb | true | Controls external REST/SDK access and related TelWeb API surfaces |
AUDIT_LOG_RETENTION_DAYS | Tasker | 180 | Days of security/audit logs retained before cleanup |
LOG_TO_SPAN_EXPORT_LOGS | TelPro log-to-span | false | Enables OTLP log export from SIP capture processing |
SCALING_DRAIN_TIMEOUT_MS | Scaler | 3600000 | Max wait for Voice instances to drain before scale-down |
SCALING_MAX_PARALLEL_BELOW_MIN_SCALE_UPS | Scaler | 8 | Caps replacement scale-ups when a group is below minimum size |
Set ENVIRONMENT and NEXT_PUBLIC_ENVIRONMENT to the same value per deployment. Set TELSYS_LOG_LEVEL if the default info is not suitable.
Resilience defaults
The new resilienceDefaults platform setting is available in Admin Settings → Platform Settings. Teams can override in Team Settings. No action required — defaults are empty (no resilience policies active) until configured.
Upgrade checklist
- Run
voiceai-db-migrateon the Ops host. - Set
ENVIRONMENTandNEXT_PUBLIC_ENVIRONMENTon TelWeb and API services. - Set
TELSYS_LOG_LEVELon TelSys if needed (default:info). - Decide whether deployments should keep
FEATURE_API_ACCESS=trueor run webhook-only with API access disabled. - Redeploy all services: TelWeb, TelAPI, TelPhi (Voice), TelPro, TelSys, Tasker, Scaler, and log-to-span.
- Review Platform Settings → Resilience defaults to configure platform-wide failover behavior.
- Review audio preprocessing on flows for teams on Starter/Business Small plans.
- Verify account lockout thresholds and audit-log retention in auth/Ops configuration.
- Regenerate or spot-check both OpenAPI profiles (
webhooksandwebrtc) before publishing API docs.
SDK compatibility
| Component | Version |
|---|---|
| Platform | v0.9.14 |
| Recommended TelPhi SDK | v0.1.3 |
| Supported SDK range | >=0.1.2 <0.2.0 |
See the SDK section for installation and the per-version compatibility matrix.