@fonoster/voice 0.4.14 → 0.4.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/answer/answer.js +5 -4
- package/dist/dial/dial.js +4 -3
- package/dist/dtmf/dtmf.js +4 -3
- package/dist/gather/gather.js +4 -3
- package/dist/hangup/hangup.js +4 -3
- package/dist/playback/playback.js +4 -6
- package/dist/server.js +6 -5
- package/dist/sgather/gather.js +4 -3
- package/dist/verb.js +4 -3
- package/package.json +4 -4
package/dist/answer/answer.js
CHANGED
|
@@ -21,13 +21,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
* See the License for the specific language governing permissions and
|
|
22
22
|
* limitations under the License.
|
|
23
23
|
*/
|
|
24
|
-
const pubsub_js_1 = __importDefault(require("pubsub-js"));
|
|
25
|
-
const logger_1 = __importDefault(require("@fonoster/logger"));
|
|
26
|
-
const utils_1 = require("../utils");
|
|
27
24
|
const verb_1 = require("../verb");
|
|
25
|
+
const logger_1 = require("@fonoster/logger");
|
|
26
|
+
const utils_1 = require("../utils");
|
|
27
|
+
const pubsub_js_1 = __importDefault(require("pubsub-js"));
|
|
28
|
+
const logger = (0, logger_1.getLogger)({ service: "voice", filePath: __filename });
|
|
28
29
|
class AnswerVerb extends verb_1.Verb {
|
|
29
30
|
async run() {
|
|
30
|
-
|
|
31
|
+
logger.verbose(`sending answer request [sessionId = ${this.request.sessionId}]`);
|
|
31
32
|
return new Promise(async (resolve, reject) => {
|
|
32
33
|
let token;
|
|
33
34
|
try {
|
package/dist/dial/dial.js
CHANGED
|
@@ -21,15 +21,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
* See the License for the specific language governing permissions and
|
|
22
22
|
* limitations under the License.
|
|
23
23
|
*/
|
|
24
|
-
const
|
|
25
|
-
const logger_1 = __importDefault(require("@fonoster/logger"));
|
|
24
|
+
const logger_1 = require("@fonoster/logger");
|
|
26
25
|
const utils_1 = require("../utils");
|
|
27
26
|
const verb_1 = require("../verb");
|
|
27
|
+
const pubsub_js_1 = __importDefault(require("pubsub-js"));
|
|
28
28
|
const status_stream_1 = __importDefault(require("./status_stream"));
|
|
29
|
+
const logger = (0, logger_1.getLogger)({ service: "voice", filePath: __filename });
|
|
29
30
|
class DialVerb extends verb_1.Verb {
|
|
30
31
|
async run(destination, options = {}) {
|
|
31
32
|
const streamStatus = new status_stream_1.default();
|
|
32
|
-
|
|
33
|
+
logger.verbose(`@fonoster/voice dialing [sessionId = ${this.request.sessionId}, number = ${this.request.number}]`);
|
|
33
34
|
// We should reject if DialFailed
|
|
34
35
|
return new Promise(async (resolve, reject) => {
|
|
35
36
|
let dialFailedToken;
|
package/dist/dtmf/dtmf.js
CHANGED
|
@@ -21,14 +21,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
* See the License for the specific language governing permissions and
|
|
22
22
|
* limitations under the License.
|
|
23
23
|
*/
|
|
24
|
-
const logger_1 = __importDefault(require("@fonoster/logger"));
|
|
25
|
-
const pubsub_js_1 = __importDefault(require("pubsub-js"));
|
|
26
24
|
const utils_1 = require("../utils");
|
|
27
25
|
const verb_1 = require("../verb");
|
|
28
26
|
const asserts_1 = require("./asserts");
|
|
27
|
+
const logger_1 = require("@fonoster/logger");
|
|
28
|
+
const pubsub_js_1 = __importDefault(require("pubsub-js"));
|
|
29
|
+
const logger = (0, logger_1.getLogger)({ service: "voice", filePath: __filename });
|
|
29
30
|
class DtmfVerb extends verb_1.Verb {
|
|
30
31
|
async run(opts) {
|
|
31
|
-
|
|
32
|
+
logger.verbose(`@fonoster/voice sending dtmf request [sessionId = ${this.request.sessionId}, opts = ${JSON.stringify(opts)}]`);
|
|
32
33
|
(0, asserts_1.assertsHasDtmf)(opts);
|
|
33
34
|
return new Promise(async (resolve, reject) => {
|
|
34
35
|
let token;
|
package/dist/gather/gather.js
CHANGED
|
@@ -3,16 +3,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
7
6
|
const asserts_1 = require("../asserts");
|
|
8
7
|
const verb_1 = require("../verb");
|
|
8
|
+
const logger_1 = require("@fonoster/logger");
|
|
9
|
+
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
9
10
|
const source_dtmf_1 = __importDefault(require("./source_dtmf"));
|
|
10
11
|
const source_speech_1 = __importDefault(require("./source_speech"));
|
|
11
|
-
const logger_1 = __importDefault(require("@fonoster/logger"));
|
|
12
12
|
const defaultOptions = {
|
|
13
13
|
finishOnKey: "#",
|
|
14
14
|
source: "dtmf"
|
|
15
15
|
};
|
|
16
|
+
const logger = (0, logger_1.getLogger)({ service: "voice", filePath: __filename });
|
|
16
17
|
class GatherVerb extends verb_1.Verb {
|
|
17
18
|
speechProvider;
|
|
18
19
|
constructor(request, speechProvider) {
|
|
@@ -30,7 +31,7 @@ class GatherVerb extends verb_1.Verb {
|
|
|
30
31
|
? 10000
|
|
31
32
|
: options.timeout || 4000;
|
|
32
33
|
return new Promise(async (resolve, reject) => {
|
|
33
|
-
|
|
34
|
+
logger.verbose(`@fonoster/voice started gather [source = ${options.source}]`);
|
|
34
35
|
if (options.source.includes("dtmf")) {
|
|
35
36
|
(0, source_dtmf_1.default)(this.request.sessionId, options)
|
|
36
37
|
.then(resolve)
|
package/dist/hangup/hangup.js
CHANGED
|
@@ -21,13 +21,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
* See the License for the specific language governing permissions and
|
|
22
22
|
* limitations under the License.
|
|
23
23
|
*/
|
|
24
|
-
const
|
|
25
|
-
const logger_1 = __importDefault(require("@fonoster/logger"));
|
|
24
|
+
const logger_1 = require("@fonoster/logger");
|
|
26
25
|
const utils_1 = require("../utils");
|
|
27
26
|
const verb_1 = require("../verb");
|
|
27
|
+
const pubsub_js_1 = __importDefault(require("pubsub-js"));
|
|
28
|
+
const logger = (0, logger_1.getLogger)({ service: "voice", filePath: __filename });
|
|
28
29
|
class HangupVerb extends verb_1.Verb {
|
|
29
30
|
async run() {
|
|
30
|
-
|
|
31
|
+
logger.verbose(`@fonoster/voice sending hangup request [sessionId = ${this.request.sessionId}]`);
|
|
31
32
|
return new Promise(async (resolve, reject) => {
|
|
32
33
|
let token;
|
|
33
34
|
try {
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.PlaybackControl = void 0;
|
|
7
4
|
/*
|
|
@@ -23,7 +20,8 @@ exports.PlaybackControl = void 0;
|
|
|
23
20
|
* limitations under the License.
|
|
24
21
|
*/
|
|
25
22
|
const verb_1 = require("../verb");
|
|
26
|
-
const logger_1 =
|
|
23
|
+
const logger_1 = require("@fonoster/logger");
|
|
24
|
+
const logger = (0, logger_1.getLogger)({ service: "voice", filePath: __filename });
|
|
27
25
|
class PlaybackControl extends verb_1.Verb {
|
|
28
26
|
playbackId;
|
|
29
27
|
constructor(request, playbackId) {
|
|
@@ -31,7 +29,7 @@ class PlaybackControl extends verb_1.Verb {
|
|
|
31
29
|
this.playbackId = playbackId;
|
|
32
30
|
}
|
|
33
31
|
async operation(name) {
|
|
34
|
-
|
|
32
|
+
logger.verbose(`@fonoster/voice playback control [operation = ${name}, playbackId = ${this.playbackId}]`);
|
|
35
33
|
try {
|
|
36
34
|
switch (name) {
|
|
37
35
|
case "stop":
|
|
@@ -43,7 +41,7 @@ class PlaybackControl extends verb_1.Verb {
|
|
|
43
41
|
}
|
|
44
42
|
catch (e) {
|
|
45
43
|
if (!e.response || e.response.status !== 404) {
|
|
46
|
-
|
|
44
|
+
logger.error(e);
|
|
47
45
|
}
|
|
48
46
|
}
|
|
49
47
|
}
|
package/dist/server.js
CHANGED
|
@@ -5,15 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const path_1 = require("path");
|
|
7
7
|
const utils_1 = require("./utils");
|
|
8
|
+
const logger_1 = require("@fonoster/logger");
|
|
8
9
|
const voice_1 = __importDefault(require("./voice"));
|
|
9
|
-
const logger_1 = __importDefault(require("@fonoster/logger"));
|
|
10
10
|
const express_1 = __importDefault(require("express"));
|
|
11
|
-
const os_1 = __importDefault(require("os"));
|
|
12
11
|
const pubsub_js_1 = __importDefault(require("pubsub-js"));
|
|
12
|
+
const os_1 = __importDefault(require("os"));
|
|
13
13
|
const merge = require("deepmerge");
|
|
14
14
|
const app = (0, express_1.default)();
|
|
15
15
|
app.use(express_1.default.json());
|
|
16
16
|
require("express-ws")(app);
|
|
17
|
+
const logger = (0, logger_1.getLogger)({ service: "voice", filePath: __filename });
|
|
17
18
|
const defaultServerConfig = {
|
|
18
19
|
base: "/",
|
|
19
20
|
port: 3000,
|
|
@@ -50,11 +51,11 @@ class VoiceServer {
|
|
|
50
51
|
handler(req.body, response);
|
|
51
52
|
res.end();
|
|
52
53
|
});
|
|
53
|
-
|
|
54
|
+
logger.info(`starting voice server @ ${this.config.bind}, port=${this.config.port}, path=${this.config.base}`);
|
|
54
55
|
app.listen(port, this.config.bind);
|
|
55
56
|
}
|
|
56
57
|
init() {
|
|
57
|
-
|
|
58
|
+
logger.info("initializing voice server");
|
|
58
59
|
app.ws(this.config.base, (ws) => {
|
|
59
60
|
ws.on("message", (msg) => {
|
|
60
61
|
if (Buffer.isBuffer(msg)) {
|
|
@@ -77,7 +78,7 @@ class VoiceServer {
|
|
|
77
78
|
else {
|
|
78
79
|
pubsub_js_1.default.publish(`${event.type}.${event.sessionId}`, event);
|
|
79
80
|
}
|
|
80
|
-
|
|
81
|
+
logger.verbose(`@fonoster/voice received event [${JSON.stringify(event, null, " ")}]`);
|
|
81
82
|
}
|
|
82
83
|
}).on("error", console.error);
|
|
83
84
|
});
|
package/dist/sgather/gather.js
CHANGED
|
@@ -4,11 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const verb_1 = require("../verb");
|
|
7
|
+
const logger_1 = require("@fonoster/logger");
|
|
7
8
|
const pubsub_js_1 = __importDefault(require("pubsub-js"));
|
|
8
|
-
const logger_1 = __importDefault(require("@fonoster/logger"));
|
|
9
|
-
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
10
9
|
const stream_data_1 = __importDefault(require("./stream_data"));
|
|
11
10
|
const source_speech_1 = __importDefault(require("./source_speech"));
|
|
11
|
+
const deepmerge_1 = __importDefault(require("deepmerge"));
|
|
12
|
+
const logger = (0, logger_1.getLogger)({ service: "voice", filePath: __filename });
|
|
12
13
|
const defaultOptions = {
|
|
13
14
|
source: "speech,dtmf"
|
|
14
15
|
};
|
|
@@ -22,7 +23,7 @@ class SGatherVerb extends verb_1.Verb {
|
|
|
22
23
|
async run(opts) {
|
|
23
24
|
const options = (0, deepmerge_1.default)(defaultOptions, opts);
|
|
24
25
|
const streamData = new stream_data_1.default();
|
|
25
|
-
|
|
26
|
+
logger.verbose(`@fonoster/voice started sgather [source = ${options.source}]`);
|
|
26
27
|
if (options.source.includes("dtmf")) {
|
|
27
28
|
const token = pubsub_js_1.default.subscribe(`DtmfReceived.${this.request.sessionId}`, (type, data) => {
|
|
28
29
|
const key = data.data;
|
package/dist/verb.js
CHANGED
|
@@ -4,8 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Verb = void 0;
|
|
7
|
+
const logger_1 = require("@fonoster/logger");
|
|
7
8
|
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const
|
|
9
|
+
const logger = (0, logger_1.getLogger)({ service: "voice", filePath: __filename });
|
|
9
10
|
class Verb {
|
|
10
11
|
request;
|
|
11
12
|
constructor(request) {
|
|
@@ -19,7 +20,7 @@ class Verb {
|
|
|
19
20
|
}
|
|
20
21
|
async post(apiPath, queryParameters, data) {
|
|
21
22
|
const url = `${this.getRequest().dialbackEnpoint}/ari/${apiPath}?${queryParameters}`;
|
|
22
|
-
|
|
23
|
+
logger.silly(`@fonoster/voice posting [url: ${url}]`);
|
|
23
24
|
return await (0, axios_1.default)({
|
|
24
25
|
method: "post",
|
|
25
26
|
url,
|
|
@@ -32,7 +33,7 @@ class Verb {
|
|
|
32
33
|
}
|
|
33
34
|
async delete(apiPath, queryParameters) {
|
|
34
35
|
const url = `${this.getRequest().dialbackEnpoint}/ari/${apiPath}?${queryParameters}`;
|
|
35
|
-
|
|
36
|
+
logger.silly(`@fonoster/voice deleting [url: ${url}]`);
|
|
36
37
|
return await (0, axios_1.default)({
|
|
37
38
|
method: "delete",
|
|
38
39
|
url,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fonoster/voice",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.17",
|
|
4
4
|
"description": "Voice verbs",
|
|
5
5
|
"author": "Pedro Sanders <psanders@fonoster.com>",
|
|
6
6
|
"homepage": "https://github.com/fonoster/fonoster#readme",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"url": "https://github.com/fonoster/fonoster/issues"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@fonoster/common": "^0.4.
|
|
33
|
-
"@fonoster/logger": "^0.4.
|
|
32
|
+
"@fonoster/common": "^0.4.17",
|
|
33
|
+
"@fonoster/logger": "^0.4.17",
|
|
34
34
|
"axios": "^1.6.2",
|
|
35
35
|
"bson-objectid": "^2.0.2",
|
|
36
36
|
"deepmerge": "^4.2.2",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"express-ws": "^4.0.0",
|
|
39
39
|
"pubsub-js": "^1.9.3"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "c068bf3c1bf348e8637dc316e23c73ef898b1451",
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/express": "^4.17.13",
|
|
44
44
|
"@types/pubsub-js": "^1.8.2"
|