diff --git a/lib/session/call-session.js b/lib/session/call-session.js index f27cc80b..6d45f4d3 100644 --- a/lib/session/call-session.js +++ b/lib/session/call-session.js @@ -567,10 +567,14 @@ class CallSession extends Emitter { dlg.connectTime = moment(); const origDestroy = dlg.destroy.bind(dlg); dlg.destroy = () => { - const duration = moment().diff(this.dlg.connectTime, 'seconds'); - this.emit('callStatusChange', {callStatus: CallStatus.Completed, duration}); - this.logger.debug('CallSession: call terminated by jambones'); - if (dlg.connected) origDestroy(); + if (dlg.connected) { + dlg.connected = false; + dlg.destroy = origDestroy; + const duration = moment().diff(this.dlg.connectTime, 'seconds'); + this.emit('callStatusChange', {callStatus: CallStatus.Completed, duration}); + this.logger.debug('CallSession: call terminated by jambones'); + origDestroy(); + } }; }