11.1.12 adds more than twenty speech vendors and brings seven speech-to-speech vendors to Agent Studio as realtime voice agents: Google Gemini, xAI, Qwen, AssemblyAI, Azure VoiceLive, Azure OpenAI and Amazon Nova. Portal users can now be set to sign in with GitHub or Google. Agents on speech-to-text vendors that do their own turn detection now end the caller’s turn when the vendor says so, and the release fixes call hold on anchored-media dials, ElevenLabs data residency for speech-to-text, and a socket leak with Azure speech-to-text.
New Features & Improvements
- New speech vendors — speech-to-text:
sarvam,smallestai,gnani,meta,saidwire,azureopenaiandinworld. Text-to-speech:sarvam,smallestai,gnani,minimax,neuphonic,asyncai,respeecher,camb,hume,blandandsonioxwith streaming TTS, andvakyam,simplismart,groq,speechmatics,azureopenai,kokoroandspitchforsay. Each has speech credentials in the portal and API. See TTS vendor settings. - KugelAudio speech-to-text —
kugelaudio, already a text-to-speech and noise isolation vendor, now provides streaming speech-to-text (kugel-ear-1). See KugelAudio. - Soniox speech-to-text v6 — Soniox credentials and recognizers can use the
stt-rt-v6model. - Speech-to-speech vendors in Agent Studio — Agent Studio adds Google Gemini (with a Gemini API key or a Vertex AI service account), xAI, Qwen, AssemblyAI, Azure VoiceLive, Azure OpenAI and Amazon Nova as realtime voice agents. These vendors were already available in the llm verb; each now has an account credential in the portal (LLM Services, Speech-to-speech tab) and a key test that does not open a billable session. These agents report turns to Agent Studio like the existing ones. See Realtime voice API.
- Sign in with GitHub or Google — a portal user can be created or edited to sign in with
GitHub or Google instead of a password. The user receives an invitation email and is
linked to their account on first sign-in by verified email address. Switching a user to
GitHub or Google removes their password; switching back requires a new initial password,
which they must change at first sign-in.
GET /Usersreports each user’sproviderand whether the invitation is still pending. - OpenAI Realtime errors — an OpenAI Realtime agent now reports an
engine_errorturn event when the vendor returns an error, a response fails, or the connection fails or drops, and the verb’s actionHook carries anerrorfield. - Speech-to-speech close reason — when a speech-to-speech vendor closes the connection, the disconnect now includes the vendor’s close code and reason.
- API version —
GET /v1/Versionreturns the api-server release. - Portal — call traces mark Dialogflow CES turns that the agent started without caller speech, and the hosted portal has the service provider switcher back for admins.
Changes in Behavior
- Turn detection by the speech vendor — with the agent verb, speech-to-text
vendors that do their own turn detection (
deepgramflux,assemblyai,speechmaticsagent,zoom,gradium,mistral,paxaand others) now end the caller’s turn on the vendor’s end-of-turn signal only, not also on the final transcript, which could run the turn twice. An end of turn with no words is ignored. - Azure OpenAI realtime endpoint — Azure OpenAI realtime agents connect to the GA
endpoint (
openai/v1/realtime?model=) instead of the previewapi-versionanddeploymentendpoint. - Gemini tool calls — Gemini realtime agents send one toolHook per tool call, carrying the vendor’s call id, instead of one per batch.
- Tenant checks — changing a SIP gateway’s carrier with
PUT /SipGatewaysnow returns 400. Assigning a phone number to an account outside your scope returns 403, and assigning it to an unknown account or application, or to an application of a different account, returns 400. - Credential validation — a speech credential request missing a required field returns 400 instead of 500. LLM credentials that have never been tested now show as untested rather than failed, and are tested again when the portal lists them.
Removals
- Streaming TTS for Speechify, Giggy and Mistral — these vendors no longer support
streaming text-to-speech (the agent verb, or
saywithstream: true).saywithout streaming is unaffected.
Bug Fixes
- Hold on anchored-media dials — when a dial anchors media, the caller’s hold
and resume are now answered by jambonz and passed to the
onHoldHook. - Azure speech-to-text socket leak — speech-to-text vendor connections are now closed when recognition stops. Azure connections were left open, which over time caused gaps of up to 1.3 seconds in text-to-speech.
- ElevenLabs data residency — ElevenLabs speech-to-text, and its credential test, use the host set by the credential’s data residency.
- Deepgram Flux — Flux uses the recognizer’s model and language.
- Speech-to-text connection failures — alerts and errors now give the vendor’s reason.
- AssemblyAI agents — an AssemblyAI agent can be asked to reply mid-call.
- VAD barge-in — when VAD barge-in stopped the agent for a sound the speech-to-text vendor never transcribed, the agent now resumes instead of staying silent.
- OpenAI speech-to-text — OpenAI’s speech-stopped event now reaches the agent.
- Dialogflow CES traces — traces of long CES calls are no longer dropped.
- License changes — calls are no longer refused while a license change is being applied.
- Recent calls — the list no longer empties after the date filter changes.
Component Versions
Availability
jambonz.cloud - November 7, 2026
self-hosted Debian packages - available now: install jambonz-mini 11.1.12 from the
jambonz apt repository (Debian 12 bookworm), amd64 and arm64.
self-hosted on AWS - available now: CloudFormation templates and public AMIs for all nine server types in 30 regions, amd64 and arm64.