mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-19 04:17:44 +00:00
fix logging in start task msg (#1202)
* fix logging in start task msg * generate uuids using native crypto lib
This commit is contained in:
@@ -3,7 +3,7 @@ const makeTask = require('../../tasks/make_task');
|
|||||||
const RestCallSession = require('../../session/rest-call-session');
|
const RestCallSession = require('../../session/rest-call-session');
|
||||||
const CallInfo = require('../../session/call-info');
|
const CallInfo = require('../../session/call-info');
|
||||||
const {CallDirection, CallStatus} = require('../../utils/constants');
|
const {CallDirection, CallStatus} = require('../../utils/constants');
|
||||||
const uuidv4 = require('uuid-random');
|
const crypto = require('crypto');
|
||||||
const SipError = require('drachtio-srf').SipError;
|
const SipError = require('drachtio-srf').SipError;
|
||||||
const { validationResult, body } = require('express-validator');
|
const { validationResult, body } = require('express-validator');
|
||||||
const { validate } = require('@jambonz/verb-specifications');
|
const { validate } = require('@jambonz/verb-specifications');
|
||||||
@@ -80,7 +80,7 @@ router.post('/',
|
|||||||
const {lookupTeamsByAccount, lookupAccountBySid} = srf.locals.dbHelpers;
|
const {lookupTeamsByAccount, lookupAccountBySid} = srf.locals.dbHelpers;
|
||||||
const account = await lookupAccountBySid(req.body.account_sid);
|
const account = await lookupAccountBySid(req.body.account_sid);
|
||||||
const accountInfo = await lookupAccountDetails(req.body.account_sid);
|
const accountInfo = await lookupAccountDetails(req.body.account_sid);
|
||||||
const callSid = uuidv4();
|
const callSid = crypto.randomUUID();
|
||||||
const application = req.body.application_sid ? await lookupAppBySid(req.body.application_sid) : null;
|
const application = req.body.application_sid ? await lookupAppBySid(req.body.application_sid) : null;
|
||||||
const record_all_calls = account.record_all_calls || (application && application.record_all_calls);
|
const record_all_calls = account.record_all_calls || (application && application.record_all_calls);
|
||||||
const recordOutputFormat = account.record_format || 'mp3';
|
const recordOutputFormat = account.record_format || 'mp3';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const uuidv4 = require('uuid-random');
|
const crypto = require('crypto');
|
||||||
const {CallDirection, AllowedSipRecVerbs, WS_CLOSE_CODES} = require('./utils/constants');
|
const {CallDirection, AllowedSipRecVerbs, WS_CLOSE_CODES} = require('./utils/constants');
|
||||||
const {parseSiprecPayload} = require('./utils/siprec-utils');
|
const {parseSiprecPayload} = require('./utils/siprec-utils');
|
||||||
const CallInfo = require('./session/call-info');
|
const CallInfo = require('./session/call-info');
|
||||||
@@ -46,7 +46,7 @@ module.exports = function(srf, logger) {
|
|||||||
logger.info('getAccountDetails - rejecting call due to missing X-Account-Sid header');
|
logger.info('getAccountDetails - rejecting call due to missing X-Account-Sid header');
|
||||||
return res.send(500);
|
return res.send(500);
|
||||||
}
|
}
|
||||||
const callSid = req.has('X-Retain-Call-Sid') ? req.get('X-Retain-Call-Sid') : uuidv4();
|
const callSid = req.has('X-Retain-Call-Sid') ? req.get('X-Retain-Call-Sid') : crypto.randomUUID();
|
||||||
const account_sid = req.get('X-Account-Sid');
|
const account_sid = req.get('X-Account-Sid');
|
||||||
req.locals = {callSid, account_sid, callId};
|
req.locals = {callSid, account_sid, callId};
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
const {CallDirection, CallStatus} = require('../utils/constants');
|
const {CallDirection, CallStatus} = require('../utils/constants');
|
||||||
const parseUri = require('drachtio-srf').parseUri;
|
const parseUri = require('drachtio-srf').parseUri;
|
||||||
const uuidv4 = require('uuid-random');
|
const crypto = require('crypto');
|
||||||
const {JAMBONES_API_BASE_URL} = require('../config');
|
const {JAMBONES_API_BASE_URL} = require('../config');
|
||||||
/**
|
/**
|
||||||
* @classdesc Represents the common information for all calls
|
* @classdesc Represents the common information for all calls
|
||||||
@@ -57,7 +57,7 @@ class CallInfo {
|
|||||||
// outbound call that is a child of an existing call
|
// outbound call that is a child of an existing call
|
||||||
const {req, parentCallInfo, to, callSid} = opts;
|
const {req, parentCallInfo, to, callSid} = opts;
|
||||||
srf = req.srf;
|
srf = req.srf;
|
||||||
this.callSid = callSid || uuidv4();
|
this.callSid = callSid || crypto.randomUUID();
|
||||||
this.parentCallSid = parentCallInfo.callSid;
|
this.parentCallSid = parentCallInfo.callSid;
|
||||||
this.accountSid = parentCallInfo.accountSid;
|
this.accountSid = parentCallInfo.accountSid;
|
||||||
this.applicationSid = parentCallInfo.applicationSid;
|
this.applicationSid = parentCallInfo.applicationSid;
|
||||||
|
|||||||
@@ -1187,7 +1187,8 @@ class CallSession extends Emitter {
|
|||||||
const task = this.tasks.shift();
|
const task = this.tasks.shift();
|
||||||
this.isCurTaskPlay = TaskName.Play === task.name;
|
this.isCurTaskPlay = TaskName.Play === task.name;
|
||||||
this.taskInProgress = task;
|
this.taskInProgress = task;
|
||||||
this.logger.info(`CallSession:exec starting task #${stackNum}:${taskNum}: ${task.name} : {task.taskId}`);
|
this.logger.info(
|
||||||
|
`CallSession:exec starting task #${stackNum}:${taskNum}: ${task.name} (task id: ${task.taskId})`);
|
||||||
this._notifyTaskStatus(task, {event: 'starting'});
|
this._notifyTaskStatus(task, {event: 'starting'});
|
||||||
// Register verbhook span wait for end
|
// Register verbhook span wait for end
|
||||||
task.on('VerbHookSpanWaitForEnd', ({span}) => {
|
task.on('VerbHookSpanWaitForEnd', ({span}) => {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
const Task = require('./task');
|
const Task = require('./task');
|
||||||
const {TaskName, TaskPreconditions} = require('../utils/constants');
|
const {TaskName, TaskPreconditions} = require('../utils/constants');
|
||||||
const bent = require('bent');
|
const bent = require('bent');
|
||||||
const uuidv4 = require('uuid-random');
|
const crypto = require('crypto');
|
||||||
const {K8S} = require('../config');
|
const {K8S} = require('../config');
|
||||||
class TaskMessage extends Task {
|
class TaskMessage extends Task {
|
||||||
constructor(logger, opts) {
|
constructor(logger, opts) {
|
||||||
@@ -9,7 +9,7 @@ class TaskMessage extends Task {
|
|||||||
this.preconditions = TaskPreconditions.None;
|
this.preconditions = TaskPreconditions.None;
|
||||||
|
|
||||||
this.payload = {
|
this.payload = {
|
||||||
message_sid: this.data.message_sid || uuidv4(),
|
message_sid: this.data.message_sid || crypto.randomUUID(),
|
||||||
carrier: this.data.carrier,
|
carrier: this.data.carrier,
|
||||||
to: this.data.to,
|
to: this.data.to,
|
||||||
from: this.data.from,
|
from: this.data.from,
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const Emitter = require('events');
|
const Emitter = require('events');
|
||||||
const uuidv4 = require('uuid-random');
|
const crypto = require('crypto');
|
||||||
const {TaskPreconditions} = require('../utils/constants');
|
const {TaskPreconditions} = require('../utils/constants');
|
||||||
const { normalizeJambones } = require('@jambonz/verb-specifications');
|
const { normalizeJambones } = require('@jambonz/verb-specifications');
|
||||||
const WsRequestor = require('../utils/ws-requestor');
|
const WsRequestor = require('../utils/ws-requestor');
|
||||||
@@ -19,7 +19,7 @@ class Task extends Emitter {
|
|||||||
this.data = data;
|
this.data = data;
|
||||||
this.actionHook = this.data.actionHook;
|
this.actionHook = this.data.actionHook;
|
||||||
this.id = data.id;
|
this.id = data.id;
|
||||||
this.taskId = uuidv4();
|
this.taskId = crypto.randomUUID();
|
||||||
|
|
||||||
this._killInProgress = false;
|
this._killInProgress = false;
|
||||||
this._completionPromise = new Promise((resolve) => this._completionResolver = resolve);
|
this._completionPromise = new Promise((resolve) => this._completionResolver = resolve);
|
||||||
@@ -273,7 +273,7 @@ class Task extends Emitter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async transferCallToFeatureServer(cs, sipAddress, opts) {
|
async transferCallToFeatureServer(cs, sipAddress, opts) {
|
||||||
const uuid = uuidv4();
|
const uuid = crypto.randomUUID();
|
||||||
const {addKey} = cs.srf.locals.dbHelpers;
|
const {addKey} = cs.srf.locals.dbHelpers;
|
||||||
const obj = Object.assign({}, cs.application);
|
const obj = Object.assign({}, cs.application);
|
||||||
delete obj.requestor;
|
delete obj.requestor;
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ const deepcopy = require('deepcopy');
|
|||||||
const moment = require('moment');
|
const moment = require('moment');
|
||||||
const stripCodecs = require('./strip-ancillary-codecs');
|
const stripCodecs = require('./strip-ancillary-codecs');
|
||||||
const RootSpan = require('./call-tracer');
|
const RootSpan = require('./call-tracer');
|
||||||
const uuidv4 = require('uuid-random');
|
const crypto = require('crypto');
|
||||||
const HttpRequestor = require('./http-requestor');
|
const HttpRequestor = require('./http-requestor');
|
||||||
const WsRequestor = require('./ws-requestor');
|
const WsRequestor = require('./ws-requestor');
|
||||||
const {makeOpusFirst, removeVideoSdp} = require('./sdp-utils');
|
const {makeOpusFirst, removeVideoSdp} = require('./sdp-utils');
|
||||||
@@ -47,7 +47,7 @@ class SingleDialer extends Emitter {
|
|||||||
|
|
||||||
this.callGone = false;
|
this.callGone = false;
|
||||||
|
|
||||||
this.callSid = uuidv4();
|
this.callSid = crypto.randomUUID();
|
||||||
this.dialTask = dialTask;
|
this.dialTask = dialTask;
|
||||||
this.onHoldMusic = onHoldMusic;
|
this.onHoldMusic = onHoldMusic;
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
const uuidv4 = require('uuid-random');
|
const crypto = require('crypto');
|
||||||
const {LifeCycleEvents, FS_UUID_SET_NAME} = require('./constants');
|
const {LifeCycleEvents, FS_UUID_SET_NAME} = require('./constants');
|
||||||
const Emitter = require('events');
|
const Emitter = require('events');
|
||||||
const debug = require('debug')('jambonz:feature-server');
|
const debug = require('debug')('jambonz:feature-server');
|
||||||
@@ -130,7 +130,7 @@ module.exports = (logger) => {
|
|||||||
logger.info('disabling OPTIONS pings since we are running as a kubernetes service');
|
logger.info('disabling OPTIONS pings since we are running as a kubernetes service');
|
||||||
const {srf} = require('../..');
|
const {srf} = require('../..');
|
||||||
const {addToSet} = srf.locals.dbHelpers;
|
const {addToSet} = srf.locals.dbHelpers;
|
||||||
const uuid = srf.locals.fsUUID = uuidv4();
|
const uuid = srf.locals.fsUUID = crypto.randomUUID();
|
||||||
|
|
||||||
/* in case redis is restarted, re-insert our key every so often */
|
/* in case redis is restarted, re-insert our key every so often */
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
const xmlParser = require('xml2js').parseString;
|
const xmlParser = require('xml2js').parseString;
|
||||||
const uuidv4 = require('uuid-random');
|
const crypto = require('crypto');
|
||||||
const parseUri = require('drachtio-srf').parseUri;
|
const parseUri = require('drachtio-srf').parseUri;
|
||||||
const transform = require('sdp-transform');
|
const transform = require('sdp-transform');
|
||||||
const debug = require('debug')('jambonz:feature-server');
|
const debug = require('debug')('jambonz:feature-server');
|
||||||
@@ -52,7 +52,7 @@ const parseSiprecPayload = (req, logger) => {
|
|||||||
const arr = /^([^]+)(m=[^]+?)(m=[^]+?)$/.exec(sdp);
|
const arr = /^([^]+)(m=[^]+?)(m=[^]+?)$/.exec(sdp);
|
||||||
opts.sdp1 = `${arr[1]}${arr[2]}`;
|
opts.sdp1 = `${arr[1]}${arr[2]}`;
|
||||||
opts.sdp2 = `${arr[1]}${arr[3]}\r\n`;
|
opts.sdp2 = `${arr[1]}${arr[3]}\r\n`;
|
||||||
opts.sessionId = uuidv4();
|
opts.sessionId = crypto.randomUUID();
|
||||||
logger.info({ payload: req.payload }, 'SIPREC payload with no metadata (e.g. Cisco NBR)');
|
logger.info({ payload: req.payload }, 'SIPREC payload with no metadata (e.g. Cisco NBR)');
|
||||||
resolve(opts);
|
resolve(opts);
|
||||||
} else if (!sdp || !meta) {
|
} else if (!sdp || !meta) {
|
||||||
@@ -64,7 +64,7 @@ const parseSiprecPayload = (req, logger) => {
|
|||||||
if (err) { throw err; }
|
if (err) { throw err; }
|
||||||
|
|
||||||
opts.recordingData = result ;
|
opts.recordingData = result ;
|
||||||
opts.sessionId = uuidv4() ;
|
opts.sessionId = crypto.randomUUID();
|
||||||
|
|
||||||
const arr = /^([^]+)(m=[^]+?)(m=[^]+?)$/.exec(sdp) ;
|
const arr = /^([^]+)(m=[^]+?)(m=[^]+?)$/.exec(sdp) ;
|
||||||
opts.sdp1 = `${arr[1]}${arr[2]}` ;
|
opts.sdp1 = `${arr[1]}${arr[2]}` ;
|
||||||
|
|||||||
1
package-lock.json
generated
1
package-lock.json
generated
@@ -46,7 +46,6 @@
|
|||||||
"sinon": "^17.0.1",
|
"sinon": "^17.0.1",
|
||||||
"to-snake-case": "^1.0.0",
|
"to-snake-case": "^1.0.0",
|
||||||
"undici": "^7.5.0",
|
"undici": "^7.5.0",
|
||||||
"uuid-random": "^1.3.2",
|
|
||||||
"verify-aws-sns-signature": "^0.1.0",
|
"verify-aws-sns-signature": "^0.1.0",
|
||||||
"ws": "^8.18.0",
|
"ws": "^8.18.0",
|
||||||
"xml2js": "^0.6.2"
|
"xml2js": "^0.6.2"
|
||||||
|
|||||||
@@ -62,7 +62,6 @@
|
|||||||
"sinon": "^17.0.1",
|
"sinon": "^17.0.1",
|
||||||
"to-snake-case": "^1.0.0",
|
"to-snake-case": "^1.0.0",
|
||||||
"undici": "^7.5.0",
|
"undici": "^7.5.0",
|
||||||
"uuid-random": "^1.3.2",
|
|
||||||
"verify-aws-sns-signature": "^0.1.0",
|
"verify-aws-sns-signature": "^0.1.0",
|
||||||
"ws": "^8.18.0",
|
"ws": "^8.18.0",
|
||||||
"xml2js": "^0.6.2"
|
"xml2js": "^0.6.2"
|
||||||
|
|||||||
Reference in New Issue
Block a user