@webex/calling 3.12.0-next.32 → 3.12.0-next.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -99,6 +99,187 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
99
99
  (0, _defineProperty2.default)(_this, "rtcMetrics", void 0);
100
100
  (0, _defineProperty2.default)(_this, "callKeepaliveRetryCount", 0);
101
101
  (0, _defineProperty2.default)(_this, "apiRequest", void 0);
102
+ (0, _defineProperty2.default)(_this, "handleMediaRoapEvent", /*#__PURE__*/function () {
103
+ var _ref = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(event) {
104
+ var _event$roapMessage, _event$roapMessage2;
105
+ var mediaOk, sdpVideoPortZero, _t;
106
+ return _regenerator.default.wrap(function (_context) {
107
+ while (1) switch (_context.prev = _context.next) {
108
+ case 0:
109
+ _Logger.default.info("ROAP message to send (rcv from MEDIA-SDK) :\n \n type: ".concat((_event$roapMessage = event.roapMessage) === null || _event$roapMessage === void 0 ? void 0 : _event$roapMessage.messageType, ", seq: ").concat(event.roapMessage.seq, " , version: ").concat(event.roapMessage.version), {
110
+ file: _constants.CALL_FILE,
111
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
112
+ });
113
+ _Logger.default.info("SDP message to send : \n ".concat((_event$roapMessage2 = event.roapMessage) === null || _event$roapMessage2 === void 0 ? void 0 : _event$roapMessage2.sdp), {
114
+ file: _constants.CALL_FILE,
115
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
116
+ });
117
+ _t = event.roapMessage.messageType;
118
+ _context.next = _t === _types4.RoapScenario.OK ? 1 : _t === _types4.RoapScenario.OFFER ? 2 : _t === _types4.RoapScenario.ANSWER ? 4 : _t === _types4.RoapScenario.ERROR ? 6 : _t === _types4.RoapScenario.OFFER_RESPONSE ? 7 : 9;
119
+ break;
120
+ case 1:
121
+ mediaOk = {
122
+ received: false,
123
+ message: event.roapMessage
124
+ };
125
+ _this.sendMediaStateMachineEvt({
126
+ type: 'E_ROAP_OK',
127
+ data: mediaOk
128
+ });
129
+ return _context.abrupt("continue", 9);
130
+ case 2:
131
+ if (event.roapMessage.sdp) {
132
+ _context.next = 3;
133
+ break;
134
+ }
135
+ _Logger.default.warn('Received OFFER without SDP from media SDK', {
136
+ file: _constants.CALL_FILE,
137
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
138
+ });
139
+ return _context.abrupt("continue", 9);
140
+ case 3:
141
+ // TODO: Remove these after the Media-Core adds the fix
142
+ // Check if at least one IPv6 "c=" line is present
143
+ _Logger.default.info("before modifying sdp: ".concat(event.roapMessage.sdp), {
144
+ file: _constants.CALL_FILE,
145
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
146
+ });
147
+ event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
148
+ sdpVideoPortZero = event.roapMessage.sdp.replace(/^m=(video) (?:\d+) /gim, 'm=$1 0 ');
149
+ _Logger.default.info("after modification sdp: ".concat(sdpVideoPortZero), {
150
+ file: _constants.CALL_FILE,
151
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
152
+ });
153
+ event.roapMessage.sdp = sdpVideoPortZero;
154
+ _this.localRoapMessage = event.roapMessage;
155
+ _this.sendCallStateMachineEvt({
156
+ type: 'E_SEND_CALL_SETUP',
157
+ data: event.roapMessage
158
+ });
159
+ return _context.abrupt("continue", 9);
160
+ case 4:
161
+ if (event.roapMessage.sdp) {
162
+ _context.next = 5;
163
+ break;
164
+ }
165
+ _Logger.default.warn('Received OFFER without SDP from media SDK', {
166
+ file: _constants.CALL_FILE,
167
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
168
+ });
169
+ return _context.abrupt("continue", 9);
170
+ case 5:
171
+ event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
172
+ _this.localRoapMessage = event.roapMessage;
173
+ if (_this.connectPending) {
174
+ _this.sendCallStateMachineEvt({
175
+ type: 'E_SEND_CALL_CONNECT'
176
+ });
177
+ }
178
+ _this.sendMediaStateMachineEvt({
179
+ type: 'E_SEND_ROAP_ANSWER',
180
+ data: event.roapMessage
181
+ });
182
+ return _context.abrupt("continue", 9);
183
+ case 6:
184
+ _this.sendMediaStateMachineEvt({
185
+ type: 'E_ROAP_ERROR',
186
+ data: event.roapMessage
187
+ });
188
+ return _context.abrupt("continue", 9);
189
+ case 7:
190
+ if (event.roapMessage.sdp) {
191
+ _context.next = 8;
192
+ break;
193
+ }
194
+ _Logger.default.warn('Received OFFER without SDP from media SDK', {
195
+ file: _constants.CALL_FILE,
196
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
197
+ });
198
+ return _context.abrupt("continue", 9);
199
+ case 8:
200
+ event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
201
+ _this.localRoapMessage = event.roapMessage;
202
+ if (_this.connectPending) {
203
+ _this.sendCallStateMachineEvt({
204
+ type: 'E_SEND_CALL_CONNECT'
205
+ });
206
+ }
207
+ _this.sendMediaStateMachineEvt({
208
+ type: 'E_SEND_ROAP_OFFER',
209
+ data: event.roapMessage
210
+ });
211
+ return _context.abrupt("continue", 9);
212
+ case 9:
213
+ case "end":
214
+ return _context.stop();
215
+ }
216
+ }, _callee);
217
+ }));
218
+ return function (_x) {
219
+ return _ref.apply(this, arguments);
220
+ };
221
+ }());
222
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
223
+ (0, _defineProperty2.default)(_this, "handleRemoteTrackAdded", function (event) {
224
+ if (event.type === _types3.MEDIA_CONNECTION_EVENT_KEYS.MEDIA_TYPE_AUDIO) {
225
+ _this.emit(_types3.CALL_EVENT_KEYS.REMOTE_MEDIA, event.track);
226
+ }
227
+ });
228
+ (0, _defineProperty2.default)(_this, "handleIceGatheringStateChanged", function (event) {
229
+ var iceGatheringState = Call.getPeerConnectionStateFromEvent(event, 'iceGatheringState');
230
+ _Logger.default.info("ICE gathering state changed to: ".concat(iceGatheringState), {
231
+ file: _constants.CALL_FILE,
232
+ method: _constants.METHODS.MEDIA_ICE_EVENTS_LISTENER
233
+ });
234
+ _this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA, _types5.MEDIA_CONNECTION_ACTION.ICE_GATHERING_STATE_CHANGED, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId, undefined, undefined, iceGatheringState);
235
+ });
236
+ (0, _defineProperty2.default)(_this, "handlePeerConnectionStateChanged", function (event) {
237
+ var connectionState = Call.getPeerConnectionStateFromEvent(event, 'connectionState');
238
+ _Logger.default.info("Peer connection state changed to: ".concat(connectionState), {
239
+ file: _constants.CALL_FILE,
240
+ method: _constants.METHODS.MEDIA_ICE_EVENTS_LISTENER
241
+ });
242
+ _this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA, _types5.MEDIA_CONNECTION_ACTION.PEER_CONNECTION_STATE_CHANGED, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId, undefined, undefined, connectionState);
243
+ });
244
+ (0, _defineProperty2.default)(_this, "handleIceConnectionStateChanged", function (event) {
245
+ var iceConnectionState = Call.getPeerConnectionStateFromEvent(event, 'iceConnectionState');
246
+ _Logger.default.info("ICE connection state changed to: ".concat(iceConnectionState), {
247
+ file: _constants.CALL_FILE,
248
+ method: _constants.METHODS.MEDIA_ICE_EVENTS_LISTENER
249
+ });
250
+ _this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA, _types5.MEDIA_CONNECTION_ACTION.ICE_CONNECTION_STATE_CHANGED, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId, undefined, undefined, iceConnectionState);
251
+ });
252
+ (0, _defineProperty2.default)(_this, "handleIceCandidateError", function (event) {
253
+ var _event$address, _event$port;
254
+ var iceErrorPayload = {
255
+ address: (_event$address = event.address) !== null && _event$address !== void 0 ? _event$address : null,
256
+ errorCode: event.errorCode,
257
+ errorText: event.errorText,
258
+ port: (_event$port = event.port) !== null && _event$port !== void 0 ? _event$port : null,
259
+ url: event.url
260
+ };
261
+ _Logger.default.warn("ICE candidate error occurred: ".concat((0, _stringify.default)(iceErrorPayload)), {
262
+ file: _constants.CALL_FILE,
263
+ method: _constants.METHODS.MEDIA_ICE_EVENTS_LISTENER
264
+ });
265
+ var callError = (0, _CallError.createCallError)("ICE candidate error occurred: ".concat((0, _stringify.default)(iceErrorPayload)), {
266
+ file: _constants.CALL_FILE,
267
+ method: _constants.METHODS.MEDIA_ICE_EVENTS_LISTENER
268
+ }, _types.ERROR_TYPE.CALL_ERROR, _this.correlationId, _types.ERROR_LAYER.MEDIA);
269
+ _this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA_ERROR, _types5.MEDIA_CONNECTION_ACTION.ICE_CANDIDATE_ERROR, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId, undefined, undefined, undefined, callError);
270
+ });
271
+ (0, _defineProperty2.default)(_this, "handleRoapFailure", function (error) {
272
+ var failureMessage = error.message || 'Unknown ROAP failure received from media SDK';
273
+ _Logger.default.warn("ROAP failure occurred: ".concat(failureMessage), {
274
+ file: _constants.CALL_FILE,
275
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
276
+ });
277
+ var callError = (0, _CallError.createCallError)("ROAP failure occurred: ".concat(failureMessage), {
278
+ file: _constants.CALL_FILE,
279
+ method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
280
+ }, _types.ERROR_TYPE.CALL_ERROR, _this.correlationId, _types.ERROR_LAYER.MEDIA);
281
+ _this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA_ERROR, _types5.MEDIA_CONNECTION_ACTION.ROAP_FAILURE, _types5.METRIC_TYPE.BEHAVIORAL, _this.callId, _this.correlationId, undefined, undefined, undefined, callError);
282
+ });
102
283
  (0, _defineProperty2.default)(_this, "callKeepaliveRetryCallback", function (interval) {
103
284
  if (_this.callKeepaliveRetryCount === _constants.MAX_CALL_KEEPALIVE_RETRY_COUNT) {
104
285
  _Logger.default.warn("Max keepalive retry attempts reached. Aborting call keepalive for callId: ".concat(_this.callId), {
@@ -108,35 +289,35 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
108
289
  return;
109
290
  }
110
291
  _this.callKeepaliveRetryCount += 1;
111
- setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
112
- var _t;
113
- return _regenerator.default.wrap(function (_context) {
114
- while (1) switch (_context.prev = _context.next) {
292
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
293
+ var _t2;
294
+ return _regenerator.default.wrap(function (_context2) {
295
+ while (1) switch (_context2.prev = _context2.next) {
115
296
  case 0:
116
- _context.prev = 0;
117
- _context.next = 1;
297
+ _context2.prev = 0;
298
+ _context2.next = 1;
118
299
  return _this.postStatus();
119
300
  case 1:
120
301
  _this.scheduleCallKeepaliveInterval();
121
- _context.next = 3;
302
+ _context2.next = 3;
122
303
  break;
123
304
  case 2:
124
- _context.prev = 2;
125
- _t = _context["catch"](0);
126
- _context.next = 3;
127
- return _this.handleCallKeepaliveError(_t);
305
+ _context2.prev = 2;
306
+ _t2 = _context2["catch"](0);
307
+ _context2.next = 3;
308
+ return _this.handleCallKeepaliveError(_t2);
128
309
  case 3:
129
310
  case "end":
130
- return _context.stop();
311
+ return _context2.stop();
131
312
  }
132
- }, _callee, null, [[0, 2]]);
313
+ }, _callee2, null, [[0, 2]]);
133
314
  })), interval * 1000);
134
315
  });
135
316
  (0, _defineProperty2.default)(_this, "handleCallKeepaliveError", /*#__PURE__*/function () {
136
- var _ref2 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(err) {
317
+ var _ref3 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3(err) {
137
318
  var error, abort;
138
- return _regenerator.default.wrap(function (_context2) {
139
- while (1) switch (_context2.prev = _context2.next) {
319
+ return _regenerator.default.wrap(function (_context3) {
320
+ while (1) switch (_context3.prev = _context3.next) {
140
321
  case 0:
141
322
  error = err;
142
323
  /* We are clearing the timer here as all are error scenarios. Only scenario where
@@ -148,13 +329,13 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
148
329
  if (_this.sessionTimer) {
149
330
  clearInterval(_this.sessionTimer);
150
331
  }
151
- _context2.next = 1;
332
+ _context3.next = 1;
152
333
  return (0, _Utils.handleCallErrors)(function (callError) {
153
334
  _this.emit(_types3.CALL_EVENT_KEYS.CALL_ERROR, callError);
154
335
  _this.submitCallErrorMetric(callError);
155
336
  }, _types.ERROR_LAYER.CALL_CONTROL, _this.callKeepaliveRetryCallback, _this.getCorrelationId(), error, 'handleCallEstablished', _constants.CALL_FILE);
156
337
  case 1:
157
- abort = _context2.sent;
338
+ abort = _context3.sent;
158
339
  if (abort) {
159
340
  _this.sendCallStateMachineEvt({
160
341
  type: 'E_SEND_CALL_DISCONNECT'
@@ -162,7 +343,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
162
343
  _this.emit(_types3.CALL_EVENT_KEYS.DISCONNECT, _this.getCorrelationId());
163
344
  _this.callKeepaliveRetryCount = 0;
164
345
  }
165
- _context2.next = 2;
346
+ _context3.next = 2;
166
347
  return (0, _Utils.uploadLogs)({
167
348
  correlationId: _this.correlationId,
168
349
  callId: _this.callId,
@@ -170,12 +351,12 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
170
351
  });
171
352
  case 2:
172
353
  case "end":
173
- return _context2.stop();
354
+ return _context3.stop();
174
355
  }
175
- }, _callee2);
356
+ }, _callee3);
176
357
  }));
177
- return function (_x) {
178
- return _ref2.apply(this, arguments);
358
+ return function (_x2) {
359
+ return _ref3.apply(this, arguments);
179
360
  };
180
361
  }());
181
362
  (0, _defineProperty2.default)(_this, "scheduleCallKeepaliveInterval", function () {
@@ -184,29 +365,29 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
184
365
  method: 'scheduleCallKeepaliveInterval'
185
366
  };
186
367
  clearInterval(_this.sessionTimer);
187
- _this.sessionTimer = setInterval(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
188
- var res, _t2;
189
- return _regenerator.default.wrap(function (_context3) {
190
- while (1) switch (_context3.prev = _context3.next) {
368
+ _this.sessionTimer = setInterval(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
369
+ var res, _t3;
370
+ return _regenerator.default.wrap(function (_context4) {
371
+ while (1) switch (_context4.prev = _context4.next) {
191
372
  case 0:
192
- _context3.prev = 0;
193
- _context3.next = 1;
373
+ _context4.prev = 0;
374
+ _context4.next = 1;
194
375
  return _this.postStatus();
195
376
  case 1:
196
- res = _context3.sent;
377
+ res = _context4.sent;
197
378
  _Logger.default.info("Session refresh successful", loggerContext);
198
- _context3.next = 3;
379
+ _context4.next = 3;
199
380
  break;
200
381
  case 2:
201
- _context3.prev = 2;
202
- _t2 = _context3["catch"](0);
203
- _context3.next = 3;
204
- return _this.handleCallKeepaliveError(_t2);
382
+ _context4.prev = 2;
383
+ _t3 = _context4["catch"](0);
384
+ _context4.next = 3;
385
+ return _this.handleCallKeepaliveError(_t3);
205
386
  case 3:
206
387
  case "end":
207
- return _context3.stop();
388
+ return _context4.stop();
208
389
  }
209
- }, _callee3, null, [[0, 2]]);
390
+ }, _callee4, null, [[0, 2]]);
210
391
  })), _constants.DEFAULT_SESSION_TIMER);
211
392
  });
212
393
  /**
@@ -216,34 +397,34 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
216
397
  * @returns {Promise<void>}
217
398
  */
218
399
  (0, _defineProperty2.default)(_this, "forceSendStatsReport", /*#__PURE__*/function () {
219
- var _ref5 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4(_ref4) {
220
- var callFrom, loggerContext, errorInfo, errorStatus, _t3;
221
- return _regenerator.default.wrap(function (_context4) {
222
- while (1) switch (_context4.prev = _context4.next) {
400
+ var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(_ref5) {
401
+ var callFrom, loggerContext, errorInfo, errorStatus, _t4;
402
+ return _regenerator.default.wrap(function (_context5) {
403
+ while (1) switch (_context5.prev = _context5.next) {
223
404
  case 0:
224
- callFrom = _ref4.callFrom;
405
+ callFrom = _ref5.callFrom;
225
406
  loggerContext = {
226
407
  file: _constants.CALL_FILE,
227
408
  method: _constants.METHODS.FORCE_SEND_STATS_REPORT
228
409
  };
229
- _context4.prev = 1;
230
- _context4.next = 2;
410
+ _context5.prev = 1;
411
+ _context5.next = 2;
231
412
  return _this.mediaConnection.forceRtcMetricsSend();
232
413
  case 2:
233
414
  _Logger.default.info("Successfully uploaded available webrtc telemetry statistics", loggerContext);
234
415
  _Logger.default.info("callFrom: ".concat(callFrom), loggerContext);
235
- _context4.next = 5;
416
+ _context5.next = 5;
236
417
  break;
237
418
  case 3:
238
- _context4.prev = 3;
239
- _t3 = _context4["catch"](1);
240
- errorInfo = _t3;
241
- _context4.next = 4;
419
+ _context5.prev = 3;
420
+ _t4 = _context5["catch"](1);
421
+ errorInfo = _t4;
422
+ _context5.next = 4;
242
423
  return (0, _Utils.serviceErrorCodeHandler)(errorInfo, loggerContext);
243
424
  case 4:
244
- errorStatus = _context4.sent;
425
+ errorStatus = _context5.sent;
245
426
  _Logger.default.error("Failed to upload webrtc telemetry statistics. ".concat((0, _stringify.default)(errorStatus)), loggerContext);
246
- _context4.next = 5;
427
+ _context5.next = 5;
247
428
  return (0, _Utils.uploadLogs)({
248
429
  correlationId: _this.correlationId,
249
430
  callId: _this.callId,
@@ -251,12 +432,12 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
251
432
  });
252
433
  case 5:
253
434
  case "end":
254
- return _context4.stop();
435
+ return _context5.stop();
255
436
  }
256
- }, _callee4, null, [[1, 3]]);
437
+ }, _callee5, null, [[1, 3]]);
257
438
  }));
258
- return function (_x2) {
259
- return _ref5.apply(this, arguments);
439
+ return function (_x3) {
440
+ return _ref6.apply(this, arguments);
260
441
  };
261
442
  }());
262
443
  /**
@@ -304,10 +485,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
304
485
  * @param roapMessage
305
486
  */
306
487
  (0, _defineProperty2.default)(_this, "post", /*#__PURE__*/function () {
307
- var _ref6 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5(roapMessage) {
488
+ var _ref7 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(roapMessage) {
308
489
  var basePayload;
309
- return _regenerator.default.wrap(function (_context5) {
310
- while (1) switch (_context5.prev = _context5.next) {
490
+ return _regenerator.default.wrap(function (_context6) {
491
+ while (1) switch (_context6.prev = _context6.next) {
311
492
  case 0:
312
493
  basePayload = {
313
494
  device: {
@@ -319,7 +500,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
319
500
  mediaId: (0, _uuid.v4)()
320
501
  }
321
502
  };
322
- return _context5.abrupt("return", _this.apiRequest.makeRequest({
503
+ return _context6.abrupt("return", _this.apiRequest.makeRequest({
323
504
  uri: "".concat(_this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(_this.deviceId, "/").concat(_constants.CALL_ENDPOINT_RESOURCE),
324
505
  method: _types2.HTTP_METHODS.POST,
325
506
  service: _types2.ALLOWED_SERVICES.MOBIUS,
@@ -333,12 +514,12 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
333
514
  }));
334
515
  case 1:
335
516
  case "end":
336
- return _context5.stop();
517
+ return _context6.stop();
337
518
  }
338
- }, _callee5);
519
+ }, _callee6);
339
520
  }));
340
- return function (_x3) {
341
- return _ref6.apply(this, arguments);
521
+ return function (_x4) {
522
+ return _ref7.apply(this, arguments);
342
523
  };
343
524
  }());
344
525
  (0, _defineProperty2.default)(_this, "onEffectEnabled", function () {
@@ -1258,22 +1439,22 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1258
1439
  }, {
1259
1440
  key: "handleOutgoingCallSetup",
1260
1441
  value: (function () {
1261
- var _handleOutgoingCallSetup = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6(event) {
1442
+ var _handleOutgoingCallSetup = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7(event) {
1262
1443
  var _this2 = this;
1263
- var message, response, errData, _t4;
1264
- return _regenerator.default.wrap(function (_context6) {
1265
- while (1) switch (_context6.prev = _context6.next) {
1444
+ var message, response, errData, _t5;
1445
+ return _regenerator.default.wrap(function (_context7) {
1446
+ while (1) switch (_context7.prev = _context7.next) {
1266
1447
  case 0:
1267
1448
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1268
1449
  file: _constants.CALL_FILE,
1269
1450
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_SETUP
1270
1451
  });
1271
1452
  message = event.data;
1272
- _context6.prev = 1;
1273
- _context6.next = 2;
1453
+ _context7.prev = 1;
1454
+ _context7.next = 2;
1274
1455
  return this.post(message);
1275
1456
  case 2:
1276
- response = _context6.sent;
1457
+ response = _context7.sent;
1277
1458
  _Logger.default.info("Response: ".concat((0, _stringify.default)(response)), {
1278
1459
  file: _constants.CALL_FILE,
1279
1460
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_SETUP
@@ -1287,16 +1468,16 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1287
1468
  file: _constants.CALL_FILE,
1288
1469
  method: this.handleOutgoingCallSetup.name
1289
1470
  });
1290
- _context6.next = 4;
1471
+ _context7.next = 4;
1291
1472
  break;
1292
1473
  case 3:
1293
- _context6.prev = 3;
1294
- _t4 = _context6["catch"](1);
1295
- _Logger.default.error("Failed to setup the call: ".concat((0, _stringify.default)(_t4)), {
1474
+ _context7.prev = 3;
1475
+ _t5 = _context7["catch"](1);
1476
+ _Logger.default.error("Failed to setup the call: ".concat((0, _stringify.default)(_t5)), {
1296
1477
  file: _constants.CALL_FILE,
1297
1478
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_SETUP
1298
1479
  });
1299
- errData = _t4;
1480
+ errData = _t5;
1300
1481
  (0, _Utils.handleCallErrors)(function (error) {
1301
1482
  _this2.emit(_types3.CALL_EVENT_KEYS.CALL_ERROR, error);
1302
1483
  _this2.submitCallErrorMetric(error);
@@ -1310,7 +1491,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1310
1491
  function (interval) {
1311
1492
  return undefined;
1312
1493
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_OUTGOING_CALL_SETUP, _constants.CALL_FILE);
1313
- _context6.next = 4;
1494
+ _context7.next = 4;
1314
1495
  return (0, _Utils.uploadLogs)({
1315
1496
  correlationId: this.correlationId,
1316
1497
  callId: this.callId,
@@ -1318,11 +1499,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1318
1499
  });
1319
1500
  case 4:
1320
1501
  case "end":
1321
- return _context6.stop();
1502
+ return _context7.stop();
1322
1503
  }
1323
- }, _callee6, this, [[1, 3]]);
1504
+ }, _callee7, this, [[1, 3]]);
1324
1505
  }));
1325
- function handleOutgoingCallSetup(_x4) {
1506
+ function handleOutgoingCallSetup(_x5) {
1326
1507
  return _handleOutgoingCallSetup.apply(this, arguments);
1327
1508
  }
1328
1509
  return handleOutgoingCallSetup;
@@ -1337,21 +1518,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1337
1518
  }, {
1338
1519
  key: "handleCallHold",
1339
1520
  value: (function () {
1340
- var _handleCallHold = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(event) {
1521
+ var _handleCallHold = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(event) {
1341
1522
  var _this3 = this;
1342
- var response, errData, _t5;
1343
- return _regenerator.default.wrap(function (_context8) {
1344
- while (1) switch (_context8.prev = _context8.next) {
1523
+ var response, errData, _t6;
1524
+ return _regenerator.default.wrap(function (_context9) {
1525
+ while (1) switch (_context9.prev = _context9.next) {
1345
1526
  case 0:
1346
1527
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1347
1528
  file: _constants.CALL_FILE,
1348
1529
  method: _constants.METHODS.HANDLE_CALL_HOLD
1349
1530
  });
1350
- _context8.prev = 1;
1351
- _context8.next = 2;
1531
+ _context9.prev = 1;
1532
+ _context9.next = 2;
1352
1533
  return this.postSSRequest(undefined, _types3.SUPPLEMENTARY_SERVICES.HOLD);
1353
1534
  case 2:
1354
- response = _context8.sent;
1535
+ response = _context9.sent;
1355
1536
  _Logger.default.log("Response code: ".concat(response.statusCode), {
1356
1537
  file: _constants.CALL_FILE,
1357
1538
  method: _constants.METHODS.HANDLE_CALL_HOLD
@@ -1362,10 +1543,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1362
1543
  * received from Mobius and forwarded towards calling client
1363
1544
  */
1364
1545
  if (this.isHeld() === false) {
1365
- this.supplementaryServicesTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
1546
+ this.supplementaryServicesTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
1366
1547
  var errorContext, callError;
1367
- return _regenerator.default.wrap(function (_context7) {
1368
- while (1) switch (_context7.prev = _context7.next) {
1548
+ return _regenerator.default.wrap(function (_context8) {
1549
+ while (1) switch (_context8.prev = _context8.next) {
1369
1550
  case 0:
1370
1551
  errorContext = {
1371
1552
  file: _constants.CALL_FILE,
@@ -1380,21 +1561,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1380
1561
  _this3.submitCallErrorMetric(callError);
1381
1562
  case 1:
1382
1563
  case "end":
1383
- return _context7.stop();
1564
+ return _context8.stop();
1384
1565
  }
1385
- }, _callee7);
1566
+ }, _callee8);
1386
1567
  })), _constants.SUPPLEMENTARY_SERVICES_TIMEOUT);
1387
1568
  }
1388
- _context8.next = 4;
1569
+ _context9.next = 4;
1389
1570
  break;
1390
1571
  case 3:
1391
- _context8.prev = 3;
1392
- _t5 = _context8["catch"](1);
1393
- _Logger.default.error("Failed to put the call on hold: ".concat((0, _stringify.default)(_t5)), {
1572
+ _context9.prev = 3;
1573
+ _t6 = _context9["catch"](1);
1574
+ _Logger.default.error("Failed to put the call on hold: ".concat((0, _stringify.default)(_t6)), {
1394
1575
  file: _constants.CALL_FILE,
1395
1576
  method: _constants.METHODS.HANDLE_CALL_HOLD
1396
1577
  });
1397
- errData = _t5;
1578
+ errData = _t6;
1398
1579
  (0, _Utils.handleCallErrors)(function (error) {
1399
1580
  _this3.emit(_types3.CALL_EVENT_KEYS.HOLD_ERROR, error);
1400
1581
  _this3.submitCallErrorMetric(error);
@@ -1408,7 +1589,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1408
1589
  function (interval) {
1409
1590
  return undefined;
1410
1591
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_CALL_HOLD, _constants.CALL_FILE);
1411
- _context8.next = 4;
1592
+ _context9.next = 4;
1412
1593
  return (0, _Utils.uploadLogs)({
1413
1594
  correlationId: this.correlationId,
1414
1595
  callId: this.callId,
@@ -1416,11 +1597,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1416
1597
  });
1417
1598
  case 4:
1418
1599
  case "end":
1419
- return _context8.stop();
1600
+ return _context9.stop();
1420
1601
  }
1421
- }, _callee8, this, [[1, 3]]);
1602
+ }, _callee9, this, [[1, 3]]);
1422
1603
  }));
1423
- function handleCallHold(_x5) {
1604
+ function handleCallHold(_x6) {
1424
1605
  return _handleCallHold.apply(this, arguments);
1425
1606
  }
1426
1607
  return handleCallHold;
@@ -1435,21 +1616,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1435
1616
  }, {
1436
1617
  key: "handleCallResume",
1437
1618
  value: (function () {
1438
- var _handleCallResume = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(event) {
1619
+ var _handleCallResume = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(event) {
1439
1620
  var _this4 = this;
1440
- var response, errData, _t6;
1441
- return _regenerator.default.wrap(function (_context0) {
1442
- while (1) switch (_context0.prev = _context0.next) {
1621
+ var response, errData, _t7;
1622
+ return _regenerator.default.wrap(function (_context1) {
1623
+ while (1) switch (_context1.prev = _context1.next) {
1443
1624
  case 0:
1444
1625
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1445
1626
  file: _constants.CALL_FILE,
1446
1627
  method: _constants.METHODS.HANDLE_CALL_RESUME
1447
1628
  });
1448
- _context0.prev = 1;
1449
- _context0.next = 2;
1629
+ _context1.prev = 1;
1630
+ _context1.next = 2;
1450
1631
  return this.postSSRequest(undefined, _types3.SUPPLEMENTARY_SERVICES.RESUME);
1451
1632
  case 2:
1452
- response = _context0.sent;
1633
+ response = _context1.sent;
1453
1634
  _Logger.default.log("Response code: ".concat(response.statusCode), {
1454
1635
  file: _constants.CALL_FILE,
1455
1636
  method: _constants.METHODS.HANDLE_CALL_RESUME
@@ -1460,10 +1641,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1460
1641
  * received from Mobius on resuming the call and forwarded towards calling client
1461
1642
  */
1462
1643
  if (this.isHeld() === true) {
1463
- this.supplementaryServicesTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
1644
+ this.supplementaryServicesTimer = setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
1464
1645
  var errorContext, callError;
1465
- return _regenerator.default.wrap(function (_context9) {
1466
- while (1) switch (_context9.prev = _context9.next) {
1646
+ return _regenerator.default.wrap(function (_context0) {
1647
+ while (1) switch (_context0.prev = _context0.next) {
1467
1648
  case 0:
1468
1649
  errorContext = {
1469
1650
  file: _constants.CALL_FILE,
@@ -1478,21 +1659,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1478
1659
  _this4.submitCallErrorMetric(callError);
1479
1660
  case 1:
1480
1661
  case "end":
1481
- return _context9.stop();
1662
+ return _context0.stop();
1482
1663
  }
1483
- }, _callee9);
1664
+ }, _callee0);
1484
1665
  })), _constants.SUPPLEMENTARY_SERVICES_TIMEOUT);
1485
1666
  }
1486
- _context0.next = 4;
1667
+ _context1.next = 4;
1487
1668
  break;
1488
1669
  case 3:
1489
- _context0.prev = 3;
1490
- _t6 = _context0["catch"](1);
1491
- _Logger.default.error("Failed to resume the call: ".concat((0, _stringify.default)(_t6)), {
1670
+ _context1.prev = 3;
1671
+ _t7 = _context1["catch"](1);
1672
+ _Logger.default.error("Failed to resume the call: ".concat((0, _stringify.default)(_t7)), {
1492
1673
  file: _constants.CALL_FILE,
1493
1674
  method: _constants.METHODS.HANDLE_CALL_RESUME
1494
1675
  });
1495
- errData = _t6;
1676
+ errData = _t7;
1496
1677
  (0, _Utils.handleCallErrors)(function (error) {
1497
1678
  _this4.emit(_types3.CALL_EVENT_KEYS.RESUME_ERROR, error);
1498
1679
  _this4.submitCallErrorMetric(error);
@@ -1506,7 +1687,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1506
1687
  function (interval) {
1507
1688
  return undefined;
1508
1689
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_CALL_RESUME, _constants.CALL_FILE);
1509
- _context0.next = 4;
1690
+ _context1.next = 4;
1510
1691
  return (0, _Utils.uploadLogs)({
1511
1692
  correlationId: this.correlationId,
1512
1693
  callId: this.callId,
@@ -1514,11 +1695,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1514
1695
  });
1515
1696
  case 4:
1516
1697
  case "end":
1517
- return _context0.stop();
1698
+ return _context1.stop();
1518
1699
  }
1519
- }, _callee0, this, [[1, 3]]);
1700
+ }, _callee1, this, [[1, 3]]);
1520
1701
  }));
1521
- function handleCallResume(_x6) {
1702
+ function handleCallResume(_x7) {
1522
1703
  return _handleCallResume.apply(this, arguments);
1523
1704
  }
1524
1705
  return handleCallResume;
@@ -1607,35 +1788,35 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1607
1788
  }, {
1608
1789
  key: "handleOutgoingCallAlerting",
1609
1790
  value: (function () {
1610
- var _handleOutgoingCallAlerting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1(event) {
1791
+ var _handleOutgoingCallAlerting = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10(event) {
1611
1792
  var _this5 = this;
1612
- var res, errData, _t7;
1613
- return _regenerator.default.wrap(function (_context1) {
1614
- while (1) switch (_context1.prev = _context1.next) {
1793
+ var res, errData, _t8;
1794
+ return _regenerator.default.wrap(function (_context10) {
1795
+ while (1) switch (_context10.prev = _context10.next) {
1615
1796
  case 0:
1616
1797
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1617
1798
  file: _constants.CALL_FILE,
1618
1799
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_ALERTING
1619
1800
  });
1620
- _context1.prev = 1;
1621
- _context1.next = 2;
1801
+ _context10.prev = 1;
1802
+ _context10.next = 2;
1622
1803
  return this.patch(_types4.MobiusCallState.ALERTING);
1623
1804
  case 2:
1624
- res = _context1.sent;
1805
+ res = _context10.sent;
1625
1806
  _Logger.default.log("PATCH response: ".concat(res.statusCode), {
1626
1807
  file: _constants.CALL_FILE,
1627
1808
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_ALERTING
1628
1809
  });
1629
- _context1.next = 4;
1810
+ _context10.next = 4;
1630
1811
  break;
1631
1812
  case 3:
1632
- _context1.prev = 3;
1633
- _t7 = _context1["catch"](1);
1634
- _Logger.default.error("Failed to signal call progression: ".concat((0, _stringify.default)(_t7)), {
1813
+ _context10.prev = 3;
1814
+ _t8 = _context10["catch"](1);
1815
+ _Logger.default.error("Failed to signal call progression: ".concat((0, _stringify.default)(_t8)), {
1635
1816
  file: _constants.CALL_FILE,
1636
1817
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_ALERTING
1637
1818
  });
1638
- errData = _t7;
1819
+ errData = _t8;
1639
1820
  (0, _Utils.handleCallErrors)(function (error) {
1640
1821
  _this5.emit(_types3.CALL_EVENT_KEYS.CALL_ERROR, error);
1641
1822
  _this5.submitCallErrorMetric(error);
@@ -1649,7 +1830,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1649
1830
  function (interval) {
1650
1831
  return undefined;
1651
1832
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_OUTGOING_CALL_ALERTING, _constants.CALL_FILE);
1652
- _context1.next = 4;
1833
+ _context10.next = 4;
1653
1834
  return (0, _Utils.uploadLogs)({
1654
1835
  correlationId: this.correlationId,
1655
1836
  callId: this.callId,
@@ -1657,11 +1838,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1657
1838
  });
1658
1839
  case 4:
1659
1840
  case "end":
1660
- return _context1.stop();
1841
+ return _context10.stop();
1661
1842
  }
1662
- }, _callee1, this, [[1, 3]]);
1843
+ }, _callee10, this, [[1, 3]]);
1663
1844
  }));
1664
- function handleOutgoingCallAlerting(_x7) {
1845
+ function handleOutgoingCallAlerting(_x8) {
1665
1846
  return _handleOutgoingCallAlerting.apply(this, arguments);
1666
1847
  }
1667
1848
  return handleOutgoingCallAlerting;
@@ -1702,11 +1883,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1702
1883
  }, {
1703
1884
  key: "handleOutgoingCallConnect",
1704
1885
  value: (function () {
1705
- var _handleOutgoingCallConnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee10(event) {
1886
+ var _handleOutgoingCallConnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(event) {
1706
1887
  var _this6 = this;
1707
- var res, errData, _t8;
1708
- return _regenerator.default.wrap(function (_context10) {
1709
- while (1) switch (_context10.prev = _context10.next) {
1888
+ var res, errData, _t9;
1889
+ return _regenerator.default.wrap(function (_context11) {
1890
+ while (1) switch (_context11.prev = _context11.next) {
1710
1891
  case 0:
1711
1892
  this.connectPending = false;
1712
1893
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
@@ -1716,7 +1897,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1716
1897
 
1717
1898
  /* We should have received an Offer by now */
1718
1899
  if (this.remoteRoapMessage) {
1719
- _context10.next = 1;
1900
+ _context11.next = 1;
1720
1901
  break;
1721
1902
  }
1722
1903
  _Logger.default.warn('Offer not yet received from remote end... Exiting', {
@@ -1724,31 +1905,31 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1724
1905
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_CONNECT
1725
1906
  });
1726
1907
  this.connectPending = true;
1727
- return _context10.abrupt("return");
1908
+ return _context11.abrupt("return");
1728
1909
  case 1:
1729
- _context10.prev = 1;
1910
+ _context11.prev = 1;
1730
1911
  /* Start Offer/Answer as we might have buffered the offer by now */
1731
1912
  this.mediaConnection.roapMessageReceived(this.remoteRoapMessage);
1732
1913
 
1733
1914
  /* send call_connect PATCH */
1734
- _context10.next = 2;
1915
+ _context11.next = 2;
1735
1916
  return this.patch(_types4.MobiusCallState.CONNECTED);
1736
1917
  case 2:
1737
- res = _context10.sent;
1918
+ res = _context11.sent;
1738
1919
  _Logger.default.log("PATCH response: ".concat(res.statusCode), {
1739
1920
  file: _constants.CALL_FILE,
1740
1921
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_CONNECT
1741
1922
  });
1742
- _context10.next = 4;
1923
+ _context11.next = 4;
1743
1924
  break;
1744
1925
  case 3:
1745
- _context10.prev = 3;
1746
- _t8 = _context10["catch"](1);
1747
- _Logger.default.error("Failed to connect the call: ".concat((0, _stringify.default)(_t8)), {
1926
+ _context11.prev = 3;
1927
+ _t9 = _context11["catch"](1);
1928
+ _Logger.default.error("Failed to connect the call: ".concat((0, _stringify.default)(_t9)), {
1748
1929
  file: _constants.CALL_FILE,
1749
1930
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_CONNECT
1750
1931
  });
1751
- errData = _t8;
1932
+ errData = _t9;
1752
1933
  (0, _Utils.handleCallErrors)(function (error) {
1753
1934
  _this6.emit(_types3.CALL_EVENT_KEYS.CALL_ERROR, error);
1754
1935
  _this6.submitCallErrorMetric(error);
@@ -1762,7 +1943,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1762
1943
  function (interval) {
1763
1944
  return undefined;
1764
1945
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_OUTGOING_CALL_CONNECT, _constants.CALL_FILE);
1765
- _context10.next = 4;
1946
+ _context11.next = 4;
1766
1947
  return (0, _Utils.uploadLogs)({
1767
1948
  correlationId: this.correlationId,
1768
1949
  callId: this.callId,
@@ -1770,11 +1951,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1770
1951
  });
1771
1952
  case 4:
1772
1953
  case "end":
1773
- return _context10.stop();
1954
+ return _context11.stop();
1774
1955
  }
1775
- }, _callee10, this, [[1, 3]]);
1956
+ }, _callee11, this, [[1, 3]]);
1776
1957
  }));
1777
- function handleOutgoingCallConnect(_x8) {
1958
+ function handleOutgoingCallConnect(_x9) {
1778
1959
  return _handleOutgoingCallConnect.apply(this, arguments);
1779
1960
  }
1780
1961
  return handleOutgoingCallConnect;
@@ -1789,10 +1970,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1789
1970
  }, {
1790
1971
  key: "handleIncomingCallDisconnect",
1791
1972
  value: (function () {
1792
- var _handleIncomingCallDisconnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee11(event) {
1793
- var response, _t9;
1794
- return _regenerator.default.wrap(function (_context11) {
1795
- while (1) switch (_context11.prev = _context11.next) {
1973
+ var _handleIncomingCallDisconnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(event) {
1974
+ var response, _t0;
1975
+ return _regenerator.default.wrap(function (_context12) {
1976
+ while (1) switch (_context12.prev = _context12.next) {
1796
1977
  case 0:
1797
1978
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1798
1979
  file: _constants.CALL_FILE,
@@ -1800,21 +1981,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1800
1981
  });
1801
1982
  this.emit(_types3.CALL_EVENT_KEYS.DISCONNECT, this.correlationId);
1802
1983
  this.setDisconnectReason();
1803
- _context11.prev = 1;
1804
- _context11.next = 2;
1984
+ _context12.prev = 1;
1985
+ _context12.next = 2;
1805
1986
  return this.delete();
1806
1987
  case 2:
1807
- response = _context11.sent;
1988
+ response = _context12.sent;
1808
1989
  _Logger.default.log("Response code: ".concat(response.statusCode), {
1809
1990
  file: _constants.CALL_FILE,
1810
1991
  method: _constants.METHODS.HANDLE_INCOMING_CALL_DISCONNECT
1811
1992
  });
1812
- _context11.next = 4;
1993
+ _context12.next = 4;
1813
1994
  break;
1814
1995
  case 3:
1815
- _context11.prev = 3;
1816
- _t9 = _context11["catch"](1);
1817
- _Logger.default.warn("Failed to delete the call: ".concat((0, _stringify.default)(_t9)), {
1996
+ _context12.prev = 3;
1997
+ _t0 = _context12["catch"](1);
1998
+ _Logger.default.warn("Failed to delete the call: ".concat((0, _stringify.default)(_t0)), {
1818
1999
  file: _constants.CALL_FILE,
1819
2000
  method: _constants.METHODS.HANDLE_INCOMING_CALL_DISCONNECT
1820
2001
  });
@@ -1836,6 +2017,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1836
2017
 
1837
2018
  /* istanbul ignore else */
1838
2019
  if (this.mediaConnection) {
2020
+ this.unregisterMediaConnectionListeners();
1839
2021
  this.mediaConnection.close();
1840
2022
  _Logger.default.info('Closing media channel', {
1841
2023
  file: _constants.CALL_FILE,
@@ -1850,11 +2032,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1850
2032
  });
1851
2033
  case 5:
1852
2034
  case "end":
1853
- return _context11.stop();
2035
+ return _context12.stop();
1854
2036
  }
1855
- }, _callee11, this, [[1, 3]]);
2037
+ }, _callee12, this, [[1, 3]]);
1856
2038
  }));
1857
- function handleIncomingCallDisconnect(_x9) {
2039
+ function handleIncomingCallDisconnect(_x0) {
1858
2040
  return _handleIncomingCallDisconnect.apply(this, arguments);
1859
2041
  }
1860
2042
  return handleIncomingCallDisconnect;
@@ -1869,21 +2051,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1869
2051
  }, {
1870
2052
  key: "handleOutgoingCallDisconnect",
1871
2053
  value: (function () {
1872
- var _handleOutgoingCallDisconnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee12(event) {
1873
- var response, _t0;
1874
- return _regenerator.default.wrap(function (_context12) {
1875
- while (1) switch (_context12.prev = _context12.next) {
2054
+ var _handleOutgoingCallDisconnect = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(event) {
2055
+ var response, _t1;
2056
+ return _regenerator.default.wrap(function (_context13) {
2057
+ while (1) switch (_context13.prev = _context13.next) {
1876
2058
  case 0:
1877
2059
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1878
2060
  file: _constants.CALL_FILE,
1879
2061
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_DISCONNECT
1880
2062
  });
1881
2063
  this.setDisconnectReason();
1882
- _context12.prev = 1;
1883
- _context12.next = 2;
2064
+ _context13.prev = 1;
2065
+ _context13.next = 2;
1884
2066
  return this.delete();
1885
2067
  case 2:
1886
- response = _context12.sent;
2068
+ response = _context13.sent;
1887
2069
  _Logger.default.log("Response code: ".concat(response.statusCode), {
1888
2070
  file: _constants.CALL_FILE,
1889
2071
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_DISCONNECT
@@ -1892,11 +2074,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1892
2074
  file: _constants.CALL_FILE,
1893
2075
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_DISCONNECT
1894
2076
  });
1895
- _context12.next = 4;
2077
+ _context13.next = 4;
1896
2078
  break;
1897
2079
  case 3:
1898
- _context12.prev = 3;
1899
- _t0 = _context12["catch"](1);
2080
+ _context13.prev = 3;
2081
+ _t1 = _context13["catch"](1);
1900
2082
  _Logger.default.warn('Failed to delete the call', {
1901
2083
  file: _constants.CALL_FILE,
1902
2084
  method: _constants.METHODS.HANDLE_OUTGOING_CALL_DISCONNECT
@@ -1919,6 +2101,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1919
2101
 
1920
2102
  /* istanbul ignore else */
1921
2103
  if (this.mediaConnection) {
2104
+ this.unregisterMediaConnectionListeners();
1922
2105
  this.mediaConnection.close();
1923
2106
  _Logger.default.info('Closing media channel', {
1924
2107
  file: _constants.CALL_FILE,
@@ -1933,11 +2116,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1933
2116
  });
1934
2117
  case 5:
1935
2118
  case "end":
1936
- return _context12.stop();
2119
+ return _context13.stop();
1937
2120
  }
1938
- }, _callee12, this, [[1, 3]]);
2121
+ }, _callee13, this, [[1, 3]]);
1939
2122
  }));
1940
- function handleOutgoingCallDisconnect(_x0) {
2123
+ function handleOutgoingCallDisconnect(_x1) {
1941
2124
  return _handleOutgoingCallDisconnect.apply(this, arguments);
1942
2125
  }
1943
2126
  return handleOutgoingCallDisconnect;
@@ -1973,10 +2156,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1973
2156
  }, {
1974
2157
  key: "handleUnknownState",
1975
2158
  value: (function () {
1976
- var _handleUnknownState = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee13(event) {
1977
- var eventData, response, _t1;
1978
- return _regenerator.default.wrap(function (_context13) {
1979
- while (1) switch (_context13.prev = _context13.next) {
2159
+ var _handleUnknownState = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(event) {
2160
+ var eventData, response, _t10;
2161
+ return _regenerator.default.wrap(function (_context14) {
2162
+ while (1) switch (_context14.prev = _context14.next) {
1980
2163
  case 0:
1981
2164
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
1982
2165
  file: _constants.CALL_FILE,
@@ -1997,21 +2180,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
1997
2180
  /* We need to clear the call at Mobius too. For delete failure
1998
2181
  * error handling is not required
1999
2182
  */
2000
- _context13.prev = 1;
2183
+ _context14.prev = 1;
2001
2184
  this.setDisconnectReason();
2002
- _context13.next = 2;
2185
+ _context14.next = 2;
2003
2186
  return this.delete();
2004
2187
  case 2:
2005
- response = _context13.sent;
2188
+ response = _context14.sent;
2006
2189
  _Logger.default.log("Response code: ".concat(response.statusCode), {
2007
2190
  file: _constants.CALL_FILE,
2008
2191
  method: _constants.METHODS.HANDLE_UNKNOWN_STATE
2009
2192
  });
2010
- _context13.next = 4;
2193
+ _context14.next = 4;
2011
2194
  break;
2012
2195
  case 3:
2013
- _context13.prev = 3;
2014
- _t1 = _context13["catch"](1);
2196
+ _context14.prev = 3;
2197
+ _t10 = _context14["catch"](1);
2015
2198
  _Logger.default.warn('Failed to delete the call', {
2016
2199
  file: _constants.CALL_FILE,
2017
2200
  method: _constants.METHODS.HANDLE_UNKNOWN_STATE
@@ -2027,6 +2210,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2027
2210
  clearInterval(this.sessionTimer);
2028
2211
  }
2029
2212
  if (this.mediaConnection) {
2213
+ this.unregisterMediaConnectionListeners();
2030
2214
  this.mediaConnection.close();
2031
2215
  _Logger.default.info('Closing media channel', {
2032
2216
  file: _constants.CALL_FILE,
@@ -2041,11 +2225,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2041
2225
  });
2042
2226
  case 5:
2043
2227
  case "end":
2044
- return _context13.stop();
2228
+ return _context14.stop();
2045
2229
  }
2046
- }, _callee13, this, [[1, 3]]);
2230
+ }, _callee14, this, [[1, 3]]);
2047
2231
  }));
2048
- function handleUnknownState(_x1) {
2232
+ function handleUnknownState(_x10) {
2049
2233
  return _handleUnknownState.apply(this, arguments);
2050
2234
  }
2051
2235
  return handleUnknownState;
@@ -2114,27 +2298,27 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2114
2298
  }, {
2115
2299
  key: "handleRoapEstablished",
2116
2300
  value: (function () {
2117
- var _handleRoapEstablished = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee14(context, event) {
2301
+ var _handleRoapEstablished = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(context, event) {
2118
2302
  var _this8 = this;
2119
- var _ref9, received, message, res, errData, _t10;
2120
- return _regenerator.default.wrap(function (_context14) {
2121
- while (1) switch (_context14.prev = _context14.next) {
2303
+ var _ref0, received, message, res, errData, _t11;
2304
+ return _regenerator.default.wrap(function (_context15) {
2305
+ while (1) switch (_context15.prev = _context15.next) {
2122
2306
  case 0:
2123
2307
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
2124
2308
  file: _constants.CALL_FILE,
2125
2309
  method: _constants.METHODS.HANDLE_ROAP_ESTABLISHED
2126
2310
  });
2127
- _ref9 = event.data, received = _ref9.received, message = _ref9.message;
2311
+ _ref0 = event.data, received = _ref0.received, message = _ref0.message;
2128
2312
  this.receivedRoapOKSeq = message.seq;
2129
2313
  if (received) {
2130
- _context14.next = 5;
2314
+ _context15.next = 5;
2131
2315
  break;
2132
2316
  }
2133
2317
  _Logger.default.info('Sending Media Ok to the remote End', {
2134
2318
  file: _constants.CALL_FILE,
2135
2319
  method: _constants.METHODS.HANDLE_ROAP_ESTABLISHED
2136
2320
  });
2137
- _context14.prev = 1;
2321
+ _context15.prev = 1;
2138
2322
  if (this.callStateMachine.state.value === 'S_RECV_CALL_PROGRESS' || this.callStateMachine.state.value === 'S_SEND_CALL_SETUP') {
2139
2323
  _Logger.default.info('Media negotiation completed before call connect. Setting media negotiation completed flag.', {
2140
2324
  file: _constants.CALL_FILE,
@@ -2143,10 +2327,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2143
2327
  this.mediaNegotiationCompleted = true;
2144
2328
  }
2145
2329
  message.seq = this.seq;
2146
- _context14.next = 2;
2330
+ _context15.next = 2;
2147
2331
  return this.postMedia(message);
2148
2332
  case 2:
2149
- res = _context14.sent;
2333
+ res = _context15.sent;
2150
2334
  _Logger.default.log("Response code: ".concat(res.statusCode), {
2151
2335
  file: _constants.CALL_FILE,
2152
2336
  method: _constants.METHODS.HANDLE_ROAP_ESTABLISHED
@@ -2157,16 +2341,16 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2157
2341
  type: 'E_CALL_ESTABLISHED'
2158
2342
  });
2159
2343
  }
2160
- _context14.next = 4;
2344
+ _context15.next = 4;
2161
2345
  break;
2162
2346
  case 3:
2163
- _context14.prev = 3;
2164
- _t10 = _context14["catch"](1);
2347
+ _context15.prev = 3;
2348
+ _t11 = _context15["catch"](1);
2165
2349
  _Logger.default.warn('Failed to process MediaOk request', {
2166
2350
  file: _constants.CALL_FILE,
2167
2351
  method: _constants.METHODS.HANDLE_ROAP_ESTABLISHED
2168
2352
  });
2169
- errData = _t10;
2353
+ errData = _t11;
2170
2354
  (0, _Utils.handleCallErrors)(this.getEmitterCallback(errData), _types.ERROR_LAYER.MEDIA, function (interval) {
2171
2355
  /* Start retry if only it is a midcall case */
2172
2356
  /* istanbul ignore else */
@@ -2179,14 +2363,14 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2179
2363
  }, interval * 1000);
2180
2364
  }
2181
2365
  }, this.getCorrelationId(), errData, this.handleRoapEstablished.name, _constants.CALL_FILE);
2182
- _context14.next = 4;
2366
+ _context15.next = 4;
2183
2367
  return (0, _Utils.uploadLogs)({
2184
2368
  correlationId: this.correlationId,
2185
2369
  callId: this.callId,
2186
2370
  broadworksCorrelationInfo: this.broadworksCorrelationInfo
2187
2371
  });
2188
2372
  case 4:
2189
- _context14.next = 6;
2373
+ _context15.next = 6;
2190
2374
  break;
2191
2375
  case 5:
2192
2376
  _Logger.default.info('Notifying internal-media-core about ROAP OK message', {
@@ -2220,11 +2404,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2220
2404
  }
2221
2405
  case 6:
2222
2406
  case "end":
2223
- return _context14.stop();
2407
+ return _context15.stop();
2224
2408
  }
2225
- }, _callee14, this, [[1, 3]]);
2409
+ }, _callee15, this, [[1, 3]]);
2226
2410
  }));
2227
- function handleRoapEstablished(_x10, _x11) {
2411
+ function handleRoapEstablished(_x11, _x12) {
2228
2412
  return _handleRoapEstablished.apply(this, arguments);
2229
2413
  }
2230
2414
  return handleRoapEstablished;
@@ -2239,11 +2423,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2239
2423
  }, {
2240
2424
  key: "handleRoapError",
2241
2425
  value: (function () {
2242
- var _handleRoapError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee15(context, event) {
2426
+ var _handleRoapError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16(context, event) {
2243
2427
  var _this9 = this;
2244
- var message, res, errData, _t11;
2245
- return _regenerator.default.wrap(function (_context15) {
2246
- while (1) switch (_context15.prev = _context15.next) {
2428
+ var message, res, errData, _t12;
2429
+ return _regenerator.default.wrap(function (_context16) {
2430
+ while (1) switch (_context16.prev = _context16.next) {
2247
2431
  case 0:
2248
2432
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
2249
2433
  file: _constants.CALL_FILE,
@@ -2254,28 +2438,28 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2254
2438
  message = event.data;
2255
2439
  /* istanbul ignore else */
2256
2440
  if (!(message && message.messageType === 'ERROR')) {
2257
- _context15.next = 4;
2441
+ _context16.next = 4;
2258
2442
  break;
2259
2443
  }
2260
- _context15.prev = 1;
2261
- _context15.next = 2;
2444
+ _context16.prev = 1;
2445
+ _context16.next = 2;
2262
2446
  return this.postMedia(message);
2263
2447
  case 2:
2264
- res = _context15.sent;
2448
+ res = _context16.sent;
2265
2449
  _Logger.default.info("Response code: ".concat(res.statusCode), {
2266
2450
  file: _constants.CALL_FILE,
2267
2451
  method: _constants.METHODS.HANDLE_ROAP_ERROR
2268
2452
  });
2269
- _context15.next = 4;
2453
+ _context16.next = 4;
2270
2454
  break;
2271
2455
  case 3:
2272
- _context15.prev = 3;
2273
- _t11 = _context15["catch"](1);
2456
+ _context16.prev = 3;
2457
+ _t12 = _context16["catch"](1);
2274
2458
  _Logger.default.warn('Failed to communicate ROAP error to Webex Calling', {
2275
2459
  file: _constants.CALL_FILE,
2276
2460
  method: _constants.METHODS.HANDLE_ROAP_ERROR
2277
2461
  });
2278
- errData = _t11;
2462
+ errData = _t12;
2279
2463
  (0, _Utils.handleCallErrors)(function (error) {
2280
2464
  _this9.emit(_types3.CALL_EVENT_KEYS.CALL_ERROR, error);
2281
2465
  _this9.submitCallErrorMetric(error);
@@ -2285,7 +2469,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2285
2469
  function (interval) {
2286
2470
  return undefined;
2287
2471
  }, this.getCorrelationId(), errData, this.handleRoapError.name, _constants.CALL_FILE);
2288
- _context15.next = 4;
2472
+ _context16.next = 4;
2289
2473
  return (0, _Utils.uploadLogs)({
2290
2474
  correlationId: this.correlationId,
2291
2475
  callId: this.callId,
@@ -2308,11 +2492,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2308
2492
  }
2309
2493
  case 5:
2310
2494
  case "end":
2311
- return _context15.stop();
2495
+ return _context16.stop();
2312
2496
  }
2313
- }, _callee15, this, [[1, 3]]);
2497
+ }, _callee16, this, [[1, 3]]);
2314
2498
  }));
2315
- function handleRoapError(_x12, _x13) {
2499
+ function handleRoapError(_x13, _x14) {
2316
2500
  return _handleRoapError.apply(this, arguments);
2317
2501
  }
2318
2502
  return handleRoapError;
@@ -2327,11 +2511,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2327
2511
  }, {
2328
2512
  key: "handleOutgoingRoapOffer",
2329
2513
  value: (function () {
2330
- var _handleOutgoingRoapOffer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee16(context, event) {
2514
+ var _handleOutgoingRoapOffer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(context, event) {
2331
2515
  var _this0 = this;
2332
- var message, res, errData, _t12;
2333
- return _regenerator.default.wrap(function (_context16) {
2334
- while (1) switch (_context16.prev = _context16.next) {
2516
+ var message, res, errData, _t13;
2517
+ return _regenerator.default.wrap(function (_context17) {
2518
+ while (1) switch (_context17.prev = _context17.next) {
2335
2519
  case 0:
2336
2520
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
2337
2521
  file: _constants.CALL_FILE,
@@ -2339,7 +2523,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2339
2523
  });
2340
2524
  message = event.data;
2341
2525
  if (message !== null && message !== void 0 && message.sdp) {
2342
- _context16.next = 1;
2526
+ _context17.next = 1;
2343
2527
  break;
2344
2528
  }
2345
2529
  _Logger.default.info('Initializing Offer...', {
@@ -2347,27 +2531,27 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2347
2531
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_OFFER
2348
2532
  });
2349
2533
  this.mediaConnection.initiateOffer();
2350
- return _context16.abrupt("return");
2534
+ return _context17.abrupt("return");
2351
2535
  case 1:
2352
- _context16.prev = 1;
2353
- _context16.next = 2;
2536
+ _context17.prev = 1;
2537
+ _context17.next = 2;
2354
2538
  return this.postMedia(message);
2355
2539
  case 2:
2356
- res = _context16.sent;
2540
+ res = _context17.sent;
2357
2541
  _Logger.default.log("Response code: ".concat(res.statusCode), {
2358
2542
  file: _constants.CALL_FILE,
2359
2543
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_OFFER
2360
2544
  });
2361
- _context16.next = 4;
2545
+ _context17.next = 4;
2362
2546
  break;
2363
2547
  case 3:
2364
- _context16.prev = 3;
2365
- _t12 = _context16["catch"](1);
2548
+ _context17.prev = 3;
2549
+ _t13 = _context17["catch"](1);
2366
2550
  _Logger.default.warn('Failed to send MediaOffer request', {
2367
2551
  file: _constants.CALL_FILE,
2368
2552
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_OFFER
2369
2553
  });
2370
- errData = _t12;
2554
+ errData = _t13;
2371
2555
  (0, _Utils.handleCallErrors)(this.getEmitterCallback(errData), _types.ERROR_LAYER.MEDIA, function (interval) {
2372
2556
  /* Start retry if only it is a midcall case */
2373
2557
  if (_this0.connected) {
@@ -2379,7 +2563,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2379
2563
  }, interval * 1000);
2380
2564
  }
2381
2565
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_OUTGOING_ROAP_OFFER, _constants.CALL_FILE);
2382
- _context16.next = 4;
2566
+ _context17.next = 4;
2383
2567
  return (0, _Utils.uploadLogs)({
2384
2568
  correlationId: this.correlationId,
2385
2569
  callId: this.callId,
@@ -2387,11 +2571,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2387
2571
  });
2388
2572
  case 4:
2389
2573
  case "end":
2390
- return _context16.stop();
2574
+ return _context17.stop();
2391
2575
  }
2392
- }, _callee16, this, [[1, 3]]);
2576
+ }, _callee17, this, [[1, 3]]);
2393
2577
  }));
2394
- function handleOutgoingRoapOffer(_x14, _x15) {
2578
+ function handleOutgoingRoapOffer(_x15, _x16) {
2395
2579
  return _handleOutgoingRoapOffer.apply(this, arguments);
2396
2580
  }
2397
2581
  return handleOutgoingRoapOffer;
@@ -2406,37 +2590,37 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2406
2590
  }, {
2407
2591
  key: "handleOutgoingRoapAnswer",
2408
2592
  value: (function () {
2409
- var _handleOutgoingRoapAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee17(context, event) {
2593
+ var _handleOutgoingRoapAnswer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(context, event) {
2410
2594
  var _this1 = this;
2411
- var message, res, errData, _t13;
2412
- return _regenerator.default.wrap(function (_context17) {
2413
- while (1) switch (_context17.prev = _context17.next) {
2595
+ var message, res, errData, _t14;
2596
+ return _regenerator.default.wrap(function (_context18) {
2597
+ while (1) switch (_context18.prev = _context18.next) {
2414
2598
  case 0:
2415
2599
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with: ").concat(this.getCorrelationId()), {
2416
2600
  file: _constants.CALL_FILE,
2417
2601
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_ANSWER
2418
2602
  });
2419
2603
  message = event.data;
2420
- _context17.prev = 1;
2604
+ _context18.prev = 1;
2421
2605
  message.seq = this.seq;
2422
- _context17.next = 2;
2606
+ _context18.next = 2;
2423
2607
  return this.postMedia(message);
2424
2608
  case 2:
2425
- res = _context17.sent;
2609
+ res = _context18.sent;
2426
2610
  _Logger.default.log("Response code: ".concat(res.statusCode), {
2427
2611
  file: _constants.CALL_FILE,
2428
2612
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_ANSWER
2429
2613
  });
2430
- _context17.next = 4;
2614
+ _context18.next = 4;
2431
2615
  break;
2432
2616
  case 3:
2433
- _context17.prev = 3;
2434
- _t13 = _context17["catch"](1);
2617
+ _context18.prev = 3;
2618
+ _t14 = _context18["catch"](1);
2435
2619
  _Logger.default.warn('Failed to send MediaAnswer request', {
2436
2620
  file: _constants.CALL_FILE,
2437
2621
  method: _constants.METHODS.HANDLE_OUTGOING_ROAP_ANSWER
2438
2622
  });
2439
- errData = _t13;
2623
+ errData = _t14;
2440
2624
  (0, _Utils.handleCallErrors)(this.getEmitterCallback(errData), _types.ERROR_LAYER.MEDIA, function (interval) {
2441
2625
  /* Start retry if only it is a midcall case */
2442
2626
  if (_this1.connected) {
@@ -2448,7 +2632,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2448
2632
  }, interval * 1000);
2449
2633
  }
2450
2634
  }, this.getCorrelationId(), errData, _constants.METHODS.HANDLE_OUTGOING_ROAP_ANSWER, _constants.CALL_FILE);
2451
- _context17.next = 4;
2635
+ _context18.next = 4;
2452
2636
  return (0, _Utils.uploadLogs)({
2453
2637
  correlationId: this.correlationId,
2454
2638
  callId: this.callId,
@@ -2456,11 +2640,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2456
2640
  });
2457
2641
  case 4:
2458
2642
  case "end":
2459
- return _context17.stop();
2643
+ return _context18.stop();
2460
2644
  }
2461
- }, _callee17, this, [[1, 3]]);
2645
+ }, _callee18, this, [[1, 3]]);
2462
2646
  }));
2463
- function handleOutgoingRoapAnswer(_x16, _x17) {
2647
+ function handleOutgoingRoapAnswer(_x17, _x18) {
2464
2648
  return _handleOutgoingRoapAnswer.apply(this, arguments);
2465
2649
  }
2466
2650
  return handleOutgoingRoapAnswer;
@@ -2620,10 +2804,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2620
2804
  * @param localAudioStream - The local audio stream for the call.
2621
2805
  */
2622
2806
  function () {
2623
- var _answer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18(localAudioStream) {
2807
+ var _answer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19(localAudioStream) {
2624
2808
  var localAudioTrack;
2625
- return _regenerator.default.wrap(function (_context18) {
2626
- while (1) switch (_context18.prev = _context18.next) {
2809
+ return _regenerator.default.wrap(function (_context19) {
2810
+ while (1) switch (_context19.prev = _context19.next) {
2627
2811
  case 0:
2628
2812
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with stream"), {
2629
2813
  file: _constants.CALL_FILE,
@@ -2632,7 +2816,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2632
2816
  this.localAudioStream = localAudioStream;
2633
2817
  localAudioTrack = localAudioStream.outputStream.getAudioTracks()[0];
2634
2818
  if (localAudioTrack) {
2635
- _context18.next = 1;
2819
+ _context19.next = 1;
2636
2820
  break;
2637
2821
  }
2638
2822
  _Logger.default.warn("Did not find a local track while answering the call ".concat(this.getCorrelationId()), {
@@ -2643,13 +2827,14 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2643
2827
  this.sendCallStateMachineEvt({
2644
2828
  type: 'E_SEND_CALL_DISCONNECT'
2645
2829
  });
2646
- return _context18.abrupt("return");
2830
+ return _context19.abrupt("return");
2647
2831
  case 1:
2648
2832
  localAudioTrack.enabled = true;
2649
2833
  if (!this.mediaConnection) {
2650
2834
  this.initMediaConnection(localAudioTrack);
2651
2835
  this.mediaRoapEventsListener();
2652
2836
  this.mediaTrackListener();
2837
+ this.mediaIceEventsListener();
2653
2838
  this.registerListeners(localAudioStream);
2654
2839
  }
2655
2840
  if (this.callStateMachine.state.value === 'S_SEND_CALL_PROGRESS') {
@@ -2664,11 +2849,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2664
2849
  }
2665
2850
  case 2:
2666
2851
  case "end":
2667
- return _context18.stop();
2852
+ return _context19.stop();
2668
2853
  }
2669
- }, _callee18, this);
2854
+ }, _callee19, this);
2670
2855
  }));
2671
- function answer(_x18) {
2856
+ function answer(_x19) {
2672
2857
  return _answer.apply(this, arguments);
2673
2858
  }
2674
2859
  return answer;
@@ -2681,10 +2866,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2681
2866
  }, {
2682
2867
  key: "dial",
2683
2868
  value: (function () {
2684
- var _dial = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee19(localAudioStream) {
2869
+ var _dial = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(localAudioStream) {
2685
2870
  var localAudioTrack;
2686
- return _regenerator.default.wrap(function (_context19) {
2687
- while (1) switch (_context19.prev = _context19.next) {
2871
+ return _regenerator.default.wrap(function (_context20) {
2872
+ while (1) switch (_context20.prev = _context20.next) {
2688
2873
  case 0:
2689
2874
  _Logger.default.info("".concat(_constants2.METHOD_START_MESSAGE, " with stream"), {
2690
2875
  file: _constants.CALL_FILE,
@@ -2693,7 +2878,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2693
2878
  this.localAudioStream = localAudioStream;
2694
2879
  localAudioTrack = localAudioStream.outputStream.getAudioTracks()[0];
2695
2880
  if (localAudioTrack) {
2696
- _context19.next = 1;
2881
+ _context20.next = 1;
2697
2882
  break;
2698
2883
  }
2699
2884
  _Logger.default.warn("Did not find a local track while dialing the call ".concat(this.getCorrelationId()), {
@@ -2702,13 +2887,14 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2702
2887
  });
2703
2888
  this.deleteCb(this.getCorrelationId());
2704
2889
  this.emit(_types3.CALL_EVENT_KEYS.DISCONNECT, this.getCorrelationId());
2705
- return _context19.abrupt("return");
2890
+ return _context20.abrupt("return");
2706
2891
  case 1:
2707
2892
  localAudioTrack.enabled = true;
2708
2893
  if (!this.mediaConnection) {
2709
2894
  this.initMediaConnection(localAudioTrack);
2710
2895
  this.mediaRoapEventsListener();
2711
2896
  this.mediaTrackListener();
2897
+ this.mediaIceEventsListener();
2712
2898
  this.registerListeners(localAudioStream);
2713
2899
  }
2714
2900
  if (this.mediaStateMachine.state.value === 'S_ROAP_IDLE') {
@@ -2723,11 +2909,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2723
2909
  }
2724
2910
  case 2:
2725
2911
  case "end":
2726
- return _context19.stop();
2912
+ return _context20.stop();
2727
2913
  }
2728
- }, _callee19, this);
2914
+ }, _callee20, this);
2729
2915
  }));
2730
- function dial(_x19) {
2916
+ function dial(_x20) {
2731
2917
  return _dial.apply(this, arguments);
2732
2918
  }
2733
2919
  return dial;
@@ -2741,15 +2927,15 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2741
2927
  * @param state -.
2742
2928
  */
2743
2929
  function () {
2744
- var _patch = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee20(state) {
2745
- return _regenerator.default.wrap(function (_context20) {
2746
- while (1) switch (_context20.prev = _context20.next) {
2930
+ var _patch = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21(state) {
2931
+ return _regenerator.default.wrap(function (_context21) {
2932
+ while (1) switch (_context21.prev = _context21.next) {
2747
2933
  case 0:
2748
2934
  _Logger.default.info("Send a PATCH for ".concat(state, " to Webex Calling"), {
2749
2935
  file: _constants.CALL_FILE,
2750
2936
  method: 'patch'
2751
2937
  });
2752
- return _context20.abrupt("return", this.apiRequest.makeRequest({
2938
+ return _context21.abrupt("return", this.apiRequest.makeRequest({
2753
2939
  uri: "".concat(this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(this.deviceId, "/").concat(_constants.CALLS_ENDPOINT_RESOURCE, "/").concat(this.callId),
2754
2940
  method: _types2.HTTP_METHODS.PATCH,
2755
2941
  service: _types2.ALLOWED_SERVICES.MOBIUS,
@@ -2766,11 +2952,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2766
2952
  }));
2767
2953
  case 1:
2768
2954
  case "end":
2769
- return _context20.stop();
2955
+ return _context21.stop();
2770
2956
  }
2771
- }, _callee20, this);
2957
+ }, _callee21, this);
2772
2958
  }));
2773
- function patch(_x20) {
2959
+ function patch(_x21) {
2774
2960
  return _patch.apply(this, arguments);
2775
2961
  }
2776
2962
  return patch;
@@ -2785,10 +2971,10 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2785
2971
  }, {
2786
2972
  key: "postSSRequest",
2787
2973
  value: (function () {
2788
- var _postSSRequest = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee21(context, type) {
2789
- var request, transferContext, _t14;
2790
- return _regenerator.default.wrap(function (_context21) {
2791
- while (1) switch (_context21.prev = _context21.next) {
2974
+ var _postSSRequest = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22(context, type) {
2975
+ var request, transferContext, _t15;
2976
+ return _regenerator.default.wrap(function (_context22) {
2977
+ while (1) switch (_context22.prev = _context22.next) {
2792
2978
  case 0:
2793
2979
  request = {
2794
2980
  uri: "".concat(this.mobiusUrl).concat(_constants2.SERVICES_ENDPOINT),
@@ -2803,15 +2989,15 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2803
2989
  callId: this.callId
2804
2990
  }
2805
2991
  };
2806
- _t14 = type;
2807
- _context21.next = _t14 === _types3.SUPPLEMENTARY_SERVICES.HOLD ? 1 : _t14 === _types3.SUPPLEMENTARY_SERVICES.RESUME ? 2 : _t14 === _types3.SUPPLEMENTARY_SERVICES.TRANSFER ? 3 : 4;
2992
+ _t15 = type;
2993
+ _context22.next = _t15 === _types3.SUPPLEMENTARY_SERVICES.HOLD ? 1 : _t15 === _types3.SUPPLEMENTARY_SERVICES.RESUME ? 2 : _t15 === _types3.SUPPLEMENTARY_SERVICES.TRANSFER ? 3 : 4;
2808
2994
  break;
2809
2995
  case 1:
2810
2996
  request.uri = "".concat(request.uri, "/").concat(_constants.CALL_HOLD_SERVICE, "/").concat(_constants.HOLD_ENDPOINT);
2811
- return _context21.abrupt("continue", 5);
2997
+ return _context22.abrupt("continue", 5);
2812
2998
  case 2:
2813
2999
  request.uri = "".concat(request.uri, "/").concat(_constants.CALL_HOLD_SERVICE, "/").concat(_constants.RESUME_ENDPOINT);
2814
- return _context21.abrupt("continue", 5);
3000
+ return _context22.abrupt("continue", 5);
2815
3001
  case 3:
2816
3002
  request.uri = "".concat(request.uri, "/").concat(_constants.CALL_TRANSFER_SERVICE, "/").concat(_constants.TRANSFER_ENDPOINT);
2817
3003
  transferContext = context;
@@ -2830,21 +3016,21 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2830
3016
  transferType: _types4.TransferType.CONSULT
2831
3017
  });
2832
3018
  }
2833
- return _context21.abrupt("continue", 5);
3019
+ return _context22.abrupt("continue", 5);
2834
3020
  case 4:
2835
3021
  _Logger.default.warn("Unknown type for PUT request: ".concat(type), {
2836
3022
  file: _constants.CALL_FILE,
2837
3023
  method: _constants.METHODS.POST_SS_REQUEST
2838
3024
  });
2839
3025
  case 5:
2840
- return _context21.abrupt("return", this.apiRequest.makeRequest(request));
3026
+ return _context22.abrupt("return", this.apiRequest.makeRequest(request));
2841
3027
  case 6:
2842
3028
  case "end":
2843
- return _context21.stop();
3029
+ return _context22.stop();
2844
3030
  }
2845
- }, _callee21, this);
3031
+ }, _callee22, this);
2846
3032
  }));
2847
- function postSSRequest(_x21, _x22) {
3033
+ function postSSRequest(_x22, _x23) {
2848
3034
  return _postSSRequest.apply(this, arguments);
2849
3035
  }
2850
3036
  return postSSRequest;
@@ -2856,11 +3042,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2856
3042
  }, {
2857
3043
  key: "postStatus",
2858
3044
  value: (function () {
2859
- var _postStatus = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22() {
2860
- return _regenerator.default.wrap(function (_context22) {
2861
- while (1) switch (_context22.prev = _context22.next) {
3045
+ var _postStatus = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23() {
3046
+ return _regenerator.default.wrap(function (_context23) {
3047
+ while (1) switch (_context23.prev = _context23.next) {
2862
3048
  case 0:
2863
- return _context22.abrupt("return", this.apiRequest.makeRequest({
3049
+ return _context23.abrupt("return", this.apiRequest.makeRequest({
2864
3050
  uri: "".concat(this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(this.deviceId, "/").concat(_constants.CALLS_ENDPOINT_RESOURCE, "/").concat(this.callId, "/").concat(_constants.CALL_STATUS_RESOURCE),
2865
3051
  method: _types2.HTTP_METHODS.POST,
2866
3052
  service: _types2.ALLOWED_SERVICES.MOBIUS,
@@ -2875,9 +3061,9 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2875
3061
  }));
2876
3062
  case 1:
2877
3063
  case "end":
2878
- return _context22.stop();
3064
+ return _context23.stop();
2879
3065
  }
2880
- }, _callee22, this);
3066
+ }, _callee23, this);
2881
3067
  }));
2882
3068
  function postStatus() {
2883
3069
  return _postStatus.apply(this, arguments);
@@ -2896,14 +3082,14 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2896
3082
  }, {
2897
3083
  key: "completeTransfer",
2898
3084
  value: (function () {
2899
- var _completeTransfer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee23(transferType, transferCallId, transferTarget) {
3085
+ var _completeTransfer = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24(transferType, transferCallId, transferTarget) {
2900
3086
  var _this11 = this;
2901
- var context, errData, _context23, _errData, _t15, _t16;
2902
- return _regenerator.default.wrap(function (_context24) {
2903
- while (1) switch (_context24.prev = _context24.next) {
3087
+ var context, errData, _context24, _errData, _t16, _t17;
3088
+ return _regenerator.default.wrap(function (_context25) {
3089
+ while (1) switch (_context25.prev = _context25.next) {
2904
3090
  case 0:
2905
3091
  if (!(transferType === _types4.TransferType.BLIND && transferTarget)) {
2906
- _context24.next = 5;
3092
+ _context25.next = 5;
2907
3093
  break;
2908
3094
  }
2909
3095
  /* blind transfer */
@@ -2916,8 +3102,8 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2916
3102
  transferorCallId: this.getCallId(),
2917
3103
  destination: transferTarget
2918
3104
  };
2919
- _context24.prev = 1;
2920
- _context24.next = 2;
3105
+ _context25.prev = 1;
3106
+ _context25.next = 2;
2921
3107
  return this.postSSRequest(context, _types3.SUPPLEMENTARY_SERVICES.TRANSFER);
2922
3108
  case 2:
2923
3109
  _Logger.default.info("Blind Transfer completed for correlationId ".concat(this.getCorrelationId()), {
@@ -2925,16 +3111,16 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2925
3111
  method: _constants.METHODS.COMPLETE_TRANSFER
2926
3112
  });
2927
3113
  this.metricManager.submitCallMetric(_types5.METRIC_EVENT.CALL, _types5.TRANSFER_ACTION.BLIND, _types5.METRIC_TYPE.BEHAVIORAL, this.getCallId(), this.getCorrelationId(), undefined);
2928
- _context24.next = 4;
3114
+ _context25.next = 4;
2929
3115
  break;
2930
3116
  case 3:
2931
- _context24.prev = 3;
2932
- _t15 = _context24["catch"](1);
3117
+ _context25.prev = 3;
3118
+ _t16 = _context25["catch"](1);
2933
3119
  _Logger.default.warn("Blind Transfer failed for correlationId ".concat(this.getCorrelationId()), {
2934
3120
  file: _constants.CALL_FILE,
2935
3121
  method: _constants.METHODS.COMPLETE_TRANSFER
2936
3122
  });
2937
- errData = _t15;
3123
+ errData = _t16;
2938
3124
  (0, _Utils.handleCallErrors)(function (error) {
2939
3125
  _this11.emit(_types3.CALL_EVENT_KEYS.TRANSFER_ERROR, error);
2940
3126
  _this11.submitCallErrorMetric(error, _types5.TRANSFER_ACTION.BLIND);
@@ -2944,18 +3130,18 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2944
3130
  function (interval) {
2945
3131
  return undefined;
2946
3132
  }, this.getCorrelationId(), errData, _constants.METHODS.COMPLETE_TRANSFER, _constants.CALL_FILE);
2947
- _context24.next = 4;
3133
+ _context25.next = 4;
2948
3134
  return (0, _Utils.uploadLogs)({
2949
3135
  correlationId: this.correlationId,
2950
3136
  callId: this.callId,
2951
3137
  broadworksCorrelationInfo: this.broadworksCorrelationInfo
2952
3138
  });
2953
3139
  case 4:
2954
- _context24.next = 11;
3140
+ _context25.next = 11;
2955
3141
  break;
2956
3142
  case 5:
2957
3143
  if (!(transferType === _types4.TransferType.CONSULT && transferCallId)) {
2958
- _context24.next = 10;
3144
+ _context25.next = 10;
2959
3145
  break;
2960
3146
  }
2961
3147
  /* Consult transfer */
@@ -2964,29 +3150,29 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2964
3150
  file: _constants.CALL_FILE,
2965
3151
  method: _constants.METHODS.COMPLETE_TRANSFER
2966
3152
  });
2967
- _context23 = {
3153
+ _context24 = {
2968
3154
  transferorCallId: this.getCallId(),
2969
3155
  transferToCallId: transferCallId
2970
3156
  };
2971
- _context24.prev = 6;
2972
- _context24.next = 7;
2973
- return this.postSSRequest(_context23, _types3.SUPPLEMENTARY_SERVICES.TRANSFER);
3157
+ _context25.prev = 6;
3158
+ _context25.next = 7;
3159
+ return this.postSSRequest(_context24, _types3.SUPPLEMENTARY_SERVICES.TRANSFER);
2974
3160
  case 7:
2975
3161
  _Logger.default.info("Consult Transfer completed for correlationId ".concat(this.getCorrelationId()), {
2976
3162
  file: _constants.CALL_FILE,
2977
3163
  method: _constants.METHODS.COMPLETE_TRANSFER
2978
3164
  });
2979
3165
  this.metricManager.submitCallMetric(_types5.METRIC_EVENT.CALL, _types5.TRANSFER_ACTION.CONSULT, _types5.METRIC_TYPE.BEHAVIORAL, this.getCallId(), this.getCorrelationId(), undefined);
2980
- _context24.next = 9;
3166
+ _context25.next = 9;
2981
3167
  break;
2982
3168
  case 8:
2983
- _context24.prev = 8;
2984
- _t16 = _context24["catch"](6);
3169
+ _context25.prev = 8;
3170
+ _t17 = _context25["catch"](6);
2985
3171
  _Logger.default.warn("Consult Transfer failed for correlationId ".concat(this.getCorrelationId()), {
2986
3172
  file: _constants.CALL_FILE,
2987
3173
  method: _constants.METHODS.COMPLETE_TRANSFER
2988
3174
  });
2989
- _errData = _t16;
3175
+ _errData = _t17;
2990
3176
  (0, _Utils.handleCallErrors)(function (error) {
2991
3177
  _this11.emit(_types3.CALL_EVENT_KEYS.TRANSFER_ERROR, error);
2992
3178
  _this11.submitCallErrorMetric(error, _types5.TRANSFER_ACTION.CONSULT);
@@ -2996,14 +3182,14 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
2996
3182
  function (interval) {
2997
3183
  return undefined;
2998
3184
  }, this.getCorrelationId(), _errData, _constants.METHODS.COMPLETE_TRANSFER, _constants.CALL_FILE);
2999
- _context24.next = 9;
3185
+ _context25.next = 9;
3000
3186
  return (0, _Utils.uploadLogs)({
3001
3187
  correlationId: this.correlationId,
3002
3188
  callId: this.callId,
3003
3189
  broadworksCorrelationInfo: this.broadworksCorrelationInfo
3004
3190
  });
3005
3191
  case 9:
3006
- _context24.next = 11;
3192
+ _context25.next = 11;
3007
3193
  break;
3008
3194
  case 10:
3009
3195
  _Logger.default.warn("Invalid information received, transfer failed for correlationId: ".concat(this.getCorrelationId()), {
@@ -3012,11 +3198,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3012
3198
  });
3013
3199
  case 11:
3014
3200
  case "end":
3015
- return _context24.stop();
3201
+ return _context25.stop();
3016
3202
  }
3017
- }, _callee23, this, [[1, 3], [6, 8]]);
3203
+ }, _callee24, this, [[1, 3], [6, 8]]);
3018
3204
  }));
3019
- function completeTransfer(_x23, _x24, _x25) {
3205
+ function completeTransfer(_x24, _x25, _x26) {
3020
3206
  return _completeTransfer.apply(this, arguments);
3021
3207
  }
3022
3208
  return completeTransfer;
@@ -3028,32 +3214,32 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3028
3214
  }, {
3029
3215
  key: "getCallStats",
3030
3216
  value: (function () {
3031
- var _getCallStats = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee24() {
3032
- var stats, _t17;
3033
- return _regenerator.default.wrap(function (_context25) {
3034
- while (1) switch (_context25.prev = _context25.next) {
3217
+ var _getCallStats = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25() {
3218
+ var stats, _t18;
3219
+ return _regenerator.default.wrap(function (_context26) {
3220
+ while (1) switch (_context26.prev = _context26.next) {
3035
3221
  case 0:
3036
- _context25.prev = 0;
3037
- _context25.next = 1;
3222
+ _context26.prev = 0;
3223
+ _context26.next = 1;
3038
3224
  return this.mediaConnection.getStats();
3039
3225
  case 1:
3040
- stats = _context25.sent;
3041
- _context25.next = 3;
3226
+ stats = _context26.sent;
3227
+ _context26.next = 3;
3042
3228
  break;
3043
3229
  case 2:
3044
- _context25.prev = 2;
3045
- _t17 = _context25["catch"](0);
3230
+ _context26.prev = 2;
3231
+ _t18 = _context26["catch"](0);
3046
3232
  _Logger.default.warn('Stats collection failed, using dummy stats', {
3047
3233
  file: _constants.CALL_FILE,
3048
3234
  method: _constants.METHODS.GET_CALL_STATS
3049
3235
  });
3050
3236
  case 3:
3051
- return _context25.abrupt("return", (0, _Utils.parseMediaQualityStatistics)(stats));
3237
+ return _context26.abrupt("return", (0, _Utils.parseMediaQualityStatistics)(stats));
3052
3238
  case 4:
3053
3239
  case "end":
3054
- return _context25.stop();
3240
+ return _context26.stop();
3055
3241
  }
3056
- }, _callee24, this, [[0, 2]]);
3242
+ }, _callee25, this, [[0, 2]]);
3057
3243
  }));
3058
3244
  function getCallStats() {
3059
3245
  return _getCallStats.apply(this, arguments);
@@ -3069,15 +3255,15 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3069
3255
  }, {
3070
3256
  key: "postMedia",
3071
3257
  value: (function () {
3072
- var _postMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee25(roapMessage) {
3073
- return _regenerator.default.wrap(function (_context26) {
3074
- while (1) switch (_context26.prev = _context26.next) {
3258
+ var _postMedia = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(roapMessage) {
3259
+ return _regenerator.default.wrap(function (_context27) {
3260
+ while (1) switch (_context27.prev = _context27.next) {
3075
3261
  case 0:
3076
3262
  _Logger.default.log('Posting message to Webex Calling', {
3077
3263
  file: _constants.CALL_FILE,
3078
3264
  method: _constants.METHODS.POST_MEDIA
3079
3265
  });
3080
- return _context26.abrupt("return", this.apiRequest.makeRequest({
3266
+ return _context27.abrupt("return", this.apiRequest.makeRequest({
3081
3267
  uri: "".concat(this.mobiusUrl).concat(_constants.DEVICES_ENDPOINT_RESOURCE, "/").concat(this.deviceId, "/").concat(_constants.CALLS_ENDPOINT_RESOURCE, "/").concat(this.callId, "/").concat(_constants.MEDIA_ENDPOINT_RESOURCE),
3082
3268
  method: _types2.HTTP_METHODS.POST,
3083
3269
  service: _types2.ALLOWED_SERVICES.MOBIUS,
@@ -3096,11 +3282,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3096
3282
  }));
3097
3283
  case 1:
3098
3284
  case "end":
3099
- return _context26.stop();
3285
+ return _context27.stop();
3100
3286
  }
3101
- }, _callee25, this);
3287
+ }, _callee26, this);
3102
3288
  }));
3103
- function postMedia(_x26) {
3289
+ function postMedia(_x27) {
3104
3290
  return _postMedia.apply(this, arguments);
3105
3291
  }
3106
3292
  return postMedia;
@@ -3113,100 +3299,8 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3113
3299
  }, {
3114
3300
  key: "mediaRoapEventsListener",
3115
3301
  value: function mediaRoapEventsListener() {
3116
- var _this12 = this;
3117
- this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ROAP_MESSAGE_TO_SEND,
3118
- /*#__PURE__*/
3119
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3120
- function () {
3121
- var _ref0 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee26(event) {
3122
- var _event$roapMessage, _event$roapMessage2;
3123
- var mediaOk, sdpVideoPortZero, _t18;
3124
- return _regenerator.default.wrap(function (_context27) {
3125
- while (1) switch (_context27.prev = _context27.next) {
3126
- case 0:
3127
- _Logger.default.info("ROAP message to send (rcv from MEDIA-SDK) :\n \n type: ".concat((_event$roapMessage = event.roapMessage) === null || _event$roapMessage === void 0 ? void 0 : _event$roapMessage.messageType, ", seq: ").concat(event.roapMessage.seq, " , version: ").concat(event.roapMessage.version), {
3128
- file: _constants.CALL_FILE,
3129
- method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
3130
- });
3131
- _Logger.default.info("SDP message to send : \n ".concat((_event$roapMessage2 = event.roapMessage) === null || _event$roapMessage2 === void 0 ? void 0 : _event$roapMessage2.sdp), {
3132
- file: _constants.CALL_FILE,
3133
- method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
3134
- });
3135
- _t18 = event.roapMessage.messageType;
3136
- _context27.next = _t18 === _types4.RoapScenario.OK ? 1 : _t18 === _types4.RoapScenario.OFFER ? 2 : _t18 === _types4.RoapScenario.ANSWER ? 3 : _t18 === _types4.RoapScenario.ERROR ? 4 : _t18 === _types4.RoapScenario.OFFER_RESPONSE ? 5 : 6;
3137
- break;
3138
- case 1:
3139
- mediaOk = {
3140
- received: false,
3141
- message: event.roapMessage
3142
- };
3143
- _this12.sendMediaStateMachineEvt({
3144
- type: 'E_ROAP_OK',
3145
- data: mediaOk
3146
- });
3147
- return _context27.abrupt("continue", 6);
3148
- case 2:
3149
- // TODO: Remove these after the Media-Core adds the fix
3150
- // Check if at least one IPv6 "c=" line is present
3151
- _Logger.default.info("before modifying sdp: ".concat(event.roapMessage.sdp), {
3152
- file: _constants.CALL_FILE,
3153
- method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
3154
- });
3155
- event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
3156
- sdpVideoPortZero = event.roapMessage.sdp.replace(/^m=(video) (?:\d+) /gim, 'm=$1 0 ');
3157
- _Logger.default.info("after modification sdp: ".concat(sdpVideoPortZero), {
3158
- file: _constants.CALL_FILE,
3159
- method: _constants.METHODS.MEDIA_ROAP_EVENTS_LISTENER
3160
- });
3161
- event.roapMessage.sdp = sdpVideoPortZero;
3162
- _this12.localRoapMessage = event.roapMessage;
3163
- _this12.sendCallStateMachineEvt({
3164
- type: 'E_SEND_CALL_SETUP',
3165
- data: event.roapMessage
3166
- });
3167
- return _context27.abrupt("continue", 6);
3168
- case 3:
3169
- event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
3170
- _this12.localRoapMessage = event.roapMessage;
3171
- if (_this12.connectPending) {
3172
- _this12.sendCallStateMachineEvt({
3173
- type: 'E_SEND_CALL_CONNECT'
3174
- });
3175
- }
3176
- _this12.sendMediaStateMachineEvt({
3177
- type: 'E_SEND_ROAP_ANSWER',
3178
- data: event.roapMessage
3179
- });
3180
- return _context27.abrupt("continue", 6);
3181
- case 4:
3182
- _this12.sendMediaStateMachineEvt({
3183
- type: 'E_ROAP_ERROR',
3184
- data: event.roapMessage
3185
- });
3186
- return _context27.abrupt("continue", 6);
3187
- case 5:
3188
- event.roapMessage.sdp = (0, _Utils.modifySdpForIPv4)(event.roapMessage.sdp);
3189
- _this12.localRoapMessage = event.roapMessage;
3190
- if (_this12.connectPending) {
3191
- _this12.sendCallStateMachineEvt({
3192
- type: 'E_SEND_CALL_CONNECT'
3193
- });
3194
- }
3195
- _this12.sendMediaStateMachineEvt({
3196
- type: 'E_SEND_ROAP_OFFER',
3197
- data: event.roapMessage
3198
- });
3199
- return _context27.abrupt("continue", 6);
3200
- case 6:
3201
- case "end":
3202
- return _context27.stop();
3203
- }
3204
- }, _callee26);
3205
- }));
3206
- return function (_x27) {
3207
- return _ref0.apply(this, arguments);
3208
- };
3209
- }());
3302
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ROAP_MESSAGE_TO_SEND, this.handleMediaRoapEvent);
3303
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ROAP_FAILURE, this.handleRoapFailure);
3210
3304
  }
3211
3305
 
3212
3306
  /* istanbul ignore next */
@@ -3216,13 +3310,34 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3216
3310
  }, {
3217
3311
  key: "mediaTrackListener",
3218
3312
  value: function mediaTrackListener() {
3219
- var _this13 = this;
3220
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
3221
- this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.REMOTE_TRACK_ADDED, function (e) {
3222
- if (e.type === _types3.MEDIA_CONNECTION_EVENT_KEYS.MEDIA_TYPE_AUDIO) {
3223
- _this13.emit(_types3.CALL_EVENT_KEYS.REMOTE_MEDIA, e.track);
3224
- }
3225
- });
3313
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.REMOTE_TRACK_ADDED, this.handleRemoteTrackAdded);
3314
+ }
3315
+
3316
+ /* istanbul ignore next */
3317
+ /**
3318
+ * Setup listeners for ICE-related media connection events.
3319
+ */
3320
+ }, {
3321
+ key: "mediaIceEventsListener",
3322
+ value: function mediaIceEventsListener() {
3323
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ICE_GATHERING_STATE_CHANGED, this.handleIceGatheringStateChanged);
3324
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.PEER_CONNECTION_STATE_CHANGED, this.handlePeerConnectionStateChanged);
3325
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ICE_CONNECTION_STATE_CHANGED, this.handleIceConnectionStateChanged);
3326
+ this.mediaConnection.on(_internalMediaCore.MediaConnectionEventNames.ICE_CANDIDATE_ERROR, this.handleIceCandidateError);
3327
+ }
3328
+ }, {
3329
+ key: "unregisterMediaConnectionListeners",
3330
+ value: function unregisterMediaConnectionListeners() {
3331
+ if (!this.mediaConnection || typeof this.mediaConnection.off !== 'function') {
3332
+ return;
3333
+ }
3334
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.ROAP_MESSAGE_TO_SEND, this.handleMediaRoapEvent);
3335
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.ROAP_FAILURE, this.handleRoapFailure);
3336
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.REMOTE_TRACK_ADDED, this.handleRemoteTrackAdded);
3337
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.ICE_GATHERING_STATE_CHANGED, this.handleIceGatheringStateChanged);
3338
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.PEER_CONNECTION_STATE_CHANGED, this.handlePeerConnectionStateChanged);
3339
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.ICE_CONNECTION_STATE_CHANGED, this.handleIceConnectionStateChanged);
3340
+ this.mediaConnection.off(_internalMediaCore.MediaConnectionEventNames.ICE_CANDIDATE_ERROR, this.handleIceCandidateError);
3226
3341
  }
3227
3342
  }, {
3228
3343
  key: "unregisterListeners",
@@ -3302,7 +3417,7 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3302
3417
  this.metricManager.submitCallMetric(_types5.METRIC_EVENT.CALL_ERROR, transferMetricAction || this.callStateMachine.state.value.toString(), _types5.METRIC_TYPE.BEHAVIORAL, this.callId, this.correlationId, error);
3303
3418
  } else {
3304
3419
  var _this$remoteRoapMessa2;
3305
- this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA_ERROR, this.mediaStateMachine.state.value.toString(), _types5.METRIC_TYPE.BEHAVIORAL, this.callId, this.correlationId, this.localRoapMessage.sdp, (_this$remoteRoapMessa2 = this.remoteRoapMessage) === null || _this$remoteRoapMessa2 === void 0 ? void 0 : _this$remoteRoapMessa2.sdp, error);
3420
+ this.metricManager.submitMediaMetric(_types5.METRIC_EVENT.MEDIA_ERROR, this.mediaStateMachine.state.value.toString(), _types5.METRIC_TYPE.BEHAVIORAL, this.callId, this.correlationId, this.localRoapMessage.sdp, (_this$remoteRoapMessa2 = this.remoteRoapMessage) === null || _this$remoteRoapMessa2 === void 0 ? void 0 : _this$remoteRoapMessa2.sdp, undefined, error);
3306
3421
  }
3307
3422
  }
3308
3423
 
@@ -3491,6 +3606,11 @@ var Call = exports.Call = /*#__PURE__*/function (_Eventing) {
3491
3606
  }
3492
3607
  return handleTimeout;
3493
3608
  }())
3609
+ }], [{
3610
+ key: "getPeerConnectionStateFromEvent",
3611
+ value: function getPeerConnectionStateFromEvent(event, preferredKey) {
3612
+ return event[preferredKey] || event.state || 'unknown';
3613
+ }
3494
3614
  }]);
3495
3615
  }(_impl.Eventing);
3496
3616
  /**