Delphi v0.9.17-patch1 improved audio startup, call teardown and custom SIP header handling. It also moved inbound trunk health checks to the SIP edge and improved call searches, timestamps and audit attribution.
Delphi v0.9.17 is a full platform cut after v0.9.16-patch2. It adds a Super Viewer role, speech detection (energy and Silero VAD), per-app recording artefacts, and much tighter hangup, transfer, DTMF, and SIP header behaviour. Operators get a max call duration with a spoken warning, seven.io SMS, hidden production Swagger, AMI trunk-health credentials, and categorized config backups. The list below is the user-visible work from this window, grouped by area — not every internal ticket.
Delphi v0.9.16-patch1 reduces TOBi callback contention on TelAPI, accepts benign late end-of-conversation acknowledgements, and hardens hangup SIP header delivery. TelPro media advertisement is clearer for LB/NAT hosts, Azure STT turn races are quieter under load, and RTPEngine final-stat spans expose per-endpoint counters.
Delphi v0.9.16 strengthens authentication and Super Admin controls, adds Microsoft Entra SSO, and gives operators config versioning & backups for platform domains. Voice deployments gain SIP trunk health monitoring, richer flow logging, TOBi sensitive-storage controls, and clearer recording/transcript storage behaviour. Integrators should plan for TelPhi SDK 0.1.4.
Delphi v0.9.15 adds contract-style custom deal subscriptions, automates edge TLS renewal and rolling service refresh, and exposes TTS character consumption to teams and API integrators. Voice operators can now configure TOBi application metadata per bot, and the platform includes several autoscaling and observability improvements.
Delphi v0.9.13-patch3 moves TelAPI server protection into Admin Settings → API Server Config with IP-based tiers, adds a Send test email control under Platform Settings, hardens modular voice pipelines (STT-first link format and deferred Azure STT recovery), refreshes the TelAPI OpenAPI snapshot (TOBi callback schemas and clearer error models), wires password-expiry policy env vars to Tasker, and fixes Kamailio rewriting for legacy egress Refer-To URIs.
Replaced TelAPI RATE_LIMIT_* environment variables and the Per API Key toggle with tiered IP-based limits stored in ApiServerConfig and reloaded through Redis.
Added separate API and webhook rate-limit fields in Admin Settings → API Server Config, with clearer 429 responses (RATE_LIMIT_EXCEEDED plus optional details).
Added Send test email on Admin Settings → Platform Settings — queues an EMAIL_SEND Tasker job to verify SMTP/SES delivery before go-live.
Hardened modular voice pipelines: Asterisk ↔ TelPhi link format now prefers the STT listen-side sample rate; TTS output aligns to STT when the provider supports it; Azure STT resets are deferred with jitter instead of reconnecting after every playback.
Refreshed the TelAPI OpenAPI snapshot with dedicated TOBi callback schemas and WebRTC-aware component registration.
Plumbed PASSWORD_MAX_AGE_DAYS, PASSWORD_WARNING_DAYS, and NEXTAUTH_URL to Tasker so password-expiry reminder emails use the same policy as TelWeb.
Fixed Kamailio legacy egress Refer-To rewriting when TelPhi stamps x-delphi-egress-route on loopback URIs whose host fell back to the EC2 instance name instead of DOMAIN_TELPRO / REFER_TARGET_HOST.
TelAPI loads limits from Postgres, caches them in Redis, and bumps revision key voiceai:api-server-config:rev whenever a SUPERUSER saves the config. No TelAPI restart is required for limit changes to take effect.
Remove deprecated TelAPI env vars
RATE_LIMIT_MAX and RATE_LIMIT_WINDOW_MS are no longer read by TelAPI. Delete them from API service vars.yaml / SSM after upgrade. Limits belong in API Server Config only.
Team daily API quotas (per-team request caps in Users and teams → API Access Configuration) are unchanged — they are a separate layer from this server-protection throttle.
When a tier limit is exceeded, TelAPI returns HTTP 429 with:
SUPERUSERs can queue a one-off EMAIL_SEND job from Admin Settings → Platform Settings → Send test email. Use it after configuring Tasker mail transport (EMAIL_TRANSPORT, SMTP or SES env vars) and before enabling password-expiry or notification templates.
Enter recipient, optional subject/body → Send test email.
Open Job History, filter EMAIL_SEND, confirm COMPLETED.
For SES sandbox accounts, verify both sender and recipient identities in the AWS console.
For flows using separate STT and TTS providers (not unified realtime), TelPhi now:
Picks the Asterisk websocket link format from the STT input sample rate when audio.linkFormat is auto (e.g. slin16 for 16 kHz Azure STT).
Downgrades TTS output to the STT sample rate when the TTS vendor natively supports it, avoiding per-chunk resampling on playback.
Schedules deferred Azure STT recognizer resets after TTS playback (with grace window and jitter) instead of forcing a full reconnect on every turn — reducing load while still recovering stuck VAD.
Unified realtime providers (OpenAI Realtime, etc.) are unchanged. Operators can still pin audio.linkFormat in flow source view.
REFER_TARGET_HOST (TelPro) sets Kamailio REFER_SBC_HOST for loopback Refer-To detection. It defaults to DOMAIN_TELPRO in the TelPro entrypoint. Set it explicitly when carrier REFER targets must align with your public SIP hostname rather than the EC2 internal hostname.
Kamailio now rewrites legacy PSTN-offload Refer-To URIs that carry x-delphi-egress-route even when the Refer-To host is the instance HOSTNAME (ip-10-…), preventing transfers from stalling when the URI is still a telpro loopback target.
Run voiceai-db-migrate before restarting application services:
Drops rateLimitPerApiKey from ApiServerConfig.
Adds webhookRateLimitMax and webhookRateLimitWindowMs.
Raises the default rateLimitMax baseline to 600.
Baseline seeding creates the default API Server Config row when missing. Existing deployments keep their saved limits except for the removed per-key flag.
Run voiceai-db-migrate on the Ops host before rolling to v0.9.13-patch3.
Remove RATE_LIMIT_MAX and RATE_LIMIT_WINDOW_MS from the API service env bundle.
Review Admin Settings → API Server Config — confirm API and webhook tiers suit your traffic profile (defaults: 600/min API, 3000/min webhooks, per client IP).
Set PASSWORD_MAX_AGE_DAYS, PASSWORD_WARNING_DAYS, and NEXTAUTH_URL on Tasker to match TelWeb.
Set REFER_TARGET_HOST on TelPro when DOMAIN_TELPRO alone does not match the hostname carriers use in REFER targets.
Send a test email from Platform Settings and confirm the EMAIL_SEND job completes in Job History.
Redeploy TelAPI, TelWeb, TelPro, Tasker, and TelPhi (Voice).
Spot-check /api/reference and a managed TOBi webhook contract against the updated OpenAPI snapshot.
Delphi v0.9.12 is a patch release focused on safer operations and cleaner platform workflows. It improves TelAPI health checks, Flow Builder version management, TOBi webhook validation, setup seeding, TLS CA bundle configuration for database and Redis clients, and logging behavior for shared services.