Delphi v0.9.14-patch3
Delphi v0.9.14-patch3 adds contract-managed billing tools, improves call debugging with a rebuilt Debug tab and SIP export, hardens text/voice handoff, and standardizes operator log-level controls across services.
v0.9.14-patch3Recommended SDKv0.1.3Supported SDK range>=0.1.2 <0.2.0Highlights
- Custom deals: superusers can define contract-specific deal versions, activate them through Stripe-backed checkout, and enforce channel entitlements for TEL, WebRTC, and API/SDK usage.
- Call debugging: the conversation Debug tab now separates logs, spans, and SIP ladder data, with SIP capture details and text export for support tickets.
- Text/voice handoff: browser text sessions preserve more context when upgrading to voice and when continuing as text after a voice session.
- Recording handling: conversation recording metadata and S3 post-processing are more robust, including richer per-turn segment artefacts.
- Operator logging: services now support Pino-aligned per-service log-level overrides, with clearer TelPro, RTPEngine, Janus WebRTC, TelSys, and AudioProc mappings.
Billing and Platform Settings
Custom deals let platform superusers create contract-specific plans without exposing generated plans in self-service registration. Deal versions can include display names, term length, included usage, overage pricing, channel selection, notification thresholds, and internal notes.
Teams on a custom deal see contract terms in My Subscription. During an active commitment window, self-service downgrade and cancellation paths are blocked; plan changes that return a team to standard self-service plans remain controlled through the subscription UI.
Channel entitlements are enforced for:
- TEL: phone-number and telephony access.
- WebRTC: browser voice system keys.
- API/SDK: API keys and TelAPI access.
Voice, SIP, and WebRTC
The Call Detail Debug tab now has dedicated Logs, Spans, and SIP ladder panes. The SIP ladder includes a sequence view, raw capture details, and an export-to-text action that can be attached to support tickets.
SIP capture behavior is also more stable: TelPro preserves trace correlation across transfer and WebRTC legs, SIP capture JSON is emitted as single-line records, and SIP capture remains available even when general service log levels are reduced.
Browser TTS audio responses now stream as start / delta / done WebSocket events instead of one buffered response. Voice-to-text downgrade waits longer for live migration state and falls back to database-backed state when needed.
Flow Builder and Conversations
Flow Builder route handling was restored after the patch1 provider cleanup. The builder now lives on the app flows page and preserves embedded app details, transfer defaults, readiness checks, and managed-transfer validation.
For modular provider pipelines, attended transfer methods that need a live AI mini-session require a dedicated realtime attended-transfer provider. Flow Builder now surfaces that requirement before publish, and runtime validation rejects invalid configurations consistently.
API and SDK
Text chat and voice/text handoff support are present in the platform submodule, but the public SDK package recommendation remains 0.1.3 for this patch. Do not advertise unreleased SDK APIs to external SDK consumers until a new package is published.
TOBi-style callback action mapping now accepts transferMessage, transferPlayMessage, and transferCanConfirm aliases in addition to the existing transfer message fields.
Observability and Operations
Operators can now use service-specific Pino-aligned log-level overrides:
TELPHI_LOG_LEVEL, TELAPI_LOG_LEVEL, TELWEB_LOG_LEVEL, TASKER_LOG_LEVEL, SCALER_LOG_LEVEL, TELSYS_LOG_LEVEL, TELPRO_LOG_LEVEL, RTPENGINE_LOG_LEVEL, WEBRTC_LOG_LEVEL, and AUDIOPROC_LOG_LEVEL.
Generated TelPro/WebRTC/RTPengine service configs now prefer TELPRO_LOG_LEVEL, RTPENGINE_LOG_LEVEL, and WEBRTC_LOG_LEVEL over lower-level DEBUG_LEVEL, RTP_LOG_LEVEL, and JANUS_*LOG_LEVEL overrides.
Config bundles now include .config-manifest.json with per-file checksums. Hosts fetch into a temporary path, verify the manifest, then promote the bundle. Service refresh scripts also pull images more consistently and verify that running containers use the expected image IDs.
Operators
Database migrations
Five migrations are included in this patch:
20260618120000_add_plan_self_serve_visibility20260618123000_add_custom_deal_models20260618124500_add_custom_deal_number_pricing20260622102000_add_custom_deal_display_name20260622103000_allow_indefinite_custom_deal_terms
Run the Ops voiceai-db-migrate one-shot before enabling custom deals or restarting application services on the new tag.
Environment variables
Review custom SSM and Secrets Manager overrides before rollout. Deployments that set DEBUG_LEVEL, RTP_LOG_LEVEL, JANUS_LOG_LEVEL, JANUS_DEBUG_LEVEL, or JANUS_JSON_LOG_LEVEL should move to the service-level variables listed above.
OTEL_ENABLED is now part of generated Web service configuration and defaults to true.
Upgrade checklist
- Review custom logging overrides and migrate TelPro/WebRTC/RTPengine values to
TELPRO_LOG_LEVEL,RTPENGINE_LOG_LEVEL, andWEBRTC_LOG_LEVEL. - Roll the updated config bundle so
.config-manifest.jsonis available to hosts. - Run the
voiceai-db-migrateone-shot from the Ops service. - Restart or update services on
v0.9.14-patch3, including TelPro, Voice, API, Web, Ops, and db-migrate. - Smoke-test custom-deal creation and checkout if subscription management is enabled.
- Place a test call and verify the conversation Debug tab, SIP ladder export, and text/voice handoff flows.
SDK compatibility
| Component | Version |
|---|---|
| Platform | v0.9.14-patch3 |
| Recommended TelPhi SDK | v0.1.3 |
| Supported SDK range | >=0.1.2 <0.2.0 |
No published SDK package update is required for this patch.