> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.jambonz.org/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)