> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.jambonz.org/changelog/2023/11/10/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.jambonz.org/_mcp/server. #### 0.8.5 Major release #### New Features * Add new speech vendors: Cobalt (STT), AssemblyAI (STT), Whisper (TTS), ElevenLabs (TTS) * Support Docker containers for Azure speech * Support custom voices on google * Add ability to use a fallback speech vendor in case of error. * Add support for speechSegmentationSilenceTimeoutMs for Microsoft Azure STT * Optionally trim silence from Azure TTS * Implement fastRecognitionTimeout to enable overriding speech vendor silence timeout used when determining the end of an utterance [448](https://github.com/jambonz/jambonz-feature-server/issues/448) * Add support for deepgram options [smartFormatting](https://developers.deepgram.com/docs/smart-format) and utteranceEndMs * Calculate and [show speech recognition latency](https://youtu.be/tg07JEqnVuI) in call recording view * Add API to generate audio file from text using saved speech vendors [252](https://github.com/jambonz/jambonz-api-server/pull/252) * Additional storage options for call recording: AWS compatible, Google cloud storage, Azure cloud storageq * Add ability to pause and resume transcribe * Add support for sending SIPREC to multiple SIPREC servers simultaneously * Add continuous ASR support to transcribe verb. * Allow an account to use multiple instances of the same speech vendor by assigning a unique label to each. * Enable customized music on hold * Allow use of tag in SIPREC application * Allow custom headers to be passed when using SIPREC for recording * Transcribe verb supports custom speech vendor * Add option to prevent forwarding of P-Asserted-Identity header [460](https://github.com/jambonz/jambonz-feature-server/pull/460) * Add support for sending webhook requests through http proxy * referHook on dial can now return an application which will be executed on the other leg (e.g. receive a REFER from A leg and run an application to dial the B leg to a new party C) * Allow tag verb in waitHook response * Allow pause verb in confirmHook on dial * Integration with webrtc chrome extension to allow direct calling to apps, users, and queues * Add option for padding crypto attributes in SDP when outdialing using SRTP * Add support for speciyfing a redis sentinel password [239](https://github.com/jambonz/jambonz-api-server/pull/239) #### Bug fixes * fix background listen request used for recording [#391](https://github.com/jambonz/jambonz-feature-server/pull/391) * execute status callback async [394](https://github.com/jambonz/jambonz-feature-server/pull/394) * fix exception that appears in logs if session ends before last call status update * fix snake case issue on customer data in webhooks [409](https://github.com/jambonz/jambonz-feature-server/pull/409) * outdial failure causes session to hang [411](https://github.com/jambonz/jambonz-feature-server/pull/411) * call status event was delayed when stopping background listen [413](https://github.com/jambonz/jambonz-feature-server/pull/413) * disable bi-directional audio on listen verbs used for call recording [415](https://github.com/jambonz/jambonz-feature-server/pull/415) * generate trace id before outdial so we can include it in custom header [418](https://github.com/jambonz/jambonz-feature-server/pull/418) * speech vendor missing in opentelemetry span [437](https://github.com/jambonz/jambonz-feature-server/pull/437) * fix bug with database caching [443](https://github.com/jambonz/jambonz-feature-server/pull/443) * caller should be able to enter more than one conference [350](https://github.com/jambonz/jambonz-feature-server/pull/350) * fixes from deepgram testing * fix dialogflow TTS bug [518](https://github.com/jambonz/jambonz-feature-server/pull/518) * better logging of DNS errors * Allow sip port to be null on outbound sip gateways, since this will trigger a DNS SRV request to determine ip and port * Allow a top-level FQDN as an outbound sip gateway host [336](https://github.com/jambonz/jambonz-webapp/pull/336) #### SQL changes The following schema changes were made in this release: ``` DROP INDEX speech_credentials_idx_1 ON speech_credentials; ALTER TABLE speech_credentials ADD COLUMN label VARCHAR(64); ALTER TABLE applications ADD COLUMN speech_synthesis_label VARCHAR(64); ALTER TABLE applications ADD COLUMN speech_recognizer_label VARCHAR(64); ALTER TABLE applications ADD COLUMN use_for_fallback_speech BOOLEAN DEFAULT false; ALTER TABLE applications ADD COLUMN fallback_speech_synthesis_vendor VARCHAR(64); ALTER TABLE applications ADD COLUMN fallback_speech_synthesis_language VARCHAR(12); ALTER TABLE applications ADD COLUMN fallback_speech_synthesis_voice VARCHAR(64); ALTER TABLE applications ADD COLUMN fallback_speech_synthesis_label VARCHAR(64); ALTER TABLE applications ADD COLUMN fallback_speech_recognizer_vendor VARCHAR(64); ALTER TABLE applications ADD COLUMN fallback_speech_recognizer_language VARCHAR(64); ALTER TABLE applications ADD COLUMN fallback_speech_recognizer_label VARCHAR(64); ALTER TABLE sip_gateways ADD COLUMN pad_crypto BOOLEAN NOT NULL DEFAULT 0; ALTER TABLE sip_gateways MODIFY port INTEGER; CREATE TABLE google_custom_voices ( google_custom_voice_sid CHAR(36) NOT NULL UNIQUE , speech_credential_sid CHAR(36) NOT NULL, model VARCHAR(512) NOT NULL, reported_usage ENUM('REPORTED_USAGE_UNSPECIFIED','REALTIME','OFFLINE') DEFAULT 'REALTIME', name VARCHAR(64) NOT NULL, PRIMARY KEY (google_custom_voice_sid) ); CREATE INDEX google_custom_voice_sid_idx ON google_custom_voices (google_custom_voice_sid); CREATE INDEX speech_credential_sid_idx ON google_custom_voices (speech_credential_sid); ALTER TABLE google_custom_voices ADD FOREIGN KEY speech_credential_sid_idxfk (speech_credential_sid) REFERENCES speech_credentials (speech_credential_sid) ON DELETE CASCADE; ALTER TABLE clients ADD COLUMN allow_direct_queue_calling BOOLEAN NOT NULL DEFAULT 1; ALTER TABLE clients ADD COLUMN allow_direct_user_calling BOOLEAN NOT NULL DEFAULT 1; ALTER TABLE clients ADD COLUMN allow_direct_app_calling BOOLEAN NOT NULL DEFAULT 1; ``` #### Availability * Available shortly on AWS Marketplace * Deploy to Kubernetes using [this Helm chart](https://github.com/jambonz/helm-charts) **Questions?** Contact us at [[support@jambonz.org](mailto:support@jambonz.org)](mailto:support@jambonz.org)