From 2439e225a03a96c01daace4ec16b302e448e346c Mon Sep 17 00:00:00 2001 From: surajshivakumar Date: Fri, 26 Jul 2024 18:07:14 -0400 Subject: [PATCH] early media call termination log --- lib/session/call-session.js | 2 +- lib/session/inbound-call-session.js | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/session/call-session.js b/lib/session/call-session.js index 6c57cc88..31871d26 100644 --- a/lib/session/call-session.js +++ b/lib/session/call-session.js @@ -2006,7 +2006,7 @@ Duration=${duration} ` if (task.earlyMedia && !this.req.finalResponseSent) { this.res.send(183, {body: ep.local.sdp}); this._notifyCallStatusChange({ - callStatus: CallStatus.earlyMedia, + callStatus: CallStatus.EarlyMedia, sipStatus: 183, sipReason: 'Early Media' }); diff --git a/lib/session/inbound-call-session.js b/lib/session/inbound-call-session.js index fc27c1d7..ac1ec327 100644 --- a/lib/session/inbound-call-session.js +++ b/lib/session/inbound-call-session.js @@ -33,13 +33,25 @@ class InboundCallSession extends CallSession { } _onCancel() { + this.rootSpan.setAttributes({'call.termination': 'caller abandoned'}); this.rootSpan.setAttributes({'call.termination': 'caller abandoned'}); this.callInfo.callTerminationBy = 'caller'; + const wasEarlyMedia = this.callInfo.callStatus === 'early-media'; this._notifyCallStatusChange({ callStatus: CallStatus.NoAnswer, sipStatus: 487, sipReason: 'Request Terminated' }); + if (wasEarlyMedia) { + console.log('Call ended during early media'); + const duration = 0; // Set duration to 0 for early media termination, required param + this._notifyCallStatusChange({ + callStatus: CallStatus.Completed, + sipStatus: 487, + sipReason: 'Call Terminated During Early Media', + duration: duration + }); + } this._callReleased(); }