@webex/plugin-meetings 3.3.1-next.34 → 3.3.1-next.36

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.
@@ -93,6 +93,10 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
93
93
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
94
94
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } // @ts-ignore - Fix this
95
95
  // @ts-ignore - Types not available for @webex/common
96
+ // default callback so we don't call an undefined function, but in practice it should never be used
97
+ var DEFAULT_ICE_PHASE_CALLBACK = function DEFAULT_ICE_PHASE_CALLBACK() {
98
+ return 'JOIN_MEETING_FINAL';
99
+ };
96
100
  var logRequest = function logRequest(request, _ref) {
97
101
  var _ref$logText = _ref.logText,
98
102
  logText = _ref$logText === void 0 ? '' : _ref$logText;
@@ -528,7 +532,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
528
532
  interimCaptions: _this.transcription.interimCaptions
529
533
  });
530
534
  }));
531
- (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "retriedWithTurnServer", void 0);
535
+ (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "addMediaData", void 0);
532
536
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "sendSlotManager", new _sendSlotManager.default(_loggerProxy.default));
533
537
  (0, _defineProperty3.default)((0, _assertThisInitialized2.default)(_this), "deferSDPAnswer", void 0);
534
538
  // used for waiting for a response
@@ -2085,13 +2089,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2085
2089
  _this.turnServerUsed = false;
2086
2090
 
2087
2091
  /**
2088
- * Whether retry was done using TURN Discovery.
2092
+ * Contains information used during the addMedia() operation:
2093
+ * retriedWithTurnServer - whether retry was done using TURN Discovery
2094
+ * icePhaseCallback - callback for determining the value for icePhase when sending failure event to CA
2095
+ *
2089
2096
  * @instance
2090
- * @type {boolean}
2097
+ * @type {Object}
2091
2098
  * @private
2092
2099
  * @memberof Meeting
2093
2100
  */
2094
- _this.retriedWithTurnServer = false;
2101
+ _this.addMediaData = {
2102
+ retriedWithTurnServer: false,
2103
+ icePhaseCallback: DEFAULT_ICE_PHASE_CALLBACK
2104
+ };
2095
2105
 
2096
2106
  /**
2097
2107
  * Whether or not the media connection has ever successfully connected.
@@ -4987,6 +4997,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4987
4997
  key: "joinWithMedia",
4988
4998
  value: (function () {
4989
4999
  var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
5000
+ var _this28 = this;
4990
5001
  var options,
4991
5002
  mediaOptions,
4992
5003
  _options$joinOptions,
@@ -5072,7 +5083,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5072
5083
  joined = true;
5073
5084
  case 38:
5074
5085
  _context15.next = 40;
5075
- return this.addMedia(mediaOptions, turnServerInfo, forceTurnDiscovery);
5086
+ return this.addMediaInternal(function () {
5087
+ return _this28.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
5088
+ }, turnServerInfo, forceTurnDiscovery, mediaOptions);
5076
5089
  case 40:
5077
5090
  mediaResponse = _context15.sent;
5078
5091
  this.joinWithMediaRetryInfo = {
@@ -5163,7 +5176,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5163
5176
  }, {
5164
5177
  key: "reconnect",
5165
5178
  value: function reconnect(options) {
5166
- var _this28 = this;
5179
+ var _this29 = this;
5167
5180
  _loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
5168
5181
  if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
5169
5182
  return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
@@ -5178,10 +5191,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5178
5191
  while (1) switch (_context16.prev = _context16.next) {
5179
5192
  case 0:
5180
5193
  _context16.next = 2;
5181
- return _this28.waitForRemoteSDPAnswer();
5194
+ return _this29.waitForRemoteSDPAnswer();
5182
5195
  case 2:
5183
5196
  _context16.next = 4;
5184
- return _this28.waitForMediaConnectionConnected();
5197
+ return _this29.waitForMediaConnectionConnected();
5185
5198
  case 4:
5186
5199
  case "end":
5187
5200
  return _context16.stop();
@@ -5195,7 +5208,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5195
5208
  return _promise.default.resolve();
5196
5209
  }
5197
5210
  _loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
5198
- _this28.uploadLogs({
5211
+ _this29.uploadLogs({
5199
5212
  file: 'meeting/index',
5200
5213
  function: 'reconnect'
5201
5214
  });
@@ -5242,19 +5255,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5242
5255
  }, {
5243
5256
  key: "setCaptionLanguage",
5244
5257
  value: function setCaptionLanguage(language) {
5245
- var _this29 = this;
5258
+ var _this30 = this;
5246
5259
  return new _promise.default(function (resolve, reject) {
5247
- if (!_this29.isTranscriptionSupported()) {
5260
+ if (!_this30.isTranscriptionSupported()) {
5248
5261
  _loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
5249
5262
  reject(new Error('Webex Assistant is not enabled/supported'));
5250
5263
  }
5251
5264
  try {
5252
5265
  var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
5253
5266
  // @ts-ignore
5254
- _this29.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5267
+ _this30.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5255
5268
  var statusCode = payload.statusCode;
5256
5269
  if (statusCode === 200) {
5257
- _this29.transcription.languageOptions = _objectSpread(_objectSpread({}, _this29.transcription.languageOptions), {}, {
5270
+ _this30.transcription.languageOptions = _objectSpread(_objectSpread({}, _this30.transcription.languageOptions), {}, {
5258
5271
  currentCaptionLanguage: language
5259
5272
  });
5260
5273
  resolve(language);
@@ -5263,9 +5276,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5263
5276
  }
5264
5277
  };
5265
5278
  // @ts-ignore
5266
- _this29.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5279
+ _this30.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5267
5280
  // @ts-ignore
5268
- _this29.webex.internal.voicea.requestLanguage(language);
5281
+ _this30.webex.internal.voicea.requestLanguage(language);
5269
5282
  } catch (error) {
5270
5283
  _loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
5271
5284
  reject(error);
@@ -5281,23 +5294,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5281
5294
  }, {
5282
5295
  key: "setSpokenLanguage",
5283
5296
  value: function setSpokenLanguage(language) {
5284
- var _this30 = this;
5297
+ var _this31 = this;
5285
5298
  return new _promise.default(function (resolve, reject) {
5286
- if (!_this30.isTranscriptionSupported()) {
5299
+ if (!_this31.isTranscriptionSupported()) {
5287
5300
  _loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
5288
5301
  reject(new Error('Webex Assistant is not enabled/supported'));
5289
5302
  }
5290
- if (_this30.getCurUserType() !== 'host') {
5303
+ if (_this31.getCurUserType() !== 'host') {
5291
5304
  _loggerProxy.default.logger.error('Meeting:index#setSpokenLanguage --> Only host can set spoken language');
5292
5305
  reject(new Error('Only host can set spoken language'));
5293
5306
  }
5294
5307
  try {
5295
5308
  var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
5296
5309
  // @ts-ignore
5297
- _this30.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5310
+ _this31.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5298
5311
  var languageCode = payload.languageCode;
5299
5312
  if (languageCode) {
5300
- _this30.transcription.languageOptions = _objectSpread(_objectSpread({}, _this30.transcription.languageOptions), {}, {
5313
+ _this31.transcription.languageOptions = _objectSpread(_objectSpread({}, _this31.transcription.languageOptions), {}, {
5301
5314
  currentSpokenLanguage: languageCode
5302
5315
  });
5303
5316
  resolve(languageCode);
@@ -5307,10 +5320,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5307
5320
  };
5308
5321
 
5309
5322
  // @ts-ignore
5310
- _this30.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5323
+ _this31.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5311
5324
 
5312
5325
  // @ts-ignore
5313
- _this30.webex.internal.voicea.setSpokenLanguage(language);
5326
+ _this31.webex.internal.voicea.setSpokenLanguage(language);
5314
5327
  } catch (error) {
5315
5328
  _loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
5316
5329
  reject(error);
@@ -5430,7 +5443,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5430
5443
  */
5431
5444
  function () {
5432
5445
  var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
5433
- var _this31 = this;
5446
+ var _this32 = this;
5434
5447
  var options,
5435
5448
  errorMessage,
5436
5449
  error,
@@ -5576,58 +5589,58 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5576
5589
  return _context18.abrupt("return", _promise.default.reject(_context18.t0));
5577
5590
  case 51:
5578
5591
  return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
5579
- _this31.meetingFiniteStateMachine.join();
5580
- _this31.setupLocusMediaRequest();
5592
+ _this32.meetingFiniteStateMachine.join();
5593
+ _this32.setupLocusMediaRequest();
5581
5594
  _loggerProxy.default.logger.log('Meeting:index#join --> Success');
5582
5595
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
5583
- correlation_id: _this31.correlationId
5596
+ correlation_id: _this32.correlationId
5584
5597
  });
5585
5598
  joinSuccess(join);
5586
- _this31.deferJoin = undefined;
5599
+ _this32.deferJoin = undefined;
5587
5600
  return join;
5588
5601
  }).catch(function (error) {
5589
- var _this31$meetingInfo, _error$error;
5590
- _this31.meetingFiniteStateMachine.fail(error);
5602
+ var _this32$meetingInfo, _error$error;
5603
+ _this32.meetingFiniteStateMachine.fail(error);
5591
5604
  _loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
5592
5605
 
5593
5606
  // @ts-ignore
5594
- _this31.webex.internal.newMetrics.submitClientEvent({
5607
+ _this32.webex.internal.newMetrics.submitClientEvent({
5595
5608
  name: 'client.locus.join.response',
5596
5609
  payload: {
5597
5610
  identifiers: {
5598
- meetingLookupUrl: (_this31$meetingInfo = _this31.meetingInfo) === null || _this31$meetingInfo === void 0 ? void 0 : _this31$meetingInfo.meetingLookupUrl
5611
+ meetingLookupUrl: (_this32$meetingInfo = _this32.meetingInfo) === null || _this32$meetingInfo === void 0 ? void 0 : _this32$meetingInfo.meetingLookupUrl
5599
5612
  }
5600
5613
  },
5601
5614
  options: {
5602
- meetingId: _this31.id,
5615
+ meetingId: _this32.id,
5603
5616
  rawError: error
5604
5617
  }
5605
5618
  });
5606
5619
 
5607
5620
  // TODO: change this to error codes and pre defined dictionary
5608
5621
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
5609
- correlation_id: _this31.correlationId,
5622
+ correlation_id: _this32.correlationId,
5610
5623
  reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
5611
5624
  stack: error.stack
5612
5625
  });
5613
5626
 
5614
5627
  // Upload logs on join Failure
5615
- _triggerProxy.default.trigger(_this31, {
5628
+ _triggerProxy.default.trigger(_this32, {
5616
5629
  file: 'meeting/index',
5617
5630
  function: 'join'
5618
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this31);
5631
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this32);
5619
5632
  joinFailed(error);
5620
- _this31.deferJoin = undefined;
5633
+ _this32.deferJoin = undefined;
5621
5634
  return _promise.default.reject(error);
5622
5635
  }).then(function (join) {
5623
5636
  // @ts-ignore - config coming from registerPlugin
5624
- if (_this31.config.enableAutomaticLLM) {
5637
+ if (_this32.config.enableAutomaticLLM) {
5625
5638
  // @ts-ignore
5626
- _this31.webex.internal.llm.on('online', _this31.handleLLMOnline);
5627
- _this31.updateLLMConnection().catch(function (error) {
5639
+ _this32.webex.internal.llm.on('online', _this32.handleLLMOnline);
5640
+ _this32.updateLLMConnection().catch(function (error) {
5628
5641
  _loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
5629
5642
  _metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
5630
- correlation_id: _this31.correlationId,
5643
+ correlation_id: _this32.correlationId,
5631
5644
  reason: error === null || error === void 0 ? void 0 : error.message,
5632
5645
  stack: error.stack
5633
5646
  });
@@ -5659,7 +5672,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5659
5672
  key: "updateLLMConnection",
5660
5673
  value: (function () {
5661
5674
  var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
5662
- var _this32 = this;
5675
+ var _this33 = this;
5663
5676
  var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, isJoined;
5664
5677
  return _regenerator.default.wrap(function _callee19$(_context19) {
5665
5678
  while (1) switch (_context19.prev = _context19.next) {
@@ -5695,9 +5708,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5695
5708
  case 10:
5696
5709
  return _context19.abrupt("return", this.webex.internal.llm.registerAndConnect(url, datachannelUrl).then(function (registerAndConnectResult) {
5697
5710
  // @ts-ignore - Fix type
5698
- _this32.webex.internal.llm.off('event:relay.event', _this32.processRelayEvent);
5711
+ _this33.webex.internal.llm.off('event:relay.event', _this33.processRelayEvent);
5699
5712
  // @ts-ignore - Fix type
5700
- _this32.webex.internal.llm.on('event:relay.event', _this32.processRelayEvent);
5713
+ _this33.webex.internal.llm.on('event:relay.event', _this33.processRelayEvent);
5701
5714
  _loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
5702
5715
  return _promise.default.resolve(registerAndConnectResult);
5703
5716
  }));
@@ -5751,7 +5764,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5751
5764
  }, {
5752
5765
  key: "dialInPstn",
5753
5766
  value: function dialInPstn() {
5754
- var _this33 = this;
5767
+ var _this34 = this;
5755
5768
  if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
5756
5769
 
5757
5770
  var correlationId = this.correlationId,
@@ -5767,10 +5780,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5767
5780
  }).catch(function (error) {
5768
5781
  var _error$error2;
5769
5782
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
5770
- correlation_id: _this33.correlationId,
5771
- dial_in_url: _this33.dialInUrl,
5783
+ correlation_id: _this34.correlationId,
5784
+ dial_in_url: _this34.dialInUrl,
5772
5785
  locus_id: locusUrl.split('/').pop(),
5773
- client_url: _this33.deviceUrl,
5786
+ client_url: _this34.deviceUrl,
5774
5787
  reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
5775
5788
  stack: error.stack
5776
5789
  });
@@ -5788,7 +5801,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5788
5801
  }, {
5789
5802
  key: "dialOutPstn",
5790
5803
  value: function dialOutPstn(phoneNumber) {
5791
- var _this34 = this;
5804
+ var _this35 = this;
5792
5805
  if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
5793
5806
 
5794
5807
  var correlationId = this.correlationId,
@@ -5805,10 +5818,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5805
5818
  }).catch(function (error) {
5806
5819
  var _error$error3;
5807
5820
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
5808
- correlation_id: _this34.correlationId,
5809
- dial_out_url: _this34.dialOutUrl,
5821
+ correlation_id: _this35.correlationId,
5822
+ dial_out_url: _this35.dialOutUrl,
5810
5823
  locus_id: locusUrl.split('/').pop(),
5811
- client_url: _this34.deviceUrl,
5824
+ client_url: _this35.deviceUrl,
5812
5825
  reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
5813
5826
  stack: error.stack
5814
5827
  });
@@ -5839,7 +5852,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5839
5852
  }, {
5840
5853
  key: "moveTo",
5841
5854
  value: function moveTo(resourceId) {
5842
- var _this35 = this;
5855
+ var _this36 = this;
5843
5856
  if (!resourceId) {
5844
5857
  throw new _parameter.default('Cannot move call without a resourceId.');
5845
5858
  }
@@ -5883,12 +5896,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5883
5896
  while (1) switch (_context20.prev = _context20.next) {
5884
5897
  case 0:
5885
5898
  _context20.prev = 0;
5886
- if (!(_this35.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
5899
+ if (!(_this36.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
5887
5900
  _context20.next = 4;
5888
5901
  break;
5889
5902
  }
5890
5903
  _context20.next = 4;
5891
- return _this35.releaseScreenShareFloor();
5904
+ return _this36.releaseScreenShareFloor();
5892
5905
  case 4:
5893
5906
  mediaSettings = {
5894
5907
  mediaDirection: {
@@ -5900,37 +5913,37 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5900
5913
  receiveShare: true
5901
5914
  }
5902
5915
  };
5903
- _this35.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
5904
- _this35.mediaProperties.unsetRemoteMedia();
5916
+ _this36.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
5917
+ _this36.mediaProperties.unsetRemoteMedia();
5905
5918
 
5906
5919
  // when a move to is intiated by the client , Locus delets the existing media node from the server as soon the device answers the meeting
5907
5920
  // once the device answers we close the old connection and create new media server connection with only share enabled
5908
- if (!_this35.statsAnalyzer) {
5921
+ if (!_this36.statsAnalyzer) {
5909
5922
  _context20.next = 10;
5910
5923
  break;
5911
5924
  }
5912
5925
  _context20.next = 10;
5913
- return _this35.statsAnalyzer.stopAnalyzer();
5926
+ return _this36.statsAnalyzer.stopAnalyzer();
5914
5927
  case 10:
5915
5928
  _context20.next = 12;
5916
- return _this35.closeRemoteStreams();
5929
+ return _this36.closeRemoteStreams();
5917
5930
  case 12:
5918
5931
  _context20.next = 14;
5919
- return _this35.closePeerConnections();
5932
+ return _this36.closePeerConnections();
5920
5933
  case 14:
5921
- _this35.cleanupLocalStreams();
5922
- _this35.unsetRemoteStreams();
5923
- _this35.unsetPeerConnections();
5924
- _this35.reconnectionManager.cleanUp();
5934
+ _this36.cleanupLocalStreams();
5935
+ _this36.unsetRemoteStreams();
5936
+ _this36.unsetPeerConnections();
5937
+ _this36.reconnectionManager.cleanUp();
5925
5938
  _context20.next = 20;
5926
- return _this35.addMedia({
5939
+ return _this36.addMedia({
5927
5940
  audioEnabled: false,
5928
5941
  videoEnabled: false,
5929
5942
  shareVideoEnabled: true
5930
5943
  });
5931
5944
  case 20:
5932
5945
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
5933
- _this35.isMoveToInProgress = false;
5946
+ _this36.isMoveToInProgress = false;
5934
5947
  _context20.next = 29;
5935
5948
  break;
5936
5949
  case 24:
@@ -5938,12 +5951,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5938
5951
  _context20.t0 = _context20["catch"](0);
5939
5952
  _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context20.t0);
5940
5953
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
5941
- correlation_id: _this35.correlationId,
5942
- locus_id: _this35.locusUrl.split('/').pop(),
5954
+ correlation_id: _this36.correlationId,
5955
+ locus_id: _this36.locusUrl.split('/').pop(),
5943
5956
  reason: _context20.t0.message,
5944
5957
  stack: _context20.t0.stack
5945
5958
  });
5946
- _this35.isMoveToInProgress = false;
5959
+ _this36.isMoveToInProgress = false;
5947
5960
  case 29:
5948
5961
  case "end":
5949
5962
  return _context20.stop();
@@ -5959,17 +5972,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5959
5972
  resourceId: resourceId,
5960
5973
  moveToResource: true
5961
5974
  }).then(function () {
5962
- _this35.meetingFiniteStateMachine.join();
5975
+ _this36.meetingFiniteStateMachine.join();
5963
5976
  }).catch(function (error) {
5964
- _this35.meetingFiniteStateMachine.fail(error);
5977
+ _this36.meetingFiniteStateMachine.fail(error);
5965
5978
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
5966
- correlation_id: _this35.correlationId,
5967
- locus_id: _this35.locusUrl.split('/').pop(),
5979
+ correlation_id: _this36.correlationId,
5980
+ locus_id: _this36.locusUrl.split('/').pop(),
5968
5981
  reason: error.message,
5969
5982
  stack: error.stack
5970
5983
  });
5971
5984
  _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
5972
- _this35.isMoveToInProgress = false;
5985
+ _this36.isMoveToInProgress = false;
5973
5986
  return _promise.default.reject(error);
5974
5987
  });
5975
5988
  }
@@ -5984,7 +5997,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5984
5997
  }, {
5985
5998
  key: "moveFrom",
5986
5999
  value: function moveFrom(resourceId) {
5987
- var _this36 = this;
6000
+ var _this37 = this;
5988
6001
  // On moveFrom ask the developer to re capture it moveFrom then updateMedia
5989
6002
  if (!resourceId) {
5990
6003
  throw new _parameter.default('Cannot move call without a resourceId.');
@@ -5999,19 +6012,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5999
6012
  }
6000
6013
  });
6001
6014
  return _util2.default.joinMeetingOptions(this).then(function () {
6002
- return _util2.default.leaveMeeting(_this36, {
6015
+ return _util2.default.leaveMeeting(_this37, {
6003
6016
  resourceId: resourceId,
6004
6017
  correlationId: oldCorrelationId,
6005
6018
  moveMeeting: true
6006
6019
  }).then(function () {
6007
- _this36.resourceId = '';
6020
+ _this37.resourceId = '';
6008
6021
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
6009
6022
  });
6010
6023
  }).catch(function (error) {
6011
- _this36.meetingFiniteStateMachine.fail(error);
6024
+ _this37.meetingFiniteStateMachine.fail(error);
6012
6025
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
6013
- correlation_id: _this36.correlationId,
6014
- locus_id: _this36.locusUrl.split('/').pop(),
6026
+ correlation_id: _this37.correlationId,
6027
+ locus_id: _this37.locusUrl.split('/').pop(),
6015
6028
  reason: error.message,
6016
6029
  stack: error.stack
6017
6030
  });
@@ -6118,9 +6131,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6118
6131
  }, {
6119
6132
  key: "forwardEvent",
6120
6133
  value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
6121
- var _this37 = this;
6134
+ var _this38 = this;
6122
6135
  eventEmitter.on(eventTypeToForward, function (data) {
6123
- return _triggerProxy.default.trigger(_this37, {
6136
+ return _triggerProxy.default.trigger(_this38, {
6124
6137
  file: 'meetings',
6125
6138
  function: 'addMedia'
6126
6139
  }, meetingEventType, data);
@@ -6210,7 +6223,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6210
6223
  }
6211
6224
  _context23.t1 = this.webex.internal.newMetrics;
6212
6225
  _context23.t2 = !this.turnServerUsed;
6213
- _context23.t3 = this.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
6226
+ _context23.t3 = this.addMediaData.icePhaseCallback();
6214
6227
  _context23.t4 = this.webex.internal.newMetrics.callDiagnosticMetrics;
6215
6228
  _context23.t5 = _internalPluginMetrics.CallDiagnosticUtils;
6216
6229
  _context23.t6 = ((_this$mediaProperties6 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties6 === void 0 ? void 0 : (_this$mediaProperties7 = _this$mediaProperties6.multistreamConnection) === null || _this$mediaProperties7 === void 0 ? void 0 : (_this$mediaProperties8 = _this$mediaProperties7.pc) === null || _this$mediaProperties8 === void 0 ? void 0 : (_this$mediaProperties9 = _this$mediaProperties8.pc) === null || _this$mediaProperties9 === void 0 ? void 0 : _this$mediaProperties9.signalingState) || ((_this$mediaProperties10 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties10 === void 0 ? void 0 : (_this$mediaProperties11 = _this$mediaProperties10.mediaConnection) === null || _this$mediaProperties11 === void 0 ? void 0 : (_this$mediaProperties12 = _this$mediaProperties11.pc) === null || _this$mediaProperties12 === void 0 ? void 0 : _this$mediaProperties12.signalingState) || 'unknown';
@@ -6271,7 +6284,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6271
6284
  }, {
6272
6285
  key: "createStatsAnalyzer",
6273
6286
  value: function createStatsAnalyzer() {
6274
- var _this38 = this;
6287
+ var _this39 = this;
6275
6288
  // @ts-ignore - config coming from registerPlugin
6276
6289
  if (this.config.stats.enableStatsAnalyzer) {
6277
6290
  // @ts-ignore - config coming from registerPlugin
@@ -6280,7 +6293,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6280
6293
  // @ts-ignore - config coming from registerPlugin
6281
6294
  config: this.config.stats,
6282
6295
  receiveSlotCallback: function receiveSlotCallback(ssrc) {
6283
- return _this38.receiveSlotManager.findReceiveSlotBySsrc(ssrc);
6296
+ return _this39.receiveSlotManager.findReceiveSlotBySsrc(ssrc);
6284
6297
  },
6285
6298
  networkQualityMonitor: this.networkQualityMonitor,
6286
6299
  isMultistream: this.isMultistream
@@ -6309,7 +6322,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6309
6322
  */
6310
6323
  function () {
6311
6324
  var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24() {
6312
- var _this39 = this;
6325
+ var _this40 = this;
6313
6326
  var LOG_HEADER, deferSDPAnswer;
6314
6327
  return _regenerator.default.wrap(function _callee24$(_context24) {
6315
6328
  while (1) switch (_context24.prev = _context24.next) {
@@ -6326,18 +6339,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6326
6339
  this.sdpResponseTimer = setTimeout(function () {
6327
6340
  _loggerProxy.default.logger.warn("".concat(LOG_HEADER, " timeout! no REMOTE SDP ANSWER received within ").concat(_constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT / 1000, " seconds"));
6328
6341
  // @ts-ignore
6329
- _this39.webex.internal.newMetrics.submitClientEvent({
6342
+ _this40.webex.internal.newMetrics.submitClientEvent({
6330
6343
  name: 'client.media-engine.remote-sdp-received',
6331
6344
  payload: {
6332
6345
  canProceed: false,
6333
6346
  errors: [
6334
6347
  // @ts-ignore
6335
- _this39.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
6348
+ _this40.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
6336
6349
  clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
6337
6350
  })]
6338
6351
  },
6339
6352
  options: {
6340
- meetingId: _this39.id,
6353
+ meetingId: _this40.id,
6341
6354
  rawError: new Error('Timeout waiting for SDP answer')
6342
6355
  }
6343
6356
  });
@@ -6414,7 +6427,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6414
6427
  return _regenerator.default.wrap(function _callee26$(_context26) {
6415
6428
  while (1) switch (_context26.prev = _context26.next) {
6416
6429
  case 0:
6417
- this.retriedWithTurnServer = true;
6430
+ this.addMediaData.retriedWithTurnServer = true;
6418
6431
  LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
6419
6432
  _context26.next = 4;
6420
6433
  return this.cleanUpBeforeRetryWithTurnServer();
@@ -6530,7 +6543,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6530
6543
  correlation_id: this.correlationId,
6531
6544
  latency: cdl.getTurnDiscoveryTime(),
6532
6545
  turnServerUsed: this.turnServerUsed,
6533
- retriedWithTurnServer: this.retriedWithTurnServer
6546
+ retriedWithTurnServer: this.addMediaData.retriedWithTurnServer
6534
6547
  });
6535
6548
  }
6536
6549
  return _context28.abrupt("return", turnDiscoveryResult);
@@ -6758,19 +6771,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6758
6771
  * Creates a media connection to the server. Media connection is required for sending or receiving any audio/video.
6759
6772
  *
6760
6773
  * @param {AddMediaOptions} options
6761
- * @param {TurnServerInfo} turnServerInfo - TURN server information (used only internally by the SDK)
6762
- * @param {boolean} forceTurnDiscovery - if true, TURN discovery will be done (used only internally by the SDK)
6763
6774
  * @returns {Promise<void>}
6764
6775
  * @public
6765
6776
  * @memberof Meeting
6766
6777
  */
6767
6778
  }, {
6768
6779
  key: "addMedia",
6780
+ value: function addMedia() {
6781
+ var _this41 = this;
6782
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
6783
+ return this.addMediaInternal(function () {
6784
+ return _this41.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
6785
+ }, undefined, false, options);
6786
+ }
6787
+
6788
+ /**
6789
+ * Internal version of addMedia() with some more arguments for finer control of its behavior
6790
+ *
6791
+ * @param {Function} icePhaseCallback - callback to determine the icePhase for CA "client.ice.end" failure events
6792
+ * @param {TurnServerInfo} turnServerInfo - TURN server information
6793
+ * @param {boolean} forceTurnDiscovery - if true, TURN discovery will be done
6794
+ * @param {AddMediaOptions} options - same as options of the public addMedia() method
6795
+ * @returns {Promise<void>}
6796
+ * @protected
6797
+ * @memberof Meeting
6798
+ */
6799
+ }, {
6800
+ key: "addMediaInternal",
6769
6801
  value: (function () {
6770
- var _addMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32() {
6802
+ var _addMediaInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
6771
6803
  var options,
6772
- turnServerInfo,
6773
- forceTurnDiscovery,
6774
6804
  LOG_HEADER,
6775
6805
  localStreams,
6776
6806
  _options$audioEnabled,
@@ -6819,36 +6849,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6819
6849
  return _regenerator.default.wrap(function _callee32$(_context32) {
6820
6850
  while (1) switch (_context32.prev = _context32.next) {
6821
6851
  case 0:
6822
- options = _args32.length > 0 && _args32[0] !== undefined ? _args32[0] : {};
6823
- turnServerInfo = _args32.length > 1 && _args32[1] !== undefined ? _args32[1] : undefined;
6824
- forceTurnDiscovery = _args32.length > 2 && _args32[2] !== undefined ? _args32[2] : false;
6825
- this.retriedWithTurnServer = false;
6852
+ options = _args32.length > 3 && _args32[3] !== undefined ? _args32[3] : {};
6853
+ this.addMediaData.retriedWithTurnServer = false;
6854
+ this.addMediaData.icePhaseCallback = icePhaseCallback;
6826
6855
  this.hasMediaConnectionConnectedAtLeastOnce = false;
6827
6856
  LOG_HEADER = 'Meeting:index#addMedia -->';
6828
6857
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: options=").concat((0, _stringify.default)(options), ", turnServerInfo=").concat((0, _stringify.default)(turnServerInfo), ", forceTurnDiscovery=").concat(forceTurnDiscovery));
6829
6858
  if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
6830
- _context32.next = 9;
6859
+ _context32.next = 8;
6831
6860
  break;
6832
6861
  }
6833
6862
  throw new _webexErrors.MeetingNotActiveError();
6834
- case 9:
6863
+ case 8:
6835
6864
  if (!_util2.default.isUserInLeftState(this.locusInfo)) {
6836
- _context32.next = 11;
6865
+ _context32.next = 10;
6837
6866
  break;
6838
6867
  }
6839
6868
  throw new _webexErrors.UserNotJoinedError();
6840
- case 11:
6869
+ case 10:
6841
6870
  localStreams = options.localStreams, _options$audioEnabled = options.audioEnabled, audioEnabled = _options$audioEnabled === void 0 ? true : _options$audioEnabled, _options$videoEnabled = options.videoEnabled, videoEnabled = _options$videoEnabled === void 0 ? true : _options$videoEnabled, _options$shareAudioEn = options.shareAudioEnabled, shareAudioEnabled = _options$shareAudioEn === void 0 ? true : _options$shareAudioEn, _options$shareVideoEn = options.shareVideoEnabled, shareVideoEnabled = _options$shareVideoEn === void 0 ? true : _options$shareVideoEn, remoteMediaManagerConfig = options.remoteMediaManagerConfig, bundlePolicy = options.bundlePolicy;
6842
6871
  this.allowMediaInLobby = options === null || options === void 0 ? void 0 : options.allowMediaInLobby;
6843
6872
 
6844
6873
  // If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
6845
6874
  // @ts-ignore - isUserUnadmitted coming from SelfUtil
6846
6875
  if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
6847
- _context32.next = 15;
6876
+ _context32.next = 14;
6848
6877
  break;
6849
6878
  }
6850
6879
  throw new _webexErrors.UserInLobbyError();
6851
- case 15:
6880
+ case 14:
6852
6881
  // @ts-ignore
6853
6882
  this.webex.internal.newMetrics.submitClientEvent({
6854
6883
  name: 'client.media.capabilities',
@@ -6887,44 +6916,44 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6887
6916
  });
6888
6917
  this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
6889
6918
  this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
6890
- _context32.prev = 19;
6891
- _context32.next = 22;
6919
+ _context32.prev = 18;
6920
+ _context32.next = 21;
6892
6921
  return this.setUpLocalStreamReferences(localStreams);
6893
- case 22:
6922
+ case 21:
6894
6923
  this.setMercuryListener();
6895
6924
  this.createStatsAnalyzer();
6896
- _context32.next = 26;
6925
+ _context32.next = 25;
6897
6926
  return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
6898
- case 26:
6927
+ case 25:
6899
6928
  if (!(audioEnabled || videoEnabled)) {
6900
- _context32.next = 31;
6929
+ _context32.next = 30;
6901
6930
  break;
6902
6931
  }
6903
- _context32.next = 29;
6932
+ _context32.next = 28;
6904
6933
  return Meeting.handleDeviceLogging();
6905
- case 29:
6906
- _context32.next = 32;
6934
+ case 28:
6935
+ _context32.next = 31;
6907
6936
  break;
6908
- case 31:
6937
+ case 30:
6909
6938
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " device logging not required"));
6910
- case 32:
6939
+ case 31:
6911
6940
  if (!this.mediaProperties.hasLocalShareStream()) {
6912
- _context32.next = 35;
6941
+ _context32.next = 34;
6913
6942
  break;
6914
6943
  }
6915
- _context32.next = 35;
6944
+ _context32.next = 34;
6916
6945
  return this.enqueueScreenShareFloorRequest();
6917
- case 35:
6918
- _context32.next = 37;
6946
+ case 34:
6947
+ _context32.next = 36;
6919
6948
  return this.mediaProperties.getCurrentConnectionInfo();
6920
- case 37:
6949
+ case 36:
6921
6950
  _yield$this$mediaProp = _context32.sent;
6922
6951
  connectionType = _yield$this$mediaProp.connectionType;
6923
6952
  selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
6924
6953
  numTransports = _yield$this$mediaProp.numTransports;
6925
- _context32.next = 43;
6954
+ _context32.next = 42;
6926
6955
  return this.webex.meetings.reachability.getReachabilityMetrics();
6927
- case 43:
6956
+ case 42:
6928
6957
  reachabilityStats = _context32.sent;
6929
6958
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread({
6930
6959
  correlation_id: this.correlationId,
@@ -6933,7 +6962,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6933
6962
  selectedCandidatePairChanges: selectedCandidatePairChanges,
6934
6963
  numTransports: numTransports,
6935
6964
  isMultistream: this.isMultistream,
6936
- retriedWithTurnServer: this.retriedWithTurnServer,
6965
+ retriedWithTurnServer: this.addMediaData.retriedWithTurnServer,
6937
6966
  isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry
6938
6967
  }, reachabilityStats));
6939
6968
  // @ts-ignore
@@ -6947,21 +6976,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6947
6976
 
6948
6977
  // We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
6949
6978
  (_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
6950
- _context32.next = 68;
6979
+ _context32.next = 67;
6951
6980
  break;
6952
- case 50:
6953
- _context32.prev = 50;
6954
- _context32.t0 = _context32["catch"](19);
6981
+ case 49:
6982
+ _context32.prev = 49;
6983
+ _context32.t0 = _context32["catch"](18);
6955
6984
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context32.t0);
6956
6985
 
6957
6986
  // @ts-ignore
6958
- _context32.next = 55;
6987
+ _context32.next = 54;
6959
6988
  return this.webex.meetings.reachability.getReachabilityMetrics();
6960
- case 55:
6989
+ case 54:
6961
6990
  reachabilityMetrics = _context32.sent;
6962
- _context32.next = 58;
6991
+ _context32.next = 57;
6963
6992
  return this.mediaProperties.getCurrentConnectionInfo();
6964
- case 58:
6993
+ case 57:
6965
6994
  _yield$this$mediaProp2 = _context32.sent;
6966
6995
  _selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
6967
6996
  _numTransports = _yield$this$mediaProp2.numTransports;
@@ -6976,16 +7005,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6976
7005
  numTransports: _numTransports,
6977
7006
  turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
6978
7007
  turnServerUsed: this.turnServerUsed,
6979
- retriedWithTurnServer: this.retriedWithTurnServer,
7008
+ retriedWithTurnServer: this.addMediaData.retriedWithTurnServer,
6980
7009
  isMultistream: this.isMultistream,
6981
7010
  isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry,
6982
7011
  signalingState: ((_this$mediaProperties13 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties13 === void 0 ? void 0 : (_this$mediaProperties14 = _this$mediaProperties13.multistreamConnection) === null || _this$mediaProperties14 === void 0 ? void 0 : (_this$mediaProperties15 = _this$mediaProperties14.pc) === null || _this$mediaProperties15 === void 0 ? void 0 : (_this$mediaProperties16 = _this$mediaProperties15.pc) === null || _this$mediaProperties16 === void 0 ? void 0 : _this$mediaProperties16.signalingState) || ((_this$mediaProperties17 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties17 === void 0 ? void 0 : (_this$mediaProperties18 = _this$mediaProperties17.mediaConnection) === null || _this$mediaProperties18 === void 0 ? void 0 : (_this$mediaProperties19 = _this$mediaProperties18.pc) === null || _this$mediaProperties19 === void 0 ? void 0 : _this$mediaProperties19.signalingState) || 'unknown',
6983
7012
  connectionState: ((_this$mediaProperties20 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties20 === void 0 ? void 0 : (_this$mediaProperties21 = _this$mediaProperties20.multistreamConnection) === null || _this$mediaProperties21 === void 0 ? void 0 : (_this$mediaProperties22 = _this$mediaProperties21.pc) === null || _this$mediaProperties22 === void 0 ? void 0 : (_this$mediaProperties23 = _this$mediaProperties22.pc) === null || _this$mediaProperties23 === void 0 ? void 0 : _this$mediaProperties23.connectionState) || ((_this$mediaProperties24 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties24 === void 0 ? void 0 : (_this$mediaProperties25 = _this$mediaProperties24.mediaConnection) === null || _this$mediaProperties25 === void 0 ? void 0 : (_this$mediaProperties26 = _this$mediaProperties25.pc) === null || _this$mediaProperties26 === void 0 ? void 0 : _this$mediaProperties26.connectionState) || 'unknown',
6984
7013
  iceConnectionState: ((_this$mediaProperties27 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties27 === void 0 ? void 0 : (_this$mediaProperties28 = _this$mediaProperties27.multistreamConnection) === null || _this$mediaProperties28 === void 0 ? void 0 : (_this$mediaProperties29 = _this$mediaProperties28.pc) === null || _this$mediaProperties29 === void 0 ? void 0 : (_this$mediaProperties30 = _this$mediaProperties29.pc) === null || _this$mediaProperties30 === void 0 ? void 0 : _this$mediaProperties30.iceConnectionState) || ((_this$mediaProperties31 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties31 === void 0 ? void 0 : (_this$mediaProperties32 = _this$mediaProperties31.mediaConnection) === null || _this$mediaProperties32 === void 0 ? void 0 : (_this$mediaProperties33 = _this$mediaProperties32.pc) === null || _this$mediaProperties33 === void 0 ? void 0 : _this$mediaProperties33.iceConnectionState) || 'unknown'
6985
7014
  }, reachabilityMetrics), iceCandidateErrors));
6986
- _context32.next = 65;
7015
+ _context32.next = 64;
6987
7016
  return this.cleanUpOnAddMediaFailure();
6988
- case 65:
7017
+ case 64:
6989
7018
  // Upload logs on error while adding media
6990
7019
  _triggerProxy.default.trigger(this, {
6991
7020
  file: 'meeting/index',
@@ -6997,16 +7026,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6997
7026
  });
6998
7027
  }
6999
7028
  throw _context32.t0;
7000
- case 68:
7029
+ case 67:
7030
+ _context32.prev = 67;
7031
+ this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
7032
+ return _context32.finish(67);
7033
+ case 70:
7001
7034
  case "end":
7002
7035
  return _context32.stop();
7003
7036
  }
7004
- }, _callee32, this, [[19, 50]]);
7037
+ }, _callee32, this, [[18, 49, 67, 70]]);
7005
7038
  }));
7006
- function addMedia() {
7007
- return _addMedia.apply(this, arguments);
7039
+ function addMediaInternal(_x32, _x33, _x34) {
7040
+ return _addMediaInternal.apply(this, arguments);
7008
7041
  }
7009
- return addMedia;
7042
+ return addMediaInternal;
7010
7043
  }()
7011
7044
  /**
7012
7045
  * Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
@@ -7033,7 +7066,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7033
7066
  * @memberof Meeting
7034
7067
  */
7035
7068
  function enqueueMediaUpdate(mediaUpdateType) {
7036
- var _this40 = this;
7069
+ var _this42 = this;
7037
7070
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
7038
7071
  var canUpdateMediaNow = this.canUpdateMedia();
7039
7072
  return new _promise.default(function (resolve, reject) {
@@ -7044,9 +7077,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7044
7077
  options: options
7045
7078
  };
7046
7079
  _loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
7047
- _this40.queuedMediaUpdates.push(queueItem);
7080
+ _this42.queuedMediaUpdates.push(queueItem);
7048
7081
  if (canUpdateMediaNow) {
7049
- _this40.processNextQueuedMediaUpdate();
7082
+ _this42.processNextQueuedMediaUpdate();
7050
7083
  }
7051
7084
  });
7052
7085
  }
@@ -7135,7 +7168,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7135
7168
  }
7136
7169
  }, _callee33, this);
7137
7170
  }));
7138
- function updateMedia(_x32) {
7171
+ function updateMedia(_x35) {
7139
7172
  return _updateMedia.apply(this, arguments);
7140
7173
  }
7141
7174
  return updateMedia;
@@ -7151,7 +7184,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7151
7184
  }, {
7152
7185
  key: "acknowledge",
7153
7186
  value: function acknowledge(type) {
7154
- var _this41 = this;
7187
+ var _this43 = this;
7155
7188
  if (!type) {
7156
7189
  return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
7157
7190
  }
@@ -7163,12 +7196,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7163
7196
  }).then(function (response) {
7164
7197
  return _promise.default.resolve(response);
7165
7198
  }).then(function (response) {
7166
- _this41.meetingFiniteStateMachine.ring(type);
7199
+ _this43.meetingFiniteStateMachine.ring(type);
7167
7200
  // @ts-ignore
7168
- _this41.webex.internal.newMetrics.submitClientEvent({
7201
+ _this43.webex.internal.newMetrics.submitClientEvent({
7169
7202
  name: 'client.alert.displayed',
7170
7203
  options: {
7171
- meetingId: _this41.id
7204
+ meetingId: _this43.id
7172
7205
  }
7173
7206
  });
7174
7207
  return _promise.default.resolve({
@@ -7193,12 +7226,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7193
7226
  }, {
7194
7227
  key: "decline",
7195
7228
  value: function decline(reason) {
7196
- var _this42 = this;
7229
+ var _this44 = this;
7197
7230
  return _util2.default.declineMeeting(this, reason).then(function (decline) {
7198
- _this42.meetingFiniteStateMachine.decline();
7231
+ _this44.meetingFiniteStateMachine.decline();
7199
7232
  return _promise.default.resolve(decline);
7200
7233
  }).catch(function (error) {
7201
- _this42.meetingFiniteStateMachine.fail(error);
7234
+ _this44.meetingFiniteStateMachine.fail(error);
7202
7235
  return _promise.default.reject(error);
7203
7236
  });
7204
7237
  }
@@ -7249,7 +7282,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7249
7282
  }, {
7250
7283
  key: "leave",
7251
7284
  value: function leave() {
7252
- var _this43 = this;
7285
+ var _this45 = this;
7253
7286
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7254
7287
  var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
7255
7288
 
@@ -7261,7 +7294,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7261
7294
  var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7262
7295
  return (
7263
7296
  // @ts-ignore
7264
- _this43.webex.internal.newMetrics.submitClientEvent({
7297
+ _this45.webex.internal.newMetrics.submitClientEvent({
7265
7298
  name: 'client.call.leave',
7266
7299
  payload: _objectSpread({
7267
7300
  trigger: 'user-interaction',
@@ -7269,7 +7302,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7269
7302
  leaveReason: options.clientEventLeaveReason
7270
7303
  }, payload),
7271
7304
  options: {
7272
- meetingId: _this43.id
7305
+ meetingId: _this45.id
7273
7306
  }
7274
7307
  })
7275
7308
  );
@@ -7278,24 +7311,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7278
7311
  return _util2.default.leaveMeeting(this, options).then(function (leave) {
7279
7312
  // CA team recommends submitting this *after* locus /leave
7280
7313
  submitLeaveMetric();
7281
- _this43.meetingFiniteStateMachine.leave();
7282
- _this43.clearMeetingData();
7314
+ _this45.meetingFiniteStateMachine.leave();
7315
+ _this45.clearMeetingData();
7283
7316
 
7284
7317
  // upload logs on leave irrespective of meeting delete
7285
- _triggerProxy.default.trigger(_this43, {
7318
+ _triggerProxy.default.trigger(_this45, {
7286
7319
  file: 'meeting/index',
7287
7320
  function: 'leave'
7288
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this43);
7321
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this45);
7289
7322
 
7290
7323
  // TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
7291
- if (_this43.wirelessShare || _this43.guest) {
7324
+ if (_this45.wirelessShare || _this45.guest) {
7292
7325
  // If screen sharing clean the meeting object
7293
- _triggerProxy.default.trigger(_this43, {
7326
+ _triggerProxy.default.trigger(_this45, {
7294
7327
  file: 'meeting/index',
7295
7328
  function: 'leave'
7296
7329
  }, _constants.EVENTS.DESTROY_MEETING, {
7297
7330
  reason: options.reason,
7298
- meetingId: _this43.id
7331
+ meetingId: _this45.id
7299
7332
  });
7300
7333
  }
7301
7334
  _loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
@@ -7312,16 +7345,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7312
7345
  shownToUser: false
7313
7346
  }]
7314
7347
  });
7315
- _this43.meetingFiniteStateMachine.fail(error);
7348
+ _this45.meetingFiniteStateMachine.fail(error);
7316
7349
  _loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
7317
7350
  // upload logs on leave irrespective of meeting delete
7318
- _triggerProxy.default.trigger(_this43, {
7351
+ _triggerProxy.default.trigger(_this45, {
7319
7352
  file: 'meeting/index',
7320
7353
  function: 'leave'
7321
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this43);
7354
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this45);
7322
7355
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
7323
- correlation_id: _this43.correlationId,
7324
- locus_id: _this43.locusUrl.split('/').pop(),
7356
+ correlation_id: _this45.correlationId,
7357
+ locus_id: _this45.locusUrl.split('/').pop(),
7325
7358
  reason: error.message,
7326
7359
  stack: error.stack,
7327
7360
  code: error.code
@@ -7341,7 +7374,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7341
7374
  }, {
7342
7375
  key: "startWhiteboardShare",
7343
7376
  value: function startWhiteboardShare(channelUrl, resourceToken) {
7344
- var _this44 = this;
7377
+ var _this46 = this;
7345
7378
  var whiteboard = this.locusInfo.mediaShares.find(function (element) {
7346
7379
  return element.name === 'whiteboard';
7347
7380
  });
@@ -7370,13 +7403,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7370
7403
  body.resourceToken = resourceToken;
7371
7404
  }
7372
7405
  return this.meetingRequest.changeMeetingFloor(body).then(function () {
7373
- _this44.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
7406
+ _this46.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
7374
7407
  return _promise.default.resolve();
7375
7408
  }).catch(function (error) {
7376
7409
  _loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
7377
7410
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
7378
- correlation_id: _this44.correlationId,
7379
- locus_id: _this44.locusUrl.split('/').pop(),
7411
+ correlation_id: _this46.correlationId,
7412
+ locus_id: _this46.locusUrl.split('/').pop(),
7380
7413
  reason: error.message,
7381
7414
  stack: error.stack,
7382
7415
  board: {
@@ -7399,7 +7432,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7399
7432
  }, {
7400
7433
  key: "stopWhiteboardShare",
7401
7434
  value: function stopWhiteboardShare(channelUrl) {
7402
- var _this45 = this;
7435
+ var _this47 = this;
7403
7436
  var whiteboard = this.locusInfo.mediaShares.find(function (element) {
7404
7437
  return element.name === 'whiteboard';
7405
7438
  });
@@ -7422,8 +7455,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7422
7455
  }).catch(function (error) {
7423
7456
  _loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
7424
7457
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
7425
- correlation_id: _this45.correlationId,
7426
- locus_id: _this45.locusUrl.split('/').pop(),
7458
+ correlation_id: _this47.correlationId,
7459
+ locus_id: _this47.locusUrl.split('/').pop(),
7427
7460
  reason: error.message,
7428
7461
  stack: error.stack,
7429
7462
  board: {
@@ -7445,7 +7478,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7445
7478
  }, {
7446
7479
  key: "requestScreenShareFloor",
7447
7480
  value: function requestScreenShareFloor() {
7448
- var _this46 = this;
7481
+ var _this48 = this;
7449
7482
  if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
7450
7483
  _loggerProxy.default.logger.log("Meeting:index#requestScreenShareFloor --> NOT requesting floor, because we don't have the share stream anymore (shareStream=".concat(this.mediaProperties.shareVideoStream ? 'yes' : 'no', ", sendShare=").concat(this.mediaProperties.mediaDirection.sendShare, ")"));
7451
7484
  this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
@@ -7476,34 +7509,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7476
7509
  resourceUrl: this.resourceUrl,
7477
7510
  shareInstanceId: this.localShareInstanceId
7478
7511
  }).then(function () {
7479
- _this46.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
7512
+ _this48.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
7480
7513
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
7481
- correlation_id: _this46.correlationId,
7482
- locus_id: _this46.locusUrl.split('/').pop()
7514
+ correlation_id: _this48.correlationId,
7515
+ locus_id: _this48.locusUrl.split('/').pop()
7483
7516
  });
7484
7517
  return _promise.default.resolve();
7485
7518
  }).catch(function (error) {
7486
7519
  _loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
7487
7520
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
7488
- correlation_id: _this46.correlationId,
7489
- locus_id: _this46.locusUrl.split('/').pop(),
7521
+ correlation_id: _this48.correlationId,
7522
+ locus_id: _this48.locusUrl.split('/').pop(),
7490
7523
  reason: error.message,
7491
7524
  stack: error.stack
7492
7525
  });
7493
7526
 
7494
7527
  // @ts-ignore
7495
- _this46.webex.internal.newMetrics.submitClientEvent({
7528
+ _this48.webex.internal.newMetrics.submitClientEvent({
7496
7529
  name: 'client.share.floor-granted.local',
7497
7530
  payload: {
7498
7531
  mediaType: 'share',
7499
7532
  errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
7500
- shareInstanceId: _this46.localShareInstanceId
7533
+ shareInstanceId: _this48.localShareInstanceId
7501
7534
  },
7502
7535
  options: {
7503
- meetingId: _this46.id
7536
+ meetingId: _this48.id
7504
7537
  }
7505
7538
  });
7506
- _this46.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
7539
+ _this48.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
7507
7540
  return _promise.default.reject(error);
7508
7541
  });
7509
7542
  }
@@ -7526,10 +7559,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7526
7559
  }, {
7527
7560
  key: "requestScreenShareFloorIfPending",
7528
7561
  value: function requestScreenShareFloorIfPending() {
7529
- var _this47 = this;
7562
+ var _this49 = this;
7530
7563
  if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
7531
7564
  this.requestScreenShareFloor().then(function () {
7532
- _this47.floorGrantPending = false;
7565
+ _this49.floorGrantPending = false;
7533
7566
  });
7534
7567
  }
7535
7568
  }
@@ -7543,7 +7576,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7543
7576
  }, {
7544
7577
  key: "releaseScreenShareFloor",
7545
7578
  value: function releaseScreenShareFloor() {
7546
- var _this48 = this;
7579
+ var _this50 = this;
7547
7580
  var content = this.locusInfo.mediaShares.find(function (element) {
7548
7581
  return element.name === _constants.CONTENT;
7549
7582
  });
@@ -7578,8 +7611,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7578
7611
  }).catch(function (error) {
7579
7612
  _loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
7580
7613
  _metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
7581
- correlation_id: _this48.correlationId,
7582
- locus_id: _this48.locusUrl.split('/').pop(),
7614
+ correlation_id: _this50.correlationId,
7615
+ locus_id: _this50.locusUrl.split('/').pop(),
7583
7616
  reason: error.message,
7584
7617
  stack: error.stack
7585
7618
  });
@@ -7758,7 +7791,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7758
7791
  }, {
7759
7792
  key: "changeVideoLayout",
7760
7793
  value: function changeVideoLayout(layoutType) {
7761
- var _this49 = this;
7794
+ var _this51 = this;
7762
7795
  var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
7763
7796
  var main = renderInfo.main,
7764
7797
  content = renderInfo.content;
@@ -7812,7 +7845,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7812
7845
  }
7813
7846
  this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
7814
7847
  this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
7815
- _triggerProxy.default.trigger(_this49, {
7848
+ _triggerProxy.default.trigger(_this51, {
7816
7849
  file: 'meeting/index',
7817
7850
  function: 'changeVideoLayout'
7818
7851
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
@@ -7928,7 +7961,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7928
7961
  }, {
7929
7962
  key: "endMeetingForAll",
7930
7963
  value: function endMeetingForAll() {
7931
- var _this50 = this;
7964
+ var _this52 = this;
7932
7965
  // @ts-ignore
7933
7966
  this.webex.internal.newMetrics.submitClientEvent({
7934
7967
  name: 'client.call.leave',
@@ -7946,25 +7979,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7946
7979
  locus_id: this.locusId
7947
7980
  });
7948
7981
  return _util2.default.endMeetingForAll(this).then(function (end) {
7949
- _this50.meetingFiniteStateMachine.end();
7950
- _this50.clearMeetingData();
7982
+ _this52.meetingFiniteStateMachine.end();
7983
+ _this52.clearMeetingData();
7951
7984
  // upload logs on leave irrespective of meeting delete
7952
- _triggerProxy.default.trigger(_this50, {
7985
+ _triggerProxy.default.trigger(_this52, {
7953
7986
  file: 'meeting/index',
7954
7987
  function: 'endMeetingForAll'
7955
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this50);
7988
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this52);
7956
7989
  return end;
7957
7990
  }).catch(function (error) {
7958
- _this50.meetingFiniteStateMachine.fail(error);
7991
+ _this52.meetingFiniteStateMachine.fail(error);
7959
7992
  _loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
7960
7993
  // upload logs on leave irrespective of meeting delete
7961
- _triggerProxy.default.trigger(_this50, {
7994
+ _triggerProxy.default.trigger(_this52, {
7962
7995
  file: 'meeting/index',
7963
7996
  function: 'endMeetingForAll'
7964
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this50);
7997
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this52);
7965
7998
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
7966
- correlation_id: _this50.correlationId,
7967
- locus_id: _this50.locusUrl.split('/').pop(),
7999
+ correlation_id: _this52.correlationId,
8000
+ locus_id: _this52.locusUrl.split('/').pop(),
7968
8001
  reason: error.message,
7969
8002
  stack: error.stack,
7970
8003
  code: error.code
@@ -8085,7 +8118,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8085
8118
  }
8086
8119
  }, _callee34, this);
8087
8120
  }));
8088
- function enableMusicMode(_x33) {
8121
+ function enableMusicMode(_x36) {
8089
8122
  return _enableMusicMode.apply(this, arguments);
8090
8123
  }
8091
8124
  return enableMusicMode;
@@ -8106,7 +8139,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8106
8139
  _this$mediaProperties41,
8107
8140
  _this$mediaProperties42,
8108
8141
  _this$mediaProperties43,
8109
- _this51 = this;
8142
+ _this53 = this;
8110
8143
  var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
8111
8144
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
8112
8145
  if (!this.canUpdateMedia()) {
@@ -8131,8 +8164,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8131
8164
  }).catch(function (error) {
8132
8165
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
8133
8166
  _metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
8134
- correlation_id: _this51.correlationId,
8135
- locus_id: _this51.locusUrl.split('/').pop(),
8167
+ correlation_id: _this53.correlationId,
8168
+ locus_id: _this53.locusUrl.split('/').pop(),
8136
8169
  reason: error.message,
8137
8170
  stack: error.stack
8138
8171
  });
@@ -8209,7 +8242,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8209
8242
  }
8210
8243
  }, _callee35, this);
8211
8244
  }));
8212
- function publishStream(_x34, _x35) {
8245
+ function publishStream(_x37, _x38) {
8213
8246
  return _publishStream.apply(this, arguments);
8214
8247
  }
8215
8248
  return publishStream;
@@ -8254,7 +8287,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8254
8287
  }
8255
8288
  }, _callee36, this);
8256
8289
  }));
8257
- function unpublishStream(_x36, _x37) {
8290
+ function unpublishStream(_x39, _x40) {
8258
8291
  return _unpublishStream.apply(this, arguments);
8259
8292
  }
8260
8293
  return unpublishStream;
@@ -8361,7 +8394,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8361
8394
  }
8362
8395
  }, _callee37, this);
8363
8396
  }));
8364
- function publishStreams(_x38) {
8397
+ function publishStreams(_x41) {
8365
8398
  return _publishStreams.apply(this, arguments);
8366
8399
  }
8367
8400
  return publishStreams;
@@ -8435,7 +8468,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8435
8468
  }
8436
8469
  }, _callee38, this);
8437
8470
  }));
8438
- function unpublishStreams(_x39) {
8471
+ function unpublishStreams(_x42) {
8439
8472
  return _unpublishStreams.apply(this, arguments);
8440
8473
  }
8441
8474
  return unpublishStreams;