@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.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +8 -0
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +20 -11
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/meeting/index.js +710 -645
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +30 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/member/index.js +9 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +39 -28
- package/dist/member/util.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +24 -0
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/types/constants.d.ts +2 -0
- package/dist/types/meeting/index.d.ts +8 -0
- package/dist/types/meeting/request.d.ts +12 -1
- package/dist/types/meeting/request.type.d.ts +6 -0
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/member/types.d.ts +7 -0
- package/dist/types/multistream/sendSlotManager.d.ts +8 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +3 -3
- package/src/constants.ts +2 -0
- package/src/locus-info/index.ts +13 -0
- package/src/locus-info/selfUtils.ts +6 -0
- package/src/meeting/index.ts +58 -0
- package/src/meeting/request.ts +26 -1
- package/src/meeting/request.type.ts +7 -0
- package/src/member/index.ts +9 -0
- package/src/member/types.ts +8 -0
- package/src/member/util.ts +34 -24
- package/src/multistream/sendSlotManager.ts +31 -0
- package/test/unit/spec/locus-info/index.js +93 -0
- package/test/unit/spec/locus-info/selfConstant.js +7 -0
- package/test/unit/spec/locus-info/selfUtils.js +39 -0
- package/test/unit/spec/meeting/index.js +108 -0
- package/test/unit/spec/member/util.js +52 -11
package/dist/meeting/index.js
CHANGED
|
@@ -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
|
|
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
|
-
|
|
4562
|
-
|
|
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 (!
|
|
4631
|
+
if (!_this24.mediaProperties.webrtcMediaConnection) {
|
|
4567
4632
|
return;
|
|
4568
4633
|
}
|
|
4569
|
-
|
|
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
|
|
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(
|
|
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
|
|
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
|
|
4688
|
-
while (1) switch (
|
|
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
|
-
|
|
4767
|
+
_context12.next = 12;
|
|
4703
4768
|
break;
|
|
4704
4769
|
}
|
|
4705
|
-
|
|
4770
|
+
_context12.next = 12;
|
|
4706
4771
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioMain, oldStream);
|
|
4707
4772
|
case 12:
|
|
4708
|
-
|
|
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
|
|
4777
|
+
return _context12.stop();
|
|
4713
4778
|
}
|
|
4714
|
-
},
|
|
4779
|
+
}, _callee12, this);
|
|
4715
4780
|
}));
|
|
4716
|
-
function setLocalAudioStream(
|
|
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
|
|
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
|
|
4736
|
-
while (1) switch (
|
|
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
|
-
|
|
4815
|
+
_context13.next = 12;
|
|
4751
4816
|
break;
|
|
4752
4817
|
}
|
|
4753
|
-
|
|
4818
|
+
_context13.next = 12;
|
|
4754
4819
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoMain, oldStream);
|
|
4755
4820
|
case 12:
|
|
4756
|
-
|
|
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
|
|
4825
|
+
return _context13.stop();
|
|
4761
4826
|
}
|
|
4762
|
-
},
|
|
4827
|
+
}, _callee13, this);
|
|
4763
4828
|
}));
|
|
4764
|
-
function setLocalVideoStream(
|
|
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
|
|
4846
|
+
var _setLocalShareVideoStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(localDisplayStream) {
|
|
4782
4847
|
var oldStream;
|
|
4783
|
-
return _regenerator.default.wrap(function
|
|
4784
|
-
while (1) switch (
|
|
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
|
-
|
|
4861
|
+
_context14.next = 12;
|
|
4797
4862
|
break;
|
|
4798
4863
|
}
|
|
4799
|
-
|
|
4864
|
+
_context14.next = 12;
|
|
4800
4865
|
return this.unpublishStream(_internalMediaCore.MediaType.VideoSlides, oldStream);
|
|
4801
4866
|
case 12:
|
|
4802
|
-
|
|
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
|
|
4871
|
+
return _context14.stop();
|
|
4807
4872
|
}
|
|
4808
|
-
},
|
|
4873
|
+
}, _callee14, this);
|
|
4809
4874
|
}));
|
|
4810
|
-
function setLocalShareVideoStream(
|
|
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
|
|
4891
|
+
var _setLocalShareAudioStream = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15(localSystemAudioStream) {
|
|
4827
4892
|
var oldStream;
|
|
4828
|
-
return _regenerator.default.wrap(function
|
|
4829
|
-
while (1) switch (
|
|
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
|
-
|
|
4904
|
+
_context15.next = 10;
|
|
4840
4905
|
break;
|
|
4841
4906
|
}
|
|
4842
|
-
|
|
4907
|
+
_context15.next = 10;
|
|
4843
4908
|
return this.unpublishStream(_internalMediaCore.MediaType.AudioSlides, oldStream);
|
|
4844
4909
|
case 10:
|
|
4845
|
-
|
|
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
|
|
4914
|
+
return _context15.stop();
|
|
4850
4915
|
}
|
|
4851
|
-
},
|
|
4916
|
+
}, _callee15, this);
|
|
4852
4917
|
}));
|
|
4853
|
-
function setLocalShareAudioStream(
|
|
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
|
|
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 (!
|
|
5031
|
+
if (!_this26.hasWebsocketConnected) {
|
|
4967
5032
|
// @ts-ignore
|
|
4968
|
-
|
|
5033
|
+
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
4969
5034
|
name: 'client.mercury.connection.restored',
|
|
4970
5035
|
options: {
|
|
4971
|
-
meetingId:
|
|
5036
|
+
meetingId: _this26.id
|
|
4972
5037
|
}
|
|
4973
5038
|
});
|
|
4974
5039
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_RESTORED, {
|
|
4975
|
-
correlation_id:
|
|
5040
|
+
correlation_id: _this26.correlationId
|
|
4976
5041
|
});
|
|
4977
5042
|
}
|
|
4978
|
-
|
|
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
|
-
|
|
5050
|
+
_this26.webex.internal.newMetrics.submitClientEvent({
|
|
4986
5051
|
name: 'client.mercury.connection.lost',
|
|
4987
5052
|
options: {
|
|
4988
|
-
meetingId:
|
|
5053
|
+
meetingId: _this26.id
|
|
4989
5054
|
}
|
|
4990
5055
|
});
|
|
4991
5056
|
_metrics.default.sendBehavioralMetric(_constants2.default.MERCURY_CONNECTION_FAILURE, {
|
|
4992
|
-
correlation_id:
|
|
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
|
|
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(
|
|
5175
|
+
_util2.default.handleAudioLogging(_this27.mediaProperties.audioStream);
|
|
5111
5176
|
// @ts-ignore
|
|
5112
|
-
|
|
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:
|
|
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:
|
|
5125
|
-
locus_id:
|
|
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
|
|
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(
|
|
5225
|
+
_util2.default.handleAudioLogging(_this28.mediaProperties.audioStream);
|
|
5161
5226
|
// @ts-ignore
|
|
5162
|
-
|
|
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:
|
|
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:
|
|
5175
|
-
locus_id:
|
|
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
|
|
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(
|
|
5273
|
+
_util2.default.handleVideoLogging(_this29.mediaProperties.videoStream);
|
|
5209
5274
|
// @ts-ignore
|
|
5210
|
-
|
|
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:
|
|
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:
|
|
5223
|
-
locus_id:
|
|
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
|
|
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(
|
|
5321
|
+
_util2.default.handleVideoLogging(_this30.mediaProperties.videoStream);
|
|
5257
5322
|
// @ts-ignore
|
|
5258
|
-
|
|
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:
|
|
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:
|
|
5271
|
-
locus_id:
|
|
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
|
|
5301
|
-
var
|
|
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
|
-
|
|
5322
|
-
return _regenerator.default.wrap(function
|
|
5323
|
-
while (1) switch (
|
|
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 =
|
|
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
|
-
|
|
5394
|
+
_context16.next = 5;
|
|
5330
5395
|
break;
|
|
5331
5396
|
}
|
|
5332
|
-
return
|
|
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
|
-
|
|
5403
|
+
_context16.prev = 9;
|
|
5339
5404
|
forceTurnDiscovery = false;
|
|
5340
5405
|
if (joinResponse) {
|
|
5341
|
-
|
|
5406
|
+
_context16.next = 33;
|
|
5342
5407
|
break;
|
|
5343
5408
|
}
|
|
5344
|
-
|
|
5409
|
+
_context16.next = 14;
|
|
5345
5410
|
return this.roap.generateTurnDiscoveryRequestMessage(this, true);
|
|
5346
5411
|
case 14:
|
|
5347
|
-
turnDiscoveryRequest =
|
|
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
|
-
|
|
5416
|
+
_context16.next = 20;
|
|
5352
5417
|
return this.join(joinOptions);
|
|
5353
5418
|
case 20:
|
|
5354
|
-
joinResponse =
|
|
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
|
-
|
|
5424
|
+
_context16.next = 31;
|
|
5360
5425
|
break;
|
|
5361
5426
|
}
|
|
5362
|
-
|
|
5427
|
+
_context16.next = 25;
|
|
5363
5428
|
return this.roap.handleTurnDiscoveryHttpResponse(this, joinResponse);
|
|
5364
5429
|
case 25:
|
|
5365
|
-
_yield$this$roap$hand =
|
|
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
|
-
|
|
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
|
-
|
|
5447
|
+
_context16.next = 37;
|
|
5383
5448
|
return this.addMediaInternal(function () {
|
|
5384
|
-
return
|
|
5449
|
+
return _this31.joinWithMediaRetryInfo.isRetry ? 'JOIN_MEETING_FINAL' : 'JOIN_MEETING_RETRY';
|
|
5385
5450
|
}, turnServerInfo, forceTurnDiscovery, mediaOptions);
|
|
5386
5451
|
case 37:
|
|
5387
|
-
mediaResponse =
|
|
5452
|
+
mediaResponse = _context16.sent;
|
|
5388
5453
|
this.joinWithMediaRetryInfo = {
|
|
5389
5454
|
isRetry: false,
|
|
5390
5455
|
prevJoinResponse: undefined
|
|
5391
5456
|
};
|
|
5392
|
-
return
|
|
5457
|
+
return _context16.abrupt("return", {
|
|
5393
5458
|
join: joinResponse,
|
|
5394
5459
|
media: mediaResponse
|
|
5395
5460
|
});
|
|
5396
5461
|
case 42:
|
|
5397
|
-
|
|
5398
|
-
|
|
5399
|
-
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> ',
|
|
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
|
-
|
|
5467
|
+
_context16.next = 56;
|
|
5403
5468
|
break;
|
|
5404
5469
|
}
|
|
5405
|
-
|
|
5406
|
-
|
|
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
|
-
|
|
5477
|
+
_context16.next = 56;
|
|
5413
5478
|
break;
|
|
5414
5479
|
case 52:
|
|
5415
|
-
|
|
5416
|
-
|
|
5417
|
-
_loggerProxy.default.logger.error('Meeting:index#joinWithMedia --> leave error',
|
|
5418
|
-
leaveError =
|
|
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:
|
|
5425
|
-
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:
|
|
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(
|
|
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
|
-
|
|
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
|
|
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
|
|
5517
|
+
throw _context16.t0;
|
|
5453
5518
|
case 66:
|
|
5454
5519
|
case "end":
|
|
5455
|
-
return
|
|
5520
|
+
return _context16.stop();
|
|
5456
5521
|
}
|
|
5457
|
-
},
|
|
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
|
|
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
|
|
5488
|
-
return _regenerator.default.wrap(function
|
|
5489
|
-
while (1) switch (
|
|
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
|
-
|
|
5492
|
-
return
|
|
5556
|
+
_context17.next = 2;
|
|
5557
|
+
return _this32.waitForRemoteSDPAnswer();
|
|
5493
5558
|
case 2:
|
|
5494
|
-
|
|
5495
|
-
return
|
|
5559
|
+
_context17.next = 4;
|
|
5560
|
+
return _this32.waitForMediaConnectionConnected();
|
|
5496
5561
|
case 4:
|
|
5497
5562
|
case "end":
|
|
5498
|
-
return
|
|
5563
|
+
return _context17.stop();
|
|
5499
5564
|
}
|
|
5500
|
-
},
|
|
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
|
-
|
|
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
|
|
5621
|
+
var _this33 = this;
|
|
5557
5622
|
return new _promise.default(function (resolve, reject) {
|
|
5558
|
-
if (!
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
5642
|
+
_this33.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.CAPTION_LANGUAGE_UPDATE, voiceaListenerCaptionUpdate);
|
|
5578
5643
|
// @ts-ignore
|
|
5579
|
-
|
|
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
|
|
5660
|
+
var _this34 = this;
|
|
5596
5661
|
return new _promise.default(function (resolve, reject) {
|
|
5597
|
-
if (!
|
|
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 (
|
|
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
|
-
|
|
5673
|
+
_this34.webex.internal.voicea.off(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5609
5674
|
var languageCode = payload.languageCode;
|
|
5610
5675
|
if (languageCode) {
|
|
5611
|
-
|
|
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
|
-
|
|
5686
|
+
_this34.webex.internal.voicea.on(_internalPluginVoicea.EVENT_TRIGGERS.SPOKEN_LANGUAGE_UPDATE, voiceaListenerLanguageUpdate);
|
|
5622
5687
|
|
|
5623
5688
|
// @ts-ignore
|
|
5624
|
-
|
|
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
|
|
5642
|
-
return _regenerator.default.wrap(function
|
|
5643
|
-
while (1) switch (
|
|
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
|
-
|
|
5711
|
+
_context18.next = 14;
|
|
5647
5712
|
break;
|
|
5648
5713
|
}
|
|
5649
5714
|
_loggerProxy.default.logger.info('Meeting:index#startTranscription --> Attempting to enable transcription!');
|
|
5650
|
-
|
|
5715
|
+
_context18.prev = 2;
|
|
5651
5716
|
if (!this.areVoiceaEventsSetup) {
|
|
5652
5717
|
this.setUpVoiceaListeners();
|
|
5653
5718
|
}
|
|
5654
5719
|
|
|
5655
5720
|
// @ts-ignore
|
|
5656
|
-
|
|
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
|
-
|
|
5724
|
+
_context18.next = 12;
|
|
5660
5725
|
break;
|
|
5661
5726
|
case 8:
|
|
5662
|
-
|
|
5663
|
-
|
|
5664
|
-
_loggerProxy.default.logger.error("Meeting:index#startTranscription --> ".concat(
|
|
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:
|
|
5668
|
-
stack:
|
|
5732
|
+
reason: _context18.t0.message,
|
|
5733
|
+
stack: _context18.t0.stack
|
|
5669
5734
|
});
|
|
5670
5735
|
case 12:
|
|
5671
|
-
|
|
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
|
|
5743
|
+
return _context18.stop();
|
|
5679
5744
|
}
|
|
5680
|
-
},
|
|
5745
|
+
}, _callee18, this, [[2, 8]]);
|
|
5681
5746
|
}));
|
|
5682
|
-
function startTranscription(
|
|
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
|
|
5744
|
-
var
|
|
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
|
-
|
|
5755
|
-
|
|
5756
|
-
|
|
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 =
|
|
5823
|
+
options = _args19.length > 0 && _args19[0] !== undefined ? _args19[0] : {};
|
|
5759
5824
|
if (this.webex.meetings.registered) {
|
|
5760
|
-
|
|
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
|
|
5831
|
+
return _context19.abrupt("return", _promise.default.reject(error));
|
|
5767
5832
|
case 6:
|
|
5768
5833
|
if (!this.deferJoin) {
|
|
5769
|
-
|
|
5834
|
+
_context19.next = 8;
|
|
5770
5835
|
break;
|
|
5771
5836
|
}
|
|
5772
|
-
return
|
|
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
|
-
|
|
5889
|
+
_context19.next = 36;
|
|
5825
5890
|
break;
|
|
5826
5891
|
}
|
|
5827
5892
|
if (!(typeof options.meetingQuality === 'string')) {
|
|
5828
|
-
|
|
5893
|
+
_context19.next = 27;
|
|
5829
5894
|
break;
|
|
5830
5895
|
}
|
|
5831
5896
|
if (_constants.QUALITY_LEVELS[options.meetingQuality]) {
|
|
5832
|
-
|
|
5897
|
+
_context19.next = 26;
|
|
5833
5898
|
break;
|
|
5834
5899
|
}
|
|
5835
|
-
|
|
5836
|
-
|
|
5837
|
-
_loggerProxy.default.logger.error(
|
|
5838
|
-
joinFailed(
|
|
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
|
|
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
|
-
|
|
5910
|
+
_context19.next = 36;
|
|
5846
5911
|
break;
|
|
5847
5912
|
}
|
|
5848
5913
|
if (_constants.QUALITY_LEVELS[options.meetingQuality.remote]) {
|
|
5849
|
-
|
|
5914
|
+
_context19.next = 35;
|
|
5850
5915
|
break;
|
|
5851
5916
|
}
|
|
5852
|
-
|
|
5853
|
-
_loggerProxy.default.logger.error(
|
|
5854
|
-
|
|
5855
|
-
joinFailed(
|
|
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
|
|
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
|
-
|
|
5865
|
-
|
|
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
|
-
|
|
5933
|
+
_context19.next = 51;
|
|
5869
5934
|
break;
|
|
5870
5935
|
case 42:
|
|
5871
|
-
|
|
5872
|
-
|
|
5873
|
-
_loggerProxy.default.logger.error('Meeting:index#join --> Failed to refresh permission token:',
|
|
5874
|
-
if (!(
|
|
5875
|
-
|
|
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(
|
|
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(
|
|
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
|
|
5955
|
+
return _context19.abrupt("return", _promise.default.reject(_context19.t0));
|
|
5891
5956
|
case 51:
|
|
5892
|
-
return
|
|
5893
|
-
|
|
5894
|
-
|
|
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
|
-
|
|
5898
|
-
(0, _classPrivateFieldSet2.default)(
|
|
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:
|
|
5966
|
+
correlation_id: _this35.correlationId
|
|
5902
5967
|
});
|
|
5903
5968
|
joinSuccess(join);
|
|
5904
|
-
|
|
5969
|
+
_this35.deferJoin = undefined;
|
|
5905
5970
|
return join;
|
|
5906
5971
|
}).catch(function (error) {
|
|
5907
|
-
var
|
|
5908
|
-
|
|
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
|
-
|
|
5977
|
+
_this35.webex.internal.newMetrics.submitClientEvent({
|
|
5913
5978
|
name: 'client.locus.join.response',
|
|
5914
5979
|
payload: {
|
|
5915
5980
|
identifiers: {
|
|
5916
|
-
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:
|
|
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:
|
|
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(
|
|
5998
|
+
_triggerProxy.default.trigger(_this35, {
|
|
5934
5999
|
file: 'meeting/index',
|
|
5935
6000
|
function: 'join'
|
|
5936
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
6001
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this35);
|
|
5937
6002
|
joinFailed(error);
|
|
5938
|
-
|
|
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 (
|
|
6007
|
+
if (_this35.config.enableAutomaticLLM) {
|
|
5943
6008
|
// @ts-ignore
|
|
5944
|
-
|
|
5945
|
-
|
|
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:
|
|
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
|
|
6025
|
+
return _context19.stop();
|
|
5961
6026
|
}
|
|
5962
|
-
},
|
|
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
|
|
5980
|
-
var
|
|
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
|
|
5983
|
-
while (1) switch (
|
|
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
|
-
|
|
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
|
-
|
|
6063
|
+
_context20.next = 6;
|
|
5999
6064
|
break;
|
|
6000
6065
|
}
|
|
6001
|
-
return
|
|
6066
|
+
return _context20.abrupt("return", undefined);
|
|
6002
6067
|
case 6:
|
|
6003
|
-
|
|
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
|
-
|
|
6075
|
+
_context20.next = 11;
|
|
6011
6076
|
break;
|
|
6012
6077
|
}
|
|
6013
|
-
return
|
|
6078
|
+
return _context20.abrupt("return", undefined);
|
|
6014
6079
|
case 11:
|
|
6015
|
-
return
|
|
6080
|
+
return _context20.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl).then(function (registerAndConnectResult) {
|
|
6016
6081
|
// @ts-ignore - Fix type
|
|
6017
|
-
|
|
6082
|
+
_this36.webex.internal.llm.off('event:relay.event', _this36.processRelayEvent);
|
|
6018
6083
|
// @ts-ignore - Fix type
|
|
6019
|
-
|
|
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
|
|
6090
|
+
return _context20.stop();
|
|
6026
6091
|
}
|
|
6027
|
-
},
|
|
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
|
|
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:
|
|
6090
|
-
dial_in_url:
|
|
6154
|
+
correlation_id: _this37.correlationId,
|
|
6155
|
+
dial_in_url: _this37.dialInUrl,
|
|
6091
6156
|
locus_id: locusUrl.split('/').pop(),
|
|
6092
|
-
client_url:
|
|
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
|
|
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:
|
|
6128
|
-
dial_out_url:
|
|
6192
|
+
correlation_id: _this38.correlationId,
|
|
6193
|
+
dial_out_url: _this38.dialOutUrl,
|
|
6129
6194
|
locus_id: locusUrl.split('/').pop(),
|
|
6130
|
-
client_url:
|
|
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
|
|
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
|
|
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
|
|
6202
|
-
while (1) switch (
|
|
6266
|
+
return _regenerator.default.wrap(function _callee21$(_context21) {
|
|
6267
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
6203
6268
|
case 0:
|
|
6204
|
-
|
|
6205
|
-
if (!(
|
|
6206
|
-
|
|
6269
|
+
_context21.prev = 0;
|
|
6270
|
+
if (!(_this39.screenShareFloorState === ScreenShareFloorStatus.GRANTED)) {
|
|
6271
|
+
_context21.next = 4;
|
|
6207
6272
|
break;
|
|
6208
6273
|
}
|
|
6209
|
-
|
|
6210
|
-
return
|
|
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
|
-
|
|
6223
|
-
|
|
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 (!
|
|
6228
|
-
|
|
6292
|
+
if (!_this39.statsAnalyzer) {
|
|
6293
|
+
_context21.next = 10;
|
|
6229
6294
|
break;
|
|
6230
6295
|
}
|
|
6231
|
-
|
|
6232
|
-
return
|
|
6296
|
+
_context21.next = 10;
|
|
6297
|
+
return _this39.statsAnalyzer.stopAnalyzer();
|
|
6233
6298
|
case 10:
|
|
6234
|
-
|
|
6235
|
-
return
|
|
6299
|
+
_context21.next = 12;
|
|
6300
|
+
return _this39.closeRemoteStreams();
|
|
6236
6301
|
case 12:
|
|
6237
|
-
|
|
6238
|
-
return
|
|
6302
|
+
_context21.next = 14;
|
|
6303
|
+
return _this39.closePeerConnections();
|
|
6239
6304
|
case 14:
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
|
|
6245
|
-
return
|
|
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
|
-
|
|
6253
|
-
|
|
6317
|
+
_this39.isMoveToInProgress = false;
|
|
6318
|
+
_context21.next = 29;
|
|
6254
6319
|
break;
|
|
6255
6320
|
case 24:
|
|
6256
|
-
|
|
6257
|
-
|
|
6258
|
-
_loggerProxy.default.logger.error('Meeting:index#moveTo --> Failed to moveTo resourceId',
|
|
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:
|
|
6261
|
-
locus_id:
|
|
6262
|
-
reason:
|
|
6263
|
-
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
|
-
|
|
6330
|
+
_this39.isMoveToInProgress = false;
|
|
6266
6331
|
case 29:
|
|
6267
6332
|
case "end":
|
|
6268
|
-
return
|
|
6333
|
+
return _context21.stop();
|
|
6269
6334
|
}
|
|
6270
|
-
},
|
|
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
|
-
|
|
6346
|
+
_this39.meetingFiniteStateMachine.join();
|
|
6282
6347
|
}).catch(function (error) {
|
|
6283
|
-
|
|
6348
|
+
_this39.meetingFiniteStateMachine.fail(error);
|
|
6284
6349
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_TO_FAILURE, {
|
|
6285
|
-
correlation_id:
|
|
6286
|
-
locus_id:
|
|
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
|
-
|
|
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
|
|
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(
|
|
6386
|
+
return _util2.default.leaveMeeting(_this40, {
|
|
6322
6387
|
resourceId: resourceId,
|
|
6323
6388
|
correlationId: oldCorrelationId,
|
|
6324
6389
|
moveMeeting: true
|
|
6325
6390
|
}).then(function () {
|
|
6326
|
-
|
|
6391
|
+
_this40.resourceId = '';
|
|
6327
6392
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_SUCCESS);
|
|
6328
6393
|
});
|
|
6329
6394
|
}).catch(function (error) {
|
|
6330
|
-
|
|
6395
|
+
_this40.meetingFiniteStateMachine.fail(error);
|
|
6331
6396
|
_metrics.default.sendBehavioralMetric(_constants2.default.MOVE_FROM_FAILURE, {
|
|
6332
|
-
correlation_id:
|
|
6333
|
-
locus_id:
|
|
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
|
|
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
|
|
6361
|
-
while (1) switch (
|
|
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
|
-
|
|
6458
|
+
_context22.next = 9;
|
|
6394
6459
|
break;
|
|
6395
6460
|
}
|
|
6396
6461
|
this.setSendNamedMediaGroup(_internalMediaCore.MediaType.AudioMain);
|
|
6397
|
-
|
|
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
|
-
|
|
6466
|
+
_context22.next = 12;
|
|
6402
6467
|
break;
|
|
6403
6468
|
}
|
|
6404
|
-
|
|
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
|
-
|
|
6473
|
+
_context22.next = 15;
|
|
6409
6474
|
break;
|
|
6410
6475
|
}
|
|
6411
|
-
|
|
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
|
-
|
|
6480
|
+
_context22.next = 18;
|
|
6416
6481
|
break;
|
|
6417
6482
|
}
|
|
6418
|
-
|
|
6483
|
+
_context22.next = 18;
|
|
6419
6484
|
return this.publishStream(_internalMediaCore.MediaType.AudioSlides, this.mediaProperties.shareAudioStream);
|
|
6420
6485
|
case 18:
|
|
6421
|
-
return
|
|
6486
|
+
return _context22.abrupt("return", mc);
|
|
6422
6487
|
case 19:
|
|
6423
6488
|
case "end":
|
|
6424
|
-
return
|
|
6489
|
+
return _context22.stop();
|
|
6425
6490
|
}
|
|
6426
|
-
},
|
|
6491
|
+
}, _callee22, this);
|
|
6427
6492
|
}));
|
|
6428
|
-
function createMediaConnection(
|
|
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
|
|
6511
|
+
var _this41 = this;
|
|
6447
6512
|
eventEmitter.on(eventTypeToForward, function (data) {
|
|
6448
|
-
return _triggerProxy.default.trigger(
|
|
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
|
|
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
|
|
6470
|
-
while (1) switch (
|
|
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
|
-
|
|
6486
|
-
|
|
6550
|
+
_context23.prev = 5;
|
|
6551
|
+
_context23.next = 8;
|
|
6487
6552
|
return _promise.default.all(setUpStreamPromises);
|
|
6488
6553
|
case 8:
|
|
6489
|
-
|
|
6554
|
+
_context23.next = 14;
|
|
6490
6555
|
break;
|
|
6491
6556
|
case 10:
|
|
6492
|
-
|
|
6493
|
-
|
|
6494
|
-
_loggerProxy.default.logger.error("Meeting:index#addMedia():setUpLocalStreamReferences --> Error , ",
|
|
6495
|
-
throw
|
|
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
|
|
6563
|
+
return _context23.stop();
|
|
6499
6564
|
}
|
|
6500
|
-
},
|
|
6565
|
+
}, _callee23, this, [[5, 10]]);
|
|
6501
6566
|
}));
|
|
6502
|
-
function setUpLocalStreamReferences(
|
|
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
|
|
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
|
|
6520
|
-
while (1) switch (
|
|
6584
|
+
return _regenerator.default.wrap(function _callee24$(_context24) {
|
|
6585
|
+
while (1) switch (_context24.prev = _context24.next) {
|
|
6521
6586
|
case 0:
|
|
6522
|
-
|
|
6523
|
-
|
|
6587
|
+
_context24.prev = 0;
|
|
6588
|
+
_context24.next = 3;
|
|
6524
6589
|
return this.mediaProperties.waitForMediaConnectionConnected();
|
|
6525
6590
|
case 3:
|
|
6526
|
-
|
|
6591
|
+
_context24.next = 30;
|
|
6527
6592
|
break;
|
|
6528
6593
|
case 5:
|
|
6529
|
-
|
|
6530
|
-
|
|
6531
|
-
iceConnected =
|
|
6594
|
+
_context24.prev = 5;
|
|
6595
|
+
_context24.t0 = _context24["catch"](0);
|
|
6596
|
+
iceConnected = _context24.t0.iceConnected;
|
|
6532
6597
|
if (this.hasMediaConnectionConnectedAtLeastOnce) {
|
|
6533
|
-
|
|
6598
|
+
_context24.next = 29;
|
|
6534
6599
|
break;
|
|
6535
6600
|
}
|
|
6536
|
-
|
|
6537
|
-
|
|
6538
|
-
|
|
6539
|
-
|
|
6540
|
-
|
|
6541
|
-
|
|
6542
|
-
|
|
6543
|
-
|
|
6544
|
-
|
|
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
|
-
|
|
6550
|
-
|
|
6551
|
-
signalingState:
|
|
6552
|
-
iceConnected:
|
|
6553
|
-
turnServerUsed:
|
|
6554
|
-
unreachable:
|
|
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
|
-
|
|
6557
|
-
|
|
6558
|
-
clientErrorCode:
|
|
6621
|
+
_context24.t11 = _context24.t5.generateClientErrorCodeForIceFailure.call(_context24.t5, _context24.t10);
|
|
6622
|
+
_context24.t12 = {
|
|
6623
|
+
clientErrorCode: _context24.t11
|
|
6559
6624
|
};
|
|
6560
|
-
|
|
6561
|
-
|
|
6562
|
-
|
|
6563
|
-
canProceed:
|
|
6564
|
-
icePhase:
|
|
6565
|
-
errors:
|
|
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
|
-
|
|
6632
|
+
_context24.t16 = {
|
|
6568
6633
|
meetingId: this.id
|
|
6569
6634
|
};
|
|
6570
|
-
|
|
6635
|
+
_context24.t17 = {
|
|
6571
6636
|
name: 'client.ice.end',
|
|
6572
|
-
payload:
|
|
6573
|
-
options:
|
|
6637
|
+
payload: _context24.t15,
|
|
6638
|
+
options: _context24.t16
|
|
6574
6639
|
};
|
|
6575
|
-
|
|
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
|
|
6645
|
+
return _context24.stop();
|
|
6581
6646
|
}
|
|
6582
|
-
},
|
|
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
|
|
6625
|
-
var
|
|
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
|
|
6628
|
-
while (1) switch (
|
|
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
|
-
|
|
6697
|
+
_context25.next = 4;
|
|
6633
6698
|
break;
|
|
6634
6699
|
}
|
|
6635
6700
|
_loggerProxy.default.logger.warn("".concat(LOG_HEADER, " offer not created yet"));
|
|
6636
|
-
return
|
|
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
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
6725
|
+
return _context25.abrupt("return", deferSDPAnswer.promise);
|
|
6661
6726
|
case 8:
|
|
6662
6727
|
case "end":
|
|
6663
|
-
return
|
|
6728
|
+
return _context25.stop();
|
|
6664
6729
|
}
|
|
6665
|
-
},
|
|
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
|
|
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
|
|
6687
|
-
while (1) switch (
|
|
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
|
-
|
|
6691
|
-
|
|
6755
|
+
_context26.prev = 1;
|
|
6756
|
+
_context26.next = 4;
|
|
6692
6757
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, true);
|
|
6693
6758
|
case 4:
|
|
6694
|
-
|
|
6759
|
+
_context26.next = 10;
|
|
6695
6760
|
break;
|
|
6696
6761
|
case 6:
|
|
6697
|
-
|
|
6698
|
-
|
|
6699
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " retry with TURN-TLS failed, media connection unable to connect, "),
|
|
6700
|
-
throw
|
|
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
|
|
6768
|
+
return _context26.stop();
|
|
6704
6769
|
}
|
|
6705
|
-
},
|
|
6770
|
+
}, _callee26, this, [[1, 6]]);
|
|
6706
6771
|
}));
|
|
6707
|
-
function retryEstablishMediaConnectionWithForcedTurnDiscovery(
|
|
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
|
|
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
|
|
6728
|
-
while (1) switch (
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
6811
|
+
_context27.next = 9;
|
|
6747
6812
|
return this.join({
|
|
6748
6813
|
rejoin: true
|
|
6749
6814
|
});
|
|
6750
6815
|
case 9:
|
|
6751
|
-
|
|
6816
|
+
_context27.next = 11;
|
|
6752
6817
|
return this.retryEstablishMediaConnectionWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
6753
6818
|
case 11:
|
|
6754
6819
|
case "end":
|
|
6755
|
-
return
|
|
6820
|
+
return _context27.stop();
|
|
6756
6821
|
}
|
|
6757
|
-
},
|
|
6822
|
+
}, _callee27, this);
|
|
6758
6823
|
}));
|
|
6759
|
-
function retryWithForcedTurnDiscovery(
|
|
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
|
|
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
|
|
6782
|
-
while (1) switch (
|
|
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
|
-
|
|
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
|
-
|
|
6855
|
+
_context28.next = 5;
|
|
6791
6856
|
return this.retryWithForcedTurnDiscovery(remoteMediaManagerConfig, bundlePolicy);
|
|
6792
6857
|
case 5:
|
|
6793
|
-
|
|
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
|
|
6865
|
+
return _context28.stop();
|
|
6801
6866
|
}
|
|
6802
|
-
},
|
|
6867
|
+
}, _callee28, this);
|
|
6803
6868
|
}));
|
|
6804
|
-
function handleWaitForMediaConnectionConnectedError(
|
|
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
|
|
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
|
|
6823
|
-
while (1) switch (
|
|
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
|
-
|
|
6895
|
+
_context29.next = 4;
|
|
6831
6896
|
return this.roap.doTurnDiscovery(this, isReconnecting, isForced);
|
|
6832
6897
|
case 4:
|
|
6833
|
-
turnDiscoveryResult =
|
|
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
|
|
6914
|
+
return _context29.abrupt("return", turnDiscoveryResult);
|
|
6850
6915
|
case 10:
|
|
6851
6916
|
case "end":
|
|
6852
|
-
return
|
|
6917
|
+
return _context29.stop();
|
|
6853
6918
|
}
|
|
6854
|
-
},
|
|
6919
|
+
}, _callee29, this);
|
|
6855
6920
|
}));
|
|
6856
|
-
function doTurnDiscovery(
|
|
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
|
|
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
|
|
6879
|
-
while (1) switch (
|
|
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
|
-
|
|
6951
|
+
_context30.prev = 3;
|
|
6887
6952
|
if (turnServerInfo) {
|
|
6888
|
-
|
|
6953
|
+
_context30.next = 9;
|
|
6889
6954
|
break;
|
|
6890
6955
|
}
|
|
6891
|
-
|
|
6956
|
+
_context30.next = 7;
|
|
6892
6957
|
return this.doTurnDiscovery(isReconnecting, isForced);
|
|
6893
6958
|
case 7:
|
|
6894
|
-
_yield$this$doTurnDis =
|
|
6959
|
+
_yield$this$doTurnDis = _context30.sent;
|
|
6895
6960
|
turnServerInfo = _yield$this$doTurnDis.turnServerInfo;
|
|
6896
6961
|
case 9:
|
|
6897
|
-
|
|
6962
|
+
_context30.next = 11;
|
|
6898
6963
|
return this.createMediaConnection(turnServerInfo, bundlePolicy);
|
|
6899
6964
|
case 11:
|
|
6900
|
-
mc =
|
|
6965
|
+
mc = _context30.sent;
|
|
6901
6966
|
_loggerProxy.default.logger.info("".concat(LOG_HEADER, " media connection created"));
|
|
6902
6967
|
if (!this.isMultistream) {
|
|
6903
|
-
|
|
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
|
-
|
|
6976
|
+
_context30.next = 21;
|
|
6912
6977
|
return this.remoteMediaManager.start();
|
|
6913
6978
|
case 21:
|
|
6914
|
-
|
|
6979
|
+
_context30.next = 23;
|
|
6915
6980
|
return mc.initiateOffer();
|
|
6916
6981
|
case 23:
|
|
6917
|
-
|
|
6982
|
+
_context30.next = 25;
|
|
6918
6983
|
return this.waitForRemoteSDPAnswer();
|
|
6919
6984
|
case 25:
|
|
6920
6985
|
this.handleMediaLogging(this.mediaProperties);
|
|
6921
|
-
|
|
6986
|
+
_context30.next = 32;
|
|
6922
6987
|
break;
|
|
6923
6988
|
case 28:
|
|
6924
|
-
|
|
6925
|
-
|
|
6926
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " error establishing media connection, "),
|
|
6927
|
-
throw
|
|
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
|
-
|
|
6930
|
-
|
|
6994
|
+
_context30.prev = 32;
|
|
6995
|
+
_context30.next = 35;
|
|
6931
6996
|
return this.waitForMediaConnectionConnected();
|
|
6932
6997
|
case 35:
|
|
6933
|
-
|
|
6998
|
+
_context30.next = 41;
|
|
6934
6999
|
break;
|
|
6935
7000
|
case 37:
|
|
6936
|
-
|
|
6937
|
-
|
|
6938
|
-
|
|
6939
|
-
return this.handleWaitForMediaConnectionConnectedError(
|
|
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
|
|
7007
|
+
return _context30.stop();
|
|
6943
7008
|
}
|
|
6944
|
-
},
|
|
7009
|
+
}, _callee30, this, [[3, 28], [32, 37]]);
|
|
6945
7010
|
}));
|
|
6946
|
-
function establishMediaConnection(
|
|
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
|
|
6962
|
-
return _regenerator.default.wrap(function
|
|
6963
|
-
while (1) switch (
|
|
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
|
-
|
|
7031
|
+
_context31.next = 3;
|
|
6967
7032
|
break;
|
|
6968
7033
|
}
|
|
6969
|
-
|
|
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
|
-
|
|
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
|
|
7052
|
+
return _context31.stop();
|
|
6988
7053
|
}
|
|
6989
|
-
},
|
|
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
|
|
7008
|
-
return _regenerator.default.wrap(function
|
|
7009
|
-
while (1) switch (
|
|
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
|
-
|
|
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
|
|
7096
|
+
return _context32.stop();
|
|
7032
7097
|
}
|
|
7033
|
-
},
|
|
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
|
|
7044
|
-
return _regenerator.default.wrap(function
|
|
7045
|
-
while (1) switch (
|
|
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
|
-
|
|
7048
|
-
|
|
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
|
-
|
|
7119
|
+
_context33.next = 6;
|
|
7055
7120
|
break;
|
|
7056
7121
|
}
|
|
7057
|
-
|
|
7122
|
+
_context33.next = 6;
|
|
7058
7123
|
return this.statsAnalyzer.stopAnalyzer();
|
|
7059
7124
|
case 6:
|
|
7060
|
-
|
|
7125
|
+
_context33.next = 11;
|
|
7061
7126
|
break;
|
|
7062
7127
|
case 8:
|
|
7063
|
-
|
|
7064
|
-
|
|
7065
|
-
_loggerProxy.default.logger.error('Meeting:index#cleanUpBeforeReconnection --> Error during cleanup: ',
|
|
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
|
|
7133
|
+
return _context33.stop();
|
|
7069
7134
|
}
|
|
7070
|
-
},
|
|
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
|
|
7182
|
+
var _this43 = this;
|
|
7118
7183
|
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
7119
7184
|
return this.addMediaInternal(function () {
|
|
7120
|
-
return
|
|
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
|
|
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
|
-
|
|
7187
|
-
return _regenerator.default.wrap(function
|
|
7188
|
-
while (1) switch (
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
7258
|
-
|
|
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
|
-
|
|
7328
|
+
_context34.next = 25;
|
|
7264
7329
|
return this.establishMediaConnection(remoteMediaManagerConfig, bundlePolicy, forceTurnDiscovery, turnServerInfo);
|
|
7265
7330
|
case 25:
|
|
7266
7331
|
if (!this.mediaProperties.hasLocalShareStream()) {
|
|
7267
|
-
|
|
7332
|
+
_context34.next = 28;
|
|
7268
7333
|
break;
|
|
7269
7334
|
}
|
|
7270
|
-
|
|
7335
|
+
_context34.next = 28;
|
|
7271
7336
|
return this.enqueueScreenShareFloorRequest();
|
|
7272
7337
|
case 28:
|
|
7273
|
-
|
|
7338
|
+
_context34.next = 30;
|
|
7274
7339
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7275
7340
|
case 30:
|
|
7276
|
-
_yield$this$mediaProp =
|
|
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
|
-
|
|
7345
|
+
_context34.next = 36;
|
|
7281
7346
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7282
7347
|
case 36:
|
|
7283
|
-
reachabilityStats =
|
|
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
|
-
|
|
7374
|
+
_context34.next = 63;
|
|
7310
7375
|
break;
|
|
7311
7376
|
case 45:
|
|
7312
|
-
|
|
7313
|
-
|
|
7314
|
-
_loggerProxy.default.logger.error("".concat(LOG_HEADER, " failed to establish media connection: "),
|
|
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
|
-
|
|
7382
|
+
_context34.next = 50;
|
|
7318
7383
|
return this.webex.meetings.reachability.getReachabilityMetrics();
|
|
7319
7384
|
case 50:
|
|
7320
|
-
reachabilityMetrics =
|
|
7321
|
-
|
|
7385
|
+
reachabilityMetrics = _context34.sent;
|
|
7386
|
+
_context34.next = 53;
|
|
7322
7387
|
return this.mediaProperties.getCurrentConnectionInfo();
|
|
7323
7388
|
case 53:
|
|
7324
|
-
_yield$this$mediaProp2 =
|
|
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:
|
|
7332
|
-
stack:
|
|
7333
|
-
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
|
-
|
|
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 (
|
|
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
|
|
7425
|
+
throw _context34.t0;
|
|
7361
7426
|
case 63:
|
|
7362
|
-
|
|
7427
|
+
_context34.prev = 63;
|
|
7363
7428
|
this.addMediaData.icePhaseCallback = DEFAULT_ICE_PHASE_CALLBACK;
|
|
7364
|
-
return
|
|
7429
|
+
return _context34.finish(63);
|
|
7365
7430
|
case 66:
|
|
7366
7431
|
case "end":
|
|
7367
|
-
return
|
|
7432
|
+
return _context34.stop();
|
|
7368
7433
|
}
|
|
7369
|
-
},
|
|
7434
|
+
}, _callee34, this, [[18, 45, 63, 66]]);
|
|
7370
7435
|
}));
|
|
7371
|
-
function addMediaInternal(
|
|
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
|
|
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
|
-
|
|
7477
|
+
_this44.queuedMediaUpdates.push(queueItem);
|
|
7413
7478
|
if (canUpdateMediaNow) {
|
|
7414
|
-
|
|
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
|
|
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
|
|
7440
|
-
while (1) switch (
|
|
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
|
-
|
|
7511
|
+
_context35.next = 5;
|
|
7447
7512
|
break;
|
|
7448
7513
|
}
|
|
7449
|
-
return
|
|
7514
|
+
return _context35.abrupt("return", this.enqueueMediaUpdate(MEDIA_UPDATE_TYPE.UPDATE_MEDIA, options));
|
|
7450
7515
|
case 5:
|
|
7451
7516
|
if (!this.isMultistream) {
|
|
7452
|
-
|
|
7517
|
+
_context35.next = 10;
|
|
7453
7518
|
break;
|
|
7454
7519
|
}
|
|
7455
7520
|
if (!(shareAudioEnabled !== undefined || shareVideoEnabled !== undefined)) {
|
|
7456
|
-
|
|
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
|
-
|
|
7526
|
+
_context35.next = 12;
|
|
7462
7527
|
break;
|
|
7463
7528
|
case 10:
|
|
7464
7529
|
if (!(shareAudioEnabled !== undefined)) {
|
|
7465
|
-
|
|
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
|
-
|
|
7555
|
+
_context35.next = 18;
|
|
7491
7556
|
break;
|
|
7492
7557
|
}
|
|
7493
|
-
|
|
7558
|
+
_context35.next = 18;
|
|
7494
7559
|
return this.updateTranscodedMediaConnection();
|
|
7495
7560
|
case 18:
|
|
7496
|
-
return
|
|
7561
|
+
return _context35.abrupt("return", undefined);
|
|
7497
7562
|
case 19:
|
|
7498
7563
|
case "end":
|
|
7499
|
-
return
|
|
7564
|
+
return _context35.stop();
|
|
7500
7565
|
}
|
|
7501
|
-
},
|
|
7566
|
+
}, _callee35, this);
|
|
7502
7567
|
}));
|
|
7503
|
-
function updateMedia(
|
|
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
|
|
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
|
-
|
|
7596
|
+
_this45.meetingFiniteStateMachine.ring(type);
|
|
7532
7597
|
// @ts-ignore
|
|
7533
|
-
|
|
7598
|
+
_this45.webex.internal.newMetrics.submitClientEvent({
|
|
7534
7599
|
name: 'client.alert.displayed',
|
|
7535
7600
|
options: {
|
|
7536
|
-
meetingId:
|
|
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
|
|
7626
|
+
var _this46 = this;
|
|
7562
7627
|
return _util2.default.declineMeeting(this, reason).then(function (decline) {
|
|
7563
|
-
|
|
7628
|
+
_this46.meetingFiniteStateMachine.decline();
|
|
7564
7629
|
return _promise.default.resolve(decline);
|
|
7565
7630
|
}).catch(function (error) {
|
|
7566
|
-
|
|
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
|
|
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
|
-
|
|
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:
|
|
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
|
-
|
|
7647
|
-
|
|
7711
|
+
_this47.meetingFiniteStateMachine.leave();
|
|
7712
|
+
_this47.clearMeetingData();
|
|
7648
7713
|
|
|
7649
7714
|
// upload logs on leave irrespective of meeting delete
|
|
7650
|
-
_triggerProxy.default.trigger(
|
|
7715
|
+
_triggerProxy.default.trigger(_this47, {
|
|
7651
7716
|
file: 'meeting/index',
|
|
7652
7717
|
function: 'leave'
|
|
7653
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
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 (
|
|
7721
|
+
if (_this47.wirelessShare || _this47.guest) {
|
|
7657
7722
|
// If screen sharing clean the meeting object
|
|
7658
|
-
_triggerProxy.default.trigger(
|
|
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:
|
|
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
|
-
|
|
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(
|
|
7748
|
+
_triggerProxy.default.trigger(_this47, {
|
|
7684
7749
|
file: 'meeting/index',
|
|
7685
7750
|
function: 'leave'
|
|
7686
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
7751
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this47);
|
|
7687
7752
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_LEAVE_FAILURE, {
|
|
7688
|
-
correlation_id:
|
|
7689
|
-
locus_id:
|
|
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
|
|
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
|
-
|
|
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:
|
|
7744
|
-
locus_id:
|
|
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
|
|
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:
|
|
7791
|
-
locus_id:
|
|
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
|
|
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
|
-
|
|
7909
|
+
_this50.screenShareFloorState = ScreenShareFloorStatus.GRANTED;
|
|
7845
7910
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_SHARE_SUCCESS, {
|
|
7846
|
-
correlation_id:
|
|
7847
|
-
locus_id:
|
|
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:
|
|
7854
|
-
locus_id:
|
|
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
|
-
|
|
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:
|
|
7930
|
+
shareInstanceId: _this50.localShareInstanceId
|
|
7866
7931
|
},
|
|
7867
7932
|
options: {
|
|
7868
|
-
meetingId:
|
|
7933
|
+
meetingId: _this50.id
|
|
7869
7934
|
}
|
|
7870
7935
|
});
|
|
7871
|
-
|
|
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
|
|
7959
|
+
var _this51 = this;
|
|
7895
7960
|
if (this.floorGrantPending && this.state === _constants.MEETING_STATE.STATES.JOINED) {
|
|
7896
7961
|
this.requestScreenShareFloor().then(function () {
|
|
7897
|
-
|
|
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
|
|
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:
|
|
7947
|
-
locus_id:
|
|
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
|
|
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(
|
|
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
|
|
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
|
-
|
|
8316
|
-
|
|
8380
|
+
_this54.meetingFiniteStateMachine.end();
|
|
8381
|
+
_this54.clearMeetingData();
|
|
8317
8382
|
// upload logs on leave irrespective of meeting delete
|
|
8318
|
-
_triggerProxy.default.trigger(
|
|
8383
|
+
_triggerProxy.default.trigger(_this54, {
|
|
8319
8384
|
file: 'meeting/index',
|
|
8320
8385
|
function: 'endMeetingForAll'
|
|
8321
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8386
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this54);
|
|
8322
8387
|
return end;
|
|
8323
8388
|
}).catch(function (error) {
|
|
8324
|
-
|
|
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(
|
|
8392
|
+
_triggerProxy.default.trigger(_this54, {
|
|
8328
8393
|
file: 'meeting/index',
|
|
8329
8394
|
function: 'endMeetingForAll'
|
|
8330
|
-
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS,
|
|
8395
|
+
}, _constants.EVENTS.REQUEST_UPLOAD_LOGS, _this54);
|
|
8331
8396
|
_metrics.default.sendBehavioralMetric(_constants2.default.MEETING_END_ALL_FAILURE, {
|
|
8332
|
-
correlation_id:
|
|
8333
|
-
locus_id:
|
|
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
|
|
8423
|
-
return _regenerator.default.wrap(function
|
|
8424
|
-
while (1) switch (
|
|
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
|
-
|
|
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
|
-
|
|
8499
|
+
_context36.next = 8;
|
|
8435
8500
|
break;
|
|
8436
8501
|
}
|
|
8437
|
-
|
|
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
|
-
|
|
8508
|
+
_context36.next = 10;
|
|
8444
8509
|
break;
|
|
8445
8510
|
case 8:
|
|
8446
|
-
|
|
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
|
|
8515
|
+
return _context36.stop();
|
|
8451
8516
|
}
|
|
8452
|
-
},
|
|
8517
|
+
}, _callee36, this);
|
|
8453
8518
|
}));
|
|
8454
|
-
function enableMusicMode(
|
|
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
|
-
|
|
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:
|
|
8501
|
-
locus_id:
|
|
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
|
|
8546
|
-
return _regenerator.default.wrap(function
|
|
8547
|
-
while (1) switch (
|
|
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
|
-
|
|
8615
|
+
_context37.next = 2;
|
|
8551
8616
|
break;
|
|
8552
8617
|
}
|
|
8553
|
-
return
|
|
8618
|
+
return _context37.abrupt("return");
|
|
8554
8619
|
case 2:
|
|
8555
8620
|
if (!this.mediaProperties.webrtcMediaConnection) {
|
|
8556
|
-
|
|
8621
|
+
_context37.next = 7;
|
|
8557
8622
|
break;
|
|
8558
8623
|
}
|
|
8559
8624
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8560
|
-
|
|
8625
|
+
_context37.next = 6;
|
|
8561
8626
|
break;
|
|
8562
8627
|
}
|
|
8563
|
-
|
|
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
|
|
8639
|
+
return _context37.stop();
|
|
8575
8640
|
}
|
|
8576
|
-
},
|
|
8641
|
+
}, _callee37, this);
|
|
8577
8642
|
}));
|
|
8578
|
-
function publishStream(
|
|
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
|
|
8595
|
-
return _regenerator.default.wrap(function
|
|
8596
|
-
while (1) switch (
|
|
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
|
-
|
|
8664
|
+
_context38.next = 2;
|
|
8600
8665
|
break;
|
|
8601
8666
|
}
|
|
8602
|
-
return
|
|
8667
|
+
return _context38.abrupt("return");
|
|
8603
8668
|
case 2:
|
|
8604
8669
|
if (!(this.isMultistream && this.mediaProperties.webrtcMediaConnection)) {
|
|
8605
|
-
|
|
8670
|
+
_context38.next = 5;
|
|
8606
8671
|
break;
|
|
8607
8672
|
}
|
|
8608
|
-
|
|
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
|
|
8684
|
+
return _context38.stop();
|
|
8620
8685
|
}
|
|
8621
|
-
},
|
|
8686
|
+
}, _callee38, this);
|
|
8622
8687
|
}));
|
|
8623
|
-
function unpublishStream(
|
|
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
|
|
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
|
|
8642
|
-
while (1) switch (
|
|
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
|
-
|
|
8712
|
+
_context39.next = 4;
|
|
8648
8713
|
break;
|
|
8649
8714
|
}
|
|
8650
|
-
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
8749
|
+
_context39.next = 18;
|
|
8685
8750
|
break;
|
|
8686
8751
|
}
|
|
8687
|
-
|
|
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
|
-
|
|
8758
|
+
_context39.next = 22;
|
|
8694
8759
|
break;
|
|
8695
8760
|
}
|
|
8696
|
-
|
|
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
|
-
|
|
8767
|
+
_context39.next = 25;
|
|
8703
8768
|
break;
|
|
8704
8769
|
}
|
|
8705
|
-
|
|
8770
|
+
_context39.next = 25;
|
|
8706
8771
|
return this.setLocalAudioStream(streams.microphone);
|
|
8707
8772
|
case 25:
|
|
8708
8773
|
if (!streams.camera) {
|
|
8709
|
-
|
|
8774
|
+
_context39.next = 28;
|
|
8710
8775
|
break;
|
|
8711
8776
|
}
|
|
8712
|
-
|
|
8777
|
+
_context39.next = 28;
|
|
8713
8778
|
return this.setLocalVideoStream(streams.camera);
|
|
8714
8779
|
case 28:
|
|
8715
8780
|
if (this.isMultistream) {
|
|
8716
|
-
|
|
8781
|
+
_context39.next = 31;
|
|
8717
8782
|
break;
|
|
8718
8783
|
}
|
|
8719
|
-
|
|
8784
|
+
_context39.next = 31;
|
|
8720
8785
|
return this.updateTranscodedMediaConnection();
|
|
8721
8786
|
case 31:
|
|
8722
8787
|
if (!floorRequestNeeded) {
|
|
8723
|
-
|
|
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
|
-
|
|
8812
|
+
_context39.next = 37;
|
|
8748
8813
|
return this.enqueueScreenShareFloorRequest();
|
|
8749
8814
|
case 37:
|
|
8750
8815
|
case "end":
|
|
8751
|
-
return
|
|
8816
|
+
return _context39.stop();
|
|
8752
8817
|
}
|
|
8753
|
-
},
|
|
8818
|
+
}, _callee39, this);
|
|
8754
8819
|
}));
|
|
8755
|
-
function publishStreams(
|
|
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
|
|
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
|
|
8773
|
-
while (1) switch (
|
|
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
|
-
|
|
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
|
|
8891
|
+
return _context40.stop();
|
|
8827
8892
|
}
|
|
8828
|
-
},
|
|
8893
|
+
}, _callee40, this);
|
|
8829
8894
|
}));
|
|
8830
|
-
function unpublishStreams(
|
|
8895
|
+
function unpublishStreams(_x43) {
|
|
8831
8896
|
return _unpublishStreams.apply(this, arguments);
|
|
8832
8897
|
}
|
|
8833
8898
|
return unpublishStreams;
|