Dave Horton
389c65e2d8
0.9.8
2026-07-20 08:34:52 -04:00
Dave Horton
5fe73b0051
Revert "feat: surface in-dialog hold/un-hold to the application ( #1560 )" ( #1563 )
...
This reverts commit edc6d6b208 .
2026-07-09 09:44:06 -04:00
Dave Horton and Claude Opus 4.8
01827ff955
fix(deps): drop conflicting utf-8-validate/bufferutil optionalDependencies
...
The optionalDependencies pinned utf-8-validate ^6.0.3, but ws@8 only
accepts ^5.0.2 as its optional peer and ibm-watson's websocket dep
hard-requires ^5.0.2. That 5.x-vs-6.x split forced a dual-version tree
that npm 10 and npm 11 lay out differently, so a lockfile generated with
npm 11 (local) failed 'npm ci' under npm 10 (CI, node 20) with
'Missing: utf-8-validate@5.0.10 from lock file'. The 6.x pin never
accelerated ws anyway. Removing it collapses to a single utf-8-validate
5.0.10 that both npm majors resolve identically.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-09 08:06:44 -04:00
Dave Horton
e17f559a08
bump version
2026-07-09 07:34:30 -04:00
Dave Horton
4f373d2fbc
bump version
2026-03-31 07:43:27 -04:00
Dave Horton
df30496dac
fix uncaught exception referencing this.ep in freeswitch hangup scenario ( #1532 )
2026-03-27 08:31:32 -04:00
Dave Horton
5bd1c53f7d
fixed faulty commit https://github.com/jambonz/jambonz-feature-server/pull/1528
2026-03-20 09:17:00 -04:00
Dave Horton
782ce8154e
update drachtio-srf ( #1521 )
2026-03-05 09:33:59 -05:00
Dave Horton
0267acf9e1
anchor media on dial if we are recording ( #1520 )
2026-02-23 18:13:25 -05:00
Dave Horton
45d0ca87af
update drachtio-srf ( #1515 )
2026-02-09 10:31:43 -05:00
Dave Horton
ff5f9acaf8
on dial do not reinvite A leg on answer if already answered and we are anchoring media ( #1508 )
2026-01-29 13:47:53 -05:00
Dave Horton
3c3dfa81d3
fix issue where call hangs up and actionhook delay triggered ( #1497 )
2026-01-19 16:42:43 -05:00
Dave Horton
83a8cf6d25
SIGUSR1 should cause fs to commence drying up calls but do not exit when call count reaches zero ( #1486 )
2026-01-04 12:23:26 -05:00
Dave Horton
fdce05fa40
add handler for SIGUSR1 to start drying up calls, useful as a generic mechanism on non-AWS deployments ( #1482 )
2025-12-30 13:31:42 -05:00
Dave Horton
e396b6aa98
fix #1466 : ( #1467 )
...
* fix #1466 :
* do not send tts streaming events when we are not doing tts streaming
2025-12-09 09:43:53 -05:00
Dave Horton
8048e9cf88
when dialing the B leg we check to see if we are using opus on the A leg, and if so we outdial B with opus first; however we were incorrectly checking the SDP on the A leg invite not the 200 OK we send back ( #1455 )
2025-12-02 19:22:20 -05:00
Dave Horton
cc1751f500
fix race condition where gather resolves with speech transcript but t… ( #1449 )
...
* fix race condition where gather resolves with speech transcript but timeout timer gets set after the resolve and is left running after gather completes
* remove unneeded line of code
2025-11-27 11:44:49 -06:00
Dave Horton
0442144793
fix bug escaping backspace character
2025-11-03 15:33:59 -05:00
Dave Horton
a884880321
fix for #1422 ( #1423 )
...
* fix for #1422
* fix prev commit
2025-11-03 12:53:43 -05:00
Dave Horton
b307df79d0
update deps ( #1417 )
2025-10-31 07:31:32 -04:00
Dave Horton
b4ed4c8c46
#1385 : Gather - dont start the continuous asr timer when we first start listening if this is a background gather ( #1386 )
2025-10-09 08:47:51 -04:00
Dave Horton
28bf0d3477
send eager_eot events ( #1382 )
2025-10-06 16:50:20 -04:00
Dave Horton
d2d3b4583e
Fix/flux cleanup ( #1379 )
...
* for deepgram flux include the turn taking events in the transcription payload
* for deepgram flux, including turn_taking_event in the speech payload
* fix prev commit which used wrong field
2025-10-04 20:06:38 -04:00
Dave Horton
e77666a1a7
update speech-utils and drachtio-srf ( #1377 )
2025-10-03 10:06:37 -04:00
Dave Horton
1d6f84c2d7
add event handler for when deepgram closes with an error ( #1372 )
2025-09-28 14:18:56 -04:00
Dave Horton
65b3066866
catch exceptions from req.cancel() ( #1359 )
...
* catch exceptions from req.cancel()
* catch other instances of req.cancel
* fix prev commit
2025-09-11 12:25:36 -04:00
Dave Horton
acaadceaa2
fix exception when receiving REFER but dial task ended ( #1353 )
2025-09-10 12:23:32 -04:00
Dave Horton
f2fe7c4d24
Fix/playback race by fs generates playback ( #1331 )
...
* update to speech-utils that generates playback id
* modify tts and say task to track current playback id and match against start and stop events
* bump speech utils
* wip
* wip
* fix race condition where say with playbackId gets stop event from previous play from cache file
* logging
* wip
* fix comparison when playing cached files
* logging
2025-08-26 09:39:25 -04:00
Dave Horton
97408c7d3b
fix uncaught exception with llm streaming
2025-08-22 13:24:59 -04:00
Dave Horton
db5f0a0dce
Feat/startup logging ( #1333 )
...
* turn down some logging
* add startup logging
* wip
* lint
2025-08-21 14:09:20 -04:00
Dave Horton
ea27b20ac5
update speech-utils ( #1324 )
2025-08-17 10:09:55 -04:00
Dave Horton
73c77bea71
add support for deepgram entity_prompt
2025-08-11 20:58:14 -04:00
Dave Horton
66bb466297
fix bug where task.kill is not passed cs ( #1315 )
2025-08-07 16:01:45 -04:00
Dave Horton
1933f4ec0b
Feat/freeswitch logging ( #1309 )
...
* include callSid on INVITEs to freeeswitch
* remove unnecessary warning
2025-08-04 09:19:47 -04:00
Dave Horton
ee895b4046
bump version
2025-07-15 11:40:14 -04:00
Dave Horton
2a42ccb0e1
fix for #1285 ( #1286 )
...
* fix for #1285
* typo
2025-07-15 11:38:48 -04:00
Dave Horton
62b6a814b7
fixes for LCC dial where a relative url is given as actionhook ( #1282 )
...
* fixes for LCC dial where a relative url is given as actionhook
* update to speech-utils 0.2.15 with configurable tmp folder location
2025-07-13 11:08:15 -04:00
Dave Horton and Quan HL
e415420150
Fix/cached audio race ( #1279 )
...
* fix for race condition when play-stop event from earlier command received
* wip
* say verb should not cache if disableTtsCache = true
* logging
* modify race condition logic to validate playback id in playback-stopped matches that from playback-start
* logging
---------
Co-authored-by: Quan HL <quan.luuhoang8@gmail.com >
2025-07-13 10:56:41 -04:00
Dave Horton
657e2d4a49
update speech-utils ( #1275 )
2025-07-09 16:10:08 -04:00
Dave Horton
444abcb036
(fd 1056) if no payload returned from referHook in dial then dont do anything ( #1271 )
2025-07-07 12:50:46 -04:00
Dave Horton
7691af30de
Fix/dial refer ( #1264 )
...
* Revert "Update dial.js (#1243 )"
This reverts commit 259dedcded .
* add to .gitignore
* when we receive a REFER on the parent leg, after adulting the child the dial task in the parent session should end
2025-06-28 15:01:09 -04:00
Dave Horton
f98bf2a1f8
update to drachtio-fsmrf@4.0.4 ( #1255 )
2025-06-22 15:18:30 +02:00
Dave Horton
b70fea69cc
Fix/dial unhandled rejection ( #1239 )
...
* fix bug with race condition in dial which could spike cpu due to unhandled exception
* update to 0.2.12 speech-utils with azure ssml fix
* minor
2025-06-11 11:40:51 +02:00
Dave Horton
25f58d2e43
fixes #1230 ( #1231 )
2025-06-04 13:42:49 -04:00
Dave Horton
8e9ab83ca4
Fix/env vars rest dial ( #1225 )
...
* rest dial needs to support env vars
* wip
2025-05-30 10:14:44 -04:00
Dave Horton
f20d3dba2f
bump speech-utils
2025-05-28 13:13:16 -04:00
Dave Horton
b734952855
proper handling of case when amd fails because no speech credentials ( #1220 )
2025-05-28 13:01:08 -04:00
Dave Horton
760394aa5e
Revert "fix: member mute on conference ( #1048 )" ( #1216 )
...
This reverts commit 761b7f26e7 .
2025-05-28 07:21:24 -04:00
Dave Horton
603dd482bc
add a bit more info logging to gather ( #1211 )
2025-05-26 09:34:21 -04:00
Dave Horton
f670626cf7
google gemini set default model to models/gemini-2.0-flash-live-001
2025-05-22 08:12:58 -04:00
Dave Horton
76df58bfc2
fix logging in start task msg ( #1202 )
...
* fix logging in start task msg
* generate uuids using native crypto lib
2025-05-16 16:54:25 -04:00
Dave Horton
c1cb57c3f6
update version
2025-05-14 15:38:15 -04:00
Dave Horton
610c9af274
update db-helpers
2025-05-13 10:32:30 -04:00
Dave Horton
c0a35af591
update to 0.2.10 speech-utils ( #1199 )
2025-05-13 10:11:26 -04:00
Dave Horton
ca0bf36815
dont apply snake casing to either env vars or tool call args ( #1194 ) ( #1197 )
2025-05-12 12:56:58 -04:00
Dave Horton
305facb03b
Fix/11labs no client config ( #1149 )
...
* update to verb specs
* add parameter to api call when there is not client config provided
2025-04-12 10:36:35 -04:00
Dave Horton
d310ba0ed1
reduce verbosity of logging ( #1145 )
2025-04-09 15:36:58 -04:00
Dave Horton
fcaf2e59e7
initial changes for openai stt ( #1127 )
...
* initial changes for openai stt
* wip
* wip
* wip
* wip
* wip
* make minBargeinWordCount work for openai
* wip
* wip
* wip
* wip
* wip
* wip
* wip
* wipp
* wip
* wip
* wip
* openai stt: support for prompt templates
* lint
* wip
* support openai semantic_vad
* wip
* transcribe supports openai stt
* sip
* wip
* wip
* refactor list of stt vendors that dont need to be restarted after a final transcript
* cleanup
* wip
* cleanup
* wip
* wip
* wip
* remove credentials from log
* comment
2025-03-28 13:14:58 -04:00
Dave Horton
1873694784
update to dractio-fsmrf@4.0.2
2025-03-17 08:50:10 -04:00
Dave Horton
29de4b8878
fix crashing error with some media timeout scenarios ( #1108 )
2025-03-05 09:48:40 -05:00
Dave Horton
bf4ae5b618
#1101 - allow listen url to have relative url and use base url of app… ( #1102 )
...
* #1101 - allow listen url to have relative url and use base url of application if ws
* remove logging
2025-02-28 14:19:45 -05:00
Dave Horton
8ede41714b
fix typo: change AWS_SNS_TOPIC_ARM to AWS_SNS_TOPIC_ARN ( #1093 )
2025-02-24 10:51:07 -05:00
Dave Horton
ee54e4341a
update drachtio-srf
2025-02-20 10:17:53 -05:00
Dave Horton
e09c763d3a
#1088 ignore UtteranceEnd if we have unprocessed words ( #1089 )
...
* #1088 ignore UtteranceEnd if we have unprocessed words
* wip
2025-02-18 16:30:59 -05:00
Dave Horton
e8a7366526
handle exceptions if we invoke _lccCallHook with new url and it rejects for some reason ( #1087 )
2025-02-18 13:03:34 -05:00
Dave Horton
122d267816
better handling of flush commands ( #1081 )
...
* better handling of flush commands
* rework buffering of tokens
* gather: when returning low confidence also provide the transcript
* better error handling in tts:tokens
* special handling of asr timeout for speechmatics
* remove some logs that were excessively wordy
2025-02-18 09:31:11 -05:00
Dave Horton
55b408eecb
add support for deepgram keyterms ( #1071 )
2025-02-07 13:12:25 -05:00
Dave Horton
a194ba833e
Feat/1041 ( #1045 )
...
* initial changes for stream synonym to listen
* listen on B endpoint if nested listen in dial has channel === 2
2025-01-17 08:48:39 -05:00
Dave Horton
f71f0ac69a
Fix/speechmatics ( #1042 )
...
* add speechmatics options
* wip
* speechmatics does not do endpointing for us so we need to flip on continuousAsr
* speechmatics: continousAsr should be at least equal to max_delay, if set
2025-01-15 19:12:15 -05:00
Dave Horton
edb7e21ff9
update deps
2025-01-14 10:45:38 -05:00
Dave Horton
cafd9530a2
update drachtio-srf and fsmrf to main branch releases ( #1038 )
2025-01-14 10:01:33 -05:00
Dave Horton
6bad1a22f3
fix #1025 ( #1026 )
...
* fix #1025
* redirect verb should be able to redirect to a new websocket endpoint
2025-01-09 15:45:20 -05:00
Dave Horton
a59784b8ab
update base image to node:20-alpine ( #1022 )
2025-01-04 16:38:25 -05:00
Dave Horton
a2581eaeb4
tts throttling and send user_interruption event ( #1019 )
...
* tts throttling and send user_interruption event
* tts streaming: if we get a flush with tokens pending, send the flush after the tokens
* wip
2025-01-04 16:34:01 -05:00
Dave Horton
3706aa4d98
#1020 - fix for sticky bargein ( #1021 )
2025-01-03 10:41:35 -05:00
Dave Horton
25f1e65f63
feed TTS in sentence chunks when streaming ( #1013 )
...
* feed TTS in sentence chunks when streaming
* tts streaming: treat a paragraph as a chunk of text, even it not ending with a line end character
* wip
2024-12-31 15:16:25 -05:00
Dave Horton
02f25f8343
fix cartesia channel vars for streaming ( #1012 )
2024-12-20 16:48:20 -05:00
Dave Horton
d05e470867
remove hardcoding of openai model
2024-12-19 18:42:57 -05:00
Dave Horton and Hoan Luu Huu
ba3f46df64
Feat/tts streaming ( #994 )
...
* wip
* add TtsStreamingBuffer class to abstract handling of streaming tokens
* wip
* add throttling support
* support background ttsStream (#995 )
* wip
* add TtsStreamingBuffer class to abstract handling of streaming tokens
* wip
* support background ttsStream
* wip
---------
Co-authored-by: Dave Horton <daveh@beachdognet.com >
* wip
* dont send if we have nothing to send
* initial testing with cartesia
* wip
---------
Co-authored-by: Hoan Luu Huu <110280845+xquanluu@users.noreply.github.com >
2024-12-18 14:44:37 -05:00
Dave Horton
5e04db82bf
Feat/deepgram voice agent ( #1006 )
...
* wip
* wip
* wip
2024-12-13 10:05:23 -05:00
Dave Horton
0aa37a83ae
Feat/handle 3pcc invite ( #1005 )
...
* wip
* wip
* linting
2024-12-12 18:39:15 -05:00
Dave Horton
3bb4f1a29f
fix #998 incorrectly sending final transcript with is_final=false ( #999 )
2024-12-10 18:48:02 -05:00
Dave Horton
24a66fed64
wip ( #979 )
2024-11-19 09:37:00 -05:00
Dave Horton
c1330d4651
fix transcribe fixes for speechmatics ( #978 )
...
* fix transcribe fixes for speechmatics
* update to verb-specs with fixes for speechmatics
* add support for speechmatics translation
* add handlers for receiving translations
* call translation hookd
* gather: no need to restart speechmatics after a final transcript during continuous asr
* graceful shutdown
* wip
* wip
* wip
* wip
* wip
2024-11-16 10:21:04 -05:00
Dave Horton
7615509e0b
update test to use drachtio/drachtio-freeswitch-mrf:0.9.2-4 with aws_transcribe_ws fix ( #964 )
2024-11-08 09:52:26 -05:00
Dave Horton
851c071345
fix for #962 ( #963 )
2024-11-08 07:12:08 -05:00
Dave Horton
1efb198f72
Dial: fix error when receiving a REFER without a Referred-By header ( #954 )
2024-10-30 13:01:36 -04:00
Dave Horton
8e4995ec02
fix bug where middleware produces a cached app.tasks with an empty array ( #947 )
2024-10-24 20:43:27 -04:00
Dave Horton
a005253a9f
update to latest speech-utils
2024-10-18 12:27:29 -04:00
Dave Horton
c79a6aaf8a
Feat/llm update ( #936 )
...
* add support for llm:update during LLM session
* make sure to end openai session when Llm task is killed
* wip
* wip
* wip
* wip
* wip
* wip
* wip
2024-10-16 09:27:51 -04:00
Dave Horton
f541ff1a15
add support for aws language model name when transcribing ( #890 )
...
* add support for aws language model name when transcribing
* wip - from prev branch
* wip
* support both aws grpc and ws api - detect based on transcription payload
* update to drachtio-fsmrf@4.0.0
* fix for grpc compatibility, requires JAMBONES_AWS_TRANSCRIBE_USE_GRPC env
* back out major update to drachtio-srf and fsmrf; that should come in a separate PR
* update drachtio-srf
2024-10-12 19:46:31 -04:00
Dave Horton
98b968d61f
update test db ( #933 )
2024-10-12 19:34:40 -04:00
Dave Horton
f09722a5b5
Feat/llm verb ( #931 )
...
* wip
* working version for openai realtime beta
* lint
* tests: update db to latest 0.9.2 schema
2024-10-12 19:26:27 -04:00
Dave Horton
f84b3793e1
Feat/speechmatics ( #932 )
...
* wip
* initial working version of speechmatics
* linting
2024-10-12 18:42:53 -04:00
Dave Horton
84b7456c2d
add support for speechmatics asr ( #920 )
...
* update to verb specs with speechmatics support
* discover local ip using os module
2024-10-11 09:24:36 -04:00
Dave Horton
7c24208067
fix #916 : race condition where call just ended when action hook play completes ( #917 )
2024-09-25 20:17:22 -04:00
Dave Horton
7f7c26e982
fix for https://github.com/jambonz/freeswitch-modules/issues/117 ( #912 )
2024-09-25 20:13:56 -04:00
Dave Horton
c4a6057fc6
bump version
2024-09-04 13:31:05 +01:00
Dave Horton
c0ab936b76
wip ( #830 )
...
* wip
* wip
* wip
* wip
* update deps
* update test to use latest freeswitch image
2024-08-29 15:23:49 -04:00
Dave Horton
600ff763fa
fix #840 ( #880 )
2024-08-26 10:14:59 -04:00