@webex/plugin-meetings 3.7.0-next.22 → 3.7.0-next.24

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.
Files changed (46) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/constants.js +2 -0
  4. package/dist/constants.js.map +1 -1
  5. package/dist/interpretation/index.js +1 -1
  6. package/dist/interpretation/siLanguage.js +1 -1
  7. package/dist/locus-info/index.js +8 -0
  8. package/dist/locus-info/index.js.map +1 -1
  9. package/dist/locus-info/selfUtils.js +20 -11
  10. package/dist/locus-info/selfUtils.js.map +1 -1
  11. package/dist/meeting/index.js +710 -645
  12. package/dist/meeting/index.js.map +1 -1
  13. package/dist/meeting/request.js +30 -0
  14. package/dist/meeting/request.js.map +1 -1
  15. package/dist/meeting/request.type.js.map +1 -1
  16. package/dist/member/index.js +9 -0
  17. package/dist/member/index.js.map +1 -1
  18. package/dist/member/types.js.map +1 -1
  19. package/dist/member/util.js +39 -28
  20. package/dist/member/util.js.map +1 -1
  21. package/dist/multistream/sendSlotManager.js +24 -0
  22. package/dist/multistream/sendSlotManager.js.map +1 -1
  23. package/dist/types/constants.d.ts +2 -0
  24. package/dist/types/meeting/index.d.ts +8 -0
  25. package/dist/types/meeting/request.d.ts +12 -1
  26. package/dist/types/meeting/request.type.d.ts +6 -0
  27. package/dist/types/member/index.d.ts +1 -0
  28. package/dist/types/member/types.d.ts +7 -0
  29. package/dist/types/multistream/sendSlotManager.d.ts +8 -1
  30. package/dist/webinar/index.js +1 -1
  31. package/package.json +3 -3
  32. package/src/constants.ts +2 -0
  33. package/src/locus-info/index.ts +13 -0
  34. package/src/locus-info/selfUtils.ts +6 -0
  35. package/src/meeting/index.ts +58 -0
  36. package/src/meeting/request.ts +26 -1
  37. package/src/meeting/request.type.ts +7 -0
  38. package/src/member/index.ts +9 -0
  39. package/src/member/types.ts +8 -0
  40. package/src/member/util.ts +34 -24
  41. package/src/multistream/sendSlotManager.ts +31 -0
  42. package/test/unit/spec/locus-info/index.js +93 -0
  43. package/test/unit/spec/locus-info/selfConstant.js +7 -0
  44. package/test/unit/spec/locus-info/selfUtils.js +39 -0
  45. package/test/unit/spec/meeting/index.js +108 -0
  46. package/test/unit/spec/member/util.js +52 -11
@@ -3868,6 +3868,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3868
3868
  _this20.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
3869
3869
  }
3870
3870
  });
3871
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_BRB_CHANGED, function (payload) {
3872
+ _triggerProxy.default.trigger(_this20, {
3873
+ file: 'meeting/index',
3874
+ function: 'setUpLocusInfoSelfListener'
3875
+ }, _constants.EVENT_TRIGGERS.MEETING_SELF_BRB_UPDATE, {
3876
+ payload: payload
3877
+ });
3878
+ });
3871
3879
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ROLES_CHANGED, function (payload) {
3872
3880
  var _payload$newRoles, _payload$newRoles2, _payload$newRoles3;
3873
3881
  var isModeratorOrCohost = ((_payload$newRoles = payload.newRoles) === null || _payload$newRoles === void 0 ? void 0 : _payload$newRoles.includes(_constants.SELF_ROLES.MODERATOR)) || ((_payload$newRoles2 = payload.newRoles) === null || _payload$newRoles2 === void 0 ? void 0 : _payload$newRoles2.includes(_constants.SELF_ROLES.COHOST));
@@ -4066,6 +4074,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4066
4074
  return this.members.admitMembers(memberIds, locusUrls);
4067
4075
  }
4068
4076
 
4077
+ /**
4078
+ * Manages be right back status updates for the current participant.
4079
+ *
4080
+ * @param {boolean} enabled - Indicates whether the user enabled brb or not.
4081
+ * @returns {Promise<void>} resolves when the brb status is updated or does nothing if not in a multistream meeting.
4082
+ * @throws {Error} - Throws an error if the request fails.
4083
+ */
4084
+ }, {
4085
+ key: "beRightBack",
4086
+ value: (function () {
4087
+ var _beRightBack = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(enabled) {
4088
+ var _this23 = this;
4089
+ var errorMessage, error, _errorMessage, _error;
4090
+ return _regenerator.default.wrap(function _callee11$(_context11) {
4091
+ while (1) switch (_context11.prev = _context11.next) {
4092
+ case 0:
4093
+ if (this.isMultistream) {
4094
+ _context11.next = 5;
4095
+ break;
4096
+ }
4097
+ errorMessage = 'Meeting:index#beRightBack --> Not a multistream meeting';
4098
+ error = new Error(errorMessage);
4099
+ _loggerProxy.default.logger.error(error);
4100
+ return _context11.abrupt("return", _promise.default.reject(error));
4101
+ case 5:
4102
+ if (this.mediaProperties.webrtcMediaConnection) {
4103
+ _context11.next = 10;
4104
+ break;
4105
+ }
4106
+ _errorMessage = 'Meeting:index#beRightBack --> WebRTC media connection is not defined';
4107
+ _error = new Error(_errorMessage);
4108
+ _loggerProxy.default.logger.error(_error);
4109
+ return _context11.abrupt("return", _promise.default.reject(_error));
4110
+ case 10:
4111
+ return _context11.abrupt("return", this.meetingRequest.setBrb({
4112
+ enabled: enabled,
4113
+ locusUrl: this.locusUrl,
4114
+ deviceUrl: this.deviceUrl,
4115
+ selfId: this.selfId
4116
+ }).then(function () {
4117
+ _this23.sendSlotManager.setSourceStateOverride(_internalMediaCore.MediaType.VideoMain, enabled ? 'away' : null);
4118
+ }).catch(function (error) {
4119
+ _loggerProxy.default.logger.error('Meeting:index#beRightBack --> Error ', error);
4120
+ return _promise.default.reject(error);
4121
+ }));
4122
+ case 11:
4123
+ case "end":
4124
+ return _context11.stop();
4125
+ }
4126
+ }, _callee11, this);
4127
+ }));
4128
+ function beRightBack(_x11) {
4129
+ return _beRightBack.apply(this, arguments);
4130
+ }
4131
+ return beRightBack;
4132
+ }()
4069
4133
  /**
4070
4134
  * Remove the member from the meeting, boot them
4071
4135
  * @param {String} memberId
@@ -4073,6 +4137,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4073
4137
  * @public
4074
4138
  * @memberof Meeting
4075
4139
  */
4140
+ )
4076
4141
  }, {
4077
4142
  key: "remove",
4078
4143
  value: function remove(memberId) {
@@ -4547,7 +4612,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4547
4612
  }, {
4548
4613
  key: "setLogUploadTimer",
4549
4614
  value: function setLogUploadTimer() {
4550
- var _this23 = this;
4615
+ var _this24 = this;
4551
4616
  // start with short timeouts and increase them later on so in case users have very long multi-hour meetings we don't get too fragmented logs
4552
4617
  var LOG_UPLOAD_INTERVALS = [0.1, 15, 30, 60]; // in minutes
4553
4618
 
@@ -4558,15 +4623,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4558
4623
  this.logUploadIntervalIndex += 1;
4559
4624
  }
4560
4625
  this.uploadLogsTimer = (0, _commonTimers.safeSetTimeout)(function () {
4561
- _this23.uploadLogsTimer = undefined;
4562
- _this23.uploadLogs();
4626
+ _this24.uploadLogsTimer = undefined;
4627
+ _this24.uploadLogs();
4563
4628
 
4564
4629
  // just as an extra precaution, to avoid uploading logs forever in case something goes wrong
4565
4630
  // and the page remains opened, we stop it if there is no media connection
4566
- if (!_this23.mediaProperties.webrtcMediaConnection) {
4631
+ if (!_this24.mediaProperties.webrtcMediaConnection) {
4567
4632
  return;
4568
4633
  }
4569
- _this23.setLogUploadTimer();
4634
+ _this24.setLogUploadTimer();
4570
4635
  }, delay);
4571
4636
  }
4572
4637
 
@@ -4633,7 +4698,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4633
4698
  }, {
4634
4699
  key: "closeRemoteStreams",
4635
4700
  value: function closeRemoteStreams() {
4636
- var _this24 = this;
4701
+ var _this25 = this;
4637
4702
  var _this$mediaProperties4 = this.mediaProperties,
4638
4703
  remoteAudioStream = _this$mediaProperties4.remoteAudioStream,
4639
4704
  remoteVideoStream = _this$mediaProperties4.remoteVideoStream,
@@ -4647,7 +4712,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4647
4712
  */
4648
4713
  // eslint-disable-next-line @typescript-eslint/no-shadow
4649
4714
  var triggerMediaStoppedEvent = function triggerMediaStoppedEvent(mediaType) {
4650
- _triggerProxy.default.trigger(_this24, {
4715
+ _triggerProxy.default.trigger(_this25, {
4651
4716
  file: 'meeting/index',
4652
4717
  function: 'closeRemoteStreams'
4653
4718
  }, _constants.EVENT_TRIGGERS.MEDIA_STOPPED, {
@@ -4681,11 +4746,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4681
4746
  }, {
4682
4747
  key: "setLocalAudioStream",
4683
4748
  value: (function () {
4684
- var _setLocalAudioStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(localStream) {
4749
+ var _setLocalAudioStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
4685
4750
  var _this$audio2;
4686
4751
  var oldStream;
4687
- return _regenerator.default.wrap(function _callee11$(_context11) {
4688
- while (1) switch (_context11.prev = _context11.next) {
4752
+ return _regenerator.default.wrap(function _callee12$(_context12) {
4753
+ while (1) switch (_context12.prev = _context12.next) {
4689
4754
  case 0:
4690
4755
  oldStream = this.mediaProperties.audioStream;
4691
4756
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
@@ -4699,21 +4764,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4699
4764
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
4700
4765
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
4701
4766
  if (!(!this.isMultistream || !localStream)) {
4702
- _context11.next = 12;
4767
+ _context12.next = 12;
4703
4768
  break;
4704
4769
  }
4705
- _context11.next = 12;
4770
+ _context12.next = 12;
4706
4771
  return this.unpublishStream(_internalMediaCore.MediaType.AudioMain, oldStream);
4707
4772
  case 12:
4708
- _context11.next = 14;
4773
+ _context12.next = 14;
4709
4774
  return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
4710
4775
  case 14:
4711
4776
  case "end":
4712
- return _context11.stop();
4777
+ return _context12.stop();
4713
4778
  }
4714
- }, _callee11, this);
4779
+ }, _callee12, this);
4715
4780
  }));
4716
- function setLocalAudioStream(_x11) {
4781
+ function setLocalAudioStream(_x12) {
4717
4782
  return _setLocalAudioStream.apply(this, arguments);
4718
4783
  }
4719
4784
  return setLocalAudioStream;
@@ -4729,11 +4794,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4729
4794
  }, {
4730
4795
  key: "setLocalVideoStream",
4731
4796
  value: (function () {
4732
- var _setLocalVideoStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(localStream) {
4797
+ var _setLocalVideoStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(localStream) {
4733
4798
  var _this$video2;
4734
4799
  var oldStream;
4735
- return _regenerator.default.wrap(function _callee12$(_context12) {
4736
- while (1) switch (_context12.prev = _context12.next) {
4800
+ return _regenerator.default.wrap(function _callee13$(_context13) {
4801
+ while (1) switch (_context13.prev = _context13.next) {
4737
4802
  case 0:
4738
4803
  oldStream = this.mediaProperties.videoStream;
4739
4804
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
@@ -4747,21 +4812,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4747
4812
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
4748
4813
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
4749
4814
  if (!(!this.isMultistream || !localStream)) {
4750
- _context12.next = 12;
4815
+ _context13.next = 12;
4751
4816
  break;
4752
4817
  }
4753
- _context12.next = 12;
4818
+ _context13.next = 12;
4754
4819
  return this.unpublishStream(_internalMediaCore.MediaType.VideoMain, oldStream);
4755
4820
  case 12:
4756
- _context12.next = 14;
4821
+ _context13.next = 14;
4757
4822
  return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
4758
4823
  case 14:
4759
4824
  case "end":
4760
- return _context12.stop();
4825
+ return _context13.stop();
4761
4826
  }
4762
- }, _callee12, this);
4827
+ }, _callee13, this);
4763
4828
  }));
4764
- function setLocalVideoStream(_x12) {
4829
+ function setLocalVideoStream(_x13) {
4765
4830
  return _setLocalVideoStream.apply(this, arguments);
4766
4831
  }
4767
4832
  return setLocalVideoStream;
@@ -4778,10 +4843,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4778
4843
  }, {
4779
4844
  key: "setLocalShareVideoStream",
4780
4845
  value: (function () {
4781
- var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(localDisplayStream) {
4846
+ var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(localDisplayStream) {
4782
4847
  var oldStream;
4783
- return _regenerator.default.wrap(function _callee13$(_context13) {
4784
- while (1) switch (_context13.prev = _context13.next) {
4848
+ return _regenerator.default.wrap(function _callee14$(_context14) {
4849
+ while (1) switch (_context14.prev = _context14.next) {
4785
4850
  case 0:
4786
4851
  oldStream = this.mediaProperties.shareVideoStream;
4787
4852
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
@@ -4793,21 +4858,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4793
4858
  localDisplayStream === null || localDisplayStream === void 0 ? void 0 : localDisplayStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
4794
4859
  this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
4795
4860
  if (!(!this.isMultistream || !localDisplayStream)) {
4796
- _context13.next = 12;
4861
+ _context14.next = 12;
4797
4862
  break;
4798
4863
  }
4799
- _context13.next = 12;
4864
+ _context14.next = 12;
4800
4865
  return this.unpublishStream(_internalMediaCore.MediaType.VideoSlides, oldStream);
4801
4866
  case 12:
4802
- _context13.next = 14;
4867
+ _context14.next = 14;
4803
4868
  return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
4804
4869
  case 14:
4805
4870
  case "end":
4806
- return _context13.stop();
4871
+ return _context14.stop();
4807
4872
  }
4808
- }, _callee13, this);
4873
+ }, _callee14, this);
4809
4874
  }));
4810
- function setLocalShareVideoStream(_x13) {
4875
+ function setLocalShareVideoStream(_x14) {
4811
4876
  return _setLocalShareVideoStream.apply(this, arguments);
4812
4877
  }
4813
4878
  return setLocalShareVideoStream;
@@ -4823,10 +4888,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4823
4888
  }, {
4824
4889
  key: "setLocalShareAudioStream",
4825
4890
  value: (function () {
4826
- var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(localSystemAudioStream) {
4891
+ var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15(localSystemAudioStream) {
4827
4892
  var oldStream;
4828
- return _regenerator.default.wrap(function _callee14$(_context14) {
4829
- while (1) switch (_context14.prev = _context14.next) {
4893
+ return _regenerator.default.wrap(function _callee15$(_context15) {
4894
+ while (1) switch (_context15.prev = _context15.next) {
4830
4895
  case 0:
4831
4896
  oldStream = this.mediaProperties.shareAudioStream;
4832
4897
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
@@ -4836,21 +4901,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4836
4901
  localSystemAudioStream === null || localSystemAudioStream === void 0 ? void 0 : localSystemAudioStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
4837
4902
  this.mediaProperties.mediaDirection.sendShare = this.mediaProperties.hasLocalShareStream();
4838
4903
  if (!(!this.isMultistream || !localSystemAudioStream)) {
4839
- _context14.next = 10;
4904
+ _context15.next = 10;
4840
4905
  break;
4841
4906
  }
4842
- _context14.next = 10;
4907
+ _context15.next = 10;
4843
4908
  return this.unpublishStream(_internalMediaCore.MediaType.AudioSlides, oldStream);
4844
4909
  case 10:
4845
- _context14.next = 12;
4910
+ _context15.next = 12;
4846
4911
  return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
4847
4912
  case 12:
4848
4913
  case "end":
4849
- return _context14.stop();
4914
+ return _context15.stop();
4850
4915
  }
4851
- }, _callee14, this);
4916
+ }, _callee15, this);
4852
4917
  }));
4853
- function setLocalShareAudioStream(_x14) {
4918
+ function setLocalShareAudioStream(_x15) {
4854
4919
  return _setLocalShareAudioStream.apply(this, arguments);
4855
4920
  }
4856
4921
  return setLocalShareAudioStream;
@@ -4955,7 +5020,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4955
5020
  }, {
4956
5021
  key: "setMercuryListener",
4957
5022
  value: function setMercuryListener() {
4958
- var _this25 = this;
5023
+ var _this26 = this;
4959
5024
  // Client will have a socket manager and handle reconnecting to mercury, when we reconnect to mercury
4960
5025
  // if the meeting has active peer connections, it should try to reconnect.
4961
5026
  // @ts-ignore
@@ -4963,33 +5028,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4963
5028
  _loggerProxy.default.logger.info('Meeting:index#setMercuryListener --> Web socket online');
4964
5029
 
4965
5030
  // Only send restore event when it was disconnected before and for connected later
4966
- if (!_this25.hasWebsocketConnected) {
5031
+ if (!_this26.hasWebsocketConnected) {
4967
5032
  // @ts-ignore
4968
- _this25.webex.internal.newMetrics.submitClientEvent({
5033
+ _this26.webex.internal.newMetrics.submitClientEvent({
4969
5034
  name: 'client.mercury.connection.restored',
4970
5035
  options: {
4971
- meetingId: _this25.id
5036
+ meetingId: _this26.id
4972
5037
  }
4973
5038
  });
4974
5039
  _metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
4975
- correlation_id: _this25.correlationId
5040
+ correlation_id: _this26.correlationId
4976
5041
  });
4977
5042
  }
4978
- _this25.hasWebsocketConnected = true;
5043
+ _this26.hasWebsocketConnected = true;
4979
5044
  });
4980
5045
 
4981
5046
  // @ts-ignore
4982
5047
  this.webex.internal.mercury.on(_constants.OFFLINE, function () {
4983
5048
  _loggerProxy.default.logger.error('Meeting:index#setMercuryListener --> Web socket offline');
4984
5049
  // @ts-ignore
4985
- _this25.webex.internal.newMetrics.submitClientEvent({
5050
+ _this26.webex.internal.newMetrics.submitClientEvent({
4986
5051
  name: 'client.mercury.connection.lost',
4987
5052
  options: {
4988
- meetingId: _this25.id
5053
+ meetingId: _this26.id
4989
5054
  }
4990
5055
  });
4991
5056
  _metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
4992
- correlation_id: _this25.correlationId
5057
+ correlation_id: _this26.correlationId
4993
5058
  });
4994
5059
  });
4995
5060
  }
@@ -5091,7 +5156,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5091
5156
  }, {
5092
5157
  key: "muteAudio",
5093
5158
  value: function muteAudio() {
5094
- var _this26 = this;
5159
+ var _this27 = this;
5095
5160
  if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
5096
5161
  return _promise.default.reject(new _webexErrors.UserNotJoinedError());
5097
5162
  }
@@ -5107,22 +5172,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5107
5172
 
5108
5173
  // First, stop sending the local audio media
5109
5174
  return logRequest(this.audio.handleClientRequest(this, true).then(function () {
5110
- _util2.default.handleAudioLogging(_this26.mediaProperties.audioStream);
5175
+ _util2.default.handleAudioLogging(_this27.mediaProperties.audioStream);
5111
5176
  // @ts-ignore
5112
- _this26.webex.internal.newMetrics.submitClientEvent({
5177
+ _this27.webex.internal.newMetrics.submitClientEvent({
5113
5178
  name: 'client.muted',
5114
5179
  payload: {
5115
5180
  trigger: 'user-interaction',
5116
5181
  mediaType: 'audio'
5117
5182
  },
5118
5183
  options: {
5119
- meetingId: _this26.id
5184
+ meetingId: _this27.id
5120
5185
  }
5121
5186
  });
5122
5187
  }).catch(function (error) {
5123
5188
  _metrics.default.sendBehavioralMetric(_constants2.default.MUTE_AUDIO_FAILURE, {
5124
- correlation_id: _this26.correlationId,
5125
- locus_id: _this26.locusUrl.split('/').pop(),
5189
+ correlation_id: _this27.correlationId,
5190
+ locus_id: _this27.locusUrl.split('/').pop(),
5126
5191
  reason: error.message,
5127
5192
  stack: error.stack
5128
5193
  });
@@ -5141,7 +5206,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5141
5206
  }, {
5142
5207
  key: "unmuteAudio",
5143
5208
  value: function unmuteAudio() {
5144
- var _this27 = this;
5209
+ var _this28 = this;
5145
5210
  if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
5146
5211
  return _promise.default.reject(new _webexErrors.UserNotJoinedError());
5147
5212
  }
@@ -5157,22 +5222,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5157
5222
 
5158
5223
  // First, send the control to unmute the participant on the server
5159
5224
  return logRequest(this.audio.handleClientRequest(this, false).then(function () {
5160
- _util2.default.handleAudioLogging(_this27.mediaProperties.audioStream);
5225
+ _util2.default.handleAudioLogging(_this28.mediaProperties.audioStream);
5161
5226
  // @ts-ignore
5162
- _this27.webex.internal.newMetrics.submitClientEvent({
5227
+ _this28.webex.internal.newMetrics.submitClientEvent({
5163
5228
  name: 'client.unmuted',
5164
5229
  payload: {
5165
5230
  trigger: 'user-interaction',
5166
5231
  mediaType: 'audio'
5167
5232
  },
5168
5233
  options: {
5169
- meetingId: _this27.id
5234
+ meetingId: _this28.id
5170
5235
  }
5171
5236
  });
5172
5237
  }).catch(function (error) {
5173
5238
  _metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_AUDIO_FAILURE, {
5174
- correlation_id: _this27.correlationId,
5175
- locus_id: _this27.locusUrl.split('/').pop(),
5239
+ correlation_id: _this28.correlationId,
5240
+ locus_id: _this28.locusUrl.split('/').pop(),
5176
5241
  reason: error.message,
5177
5242
  stack: error.stack
5178
5243
  });
@@ -5191,7 +5256,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5191
5256
  }, {
5192
5257
  key: "muteVideo",
5193
5258
  value: function muteVideo() {
5194
- var _this28 = this;
5259
+ var _this29 = this;
5195
5260
  if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
5196
5261
  return _promise.default.reject(new _webexErrors.UserNotJoinedError());
5197
5262
  }
@@ -5205,22 +5270,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5205
5270
  return _promise.default.reject(new _parameter.default('no video control associated to the meeting'));
5206
5271
  }
5207
5272
  return logRequest(this.video.handleClientRequest(this, true).then(function () {
5208
- _util2.default.handleVideoLogging(_this28.mediaProperties.videoStream);
5273
+ _util2.default.handleVideoLogging(_this29.mediaProperties.videoStream);
5209
5274
  // @ts-ignore
5210
- _this28.webex.internal.newMetrics.submitClientEvent({
5275
+ _this29.webex.internal.newMetrics.submitClientEvent({
5211
5276
  name: 'client.muted',
5212
5277
  payload: {
5213
5278
  trigger: 'user-interaction',
5214
5279
  mediaType: 'video'
5215
5280
  },
5216
5281
  options: {
5217
- meetingId: _this28.id
5282
+ meetingId: _this29.id
5218
5283
  }
5219
5284
  });
5220
5285
  }).catch(function (error) {
5221
5286
  _metrics.default.sendBehavioralMetric(_constants2.default.MUTE_VIDEO_FAILURE, {
5222
- correlation_id: _this28.correlationId,
5223
- locus_id: _this28.locusUrl.split('/').pop(),
5287
+ correlation_id: _this29.correlationId,
5288
+ locus_id: _this29.locusUrl.split('/').pop(),
5224
5289
  reason: error.message,
5225
5290
  stack: error.stack
5226
5291
  });
@@ -5239,7 +5304,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5239
5304
  }, {
5240
5305
  key: "unmuteVideo",
5241
5306
  value: function unmuteVideo() {
5242
- var _this29 = this;
5307
+ var _this30 = this;
5243
5308
  if (!_util2.default.isUserInJoinedState(this.locusInfo)) {
5244
5309
  return _promise.default.reject(new _webexErrors.UserNotJoinedError());
5245
5310
  }
@@ -5253,22 +5318,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5253
5318
  return _promise.default.reject(new _parameter.default('no audio control associated to the meeting'));
5254
5319
  }
5255
5320
  return logRequest(this.video.handleClientRequest(this, false).then(function () {
5256
- _util2.default.handleVideoLogging(_this29.mediaProperties.videoStream);
5321
+ _util2.default.handleVideoLogging(_this30.mediaProperties.videoStream);
5257
5322
  // @ts-ignore
5258
- _this29.webex.internal.newMetrics.submitClientEvent({
5323
+ _this30.webex.internal.newMetrics.submitClientEvent({
5259
5324
  name: 'client.unmuted',
5260
5325
  payload: {
5261
5326
  trigger: 'user-interaction',
5262
5327
  mediaType: 'video'
5263
5328
  },
5264
5329
  options: {
5265
- meetingId: _this29.id
5330
+ meetingId: _this30.id
5266
5331
  }
5267
5332
  });
5268
5333
  }).catch(function (error) {
5269
5334
  _metrics.default.sendBehavioralMetric(_constants2.default.UNMUTE_VIDEO_FAILURE, {
5270
- correlation_id: _this29.correlationId,
5271
- locus_id: _this29.locusUrl.split('/').pop(),
5335
+ correlation_id: _this30.correlationId,
5336
+ locus_id: _this30.locusUrl.split('/').pop(),
5272
5337
  reason: error.message,
5273
5338
  stack: error.stack
5274
5339
  });
@@ -5297,8 +5362,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5297
5362
  }, {
5298
5363
  key: "joinWithMedia",
5299
5364
  value: (function () {
5300
- var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15() {
5301
- var _this30 = this;
5365
+ var _joinWithMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
5366
+ var _this31 = this;
5302
5367
  var options,
5303
5368
  mediaOptions,
5304
5369
  _options$joinOptions,
@@ -5318,51 +5383,51 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5318
5383
  _leaveError,
5319
5384
  leaveError,
5320
5385
  shouldRetry,
5321
- _args15 = arguments;
5322
- return _regenerator.default.wrap(function _callee15$(_context15) {
5323
- while (1) switch (_context15.prev = _context15.next) {
5386
+ _args16 = arguments;
5387
+ return _regenerator.default.wrap(function _callee16$(_context16) {
5388
+ while (1) switch (_context16.prev = _context16.next) {
5324
5389
  case 0:
5325
- options = _args15.length > 0 && _args15[0] !== undefined ? _args15[0] : {};
5390
+ options = _args16.length > 0 && _args16[0] !== undefined ? _args16[0] : {};
5326
5391
  mediaOptions = options.mediaOptions, _options$joinOptions = options.joinOptions, joinOptions = _options$joinOptions === void 0 ? {} : _options$joinOptions;
5327
5392
  _this$joinWithMediaRe = this.joinWithMediaRetryInfo, isRetry = _this$joinWithMediaRe.isRetry, prevJoinResponse = _this$joinWithMediaRe.prevJoinResponse;
5328
5393
  if (mediaOptions !== null && mediaOptions !== void 0 && mediaOptions.allowMediaInLobby) {
5329
- _context15.next = 5;
5394
+ _context16.next = 5;
5330
5395
  break;
5331
5396
  }
5332
- return _context15.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
5397
+ return _context16.abrupt("return", _promise.default.reject(new _parameter.default('joinWithMedia() can only be used with allowMediaInLobby set to true')));
5333
5398
  case 5:
5334
5399
  this.allowMediaInLobby = true;
5335
5400
  _loggerProxy.default.logger.info('Meeting:index#joinWithMedia called');
5336
5401
  joined = false;
5337
5402
  joinResponse = prevJoinResponse;
5338
- _context15.prev = 9;
5403
+ _context16.prev = 9;
5339
5404
  forceTurnDiscovery = false;
5340
5405
  if (joinResponse) {
5341
- _context15.next = 33;
5406
+ _context16.next = 33;
5342
5407
  break;
5343
5408
  }
5344
- _context15.next = 14;
5409
+ _context16.next = 14;
5345
5410
  return this.roap.generateTurnDiscoveryRequestMessage(this, true);
5346
5411
  case 14:
5347
- turnDiscoveryRequest = _context15.sent;
5412
+ turnDiscoveryRequest = _context16.sent;
5348
5413
  turnDiscoverySkippedReason = turnDiscoveryRequest.turnDiscoverySkippedReason;
5349
5414
  joinOptions.roapMessage = turnDiscoveryRequest.roapMessage;
5350
5415
  _loggerProxy.default.logger.info('Meeting:index#joinWithMedia ---> calling join with joinOptions, ', joinOptions);
5351
- _context15.next = 20;
5416
+ _context16.next = 20;
5352
5417
  return this.join(joinOptions);
5353
5418
  case 20:
5354
- joinResponse = _context15.sent;
5419
+ joinResponse = _context16.sent;
5355
5420
  joined = true;
5356
5421
 
5357
5422
  // if we sent out TURN discovery Roap message with join, process the TURN discovery response
5358
5423
  if (!joinOptions.roapMessage) {
5359
- _context15.next = 31;
5424
+ _context16.next = 31;
5360
5425
  break;
5361
5426
  }
5362
- _context15.next = 25;
5427
+ _context16.next = 25;
5363
5428
  return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
5364
5429
  case 25:
5365
- _yield$this$roap$hand = _context15.sent;
5430
+ _yield$this$roap$hand = _context16.sent;
5366
5431
  turnServerInfo = _yield$this$roap$hand.turnServerInfo;
5367
5432
  turnDiscoverySkippedReason = _yield$this$roap$hand.turnDiscoverySkippedReason;
5368
5433
  this.turnDiscoverySkippedReason = turnDiscoverySkippedReason;
@@ -5371,7 +5436,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5371
5436
  this.roap.abortTurnDiscovery();
5372
5437
  }
5373
5438
  case 31:
5374
- _context15.next = 35;
5439
+ _context16.next = 35;
5375
5440
  break;
5376
5441
  case 33:
5377
5442
  // This is a retry, when join succeeded but addMedia failed, so we'll just call addMedia() again,
@@ -5379,82 +5444,82 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5379
5444
  forceTurnDiscovery = true;
5380
5445
  joined = true;
5381
5446
  case 35:
5382
- _context15.next = 37;
5447
+ _context16.next = 37;
5383
5448
  return this.addMediaInternal(function () {
5384
- return _this30.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
5449
+ return _this31.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
5385
5450
  }, turnServerInfo, forceTurnDiscovery, mediaOptions);
5386
5451
  case 37:
5387
- mediaResponse = _context15.sent;
5452
+ mediaResponse = _context16.sent;
5388
5453
  this.joinWithMediaRetryInfo = {
5389
5454
  isRetry: false,
5390
5455
  prevJoinResponse: undefined
5391
5456
  };
5392
- return _context15.abrupt("return", {
5457
+ return _context16.abrupt("return", {
5393
5458
  join: joinResponse,
5394
5459
  media: mediaResponse
5395
5460
  });
5396
5461
  case 42:
5397
- _context15.prev = 42;
5398
- _context15.t0 = _context15["catch"](9);
5399
- _loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _context15.t0);
5462
+ _context16.prev = 42;
5463
+ _context16.t0 = _context16["catch"](9);
5464
+ _loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ', _context16.t0);
5400
5465
  this.roap.abortTurnDiscovery();
5401
5466
  if (!(joined && isRetry)) {
5402
- _context15.next = 56;
5467
+ _context16.next = 56;
5403
5468
  break;
5404
5469
  }
5405
- _context15.prev = 47;
5406
- _context15.next = 50;
5470
+ _context16.prev = 47;
5471
+ _context16.next = 50;
5407
5472
  return this.leave({
5408
5473
  resourceId: joinOptions === null || joinOptions === void 0 ? void 0 : joinOptions.resourceId,
5409
5474
  reason: 'joinWithMedia failure'
5410
5475
  });
5411
5476
  case 50:
5412
- _context15.next = 56;
5477
+ _context16.next = 56;
5413
5478
  break;
5414
5479
  case 52:
5415
- _context15.prev = 52;
5416
- _context15.t1 = _context15["catch"](47);
5417
- _loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _context15.t1);
5418
- leaveError = _context15.t1;
5480
+ _context16.prev = 52;
5481
+ _context16.t1 = _context16["catch"](47);
5482
+ _loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error', _context16.t1);
5483
+ leaveError = _context16.t1;
5419
5484
  case 56:
5420
5485
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_WITH_MEDIA_FAILURE, {
5421
5486
  correlation_id: this.correlationId,
5422
5487
  locus_id: (_this$locusUrl = this.locusUrl) === null || _this$locusUrl === void 0 ? void 0 : _this$locusUrl.split('/').pop(),
5423
5488
  // if join fails, we may end up with no locusUrl
5424
- reason: _context15.t0.message,
5425
- stack: _context15.t0.stack,
5489
+ reason: _context16.t0.message,
5490
+ stack: _context16.t0.stack,
5426
5491
  leaveErrorReason: (_leaveError = leaveError) === null || _leaveError === void 0 ? void 0 : _leaveError.message,
5427
5492
  isRetry: isRetry
5428
5493
  }, {
5429
- type: _context15.t0.name
5494
+ type: _context16.t0.name
5430
5495
  });
5431
5496
 
5432
5497
  // if this was the first attempt, let's do a retry
5433
5498
  shouldRetry = !isRetry;
5434
- if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(_context15.t0)) {
5499
+ if (_internalPluginMetrics.CallDiagnosticUtils.isSdpOfferCreationError(_context16.t0)) {
5435
5500
  // errors related to offer creation (for example missing H264 codec) will happen again no matter how many times we try,
5436
5501
  // so there is no point doing a retry
5437
5502
  shouldRetry = false;
5438
5503
  }
5439
5504
  if (!shouldRetry) {
5440
- _context15.next = 64;
5505
+ _context16.next = 64;
5441
5506
  break;
5442
5507
  }
5443
5508
  _loggerProxy.default.logger.warn('Meeting:index#joinWithMedia --> retrying call to joinWithMedia');
5444
5509
  this.joinWithMediaRetryInfo.isRetry = true;
5445
5510
  this.joinWithMediaRetryInfo.prevJoinResponse = joinResponse;
5446
- return _context15.abrupt("return", this.joinWithMedia(options));
5511
+ return _context16.abrupt("return", this.joinWithMedia(options));
5447
5512
  case 64:
5448
5513
  this.joinWithMediaRetryInfo = {
5449
5514
  isRetry: false,
5450
5515
  prevJoinResponse: undefined
5451
5516
  };
5452
- throw _context15.t0;
5517
+ throw _context16.t0;
5453
5518
  case 66:
5454
5519
  case "end":
5455
- return _context15.stop();
5520
+ return _context16.stop();
5456
5521
  }
5457
- }, _callee15, this, [[9, 42], [47, 52]]);
5522
+ }, _callee16, this, [[9, 42], [47, 52]]);
5458
5523
  }));
5459
5524
  function joinWithMedia() {
5460
5525
  return _joinWithMedia.apply(this, arguments);
@@ -5473,7 +5538,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5473
5538
  }, {
5474
5539
  key: "reconnect",
5475
5540
  value: function reconnect(options) {
5476
- var _this31 = this;
5541
+ var _this32 = this;
5477
5542
  _loggerProxy.default.logger.log("Meeting:index#reconnect --> attempting to reconnect meeting ".concat(this.id));
5478
5543
  if (!this.reconnectionManager || !this.reconnectionManager.reconnect) {
5479
5544
  return _promise.default.reject(new _parameter.default('Cannot reconnect, ReconnectionManager must first be defined.'));
@@ -5484,20 +5549,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5484
5549
  return _promise.default.reject(new _parameter.default('Cannot reconnect, Media has not established to reconnect'));
5485
5550
  }
5486
5551
  this.cleanUpBeforeReconnection();
5487
- return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16() {
5488
- return _regenerator.default.wrap(function _callee16$(_context16) {
5489
- while (1) switch (_context16.prev = _context16.next) {
5552
+ return this.reconnectionManager.reconnect(options, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17() {
5553
+ return _regenerator.default.wrap(function _callee17$(_context17) {
5554
+ while (1) switch (_context17.prev = _context17.next) {
5490
5555
  case 0:
5491
- _context16.next = 2;
5492
- return _this31.waitForRemoteSDPAnswer();
5556
+ _context17.next = 2;
5557
+ return _this32.waitForRemoteSDPAnswer();
5493
5558
  case 2:
5494
- _context16.next = 4;
5495
- return _this31.waitForMediaConnectionConnected();
5559
+ _context17.next = 4;
5560
+ return _this32.waitForMediaConnectionConnected();
5496
5561
  case 4:
5497
5562
  case "end":
5498
- return _context16.stop();
5563
+ return _context17.stop();
5499
5564
  }
5500
- }, _callee16);
5565
+ }, _callee17);
5501
5566
  }))).then(function () {
5502
5567
  _loggerProxy.default.logger.log('Meeting:index#reconnect --> Meeting reconnect success');
5503
5568
  }).catch(function (error) {
@@ -5506,7 +5571,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5506
5571
  return _promise.default.resolve();
5507
5572
  }
5508
5573
  _loggerProxy.default.logger.error('Meeting:index#reconnect --> Meeting reconnect failed', error);
5509
- _this31.uploadLogs({
5574
+ _this32.uploadLogs({
5510
5575
  file: 'meeting/index',
5511
5576
  function: 'reconnect'
5512
5577
  });
@@ -5553,19 +5618,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5553
5618
  }, {
5554
5619
  key: "setCaptionLanguage",
5555
5620
  value: function setCaptionLanguage(language) {
5556
- var _this32 = this;
5621
+ var _this33 = this;
5557
5622
  return new _promise.default(function (resolve, reject) {
5558
- if (!_this32.isTranscriptionSupported()) {
5623
+ if (!_this33.isTranscriptionSupported()) {
5559
5624
  _loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
5560
5625
  reject(new Error('Webex Assistant is not enabled/supported'));
5561
5626
  }
5562
5627
  try {
5563
5628
  var voiceaListenerCaptionUpdate = function voiceaListenerCaptionUpdate(payload) {
5564
5629
  // @ts-ignore
5565
- _this32.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5630
+ _this33.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5566
5631
  var statusCode = payload.statusCode;
5567
5632
  if (statusCode === 200) {
5568
- _this32.transcription.languageOptions = _objectSpread(_objectSpread({}, _this32.transcription.languageOptions), {}, {
5633
+ _this33.transcription.languageOptions = _objectSpread(_objectSpread({}, _this33.transcription.languageOptions), {}, {
5569
5634
  currentCaptionLanguage: language
5570
5635
  });
5571
5636
  resolve(language);
@@ -5574,9 +5639,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5574
5639
  }
5575
5640
  };
5576
5641
  // @ts-ignore
5577
- _this32.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5642
+ _this33.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
5578
5643
  // @ts-ignore
5579
- _this32.webex.internal.voicea.requestLanguage(language);
5644
+ _this33.webex.internal.voicea.requestLanguage(language);
5580
5645
  } catch (error) {
5581
5646
  _loggerProxy.default.logger.error("Meeting:index#setCaptionLanguage --> ".concat(error));
5582
5647
  reject(error);
@@ -5592,23 +5657,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5592
5657
  }, {
5593
5658
  key: "setSpokenLanguage",
5594
5659
  value: function setSpokenLanguage(language) {
5595
- var _this33 = this;
5660
+ var _this34 = this;
5596
5661
  return new _promise.default(function (resolve, reject) {
5597
- if (!_this33.isTranscriptionSupported()) {
5662
+ if (!_this34.isTranscriptionSupported()) {
5598
5663
  _loggerProxy.default.logger.error('Meeting:index#setCaptionLanguage --> Webex Assistant is not enabled/supported');
5599
5664
  reject(new Error('Webex Assistant is not enabled/supported'));
5600
5665
  }
5601
- if (_this33.getCurUserType() !== 'host') {
5666
+ if (_this34.getCurUserType() !== 'host') {
5602
5667
  _loggerProxy.default.logger.error('Meeting:index#setSpokenLanguage --> Only host can set spoken language');
5603
5668
  reject(new Error('Only host can set spoken language'));
5604
5669
  }
5605
5670
  try {
5606
5671
  var voiceaListenerLanguageUpdate = function voiceaListenerLanguageUpdate(payload) {
5607
5672
  // @ts-ignore
5608
- _this33.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5673
+ _this34.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5609
5674
  var languageCode = payload.languageCode;
5610
5675
  if (languageCode) {
5611
- _this33.transcription.languageOptions = _objectSpread(_objectSpread({}, _this33.transcription.languageOptions), {}, {
5676
+ _this34.transcription.languageOptions = _objectSpread(_objectSpread({}, _this34.transcription.languageOptions), {}, {
5612
5677
  currentSpokenLanguage: languageCode
5613
5678
  });
5614
5679
  resolve(languageCode);
@@ -5618,10 +5683,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5618
5683
  };
5619
5684
 
5620
5685
  // @ts-ignore
5621
- _this33.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5686
+ _this34.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
5622
5687
 
5623
5688
  // @ts-ignore
5624
- _this33.webex.internal.voicea.setSpokenLanguage(language);
5689
+ _this34.webex.internal.voicea.setSpokenLanguage(language);
5625
5690
  } catch (error) {
5626
5691
  _loggerProxy.default.logger.error("Meeting:index#setSpokenLanguage --> ".concat(error));
5627
5692
  reject(error);
@@ -5638,48 +5703,48 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5638
5703
  }, {
5639
5704
  key: "startTranscription",
5640
5705
  value: (function () {
5641
- var _startTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17(options) {
5642
- return _regenerator.default.wrap(function _callee17$(_context17) {
5643
- while (1) switch (_context17.prev = _context17.next) {
5706
+ var _startTranscription = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18(options) {
5707
+ return _regenerator.default.wrap(function _callee18$(_context18) {
5708
+ while (1) switch (_context18.prev = _context18.next) {
5644
5709
  case 0:
5645
5710
  if (!this.isJoined()) {
5646
- _context17.next = 14;
5711
+ _context18.next = 14;
5647
5712
  break;
5648
5713
  }
5649
5714
  _loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
5650
- _context17.prev = 2;
5715
+ _context18.prev = 2;
5651
5716
  if (!this.areVoiceaEventsSetup) {
5652
5717
  this.setUpVoiceaListeners();
5653
5718
  }
5654
5719
 
5655
5720
  // @ts-ignore
5656
- _context17.next = 6;
5721
+ _context18.next = 6;
5657
5722
  return this.webex.internal.voicea.turnOnCaptions(options === null || options === void 0 ? void 0 : options.spokenLanguage);
5658
5723
  case 6:
5659
- _context17.next = 12;
5724
+ _context18.next = 12;
5660
5725
  break;
5661
5726
  case 8:
5662
- _context17.prev = 8;
5663
- _context17.t0 = _context17["catch"](2);
5664
- _loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_context17.t0));
5727
+ _context18.prev = 8;
5728
+ _context18.t0 = _context18["catch"](2);
5729
+ _loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(_context18.t0));
5665
5730
  _metrics.default.sendBehavioralMetric(_constants2.default.RECEIVE_TRANSCRIPTION_FAILURE, {
5666
5731
  correlation_id: this.correlationId,
5667
- reason: _context17.t0.message,
5668
- stack: _context17.t0.stack
5732
+ reason: _context18.t0.message,
5733
+ stack: _context18.t0.stack
5669
5734
  });
5670
5735
  case 12:
5671
- _context17.next = 16;
5736
+ _context18.next = 16;
5672
5737
  break;
5673
5738
  case 14:
5674
5739
  _loggerProxy.default.logger.error("Meeting:index#startTranscription --> meeting joined : ".concat(this.isJoined()));
5675
5740
  throw new Error('Meeting is not joined');
5676
5741
  case 16:
5677
5742
  case "end":
5678
- return _context17.stop();
5743
+ return _context18.stop();
5679
5744
  }
5680
- }, _callee17, this, [[2, 8]]);
5745
+ }, _callee18, this, [[2, 8]]);
5681
5746
  }));
5682
- function startTranscription(_x15) {
5747
+ function startTranscription(_x16) {
5683
5748
  return _startTranscription.apply(this, arguments);
5684
5749
  }
5685
5750
  return startTranscription;
@@ -5740,36 +5805,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5740
5805
  * Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
5741
5806
  */
5742
5807
  function () {
5743
- var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18() {
5744
- var _this34 = this;
5808
+ var _join = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
5809
+ var _this35 = this;
5745
5810
  var options,
5746
5811
  errorMessage,
5747
5812
  error,
5748
5813
  joinFailed,
5749
5814
  joinSuccess,
5750
- _errorMessage,
5751
- _error,
5752
5815
  _errorMessage2,
5753
5816
  _error2,
5754
- _args18 = arguments;
5755
- return _regenerator.default.wrap(function _callee18$(_context18) {
5756
- while (1) switch (_context18.prev = _context18.next) {
5817
+ _errorMessage3,
5818
+ _error3,
5819
+ _args19 = arguments;
5820
+ return _regenerator.default.wrap(function _callee19$(_context19) {
5821
+ while (1) switch (_context19.prev = _context19.next) {
5757
5822
  case 0:
5758
- options = _args18.length > 0 && _args18[0] !== undefined ? _args18[0] : {};
5823
+ options = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : {};
5759
5824
  if (this.webex.meetings.registered) {
5760
- _context18.next = 6;
5825
+ _context19.next = 6;
5761
5826
  break;
5762
5827
  }
5763
5828
  errorMessage = 'Meeting:index#join --> Device not registered';
5764
5829
  error = new Error(errorMessage);
5765
5830
  _loggerProxy.default.logger.error(errorMessage);
5766
- return _context18.abrupt("return", _promise.default.reject(error));
5831
+ return _context19.abrupt("return", _promise.default.reject(error));
5767
5832
  case 6:
5768
5833
  if (!this.deferJoin) {
5769
- _context18.next = 8;
5834
+ _context19.next = 8;
5770
5835
  break;
5771
5836
  }
5772
- return _context18.abrupt("return", this.deferJoin);
5837
+ return _context19.abrupt("return", this.deferJoin);
5773
5838
  case 8:
5774
5839
  // Create a deferred promise for a consistent resolve value from utils.
5775
5840
  // This also prevents redundant API calls.
@@ -5821,131 +5886,131 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5821
5886
  this.wirelessShare = true;
5822
5887
  }
5823
5888
  if (!options.meetingQuality) {
5824
- _context18.next = 36;
5889
+ _context19.next = 36;
5825
5890
  break;
5826
5891
  }
5827
5892
  if (!(typeof options.meetingQuality === 'string')) {
5828
- _context18.next = 27;
5893
+ _context19.next = 27;
5829
5894
  break;
5830
5895
  }
5831
5896
  if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
5832
- _context18.next = 26;
5897
+ _context19.next = 26;
5833
5898
  break;
5834
5899
  }
5835
- _errorMessage = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
5836
- _error = new Error(_errorMessage);
5837
- _loggerProxy.default.logger.error(_errorMessage);
5838
- joinFailed(_error);
5900
+ _errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality, " not defined");
5901
+ _error2 = new Error(_errorMessage2);
5902
+ _loggerProxy.default.logger.error(_errorMessage2);
5903
+ joinFailed(_error2);
5839
5904
  this.deferJoin = undefined;
5840
- return _context18.abrupt("return", _promise.default.reject(_error));
5905
+ return _context19.abrupt("return", _promise.default.reject(_error2));
5841
5906
  case 26:
5842
5907
  this.mediaProperties.setRemoteQualityLevel(options.meetingQuality);
5843
5908
  case 27:
5844
5909
  if (!((0, _typeof2.default)(options.meetingQuality) === 'object')) {
5845
- _context18.next = 36;
5910
+ _context19.next = 36;
5846
5911
  break;
5847
5912
  }
5848
5913
  if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
5849
- _context18.next = 35;
5914
+ _context19.next = 35;
5850
5915
  break;
5851
5916
  }
5852
- _errorMessage2 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
5853
- _loggerProxy.default.logger.error(_errorMessage2);
5854
- _error2 = new Error(_errorMessage2);
5855
- joinFailed(_error2);
5917
+ _errorMessage3 = "Meeting:index#join --> ".concat(options.meetingQuality.remote, " not defined");
5918
+ _loggerProxy.default.logger.error(_errorMessage3);
5919
+ _error3 = new Error(_errorMessage3);
5920
+ joinFailed(_error3);
5856
5921
  this.deferJoin = undefined;
5857
- return _context18.abrupt("return", _promise.default.reject(new Error(_errorMessage2)));
5922
+ return _context19.abrupt("return", _promise.default.reject(new Error(_errorMessage3)));
5858
5923
  case 35:
5859
5924
  if (options.meetingQuality.remote) {
5860
5925
  this.mediaProperties.setRemoteQualityLevel(options.meetingQuality.remote);
5861
5926
  }
5862
5927
  case 36:
5863
5928
  this.isMultistream = !!options.enableMultistream;
5864
- _context18.prev = 37;
5865
- _context18.next = 40;
5929
+ _context19.prev = 37;
5930
+ _context19.next = 40;
5866
5931
  return this.checkAndRefreshPermissionToken(_constants.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC, _constants.MEETING_PERMISSION_TOKEN_REFRESH_REASON);
5867
5932
  case 40:
5868
- _context18.next = 51;
5933
+ _context19.next = 51;
5869
5934
  break;
5870
5935
  case 42:
5871
- _context18.prev = 42;
5872
- _context18.t0 = _context18["catch"](37);
5873
- _loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _context18.t0);
5874
- if (!(_context18.t0 instanceof _captchaError.default || _context18.t0 instanceof _passwordError.default || _context18.t0 instanceof _permission.default)) {
5875
- _context18.next = 51;
5936
+ _context19.prev = 42;
5937
+ _context19.t0 = _context19["catch"](37);
5938
+ _loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:', _context19.t0);
5939
+ if (!(_context19.t0 instanceof _captchaError.default || _context19.t0 instanceof _passwordError.default || _context19.t0 instanceof _permission.default)) {
5940
+ _context19.next = 51;
5876
5941
  break;
5877
5942
  }
5878
- this.meetingFiniteStateMachine.fail(_context18.t0);
5943
+ this.meetingFiniteStateMachine.fail(_context19.t0);
5879
5944
 
5880
5945
  // Upload logs on refreshpermissionToken refresh Failure
5881
5946
  _triggerProxy.default.trigger(this, {
5882
5947
  file: 'meeting/index',
5883
5948
  function: 'join'
5884
5949
  }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
5885
- joinFailed(_context18.t0);
5950
+ joinFailed(_context19.t0);
5886
5951
  this.deferJoin = undefined;
5887
5952
 
5888
5953
  // if refresh permission token requires captcha, password or permission, we are throwing the errors
5889
5954
  // and bubble it up to client
5890
- return _context18.abrupt("return", _promise.default.reject(_context18.t0));
5955
+ return _context19.abrupt("return", _promise.default.reject(_context19.t0));
5891
5956
  case 51:
5892
- return _context18.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
5893
- _this34.meetingFiniteStateMachine.join();
5894
- _this34.setupLocusMediaRequest();
5957
+ return _context19.abrupt("return", _util2.default.joinMeetingOptions(this, options).then(function (join) {
5958
+ _this35.meetingFiniteStateMachine.join();
5959
+ _this35.setupLocusMediaRequest();
5895
5960
 
5896
5961
  // @ts-ignore
5897
- _this34.webex.internal.device.meetingStarted();
5898
- (0, _classPrivateFieldSet2.default)(_this34, _isoLocalClientMeetingJoinTime, new Date().toISOString());
5962
+ _this35.webex.internal.device.meetingStarted();
5963
+ (0, _classPrivateFieldSet2.default)(_this35, _isoLocalClientMeetingJoinTime, new Date().toISOString());
5899
5964
  _loggerProxy.default.logger.log('Meeting:index#join --> Success');
5900
5965
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_SUCCESS, {
5901
- correlation_id: _this34.correlationId
5966
+ correlation_id: _this35.correlationId
5902
5967
  });
5903
5968
  joinSuccess(join);
5904
- _this34.deferJoin = undefined;
5969
+ _this35.deferJoin = undefined;
5905
5970
  return join;
5906
5971
  }).catch(function (error) {
5907
- var _this34$meetingInfo, _error$error;
5908
- _this34.meetingFiniteStateMachine.fail(error);
5972
+ var _this35$meetingInfo, _error$error;
5973
+ _this35.meetingFiniteStateMachine.fail(error);
5909
5974
  _loggerProxy.default.logger.error('Meeting:index#join --> Failed', error);
5910
5975
 
5911
5976
  // @ts-ignore
5912
- _this34.webex.internal.newMetrics.submitClientEvent({
5977
+ _this35.webex.internal.newMetrics.submitClientEvent({
5913
5978
  name: 'client.locus.join.response',
5914
5979
  payload: {
5915
5980
  identifiers: {
5916
- meetingLookupUrl: (_this34$meetingInfo = _this34.meetingInfo) === null || _this34$meetingInfo === void 0 ? void 0 : _this34$meetingInfo.meetingLookupUrl
5981
+ meetingLookupUrl: (_this35$meetingInfo = _this35.meetingInfo) === null || _this35$meetingInfo === void 0 ? void 0 : _this35$meetingInfo.meetingLookupUrl
5917
5982
  }
5918
5983
  },
5919
5984
  options: {
5920
- meetingId: _this34.id,
5985
+ meetingId: _this35.id,
5921
5986
  rawError: error
5922
5987
  }
5923
5988
  });
5924
5989
 
5925
5990
  // TODO: change this to error codes and pre defined dictionary
5926
5991
  _metrics.default.sendBehavioralMetric(_constants2.default.JOIN_FAILURE, {
5927
- correlation_id: _this34.correlationId,
5992
+ correlation_id: _this35.correlationId,
5928
5993
  reason: (_error$error = error.error) === null || _error$error === void 0 ? void 0 : _error$error.message,
5929
5994
  stack: error.stack
5930
5995
  });
5931
5996
 
5932
5997
  // Upload logs on join Failure
5933
- _triggerProxy.default.trigger(_this34, {
5998
+ _triggerProxy.default.trigger(_this35, {
5934
5999
  file: 'meeting/index',
5935
6000
  function: 'join'
5936
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this34);
6001
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this35);
5937
6002
  joinFailed(error);
5938
- _this34.deferJoin = undefined;
6003
+ _this35.deferJoin = undefined;
5939
6004
  return _promise.default.reject(error);
5940
6005
  }).then(function (join) {
5941
6006
  // @ts-ignore - config coming from registerPlugin
5942
- if (_this34.config.enableAutomaticLLM) {
6007
+ if (_this35.config.enableAutomaticLLM) {
5943
6008
  // @ts-ignore
5944
- _this34.webex.internal.llm.on('online', _this34.handleLLMOnline);
5945
- _this34.updateLLMConnection().catch(function (error) {
6009
+ _this35.webex.internal.llm.on('online', _this35.handleLLMOnline);
6010
+ _this35.updateLLMConnection().catch(function (error) {
5946
6011
  _loggerProxy.default.logger.error('Meeting:index#join --> Transcription Socket Connection Failed', error);
5947
6012
  _metrics.default.sendBehavioralMetric(_constants2.default.LLM_CONNECTION_AFTER_JOIN_FAILURE, {
5948
- correlation_id: _this34.correlationId,
6013
+ correlation_id: _this35.correlationId,
5949
6014
  reason: error === null || error === void 0 ? void 0 : error.message,
5950
6015
  stack: error.stack
5951
6016
  });
@@ -5957,9 +6022,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5957
6022
  }));
5958
6023
  case 52:
5959
6024
  case "end":
5960
- return _context18.stop();
6025
+ return _context19.stop();
5961
6026
  }
5962
- }, _callee18, this, [[37, 42]]);
6027
+ }, _callee19, this, [[37, 42]]);
5963
6028
  }));
5964
6029
  function join() {
5965
6030
  return _join.apply(this, arguments);
@@ -5976,18 +6041,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5976
6041
  }, {
5977
6042
  key: "updateLLMConnection",
5978
6043
  value: (function () {
5979
- var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19() {
5980
- var _this35 = this;
6044
+ var _updateLLMConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20() {
6045
+ var _this36 = this;
5981
6046
  var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, practiceSessionDatachannelUrl, isJoined, dataChannelUrl;
5982
- return _regenerator.default.wrap(function _callee19$(_context19) {
5983
- while (1) switch (_context19.prev = _context19.next) {
6047
+ return _regenerator.default.wrap(function _callee20$(_context20) {
6048
+ while (1) switch (_context20.prev = _context20.next) {
5984
6049
  case 0:
5985
6050
  // @ts-ignore - Fix type
5986
6051
  _this$locusInfo6 = this.locusInfo, url = _this$locusInfo6.url, _this$locusInfo6$info = _this$locusInfo6.info, _this$locusInfo6$info2 = _this$locusInfo6$info === void 0 ? {} : _this$locusInfo6$info, datachannelUrl = _this$locusInfo6$info2.datachannelUrl, practiceSessionDatachannelUrl = _this$locusInfo6$info2.practiceSessionDatachannelUrl;
5987
6052
  isJoined = this.isJoined(); // webinar panelist should use new data channel in practice session
5988
6053
  dataChannelUrl = this.webinar.isJoinPracticeSessionDataChannel() && practiceSessionDatachannelUrl ? practiceSessionDatachannelUrl : datachannelUrl; // @ts-ignore - Fix type
5989
6054
  if (!this.webex.internal.llm.isConnected()) {
5990
- _context19.next = 9;
6055
+ _context20.next = 9;
5991
6056
  break;
5992
6057
  }
5993
6058
  if (!(
@@ -5995,36 +6060,36 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5995
6060
  url === this.webex.internal.llm.getLocusUrl() &&
5996
6061
  // @ts-ignore - Fix type
5997
6062
  dataChannelUrl === this.webex.internal.llm.getDatachannelUrl() && isJoined)) {
5998
- _context19.next = 6;
6063
+ _context20.next = 6;
5999
6064
  break;
6000
6065
  }
6001
- return _context19.abrupt("return", undefined);
6066
+ return _context20.abrupt("return", undefined);
6002
6067
  case 6:
6003
- _context19.next = 8;
6068
+ _context20.next = 8;
6004
6069
  return this.webex.internal.llm.disconnectLLM();
6005
6070
  case 8:
6006
6071
  // @ts-ignore - Fix type
6007
6072
  this.webex.internal.llm.off('event:relay.event', this.processRelayEvent);
6008
6073
  case 9:
6009
6074
  if (isJoined) {
6010
- _context19.next = 11;
6075
+ _context20.next = 11;
6011
6076
  break;
6012
6077
  }
6013
- return _context19.abrupt("return", undefined);
6078
+ return _context20.abrupt("return", undefined);
6014
6079
  case 11:
6015
- return _context19.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl).then(function (registerAndConnectResult) {
6080
+ return _context20.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl).then(function (registerAndConnectResult) {
6016
6081
  // @ts-ignore - Fix type
6017
- _this35.webex.internal.llm.off('event:relay.event', _this35.processRelayEvent);
6082
+ _this36.webex.internal.llm.off('event:relay.event', _this36.processRelayEvent);
6018
6083
  // @ts-ignore - Fix type
6019
- _this35.webex.internal.llm.on('event:relay.event', _this35.processRelayEvent);
6084
+ _this36.webex.internal.llm.on('event:relay.event', _this36.processRelayEvent);
6020
6085
  _loggerProxy.default.logger.info('Meeting:index#updateLLMConnection --> enabled to receive relay events!');
6021
6086
  return _promise.default.resolve(registerAndConnectResult);
6022
6087
  }));
6023
6088
  case 12:
6024
6089
  case "end":
6025
- return _context19.stop();
6090
+ return _context20.stop();
6026
6091
  }
6027
- }, _callee19, this);
6092
+ }, _callee20, this);
6028
6093
  }));
6029
6094
  function updateLLMConnection() {
6030
6095
  return _updateLLMConnection.apply(this, arguments);
@@ -6070,7 +6135,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6070
6135
  }, {
6071
6136
  key: "dialInPstn",
6072
6137
  value: function dialInPstn() {
6073
- var _this36 = this;
6138
+ var _this37 = this;
6074
6139
  if (this.isPhoneProvisioned(this.dialInDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial in devices from being provisioned
6075
6140
 
6076
6141
  var correlationId = this.correlationId,
@@ -6086,10 +6151,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6086
6151
  }).catch(function (error) {
6087
6152
  var _error$error2;
6088
6153
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_IN_FAILURE, {
6089
- correlation_id: _this36.correlationId,
6090
- dial_in_url: _this36.dialInUrl,
6154
+ correlation_id: _this37.correlationId,
6155
+ dial_in_url: _this37.dialInUrl,
6091
6156
  locus_id: locusUrl.split('/').pop(),
6092
- client_url: _this36.deviceUrl,
6157
+ client_url: _this37.deviceUrl,
6093
6158
  reason: (_error$error2 = error.error) === null || _error$error2 === void 0 ? void 0 : _error$error2.message,
6094
6159
  stack: error.stack
6095
6160
  });
@@ -6107,7 +6172,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6107
6172
  }, {
6108
6173
  key: "dialOutPstn",
6109
6174
  value: function dialOutPstn(phoneNumber) {
6110
- var _this37 = this;
6175
+ var _this38 = this;
6111
6176
  if (this.isPhoneProvisioned(this.dialOutDeviceStatus)) return _promise.default.resolve(); // prevent multiple dial out devices from being provisioned
6112
6177
 
6113
6178
  var correlationId = this.correlationId,
@@ -6124,10 +6189,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6124
6189
  }).catch(function (error) {
6125
6190
  var _error$error3;
6126
6191
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_DIAL_OUT_FAILURE, {
6127
- correlation_id: _this37.correlationId,
6128
- dial_out_url: _this37.dialOutUrl,
6192
+ correlation_id: _this38.correlationId,
6193
+ dial_out_url: _this38.dialOutUrl,
6129
6194
  locus_id: locusUrl.split('/').pop(),
6130
- client_url: _this37.deviceUrl,
6195
+ client_url: _this38.deviceUrl,
6131
6196
  reason: (_error$error3 = error.error) === null || _error$error3 === void 0 ? void 0 : _error$error3.message,
6132
6197
  stack: error.stack
6133
6198
  });
@@ -6158,7 +6223,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6158
6223
  }, {
6159
6224
  key: "moveTo",
6160
6225
  value: function moveTo(resourceId) {
6161
- var _this38 = this;
6226
+ var _this39 = this;
6162
6227
  if (!resourceId) {
6163
6228
  throw new _parameter.default('Cannot move call without a resourceId.');
6164
6229
  }
@@ -6196,18 +6261,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6196
6261
  meetingId: this.id
6197
6262
  }
6198
6263
  });
6199
- this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20() {
6264
+ this.locusInfo.once(_constants.LOCUSINFO.EVENTS.SELF_OBSERVING, /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21() {
6200
6265
  var mediaSettings;
6201
- return _regenerator.default.wrap(function _callee20$(_context20) {
6202
- while (1) switch (_context20.prev = _context20.next) {
6266
+ return _regenerator.default.wrap(function _callee21$(_context21) {
6267
+ while (1) switch (_context21.prev = _context21.next) {
6203
6268
  case 0:
6204
- _context20.prev = 0;
6205
- if (!(_this38.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
6206
- _context20.next = 4;
6269
+ _context21.prev = 0;
6270
+ if (!(_this39.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
6271
+ _context21.next = 4;
6207
6272
  break;
6208
6273
  }
6209
- _context20.next = 4;
6210
- return _this38.releaseScreenShareFloor();
6274
+ _context21.next = 4;
6275
+ return _this39.releaseScreenShareFloor();
6211
6276
  case 4:
6212
6277
  mediaSettings = {
6213
6278
  mediaDirection: {
@@ -6219,55 +6284,55 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6219
6284
  receiveShare: true
6220
6285
  }
6221
6286
  };
6222
- _this38.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
6223
- _this38.mediaProperties.unsetRemoteMedia();
6287
+ _this39.mediaProperties.setMediaDirection(mediaSettings.mediaDirection);
6288
+ _this39.mediaProperties.unsetRemoteMedia();
6224
6289
 
6225
6290
  // 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
6226
6291
  // once the device answers we close the old connection and create new media server connection with only share enabled
6227
- if (!_this38.statsAnalyzer) {
6228
- _context20.next = 10;
6292
+ if (!_this39.statsAnalyzer) {
6293
+ _context21.next = 10;
6229
6294
  break;
6230
6295
  }
6231
- _context20.next = 10;
6232
- return _this38.statsAnalyzer.stopAnalyzer();
6296
+ _context21.next = 10;
6297
+ return _this39.statsAnalyzer.stopAnalyzer();
6233
6298
  case 10:
6234
- _context20.next = 12;
6235
- return _this38.closeRemoteStreams();
6299
+ _context21.next = 12;
6300
+ return _this39.closeRemoteStreams();
6236
6301
  case 12:
6237
- _context20.next = 14;
6238
- return _this38.closePeerConnections();
6302
+ _context21.next = 14;
6303
+ return _this39.closePeerConnections();
6239
6304
  case 14:
6240
- _this38.cleanupLocalStreams();
6241
- _this38.unsetRemoteStreams();
6242
- _this38.unsetPeerConnections();
6243
- _this38.reconnectionManager.cleanUp();
6244
- _context20.next = 20;
6245
- return _this38.addMedia({
6305
+ _this39.cleanupLocalStreams();
6306
+ _this39.unsetRemoteStreams();
6307
+ _this39.unsetPeerConnections();
6308
+ _this39.reconnectionManager.cleanUp();
6309
+ _context21.next = 20;
6310
+ return _this39.addMedia({
6246
6311
  audioEnabled: false,
6247
6312
  videoEnabled: false,
6248
6313
  shareVideoEnabled: true
6249
6314
  });
6250
6315
  case 20:
6251
6316
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_SUCCESS);
6252
- _this38.isMoveToInProgress = false;
6253
- _context20.next = 29;
6317
+ _this39.isMoveToInProgress = false;
6318
+ _context21.next = 29;
6254
6319
  break;
6255
6320
  case 24:
6256
- _context20.prev = 24;
6257
- _context20.t0 = _context20["catch"](0);
6258
- _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context20.t0);
6321
+ _context21.prev = 24;
6322
+ _context21.t0 = _context21["catch"](0);
6323
+ _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', _context21.t0);
6259
6324
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
6260
- correlation_id: _this38.correlationId,
6261
- locus_id: _this38.locusUrl.split('/').pop(),
6262
- reason: _context20.t0.message,
6263
- stack: _context20.t0.stack
6325
+ correlation_id: _this39.correlationId,
6326
+ locus_id: _this39.locusUrl.split('/').pop(),
6327
+ reason: _context21.t0.message,
6328
+ stack: _context21.t0.stack
6264
6329
  });
6265
- _this38.isMoveToInProgress = false;
6330
+ _this39.isMoveToInProgress = false;
6266
6331
  case 29:
6267
6332
  case "end":
6268
- return _context20.stop();
6333
+ return _context21.stop();
6269
6334
  }
6270
- }, _callee20, null, [[0, 24]]);
6335
+ }, _callee21, null, [[0, 24]]);
6271
6336
  })));
6272
6337
  _loggerProxy.default.logger.info('Meeting:index#moveTo --> Initated moved to using resourceId', resourceId);
6273
6338
 
@@ -6278,17 +6343,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6278
6343
  resourceId: resourceId,
6279
6344
  moveToResource: true
6280
6345
  }).then(function () {
6281
- _this38.meetingFiniteStateMachine.join();
6346
+ _this39.meetingFiniteStateMachine.join();
6282
6347
  }).catch(function (error) {
6283
- _this38.meetingFiniteStateMachine.fail(error);
6348
+ _this39.meetingFiniteStateMachine.fail(error);
6284
6349
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
6285
- correlation_id: _this38.correlationId,
6286
- locus_id: _this38.locusUrl.split('/').pop(),
6350
+ correlation_id: _this39.correlationId,
6351
+ locus_id: _this39.locusUrl.split('/').pop(),
6287
6352
  reason: error.message,
6288
6353
  stack: error.stack
6289
6354
  });
6290
6355
  _loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId', error);
6291
- _this38.isMoveToInProgress = false;
6356
+ _this39.isMoveToInProgress = false;
6292
6357
  return _promise.default.reject(error);
6293
6358
  });
6294
6359
  }
@@ -6303,7 +6368,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6303
6368
  }, {
6304
6369
  key: "moveFrom",
6305
6370
  value: function moveFrom(resourceId) {
6306
- var _this39 = this;
6371
+ var _this40 = this;
6307
6372
  // On moveFrom ask the developer to re capture it moveFrom then updateMedia
6308
6373
  if (!resourceId) {
6309
6374
  throw new _parameter.default('Cannot move call without a resourceId.');
@@ -6318,19 +6383,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6318
6383
  }
6319
6384
  });
6320
6385
  return _util2.default.joinMeetingOptions(this).then(function () {
6321
- return _util2.default.leaveMeeting(_this39, {
6386
+ return _util2.default.leaveMeeting(_this40, {
6322
6387
  resourceId: resourceId,
6323
6388
  correlationId: oldCorrelationId,
6324
6389
  moveMeeting: true
6325
6390
  }).then(function () {
6326
- _this39.resourceId = '';
6391
+ _this40.resourceId = '';
6327
6392
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
6328
6393
  });
6329
6394
  }).catch(function (error) {
6330
- _this39.meetingFiniteStateMachine.fail(error);
6395
+ _this40.meetingFiniteStateMachine.fail(error);
6331
6396
  _metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
6332
- correlation_id: _this39.correlationId,
6333
- locus_id: _this39.locusUrl.split('/').pop(),
6397
+ correlation_id: _this40.correlationId,
6398
+ locus_id: _this40.locusUrl.split('/').pop(),
6334
6399
  reason: error.message,
6335
6400
  stack: error.stack
6336
6401
  });
@@ -6355,10 +6420,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6355
6420
  }, {
6356
6421
  key: "createMediaConnection",
6357
6422
  value: (function () {
6358
- var _createMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee21(turnServerInfo, bundlePolicy) {
6423
+ var _createMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22(turnServerInfo, bundlePolicy) {
6359
6424
  var mc, audioEnabled, videoEnabled, shareEnabled;
6360
- return _regenerator.default.wrap(function _callee21$(_context21) {
6361
- while (1) switch (_context21.prev = _context21.next) {
6425
+ return _regenerator.default.wrap(function _callee22$(_context22) {
6426
+ while (1) switch (_context22.prev = _context22.next) {
6362
6427
  case 0:
6363
6428
  this.rtcMetrics = this.isMultistream ?
6364
6429
  // @ts-ignore
@@ -6390,42 +6455,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6390
6455
 
6391
6456
  // publish the streams
6392
6457
  if (!this.mediaProperties.audioStream) {
6393
- _context21.next = 9;
6458
+ _context22.next = 9;
6394
6459
  break;
6395
6460
  }
6396
6461
  this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
6397
- _context21.next = 9;
6462
+ _context22.next = 9;
6398
6463
  return this.publishStream(_internalMediaCore.MediaType.AudioMain, this.mediaProperties.audioStream);
6399
6464
  case 9:
6400
6465
  if (!this.mediaProperties.videoStream) {
6401
- _context21.next = 12;
6466
+ _context22.next = 12;
6402
6467
  break;
6403
6468
  }
6404
- _context21.next = 12;
6469
+ _context22.next = 12;
6405
6470
  return this.publishStream(_internalMediaCore.MediaType.VideoMain, this.mediaProperties.videoStream);
6406
6471
  case 12:
6407
6472
  if (!this.mediaProperties.shareVideoStream) {
6408
- _context21.next = 15;
6473
+ _context22.next = 15;
6409
6474
  break;
6410
6475
  }
6411
- _context21.next = 15;
6476
+ _context22.next = 15;
6412
6477
  return this.publishStream(_internalMediaCore.MediaType.VideoSlides, this.mediaProperties.shareVideoStream);
6413
6478
  case 15:
6414
6479
  if (!(this.isMultistream && this.mediaProperties.shareAudioStream)) {
6415
- _context21.next = 18;
6480
+ _context22.next = 18;
6416
6481
  break;
6417
6482
  }
6418
- _context21.next = 18;
6483
+ _context22.next = 18;
6419
6484
  return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
6420
6485
  case 18:
6421
- return _context21.abrupt("return", mc);
6486
+ return _context22.abrupt("return", mc);
6422
6487
  case 19:
6423
6488
  case "end":
6424
- return _context21.stop();
6489
+ return _context22.stop();
6425
6490
  }
6426
- }, _callee21, this);
6491
+ }, _callee22, this);
6427
6492
  }));
6428
- function createMediaConnection(_x16, _x17) {
6493
+ function createMediaConnection(_x17, _x18) {
6429
6494
  return _createMediaConnection.apply(this, arguments);
6430
6495
  }
6431
6496
  return createMediaConnection;
@@ -6443,9 +6508,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6443
6508
  }, {
6444
6509
  key: "forwardEvent",
6445
6510
  value: function forwardEvent(eventEmitter, eventTypeToForward, meetingEventType) {
6446
- var _this40 = this;
6511
+ var _this41 = this;
6447
6512
  eventEmitter.on(eventTypeToForward, function (data) {
6448
- return _triggerProxy.default.trigger(_this40, {
6513
+ return _triggerProxy.default.trigger(_this41, {
6449
6514
  file: 'meetings',
6450
6515
  function: 'addMedia'
6451
6516
  }, meetingEventType, data);
@@ -6463,11 +6528,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6463
6528
  }, {
6464
6529
  key: "setUpLocalStreamReferences",
6465
6530
  value: (function () {
6466
- var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee22(localStreams) {
6531
+ var _setUpLocalStreamReferences = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23(localStreams) {
6467
6532
  var _localStreams$microph, _localStreams$camera, _localStreams$screenS, _localStreams$screenS2, _localStreams$screenS3, _localStreams$screenS4, _localStreams$screenS5, _localStreams$screenS6;
6468
6533
  var setUpStreamPromises;
6469
- return _regenerator.default.wrap(function _callee22$(_context22) {
6470
- while (1) switch (_context22.prev = _context22.next) {
6534
+ return _regenerator.default.wrap(function _callee23$(_context23) {
6535
+ while (1) switch (_context23.prev = _context23.next) {
6471
6536
  case 0:
6472
6537
  setUpStreamPromises = [];
6473
6538
  if (localStreams !== null && localStreams !== void 0 && localStreams.microphone && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$microph = localStreams.microphone) === null || _localStreams$microph === void 0 ? void 0 : _localStreams$microph.readyState) !== 'ended') {
@@ -6482,24 +6547,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6482
6547
  if (localStreams !== null && localStreams !== void 0 && (_localStreams$screenS4 = localStreams.screenShare) !== null && _localStreams$screenS4 !== void 0 && _localStreams$screenS4.audio && (localStreams === null || localStreams === void 0 ? void 0 : (_localStreams$screenS5 = localStreams.screenShare) === null || _localStreams$screenS5 === void 0 ? void 0 : (_localStreams$screenS6 = _localStreams$screenS5.audio) === null || _localStreams$screenS6 === void 0 ? void 0 : _localStreams$screenS6.readyState) !== 'ended') {
6483
6548
  setUpStreamPromises.push(this.setLocalShareAudioStream(localStreams.screenShare.audio));
6484
6549
  }
6485
- _context22.prev = 5;
6486
- _context22.next = 8;
6550
+ _context23.prev = 5;
6551
+ _context23.next = 8;
6487
6552
  return _promise.default.all(setUpStreamPromises);
6488
6553
  case 8:
6489
- _context22.next = 14;
6554
+ _context23.next = 14;
6490
6555
  break;
6491
6556
  case 10:
6492
- _context22.prev = 10;
6493
- _context22.t0 = _context22["catch"](5);
6494
- _loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _context22.t0);
6495
- throw _context22.t0;
6557
+ _context23.prev = 10;
6558
+ _context23.t0 = _context23["catch"](5);
6559
+ _loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ", _context23.t0);
6560
+ throw _context23.t0;
6496
6561
  case 14:
6497
6562
  case "end":
6498
- return _context22.stop();
6563
+ return _context23.stop();
6499
6564
  }
6500
- }, _callee22, this, [[5, 10]]);
6565
+ }, _callee23, this, [[5, 10]]);
6501
6566
  }));
6502
- function setUpLocalStreamReferences(_x18) {
6567
+ function setUpLocalStreamReferences(_x19) {
6503
6568
  return _setUpLocalStreamReferences.apply(this, arguments);
6504
6569
  }
6505
6570
  return setUpLocalStreamReferences;
@@ -6514,72 +6579,72 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6514
6579
  }, {
6515
6580
  key: "waitForMediaConnectionConnected",
6516
6581
  value: (function () {
6517
- var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee23() {
6582
+ var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24() {
6518
6583
  var iceConnected, _this$mediaProperties6, _this$mediaProperties7, _this$mediaProperties8, _this$mediaProperties9, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12;
6519
- return _regenerator.default.wrap(function _callee23$(_context23) {
6520
- while (1) switch (_context23.prev = _context23.next) {
6584
+ return _regenerator.default.wrap(function _callee24$(_context24) {
6585
+ while (1) switch (_context24.prev = _context24.next) {
6521
6586
  case 0:
6522
- _context23.prev = 0;
6523
- _context23.next = 3;
6587
+ _context24.prev = 0;
6588
+ _context24.next = 3;
6524
6589
  return this.mediaProperties.waitForMediaConnectionConnected();
6525
6590
  case 3:
6526
- _context23.next = 30;
6591
+ _context24.next = 30;
6527
6592
  break;
6528
6593
  case 5:
6529
- _context23.prev = 5;
6530
- _context23.t0 = _context23["catch"](0);
6531
- iceConnected = _context23.t0.iceConnected;
6594
+ _context24.prev = 5;
6595
+ _context24.t0 = _context24["catch"](0);
6596
+ iceConnected = _context24.t0.iceConnected;
6532
6597
  if (this.hasMediaConnectionConnectedAtLeastOnce) {
6533
- _context23.next = 29;
6598
+ _context24.next = 29;
6534
6599
  break;
6535
6600
  }
6536
- _context23.t1 = this.webex.internal.newMetrics;
6537
- _context23.t2 = !this.turnServerUsed;
6538
- _context23.t3 = this.addMediaData.icePhaseCallback();
6539
- _context23.t4 = this.webex.internal.newMetrics.callDiagnosticMetrics;
6540
- _context23.t5 = _internalPluginMetrics.CallDiagnosticUtils;
6541
- _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';
6542
- _context23.t7 = iceConnected;
6543
- _context23.t8 = this.turnServerUsed;
6544
- _context23.next = 19;
6601
+ _context24.t1 = this.webex.internal.newMetrics;
6602
+ _context24.t2 = !this.turnServerUsed;
6603
+ _context24.t3 = this.addMediaData.icePhaseCallback();
6604
+ _context24.t4 = this.webex.internal.newMetrics.callDiagnosticMetrics;
6605
+ _context24.t5 = _internalPluginMetrics.CallDiagnosticUtils;
6606
+ _context24.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';
6607
+ _context24.t7 = iceConnected;
6608
+ _context24.t8 = this.turnServerUsed;
6609
+ _context24.next = 19;
6545
6610
  return this.webex.meetings.reachability.isWebexMediaBackendUnreachable().catch(function () {
6546
6611
  return false;
6547
6612
  });
6548
6613
  case 19:
6549
- _context23.t9 = _context23.sent;
6550
- _context23.t10 = {
6551
- signalingState: _context23.t6,
6552
- iceConnected: _context23.t7,
6553
- turnServerUsed: _context23.t8,
6554
- unreachable: _context23.t9
6614
+ _context24.t9 = _context24.sent;
6615
+ _context24.t10 = {
6616
+ signalingState: _context24.t6,
6617
+ iceConnected: _context24.t7,
6618
+ turnServerUsed: _context24.t8,
6619
+ unreachable: _context24.t9
6555
6620
  };
6556
- _context23.t11 = _context23.t5.generateClientErrorCodeForIceFailure.call(_context23.t5, _context23.t10);
6557
- _context23.t12 = {
6558
- clientErrorCode: _context23.t11
6621
+ _context24.t11 = _context24.t5.generateClientErrorCodeForIceFailure.call(_context24.t5, _context24.t10);
6622
+ _context24.t12 = {
6623
+ clientErrorCode: _context24.t11
6559
6624
  };
6560
- _context23.t13 = _context23.t4.getErrorPayloadForClientErrorCode.call(_context23.t4, _context23.t12);
6561
- _context23.t14 = [_context23.t13];
6562
- _context23.t15 = {
6563
- canProceed: _context23.t2,
6564
- icePhase: _context23.t3,
6565
- errors: _context23.t14
6625
+ _context24.t13 = _context24.t4.getErrorPayloadForClientErrorCode.call(_context24.t4, _context24.t12);
6626
+ _context24.t14 = [_context24.t13];
6627
+ _context24.t15 = {
6628
+ canProceed: _context24.t2,
6629
+ icePhase: _context24.t3,
6630
+ errors: _context24.t14
6566
6631
  };
6567
- _context23.t16 = {
6632
+ _context24.t16 = {
6568
6633
  meetingId: this.id
6569
6634
  };
6570
- _context23.t17 = {
6635
+ _context24.t17 = {
6571
6636
  name: 'client.ice.end',
6572
- payload: _context23.t15,
6573
- options: _context23.t16
6637
+ payload: _context24.t15,
6638
+ options: _context24.t16
6574
6639
  };
6575
- _context23.t1.submitClientEvent.call(_context23.t1, _context23.t17);
6640
+ _context24.t1.submitClientEvent.call(_context24.t1, _context24.t17);
6576
6641
  case 29:
6577
6642
  throw new Error("Timed out waiting for media connection to be connected, correlationId=".concat(this.correlationId));
6578
6643
  case 30:
6579
6644
  case "end":
6580
- return _context23.stop();
6645
+ return _context24.stop();
6581
6646
  }
6582
- }, _callee23, this, [[0, 5]]);
6647
+ }, _callee24, this, [[0, 5]]);
6583
6648
  }));
6584
6649
  function waitForMediaConnectionConnected() {
6585
6650
  return _waitForMediaConnectionConnected.apply(this, arguments);
@@ -6621,48 +6686,48 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6621
6686
  }, {
6622
6687
  key: "waitForRemoteSDPAnswer",
6623
6688
  value: (function () {
6624
- var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee24() {
6625
- var _this41 = this;
6689
+ var _waitForRemoteSDPAnswer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee25() {
6690
+ var _this42 = this;
6626
6691
  var LOG_HEADER, deferSDPAnswer;
6627
- return _regenerator.default.wrap(function _callee24$(_context24) {
6628
- while (1) switch (_context24.prev = _context24.next) {
6692
+ return _regenerator.default.wrap(function _callee25$(_context25) {
6693
+ while (1) switch (_context25.prev = _context25.next) {
6629
6694
  case 0:
6630
6695
  LOG_HEADER = 'Meeting:index#addMedia():waitForRemoteSDPAnswer -->';
6631
6696
  if (this.deferSDPAnswer) {
6632
- _context24.next = 4;
6697
+ _context25.next = 4;
6633
6698
  break;
6634
6699
  }
6635
6700
  _loggerProxy.default.logger.warn("".concat(LOG_HEADER, " offer not created yet"));
6636
- return _context24.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
6701
+ return _context25.abrupt("return", _promise.default.reject(new Error('waitForRemoteSDPAnswer() called before local sdp offer created')));
6637
6702
  case 4:
6638
6703
  deferSDPAnswer = this.deferSDPAnswer;
6639
6704
  this.sdpResponseTimer = setTimeout(function () {
6640
6705
  _loggerProxy.default.logger.warn("".concat(LOG_HEADER, " timeout! no REMOTE SDP ANSWER received within ").concat(_constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT / 1000, " seconds"));
6641
6706
  // @ts-ignore
6642
- _this41.webex.internal.newMetrics.submitClientEvent({
6707
+ _this42.webex.internal.newMetrics.submitClientEvent({
6643
6708
  name: 'client.media-engine.remote-sdp-received',
6644
6709
  payload: {
6645
6710
  canProceed: false,
6646
6711
  errors: [
6647
6712
  // @ts-ignore
6648
- _this41.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
6713
+ _this42.webex.internal.newMetrics.callDiagnosticMetrics.getErrorPayloadForClientErrorCode({
6649
6714
  clientErrorCode: _internalPluginMetrics.CALL_DIAGNOSTIC_CONFIG.MISSING_ROAP_ANSWER_CLIENT_CODE
6650
6715
  })]
6651
6716
  },
6652
6717
  options: {
6653
- meetingId: _this41.id,
6718
+ meetingId: _this42.id,
6654
6719
  rawError: new Error('Timeout waiting for SDP answer')
6655
6720
  }
6656
6721
  });
6657
6722
  deferSDPAnswer.reject(new Error('Timed out waiting for REMOTE SDP ANSWER'));
6658
6723
  }, _constants.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT);
6659
6724
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " waiting for REMOTE SDP ANSWER..."));
6660
- return _context24.abrupt("return", deferSDPAnswer.promise);
6725
+ return _context25.abrupt("return", deferSDPAnswer.promise);
6661
6726
  case 8:
6662
6727
  case "end":
6663
- return _context24.stop();
6728
+ return _context25.stop();
6664
6729
  }
6665
- }, _callee24, this);
6730
+ }, _callee25, this);
6666
6731
  }));
6667
6732
  function waitForRemoteSDPAnswer() {
6668
6733
  return _waitForRemoteSDPAnswer.apply(this, arguments);
@@ -6681,30 +6746,30 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6681
6746
  }, {
6682
6747
  key: "retryEstablishMediaConnectionWithForcedTurnDiscovery",
6683
6748
  value: (function () {
6684
- var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee25(remoteMediaManagerConfig, bundlePolicy) {
6749
+ var _retryEstablishMediaConnectionWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee26(remoteMediaManagerConfig, bundlePolicy) {
6685
6750
  var LOG_HEADER;
6686
- return _regenerator.default.wrap(function _callee25$(_context25) {
6687
- while (1) switch (_context25.prev = _context25.next) {
6751
+ return _regenerator.default.wrap(function _callee26$(_context26) {
6752
+ while (1) switch (_context26.prev = _context26.next) {
6688
6753
  case 0:
6689
6754
  LOG_HEADER = 'Meeting:index#addMedia():retryEstablishMediaConnectionWithForcedTurnDiscovery -->';
6690
- _context25.prev = 1;
6691
- _context25.next = 4;
6755
+ _context26.prev = 1;
6756
+ _context26.next = 4;
6692
6757
  return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true);
6693
6758
  case 4:
6694
- _context25.next = 10;
6759
+ _context26.next = 10;
6695
6760
  break;
6696
6761
  case 6:
6697
- _context25.prev = 6;
6698
- _context25.t0 = _context25["catch"](1);
6699
- _loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _context25.t0);
6700
- throw _context25.t0;
6762
+ _context26.prev = 6;
6763
+ _context26.t0 = _context26["catch"](1);
6764
+ _loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "), _context26.t0);
6765
+ throw _context26.t0;
6701
6766
  case 10:
6702
6767
  case "end":
6703
- return _context25.stop();
6768
+ return _context26.stop();
6704
6769
  }
6705
- }, _callee25, this, [[1, 6]]);
6770
+ }, _callee26, this, [[1, 6]]);
6706
6771
  }));
6707
- function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x19, _x20) {
6772
+ function retryEstablishMediaConnectionWithForcedTurnDiscovery(_x20, _x21) {
6708
6773
  return _retryEstablishMediaConnectionWithForcedTurnDiscovery.apply(this, arguments);
6709
6774
  }
6710
6775
  return retryEstablishMediaConnectionWithForcedTurnDiscovery;
@@ -6722,14 +6787,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6722
6787
  }, {
6723
6788
  key: "retryWithForcedTurnDiscovery",
6724
6789
  value: (function () {
6725
- var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee26(remoteMediaManagerConfig, bundlePolicy) {
6790
+ var _retryWithForcedTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee27(remoteMediaManagerConfig, bundlePolicy) {
6726
6791
  var LOG_HEADER;
6727
- return _regenerator.default.wrap(function _callee26$(_context26) {
6728
- while (1) switch (_context26.prev = _context26.next) {
6792
+ return _regenerator.default.wrap(function _callee27$(_context27) {
6793
+ while (1) switch (_context27.prev = _context27.next) {
6729
6794
  case 0:
6730
6795
  this.addMediaData.retriedWithTurnServer = true;
6731
6796
  LOG_HEADER = 'Meeting:index#addMedia():retryWithForcedTurnDiscovery -->';
6732
- _context26.next = 4;
6797
+ _context27.next = 4;
6733
6798
  return this.cleanUpBeforeRetryWithTurnServer();
6734
6799
  case 4:
6735
6800
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_RETRY, {
@@ -6739,24 +6804,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6739
6804
  reason: 'forcingTurnTls'
6740
6805
  });
6741
6806
  if (!(this.state === _constants.MEETING_STATE.STATES.LEFT)) {
6742
- _context26.next = 9;
6807
+ _context27.next = 9;
6743
6808
  break;
6744
6809
  }
6745
6810
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " meeting state was LEFT after first attempt to establish media connection. Attempting to rejoin. "));
6746
- _context26.next = 9;
6811
+ _context27.next = 9;
6747
6812
  return this.join({
6748
6813
  rejoin: true
6749
6814
  });
6750
6815
  case 9:
6751
- _context26.next = 11;
6816
+ _context27.next = 11;
6752
6817
  return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
6753
6818
  case 11:
6754
6819
  case "end":
6755
- return _context26.stop();
6820
+ return _context27.stop();
6756
6821
  }
6757
- }, _callee26, this);
6822
+ }, _callee27, this);
6758
6823
  }));
6759
- function retryWithForcedTurnDiscovery(_x21, _x22) {
6824
+ function retryWithForcedTurnDiscovery(_x22, _x23) {
6760
6825
  return _retryWithForcedTurnDiscovery.apply(this, arguments);
6761
6826
  }
6762
6827
  return retryWithForcedTurnDiscovery;
@@ -6776,32 +6841,32 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6776
6841
  }, {
6777
6842
  key: "handleWaitForMediaConnectionConnectedError",
6778
6843
  value: (function () {
6779
- var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee27(error, remoteMediaManagerConfig, bundlePolicy) {
6844
+ var _handleWaitForMediaConnectionConnectedError = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee28(error, remoteMediaManagerConfig, bundlePolicy) {
6780
6845
  var LOG_HEADER;
6781
- return _regenerator.default.wrap(function _callee27$(_context27) {
6782
- while (1) switch (_context27.prev = _context27.next) {
6846
+ return _regenerator.default.wrap(function _callee28$(_context28) {
6847
+ while (1) switch (_context28.prev = _context28.next) {
6783
6848
  case 0:
6784
6849
  LOG_HEADER = 'Meeting:index#addMedia():handleWaitForMediaConnectionConnectedError -->'; // @ts-ignore - config coming from registerPlugin
6785
6850
  if (this.turnServerUsed) {
6786
- _context27.next = 7;
6851
+ _context28.next = 7;
6787
6852
  break;
6788
6853
  }
6789
6854
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " error waiting for media to connect on UDP, TCP, retrying using TURN-TLS, "), error);
6790
- _context27.next = 5;
6855
+ _context28.next = 5;
6791
6856
  return this.retryWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
6792
6857
  case 5:
6793
- _context27.next = 9;
6858
+ _context28.next = 9;
6794
6859
  break;
6795
6860
  case 7:
6796
6861
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " error waiting for media to connect using UDP, TCP and TURN-TLS"), error);
6797
6862
  throw new _webexErrors.AddMediaFailed();
6798
6863
  case 9:
6799
6864
  case "end":
6800
- return _context27.stop();
6865
+ return _context28.stop();
6801
6866
  }
6802
- }, _callee27, this);
6867
+ }, _callee28, this);
6803
6868
  }));
6804
- function handleWaitForMediaConnectionConnectedError(_x23, _x24, _x25) {
6869
+ function handleWaitForMediaConnectionConnectedError(_x24, _x25, _x26) {
6805
6870
  return _handleWaitForMediaConnectionConnectedError.apply(this, arguments);
6806
6871
  }
6807
6872
  return handleWaitForMediaConnectionConnectedError;
@@ -6817,20 +6882,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6817
6882
  }, {
6818
6883
  key: "doTurnDiscovery",
6819
6884
  value: (function () {
6820
- var _doTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee28(isReconnecting, isForced) {
6885
+ var _doTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee29(isReconnecting, isForced) {
6821
6886
  var cdl, turnDiscoveryResult;
6822
- return _regenerator.default.wrap(function _callee28$(_context28) {
6823
- while (1) switch (_context28.prev = _context28.next) {
6887
+ return _regenerator.default.wrap(function _callee29$(_context29) {
6888
+ while (1) switch (_context29.prev = _context29.next) {
6824
6889
  case 0:
6825
6890
  // @ts-ignore
6826
6891
  cdl = this.webex.internal.newMetrics.callDiagnosticLatencies; // @ts-ignore
6827
6892
  this.webex.internal.newMetrics.submitInternalEvent({
6828
6893
  name: 'internal.client.add-media.turn-discovery.start'
6829
6894
  });
6830
- _context28.next = 4;
6895
+ _context29.next = 4;
6831
6896
  return this.roap.doTurnDiscovery(this, isReconnecting, isForced);
6832
6897
  case 4:
6833
- turnDiscoveryResult = _context28.sent;
6898
+ turnDiscoveryResult = _context29.sent;
6834
6899
  this.turnDiscoverySkippedReason = turnDiscoveryResult === null || turnDiscoveryResult === void 0 ? void 0 : turnDiscoveryResult.turnDiscoverySkippedReason;
6835
6900
  this.turnServerUsed = !this.turnDiscoverySkippedReason;
6836
6901
 
@@ -6846,14 +6911,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6846
6911
  retriedWithTurnServer: this.addMediaData.retriedWithTurnServer
6847
6912
  });
6848
6913
  }
6849
- return _context28.abrupt("return", turnDiscoveryResult);
6914
+ return _context29.abrupt("return", turnDiscoveryResult);
6850
6915
  case 10:
6851
6916
  case "end":
6852
- return _context28.stop();
6917
+ return _context29.stop();
6853
6918
  }
6854
- }, _callee28, this);
6919
+ }, _callee29, this);
6855
6920
  }));
6856
- function doTurnDiscovery(_x26, _x27) {
6921
+ function doTurnDiscovery(_x27, _x28) {
6857
6922
  return _doTurnDiscovery.apply(this, arguments);
6858
6923
  }
6859
6924
  return doTurnDiscovery;
@@ -6872,35 +6937,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6872
6937
  }, {
6873
6938
  key: "establishMediaConnection",
6874
6939
  value: (function () {
6875
- var _establishMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee29(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
6940
+ var _establishMediaConnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee30(remoteMediaManagerConfig, bundlePolicy, isForced, turnServerInfo) {
6876
6941
  var _this$locusMediaReque;
6877
6942
  var LOG_HEADER, isReconnecting, _yield$this$doTurnDis, mc;
6878
- return _regenerator.default.wrap(function _callee29$(_context29) {
6879
- while (1) switch (_context29.prev = _context29.next) {
6943
+ return _regenerator.default.wrap(function _callee30$(_context30) {
6944
+ while (1) switch (_context30.prev = _context30.next) {
6880
6945
  case 0:
6881
6946
  LOG_HEADER = 'Meeting:index#addMedia():establishMediaConnection -->';
6882
6947
  isReconnecting = this.isMoveToInProgress || !!((_this$locusMediaReque = this.locusMediaRequest) !== null && _this$locusMediaReque !== void 0 && _this$locusMediaReque.isConfluenceCreated()); // We are forcing turn discovery if the case is moveTo and a turn server was used already
6883
6948
  if (this.isMoveToInProgress && this.turnServerUsed) {
6884
6949
  isForced = true;
6885
6950
  }
6886
- _context29.prev = 3;
6951
+ _context30.prev = 3;
6887
6952
  if (turnServerInfo) {
6888
- _context29.next = 9;
6953
+ _context30.next = 9;
6889
6954
  break;
6890
6955
  }
6891
- _context29.next = 7;
6956
+ _context30.next = 7;
6892
6957
  return this.doTurnDiscovery(isReconnecting, isForced);
6893
6958
  case 7:
6894
- _yield$this$doTurnDis = _context29.sent;
6959
+ _yield$this$doTurnDis = _context30.sent;
6895
6960
  turnServerInfo = _yield$this$doTurnDis.turnServerInfo;
6896
6961
  case 9:
6897
- _context29.next = 11;
6962
+ _context30.next = 11;
6898
6963
  return this.createMediaConnection(turnServerInfo, bundlePolicy);
6899
6964
  case 11:
6900
- mc = _context29.sent;
6965
+ mc = _context30.sent;
6901
6966
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created"));
6902
6967
  if (!this.isMultistream) {
6903
- _context29.next = 21;
6968
+ _context30.next = 21;
6904
6969
  break;
6905
6970
  }
6906
6971
  this.remoteMediaManager = new _remoteMediaManager.RemoteMediaManager(this.receiveSlotManager, this.mediaRequestManagers, remoteMediaManagerConfig);
@@ -6908,42 +6973,42 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6908
6973
  this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.InterpretationAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED);
6909
6974
  this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.ScreenShareAudioCreated, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED);
6910
6975
  this.forwardEvent(this.remoteMediaManager, _remoteMediaManager.Event.VideoLayoutChanged, _constants.EVENT_TRIGGERS.REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED);
6911
- _context29.next = 21;
6976
+ _context30.next = 21;
6912
6977
  return this.remoteMediaManager.start();
6913
6978
  case 21:
6914
- _context29.next = 23;
6979
+ _context30.next = 23;
6915
6980
  return mc.initiateOffer();
6916
6981
  case 23:
6917
- _context29.next = 25;
6982
+ _context30.next = 25;
6918
6983
  return this.waitForRemoteSDPAnswer();
6919
6984
  case 25:
6920
6985
  this.handleMediaLogging(this.mediaProperties);
6921
- _context29.next = 32;
6986
+ _context30.next = 32;
6922
6987
  break;
6923
6988
  case 28:
6924
- _context29.prev = 28;
6925
- _context29.t0 = _context29["catch"](3);
6926
- _loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _context29.t0);
6927
- throw _context29.t0;
6989
+ _context30.prev = 28;
6990
+ _context30.t0 = _context30["catch"](3);
6991
+ _loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "), _context30.t0);
6992
+ throw _context30.t0;
6928
6993
  case 32:
6929
- _context29.prev = 32;
6930
- _context29.next = 35;
6994
+ _context30.prev = 32;
6995
+ _context30.next = 35;
6931
6996
  return this.waitForMediaConnectionConnected();
6932
6997
  case 35:
6933
- _context29.next = 41;
6998
+ _context30.next = 41;
6934
6999
  break;
6935
7000
  case 37:
6936
- _context29.prev = 37;
6937
- _context29.t1 = _context29["catch"](32);
6938
- _context29.next = 41;
6939
- return this.handleWaitForMediaConnectionConnectedError(_context29.t1, remoteMediaManagerConfig, bundlePolicy);
7001
+ _context30.prev = 37;
7002
+ _context30.t1 = _context30["catch"](32);
7003
+ _context30.next = 41;
7004
+ return this.handleWaitForMediaConnectionConnectedError(_context30.t1, remoteMediaManagerConfig, bundlePolicy);
6940
7005
  case 41:
6941
7006
  case "end":
6942
- return _context29.stop();
7007
+ return _context30.stop();
6943
7008
  }
6944
- }, _callee29, this, [[3, 28], [32, 37]]);
7009
+ }, _callee30, this, [[3, 28], [32, 37]]);
6945
7010
  }));
6946
- function establishMediaConnection(_x28, _x29, _x30, _x31) {
7011
+ function establishMediaConnection(_x29, _x30, _x31, _x32) {
6947
7012
  return _establishMediaConnection.apply(this, arguments);
6948
7013
  }
6949
7014
  return establishMediaConnection;
@@ -6958,22 +7023,22 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6958
7023
  }, {
6959
7024
  key: "cleanUpOnAddMediaFailure",
6960
7025
  value: (function () {
6961
- var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee30() {
6962
- return _regenerator.default.wrap(function _callee30$(_context30) {
6963
- while (1) switch (_context30.prev = _context30.next) {
7026
+ var _cleanUpOnAddMediaFailure = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee31() {
7027
+ return _regenerator.default.wrap(function _callee31$(_context31) {
7028
+ while (1) switch (_context31.prev = _context31.next) {
6964
7029
  case 0:
6965
7030
  if (!this.statsAnalyzer) {
6966
- _context30.next = 3;
7031
+ _context31.next = 3;
6967
7032
  break;
6968
7033
  }
6969
- _context30.next = 3;
7034
+ _context31.next = 3;
6970
7035
  return this.statsAnalyzer.stopAnalyzer();
6971
7036
  case 3:
6972
7037
  this.statsAnalyzer = null;
6973
7038
 
6974
7039
  // when media fails, we want to upload a webrtc dump to see whats going on
6975
7040
  // this function is async, but returns once the stats have been gathered
6976
- _context30.next = 6;
7041
+ _context31.next = 6;
6977
7042
  return this.forceSendStatsReport({
6978
7043
  callFrom: 'addMedia'
6979
7044
  });
@@ -6984,9 +7049,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6984
7049
  }
6985
7050
  case 7:
6986
7051
  case "end":
6987
- return _context30.stop();
7052
+ return _context31.stop();
6988
7053
  }
6989
- }, _callee30, this);
7054
+ }, _callee31, this);
6990
7055
  }));
6991
7056
  function cleanUpOnAddMediaFailure() {
6992
7057
  return _cleanUpOnAddMediaFailure.apply(this, arguments);
@@ -7004,11 +7069,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7004
7069
  }, {
7005
7070
  key: "cleanUpBeforeRetryWithTurnServer",
7006
7071
  value: (function () {
7007
- var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee31() {
7008
- return _regenerator.default.wrap(function _callee31$(_context31) {
7009
- while (1) switch (_context31.prev = _context31.next) {
7072
+ var _cleanUpBeforeRetryWithTurnServer = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32() {
7073
+ return _regenerator.default.wrap(function _callee32$(_context32) {
7074
+ while (1) switch (_context32.prev = _context32.next) {
7010
7075
  case 0:
7011
- _context31.next = 2;
7076
+ _context32.next = 2;
7012
7077
  return this.forceSendStatsReport({
7013
7078
  callFrom: 'cleanUpBeforeRetryWithTurnServer'
7014
7079
  });
@@ -7028,9 +7093,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7028
7093
  }
7029
7094
  case 3:
7030
7095
  case "end":
7031
- return _context31.stop();
7096
+ return _context32.stop();
7032
7097
  }
7033
- }, _callee31, this);
7098
+ }, _callee32, this);
7034
7099
  }));
7035
7100
  function cleanUpBeforeRetryWithTurnServer() {
7036
7101
  return _cleanUpBeforeRetryWithTurnServer.apply(this, arguments);
@@ -7040,34 +7105,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7040
7105
  }, {
7041
7106
  key: "cleanUpBeforeReconnection",
7042
7107
  value: function () {
7043
- var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee32() {
7044
- return _regenerator.default.wrap(function _callee32$(_context32) {
7045
- while (1) switch (_context32.prev = _context32.next) {
7108
+ var _cleanUpBeforeReconnection = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee33() {
7109
+ return _regenerator.default.wrap(function _callee33$(_context33) {
7110
+ while (1) switch (_context33.prev = _context33.next) {
7046
7111
  case 0:
7047
- _context32.prev = 0;
7048
- _context32.next = 3;
7112
+ _context33.prev = 0;
7113
+ _context33.next = 3;
7049
7114
  return this.forceSendStatsReport({
7050
7115
  callFrom: 'cleanUpBeforeReconnection'
7051
7116
  });
7052
7117
  case 3:
7053
7118
  if (!this.statsAnalyzer) {
7054
- _context32.next = 6;
7119
+ _context33.next = 6;
7055
7120
  break;
7056
7121
  }
7057
- _context32.next = 6;
7122
+ _context33.next = 6;
7058
7123
  return this.statsAnalyzer.stopAnalyzer();
7059
7124
  case 6:
7060
- _context32.next = 11;
7125
+ _context33.next = 11;
7061
7126
  break;
7062
7127
  case 8:
7063
- _context32.prev = 8;
7064
- _context32.t0 = _context32["catch"](0);
7065
- _loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _context32.t0);
7128
+ _context33.prev = 8;
7129
+ _context33.t0 = _context33["catch"](0);
7130
+ _loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ', _context33.t0);
7066
7131
  case 11:
7067
7132
  case "end":
7068
- return _context32.stop();
7133
+ return _context33.stop();
7069
7134
  }
7070
- }, _callee32, this, [[0, 8]]);
7135
+ }, _callee33, this, [[0, 8]]);
7071
7136
  }));
7072
7137
  function cleanUpBeforeReconnection() {
7073
7138
  return _cleanUpBeforeReconnection.apply(this, arguments);
@@ -7114,10 +7179,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7114
7179
  }, {
7115
7180
  key: "addMedia",
7116
7181
  value: function addMedia() {
7117
- var _this42 = this;
7182
+ var _this43 = this;
7118
7183
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7119
7184
  return this.addMediaInternal(function () {
7120
- return _this42.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
7185
+ return _this43.turnServerUsed ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
7121
7186
  }, undefined, false, options);
7122
7187
  }
7123
7188
 
@@ -7135,7 +7200,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7135
7200
  }, {
7136
7201
  key: "addMediaInternal",
7137
7202
  value: (function () {
7138
- var _addMediaInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee33(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
7203
+ var _addMediaInternal = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee34(icePhaseCallback, turnServerInfo, forceTurnDiscovery) {
7139
7204
  var options,
7140
7205
  LOG_HEADER,
7141
7206
  localStreams,
@@ -7183,24 +7248,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7183
7248
  _selectedCandidatePairChanges,
7184
7249
  _numTransports,
7185
7250
  _iceCandidateErrors,
7186
- _args33 = arguments;
7187
- return _regenerator.default.wrap(function _callee33$(_context33) {
7188
- while (1) switch (_context33.prev = _context33.next) {
7251
+ _args34 = arguments;
7252
+ return _regenerator.default.wrap(function _callee34$(_context34) {
7253
+ while (1) switch (_context34.prev = _context34.next) {
7189
7254
  case 0:
7190
- options = _args33.length > 3 && _args33[3] !== undefined ? _args33[3] : {};
7255
+ options = _args34.length > 3 && _args34[3] !== undefined ? _args34[3] : {};
7191
7256
  this.addMediaData.retriedWithTurnServer = false;
7192
7257
  this.addMediaData.icePhaseCallback = icePhaseCallback;
7193
7258
  this.hasMediaConnectionConnectedAtLeastOnce = false;
7194
7259
  LOG_HEADER = 'Meeting:index#addMedia -->';
7195
7260
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " called with: options=").concat((0, _stringify.default)(options), ", turnServerInfo=").concat((0, _stringify.default)(turnServerInfo), ", forceTurnDiscovery=").concat(forceTurnDiscovery));
7196
7261
  if (!(options.allowMediaInLobby !== true && this.meetingState !== _constants.FULL_STATE.ACTIVE)) {
7197
- _context33.next = 8;
7262
+ _context34.next = 8;
7198
7263
  break;
7199
7264
  }
7200
7265
  throw new _webexErrors.MeetingNotActiveError();
7201
7266
  case 8:
7202
7267
  if (!_util2.default.isUserInLeftState(this.locusInfo)) {
7203
- _context33.next = 10;
7268
+ _context34.next = 10;
7204
7269
  break;
7205
7270
  }
7206
7271
  throw new _webexErrors.UserNotJoinedError();
@@ -7211,7 +7276,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7211
7276
  // If the user is unjoined or guest waiting in lobby dont allow the user to addMedia
7212
7277
  // @ts-ignore - isUserUnadmitted coming from SelfUtil
7213
7278
  if (!(this.isUserUnadmitted && !this.wirelessShare && !this.allowMediaInLobby)) {
7214
- _context33.next = 14;
7279
+ _context34.next = 14;
7215
7280
  break;
7216
7281
  }
7217
7282
  throw new _webexErrors.UserInLobbyError();
@@ -7254,33 +7319,33 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7254
7319
  });
7255
7320
  this.audio = (0, _muteState.createMuteState)(_constants.AUDIO, this, audioEnabled);
7256
7321
  this.video = (0, _muteState.createMuteState)(_constants.VIDEO, this, videoEnabled);
7257
- _context33.prev = 18;
7258
- _context33.next = 21;
7322
+ _context34.prev = 18;
7323
+ _context34.next = 21;
7259
7324
  return this.setUpLocalStreamReferences(localStreams);
7260
7325
  case 21:
7261
7326
  this.setMercuryListener();
7262
7327
  this.createStatsAnalyzer();
7263
- _context33.next = 25;
7328
+ _context34.next = 25;
7264
7329
  return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
7265
7330
  case 25:
7266
7331
  if (!this.mediaProperties.hasLocalShareStream()) {
7267
- _context33.next = 28;
7332
+ _context34.next = 28;
7268
7333
  break;
7269
7334
  }
7270
- _context33.next = 28;
7335
+ _context34.next = 28;
7271
7336
  return this.enqueueScreenShareFloorRequest();
7272
7337
  case 28:
7273
- _context33.next = 30;
7338
+ _context34.next = 30;
7274
7339
  return this.mediaProperties.getCurrentConnectionInfo();
7275
7340
  case 30:
7276
- _yield$this$mediaProp = _context33.sent;
7341
+ _yield$this$mediaProp = _context34.sent;
7277
7342
  connectionType = _yield$this$mediaProp.connectionType;
7278
7343
  selectedCandidatePairChanges = _yield$this$mediaProp.selectedCandidatePairChanges;
7279
7344
  numTransports = _yield$this$mediaProp.numTransports;
7280
- _context33.next = 36;
7345
+ _context34.next = 36;
7281
7346
  return this.webex.meetings.reachability.getReachabilityMetrics();
7282
7347
  case 36:
7283
- reachabilityStats = _context33.sent;
7348
+ reachabilityStats = _context34.sent;
7284
7349
  iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
7285
7350
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_SUCCESS, _objectSpread(_objectSpread(_objectSpread({
7286
7351
  correlation_id: this.correlationId,
@@ -7306,31 +7371,31 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7306
7371
  // We can log ReceiveSlot SSRCs only after the SDP exchange, so doing it here:
7307
7372
  (_this$remoteMediaMana = this.remoteMediaManager) === null || _this$remoteMediaMana === void 0 ? void 0 : _this$remoteMediaMana.logAllReceiveSlots();
7308
7373
  this.startPeriodicLogUpload();
7309
- _context33.next = 63;
7374
+ _context34.next = 63;
7310
7375
  break;
7311
7376
  case 45:
7312
- _context33.prev = 45;
7313
- _context33.t0 = _context33["catch"](18);
7314
- _loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context33.t0);
7377
+ _context34.prev = 45;
7378
+ _context34.t0 = _context34["catch"](18);
7379
+ _loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "), _context34.t0);
7315
7380
 
7316
7381
  // @ts-ignore
7317
- _context33.next = 50;
7382
+ _context34.next = 50;
7318
7383
  return this.webex.meetings.reachability.getReachabilityMetrics();
7319
7384
  case 50:
7320
- reachabilityMetrics = _context33.sent;
7321
- _context33.next = 53;
7385
+ reachabilityMetrics = _context34.sent;
7386
+ _context34.next = 53;
7322
7387
  return this.mediaProperties.getCurrentConnectionInfo();
7323
7388
  case 53:
7324
- _yield$this$mediaProp2 = _context33.sent;
7389
+ _yield$this$mediaProp2 = _context34.sent;
7325
7390
  _selectedCandidatePairChanges = _yield$this$mediaProp2.selectedCandidatePairChanges;
7326
7391
  _numTransports = _yield$this$mediaProp2.numTransports;
7327
7392
  _iceCandidateErrors = Object.fromEntries(this.iceCandidateErrors);
7328
7393
  _metrics.default.sendBehavioralMetric(_constants2.default.ADD_MEDIA_FAILURE, _objectSpread(_objectSpread(_objectSpread({
7329
7394
  correlation_id: this.correlationId,
7330
7395
  locus_id: this.locusUrl.split('/').pop(),
7331
- reason: _context33.t0.message,
7332
- stack: _context33.t0.stack,
7333
- code: _context33.t0.code,
7396
+ reason: _context34.t0.message,
7397
+ stack: _context34.t0.stack,
7398
+ code: _context34.t0.code,
7334
7399
  selectedCandidatePairChanges: _selectedCandidatePairChanges,
7335
7400
  numTransports: _numTransports,
7336
7401
  turnDiscoverySkippedReason: this.turnDiscoverySkippedReason,
@@ -7344,7 +7409,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7344
7409
  }, reachabilityMetrics), _iceCandidateErrors), {}, {
7345
7410
  iceCandidatesCount: this.iceCandidatesCount
7346
7411
  }));
7347
- _context33.next = 60;
7412
+ _context34.next = 60;
7348
7413
  return this.cleanUpOnAddMediaFailure();
7349
7414
  case 60:
7350
7415
  // Upload logs on error while adding media
@@ -7352,23 +7417,23 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7352
7417
  file: 'meeting/index',
7353
7418
  function: 'addMedia'
7354
7419
  }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, this);
7355
- if (_context33.t0 instanceof _internalMediaCore.Errors.SdpError) {
7420
+ if (_context34.t0 instanceof _internalMediaCore.Errors.SdpError) {
7356
7421
  this.leave({
7357
7422
  reason: _constants.MEETING_REMOVED_REASON.MEETING_CONNECTION_FAILED
7358
7423
  });
7359
7424
  }
7360
- throw _context33.t0;
7425
+ throw _context34.t0;
7361
7426
  case 63:
7362
- _context33.prev = 63;
7427
+ _context34.prev = 63;
7363
7428
  this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
7364
- return _context33.finish(63);
7429
+ return _context34.finish(63);
7365
7430
  case 66:
7366
7431
  case "end":
7367
- return _context33.stop();
7432
+ return _context34.stop();
7368
7433
  }
7369
- }, _callee33, this, [[18, 45, 63, 66]]);
7434
+ }, _callee34, this, [[18, 45, 63, 66]]);
7370
7435
  }));
7371
- function addMediaInternal(_x32, _x33, _x34) {
7436
+ function addMediaInternal(_x33, _x34, _x35) {
7372
7437
  return _addMediaInternal.apply(this, arguments);
7373
7438
  }
7374
7439
  return addMediaInternal;
@@ -7398,7 +7463,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7398
7463
  * @memberof Meeting
7399
7464
  */
7400
7465
  function enqueueMediaUpdate(mediaUpdateType) {
7401
- var _this43 = this;
7466
+ var _this44 = this;
7402
7467
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
7403
7468
  var canUpdateMediaNow = this.canUpdateMedia();
7404
7469
  return new _promise.default(function (resolve, reject) {
@@ -7409,9 +7474,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7409
7474
  options: options
7410
7475
  };
7411
7476
  _loggerProxy.default.logger.log("Meeting:index#enqueueMediaUpdate --> enqueuing media update type=".concat(mediaUpdateType));
7412
- _this43.queuedMediaUpdates.push(queueItem);
7477
+ _this44.queuedMediaUpdates.push(queueItem);
7413
7478
  if (canUpdateMediaNow) {
7414
- _this43.processNextQueuedMediaUpdate();
7479
+ _this44.processNextQueuedMediaUpdate();
7415
7480
  }
7416
7481
  });
7417
7482
  }
@@ -7434,35 +7499,35 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7434
7499
  * @memberof Meeting
7435
7500
  */
7436
7501
  function () {
7437
- var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee34(options) {
7502
+ var _updateMedia = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee35(options) {
7438
7503
  var audioEnabled, videoEnabled, shareAudioEnabled, shareVideoEnabled, _this$audio3, _this$video3;
7439
- return _regenerator.default.wrap(function _callee34$(_context34) {
7440
- while (1) switch (_context34.prev = _context34.next) {
7504
+ return _regenerator.default.wrap(function _callee35$(_context35) {
7505
+ while (1) switch (_context35.prev = _context35.next) {
7441
7506
  case 0:
7442
7507
  this.checkMediaConnection();
7443
7508
  audioEnabled = options.audioEnabled, videoEnabled = options.videoEnabled, shareAudioEnabled = options.shareAudioEnabled, shareVideoEnabled = options.shareVideoEnabled;
7444
7509
  _loggerProxy.default.logger.log("Meeting:index#updateMedia --> called with options=".concat((0, _stringify.default)(options)));
7445
7510
  if (this.canUpdateMedia()) {
7446
- _context34.next = 5;
7511
+ _context35.next = 5;
7447
7512
  break;
7448
7513
  }
7449
- return _context34.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
7514
+ return _context35.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
7450
7515
  case 5:
7451
7516
  if (!this.isMultistream) {
7452
- _context34.next = 10;
7517
+ _context35.next = 10;
7453
7518
  break;
7454
7519
  }
7455
7520
  if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
7456
- _context34.next = 8;
7521
+ _context35.next = 8;
7457
7522
  break;
7458
7523
  }
7459
7524
  throw new Error('toggling shareAudioEnabled or shareVideoEnabled in a multistream meeting is not supported, to control receiving screen share call meeting.remoteMediaManager.setLayout() with appropriate layout');
7460
7525
  case 8:
7461
- _context34.next = 12;
7526
+ _context35.next = 12;
7462
7527
  break;
7463
7528
  case 10:
7464
7529
  if (!(shareAudioEnabled !== undefined)) {
7465
- _context34.next = 12;
7530
+ _context35.next = 12;
7466
7531
  break;
7467
7532
  }
7468
7533
  throw new Error('toggling shareAudioEnabled in a transcoded meeting is not supported as of now');
@@ -7487,20 +7552,20 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7487
7552
  this.mediaProperties.mediaDirection.receiveShare = !!(shareAudioEnabled || shareVideoEnabled);
7488
7553
  }
7489
7554
  if (this.isMultistream) {
7490
- _context34.next = 18;
7555
+ _context35.next = 18;
7491
7556
  break;
7492
7557
  }
7493
- _context34.next = 18;
7558
+ _context35.next = 18;
7494
7559
  return this.updateTranscodedMediaConnection();
7495
7560
  case 18:
7496
- return _context34.abrupt("return", undefined);
7561
+ return _context35.abrupt("return", undefined);
7497
7562
  case 19:
7498
7563
  case "end":
7499
- return _context34.stop();
7564
+ return _context35.stop();
7500
7565
  }
7501
- }, _callee34, this);
7566
+ }, _callee35, this);
7502
7567
  }));
7503
- function updateMedia(_x35) {
7568
+ function updateMedia(_x36) {
7504
7569
  return _updateMedia.apply(this, arguments);
7505
7570
  }
7506
7571
  return updateMedia;
@@ -7516,7 +7581,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7516
7581
  }, {
7517
7582
  key: "acknowledge",
7518
7583
  value: function acknowledge(type) {
7519
- var _this44 = this;
7584
+ var _this45 = this;
7520
7585
  if (!type) {
7521
7586
  return _promise.default.reject(new _parameter.default('Type must be set to acknowledge the meeting.'));
7522
7587
  }
@@ -7528,12 +7593,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7528
7593
  }).then(function (response) {
7529
7594
  return _promise.default.resolve(response);
7530
7595
  }).then(function (response) {
7531
- _this44.meetingFiniteStateMachine.ring(type);
7596
+ _this45.meetingFiniteStateMachine.ring(type);
7532
7597
  // @ts-ignore
7533
- _this44.webex.internal.newMetrics.submitClientEvent({
7598
+ _this45.webex.internal.newMetrics.submitClientEvent({
7534
7599
  name: 'client.alert.displayed',
7535
7600
  options: {
7536
- meetingId: _this44.id
7601
+ meetingId: _this45.id
7537
7602
  }
7538
7603
  });
7539
7604
  return _promise.default.resolve({
@@ -7558,12 +7623,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7558
7623
  }, {
7559
7624
  key: "decline",
7560
7625
  value: function decline(reason) {
7561
- var _this45 = this;
7626
+ var _this46 = this;
7562
7627
  return _util2.default.declineMeeting(this, reason).then(function (decline) {
7563
- _this45.meetingFiniteStateMachine.decline();
7628
+ _this46.meetingFiniteStateMachine.decline();
7564
7629
  return _promise.default.resolve(decline);
7565
7630
  }).catch(function (error) {
7566
- _this45.meetingFiniteStateMachine.fail(error);
7631
+ _this46.meetingFiniteStateMachine.fail(error);
7567
7632
  return _promise.default.reject(error);
7568
7633
  });
7569
7634
  }
@@ -7614,7 +7679,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7614
7679
  }, {
7615
7680
  key: "leave",
7616
7681
  value: function leave() {
7617
- var _this46 = this;
7682
+ var _this47 = this;
7618
7683
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7619
7684
  var leaveReason = options.reason || _constants.MEETING_REMOVED_REASON.CLIENT_LEAVE_REQUEST;
7620
7685
 
@@ -7626,7 +7691,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7626
7691
  var payload = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
7627
7692
  return (
7628
7693
  // @ts-ignore
7629
- _this46.webex.internal.newMetrics.submitClientEvent({
7694
+ _this47.webex.internal.newMetrics.submitClientEvent({
7630
7695
  name: 'client.call.leave',
7631
7696
  payload: _objectSpread({
7632
7697
  trigger: 'user-interaction',
@@ -7634,7 +7699,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7634
7699
  leaveReason: options.clientEventLeaveReason
7635
7700
  }, payload),
7636
7701
  options: {
7637
- meetingId: _this46.id
7702
+ meetingId: _this47.id
7638
7703
  }
7639
7704
  })
7640
7705
  );
@@ -7643,24 +7708,24 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7643
7708
  return _util2.default.leaveMeeting(this, options).then(function (leave) {
7644
7709
  // CA team recommends submitting this *after* locus /leave
7645
7710
  submitLeaveMetric();
7646
- _this46.meetingFiniteStateMachine.leave();
7647
- _this46.clearMeetingData();
7711
+ _this47.meetingFiniteStateMachine.leave();
7712
+ _this47.clearMeetingData();
7648
7713
 
7649
7714
  // upload logs on leave irrespective of meeting delete
7650
- _triggerProxy.default.trigger(_this46, {
7715
+ _triggerProxy.default.trigger(_this47, {
7651
7716
  file: 'meeting/index',
7652
7717
  function: 'leave'
7653
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
7718
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this47);
7654
7719
 
7655
7720
  // TODO: more testing before we remove this code, we are not sure the scenarios for destroy here
7656
- if (_this46.wirelessShare || _this46.guest) {
7721
+ if (_this47.wirelessShare || _this47.guest) {
7657
7722
  // If screen sharing clean the meeting object
7658
- _triggerProxy.default.trigger(_this46, {
7723
+ _triggerProxy.default.trigger(_this47, {
7659
7724
  file: 'meeting/index',
7660
7725
  function: 'leave'
7661
7726
  }, _constants.EVENTS.DESTROY_MEETING, {
7662
7727
  reason: options.reason,
7663
- meetingId: _this46.id
7728
+ meetingId: _this47.id
7664
7729
  });
7665
7730
  }
7666
7731
  _loggerProxy.default.logger.log('Meeting:index#leave --> LEAVE REASON ', leaveReason);
@@ -7677,16 +7742,16 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7677
7742
  shownToUser: false
7678
7743
  }]
7679
7744
  });
7680
- _this46.meetingFiniteStateMachine.fail(error);
7745
+ _this47.meetingFiniteStateMachine.fail(error);
7681
7746
  _loggerProxy.default.logger.error('Meeting:index#leave --> Failed to leave ', error);
7682
7747
  // upload logs on leave irrespective of meeting delete
7683
- _triggerProxy.default.trigger(_this46, {
7748
+ _triggerProxy.default.trigger(_this47, {
7684
7749
  file: 'meeting/index',
7685
7750
  function: 'leave'
7686
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this46);
7751
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this47);
7687
7752
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
7688
- correlation_id: _this46.correlationId,
7689
- locus_id: _this46.locusUrl.split('/').pop(),
7753
+ correlation_id: _this47.correlationId,
7754
+ locus_id: _this47.locusUrl.split('/').pop(),
7690
7755
  reason: error.message,
7691
7756
  stack: error.stack,
7692
7757
  code: error.code
@@ -7706,7 +7771,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7706
7771
  }, {
7707
7772
  key: "startWhiteboardShare",
7708
7773
  value: function startWhiteboardShare(channelUrl, resourceToken) {
7709
- var _this47 = this;
7774
+ var _this48 = this;
7710
7775
  var whiteboard = this.locusInfo.mediaShares.find(function (element) {
7711
7776
  return element.name === 'whiteboard';
7712
7777
  });
@@ -7735,13 +7800,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7735
7800
  body.resourceToken = resourceToken;
7736
7801
  }
7737
7802
  return this.meetingRequest.changeMeetingFloor(body).then(function () {
7738
- _this47.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
7803
+ _this48.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
7739
7804
  return _promise.default.resolve();
7740
7805
  }).catch(function (error) {
7741
7806
  _loggerProxy.default.logger.error('Meeting:index#startWhiteboardShare --> Error ', error);
7742
7807
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_START_WHITEBOARD_SHARE_FAILURE, {
7743
- correlation_id: _this47.correlationId,
7744
- locus_id: _this47.locusUrl.split('/').pop(),
7808
+ correlation_id: _this48.correlationId,
7809
+ locus_id: _this48.locusUrl.split('/').pop(),
7745
7810
  reason: error.message,
7746
7811
  stack: error.stack,
7747
7812
  board: {
@@ -7764,7 +7829,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7764
7829
  }, {
7765
7830
  key: "stopWhiteboardShare",
7766
7831
  value: function stopWhiteboardShare(channelUrl) {
7767
- var _this48 = this;
7832
+ var _this49 = this;
7768
7833
  var whiteboard = this.locusInfo.mediaShares.find(function (element) {
7769
7834
  return element.name === 'whiteboard';
7770
7835
  });
@@ -7787,8 +7852,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7787
7852
  }).catch(function (error) {
7788
7853
  _loggerProxy.default.logger.error('Meeting:index#stopWhiteboardShare --> Error ', error);
7789
7854
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_STOP_WHITEBOARD_SHARE_FAILURE, {
7790
- correlation_id: _this48.correlationId,
7791
- locus_id: _this48.locusUrl.split('/').pop(),
7855
+ correlation_id: _this49.correlationId,
7856
+ locus_id: _this49.locusUrl.split('/').pop(),
7792
7857
  reason: error.message,
7793
7858
  stack: error.stack,
7794
7859
  board: {
@@ -7810,7 +7875,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7810
7875
  }, {
7811
7876
  key: "requestScreenShareFloor",
7812
7877
  value: function requestScreenShareFloor() {
7813
- var _this49 = this;
7878
+ var _this50 = this;
7814
7879
  if (!this.mediaProperties.hasLocalShareStream() || !this.mediaProperties.mediaDirection.sendShare) {
7815
7880
  _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, ")"));
7816
7881
  this.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
@@ -7841,34 +7906,34 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7841
7906
  resourceUrl: this.resourceUrl,
7842
7907
  shareInstanceId: this.localShareInstanceId
7843
7908
  }).then(function () {
7844
- _this49.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
7909
+ _this50.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
7845
7910
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
7846
- correlation_id: _this49.correlationId,
7847
- locus_id: _this49.locusUrl.split('/').pop()
7911
+ correlation_id: _this50.correlationId,
7912
+ locus_id: _this50.locusUrl.split('/').pop()
7848
7913
  });
7849
7914
  return _promise.default.resolve();
7850
7915
  }).catch(function (error) {
7851
7916
  _loggerProxy.default.logger.error('Meeting:index#share --> Error ', error);
7852
7917
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_FAILURE, {
7853
- correlation_id: _this49.correlationId,
7854
- locus_id: _this49.locusUrl.split('/').pop(),
7918
+ correlation_id: _this50.correlationId,
7919
+ locus_id: _this50.locusUrl.split('/').pop(),
7855
7920
  reason: error.message,
7856
7921
  stack: error.stack
7857
7922
  });
7858
7923
 
7859
7924
  // @ts-ignore
7860
- _this49.webex.internal.newMetrics.submitClientEvent({
7925
+ _this50.webex.internal.newMetrics.submitClientEvent({
7861
7926
  name: 'client.share.floor-granted.local',
7862
7927
  payload: {
7863
7928
  mediaType: 'share',
7864
7929
  errors: _util2.default.getChangeMeetingFloorErrorPayload(error.message),
7865
- shareInstanceId: _this49.localShareInstanceId
7930
+ shareInstanceId: _this50.localShareInstanceId
7866
7931
  },
7867
7932
  options: {
7868
- meetingId: _this49.id
7933
+ meetingId: _this50.id
7869
7934
  }
7870
7935
  });
7871
- _this49.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
7936
+ _this50.screenShareFloorState = ScreenShareFloorStatus.RELEASED;
7872
7937
  return _promise.default.reject(error);
7873
7938
  });
7874
7939
  }
@@ -7891,10 +7956,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7891
7956
  }, {
7892
7957
  key: "requestScreenShareFloorIfPending",
7893
7958
  value: function requestScreenShareFloorIfPending() {
7894
- var _this50 = this;
7959
+ var _this51 = this;
7895
7960
  if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
7896
7961
  this.requestScreenShareFloor().then(function () {
7897
- _this50.floorGrantPending = false;
7962
+ _this51.floorGrantPending = false;
7898
7963
  });
7899
7964
  }
7900
7965
  }
@@ -7908,7 +7973,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7908
7973
  }, {
7909
7974
  key: "releaseScreenShareFloor",
7910
7975
  value: function releaseScreenShareFloor() {
7911
- var _this51 = this;
7976
+ var _this52 = this;
7912
7977
  var content = this.locusInfo.mediaShares.find(function (element) {
7913
7978
  return element.name === _constants.CONTENT;
7914
7979
  });
@@ -7943,8 +8008,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7943
8008
  }).catch(function (error) {
7944
8009
  _loggerProxy.default.logger.error('Meeting:index#releaseScreenShareFloor --> Error ', error);
7945
8010
  _metrics.default.sendBehavioralMetric(_constants2.default.STOP_FLOOR_REQUEST_FAILURE, {
7946
- correlation_id: _this51.correlationId,
7947
- locus_id: _this51.locusUrl.split('/').pop(),
8011
+ correlation_id: _this52.correlationId,
8012
+ locus_id: _this52.locusUrl.split('/').pop(),
7948
8013
  reason: error.message,
7949
8014
  stack: error.stack
7950
8015
  });
@@ -8124,7 +8189,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8124
8189
  }, {
8125
8190
  key: "changeVideoLayout",
8126
8191
  value: function changeVideoLayout(layoutType) {
8127
- var _this52 = this;
8192
+ var _this53 = this;
8128
8193
  var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
8129
8194
  var main = renderInfo.main,
8130
8195
  content = renderInfo.content;
@@ -8178,7 +8243,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8178
8243
  }
8179
8244
  this.lastVideoLayoutInfo = (0, _lodash.cloneDeep)(layoutInfo);
8180
8245
  this.locusInfo.once(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_LAYOUT_UPDATED, function (envelope) {
8181
- _triggerProxy.default.trigger(_this52, {
8246
+ _triggerProxy.default.trigger(_this53, {
8182
8247
  file: 'meeting/index',
8183
8248
  function: 'changeVideoLayout'
8184
8249
  }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_LAYOUT_UPDATE, {
@@ -8294,7 +8359,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8294
8359
  }, {
8295
8360
  key: "endMeetingForAll",
8296
8361
  value: function endMeetingForAll() {
8297
- var _this53 = this;
8362
+ var _this54 = this;
8298
8363
  // @ts-ignore
8299
8364
  this.webex.internal.newMetrics.submitClientEvent({
8300
8365
  name: 'client.call.leave',
@@ -8312,25 +8377,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8312
8377
  locus_id: this.locusId
8313
8378
  });
8314
8379
  return _util2.default.endMeetingForAll(this).then(function (end) {
8315
- _this53.meetingFiniteStateMachine.end();
8316
- _this53.clearMeetingData();
8380
+ _this54.meetingFiniteStateMachine.end();
8381
+ _this54.clearMeetingData();
8317
8382
  // upload logs on leave irrespective of meeting delete
8318
- _triggerProxy.default.trigger(_this53, {
8383
+ _triggerProxy.default.trigger(_this54, {
8319
8384
  file: 'meeting/index',
8320
8385
  function: 'endMeetingForAll'
8321
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
8386
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this54);
8322
8387
  return end;
8323
8388
  }).catch(function (error) {
8324
- _this53.meetingFiniteStateMachine.fail(error);
8389
+ _this54.meetingFiniteStateMachine.fail(error);
8325
8390
  _loggerProxy.default.logger.error('Meeting:index#endMeetingForAll --> Failed to end meeting ', error);
8326
8391
  // upload logs on leave irrespective of meeting delete
8327
- _triggerProxy.default.trigger(_this53, {
8392
+ _triggerProxy.default.trigger(_this54, {
8328
8393
  file: 'meeting/index',
8329
8394
  function: 'endMeetingForAll'
8330
- }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this53);
8395
+ }, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this54);
8331
8396
  _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
8332
- correlation_id: _this53.correlationId,
8333
- locus_id: _this53.locusUrl.split('/').pop(),
8397
+ correlation_id: _this54.correlationId,
8398
+ locus_id: _this54.locusUrl.split('/').pop(),
8334
8399
  reason: error.message,
8335
8400
  stack: error.stack,
8336
8401
  code: error.code
@@ -8419,39 +8484,39 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8419
8484
  }, {
8420
8485
  key: "enableMusicMode",
8421
8486
  value: (function () {
8422
- var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee35(shouldEnableMusicMode) {
8423
- return _regenerator.default.wrap(function _callee35$(_context35) {
8424
- while (1) switch (_context35.prev = _context35.next) {
8487
+ var _enableMusicMode = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee36(shouldEnableMusicMode) {
8488
+ return _regenerator.default.wrap(function _callee36$(_context36) {
8489
+ while (1) switch (_context36.prev = _context36.next) {
8425
8490
  case 0:
8426
8491
  this.checkMediaConnection();
8427
8492
  if (this.isMultistream) {
8428
- _context35.next = 3;
8493
+ _context36.next = 3;
8429
8494
  break;
8430
8495
  }
8431
8496
  throw new Error('enableMusicMode() only supported with multistream');
8432
8497
  case 3:
8433
8498
  if (!shouldEnableMusicMode) {
8434
- _context35.next = 8;
8499
+ _context36.next = 8;
8435
8500
  break;
8436
8501
  }
8437
- _context35.next = 6;
8502
+ _context36.next = 6;
8438
8503
  return this.sendSlotManager.setCodecParameters(_internalMediaCore.MediaType.AudioMain, {
8439
8504
  maxaveragebitrate: '64000',
8440
8505
  maxplaybackrate: '48000'
8441
8506
  });
8442
8507
  case 6:
8443
- _context35.next = 10;
8508
+ _context36.next = 10;
8444
8509
  break;
8445
8510
  case 8:
8446
- _context35.next = 10;
8511
+ _context36.next = 10;
8447
8512
  return this.sendSlotManager.deleteCodecParameters(_internalMediaCore.MediaType.AudioMain, ['maxaveragebitrate', 'maxplaybackrate']);
8448
8513
  case 10:
8449
8514
  case "end":
8450
- return _context35.stop();
8515
+ return _context36.stop();
8451
8516
  }
8452
- }, _callee35, this);
8517
+ }, _callee36, this);
8453
8518
  }));
8454
- function enableMusicMode(_x36) {
8519
+ function enableMusicMode(_x37) {
8455
8520
  return _enableMusicMode.apply(this, arguments);
8456
8521
  }
8457
8522
  return enableMusicMode;
@@ -8472,7 +8537,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8472
8537
  _this$mediaProperties41,
8473
8538
  _this$mediaProperties42,
8474
8539
  _this$mediaProperties43,
8475
- _this54 = this;
8540
+ _this55 = this;
8476
8541
  var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
8477
8542
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
8478
8543
  if (!this.canUpdateMedia()) {
@@ -8497,8 +8562,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8497
8562
  }).catch(function (error) {
8498
8563
  _loggerProxy.default.logger.error("".concat(LOG_HEADER, " Error: "), error);
8499
8564
  _metrics.default.sendBehavioralMetric(_constants2.default.UPDATE_MEDIA_FAILURE, {
8500
- correlation_id: _this54.correlationId,
8501
- locus_id: _this54.locusUrl.split('/').pop(),
8565
+ correlation_id: _this55.correlationId,
8566
+ locus_id: _this55.locusUrl.split('/').pop(),
8502
8567
  reason: error.message,
8503
8568
  stack: error.stack
8504
8569
  });
@@ -8542,25 +8607,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8542
8607
  }, {
8543
8608
  key: "publishStream",
8544
8609
  value: (function () {
8545
- var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee36(mediaType, stream) {
8546
- return _regenerator.default.wrap(function _callee36$(_context36) {
8547
- while (1) switch (_context36.prev = _context36.next) {
8610
+ var _publishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee37(mediaType, stream) {
8611
+ return _regenerator.default.wrap(function _callee37$(_context37) {
8612
+ while (1) switch (_context37.prev = _context37.next) {
8548
8613
  case 0:
8549
8614
  if (stream) {
8550
- _context36.next = 2;
8615
+ _context37.next = 2;
8551
8616
  break;
8552
8617
  }
8553
- return _context36.abrupt("return");
8618
+ return _context37.abrupt("return");
8554
8619
  case 2:
8555
8620
  if (!this.mediaProperties.webrtcMediaConnection) {
8556
- _context36.next = 7;
8621
+ _context37.next = 7;
8557
8622
  break;
8558
8623
  }
8559
8624
  if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
8560
- _context36.next = 6;
8625
+ _context37.next = 6;
8561
8626
  break;
8562
8627
  }
8563
- _context36.next = 6;
8628
+ _context37.next = 6;
8564
8629
  return this.sendSlotManager.publishStream(mediaType, stream);
8565
8630
  case 6:
8566
8631
  this.emitPublishStateChangeEvent({
@@ -8571,11 +8636,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8571
8636
  });
8572
8637
  case 7:
8573
8638
  case "end":
8574
- return _context36.stop();
8639
+ return _context37.stop();
8575
8640
  }
8576
- }, _callee36, this);
8641
+ }, _callee37, this);
8577
8642
  }));
8578
- function publishStream(_x37, _x38) {
8643
+ function publishStream(_x38, _x39) {
8579
8644
  return _publishStream.apply(this, arguments);
8580
8645
  }
8581
8646
  return publishStream;
@@ -8591,21 +8656,21 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8591
8656
  }, {
8592
8657
  key: "unpublishStream",
8593
8658
  value: (function () {
8594
- var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee37(mediaType, stream) {
8595
- return _regenerator.default.wrap(function _callee37$(_context37) {
8596
- while (1) switch (_context37.prev = _context37.next) {
8659
+ var _unpublishStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee38(mediaType, stream) {
8660
+ return _regenerator.default.wrap(function _callee38$(_context38) {
8661
+ while (1) switch (_context38.prev = _context38.next) {
8597
8662
  case 0:
8598
8663
  if (stream) {
8599
- _context37.next = 2;
8664
+ _context38.next = 2;
8600
8665
  break;
8601
8666
  }
8602
- return _context37.abrupt("return");
8667
+ return _context38.abrupt("return");
8603
8668
  case 2:
8604
8669
  if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
8605
- _context37.next = 5;
8670
+ _context38.next = 5;
8606
8671
  break;
8607
8672
  }
8608
- _context37.next = 5;
8673
+ _context38.next = 5;
8609
8674
  return this.sendSlotManager.unpublishStream(mediaType);
8610
8675
  case 5:
8611
8676
  this.emitPublishStateChangeEvent({
@@ -8616,11 +8681,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8616
8681
  });
8617
8682
  case 6:
8618
8683
  case "end":
8619
- return _context37.stop();
8684
+ return _context38.stop();
8620
8685
  }
8621
- }, _callee37, this);
8686
+ }, _callee38, this);
8622
8687
  }));
8623
- function unpublishStream(_x39, _x40) {
8688
+ function unpublishStream(_x40, _x41) {
8624
8689
  return _unpublishStream.apply(this, arguments);
8625
8690
  }
8626
8691
  return unpublishStream;
@@ -8635,19 +8700,19 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8635
8700
  }, {
8636
8701
  key: "publishStreams",
8637
8702
  value: (function () {
8638
- var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee38(streams) {
8703
+ var _publishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39(streams) {
8639
8704
  var _streams$screenShare, _streams$screenShare2, _streams$screenShare3, _streams$screenShare4, _streams$screenShare5, _streams$screenShare6;
8640
8705
  var streamChecks, _i, _streamChecks, _streamChecks$_i, stream, name, floorRequestNeeded, _streams$screenShare7;
8641
- return _regenerator.default.wrap(function _callee38$(_context38) {
8642
- while (1) switch (_context38.prev = _context38.next) {
8706
+ return _regenerator.default.wrap(function _callee39$(_context39) {
8707
+ while (1) switch (_context39.prev = _context39.next) {
8643
8708
  case 0:
8644
8709
  _loggerProxy.default.logger.info("Meeting:index#publishStreams --> called with: ".concat((0, _stringify.default)(streams)));
8645
8710
  this.checkMediaConnection();
8646
8711
  if (!(!streams.microphone && !streams.camera && !((_streams$screenShare = streams.screenShare) !== null && _streams$screenShare !== void 0 && _streams$screenShare.audio) && !((_streams$screenShare2 = streams.screenShare) !== null && _streams$screenShare2 !== void 0 && _streams$screenShare2.video))) {
8647
- _context38.next = 4;
8712
+ _context39.next = 4;
8648
8713
  break;
8649
8714
  }
8650
- return _context38.abrupt("return");
8715
+ return _context39.abrupt("return");
8651
8716
  case 4:
8652
8717
  streamChecks = [{
8653
8718
  stream: streams === null || streams === void 0 ? void 0 : streams.microphone,
@@ -8665,62 +8730,62 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8665
8730
  _i = 0, _streamChecks = streamChecks;
8666
8731
  case 6:
8667
8732
  if (!(_i < _streamChecks.length)) {
8668
- _context38.next = 13;
8733
+ _context39.next = 13;
8669
8734
  break;
8670
8735
  }
8671
8736
  _streamChecks$_i = _streamChecks[_i], stream = _streamChecks$_i.stream, name = _streamChecks$_i.name;
8672
8737
  if (!((stream === null || stream === void 0 ? void 0 : stream.readyState) === 'ended')) {
8673
- _context38.next = 10;
8738
+ _context39.next = 10;
8674
8739
  break;
8675
8740
  }
8676
8741
  throw new Error("Attempted to publish ".concat(name, " stream with ended readyState, correlationId=").concat(this.correlationId));
8677
8742
  case 10:
8678
8743
  _i++;
8679
- _context38.next = 6;
8744
+ _context39.next = 6;
8680
8745
  break;
8681
8746
  case 13:
8682
8747
  floorRequestNeeded = false; // Screenshare Audio is supported only in multi stream. So we check for screenshare audio presence only if it's a multi stream meeting
8683
8748
  if (!(this.isMultistream && (_streams$screenShare5 = streams.screenShare) !== null && _streams$screenShare5 !== void 0 && _streams$screenShare5.audio)) {
8684
- _context38.next = 18;
8749
+ _context39.next = 18;
8685
8750
  break;
8686
8751
  }
8687
- _context38.next = 17;
8752
+ _context39.next = 17;
8688
8753
  return this.setLocalShareAudioStream(streams.screenShare.audio);
8689
8754
  case 17:
8690
8755
  floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
8691
8756
  case 18:
8692
8757
  if (!((_streams$screenShare6 = streams.screenShare) !== null && _streams$screenShare6 !== void 0 && _streams$screenShare6.video)) {
8693
- _context38.next = 22;
8758
+ _context39.next = 22;
8694
8759
  break;
8695
8760
  }
8696
- _context38.next = 21;
8761
+ _context39.next = 21;
8697
8762
  return this.setLocalShareVideoStream((_streams$screenShare7 = streams.screenShare) === null || _streams$screenShare7 === void 0 ? void 0 : _streams$screenShare7.video);
8698
8763
  case 21:
8699
8764
  floorRequestNeeded = this.screenShareFloorState === ScreenShareFloorStatus.RELEASED;
8700
8765
  case 22:
8701
8766
  if (!streams.microphone) {
8702
- _context38.next = 25;
8767
+ _context39.next = 25;
8703
8768
  break;
8704
8769
  }
8705
- _context38.next = 25;
8770
+ _context39.next = 25;
8706
8771
  return this.setLocalAudioStream(streams.microphone);
8707
8772
  case 25:
8708
8773
  if (!streams.camera) {
8709
- _context38.next = 28;
8774
+ _context39.next = 28;
8710
8775
  break;
8711
8776
  }
8712
- _context38.next = 28;
8777
+ _context39.next = 28;
8713
8778
  return this.setLocalVideoStream(streams.camera);
8714
8779
  case 28:
8715
8780
  if (this.isMultistream) {
8716
- _context38.next = 31;
8781
+ _context39.next = 31;
8717
8782
  break;
8718
8783
  }
8719
- _context38.next = 31;
8784
+ _context39.next = 31;
8720
8785
  return this.updateTranscodedMediaConnection();
8721
8786
  case 31:
8722
8787
  if (!floorRequestNeeded) {
8723
- _context38.next = 37;
8788
+ _context39.next = 37;
8724
8789
  break;
8725
8790
  }
8726
8791
  this.localShareInstanceId = _uuid.default.v4();
@@ -8744,15 +8809,15 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8744
8809
  // we're sending the http request to Locus to request the screen share floor
8745
8810
  // only after the SDP update, because that's how it's always been done for transcoded meetings
8746
8811
  // and also if sharing from the start, we need confluence to have been created
8747
- _context38.next = 37;
8812
+ _context39.next = 37;
8748
8813
  return this.enqueueScreenShareFloorRequest();
8749
8814
  case 37:
8750
8815
  case "end":
8751
- return _context38.stop();
8816
+ return _context39.stop();
8752
8817
  }
8753
- }, _callee38, this);
8818
+ }, _callee39, this);
8754
8819
  }));
8755
- function publishStreams(_x41) {
8820
+ function publishStreams(_x42) {
8756
8821
  return _publishStreams.apply(this, arguments);
8757
8822
  }
8758
8823
  return publishStreams;
@@ -8767,10 +8832,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8767
8832
  }, {
8768
8833
  key: "unpublishStreams",
8769
8834
  value: (function () {
8770
- var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee39(streams) {
8835
+ var _unpublishStreams = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee40(streams) {
8771
8836
  var promises, _iterator, _step, stream;
8772
- return _regenerator.default.wrap(function _callee39$(_context39) {
8773
- while (1) switch (_context39.prev = _context39.next) {
8837
+ return _regenerator.default.wrap(function _callee40$(_context40) {
8838
+ while (1) switch (_context40.prev = _context40.next) {
8774
8839
  case 0:
8775
8840
  _loggerProxy.default.logger.info("Meeting:index#unpublishStreams --> called with: ".concat((0, _stringify.default)(streams)));
8776
8841
  this.checkMediaConnection();
@@ -8802,7 +8867,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8802
8867
  if (!this.isMultistream) {
8803
8868
  promises.push(this.updateTranscodedMediaConnection());
8804
8869
  }
8805
- _context39.next = 8;
8870
+ _context40.next = 8;
8806
8871
  return _promise.default.all(promises);
8807
8872
  case 8:
8808
8873
  // we're allowing for the SDK to support just audio share as well
@@ -8823,11 +8888,11 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8823
8888
  }
8824
8889
  case 9:
8825
8890
  case "end":
8826
- return _context39.stop();
8891
+ return _context40.stop();
8827
8892
  }
8828
- }, _callee39, this);
8893
+ }, _callee40, this);
8829
8894
  }));
8830
- function unpublishStreams(_x42) {
8895
+ function unpublishStreams(_x43) {
8831
8896
  return _unpublishStreams.apply(this, arguments);
8832
8897
  }
8833
8898
  return unpublishStreams;