0.9.6
Major release
New Features & Improvements
- Add ability to override certain TTS streaming options via the config verb, allowing runtime control of streaming behavior.
- Add ability to enable/disable Azure audio logging via
azureOptionsin speech credentials. - Compare SDP to determine if transcoding is being used, with refactored codec checking.
- SoundHound now supports audio endpoint configuration from speech credentials with
requestInfoandsampleRateoptions. - Add configurable say chunk size for TTS streaming.
- Enhanced TTS sentence boundary detection for Arabic and Japanese with improved regex handling.
- Add support for sending DTMF to Ultravox.
- Add label to STT/TTS alerts with time-series updates.
- Use timeout on HTTP requests to prevent hanging connections.
- Allow UAS leg to send re-invite with outbound gateway credentials.
- Add hasRecording flag for setting recording URLs in call detail records.
- Add configurable backup for outbound registration failure.
- Use persistent call-id for regbot using gateway SID.
- Only disable registration after multiple consecutive failures rather than a single failure.
- Add support for Google Gemini TTS.
- Add support for OpenAI transcribe auto language detection.
- Allow boostAudioSignal from updateCall API.
- Allow media_path updates from REST API with validation for media_path values.
- Allow startRecording without SIPREC URL for cloud deployments.
- Add new fields for ICE and DTLS configuration.
- Add admin carrier and number management control via
JAMBONES_ADMIN_CARRIER. - Add database migrations for predefined carriers tables.
- Add alert notification badge to the webapp with configurable polling.
- Add SoundHound audio endpoint configuration in the webapp.
Bug fixes
- Fixed say verb does not close streaming when finishing say.
- Fixed playbackIds not in correct order compared with
say.textarray. - Allow say verb to fail as NonFatalTaskError for File Not Found instead of crashing the call.
- Fixed race condition in gather where timeout timer gets set after resolve when speech transcript arrives.
- Fixed transcribe 2 legs cannot fallback.
- Fixed SDP checking for Opus on A leg during B leg dialing.
- Fixed undefined issue when setting TTS streaming channel vars.
- Fixed dial verb cannot bridge 2 leg endpoints due to transcoding.
- Do not send TTS streaming events when not doing TTS streaming.
- Fixed gather should ignore transcription if task is killed or resolved.
- Fixed callsession cannot close TTS streaming.
- Optimized slow SQL queries and added support for readonly database endpoints.
- Optimized CIDR gateway queries using STRAIGHT_JOIN to prevent inefficient table scans.
- Parallelized independent gateway queries for exact IP and CIDR range lookups to reduce inbound call routing latency.
- When far end answers with only PCMA, passthrough instead of transcoding to PCMU.
- Include codec-accept on answer to rtpengine during reinvites.
- Remove ICE and DTLS settings if set in database configuration.
- Fixed reg trunk proxy port handling 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 causing maximum call stack size exceeded errors.
- If no SRV record found when no port specified, fall back to A record lookup.
- Fixed support for writer/reader database nodes.
- Removed send_options_bots array to fix ticket #1983.
- Fixed timing issue with ephemeral gateway update/deletion and potential regbot zombie processes.
- Set
JAMBONES_NETWORK_CIDRas private IP address space when running under K8S. - Removed activation code from API response.
- Force account sip_realm to lowercase.
- Fixed obscured key detection.
- Fixed unable to fetch voice_call_session.
- Fixed webhook URL validation on update to not remove URLs if unchanged.
- Fixed Soniox STT speech credential validation.
- Subscription update-quantities validation for minimum voice call sessions.
- Added database indexes and SQL optimizations including index on sip_gateways and trunk_type for predefined carriers.
- Fixed duplicate inbound and outbound SIP gateways could be created.
- Require IP auth trunk to have either inbound or outbound carrier; consistent wording to “IP Trunk”.
- Fixed outbound call routing race condition showing default LCR route set that user cannot delete.
- Removed filter for active carriers from phone number configuration.
SQL changes
Availability
- Available now with devops scripts for subscription customers
Questions? Contact us at support@jambonz.org