Compare commits

...

26 Commits

Author SHA1 Message Date
Dave Horton
82c6952f70 0.0.98 2025-03-06 11:51:34 -05:00
Sam Machin
fc95fa3d02 add digitCount to amd (#88) 2025-03-06 11:51:01 -05:00
Dave Horton
6b3ee83d08 0.0.97 2025-02-15 09:22:43 -05:00
Hoan Luu Huu
3700ba6607 deepgram options noDelay (#86) 2025-02-15 09:10:11 -05:00
Dave Horton
09a76f44cb 0.0.96 2025-02-07 12:53:24 -05:00
Dave Horton
aa445c1edb add deepgramOptions.keyterms (#85) 2025-02-07 12:52:29 -05:00
rammohan-y
57887a660c https://github.com/jambonz/jambonz-feature-server/issues/1057 (#83)
added speechRecognitionMode in azureOptions as enum
2025-01-24 07:21:51 -05:00
Dave Horton
e9dace6495 0.0.94 2025-01-16 10:57:11 -05:00
Dave Horton
762a9639bd add channel to listen opts (#82) 2025-01-16 10:56:40 -05:00
Dave Horton
2740eb9848 wip (#81) 2025-01-16 10:53:30 -05:00
Dave Horton
1a525e7a3e 0.0.93 2025-01-15 10:36:15 -05:00
Dave Horton
f16b49cc23 add domain for speechmatics (#80) 2025-01-15 10:36:04 -05:00
Dave Horton
1cc7dae926 0.0.92 2025-01-13 10:55:23 -05:00
Sam Machin
8c50bf8764 add deepgram fillerWords (#79) 2025-01-13 10:54:54 -05:00
Dave Horton
e2bffbe0a8 0.0.91 2024-12-30 14:25:41 -05:00
Sam Machin
4b79b1408b add timeLimit to REST:Dial & test (#78)
also added timeLimit to the dial verb test
2024-12-30 14:23:32 -05:00
Dave Horton
900d517b8a 0.0.90 2024-12-11 10:32:44 -05:00
Hoan Luu Huu
104ca00a3d support refer display name (#76) 2024-12-11 10:27:55 -05:00
Dave Horton
7b3dd92c18 0.0.89 2024-12-05 16:16:55 -05:00
Dave Horton
43a2805ea8 add support for config.ttsStream (#75) 2024-12-05 16:16:35 -05:00
Dave Horton
f9e6755d8d 0.0.88 2024-11-26 14:42:44 -05:00
Dave Horton
264640bbc7 add say.closeStreamOnEmpty 2024-11-26 14:42:36 -05:00
Dave Horton
71d31952d6 0.0.87 2024-11-26 13:53:21 -05:00
Dave Horton
6a80506a81 add support for say verb streaming tts (#74) 2024-11-26 13:52:58 -05:00
Dave Horton
85b1c3a2f9 0.0.86 2024-11-16 14:01:10 -05:00
Dave Horton
f59137ebad add dial.exitMediaPath to indicate we want to be only in the signaling path for this bridged call; media is completely released from all jambonz components (#73) 2024-11-16 14:00:45 -05:00
4 changed files with 1948 additions and 733 deletions

2596
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "@jambonz/verb-specifications",
"version": "0.0.85",
"version": "0.0.98",
"description": "Jambonz Verb Specification Utilities",
"main": "index.js",
"scripts": {
@@ -20,7 +20,7 @@
"devDependencies": {
"eslint": "^7.32.0",
"eslint-plugin-promise": "^4.3.1",
"tape": "^5.6.1"
"tape": "^5.7.5"
},
"dependencies": {
"debug": "^4.3.4",

View File

@@ -34,6 +34,7 @@
"id": "string",
"referTo": "string",
"referredBy": "string",
"referredByDisplayName": "string",
"headers": "object",
"actionHook": "object|string",
"eventHook": "object|string"
@@ -48,8 +49,10 @@
"synthesizer": "#synthesizer",
"recognizer": "#recognizer",
"bargeIn": "#bargeIn",
"ttsStream": "#ttsStream",
"record": "#recordOptions",
"listen": "#listenOptions",
"stream": "#listenOptions",
"transcribe": "#transcribeOptions",
"amd": "#amd",
"fillerNoise": "#fillerNoise",
@@ -60,7 +63,8 @@
"sipRequestWithinDialogHook": "object|string",
"boostAudioSignal": "number|string",
"vad":"#vad",
"referHook": "object|string"
"referHook": "object|string",
"earlyMedia": "boolean"
},
"required": []
},
@@ -96,6 +100,15 @@
"enable"
]
},
"ttsStream": {
"properties": {
"enable": "boolean",
"synthesizer": "#synthesizer"
},
"required": [
"enable"
]
},
"bargeIn": {
"properties": {
"enable": "boolean",
@@ -200,13 +213,14 @@
"properties": {
"id": "string",
"text": "string|array",
"stream": "boolean",
"loop": "number|string",
"synthesizer": "#synthesizer",
"earlyMedia": "boolean",
"disableTtsCache": "boolean"
"disableTtsCache": "boolean",
"closeStreamOnEmpty": "boolean"
},
"required": [
"text"
]
},
"gather": {
@@ -273,8 +287,10 @@
"dtmfHook": "object|string",
"headers": "object",
"anchorMedia": "boolean",
"exitMediaPath": "boolean",
"boostAudioSignal": "number|string",
"listen": "#listen",
"stream": "#listen",
"target": ["#target"],
"timeLimit": "number",
"timeout": "number",
@@ -366,6 +382,34 @@
]
},
"listen": {
"properties": {
"id": "string",
"actionHook": "object|string",
"auth": "#auth",
"finishOnKey": "string",
"maxLength": "number",
"metadata": "object",
"mixType": {
"type": "string",
"enum": ["mono", "stereo", "mixed"]
},
"passDtmf": "boolean",
"playBeep": "boolean",
"disableBidirectionalAudio": "boolean",
"bidirectionalAudio": "#bidirectionalAudio",
"sampleRate": "number",
"timeout": "number",
"transcribe": "#transcribe",
"url": "string",
"wsAuth": "#auth",
"earlyMedia": "boolean",
"channel": "number"
},
"required": [
"url"
]
},
"stream": {
"properties": {
"id": "string",
"actionHook": "object|string",
@@ -505,7 +549,8 @@
"amd": "#amd",
"dual_streams": "boolean",
"sipRequestWithinDialogHook": "string",
"referHook": "object|string"
"referHook": "object|string",
"timeLimit": "number"
},
"required": [
"call_hook",
@@ -737,6 +782,14 @@
"AtStart",
"Continuous"
]
},
"speechRecognitionMode": {
"type": "string",
"enum": [
"CONVERSATION",
"DICTATION",
"INTERACTIVE"
]
}
},
"required": [
@@ -811,6 +864,7 @@
"version": "string",
"punctuate": "boolean",
"smartFormatting": "boolean",
"noDelay": "boolean",
"profanityFilter": "boolean",
"redact": {
"type": "string",
@@ -830,11 +884,13 @@
"search": "array",
"replace": "array",
"keywords": "array",
"keyterms": "array",
"endpointing": "boolean | number",
"utteranceEndMs": "number",
"shortUtterance": "boolean",
"vadTurnoff": "number",
"tag": "string"
"tag": "string",
"fillerWords" : "boolean"
}
},
"sonioxOptions": {
@@ -877,6 +933,7 @@
"sm_transcriptionConfig": {
"properties": {
"language": "string",
"domain": "string",
"additional_vocab": "array",
"diarization": "string",
"speaker_diarization_config": "#sm_speakerDiarizationConfig",
@@ -1104,6 +1161,7 @@
"properties": {
"actionHook": "object|string",
"thresholdWordCount": "number",
"digitCount": "number",
"timers": "#amdTimers",
"recognizer": "#recognizer"
},

View File

@@ -139,6 +139,7 @@ test("validate correct verbs", async (t) => {
"callerName": "Tom",
"answerOnBridge": true,
"dtmfCapture": ["*2", "*3"],
"timeLimit": 10,
"dtmfHook": {
"url": "/dtmf",
"method": "GET"
@@ -204,7 +205,8 @@ test("validate correct verbs", async (t) => {
"hintsBoost": 10,
"fastRecognitionTimeout": 2000,
"deepgramOptions": {
"endpointing": 500
"endpointing": 500,
"noDelay": true,
}
},
"say": {
@@ -440,6 +442,12 @@ test("validate correct verbs", async (t) => {
"referTo": "+15083084809",
"actionHook": "/action"
},
{
"verb": "sip:refer",
"referTo": "+15083084809",
"referredByDisplayName": "Alice",
"actionHook": "/action"
},
{
"verb": "tag",
"data": {
@@ -512,7 +520,8 @@ test("validate correct verbs", async (t) => {
"actionHook": "/answeringMachineDetection",
},
"dual_streams": true
"dual_streams": true,
"timeLimit" : 10
}
];
try {