Release Notes


0.9.3

New Features

  • support for TTS streaming, enables streaming of text tokens from LLMs directly to TTS engines. Currently, Deepgram, Elevenlabs, Cartesia, and Rimelabs are supported as TTS engines.
  • support for Deepgram Voice Agent speech-to-speech service (see example app).
  • support for Ultravox.ai speech-to-speech service (see example app).
  • support for Cartesia as TTS engine
  • updated Speechmatics support with additional options
  • major improvements in feature server performance, particularly with bidirectional audio, TTS and dub audio inserts
  • support for Google speech cloning
  • support for Deepgram filler words in STT
  • added the ability to create a bidirectional stream on the B leg of a dialed call
  • added new speech api to allow developers to implement custom tts streaming solution
  • support for handling incoming 3pcc invites (no body) from carriers
  • support SIP privacy header
  • added ability to send refer custom header to referhook
  • added ability to specify the Refer-To display name
  • added support for dub verb as a live call control request
  • added abjility to export to more than one otel platform
  • sending socket close code when there is no response from the websocket app
  • rest:dial support timeLimit
  • sending reason in X-Reason header when AHD processor giveup
  • support kill dial if sd ep is media timeout
  • capture system_alert when feature-server is online or offline
  • enable dtmf recognition of audible tones for carriers that do not support RFC 2833
  • support recents call dropdown filter to have yesterday option
  • add ability to filter easily by account in portal when viewing large numbers of accounts

Bug fixes

  • update drachtio-srf and fsmrf to main branch releases
  • fix inband dtmf does not work in dial verb
  • fix for sticky bargein
  • Make voicemail hints case insensitive
  • fix ConfirmCallSession cannot be played
  • fix incorrectly sending final transcript with is_final=false
  • fix cannot replace endpoint for adulting session
  • A play verb in an actionhookdelay property that contains an invalid url will cause that play to block and subsequent verbs will not be executed
  • fixed iamrole from sessionToken to securityToken
  • fix to allow hints objects array
  • fix for stopping continuos asr when asrDtmfTerminationDigit is configured
  • custom stt vendor ws connection should not be closed in asrTimeout
  • feature server should send USER call to the sbc sip that is connect with the user (#949)
  • fixed dial verb should use calling id from From header (#958)
  • rest api: added support for name query parameter for retrieving application
  • per RFC 3261 the request-uri of REGISTER must not have userinfo
  • Change timer for next REGISTER expires / 2 to avoid delayed registrations

SQL changes

ALTER TABLE google_custom_voices ADD COLUMN voice_cloning_key MEDIUMTEXT;
ALTER TABLE google_custom_voices ADD COLUMN use_voice_cloning_key BOOLEAN DEFAULT false;
ALTER TABLE voip_carriers ADD COLUMN dtmf_type ENUM('rfc2833','tones','info') NOT NULL DEFAULT 'rfc2833';

Availability

  • Available now on jambonz.cloud
  • Available now with devops scripts for subscription customers

Questions? Contact us at support@jambonz.org


0.9.2

New Features

  • added support for OpenAI Realtime API
  • added new llm verb for integration with LLMs
  • add support for Speechmatics STT
  • add support for PlayHT 3.0 TTS
  • support Deepgram on-prem
  • log levels of applications can now be changed at runtime without a restart
  • include network SIP Call-ID in call detail records in influxdb
  • add support for aws language model name when transcribing
  • support config referHook
  • support config referHook
  • loop dial music
  • Add support for configuring the IP address that is advertised to the API server
  • Sending callSid in the custom-stt start message
  • support wait hook for conf:participant-action hold
  • add notify speech-bargein-detected and dtmf-bargein-detected events
  • add callSid for STT and TTS alerts
  • Check the confidence levels of a transcript with minConfidence
  • added private_newtwork_cidr to system_information table
  • sip gateways support inbound pad crypto

Bug fixes

  • Allow Say, Gather, Transcribe is able to finished if there is error for speech credential
  • Fixed Gather digits does not work without nested say/play
  • race condition where call just ended when action hook play completes
  • fix issues with labels on speech vendors
  • fixed adulting call session does not send status callback if hangup is used
  • enable bargeIn when minBargeinWordCount is 0
  • tts: allow set vendor model or engine in runtime
  • Create Call Rest is missing target headers on outdial
  • Fix/audio issue kick conference
  • Fixed long amd hints make freeswitch module cannot connect the vendor
  • fix support precache audio with tts stream
  • rest call session does not handle for RE-INVITE
  • fix conference in cluster have correct direction in callInfo
  • fix: support _lccMuteStatus for conference
  • fix: do not run snake case for customer data
  • clear gather timeout if imterim result received
  • support jambonz transcribe sampling rate
  • fix conference end is not sent when moderator leave conference
  • fixed pad_crypto does not work if not a incoming call to a sip realm
  • Handle cases where gateway query at account level returns more than one
  • sip scheme in contact header of re-invite 200 OK should be same as initial 200 OK
  • fix sbc crash while outbound calling to user

SQL changes

ALTER TABLE system_information ADD COLUMN private_network_cidr VARCHAR(8192);
ALTER TABLE system_information ADD COLUMN log_level ENUM('info', 'debug') NOT NULL DEFAULT 'info';
ALTER TABLE accounts ADD COLUMN enable_debug_log BOOLEAN NOT NULL DEFAULT false;

Availability

  • Available now on jambonz.cloud
  • Available now with devops scripts for subscription customers

Questions? Contact us at support@jambonz.org


0.9.1

New Features

  • add support for elevenlabs 2.5-turbo
  • add support verbio speech provider
  • add support for recognizer.minConfidence
  • support use sips scheme for outbound tls gateway
  • support direct call to conference #746
  • log endpoint uuid for cross referencing with freeswitch logs
  • support mod_custom_tts #731
  • fix race condition with filler noise and also play filler noise when idle and waiting for commands #763
  • support mod_vad_detect #762
  • support restDial.referhook
  • discover local ip address based on authentication response from drachtio-server
  • add option to transcode incoming g729 calls to pcmu

Bug fixes

  • fix fs keep looping forever if there is no fallback TTS #749
  • per email from microsoft, do not restart STT connection when we get a no audio event #754
  • say verb should not print speech credentials in log when tts stream API is used #756
  • fix gather race condition #759
  • Update example-voicemail-greetings.json #761
  • set valid terminatedBy for rest call #779
  • send end of utterance events if using deepgram, interim events are enabled, and utterance_end_ms option is set
  • add support for JAMBONES_DISABLE_AZURE_TTS_STREAMING to enable or disable azure tts streaming
  • fix bug where play incorrectly plays again after response received #786
  • Aws polly engine fix #789
  • add support for persistent connection for custom stt vendors in transcribe
  • clear asr timer when gather resolves with timeout #788
  • support disable/enable listen DTMF in prompt
  • fix conference in feature server cluster join, leave, end events
  • allow joining conference as muted

SQL changes

'ALTER TABLE sip_gateways ADD COLUMN use_sips_scheme BOOLEAN NOT NULL DEFAULT 0'

Availability

  • Available now on jambonz.cloud
  • devops scripts (packer, cloudformation, helm) available now for subscription customers

Questions? Contact us at support@jambonz.org


0.9.0

New Features

  • Add support for google v2 STT api
  • Add support for additional TTS vendors: PlayHT, RimeLabs, and Deepgram
  • Add support for streaming TTS (reduces latency) for Deepgram, ElevenLabs, Microsoft, PlayHT, RimeLabs, and Whisper
  • Add support for bidirectional audio in listen verb
  • Add new verb: dub to insert additional audio tracks into the conversation; see here for example usage.
  • Add boostAudioSignal to config verb allowing the volume of a conversation to be increased or lowered.
  • Add support for “filler” audio to the gather verb allowing brief audio to be played to a caller while the user application is processing a user utterance or dtmf collection, this can be useful in scenarios where an AI bot is expected to take a lengthy time to process a request
  • Add coach mode to conferencing, allowing for instance a manager to “whisper” to an agent on a 3-way conference with a customer
  • Add support for sending outbound OPTIONS pings to configured SIP trunks
  • If Deepgram endpointing is enabled, default utterance_end_ms to 1000 if none specified by the application (per Deepgram recommendation)
  • various improvements and enhancements to node-client-ws

Bug fixes

  • various fixes for Deepgram STT
  • 714 bargein “sticky” only works twice
  • 710 fix for actionHookDelay action
  • 671 handling of siprec invite failure
  • 666 transcribe on dial verb does not transcribe B leg by default
  • fix for precaching of TTS
  • check if sip gateway is in blacklist before sending outbound call

SQL changes

ALTER TABLE sip_gateways ADD COLUMN send_options_ping BOOLEAN NOT NULL DEFAULT 0
ALTER TABLE applications MODIFY COLUMN speech_synthesis_voice VARCHAR(256)
ALTER TABLE applications MODIFY COLUMN fallback_speech_synthesis_voice VARCHAR(256)

Availability

  • Available now on jambonz.cloud
  • devops scripts (packer, cloudformation, helm) available now for subscription customers

Questions? Contact us at support@jambonz.org


0.8.5

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
  • Add support for deepgram options smartFormatting and utteranceEndMs
  • Calculate and show speech recognition latency in call recording view
  • Add API to generate audio file from text using saved speech vendors 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
  • 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

Bug fixes

  • fix background listen request used for recording #391
  • execute status callback async 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
  • outdial failure causes session to hang 411
  • call status event was delayed when stopping background listen 413
  • disable bi-directional audio on listen verbs used for call recording 415
  • generate trace id before outdial so we can include it in custom header 418
  • speech vendor missing in opentelemetry span 437
  • fix bug with database caching 443
  • caller should be able to enter more than one conference 350
  • fixes from deepgram testing
  • fix dialogflow TTS bug 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

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

Questions? Contact us at support@jambonz.org


0.8.4

New Features

  • The ability to record calls and listen to them from within the jambonz portal was added. Call recording is configured at the account level and recordings can be saved in either wav or mp3 format to the account users own S3 bucket.
  • Add support for cassandra to persist jaeger span data; as part of this instead of running jaeger-all-in-one we now run jaeger-collector and jaeger-query.
  • Added support for Redis sentinel (a highly-available redis cluster)
  • SIP credentials can be provisioned directly in the portal, as an alternative to using an authentication webhook to validate webrtc and sip clients.
  • The jambonz portal now shows the number of cached TTS prompts at the account and global level, and allows the cache to be flushed.
  • Added support for priority queues
  • Added support for websocket ping requests to keep connections alive for long-lasting calls
  • Added opentelemetry spans for transcribe verb

Bug fixes

  • allow identical phone_numbers to exist from different carriers #186
  • fix selection of outbound carrier based on calling number
  • fix queue length in account event hook
  • add X-Application-Sid in outdials so it ends up in cdr
  • update to aws-sdk v3
  • fixes for outbound registration

SQL changes

The following schema changes were made in this release:

alter table accounts add column record_all_calls BOOLEAN NOT NULL DEFAULT false;
alter table accounts add column bucket_credential VARCHAR(8192);
alter table accounts add column record_format VARCHAR(16) NOT NULL DEFAULT 'mp3';
alter table applications add column record_all_calls BOOLEAN NOT NULL DEFAULT false;
alter table phone_numbers DROP INDEX number;
create unique index phone_numbers_unique_idx_voip_carrier_number ON phone_numbers (number,voip_carrier_sid);
CREATE TABLE clients
(
client_sid CHAR(36) NOT NULL UNIQUE ,
account_sid CHAR(36) NOT NULL,
is_active BOOLEAN NOT NULL DEFAULT 1,
username VARCHAR(64),
password VARCHAR(1024),
PRIMARY KEY (client_sid)
);
CREATE INDEX client_sid_idx ON clients (client_sid);
ALTER TABLE clients ADD CONSTRAINT account_sid_idxfk_13 FOREIGN KEY account_sid_idxfk_13 (account_sid) REFERENCES accounts (account_sid);
ALTER TABLE sip_gateways ADD COLUMN protocol ENUM('udp','tcp','tls', 'tls/srtp') DEFAULT 'udp';

Environment variables

In order to enable the new call recording feature, new environment variables are necessary for jambonz-api-server and jambonz-feature server:

jambonz-api-server

JAMBONZ_RECORD_WS_USERNAME: 'foobar'
JAMBONZ_RECORD_WS_PASSWORD: 'bazzle'

These values secure the recording endpoint in jambonz-api-server using HTTP Basic authentication. They can be any values you like, but those same values must be provided as environment variables to the jambonz feature-server(s), along with one other:

*jambonz-feature-server

JAMBONZ_RECORD_WS_USERNAME: 'foobar',
JAMBONZ_RECORD_WS_PASSWORD: 'bazzle',
JAMBONZ_RECORD_WS_BASE_URL: 'ws://127.0.0.1:3002/api/v1',

The JAMBONZ_RECORD_WS_BASE_URL refers to the jambonz-api-server endpoint; this is where the feature-server will stream audio to.

Note: if you wish to disable call recording in the portal, you can do so by setting the env var DISABLE_CALL_RECORDING to true for the jambonz-webapp.

Availability

  • Available shortly on AWS Marketplace
  • Deploy to Kubernetes using this Helm chart

Questions? Contact us at support@jambonz.org


0.8.3-3

Bug fixes

  • Add logging for error handling when an invalid IP/netmask has been provisioned for a carrier
  • Fix twilio pre-seed data, previously had an invalid CIDR
  • One account could potentially use speech creds from a different account
  • Carrier gateways are added as inactive by default which caused confusion and errors sending outbound registrations

Manually uprading on AWS

Important note: Release 0.8.3-3 has some important bug fixes (see above) for issues that you may be experiencing on a 0.8.3 deployment. If you have deployed 0.8.3 using the AWS marketoplace offering we recommend you perform the manual procedure described below to upgrade to 0.8.3-3.

First, you will need to ssh into the EC2 instance as the admin user, using the keypair that you provisioned when you launched the instance. Then change into each directory under /home/admin/apps (except jambonz-webapp) and do the following

$git fetch
>git checkout v0.8.3-3
>npm ci

After that, change into /home/admin/apps/jambonz-webapp and do this

$git stash save
>git fetch
>git checkout v0.8.3-3
>git stash pop
>npm ci
>npm run build

Finally:

$pm2 restart /home/admin/apps.ecosystem.config.js

Release v0.8.3-1

Info

  • Release Date: May 29, 2023.
  • Deployed in Helm chart release 0.1.28

New Features

  • Additional routing logic for outbound calls. Default to sending calls out the same carrier that delivered the associated inbound call if no other instructions are provided.
  • List phone numbers in sorted order in portal
  • Show seconds in Recent calls in portal

Bug fixes

  • Fix intermittent bug where downloaded pcap file is empty
  • Fix pause/resume commands for siprec client sessions
  • Fix for carrier selection on dial based on calling number
  • Handle missing callerId property for anonymous calls

SQL changes

None.

Release v0.8.3

Info

  • Release Date: May 15, 2023
  • Deployed in Helm chart release 0.1.28

New Features

  • When creating an outbound sip gateway you can additionally specify transport protocol (udp, tcp, tls, tls/srtp); previously only udp was supported #166, #82, #83
  • Added application trace view to Recent Calls detail in jambonz portal
  • Added real-time status of trunk registration (and pcap download) to jambonz portal
  • Added support for choosing between multiple outbound carriers based on digit match or regex pattern
  • Added support for Cisco Network Based Recording for agent assist-type scenarios
  • Microsoft custom voices can now be used on a per-say basis
  • New Twilio IP ranges included when using Twilio as a predefined carrier
  • Add support for anchoring media on dial verb #304
  • createCall: add a default behavior if the trunk isn’t defined #230
  • Centralize configs in the code for easier maintenance #310
  • Add callerName to rest_dial and dial verb #312
  • Improved logging of commands sent over websocket to assist troubleshooting
  • System settings in jambonz portal now shows DNS names for portal, grafana, and sip endpoint #162
  • Add “Forgot password” feature to portal #218

Bug fixes

  • response to siprec invite should have a:recvonly if offer had a:sendonly
  • based on more testing default google to command_and_search for gather and latest_long for transcribe
  • Handling siprec caller and callee null #308
  • fix bug in wss requestor in the case where mysql cache is used #319
  • fix issue where multiple gathers running simultaneously #321
  • Answering machine detection (amd) supports languages other than en-US #322
  • fix nvidia speech recognition #345
  • Fix REST dial timeout #351
  • Prevent API keys from being cached by the browser #143
  • Prevent excessive login attempts to the portal #144
  • Improve filtering of recent calls #153
  • Change API response text to avoid revealing user’s data #161
  • Fix admin setting issue #168
  • Fix the webapp blocking account name if exists in another service provider #229
  • Update active sip gateway #235
  • Account users should be able to add other account users #238
  • Fix X-Authenticated-User missing between SBC & FS #90

SQL changes

The following schema changes were made in this release:

SET FOREIGN_KEY_CHECKS=0;
ALTER TABLE `voip_carriers` ADD COLUMN `register_status` VARCHAR(4096);
ALTER TABLE `sbc_addresses` ADD COLUMN `last_updated` DATETIME;
ALTER TABLE `sbc_addresses` ADD COLUMN `tls_port` INTEGER;
ALTER TABLE `sbc_addresses` ADD COLUMN `wss_port` INTEGER;
CREATE TABLE system_information
(
domain_name VARCHAR(255),
sip_domain_name VARCHAR(255),
monitoring_domain_name VARCHAR(255)
);
DROP TABLE IF EXISTS `lcr_routes`;
DROP TABLE IF EXISTS `lcr_carrier_set_entry`;
CREATE TABLE lcr_routes
(
lcr_route_sid CHAR(36),
lcr_sid CHAR(36) NOT NULL,
regex VARCHAR(32) NOT NULL COMMENT 'regex-based pattern match against dialed number, used for LCR routing of PSTN calls',
description VARCHAR(1024),
priority INTEGER NOT NULL COMMENT 'lower priority routes are attempted first',
PRIMARY KEY (lcr_route_sid)
);
CREATE TABLE lcr
(
lcr_sid CHAR(36) NOT NULL UNIQUE ,
name VARCHAR(64) COMMENT 'User-assigned name for this LCR table',
is_active BOOLEAN NOT NULL DEFAULT 1,
default_carrier_set_entry_sid CHAR(36) COMMENT 'default carrier/route to use when no digit match based results are found.',
service_provider_sid CHAR(36),
account_sid CHAR(36),
PRIMARY KEY (lcr_sid)
);
CREATE TABLE lcr_carrier_set_entry
(
lcr_carrier_set_entry_sid CHAR(36),
workload INTEGER NOT NULL DEFAULT 1 COMMENT 'represents a proportion of traffic to send through the associated carrier; can be used for load balancing traffic across carriers with a common priority for a destination',
lcr_route_sid CHAR(36) NOT NULL,
voip_carrier_sid CHAR(36) NOT NULL,
priority INTEGER NOT NULL DEFAULT 0 COMMENT 'lower priority carriers are attempted first',
PRIMARY KEY (lcr_carrier_set_entry_sid)
);
CREATE INDEX lcr_sid_idx ON lcr_routes (lcr_sid);
ALTER TABLE lcr_routes ADD FOREIGN KEY lcr_sid_idxfk (lcr_sid) REFERENCES lcr (lcr_sid);
CREATE INDEX lcr_sid_idx ON lcr (lcr_sid);
ALTER TABLE lcr ADD FOREIGN KEY default_carrier_set_entry_sid_idxfk (default_carrier_set_entry_sid) REFERENCES lcr_carrier_set_entry (lcr_carrier_set_entry_sid);
CREATE INDEX service_provider_sid_idx ON lcr (service_provider_sid);
CREATE INDEX account_sid_idx ON lcr (account_sid)
ALTER TABLE lcr_carrier_set_entry ADD FOREIGN KEY lcr_route_sid_idxfk (lcr_route_sid) REFERENCES lcr_routes (lcr_route_sid);
ALTER TABLE lcr_carrier_set_entry ADD FOREIGN KEY voip_carrier_sid_idxfk_3 (voip_carrier_sid) REFERENCES voip_carriers (voip_carrier_sid);
SET FOREIGN_KEY_CHECKS=1;

Environment variables

A new environment variable JAEGER_BASE_URL was added to the api-server process. This provides the base url for the jaeger service which is needed to retrieve application traces that are now displayed in the jambonz portal. In a jambonz-mini deployment, for instance, the ecosystem.config.js file should have:

JAEGER_BASE_URL: 'http://127.0.0.1:16686',

Similar changes would be needed for a jambonz cluster deployment (though the base url would not be 127.0.0.1). For Kubernetes deployments, the helm chart version 0.1.26 has been updated with this change.

Availability

  • Available shortly on AWS Marketplace
  • Deploy to Kubernetes using this Helm chart

Contributors

Thanks to all who contributed to this release!

Questions? Contact us at support@jambonz.org


0.8.2

New Features

  • Added custom speech API to allow third parties to add in support for speech recognition and text to speech
  • Add support for Nuance on-prem installs along with the Nuance hosted SaaS
  • Added support for soniox speech recognizer.
  • Optional verb status events can be sent over websocket connections to allow apps to track execution of a flow
  • Forward P-Asserted-Identity received on inbound calls to outbound calls

Bug fixes

  • repeated ws failures should cause reconnections to stop eventually
  • refactored TTS generation into new speech-utils package
  • added TTS_FAILURE alert type to distinguish failures from provisioning isses
  • Instead of google latest_short model, which has proven unreliable in testing, default to phone_call which provides much better results.
  • Gather: restart timeout when an interim transcript is received
  • allow for Nuance returning empty transcripts
  • Gather: clear dtmf event handler on completion
  • multiple languages now work on Azure
  • additional security checks for some API calls
  • migrate to argon2 from argon-ffi
  • updates to swagger.yml for accuracy and readability
  • expire jwt on logout from portal
  • pass on displayName of From header if we get it
  • grafana: fixed issue with media call counts not appearing
  • grafana: add instance id tag to sip calls count to better support EC2 cluster deployments

SQL changes

None.

Known issues and workarounds

Creating a carrier that requires outbound registration does not work because the sip_gateways rows associated with the carrier are incorrectly set to inactive when first created. The workaround is to first create and configure the carrier in the jambonz web portal, including the outbound registration configuration, and then applying the SQL update below.

Note: this bug only affects carriers configured with outbound registration. There is no need to apply the fix below when configuring a carrier that does not require outbound registration.

on VM installs

Use an ssh client to log into the jambonz webserver as ‘admin’ user. Find the mysql password in the apps/ecosystem.config.js file - look for the environment variable named JAMBONES_MYSQL_PASSWORD. Then, using the mysql client log into the database and apply the update statement as shown below.

on k8s installs

Use kubectl or Lens to exec a shell into the mysql container. Find the mysql password from the env vars for the api-server container. In the shell on the mysql container log into the database and apply the update below:

$ mysql -u admin -D jambones -p
Enter password:
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 91974
Server version: 10.5.18-MariaDB-0+deb11u1 Debian 11
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [jambones]> update sip_gateways set is_active=1;
Query OK, 2 rows affected (0.001 sec)
Rows matched: 26 Changed: 2 Warnings: 0
MariaDB [jambones]> quit

This bug will be fixed in 0.8.3 but while running on 0.8.2 you will need to repeat the update sequence above after adding any carrier that requires outbound registration.

Availability

  • Available now on AWS Marketplace
  • Deploy to Kubernetes using this Helm chart

Questions? Contact us at support@jambonz.org

Built with