jambonz Commercial 10.2.0 — Major Release
10.2.0 is a major release headlined by the maturation of the agent verb. Introduced as an experimental capability in 10.1.0, the agent verb is now a fully deployable foundation for building cascaded voice pipelines — STT, LLM, and TTS composed à la carte, with the platform handling turn-taking, barge-in, and tool calls. A substantial body of supporting work landed in this release to get it there: a tool-filler capability that covers slow LLM tool calls with either LLM-generated backchannel phrases (pre-warmed at agent startup using the agent’s own LLM) or a background audio loop, Deepgram Flux multilingual with automatic STT/TTS language locking, mid-call agent:update, and richer turn-end telemetry that surfaces vendor metadata (provider, region, request id, processing times, cache token counts, rate-limit headers) end-to-end into turn_end events, session.json, and the transcript and bundle viewers.
Powering those pipelines, the LLM platform has been substantially broadened. A new manifest-driven LLM credential architecture (built on @jambonz/llm) means adding an LLM vendor no longer requires api-server or webapp code changes — and on top of that contract this release adds six new LLM providers: DeepSeek, Google Vertex (with vertex-gemini and vertex-openai as distinct endpoints), Azure OpenAI, Groq, HuggingFace Inference Providers, and Baseten. On the realtime speech side, 10.2.0 adds OpenAI Realtime GA support (with Whisper VAD), a new AssemblyAI speech-to-speech engine, Vertex AI as a Google S2S backend, and generation_config for Cartesia Sonic-3 voices.
10.2.0 also makes jambonz substantially easier to run yourself. A new bare-metal / VPS installer brings up a complete single-host jambonz-mini stack from Debian packages with a single command — no Docker, Kubernetes, or cloud templates required — and ongoing upgrades are a simple apt upgrade. For mini deployments installed via AWS CloudFormation or Terraform on other clouds, a new System Updates admin panel in the jambonz portal detects available upgrades, lets you schedule, reschedule, or cancel them, and runs the upgrade with live progress streamed into the UI — so keeping a cloud-deployed mini current no longer requires SSH and shell scripts.
Finally, 10.2.0 lands a notable batch of platform reliability and scale work. The drachtio-server includes several critical stability fixes that meaningfully harden long-running deployments. Across feature-server and both SBCs, optional multi-process worker forking provides pm2-style scaling under systemd without the pm2 dependency. And a long-standing curl + boost::asio race condition shared by every FreeSWITCH streaming-TTS module has been fixed.
backchannel mode the agent’s own LLM is used to generate a fresh set of natural filler phrases in the configured TTS language (with an optional style hint), pre-warmed at agent startup so they’re ready the moment a tool call fires. In audio mode the agent loops a URL of your choice. Both modes are tuned with startDelaySecs and escalationSecs.autoLockLanguage (true / false / 'always') and languageConfig (per-language voice mapping) properties on the agent verb, plus a WebSocket stt:reconfigure command for mid-call control.@jambonz/llm manifest, so adding a new LLM vendor no longer requires changes in api-server or webapp. Fully backward compatible with all existing encrypted credentials.llm.toolHook flow.vertex-gemini and vertex-openai exposed as distinct credential types rather than being inferred from the model name.llm.toolHook flows.turn_end event hooks, session.json, the webapp transcript view, and the offline bundle viewer. A generic renderer means new vendors light up the diagnostics view without UI changes.JAMBONES_DEBUG_LLM_TIMING=1 on the feature-server.llm.toolHook for OpenAI — The HTTP llm.toolHook integration now supports OpenAI in addition to the existing providers.response_create payloads.mod_assemblyai_s2s FreeSWITCH module provides real-time speech-to-speech via AssemblyAI’s streaming API.vertex-gemini and vertex-openai as Google speech-to-speech backends, expanding model availability beyond the standard Google Cloud Speech endpoints.generation_config — Support generation_config for Cartesia Sonic-3 and higher voices, enabling more advanced TTS control.parentPath — New recognizer.googleOptions.parentPath lets you point Google STT at a custom GCP resource hierarchy.VITE_ENABLE_SYSTEM_UPDATES and a valid license. (Bare-metal Debian installs upgrade via apt upgrade instead.)cluster.js worker forking is now available in feature-server, sbc-inbound, sbc-outbound, and api-server. Enable via JAMBONES_FORK_INSTANCE=<n> (or JAMBONES_FORK_INSTANCE=max for one worker per core) to get pm2-style scaling under systemd without the pm2 dependency.dial re-anchor X-Reason header — Pass an X-Reason header when re-anchoring media endpoints to FreeSWITCH, allowing the re-anchor to skip license validation.uuid_deepgramflux_configure API command for runtime Deepgram Flux configuration, AVMD fast_math optimization for audio pattern detection, improved 11Labs alignment-tracking logging, and mod_deepgram_transcribe added to the default modules.conf.xml autoload list.machine-stopped-speaking; tone detection now continues as expected.startTtsStream is invoked.autoLockLanguage when they should.languages array directly from EndOfTurn events.toolCallResponse reprompts, which could cause the LLM to hallucinate a refusal mid-conversation. Tools from the last prompt() are now cached and reused./Updates/sessions/{path} route that produced inconsistent session and bundle paths across timezones.mod_rimelabs_tts_streaming and removed obsolete libwebsockets logging symbols to support current libwebsockets versions.No database schema changes are required for this release. The LLM vendor expansion is handled entirely via the new @jambonz/llm manifest layer and the @jambonz/schema package — existing llm_credentials storage is reused.
Questions? Contact us at support@jambonz.org
jambonz Commercial 10.1.1
session.json containing turn-by-turn detail (transcripts, latencies, agent responses) and sends it to the recorder alongside the audio. The API server exposes a new session retrieval endpoint and bundle viewer (HTML page with embedded waveform player) so you can replay audio and inspect turn data together. A new observability_level column on the application controls how much detail is captured. The webapp adds an observability level selector and a transcript tab in the Recent Calls view for browsing session data.stt or tts are not specified in the verb. Previously these were effectively required on the verb itself.attempted_at instead of the recording URL, producing incorrect timestamps in some cases.Questions? Contact us at support@jambonz.org
jambonz Commercial 10.1.0
agent:update, noise cancellation powered by Krisp, and comprehensive metrics and measurement. See the agent verb reference and voice agents guide for details.@jambonz/node-client and @jambonz/node-client-ws packages. See the Node.js SDK documentation.audioQueryAbsoluteTimeout for controlling recognition timeouts.u3-rt-pro when a prompt is provided.language_hint to Deepgram Flux STT for improved recognition accuracy.llm_event with transcription data to the application layer.listen verb inside a conference, enabling real-time audio streaming from conference sessions.@jambonz/schema package, deprecating the standalone verb-specs module.gladiaOptions being hardcoded instead of using user-provided configuration.mod_dub FreeSWITCH module to prevent crashes from unhandled errors.Contact your account manager or email support@jambonz.org for the complete SQL migration script for this release.
Questions? Contact us at support@jambonz.org
Major release
azureOptions in speech credentials.requestInfo and sampleRate options.JAMBONES_ADMIN_CARRIER.say.text array.JAMBONES_NETWORK_CIDR as private IP address space when running under K8S.Questions? Contact us at support@jambonz.org
Major release
distributeDtmf property added to conference verb to enable DTMF distribution to all conference members.Questions? Contact us at support@jambonz.org
Point release
agent_id property in the ultravox llm verb as described here. This is an optional property, and
if not set the Create Call API will be used instead (i.e. legacy behavior).say verb now supports a TTS streaming mode where you can supply the full prompt at once in the text property.createCall REST call createCall verb caused parsing issue PRdial verb PRdub verb where loop: false caused the audio to incorrectly loop PRNone.
Questions? Contact us at support@jambonz.org
Major release
llm verb. You can now specify an array of one or more MCP servers in
the mcpServers property of the llm verb and jambonz will query those MCP servers and automatically create tools for the LLM to call
based on the tools exposed by each of the MCP servers. For an example, see the google gemini sample app.Questions? Contact us at support@jambonz.org
Point release
Fixes an issue where the initial client configuration message for Elevenlabs Conversational AI was improperly formatted.
PR
Adds support for speed
and pronunciation_dictionary_locators for Elevenlabs TTS.
PR
Addresses memory allocation issue in freeswitch modules that could lead to intermittent crashes. (Fixed in freeswitch-modules@2.2.26).
Add support for throttling outbound registrations and disabling. Also added support for disabling outbound
REGISTERs or NOTIFYs based on specific failure codes returned from the far end trunk.
PR, PR
Fixes issue where confirm hook on a dial verb was not working over a websocket connection.
PR
Adds support for creating portal users with readonly access.
PR
Disable password managers (e.g. LastPass, etc) on some forms where they were incorrectly auto-filling data,
leading to confusion over why the form was not submitting.
PR
Fixes issue with failing re-INVITE due to unsupported codec.
PR
Allows hangup verb to be used in a siprec call.
PR
Fixes scenario where we have two config verbs, first config having hints, but second one not having hints,
then the transcribe verb generating a rutime error.
PR
Reject portal logins with better error message if a user that signed up using ouath tries to sign in using email and password.
PR
Allow a readonly portal user to change their password.
PR
Point release
Adds support for OpenAI Speech-to-text.
Please see related options here and
review this article a discussion of how to use the OpenAI STT prompt feature.
PR, PR, and PR.
Support Cartesia sonic-2 and sonic-turbo models.
PR
Fixes issue with use of streaming say in gather verb.
PR
Better support for passing webrtc video calls.
PR
Fixes issue when using language detection feature with Deepgram.
PR
Fixes an issue showing incorrect speech synthesizer in applications view in the portal.
PR
Write options ping failure alert once instead of repeatedly.
PR
Fixes issue where lengthy LLM prompts for ultravox, elevenlabs, and deepgram were being truncated.
Point release
Adds log viewer to jambonz portal (AWS only) to enable easier troubleshooting of calls.
PR, Issue
Improves answering machine detection by listening for strings of digits in addition to other heuristics.
PR
Add support for username and password authentication to redis.
PR
Fixes crashing error with some media timeout scenarios
PR
Adds support for pausing transcriptions on Listen and Transcribe verbs.
PR
When a session uses live call control and a session:adulting message is sent to the application, customer data is now included.
PR
Fixes an issue when a call is ended via the API live call control the call_terminated_by field is now ‘jambonz’.
PR
Filters the carrier list by account when creating a new phone number.
PR
Usability improvements when configure a websocket-based application URL in the jambonz portal.
PR
Allows the Recent Calls API to return more than 25 calls at a time.
PR
Smooth outbound SIP registrations to avoid spikes.
PR