From 15d784a4b0a66ad07cea0e1ec67cf07f00ec0c6c Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Thu, 10 Mar 2022 06:45:27 -0500 Subject: [PATCH] bugfix: sip_refer sending body --- lib/session/call-session.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/session/call-session.js b/lib/session/call-session.js index b187d21a..908d85d0 100644 --- a/lib/session/call-session.js +++ b/lib/session/call-session.js @@ -584,7 +584,7 @@ class CallSession extends Emitter { task.doConferenceMuteNonModerators(this, opts); } - async _lccSipRequest(opts) { + async _lccSipRequest(opts, callSid) { const {sip_request} = opts; const {method, content_type, content, headers = {}} = sip_request; if (!this.hasStableDialog) { @@ -592,13 +592,14 @@ class CallSession extends Emitter { return; } try { - const res = await this.dlg.request({ + const dlg = callSid === this.callSid ? this.dlg : this.currentTask.dlg; + const res = await dlg.request({ method, headers: { ...headers, - 'Content-Type': content_type, - 'Content': content - } + 'Content-Type': content_type + }, + body: content }); this.logger.debug({res}, `CallSession:_lccSipRequest got response to ${method}`); return res; @@ -683,7 +684,7 @@ class CallSession extends Emitter { await this._lccConfMuteStatus(opts); } else if (opts.sip_request) { - const res = await this._lccSipRequest(opts); + const res = await this._lccSipRequest(opts, callSid); return {status: res.status, reason: res.reason}; } @@ -770,7 +771,7 @@ class CallSession extends Emitter { break; case 'sip:request': - this._lccSipRequest(data) + this._lccSipRequest(data, this.callSid) .catch((err) => { this.logger.info({err, data}, `CallSession:_onCommand - error sending ${data.method}`); });