fix: app_json is used for outbound call (#358)

* fix: app_json is used for outbound call

* fix jslint

* fix: app_json setter in rest:dial task
This commit is contained in:
Hoan Luu Huu
2023-06-01 19:52:53 +07:00
committed by GitHub
parent 210bbcbdbf
commit bb852600c0
3 changed files with 71 additions and 1 deletions

View File

@@ -23,6 +23,10 @@ class TaskRestDial extends Task {
get name() { return TaskName.RestDial; }
set appJson(app_json) {
this.app_json = app_json;
}
/**
* INVITE has just been sent at this point
*/
@@ -84,7 +88,12 @@ class TaskRestDial extends Task {
this.logger.info({err}, 'Rest:dial:Call established - Error calling startAmd');
}
}
const tasks = await cs.requestor.request('session:new', this.call_hook, params, httpHeaders);
let tasks;
if (this.app_json) {
tasks = JSON.parse(this.app_json);
} else {
tasks = await cs.requestor.request('session:new', this.call_hook, params, httpHeaders);
}
if (tasks && Array.isArray(tasks)) {
this.logger.debug({tasks: tasks}, `TaskRestDial: replacing application with ${tasks.length} tasks`);
cs.replaceApplication(normalizeJambones(this.logger, tasks).map((tdata) => makeTask(this.logger, tdata)));