> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.jambonz.org/changelog/2026/4/9/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.jambonz.org/_mcp/server. #### 0.9.6 Major release #### New Features & Improvements 1. Add ability to override certain TTS streaming options via the [config verb](https://github.com/jambonz/jambonz-feature-server/pull/1429), allowing runtime control of streaming behavior. 2. Add ability to enable/disable [Azure audio logging](https://github.com/jambonz/jambonz-feature-server/pull/1432) via `azureOptions` in speech credentials. 3. Compare SDP to determine if [transcoding is being used](https://github.com/jambonz/jambonz-feature-server/pull/1444), with refactored codec checking. 4. SoundHound now supports [audio endpoint configuration](https://github.com/jambonz/jambonz-feature-server/pull/1446) from speech credentials with `requestInfo` and `sampleRate` options. 5. Add [configurable say chunk size](https://github.com/jambonz/jambonz-feature-server/pull/1461) for TTS streaming. 6. Enhanced [TTS sentence boundary detection](https://github.com/jambonz/jambonz-feature-server/pull/1464) for Arabic and Japanese with improved regex handling. 7. Add support for [sending DTMF to Ultravox](https://github.com/jambonz/jambonz-feature-server/pull/1471). 8. Add [label to STT/TTS alerts](https://github.com/jambonz/jambonz-feature-server/pull/1468) with time-series updates. 9. Use [timeout on HTTP requests](https://github.com/jambonz/jambonz-feature-server/pull/1453) to prevent hanging connections. 10. Allow UAS leg to send [re-invite with outbound gateway credentials](https://github.com/jambonz/sbc-inbound/pull/221). 11. Add [hasRecording flag](https://github.com/jambonz/sbc-inbound/pull/229) for setting recording URLs in call detail records. 12. Add [configurable backup for outbound registration failure](https://github.com/jambonz/sbc-sip-sidecar/pull/128). 13. Use [persistent call-id for regbot](https://github.com/jambonz/sbc-sip-sidecar/pull/130) using gateway SID. 14. Only disable registration after [multiple consecutive failures](https://github.com/jambonz/sbc-sip-sidecar/pull/131) rather than a single failure. 15. Add support for [Google Gemini TTS](https://github.com/jambonz/jambonz-api-server/pull/534). 16. Add support for [OpenAI transcribe auto language detection](https://github.com/jambonz/jambonz-api-server/pull/537). 17. Allow [boostAudioSignal from updateCall](https://github.com/jambonz/jambonz-api-server/pull/523) API. 18. Allow [media\_path updates from REST API](https://github.com/jambonz/jambonz-api-server/pull/533) with validation for media\_path values. 19. Allow [startRecording without SIPREC URL](https://github.com/jambonz/jambonz-api-server/pull/530) for cloud deployments. 20. Add new fields for [ICE and DTLS configuration](https://github.com/jambonz/jambonz-api-server/pull/538). 21. Add [admin carrier and number management control](https://github.com/jambonz/jambonz-api-server/pull/532) via `JAMBONES_ADMIN_CARRIER`. 22. Add [database migrations for predefined carriers](https://github.com/jambonz/jambonz-api-server/pull/540) tables. 23. Add [alert notification badge](https://github.com/jambonz/jambonz-webapp/pull/593) to the webapp with configurable polling. 24. Add [SoundHound audio endpoint](https://github.com/jambonz/jambonz-webapp/pull/582) configuration in the webapp. #### Bug fixes * Fixed say verb does not [close streaming when finishing say](https://github.com/jambonz/jambonz-feature-server/pull/1412). * Fixed [playbackIds not in correct order](https://github.com/jambonz/jambonz-feature-server/pull/1439) compared with `say.text` array. * Allow say verb to fail as NonFatalTaskError for [File Not Found](https://github.com/jambonz/jambonz-feature-server/pull/1443) instead of crashing the call. * Fixed [race condition in gather](https://github.com/jambonz/jambonz-feature-server/pull/1449) where timeout timer gets set after resolve when speech transcript arrives. * Fixed [transcribe 2 legs cannot fallback](https://github.com/jambonz/jambonz-feature-server/pull/1451). * Fixed [SDP checking for Opus](https://github.com/jambonz/jambonz-feature-server/pull/1455) on A leg during B leg dialing. * Fixed [undefined issue](https://github.com/jambonz/jambonz-feature-server/pull/1456) when setting TTS streaming channel vars. * Fixed [dial verb cannot bridge](https://github.com/jambonz/jambonz-feature-server/pull/1457) 2 leg endpoints due to transcoding. * Do not send [TTS streaming events](https://github.com/jambonz/jambonz-feature-server/pull/1467) when not doing TTS streaming. * Fixed [gather should ignore transcription](https://github.com/jambonz/jambonz-feature-server/pull/1465) if task is killed or resolved. * Fixed [callsession cannot close TTS streaming](https://github.com/jambonz/jambonz-feature-server/pull/1472). * Optimized [slow SQL queries](https://github.com/jambonz/sbc-inbound/pull/232) and added support for readonly database endpoints. * Optimized [CIDR gateway queries](https://github.com/jambonz/sbc-inbound/pull/233) using STRAIGHT\_JOIN to prevent inefficient table scans. * [Parallelized independent gateway queries](https://github.com/jambonz/sbc-inbound/pull/234) for exact IP and CIDR range lookups to reduce inbound call routing latency. * When far end answers with only PCMA, [passthrough instead of transcoding](https://github.com/jambonz/sbc-outbound/pull/208) to PCMU. * Include [codec-accept on answer to rtpengine](https://github.com/jambonz/sbc-outbound/pull/209) during reinvites. * Remove [ICE and DTLS settings](https://github.com/jambonz/sbc-outbound/pull/214) if set in database configuration. * Fixed [reg trunk proxy port handling](https://github.com/jambonz/sbc-sip-sidecar/pull/118) to only use port if proxy is IPv4 address; use SIP gateway host for DNS lookup of ephemeral gateways. * Fixed [Array.prototype.push.apply stack overflow](https://github.com/jambonz/sbc-sip-sidecar/pull/119) causing maximum call stack size exceeded errors. * If no SRV record found when no port specified, [fall back to A record lookup](https://github.com/jambonz/sbc-sip-sidecar/pull/125). * Fixed support for [writer/reader database nodes](https://github.com/jambonz/sbc-sip-sidecar/pull/126). * Removed [send\_options\_bots array](https://github.com/jambonz/sbc-sip-sidecar/pull/129) to fix ticket #1983. * Fixed [timing issue with ephemeral gateway](https://github.com/jambonz/sbc-sip-sidecar/pull/132) update/deletion and potential regbot zombie processes. * Set `JAMBONES_NETWORK_CIDR` as private IP address space when running under K8S. * Removed [activation code from API response](https://github.com/jambonz/jambonz-api-server/pull/513). * Force [account sip\_realm to lowercase](https://github.com/jambonz/jambonz-api-server/pull/519). * Fixed [obscured key detection](https://github.com/jambonz/jambonz-api-server/pull/524). * Fixed unable to [fetch voice\_call\_session](https://github.com/jambonz/jambonz-api-server/pull/525). * Fixed [webhook URL validation on update](https://github.com/jambonz/jambonz-api-server/pull/528) to not remove URLs if unchanged. * Fixed [Soniox STT speech credential validation](https://github.com/jambonz/jambonz-api-server/pull/535). * Subscription [update-quantities validation](https://github.com/jambonz/jambonz-api-server/pull/521) for minimum voice call sessions. * Added [database indexes and SQL optimizations](https://github.com/jambonz/jambonz-api-server/pull/536) including index on sip\_gateways and trunk\_type for predefined carriers. * Fixed [duplicate inbound and outbound SIP gateways](https://github.com/jambonz/jambonz-webapp/pull/576) could be created. * Require IP auth trunk to have [either inbound or outbound carrier](https://github.com/jambonz/jambonz-webapp/pull/579); consistent wording to "IP Trunk". * Fixed [outbound call routing race condition](https://github.com/jambonz/jambonz-webapp/pull/577) showing default LCR route set that user cannot delete. * Removed [filter for active carriers](https://github.com/jambonz/jambonz-webapp/pull/589) from phone number configuration. #### SQL changes ``` ALTER TABLE sip_gateways ADD COLUMN remove_ice BOOLEAN NOT NULL DEFAULT 0 ALTER TABLE sip_gateways ADD COLUMN dtls_off BOOLEAN NOT NULL DEFAULT 0 CREATE INDEX idx_sip_gateways_inbound_lookup ON sip_gateways (inbound,netmask,ipv4) CREATE INDEX idx_sip_gateways_inbound_netmask ON sip_gateways (inbound,netmask) ALTER TABLE predefined_carriers ADD COLUMN trunk_type ENUM('static_ip','auth','reg') NOT NULL DEFAULT 'static_ip' ALTER TABLE predefined_sip_gateways ADD COLUMN send_options_ping BOOLEAN NOT NULL DEFAULT 0 ALTER TABLE predefined_sip_gateways ADD COLUMN use_sips_scheme BOOLEAN NOT NULL DEFAULT 0 ALTER TABLE predefined_sip_gateways ADD COLUMN pad_crypto BOOLEAN NOT NULL DEFAULT 0 ALTER TABLE predefined_sip_gateways ADD COLUMN remove_ice BOOLEAN NOT NULL DEFAULT 0 ALTER TABLE predefined_sip_gateways ADD COLUMN dtls_off BOOLEAN NOT NULL DEFAULT 0 ALTER TABLE predefined_sip_gateways ADD COLUMN protocol ENUM('udp','tcp','tls', 'tls/srtp') NOT NULL DEFAULT 'udp' ``` #### Availability * Available now with devops scripts for subscription customers **Questions?** Contact us at [[support@jambonz.org](mailto:support@jambonz.org)](mailto:support@jambonz.org)