@webex/plugin-meetings 3.0.0-beta.25 → 3.0.0-beta.250
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/README.md +46 -8
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +114 -14
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +841 -19
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/errors/webex-errors.js +28 -7
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +5 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.js +193 -28
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +27 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +297 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +319 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +106 -1
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +91 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +381 -62
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +43 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +224 -63
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +89 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +49 -106
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +29 -90
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +90 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2627 -2557
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +228 -123
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +256 -196
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +601 -417
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +171 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/util.js +1 -1
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +36 -36
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +22 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +370 -90
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +2 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +88 -1
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +49 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +121 -25
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +10 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +86 -5
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +316 -233
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +6 -5
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -468
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +238 -49
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +49 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +52 -34
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +44 -18
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +209 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/reachability/index.js +81 -30
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +16 -7
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +199 -154
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +23 -29
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +112 -89
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +96 -36
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +117 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +51 -34
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +6 -6
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +13 -1
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +1 -6
- package/dist/types/constants.d.ts +155 -21
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +15 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +6 -4
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/index.d.ts +57 -4
- package/dist/types/locus-info/parser.d.ts +65 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +22 -36
- package/dist/types/meeting/in-meeting-actions.d.ts +90 -2
- package/dist/types/meeting/index.d.ts +312 -492
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +98 -22
- package/dist/types/meeting/request.d.ts +72 -43
- package/dist/types/meeting/util.d.ts +101 -1
- package/dist/types/meeting-info/index.d.ts +6 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +30 -1
- package/dist/types/meetings/collection.d.ts +8 -0
- package/dist/types/meetings/index.d.ts +76 -12
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +13 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/members/collection.d.ts +5 -0
- package/dist/types/members/index.d.ts +35 -2
- package/dist/types/members/request.d.ts +73 -9
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +209 -1
- package/dist/types/metrics/constants.d.ts +5 -4
- package/dist/types/metrics/index.d.ts +4 -119
- package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
- package/dist/types/multistream/receiveSlot.d.ts +16 -12
- package/dist/types/multistream/receiveSlotManager.d.ts +19 -4
- package/dist/types/multistream/remoteMedia.d.ts +8 -29
- package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
- package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
- package/dist/types/reachability/index.d.ts +15 -3
- package/dist/types/reachability/request.d.ts +7 -3
- package/dist/types/reconnection-manager/index.d.ts +9 -0
- package/dist/types/recording-controller/index.d.ts +15 -1
- package/dist/types/recording-controller/util.d.ts +5 -4
- package/dist/types/roap/request.d.ts +15 -11
- package/dist/types/roap/turnDiscovery.d.ts +18 -1
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +47 -0
- package/dist/types/statsAnalyzer/index.d.ts +6 -1
- package/package.json +23 -20
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +44 -14
- package/src/breakouts/breakout.ts +87 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +710 -10
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/webex-errors.ts +27 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +4 -9
- package/src/constants.ts +176 -18
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +18 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +300 -0
- package/src/index.ts +39 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +412 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +231 -39
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +89 -109
- package/src/media/properties.ts +48 -87
- package/src/meeting/in-meeting-actions.ts +179 -3
- package/src/meeting/index.ts +2111 -2143
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +227 -130
- package/src/meeting/request.ts +172 -121
- package/src/meeting/util.ts +588 -395
- package/src/meeting-info/index.ts +54 -8
- package/src/meeting-info/meeting-info-v2.ts +148 -14
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +23 -23
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +407 -108
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +103 -4
- package/src/member/index.ts +49 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +127 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +107 -6
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +319 -240
- package/src/metrics/constants.ts +5 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +55 -18
- package/src/multistream/receiveSlotManager.ts +46 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +148 -30
- package/src/reachability/index.ts +69 -17
- package/src/reachability/request.ts +16 -7
- package/src/reconnection-manager/index.ts +81 -54
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +23 -30
- package/src/roap/request.ts +104 -95
- package/src/roap/turnDiscovery.ts +50 -25
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/index.ts +73 -35
- package/src/statsAnalyzer/mqaUtil.ts +8 -10
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +336 -259
- package/test/integration/spec/space-meeting.js +76 -3
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +142 -24
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1545 -48
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +582 -0
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +316 -43
- package/test/unit/spec/locus-info/index.js +1283 -33
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/parser.js +62 -22
- package/test/unit/spec/locus-info/selfConstant.js +27 -4
- package/test/unit/spec/locus-info/selfUtils.js +208 -17
- package/test/unit/spec/media/index.ts +138 -28
- package/test/unit/spec/meeting/in-meeting-actions.ts +89 -3
- package/test/unit/spec/meeting/index.js +3576 -1748
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +370 -208
- package/test/unit/spec/meeting/request.js +440 -45
- package/test/unit/spec/meeting/utils.js +671 -54
- package/test/unit/spec/meeting-info/index.js +181 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +14 -0
- package/test/unit/spec/meetings/index.js +939 -150
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +58 -4
- package/test/unit/spec/member/util.js +479 -35
- package/test/unit/spec/members/index.js +319 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +184 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
- package/test/unit/spec/multistream/receiveSlot.ts +72 -13
- package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
- package/test/unit/spec/multistream/remoteMedia.ts +30 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
- package/test/unit/spec/reachability/index.ts +185 -7
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +80 -6
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +31 -51
- package/test/unit/spec/roap/request.ts +202 -85
- package/test/unit/spec/roap/turnDiscovery.ts +45 -10
- package/test/unit/spec/rtcMetrics/index.ts +68 -0
- package/test/unit/spec/stats-analyzer/index.js +29 -2
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -45
- package/test/utils/webex-config.js +4 -0
- package/test/utils/webex-test-users.js +6 -3
- package/dist/meeting/effectsState.js +0 -262
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.js +0 -299
- package/dist/metrics/config.js.map +0 -1
- package/dist/types/meeting/effectsState.d.ts +0 -42
- package/dist/types/metrics/config.d.ts +0 -178
- package/src/index.js +0 -16
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/test/unit/spec/meeting/effectsState.js +0 -285
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import {StatelessWebexPlugin} from '@webex/webex-core';
|
|
2
|
+
import LoggerProxy from '../common/logs/logger-proxy';
|
|
3
|
+
import {getBroadcastRoles} from './utils';
|
|
4
|
+
import {HTTP_VERBS} from '../constants';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @class BreakoutRequest
|
|
8
|
+
*/
|
|
9
|
+
export default class BreakoutRequest extends StatelessWebexPlugin {
|
|
10
|
+
/**
|
|
11
|
+
* Broadcast message to all breakout session's participants
|
|
12
|
+
* @param {String} url
|
|
13
|
+
* @param {String} message
|
|
14
|
+
* @param {Object} options
|
|
15
|
+
* @param {string} groupId
|
|
16
|
+
* @param {string} sessionId
|
|
17
|
+
* @returns {Promise}
|
|
18
|
+
*/
|
|
19
|
+
broadcast({
|
|
20
|
+
url,
|
|
21
|
+
message,
|
|
22
|
+
options,
|
|
23
|
+
groupId,
|
|
24
|
+
sessionId,
|
|
25
|
+
}: {
|
|
26
|
+
url: string;
|
|
27
|
+
message: string;
|
|
28
|
+
options?: object;
|
|
29
|
+
groupId: string;
|
|
30
|
+
sessionId?: string;
|
|
31
|
+
}) {
|
|
32
|
+
const roles = getBroadcastRoles(options);
|
|
33
|
+
const params = {
|
|
34
|
+
id: groupId,
|
|
35
|
+
recipientRoles: roles.length ? roles : undefined,
|
|
36
|
+
sessions: sessionId ? [{id: sessionId}] : undefined,
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
return this.request({
|
|
41
|
+
method: HTTP_VERBS.POST,
|
|
42
|
+
uri: `${url}/message`,
|
|
43
|
+
body: {
|
|
44
|
+
message,
|
|
45
|
+
groups: [params],
|
|
46
|
+
},
|
|
47
|
+
}).catch((error) => {
|
|
48
|
+
if (error.body && error.body.errorCode === 201409036 && error.statusCode === 409) {
|
|
49
|
+
LoggerProxy.logger.info(`Breakouts#broadcast --> no joined participants`);
|
|
50
|
+
} else {
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
2
|
+
import LoggerProxy from '../common/logs/logger-proxy';
|
|
3
|
+
import BreakoutEditLockedError from './edit-lock-error';
|
|
4
|
+
import {BREAKOUTS} from '../constants';
|
|
5
|
+
|
|
6
|
+
export const getBroadcastRoles = (options): string[] => {
|
|
7
|
+
const recipientRoles = [];
|
|
8
|
+
if (!options || (!options.cohosts && !options.presenters)) {
|
|
9
|
+
return recipientRoles;
|
|
10
|
+
}
|
|
11
|
+
if (options.cohosts) {
|
|
12
|
+
recipientRoles.push('COHOST');
|
|
13
|
+
}
|
|
14
|
+
if (options.presenters) {
|
|
15
|
+
recipientRoles.push('PRESENTER');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return recipientRoles;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Deals with all kinds of errors of breakout service
|
|
23
|
+
* @param {object} error // one of the breakout service error
|
|
24
|
+
* @param {string} position // position of the error occur
|
|
25
|
+
* @returns {object}
|
|
26
|
+
*/
|
|
27
|
+
export const boServiceErrorHandler = (error: any, position: string): any => {
|
|
28
|
+
const errorCode = error?.body?.errorCode;
|
|
29
|
+
const {EDIT_LOCK_TOKEN_MISMATCH, EDIT_NOT_AUTHORIZED} = BREAKOUTS.ERROR_CODE;
|
|
30
|
+
let throwError;
|
|
31
|
+
switch (errorCode) {
|
|
32
|
+
case EDIT_LOCK_TOKEN_MISMATCH:
|
|
33
|
+
throwError = new BreakoutEditLockedError('Edit lock token mismatch', error);
|
|
34
|
+
break;
|
|
35
|
+
case EDIT_NOT_AUTHORIZED:
|
|
36
|
+
throwError = new BreakoutEditLockedError('Not authorized to interact with edit lock', error);
|
|
37
|
+
break;
|
|
38
|
+
default:
|
|
39
|
+
throwError = error;
|
|
40
|
+
}
|
|
41
|
+
LoggerProxy.logger.info(`${position} --> ${throwError?.message}`);
|
|
42
|
+
|
|
43
|
+
return throwError;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @param {object} breakout
|
|
49
|
+
* @param {string} newSessionType
|
|
50
|
+
* @returns {boolean}
|
|
51
|
+
*/
|
|
52
|
+
export const isSessionTypeChangedFromSessionToMain = (breakout, newSessionType) => {
|
|
53
|
+
return (
|
|
54
|
+
breakout.previous('sessionType') === BREAKOUTS.SESSION_TYPES.BREAKOUT &&
|
|
55
|
+
newSessionType === BREAKOUTS.SESSION_TYPES.MAIN
|
|
56
|
+
);
|
|
57
|
+
};
|
|
@@ -72,13 +72,17 @@ WebExMeetingsErrors[UserNotJoinedError.CODE] = UserNotJoinedError;
|
|
|
72
72
|
* @classdesc Raised whenever the user has not established media yet.
|
|
73
73
|
* @extends WebexMeetingsError
|
|
74
74
|
* @property {number} code - 30103
|
|
75
|
-
* @property {string} message -
|
|
75
|
+
* @property {string} message - error message
|
|
76
76
|
*/
|
|
77
77
|
class NoMediaEstablishedYetError extends WebexMeetingsError {
|
|
78
78
|
static CODE = 30103;
|
|
79
79
|
|
|
80
|
+
// eslint-disable-next-line require-jsdoc
|
|
80
81
|
constructor() {
|
|
81
|
-
super(
|
|
82
|
+
super(
|
|
83
|
+
NoMediaEstablishedYetError.CODE,
|
|
84
|
+
'Webrtc media connection is missing, call addMedia() first'
|
|
85
|
+
);
|
|
82
86
|
}
|
|
83
87
|
}
|
|
84
88
|
|
|
@@ -103,6 +107,27 @@ class UserInLobbyError extends WebexMeetingsError {
|
|
|
103
107
|
export {UserInLobbyError};
|
|
104
108
|
WebExMeetingsErrors[UserInLobbyError.CODE] = UserInLobbyError;
|
|
105
109
|
|
|
110
|
+
/**
|
|
111
|
+
* @class SpaceIDDeprecatedError
|
|
112
|
+
* @classdesc Raised whenever the user passes Space ID as destination for create meeting.
|
|
113
|
+
* @extends WebexMeetingsError
|
|
114
|
+
* @property {number} code - 30105
|
|
115
|
+
* @property {string} message - Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-guide-for-USM-meeting) to migrate to use the meeting ID or SIP address.'
|
|
116
|
+
*/
|
|
117
|
+
class SpaceIDDeprecatedError extends WebexMeetingsError {
|
|
118
|
+
static CODE = 30105;
|
|
119
|
+
|
|
120
|
+
constructor() {
|
|
121
|
+
super(
|
|
122
|
+
SpaceIDDeprecatedError.CODE,
|
|
123
|
+
'Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-guide-for-USM-meeting) to migrate to use the meeting ID or SIP address.'
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export {SpaceIDDeprecatedError};
|
|
129
|
+
WebExMeetingsErrors[SpaceIDDeprecatedError.CODE] = SpaceIDDeprecatedError;
|
|
130
|
+
|
|
106
131
|
/**
|
|
107
132
|
* @class IceGatheringFailed
|
|
108
133
|
* @classdesc Raised whenever ice gathering fails.
|
package/src/common/queue.ts
CHANGED
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Simple queue
|
|
2
|
+
* Simple queue in which the elements are always sorted
|
|
3
3
|
*/
|
|
4
|
-
export default class
|
|
5
|
-
queue:
|
|
4
|
+
export default class SortedQueue<ItemType> {
|
|
5
|
+
queue: ItemType[];
|
|
6
|
+
// returns -1 if left < right, 0 if left === right, +1 if left > right
|
|
7
|
+
compareFunc: (left: ItemType, right: ItemType) => number;
|
|
8
|
+
|
|
6
9
|
/**
|
|
7
|
-
* @constructs
|
|
10
|
+
* @constructs SortedQueue
|
|
11
|
+
* @param {Function} compareFunc comparison function used for sorting the elements of the queue
|
|
8
12
|
*/
|
|
9
|
-
constructor() {
|
|
13
|
+
constructor(compareFunc: (left: ItemType, right: ItemType) => number) {
|
|
10
14
|
this.queue = [];
|
|
15
|
+
this.compareFunc = compareFunc;
|
|
11
16
|
}
|
|
12
17
|
|
|
13
18
|
/**
|
|
@@ -23,8 +28,17 @@ export default class SimpleQueue {
|
|
|
23
28
|
* @param {object} item
|
|
24
29
|
* @returns {undefined}
|
|
25
30
|
*/
|
|
26
|
-
enqueue(item:
|
|
27
|
-
|
|
31
|
+
enqueue(item: ItemType) {
|
|
32
|
+
// Find the index of the first item in the queue that's greater or equal to the new item.
|
|
33
|
+
// That's where we want to insert the new item.
|
|
34
|
+
const idx = this.queue.findIndex((existingItem) => {
|
|
35
|
+
return this.compareFunc(existingItem, item) >= 0;
|
|
36
|
+
});
|
|
37
|
+
if (idx >= 0) {
|
|
38
|
+
this.queue.splice(idx, 0, item);
|
|
39
|
+
} else {
|
|
40
|
+
this.queue.push(item);
|
|
41
|
+
}
|
|
28
42
|
}
|
|
29
43
|
|
|
30
44
|
/**
|
|
@@ -32,7 +46,7 @@ export default class SimpleQueue {
|
|
|
32
46
|
* Returns null if the queue is empty.
|
|
33
47
|
* @returns {(object|null)} Queue item or null.
|
|
34
48
|
*/
|
|
35
|
-
dequeue() {
|
|
49
|
+
dequeue(): ItemType {
|
|
36
50
|
if (this.queue.length === 0) {
|
|
37
51
|
return null;
|
|
38
52
|
}
|
package/src/config.ts
CHANGED
|
@@ -10,13 +10,7 @@ export default {
|
|
|
10
10
|
meetings: {
|
|
11
11
|
deviceType: deviceType.WEB,
|
|
12
12
|
mediaSettings: {
|
|
13
|
-
sendAudio: true,
|
|
14
|
-
sendVideo: true,
|
|
15
|
-
receiveAudio: true,
|
|
16
|
-
receiveVideo: true,
|
|
17
13
|
pstn: false,
|
|
18
|
-
sendShare: false,
|
|
19
|
-
receiveShare: false,
|
|
20
14
|
},
|
|
21
15
|
reconnection: {
|
|
22
16
|
enabled: false,
|
|
@@ -89,14 +83,15 @@ export default {
|
|
|
89
83
|
receiveTranscription: false,
|
|
90
84
|
enableExtmap: false,
|
|
91
85
|
enableAutomaticLLM: false,
|
|
86
|
+
installedOrgID: undefined,
|
|
92
87
|
experimental: {
|
|
93
88
|
enableMediaNegotiatedEvent: false,
|
|
94
|
-
enableUnifiedMeetings:
|
|
95
|
-
enableAdhocMeetings:
|
|
89
|
+
enableUnifiedMeetings: true,
|
|
90
|
+
enableAdhocMeetings: true,
|
|
96
91
|
enableTurnDiscovery: true,
|
|
97
92
|
},
|
|
98
93
|
degradationPreferences: {
|
|
99
|
-
maxMacroblocksLimit:
|
|
94
|
+
maxMacroblocksLimit: 8192,
|
|
100
95
|
},
|
|
101
96
|
},
|
|
102
97
|
};
|
package/src/constants.ts
CHANGED
|
@@ -4,13 +4,14 @@ import {hydraTypes} from '@webex/common';
|
|
|
4
4
|
// *********** LOWERCASE / CAMELCASE STRINGS ************
|
|
5
5
|
|
|
6
6
|
export const AUDIO = 'audio';
|
|
7
|
-
export const AUDIO_INPUT = 'audioinput';
|
|
8
7
|
export const AUDIO_STATUS = 'audioStatus';
|
|
9
8
|
export const ALERT = 'alert';
|
|
9
|
+
export const ALIAS = 'alias';
|
|
10
10
|
export const ANSWER = 'answer';
|
|
11
11
|
|
|
12
12
|
export const CALL = 'call';
|
|
13
13
|
export const CORRELATION_ID = 'correlationId';
|
|
14
|
+
export const MEETINGNUMBER = 'meetingNumber';
|
|
14
15
|
export const CONVERSATION_URL = 'conversationUrl';
|
|
15
16
|
export const CALENDAR = 'calendar';
|
|
16
17
|
export const CALENDAR_EVENTS_API = 'calendarEvents';
|
|
@@ -65,7 +66,6 @@ export const SHARE = 'share';
|
|
|
65
66
|
export const TYPE = 'type';
|
|
66
67
|
|
|
67
68
|
export const VIDEO = 'video';
|
|
68
|
-
export const VIDEO_INPUT = 'videoinput';
|
|
69
69
|
export const VIDEO_STATUS = 'videoStatus';
|
|
70
70
|
|
|
71
71
|
// *********** UPPERCASE ONLY STRINGS ************
|
|
@@ -93,6 +93,7 @@ export const _JOINED_ = 'JOINED';
|
|
|
93
93
|
|
|
94
94
|
export const _LOCUS_ID_ = 'LOCUS_ID';
|
|
95
95
|
export const _LEFT_ = 'LEFT';
|
|
96
|
+
export const _MOVED_ = 'MOVED';
|
|
96
97
|
|
|
97
98
|
export const _MEETING_LINK_ = 'MEETING_LINK';
|
|
98
99
|
export const _MEETING_UUID_ = 'MEETING_UUID';
|
|
@@ -189,7 +190,7 @@ export const ICE_FAIL_TIMEOUT = 3000;
|
|
|
189
190
|
|
|
190
191
|
export const RETRY_TIMEOUT = 3000;
|
|
191
192
|
|
|
192
|
-
export const PC_BAIL_TIMEOUT =
|
|
193
|
+
export const PC_BAIL_TIMEOUT = 15000;
|
|
193
194
|
|
|
194
195
|
// ******************** REGEX **********************
|
|
195
196
|
// Please alphabetize
|
|
@@ -280,6 +281,7 @@ export const EVENT_TRIGGERS = {
|
|
|
280
281
|
MEETING_STOPPED_SHARING_LOCAL: 'meeting:stoppedSharingLocal',
|
|
281
282
|
MEETING_STARTED_SHARING_REMOTE: 'meeting:startedSharingRemote',
|
|
282
283
|
MEETING_STOPPED_SHARING_REMOTE: 'meeting:stoppedSharingRemote',
|
|
284
|
+
MEETING_UPDATE_ANNOTATION_INFO: 'meeting:updateAnnotationInfo',
|
|
283
285
|
MEETING_STARTED_SHARING_WHITEBOARD: 'meeting:startedSharingWhiteboard',
|
|
284
286
|
MEETING_STOPPED_SHARING_WHITEBOARD: 'meeting:stoppedSharingWhiteboard',
|
|
285
287
|
MEETING_MEDIA_LOCAL_STARTED: 'meeting:media:local:start',
|
|
@@ -297,18 +299,29 @@ export const EVENT_TRIGGERS = {
|
|
|
297
299
|
MEETING_RINGING_STOP: 'meeting:ringingStop',
|
|
298
300
|
MEETING_SELF_LOBBY_WAITING: 'meeting:self:lobbyWaiting',
|
|
299
301
|
MEETING_SELF_GUEST_ADMITTED: 'meeting:self:guestAdmitted',
|
|
302
|
+
MEETING_SELF_VIDEO_MUTED_BY_OTHERS: 'meeting:self:videoMutedByOthers',
|
|
303
|
+
MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS: 'meeting:self:videoUnmutedByOthers',
|
|
300
304
|
MEETING_SELF_MUTED_BY_OTHERS: 'meeting:self:mutedByOthers',
|
|
301
305
|
MEETING_SELF_UNMUTED_BY_OTHERS: 'meeting:self:unmutedByOthers',
|
|
302
306
|
MEETING_SELF_REQUESTED_TO_UNMUTE: 'meeting:self:requestedToUnmute',
|
|
303
307
|
MEETING_SELF_PHONE_AUDIO_UPDATE: 'meeting:self:phoneAudioUpdate',
|
|
304
308
|
MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST: 'meeting:self:cannotViewParticipantList',
|
|
305
309
|
MEETING_SELF_IS_SHARING_BLOCKED: 'meeting:self:isSharingBlocked',
|
|
310
|
+
MEETING_SELF_ROLES_CHANGED: 'meeting:self:rolesChanged',
|
|
306
311
|
MEETING_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',
|
|
307
312
|
MEETING_ENTRY_EXIT_TONE_UPDATE: 'meeting:entryExitTone:update',
|
|
308
313
|
MEETING_BREAKOUTS_UPDATE: 'meeting:breakouts:update',
|
|
309
314
|
MEETING_BREAKOUTS_CLOSING: 'meeting:breakouts:closing',
|
|
310
315
|
MEETING_BREAKOUTS_MESSAGE: 'meeting:breakouts:message',
|
|
316
|
+
MEETING_BREAKOUTS_ASK_RETURN_TO_MAIN: 'meeting:breakouts:askReturnToMain',
|
|
317
|
+
MEETING_BREAKOUTS_LEAVE: 'meeting:breakouts:leave',
|
|
318
|
+
MEETING_BREAKOUTS_ASK_FOR_HELP: 'meeting:breakouts:askForHelp',
|
|
319
|
+
MEETING_BREAKOUTS_PRE_ASSIGNMENTS_UPDATE: 'meeting:breakouts:preAssignmentsUpdate',
|
|
320
|
+
MEETING_INTERPRETATION_UPDATE: 'meeting:interpretation:update',
|
|
321
|
+
MEETING_INTERPRETATION_SUPPORT_LANGUAGES_UPDATE: 'meeting:interpretation:supportLanguagesUpdate',
|
|
322
|
+
MEETING_INTERPRETATION_HANDOFF_REQUESTS_ARRIVED: 'meeting:interpretation:handoffRequestsArrived',
|
|
311
323
|
MEMBERS_UPDATE: 'members:update',
|
|
324
|
+
MEMBERS_CLEAR: 'members:clear',
|
|
312
325
|
MEMBERS_CONTENT_UPDATE: 'members:content:update',
|
|
313
326
|
MEMBERS_HOST_UPDATE: 'members:host:update',
|
|
314
327
|
MEMBERS_SELF_UPDATE: 'members:self:update',
|
|
@@ -337,17 +350,26 @@ export const EVENT_TRIGGERS = {
|
|
|
337
350
|
REMOTE_MEDIA_AUDIO_CREATED: 'media:remoteAudio:created',
|
|
338
351
|
REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:remoteScreenShareAudio:created',
|
|
339
352
|
REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: 'media:remoteVideo:layoutChanged',
|
|
353
|
+
// Controls
|
|
354
|
+
MEETING_CONTROLS_MUTE_ON_ENTRY_UPDATED: 'meeting:controls:mute-on-entry:updated',
|
|
355
|
+
MEETING_CONTROLS_SHARE_CONTROL_UPDATED: 'meeting:controls:share-control:updated',
|
|
356
|
+
MEETING_CONTROLS_DISALLOW_UNMUTE_UPDATED: 'meeting:controls:disallow-unmute:updated',
|
|
357
|
+
MEETING_CONTROLS_REACTIONS_UPDATED: 'meeting:controls:reactions:updated',
|
|
358
|
+
MEETING_CONTROLS_VIEW_THE_PARTICIPANTS_LIST_UPDATED:
|
|
359
|
+
'meeting:controls:view-the-participants-list:updated',
|
|
360
|
+
MEETING_CONTROLS_RAISE_HAND_UPDATED: 'meeting:controls:raise-hand:updated',
|
|
361
|
+
MEETING_CONTROLS_VIDEO_UPDATED: 'meeting:controls:video:updated',
|
|
362
|
+
// Locus URL changed
|
|
363
|
+
MEETING_LOCUS_URL_UPDATE: 'meeting:locus:locusUrl:update',
|
|
340
364
|
};
|
|
341
365
|
|
|
342
366
|
export const EVENT_TYPES = {
|
|
343
367
|
SELF: 'self',
|
|
344
368
|
OTHER: 'other',
|
|
345
|
-
LOCAL: 'local',
|
|
346
369
|
REMOTE: 'remote',
|
|
347
370
|
REMOTE_AUDIO: 'remoteAudio',
|
|
348
371
|
REMOTE_VIDEO: 'remoteVideo',
|
|
349
372
|
REMOTE_SHARE: 'remoteShare',
|
|
350
|
-
LOCAL_SHARE: 'localShare',
|
|
351
373
|
ERROR: 'error',
|
|
352
374
|
};
|
|
353
375
|
|
|
@@ -360,9 +382,11 @@ export const MEETING_REMOVED_REASON = {
|
|
|
360
382
|
FULLSTATE_REMOVED: 'FULLSTATE_REMOVED', // meeting got dropped ? not sure
|
|
361
383
|
MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING', // Meeting got ended or everyone left the meeting
|
|
362
384
|
CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST', // You triggered leave meeting
|
|
385
|
+
CLIENT_LEAVE_REQUEST_TAB_CLOSED: 'CLIENT_LEAVE_REQUEST_TAB_CLOSED', // You triggered leave meeting, such as closing the browser tab directly
|
|
363
386
|
USER_ENDED_SHARE_STREAMS: 'USER_ENDED_SHARE_STREAMS', // user triggered stop share
|
|
364
387
|
NO_MEETINGS_TO_SYNC: 'NO_MEETINGS_TO_SYNC', // After the syncMeeting no meeting exists
|
|
365
388
|
MEETING_CONNECTION_FAILED: 'MEETING_CONNECTION_FAILED', // meeting failed to connect due to ice failures or firewall issue
|
|
389
|
+
LOCUS_DTO_SYNC_FAILED: 'LOCUS_DTO_SYNC_FAILED', // failed to get any Locus DTO for that meeting
|
|
366
390
|
};
|
|
367
391
|
|
|
368
392
|
// One one one calls ends for the following reasons
|
|
@@ -377,6 +401,8 @@ export const CALL_REMOVED_REASON = {
|
|
|
377
401
|
export const SHARE_STOPPED_REASON = {
|
|
378
402
|
SELF_STOPPED: 'SELF_STOPPED',
|
|
379
403
|
MEETING_REJOIN: 'MEETING_REJOIN',
|
|
404
|
+
MEDIA_RECONNECTION: 'MEDIA_RECONNECTION',
|
|
405
|
+
TRACK_ENDED: 'TRACK_ENDED',
|
|
380
406
|
};
|
|
381
407
|
|
|
382
408
|
export const EVENTS = {
|
|
@@ -452,6 +478,11 @@ export const ERROR_DICTIONARY = {
|
|
|
452
478
|
MESSAGE: 'Captcha is required.',
|
|
453
479
|
CODE: 8,
|
|
454
480
|
},
|
|
481
|
+
BREAKOUT_EDIT: {
|
|
482
|
+
NAME: 'BreakoutEditLockedError',
|
|
483
|
+
MESSAGE: 'Edit lock token mismatch',
|
|
484
|
+
CODE: 9,
|
|
485
|
+
},
|
|
455
486
|
};
|
|
456
487
|
|
|
457
488
|
export const FLOOR_ACTION = {
|
|
@@ -473,6 +504,7 @@ export const HTTP_VERBS = {
|
|
|
473
504
|
POST: 'POST',
|
|
474
505
|
GET: 'GET',
|
|
475
506
|
PATCH: 'PATCH',
|
|
507
|
+
DELETE: 'DELETE',
|
|
476
508
|
};
|
|
477
509
|
|
|
478
510
|
// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState
|
|
@@ -518,17 +550,28 @@ export const LOCUS = {
|
|
|
518
550
|
SYNCDEBUG: 'sync_debug',
|
|
519
551
|
};
|
|
520
552
|
|
|
553
|
+
export const ANNOTATION = {
|
|
554
|
+
ANNOTATION_ON_SHARE_SUPPORTED: 'ANNOTATION_ON_SHARE_SUPPORTED',
|
|
555
|
+
};
|
|
521
556
|
export const BREAKOUTS = {
|
|
522
557
|
STATUS: {
|
|
523
558
|
CLOSING: 'CLOSING',
|
|
559
|
+
CLOSED: 'CLOSED',
|
|
560
|
+
PENDING: 'PENDING',
|
|
561
|
+
OPEN: 'OPEN',
|
|
524
562
|
},
|
|
525
563
|
EVENTS: {
|
|
526
564
|
BREAKOUTS_CLOSING: 'BREAKOUTS_CLOSING',
|
|
527
565
|
MESSAGE: 'MESSAGE',
|
|
528
566
|
MEMBERS_UPDATE: 'MEMBERS_UPDATE',
|
|
567
|
+
ASK_RETURN_TO_MAIN: 'ASK_RETURN_TO_MAIN',
|
|
568
|
+
LEAVE_BREAKOUT: 'LEAVE_BREAKOUT',
|
|
569
|
+
ASK_FOR_HELP: 'ASK_FOR_HELP',
|
|
570
|
+
PRE_ASSIGNMENTS_UPDATE: 'PRE_ASSIGNMENTS_UPDATE',
|
|
529
571
|
},
|
|
530
572
|
SESSION_TYPES: {
|
|
531
573
|
MAIN: 'MAIN',
|
|
574
|
+
BREAKOUT: 'BREAKOUT',
|
|
532
575
|
},
|
|
533
576
|
SESSION_STATES: {
|
|
534
577
|
ACTIVE: 'active',
|
|
@@ -538,6 +581,35 @@ export const BREAKOUTS = {
|
|
|
538
581
|
REQUESTED: 'requested',
|
|
539
582
|
},
|
|
540
583
|
BREAKOUTS_SUPPORTED: 'BREAKOUTS_SUPPORTED',
|
|
584
|
+
ACTION: {
|
|
585
|
+
START: 'START',
|
|
586
|
+
CLOSE: 'CLOSE',
|
|
587
|
+
DELETE: 'DELETE',
|
|
588
|
+
},
|
|
589
|
+
ERROR_CODE: {
|
|
590
|
+
EDIT_LOCK_TOKEN_MISMATCH: 201409024,
|
|
591
|
+
EDIT_NOT_AUTHORIZED: 201403007,
|
|
592
|
+
},
|
|
593
|
+
EDIT_LOCK_STATUS: {
|
|
594
|
+
LOCKED: 'LOCKED',
|
|
595
|
+
NOT_LOCKED: 'NOT_LOCKED',
|
|
596
|
+
UNKNOWN: 'UNKNOWN',
|
|
597
|
+
},
|
|
598
|
+
DEFAULT_TTL: 30,
|
|
599
|
+
};
|
|
600
|
+
|
|
601
|
+
export const INTERPRETATION = {
|
|
602
|
+
EVENTS: {
|
|
603
|
+
SUPPORT_LANGUAGES_UPDATE: 'SUPPORT_LANGUAGES_UPDATE',
|
|
604
|
+
HANDOFF_REQUESTS_ARRIVED: 'HANDOFF_REQUESTS_ARRIVED',
|
|
605
|
+
},
|
|
606
|
+
ACTION_TYPE: {
|
|
607
|
+
OFFERED: 'OFFERED',
|
|
608
|
+
ACCEPTED: 'ACCEPTED',
|
|
609
|
+
REQUESTED: 'REQUESTED',
|
|
610
|
+
DECLINED: 'DECLINED',
|
|
611
|
+
},
|
|
612
|
+
RESOURCE_TYPE: 'SiHandover',
|
|
541
613
|
};
|
|
542
614
|
|
|
543
615
|
export const LOCUSINFO = {
|
|
@@ -547,13 +619,24 @@ export const LOCUSINFO = {
|
|
|
547
619
|
CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
|
|
548
620
|
CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',
|
|
549
621
|
CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',
|
|
622
|
+
CONTROLS_MEETING_INTERPRETATION_UPDATED: 'CONTROLS_MEETING_INTERPRETATION_UPDATED',
|
|
550
623
|
CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',
|
|
624
|
+
CONTROLS_JOIN_BREAKOUT_FROM_MAIN: 'CONTROLS_JOIN_BREAKOUT_FROM_MAIN',
|
|
625
|
+
CONTROLS_MUTE_ON_ENTRY_CHANGED: 'CONTROLS_MUTE_ON_ENTRY_CHANGED',
|
|
626
|
+
CONTROLS_SHARE_CONTROL_CHANGED: 'CONTROLS_SHARE_CONTROL_CHANGED',
|
|
627
|
+
CONTROLS_DISALLOW_UNMUTE_CHANGED: 'CONTROLS_DISALLOW_UNMUTE_CHANGED',
|
|
628
|
+
CONTROLS_REACTIONS_CHANGED: 'CONTROLS_REACTIONS_CHANGED',
|
|
629
|
+
CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED: 'CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED',
|
|
630
|
+
CONTROLS_RAISE_HAND_CHANGED: 'CONTROLS_RAISE_HAND_CHANGED',
|
|
631
|
+
CONTROLS_VIDEO_CHANGED: 'CONTROLS_VIDEO_CHANGED',
|
|
551
632
|
SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
|
|
552
633
|
SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
|
|
634
|
+
SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: 'SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED',
|
|
553
635
|
SELF_REMOTE_MUTE_STATUS_UPDATED: 'SELF_REMOTE_MUTE_STATUS_UPDATED',
|
|
554
636
|
LOCAL_UNMUTE_REQUESTED: 'LOCAL_UNMUTE_REQUESTED',
|
|
555
637
|
LOCAL_UNMUTE_REQUIRED: 'LOCAL_UNMUTE_REQUIRED',
|
|
556
638
|
SELF_MODERATOR_CHANGED: 'SELF_MODERATOR_CHANGED',
|
|
639
|
+
SELF_ROLES_CHANGED: 'SELF_ROLES_CHANGED',
|
|
557
640
|
MEETING_UPDATE: 'MEETING_UPDATE',
|
|
558
641
|
MEDIA_STATUS_CHANGE: 'MEDIA_STATUS_CHANGE',
|
|
559
642
|
FULL_STATE_TYPE_UPDATE: 'FULL_STATE_TYPE_UPDATE',
|
|
@@ -568,6 +651,7 @@ export const LOCUSINFO = {
|
|
|
568
651
|
SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',
|
|
569
652
|
SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',
|
|
570
653
|
SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',
|
|
654
|
+
SELF_MEETING_INTERPRETATION_CHANGED: 'SELF_MEETING_INTERPRETATION_CHANGED',
|
|
571
655
|
MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
|
|
572
656
|
LINKS_SERVICES: 'LINKS_SERVICES',
|
|
573
657
|
},
|
|
@@ -732,6 +816,28 @@ export const MEETING_END_REASON = {
|
|
|
732
816
|
MEDIA_RELEASED: 'MEDIA_RELEASED',
|
|
733
817
|
};
|
|
734
818
|
|
|
819
|
+
export enum SELF_POLICY {
|
|
820
|
+
ENFORCE_VIRTUAL_BACKGROUND = 'enforceVirtualBackground',
|
|
821
|
+
SUPPORT_LOCAL_RECORD = 'supportLocalRecord',
|
|
822
|
+
SUPPORT_NETWORK_BASED_RECORD = 'supportNetworkBasedRecord',
|
|
823
|
+
SUPPORT_REALTIME_CLOSE_CAPTION = 'supportRealtimeCloseCaption',
|
|
824
|
+
SUPPORT_CHAT = 'supportChat',
|
|
825
|
+
SUPPORT_DESKTOP_SHARE_REMOTE = 'supportDesktopShareRemote',
|
|
826
|
+
SUPPORT_DESKTOP_SHARE = 'supportDesktopShare',
|
|
827
|
+
SUPPORT_WHITEBOARD = 'supportWhiteboard',
|
|
828
|
+
SUPPORT_FILE_TRANSFER = 'supportFileTransfer',
|
|
829
|
+
SUPPORT_APP_SHARE = 'supportAppShare',
|
|
830
|
+
SUPPORT_CAMERA_SHARE = 'supportCameraShare',
|
|
831
|
+
SUPPORT_FILE_SHARE = 'supportFileShare',
|
|
832
|
+
SUPPORT_ANNOTATION = 'supportAnnotation',
|
|
833
|
+
SUPPORT_BROADCAST_MESSAGE = 'supportBroadcastMessage',
|
|
834
|
+
SUPPORT_VIDEO = 'supportVideo',
|
|
835
|
+
SUPPORT_HQV = 'supportHQV',
|
|
836
|
+
SUPPORT_HDV = 'supportHDV',
|
|
837
|
+
SUPPORT_PARTICIPANT_LIST = 'supportParticipantList',
|
|
838
|
+
SUPPORT_VOIP = 'supportVoIP',
|
|
839
|
+
}
|
|
840
|
+
|
|
735
841
|
export const DISPLAY_HINTS = {
|
|
736
842
|
ADD_GUEST: 'ADD_GUEST',
|
|
737
843
|
ROSTER_WAITING_TO_JOIN: 'ROSTER_WAITING_TO_JOIN',
|
|
@@ -755,17 +861,64 @@ export const DISPLAY_HINTS = {
|
|
|
755
861
|
DISPLAY_NON_ENGLISH_ASR: 'DISPLAY_NON_ENGLISH_ASR',
|
|
756
862
|
TRANSCRIPTION_CONTROL_START: 'TRANSCRIPTION_CONTROL_START',
|
|
757
863
|
TRANSCRIPTION_CONTROL_STOP: 'TRANSCRIPTION_CONTROL_STOP',
|
|
864
|
+
SAVE_TRANSCRIPTS_ENABLED: 'SAVE_TRANSCRIPTS_ENABLED',
|
|
758
865
|
WEBEX_ASSISTANT_STATUS_ACTIVE: 'WEBEX_ASSISTANT_STATUS_ACTIVE',
|
|
759
866
|
WAITING_FOR_OTHERS: 'WAITING_FOR_OTHERS',
|
|
760
867
|
ENABLE_REACTIONS: 'ENABLE_REACTIONS',
|
|
761
868
|
DISABLE_REACTIONS: 'DISABLE_REACTIONS',
|
|
762
869
|
REACTIONS_ACTIVE: 'REACTIONS_ACTIVE',
|
|
763
870
|
REACTIONS_INACTIVE: 'REACTIONS_INACTIVE',
|
|
871
|
+
SHARE_CONTROL: 'SHARE_CONTROL',
|
|
872
|
+
ENABLE_MUTE_ON_ENTRY: 'ENABLE_MUTE_ON_ENTRY',
|
|
873
|
+
ENABLE_SHOW_DISPLAY_NAME: 'ENABLE_SHOW_DISPLAY_NAME',
|
|
874
|
+
DISABLE_SHOW_DISPLAY_NAME: 'DISABLE_SHOW_DISPLAY_NAME',
|
|
875
|
+
DISABLE_MUTE_ON_ENTRY: 'DISABLE_MUTE_ON_ENTRY',
|
|
876
|
+
ENABLE_HARD_MUTE: 'ENABLE_HARD_MUTE',
|
|
877
|
+
DISABLE_HARD_MUTE: 'DISABLE_HARD_MUTE',
|
|
878
|
+
MUTE_ALL: 'MUTE_ALL',
|
|
879
|
+
UNMUTE_ALL: 'UNMUTE_ALL',
|
|
880
|
+
PRESENTER_CONTROL: 'PRESENTER_CONTROL',
|
|
881
|
+
CAN_RENAME_SELF_AND_OBSERVED: 'CAN_RENAME_SELF_AND_OBSERVED',
|
|
882
|
+
CAN_RENAME_OTHERS: 'CAN_RENAME_OTHERS',
|
|
883
|
+
|
|
884
|
+
// breakout session
|
|
885
|
+
BREAKOUT_MANAGEMENT: 'BREAKOUT_MANAGEMENT',
|
|
886
|
+
BROADCAST_MESSAGE_TO_BREAKOUT: 'BROADCAST_MESSAGE_TO_BREAKOUT',
|
|
887
|
+
UCF_SUPPRESS_BREAKOUTS_SUPPORT: 'UCF_SUPPRESS_BREAKOUTS_SUPPORT',
|
|
888
|
+
DISABLE_ASK_FOR_HELP: 'DISABLE_ASK_FOR_HELP',
|
|
889
|
+
DISABLE_BREAKOUT_PREASSIGNMENTS: 'DISABLE_BREAKOUT_PREASSIGNMENTS',
|
|
890
|
+
DISABLE_LOBBY_TO_BREAKOUT: 'DISABLE_LOBBY_TO_BREAKOUT',
|
|
891
|
+
|
|
892
|
+
// participants list
|
|
893
|
+
DISABLE_VIEW_THE_PARTICIPANT_LIST: 'DISABLE_VIEW_THE_PARTICIPANT_LIST',
|
|
894
|
+
ENABLE_VIEW_THE_PARTICIPANT_LIST: 'ENABLE_VIEW_THE_PARTICIPANT_LIST',
|
|
895
|
+
|
|
896
|
+
// raise hand
|
|
897
|
+
DISABLE_RAISE_HAND: 'DISABLE_RAISE_HAND',
|
|
898
|
+
ENABLE_RAISE_HAND: 'ENABLE_RAISE_HAND',
|
|
899
|
+
|
|
900
|
+
// video
|
|
901
|
+
DISABLE_VIDEO: 'DISABLE_VIDEO',
|
|
902
|
+
ENABLE_VIDEO: 'ENABLE_VIDEO',
|
|
903
|
+
|
|
904
|
+
// Sharing
|
|
905
|
+
SHARE_FILE: 'SHARE_FILE',
|
|
906
|
+
SHARE_APPLICATION: 'SHARE_APPLICATION',
|
|
907
|
+
SHARE_CAMERA: 'SHARE_CAMERA',
|
|
908
|
+
SHARE_DESKTOP: 'SHARE_DESKTOP',
|
|
909
|
+
SHARE_CONTENT: 'SHARE_CONTENT',
|
|
910
|
+
SHARE_WHITEBOARD: 'SHARE_WHITEBOARD',
|
|
911
|
+
|
|
912
|
+
// Voip (audio/video)
|
|
913
|
+
VOIP_IS_ENABLED: 'VOIP_IS_ENABLED',
|
|
764
914
|
};
|
|
765
915
|
|
|
916
|
+
export const INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
|
|
917
|
+
|
|
766
918
|
export const SELF_ROLES = {
|
|
767
919
|
COHOST: 'COHOST',
|
|
768
920
|
MODERATOR: 'MODERATOR',
|
|
921
|
+
ATTENDEE: 'ATTENDEE',
|
|
769
922
|
};
|
|
770
923
|
|
|
771
924
|
export const MEETING_STATE = {
|
|
@@ -850,7 +1003,8 @@ export const RESOURCE = {
|
|
|
850
1003
|
};
|
|
851
1004
|
|
|
852
1005
|
export const REACHABILITY = {
|
|
853
|
-
|
|
1006
|
+
localStorageResult: 'reachability.result',
|
|
1007
|
+
localStorageJoinCookie: 'reachability.joinCookie',
|
|
854
1008
|
namespace: 'Reachability',
|
|
855
1009
|
};
|
|
856
1010
|
|
|
@@ -1031,16 +1185,6 @@ export const AVAILABLE_RESOLUTIONS = {
|
|
|
1031
1185
|
},
|
|
1032
1186
|
};
|
|
1033
1187
|
|
|
1034
|
-
export const VIDEO_RESOLUTIONS = {
|
|
1035
|
-
[QUALITY_LEVELS.LOW]: AVAILABLE_RESOLUTIONS['480p'],
|
|
1036
|
-
[QUALITY_LEVELS.MEDIUM]: AVAILABLE_RESOLUTIONS['720p'],
|
|
1037
|
-
[QUALITY_LEVELS.HIGH]: AVAILABLE_RESOLUTIONS['1080p'],
|
|
1038
|
-
[QUALITY_LEVELS['360p']]: AVAILABLE_RESOLUTIONS['360p'],
|
|
1039
|
-
[QUALITY_LEVELS['480p']]: AVAILABLE_RESOLUTIONS['480p'],
|
|
1040
|
-
[QUALITY_LEVELS['720p']]: AVAILABLE_RESOLUTIONS['720p'],
|
|
1041
|
-
[QUALITY_LEVELS['1080p']]: AVAILABLE_RESOLUTIONS['1080p'],
|
|
1042
|
-
};
|
|
1043
|
-
|
|
1044
1188
|
/*
|
|
1045
1189
|
* mqa Interval for sending stats metrics
|
|
1046
1190
|
*/
|
|
@@ -1053,8 +1197,6 @@ export const MEDIA_DEVICES = {
|
|
|
1053
1197
|
CAMERA: 'camera',
|
|
1054
1198
|
};
|
|
1055
1199
|
|
|
1056
|
-
export const METRICS_JOIN_TIMES_MAX_DURATION = 1200000;
|
|
1057
|
-
|
|
1058
1200
|
export const PSTN_STATUS = {
|
|
1059
1201
|
JOINED: 'JOINED', // we have provisioned a pstn device, which can be used to connect
|
|
1060
1202
|
CONNECTED: 'CONNECTED', // user is connected to audio with pstn device
|
|
@@ -1075,6 +1217,7 @@ export const MEETING_INFO_FAILURE_REASON = {
|
|
|
1075
1217
|
NONE: 'NONE', // meeting info was retrieved succesfully
|
|
1076
1218
|
WRONG_PASSWORD: 'WRONG_PASSWORD', // meeting requires password and no password or wrong one was provided
|
|
1077
1219
|
WRONG_CAPTCHA: 'WRONG_CAPTCHA', // wbxappapi requires a captcha code or a wrong captcha code was provided
|
|
1220
|
+
POLICY: 'POLICY', // meeting info request violates some meeting policy
|
|
1078
1221
|
OTHER: 'OTHER', // any other error (network, etc)
|
|
1079
1222
|
};
|
|
1080
1223
|
|
|
@@ -1089,3 +1232,18 @@ export const EMBEDDED_APP_TYPES = {
|
|
|
1089
1232
|
SLIDO: 'SLIDO',
|
|
1090
1233
|
OTHER: 'OTHER',
|
|
1091
1234
|
};
|
|
1235
|
+
|
|
1236
|
+
export const DEFAULT_MEETING_INFO_REQUEST_BODY = {
|
|
1237
|
+
supportHostKey: true,
|
|
1238
|
+
supportCountryList: true,
|
|
1239
|
+
};
|
|
1240
|
+
|
|
1241
|
+
/** the values for IP_VERSION are fixed and defined in Orpheus API */
|
|
1242
|
+
export const IP_VERSION = {
|
|
1243
|
+
unknown: 0,
|
|
1244
|
+
only_ipv4: 4, // we know we have ipv4, we don't know or we don't have ipv6
|
|
1245
|
+
only_ipv6: 6, // we know we have ipv6, we don't know or we don't have ipv4
|
|
1246
|
+
ipv4_and_ipv6: 1,
|
|
1247
|
+
} as const;
|
|
1248
|
+
|
|
1249
|
+
export type IP_VERSION = (typeof IP_VERSION)[keyof typeof IP_VERSION];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
enum Setting {
|
|
2
|
+
disallowUnmute = 'DisallowUnmute',
|
|
3
|
+
muteOnEntry = 'MuteOnEntry',
|
|
4
|
+
muted = 'Muted',
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
enum Control {
|
|
8
|
+
audio = 'audio',
|
|
9
|
+
raiseHand = 'raiseHand',
|
|
10
|
+
reactions = 'reactions',
|
|
11
|
+
shareControl = 'shareControl',
|
|
12
|
+
video = 'video',
|
|
13
|
+
viewTheParticipantList = 'viewTheParticipantList',
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export {Control, Setting};
|
|
17
|
+
|
|
18
|
+
export default Setting;
|