@webex/plugin-meetings 3.0.0-beta.31 → 3.0.0-beta.310
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 +94 -15
- 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 +709 -35
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/utils.js +45 -1
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/errors/no-meeting-info.js +51 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/reclaim-host-role-errors.js +158 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/webex-errors.js +48 -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/logs/request.js +5 -1
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +5 -11
- package/dist/config.js.map +1 -1
- package/dist/constants.js +233 -29
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +14 -2
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +109 -15
- package/dist/controls-options-manager/index.js.map +1 -1
- 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 +309 -18
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +112 -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 +383 -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 +57 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +249 -72
- 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 +61 -116
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +73 -124
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +82 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +3777 -2929
- 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 +230 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +260 -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 +73 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +192 -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 +39 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +415 -115
- 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 +72 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +58 -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 +132 -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 +102 -6
- 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 +326 -232
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +13 -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 +29 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +39 -36
- 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/multistream/sendSlotManager.js +233 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/index.js +225 -59
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +17 -8
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +201 -156
- 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 +62 -32
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +112 -97
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +95 -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 +86 -78
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +11 -10
- 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/utils.d.ts +14 -0
- package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/types/common/errors/webex-errors.d.ts +25 -1
- package/dist/types/common/logs/request.d.ts +2 -0
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +1 -7
- package/dist/types/constants.d.ts +194 -24
- package/dist/types/controls-options-manager/enums.d.ts +11 -1
- package/dist/types/controls-options-manager/index.d.ts +17 -1
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -7
- 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 +67 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -48
- package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
- package/dist/types/meeting/index.d.ts +463 -510
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +99 -23
- 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 +13 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/types/meetings/collection.d.ts +17 -0
- package/dist/types/meetings/index.d.ts +98 -20
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +14 -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 +25 -0
- package/dist/types/members/util.d.ts +214 -1
- package/dist/types/metrics/constants.d.ts +12 -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 +13 -11
- package/dist/types/multistream/receiveSlotManager.d.ts +14 -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/multistream/sendSlotManager.d.ts +61 -0
- package/dist/types/reachability/index.d.ts +61 -7
- 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/index.d.ts +2 -1
- package/dist/types/roap/request.d.ts +15 -11
- package/dist/types/roap/turnDiscovery.d.ts +21 -3
- 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 +7 -1
- package/dist/types/webinar/collection.d.ts +16 -0
- package/dist/types/webinar/index.d.ts +5 -0
- package/dist/webinar/collection.js +44 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.js +69 -0
- package/dist/webinar/index.js.map +1 -0
- 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 +42 -12
- package/src/breakouts/breakout.ts +67 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +592 -20
- package/src/breakouts/utils.ts +42 -0
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/reclaim-host-role-errors.ts +134 -0
- package/src/common/errors/webex-errors.ts +44 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +5 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +4 -10
- package/src/constants.ts +221 -19
- package/src/controls-options-manager/enums.ts +12 -0
- package/src/controls-options-manager/index.ts +116 -21
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +294 -14
- package/src/index.ts +40 -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 +413 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +64 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +102 -122
- package/src/media/properties.ts +87 -110
- package/src/meeting/in-meeting-actions.ts +163 -3
- package/src/meeting/index.ts +3132 -2541
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +229 -131
- package/src/meeting/request.ts +177 -121
- package/src/meeting/util.ts +588 -394
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +170 -14
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +23 -23
- package/src/meetings/collection.ts +33 -0
- package/src/meetings/index.ts +445 -123
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +80 -11
- package/src/member/index.ts +58 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +141 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +134 -8
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +29 -0
- package/src/members/util.ts +333 -240
- package/src/metrics/constants.ts +12 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +31 -17
- package/src/multistream/receiveSlotManager.ts +34 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +148 -30
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/reachability/index.ts +228 -37
- package/src/reachability/request.ts +17 -8
- package/src/reconnection-manager/index.ts +83 -56
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +63 -32
- package/src/roap/request.ts +100 -104
- package/src/roap/turnDiscovery.ts +48 -26
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/index.ts +105 -91
- package/src/statsAnalyzer/mqaUtil.ts +13 -14
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +60 -3
- package/test/integration/spec/journey.js +320 -261
- 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 +118 -28
- 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 +1395 -69
- package/test/unit/spec/breakouts/utils.js +52 -1
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +163 -0
- package/test/unit/spec/controls-options-manager/util.js +576 -60
- 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 +1304 -33
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
- package/test/unit/spec/locus-info/parser.js +116 -35
- 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 +104 -37
- package/test/unit/spec/media/properties.ts +2 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
- package/test/unit/spec/meeting/index.js +5216 -1956
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +408 -208
- package/test/unit/spec/meeting/request.js +483 -49
- package/test/unit/spec/meeting/utils.js +679 -64
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +26 -0
- package/test/unit/spec/meetings/index.js +1011 -205
- package/test/unit/spec/meetings/utils.js +202 -2
- package/test/unit/spec/member/index.js +61 -6
- package/test/unit/spec/member/util.js +510 -34
- package/test/unit/spec/members/index.js +432 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +210 -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 +28 -20
- package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
- 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/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/reachability/index.ts +549 -9
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +85 -9
- 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 +178 -64
- package/test/unit/spec/roap/request.ts +203 -85
- package/test/unit/spec/roap/turnDiscovery.ts +82 -36
- package/test/unit/spec/rtcMetrics/index.ts +73 -0
- package/test/unit/spec/stats-analyzer/index.js +136 -2
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -52
- 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
package/src/constants.ts
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
// @ts-ignore
|
|
2
2
|
import {hydraTypes} from '@webex/common';
|
|
3
3
|
|
|
4
|
+
type Enum<T extends Record<string, unknown>> = T[keyof T];
|
|
5
|
+
|
|
4
6
|
// *********** LOWERCASE / CAMELCASE STRINGS ************
|
|
5
7
|
|
|
6
8
|
export const AUDIO = 'audio';
|
|
7
|
-
export const AUDIO_INPUT = 'audioinput';
|
|
8
9
|
export const AUDIO_STATUS = 'audioStatus';
|
|
9
10
|
export const ALERT = 'alert';
|
|
11
|
+
export const ALIAS = 'alias';
|
|
10
12
|
export const ANSWER = 'answer';
|
|
11
13
|
|
|
12
14
|
export const CALL = 'call';
|
|
13
15
|
export const CORRELATION_ID = 'correlationId';
|
|
16
|
+
export const MEETINGNUMBER = 'meetingNumber';
|
|
14
17
|
export const CONVERSATION_URL = 'conversationUrl';
|
|
15
18
|
export const CALENDAR = 'calendar';
|
|
16
19
|
export const CALENDAR_EVENTS_API = 'calendarEvents';
|
|
@@ -65,7 +68,6 @@ export const SHARE = 'share';
|
|
|
65
68
|
export const TYPE = 'type';
|
|
66
69
|
|
|
67
70
|
export const VIDEO = 'video';
|
|
68
|
-
export const VIDEO_INPUT = 'videoinput';
|
|
69
71
|
export const VIDEO_STATUS = 'videoStatus';
|
|
70
72
|
|
|
71
73
|
// *********** UPPERCASE ONLY STRINGS ************
|
|
@@ -93,6 +95,7 @@ export const _JOINED_ = 'JOINED';
|
|
|
93
95
|
|
|
94
96
|
export const _LOCUS_ID_ = 'LOCUS_ID';
|
|
95
97
|
export const _LEFT_ = 'LEFT';
|
|
98
|
+
export const _MOVED_ = 'MOVED';
|
|
96
99
|
|
|
97
100
|
export const _MEETING_LINK_ = 'MEETING_LINK';
|
|
98
101
|
export const _MEETING_UUID_ = 'MEETING_UUID';
|
|
@@ -189,7 +192,8 @@ export const ICE_FAIL_TIMEOUT = 3000;
|
|
|
189
192
|
|
|
190
193
|
export const RETRY_TIMEOUT = 3000;
|
|
191
194
|
|
|
192
|
-
export const
|
|
195
|
+
export const ICE_AND_DTLS_CONNECTION_TIMEOUT = 10000;
|
|
196
|
+
export const ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT = 35000;
|
|
193
197
|
|
|
194
198
|
// ******************** REGEX **********************
|
|
195
199
|
// Please alphabetize
|
|
@@ -235,6 +239,13 @@ export const CALENDAR_EVENTS = {
|
|
|
235
239
|
DELETE: 'event:calendar.meeting.delete',
|
|
236
240
|
};
|
|
237
241
|
|
|
242
|
+
export const ASSIGN_ROLES_ERROR_CODES = {
|
|
243
|
+
ReclaimHostNotSupportedErrorCode: 2400127,
|
|
244
|
+
ReclaimHostNotAllowedErrorCode: 2403135,
|
|
245
|
+
ReclaimHostEmptyWrongKeyErrorCode: 2403136,
|
|
246
|
+
ReclaimHostIsHostAlreadyErrorCode: 2409150,
|
|
247
|
+
};
|
|
248
|
+
|
|
238
249
|
export const DEFAULT_GET_STATS_FILTER = {
|
|
239
250
|
types: [
|
|
240
251
|
'track',
|
|
@@ -280,6 +291,7 @@ export const EVENT_TRIGGERS = {
|
|
|
280
291
|
MEETING_STOPPED_SHARING_LOCAL: 'meeting:stoppedSharingLocal',
|
|
281
292
|
MEETING_STARTED_SHARING_REMOTE: 'meeting:startedSharingRemote',
|
|
282
293
|
MEETING_STOPPED_SHARING_REMOTE: 'meeting:stoppedSharingRemote',
|
|
294
|
+
MEETING_UPDATE_ANNOTATION_INFO: 'meeting:updateAnnotationInfo',
|
|
283
295
|
MEETING_STARTED_SHARING_WHITEBOARD: 'meeting:startedSharingWhiteboard',
|
|
284
296
|
MEETING_STOPPED_SHARING_WHITEBOARD: 'meeting:stoppedSharingWhiteboard',
|
|
285
297
|
MEETING_MEDIA_LOCAL_STARTED: 'meeting:media:local:start',
|
|
@@ -297,18 +309,29 @@ export const EVENT_TRIGGERS = {
|
|
|
297
309
|
MEETING_RINGING_STOP: 'meeting:ringingStop',
|
|
298
310
|
MEETING_SELF_LOBBY_WAITING: 'meeting:self:lobbyWaiting',
|
|
299
311
|
MEETING_SELF_GUEST_ADMITTED: 'meeting:self:guestAdmitted',
|
|
312
|
+
MEETING_SELF_VIDEO_MUTED_BY_OTHERS: 'meeting:self:videoMutedByOthers',
|
|
313
|
+
MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS: 'meeting:self:videoUnmutedByOthers',
|
|
300
314
|
MEETING_SELF_MUTED_BY_OTHERS: 'meeting:self:mutedByOthers',
|
|
301
315
|
MEETING_SELF_UNMUTED_BY_OTHERS: 'meeting:self:unmutedByOthers',
|
|
302
316
|
MEETING_SELF_REQUESTED_TO_UNMUTE: 'meeting:self:requestedToUnmute',
|
|
303
317
|
MEETING_SELF_PHONE_AUDIO_UPDATE: 'meeting:self:phoneAudioUpdate',
|
|
304
318
|
MEETING_SELF_CANNOT_VIEW_PARTICIPANT_LIST: 'meeting:self:cannotViewParticipantList',
|
|
305
319
|
MEETING_SELF_IS_SHARING_BLOCKED: 'meeting:self:isSharingBlocked',
|
|
320
|
+
MEETING_SELF_ROLES_CHANGED: 'meeting:self:rolesChanged',
|
|
306
321
|
MEETING_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',
|
|
307
322
|
MEETING_ENTRY_EXIT_TONE_UPDATE: 'meeting:entryExitTone:update',
|
|
308
323
|
MEETING_BREAKOUTS_UPDATE: 'meeting:breakouts:update',
|
|
309
324
|
MEETING_BREAKOUTS_CLOSING: 'meeting:breakouts:closing',
|
|
310
325
|
MEETING_BREAKOUTS_MESSAGE: 'meeting:breakouts:message',
|
|
326
|
+
MEETING_BREAKOUTS_ASK_RETURN_TO_MAIN: 'meeting:breakouts:askReturnToMain',
|
|
327
|
+
MEETING_BREAKOUTS_LEAVE: 'meeting:breakouts:leave',
|
|
328
|
+
MEETING_BREAKOUTS_ASK_FOR_HELP: 'meeting:breakouts:askForHelp',
|
|
329
|
+
MEETING_BREAKOUTS_PRE_ASSIGNMENTS_UPDATE: 'meeting:breakouts:preAssignmentsUpdate',
|
|
330
|
+
MEETING_INTERPRETATION_UPDATE: 'meeting:interpretation:update',
|
|
331
|
+
MEETING_INTERPRETATION_SUPPORT_LANGUAGES_UPDATE: 'meeting:interpretation:supportLanguagesUpdate',
|
|
332
|
+
MEETING_INTERPRETATION_HANDOFF_REQUESTS_ARRIVED: 'meeting:interpretation:handoffRequestsArrived',
|
|
311
333
|
MEMBERS_UPDATE: 'members:update',
|
|
334
|
+
MEMBERS_CLEAR: 'members:clear',
|
|
312
335
|
MEMBERS_CONTENT_UPDATE: 'members:content:update',
|
|
313
336
|
MEMBERS_HOST_UPDATE: 'members:host:update',
|
|
314
337
|
MEMBERS_SELF_UPDATE: 'members:self:update',
|
|
@@ -337,17 +360,28 @@ export const EVENT_TRIGGERS = {
|
|
|
337
360
|
REMOTE_MEDIA_AUDIO_CREATED: 'media:remoteAudio:created',
|
|
338
361
|
REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:remoteScreenShareAudio:created',
|
|
339
362
|
REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: 'media:remoteVideo:layoutChanged',
|
|
363
|
+
// Controls
|
|
364
|
+
MEETING_CONTROLS_MUTE_ON_ENTRY_UPDATED: 'meeting:controls:mute-on-entry:updated',
|
|
365
|
+
MEETING_CONTROLS_SHARE_CONTROL_UPDATED: 'meeting:controls:share-control:updated',
|
|
366
|
+
MEETING_CONTROLS_DISALLOW_UNMUTE_UPDATED: 'meeting:controls:disallow-unmute:updated',
|
|
367
|
+
MEETING_CONTROLS_REACTIONS_UPDATED: 'meeting:controls:reactions:updated',
|
|
368
|
+
MEETING_CONTROLS_VIEW_THE_PARTICIPANTS_LIST_UPDATED:
|
|
369
|
+
'meeting:controls:view-the-participants-list:updated',
|
|
370
|
+
MEETING_CONTROLS_RAISE_HAND_UPDATED: 'meeting:controls:raise-hand:updated',
|
|
371
|
+
MEETING_CONTROLS_VIDEO_UPDATED: 'meeting:controls:video:updated',
|
|
372
|
+
// Locus URL changed
|
|
373
|
+
MEETING_LOCUS_URL_UPDATE: 'meeting:locus:locusUrl:update',
|
|
374
|
+
MEETING_STREAM_PUBLISH_STATE_CHANGED: 'meeting:streamPublishStateChanged',
|
|
340
375
|
};
|
|
341
376
|
|
|
342
377
|
export const EVENT_TYPES = {
|
|
343
378
|
SELF: 'self',
|
|
344
379
|
OTHER: 'other',
|
|
345
|
-
LOCAL: 'local',
|
|
346
380
|
REMOTE: 'remote',
|
|
347
381
|
REMOTE_AUDIO: 'remoteAudio',
|
|
348
382
|
REMOTE_VIDEO: 'remoteVideo',
|
|
349
383
|
REMOTE_SHARE: 'remoteShare',
|
|
350
|
-
|
|
384
|
+
REMOTE_SHARE_AUDIO: 'remoteShareAudio',
|
|
351
385
|
ERROR: 'error',
|
|
352
386
|
};
|
|
353
387
|
|
|
@@ -360,9 +394,12 @@ export const MEETING_REMOVED_REASON = {
|
|
|
360
394
|
FULLSTATE_REMOVED: 'FULLSTATE_REMOVED', // meeting got dropped ? not sure
|
|
361
395
|
MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING', // Meeting got ended or everyone left the meeting
|
|
362
396
|
CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST', // You triggered leave meeting
|
|
397
|
+
CLIENT_LEAVE_REQUEST_TAB_CLOSED: 'CLIENT_LEAVE_REQUEST_TAB_CLOSED', // You triggered leave meeting, such as closing the browser tab directly
|
|
363
398
|
USER_ENDED_SHARE_STREAMS: 'USER_ENDED_SHARE_STREAMS', // user triggered stop share
|
|
364
399
|
NO_MEETINGS_TO_SYNC: 'NO_MEETINGS_TO_SYNC', // After the syncMeeting no meeting exists
|
|
365
400
|
MEETING_CONNECTION_FAILED: 'MEETING_CONNECTION_FAILED', // meeting failed to connect due to ice failures or firewall issue
|
|
401
|
+
LOCUS_DTO_SYNC_FAILED: 'LOCUS_DTO_SYNC_FAILED', // failed to get any Locus DTO for that meeting
|
|
402
|
+
MISSING_MEETING_INFO: 'MISSING_MEETING_INFO', // meeting info failed to be fetched
|
|
366
403
|
};
|
|
367
404
|
|
|
368
405
|
// One one one calls ends for the following reasons
|
|
@@ -377,6 +414,8 @@ export const CALL_REMOVED_REASON = {
|
|
|
377
414
|
export const SHARE_STOPPED_REASON = {
|
|
378
415
|
SELF_STOPPED: 'SELF_STOPPED',
|
|
379
416
|
MEETING_REJOIN: 'MEETING_REJOIN',
|
|
417
|
+
MEDIA_RECONNECTION: 'MEDIA_RECONNECTION',
|
|
418
|
+
TRACK_ENDED: 'TRACK_ENDED',
|
|
380
419
|
};
|
|
381
420
|
|
|
382
421
|
export const EVENTS = {
|
|
@@ -452,6 +491,40 @@ export const ERROR_DICTIONARY = {
|
|
|
452
491
|
MESSAGE: 'Captcha is required.',
|
|
453
492
|
CODE: 8,
|
|
454
493
|
},
|
|
494
|
+
BREAKOUT_EDIT: {
|
|
495
|
+
NAME: 'BreakoutEditLockedError',
|
|
496
|
+
MESSAGE: 'Edit lock token mismatch',
|
|
497
|
+
CODE: 9,
|
|
498
|
+
},
|
|
499
|
+
NO_MEETING_INFO: {
|
|
500
|
+
NAME: 'NoMeetingInfo',
|
|
501
|
+
MESSAGE: 'No meeting info found for the meeting',
|
|
502
|
+
CODE: 10,
|
|
503
|
+
},
|
|
504
|
+
RECLAIM_HOST_ROLE_NOT_SUPPORTED: {
|
|
505
|
+
NAME: 'ReclaimHostRoleNotSupported',
|
|
506
|
+
MESSAGE:
|
|
507
|
+
'Non converged meetings, PSTN or SIP users in converged meetings are not supported currently.',
|
|
508
|
+
CODE: 11,
|
|
509
|
+
},
|
|
510
|
+
RECLAIM_HOST_ROLE_NOT_ALLOWED: {
|
|
511
|
+
NAME: 'ReclaimHostRoleNotAllowed',
|
|
512
|
+
MESSAGE:
|
|
513
|
+
'Reclaim Host Role Not Allowed For Other Participants. Participants cannot claim host role in PMR meeting, space instant meeting or escalated instant meeting. However, the original host still can reclaim host role when it manually makes another participant to be the host.',
|
|
514
|
+
CODE: 12,
|
|
515
|
+
},
|
|
516
|
+
RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY: {
|
|
517
|
+
NAME: 'ReclaimHostRoleEmptyOrWrongKey',
|
|
518
|
+
MESSAGE:
|
|
519
|
+
'Host Key Not Specified Or Matched. The original host can reclaim the host role without entering the host key. However, any other person who claims the host role must enter the host key to get it.',
|
|
520
|
+
CODE: 13,
|
|
521
|
+
},
|
|
522
|
+
RECLAIM_HOST_ROLE_IS_ALREADY_HOST: {
|
|
523
|
+
NAME: 'ReclaimHostRoleIsAlreadyHost',
|
|
524
|
+
MESSAGE:
|
|
525
|
+
'Participant Having Host Role Already. Participant who sends request to reclaim host role has already a host role.',
|
|
526
|
+
CODE: 14,
|
|
527
|
+
},
|
|
455
528
|
};
|
|
456
529
|
|
|
457
530
|
export const FLOOR_ACTION = {
|
|
@@ -473,6 +546,7 @@ export const HTTP_VERBS = {
|
|
|
473
546
|
POST: 'POST',
|
|
474
547
|
GET: 'GET',
|
|
475
548
|
PATCH: 'PATCH',
|
|
549
|
+
DELETE: 'DELETE',
|
|
476
550
|
};
|
|
477
551
|
|
|
478
552
|
// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState
|
|
@@ -518,17 +592,28 @@ export const LOCUS = {
|
|
|
518
592
|
SYNCDEBUG: 'sync_debug',
|
|
519
593
|
};
|
|
520
594
|
|
|
595
|
+
export const ANNOTATION = {
|
|
596
|
+
ANNOTATION_ON_SHARE_SUPPORTED: 'ANNOTATION_ON_SHARE_SUPPORTED',
|
|
597
|
+
};
|
|
521
598
|
export const BREAKOUTS = {
|
|
522
599
|
STATUS: {
|
|
523
600
|
CLOSING: 'CLOSING',
|
|
601
|
+
CLOSED: 'CLOSED',
|
|
602
|
+
PENDING: 'PENDING',
|
|
603
|
+
OPEN: 'OPEN',
|
|
524
604
|
},
|
|
525
605
|
EVENTS: {
|
|
526
606
|
BREAKOUTS_CLOSING: 'BREAKOUTS_CLOSING',
|
|
527
607
|
MESSAGE: 'MESSAGE',
|
|
528
608
|
MEMBERS_UPDATE: 'MEMBERS_UPDATE',
|
|
609
|
+
ASK_RETURN_TO_MAIN: 'ASK_RETURN_TO_MAIN',
|
|
610
|
+
LEAVE_BREAKOUT: 'LEAVE_BREAKOUT',
|
|
611
|
+
ASK_FOR_HELP: 'ASK_FOR_HELP',
|
|
612
|
+
PRE_ASSIGNMENTS_UPDATE: 'PRE_ASSIGNMENTS_UPDATE',
|
|
529
613
|
},
|
|
530
614
|
SESSION_TYPES: {
|
|
531
615
|
MAIN: 'MAIN',
|
|
616
|
+
BREAKOUT: 'BREAKOUT',
|
|
532
617
|
},
|
|
533
618
|
SESSION_STATES: {
|
|
534
619
|
ACTIVE: 'active',
|
|
@@ -538,6 +623,35 @@ export const BREAKOUTS = {
|
|
|
538
623
|
REQUESTED: 'requested',
|
|
539
624
|
},
|
|
540
625
|
BREAKOUTS_SUPPORTED: 'BREAKOUTS_SUPPORTED',
|
|
626
|
+
ACTION: {
|
|
627
|
+
START: 'START',
|
|
628
|
+
CLOSE: 'CLOSE',
|
|
629
|
+
DELETE: 'DELETE',
|
|
630
|
+
},
|
|
631
|
+
ERROR_CODE: {
|
|
632
|
+
EDIT_LOCK_TOKEN_MISMATCH: 201409024,
|
|
633
|
+
EDIT_NOT_AUTHORIZED: 201403007,
|
|
634
|
+
},
|
|
635
|
+
EDIT_LOCK_STATUS: {
|
|
636
|
+
LOCKED: 'LOCKED',
|
|
637
|
+
NOT_LOCKED: 'NOT_LOCKED',
|
|
638
|
+
UNKNOWN: 'UNKNOWN',
|
|
639
|
+
},
|
|
640
|
+
DEFAULT_TTL: 30,
|
|
641
|
+
};
|
|
642
|
+
|
|
643
|
+
export const INTERPRETATION = {
|
|
644
|
+
EVENTS: {
|
|
645
|
+
SUPPORT_LANGUAGES_UPDATE: 'SUPPORT_LANGUAGES_UPDATE',
|
|
646
|
+
HANDOFF_REQUESTS_ARRIVED: 'HANDOFF_REQUESTS_ARRIVED',
|
|
647
|
+
},
|
|
648
|
+
ACTION_TYPE: {
|
|
649
|
+
OFFERED: 'OFFERED',
|
|
650
|
+
ACCEPTED: 'ACCEPTED',
|
|
651
|
+
REQUESTED: 'REQUESTED',
|
|
652
|
+
DECLINED: 'DECLINED',
|
|
653
|
+
},
|
|
654
|
+
RESOURCE_TYPE: 'SiHandover',
|
|
541
655
|
};
|
|
542
656
|
|
|
543
657
|
export const LOCUSINFO = {
|
|
@@ -547,13 +661,24 @@ export const LOCUSINFO = {
|
|
|
547
661
|
CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
|
|
548
662
|
CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',
|
|
549
663
|
CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',
|
|
664
|
+
CONTROLS_MEETING_INTERPRETATION_UPDATED: 'CONTROLS_MEETING_INTERPRETATION_UPDATED',
|
|
550
665
|
CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',
|
|
666
|
+
CONTROLS_JOIN_BREAKOUT_FROM_MAIN: 'CONTROLS_JOIN_BREAKOUT_FROM_MAIN',
|
|
667
|
+
CONTROLS_MUTE_ON_ENTRY_CHANGED: 'CONTROLS_MUTE_ON_ENTRY_CHANGED',
|
|
668
|
+
CONTROLS_SHARE_CONTROL_CHANGED: 'CONTROLS_SHARE_CONTROL_CHANGED',
|
|
669
|
+
CONTROLS_DISALLOW_UNMUTE_CHANGED: 'CONTROLS_DISALLOW_UNMUTE_CHANGED',
|
|
670
|
+
CONTROLS_REACTIONS_CHANGED: 'CONTROLS_REACTIONS_CHANGED',
|
|
671
|
+
CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED: 'CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED',
|
|
672
|
+
CONTROLS_RAISE_HAND_CHANGED: 'CONTROLS_RAISE_HAND_CHANGED',
|
|
673
|
+
CONTROLS_VIDEO_CHANGED: 'CONTROLS_VIDEO_CHANGED',
|
|
551
674
|
SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
|
|
552
675
|
SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
|
|
676
|
+
SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: 'SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED',
|
|
553
677
|
SELF_REMOTE_MUTE_STATUS_UPDATED: 'SELF_REMOTE_MUTE_STATUS_UPDATED',
|
|
554
678
|
LOCAL_UNMUTE_REQUESTED: 'LOCAL_UNMUTE_REQUESTED',
|
|
555
679
|
LOCAL_UNMUTE_REQUIRED: 'LOCAL_UNMUTE_REQUIRED',
|
|
556
680
|
SELF_MODERATOR_CHANGED: 'SELF_MODERATOR_CHANGED',
|
|
681
|
+
SELF_ROLES_CHANGED: 'SELF_ROLES_CHANGED',
|
|
557
682
|
MEETING_UPDATE: 'MEETING_UPDATE',
|
|
558
683
|
MEDIA_STATUS_CHANGE: 'MEDIA_STATUS_CHANGE',
|
|
559
684
|
FULL_STATE_TYPE_UPDATE: 'FULL_STATE_TYPE_UPDATE',
|
|
@@ -568,6 +693,7 @@ export const LOCUSINFO = {
|
|
|
568
693
|
SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',
|
|
569
694
|
SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',
|
|
570
695
|
SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',
|
|
696
|
+
SELF_MEETING_INTERPRETATION_CHANGED: 'SELF_MEETING_INTERPRETATION_CHANGED',
|
|
571
697
|
MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
|
|
572
698
|
LINKS_SERVICES: 'LINKS_SERVICES',
|
|
573
699
|
},
|
|
@@ -732,6 +858,28 @@ export const MEETING_END_REASON = {
|
|
|
732
858
|
MEDIA_RELEASED: 'MEDIA_RELEASED',
|
|
733
859
|
};
|
|
734
860
|
|
|
861
|
+
export enum SELF_POLICY {
|
|
862
|
+
ENFORCE_VIRTUAL_BACKGROUND = 'enforceVirtualBackground',
|
|
863
|
+
SUPPORT_LOCAL_RECORD = 'supportLocalRecord',
|
|
864
|
+
SUPPORT_NETWORK_BASED_RECORD = 'supportNetworkBasedRecord',
|
|
865
|
+
SUPPORT_REALTIME_CLOSE_CAPTION = 'supportRealtimeCloseCaption',
|
|
866
|
+
SUPPORT_CHAT = 'supportChat',
|
|
867
|
+
SUPPORT_DESKTOP_SHARE_REMOTE = 'supportDesktopShareRemote',
|
|
868
|
+
SUPPORT_DESKTOP_SHARE = 'supportDesktopShare',
|
|
869
|
+
SUPPORT_WHITEBOARD = 'supportWhiteboard',
|
|
870
|
+
SUPPORT_FILE_TRANSFER = 'supportFileTransfer',
|
|
871
|
+
SUPPORT_APP_SHARE = 'supportAppShare',
|
|
872
|
+
SUPPORT_CAMERA_SHARE = 'supportCameraShare',
|
|
873
|
+
SUPPORT_FILE_SHARE = 'supportFileShare',
|
|
874
|
+
SUPPORT_ANNOTATION = 'supportAnnotation',
|
|
875
|
+
SUPPORT_BROADCAST_MESSAGE = 'supportBroadcastMessage',
|
|
876
|
+
SUPPORT_VIDEO = 'supportVideo',
|
|
877
|
+
SUPPORT_HQV = 'supportHQV',
|
|
878
|
+
SUPPORT_HDV = 'supportHDV',
|
|
879
|
+
SUPPORT_PARTICIPANT_LIST = 'supportParticipantList',
|
|
880
|
+
SUPPORT_VOIP = 'supportVoIP',
|
|
881
|
+
}
|
|
882
|
+
|
|
735
883
|
export const DISPLAY_HINTS = {
|
|
736
884
|
ADD_GUEST: 'ADD_GUEST',
|
|
737
885
|
ROSTER_WAITING_TO_JOIN: 'ROSTER_WAITING_TO_JOIN',
|
|
@@ -755,21 +903,64 @@ export const DISPLAY_HINTS = {
|
|
|
755
903
|
DISPLAY_NON_ENGLISH_ASR: 'DISPLAY_NON_ENGLISH_ASR',
|
|
756
904
|
TRANSCRIPTION_CONTROL_START: 'TRANSCRIPTION_CONTROL_START',
|
|
757
905
|
TRANSCRIPTION_CONTROL_STOP: 'TRANSCRIPTION_CONTROL_STOP',
|
|
906
|
+
SAVE_TRANSCRIPTS_ENABLED: 'SAVE_TRANSCRIPTS_ENABLED',
|
|
758
907
|
WEBEX_ASSISTANT_STATUS_ACTIVE: 'WEBEX_ASSISTANT_STATUS_ACTIVE',
|
|
759
908
|
WAITING_FOR_OTHERS: 'WAITING_FOR_OTHERS',
|
|
760
909
|
ENABLE_REACTIONS: 'ENABLE_REACTIONS',
|
|
761
910
|
DISABLE_REACTIONS: 'DISABLE_REACTIONS',
|
|
762
911
|
REACTIONS_ACTIVE: 'REACTIONS_ACTIVE',
|
|
763
912
|
REACTIONS_INACTIVE: 'REACTIONS_INACTIVE',
|
|
913
|
+
SHARE_CONTROL: 'SHARE_CONTROL',
|
|
764
914
|
ENABLE_MUTE_ON_ENTRY: 'ENABLE_MUTE_ON_ENTRY',
|
|
915
|
+
ENABLE_SHOW_DISPLAY_NAME: 'ENABLE_SHOW_DISPLAY_NAME',
|
|
916
|
+
DISABLE_SHOW_DISPLAY_NAME: 'DISABLE_SHOW_DISPLAY_NAME',
|
|
765
917
|
DISABLE_MUTE_ON_ENTRY: 'DISABLE_MUTE_ON_ENTRY',
|
|
766
918
|
ENABLE_HARD_MUTE: 'ENABLE_HARD_MUTE',
|
|
767
919
|
DISABLE_HARD_MUTE: 'DISABLE_HARD_MUTE',
|
|
920
|
+
MUTE_ALL: 'MUTE_ALL',
|
|
921
|
+
UNMUTE_ALL: 'UNMUTE_ALL',
|
|
922
|
+
PRESENTER_CONTROL: 'PRESENTER_CONTROL',
|
|
923
|
+
CAN_RENAME_SELF_AND_OBSERVED: 'CAN_RENAME_SELF_AND_OBSERVED',
|
|
924
|
+
CAN_RENAME_OTHERS: 'CAN_RENAME_OTHERS',
|
|
925
|
+
|
|
926
|
+
// breakout session
|
|
927
|
+
BREAKOUT_MANAGEMENT: 'BREAKOUT_MANAGEMENT',
|
|
928
|
+
BROADCAST_MESSAGE_TO_BREAKOUT: 'BROADCAST_MESSAGE_TO_BREAKOUT',
|
|
929
|
+
UCF_SUPPRESS_BREAKOUTS_SUPPORT: 'UCF_SUPPRESS_BREAKOUTS_SUPPORT',
|
|
930
|
+
DISABLE_ASK_FOR_HELP: 'DISABLE_ASK_FOR_HELP',
|
|
931
|
+
DISABLE_BREAKOUT_PREASSIGNMENTS: 'DISABLE_BREAKOUT_PREASSIGNMENTS',
|
|
932
|
+
DISABLE_LOBBY_TO_BREAKOUT: 'DISABLE_LOBBY_TO_BREAKOUT',
|
|
933
|
+
|
|
934
|
+
// participants list
|
|
935
|
+
DISABLE_VIEW_THE_PARTICIPANT_LIST: 'DISABLE_VIEW_THE_PARTICIPANT_LIST',
|
|
936
|
+
ENABLE_VIEW_THE_PARTICIPANT_LIST: 'ENABLE_VIEW_THE_PARTICIPANT_LIST',
|
|
937
|
+
|
|
938
|
+
// raise hand
|
|
939
|
+
DISABLE_RAISE_HAND: 'DISABLE_RAISE_HAND',
|
|
940
|
+
ENABLE_RAISE_HAND: 'ENABLE_RAISE_HAND',
|
|
941
|
+
|
|
942
|
+
// video
|
|
943
|
+
DISABLE_VIDEO: 'DISABLE_VIDEO',
|
|
944
|
+
ENABLE_VIDEO: 'ENABLE_VIDEO',
|
|
945
|
+
|
|
946
|
+
// Sharing
|
|
947
|
+
SHARE_FILE: 'SHARE_FILE',
|
|
948
|
+
SHARE_APPLICATION: 'SHARE_APPLICATION',
|
|
949
|
+
SHARE_CAMERA: 'SHARE_CAMERA',
|
|
950
|
+
SHARE_DESKTOP: 'SHARE_DESKTOP',
|
|
951
|
+
SHARE_CONTENT: 'SHARE_CONTENT',
|
|
952
|
+
SHARE_WHITEBOARD: 'SHARE_WHITEBOARD',
|
|
953
|
+
|
|
954
|
+
// Voip (audio/video)
|
|
955
|
+
VOIP_IS_ENABLED: 'VOIP_IS_ENABLED',
|
|
768
956
|
};
|
|
769
957
|
|
|
958
|
+
export const INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
|
|
959
|
+
|
|
770
960
|
export const SELF_ROLES = {
|
|
771
961
|
COHOST: 'COHOST',
|
|
772
962
|
MODERATOR: 'MODERATOR',
|
|
963
|
+
ATTENDEE: 'ATTENDEE',
|
|
773
964
|
};
|
|
774
965
|
|
|
775
966
|
export const MEETING_STATE = {
|
|
@@ -854,7 +1045,8 @@ export const RESOURCE = {
|
|
|
854
1045
|
};
|
|
855
1046
|
|
|
856
1047
|
export const REACHABILITY = {
|
|
857
|
-
|
|
1048
|
+
localStorageResult: 'reachability.result',
|
|
1049
|
+
localStorageJoinCookie: 'reachability.joinCookie',
|
|
858
1050
|
namespace: 'Reachability',
|
|
859
1051
|
};
|
|
860
1052
|
|
|
@@ -880,7 +1072,9 @@ export const NETWORK_STATUS = {
|
|
|
880
1072
|
DISCONNECTED: 'DISCONNECTED',
|
|
881
1073
|
RECONNECTING: 'RECONNECTING',
|
|
882
1074
|
CONNECTED: 'CONNECTED',
|
|
883
|
-
};
|
|
1075
|
+
} as const;
|
|
1076
|
+
|
|
1077
|
+
export type NETWORK_STATUS = Enum<typeof NETWORK_STATUS>;
|
|
884
1078
|
|
|
885
1079
|
export const NETWORK_TYPE = {
|
|
886
1080
|
VPN: 'vpn',
|
|
@@ -1035,16 +1229,6 @@ export const AVAILABLE_RESOLUTIONS = {
|
|
|
1035
1229
|
},
|
|
1036
1230
|
};
|
|
1037
1231
|
|
|
1038
|
-
export const VIDEO_RESOLUTIONS = {
|
|
1039
|
-
[QUALITY_LEVELS.LOW]: AVAILABLE_RESOLUTIONS['480p'],
|
|
1040
|
-
[QUALITY_LEVELS.MEDIUM]: AVAILABLE_RESOLUTIONS['720p'],
|
|
1041
|
-
[QUALITY_LEVELS.HIGH]: AVAILABLE_RESOLUTIONS['1080p'],
|
|
1042
|
-
[QUALITY_LEVELS['360p']]: AVAILABLE_RESOLUTIONS['360p'],
|
|
1043
|
-
[QUALITY_LEVELS['480p']]: AVAILABLE_RESOLUTIONS['480p'],
|
|
1044
|
-
[QUALITY_LEVELS['720p']]: AVAILABLE_RESOLUTIONS['720p'],
|
|
1045
|
-
[QUALITY_LEVELS['1080p']]: AVAILABLE_RESOLUTIONS['1080p'],
|
|
1046
|
-
};
|
|
1047
|
-
|
|
1048
1232
|
/*
|
|
1049
1233
|
* mqa Interval for sending stats metrics
|
|
1050
1234
|
*/
|
|
@@ -1057,8 +1241,6 @@ export const MEDIA_DEVICES = {
|
|
|
1057
1241
|
CAMERA: 'camera',
|
|
1058
1242
|
};
|
|
1059
1243
|
|
|
1060
|
-
export const METRICS_JOIN_TIMES_MAX_DURATION = 1200000;
|
|
1061
|
-
|
|
1062
1244
|
export const PSTN_STATUS = {
|
|
1063
1245
|
JOINED: 'JOINED', // we have provisioned a pstn device, which can be used to connect
|
|
1064
1246
|
CONNECTED: 'CONNECTED', // user is connected to audio with pstn device
|
|
@@ -1079,6 +1261,7 @@ export const MEETING_INFO_FAILURE_REASON = {
|
|
|
1079
1261
|
NONE: 'NONE', // meeting info was retrieved succesfully
|
|
1080
1262
|
WRONG_PASSWORD: 'WRONG_PASSWORD', // meeting requires password and no password or wrong one was provided
|
|
1081
1263
|
WRONG_CAPTCHA: 'WRONG_CAPTCHA', // wbxappapi requires a captcha code or a wrong captcha code was provided
|
|
1264
|
+
POLICY: 'POLICY', // meeting info request violates some meeting policy
|
|
1082
1265
|
OTHER: 'OTHER', // any other error (network, etc)
|
|
1083
1266
|
};
|
|
1084
1267
|
|
|
@@ -1093,3 +1276,22 @@ export const EMBEDDED_APP_TYPES = {
|
|
|
1093
1276
|
SLIDO: 'SLIDO',
|
|
1094
1277
|
OTHER: 'OTHER',
|
|
1095
1278
|
};
|
|
1279
|
+
|
|
1280
|
+
export const DEFAULT_MEETING_INFO_REQUEST_BODY = {
|
|
1281
|
+
supportHostKey: true,
|
|
1282
|
+
supportCountryList: true,
|
|
1283
|
+
};
|
|
1284
|
+
|
|
1285
|
+
/** the values for IP_VERSION are fixed and defined in Orpheus API */
|
|
1286
|
+
export const IP_VERSION = {
|
|
1287
|
+
unknown: 0,
|
|
1288
|
+
only_ipv4: 4, // we know we have ipv4, we don't know or we don't have ipv6
|
|
1289
|
+
only_ipv6: 6, // we know we have ipv6, we don't know or we don't have ipv4
|
|
1290
|
+
ipv4_and_ipv6: 1,
|
|
1291
|
+
} as const;
|
|
1292
|
+
|
|
1293
|
+
export type IP_VERSION = Enum<typeof IP_VERSION>;
|
|
1294
|
+
|
|
1295
|
+
// constant for if the permissionToken is about to expire in the next 30 seconds, refresh it
|
|
1296
|
+
export const MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = 30;
|
|
1297
|
+
export const MEETING_PERMISSION_TOKEN_REFRESH_REASON = 'ttl-join';
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
enum Setting {
|
|
2
2
|
disallowUnmute = 'DisallowUnmute',
|
|
3
3
|
muteOnEntry = 'MuteOnEntry',
|
|
4
|
+
muted = 'Muted',
|
|
4
5
|
}
|
|
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
|
+
|
|
6
18
|
export default Setting;
|
|
@@ -3,7 +3,8 @@ import PermissionError from '../common/errors/permission';
|
|
|
3
3
|
import {CONTROLS, HTTP_VERBS} from '../constants';
|
|
4
4
|
import MeetingRequest from '../meeting/request';
|
|
5
5
|
import LoggerProxy from '../common/logs/logger-proxy';
|
|
6
|
-
import Setting from './enums';
|
|
6
|
+
import {Control, Setting} from './enums';
|
|
7
|
+
import {ControlConfig} from './types';
|
|
7
8
|
import Util from './util';
|
|
8
9
|
import {CAN_SET, CAN_UNSET, ENABLED} from './constants';
|
|
9
10
|
|
|
@@ -133,32 +134,106 @@ export default class ControlsOptionsManager {
|
|
|
133
134
|
this.setLocusUrl(options?.locusUrl);
|
|
134
135
|
}
|
|
135
136
|
|
|
137
|
+
/**
|
|
138
|
+
* Set controls for this meeting.
|
|
139
|
+
*
|
|
140
|
+
* @param {Array<ControlConfig>} controls - Spread Array of ControlConfigs
|
|
141
|
+
* @returns {Promise<Array<any>>}- Promise resolving if the request was successful.
|
|
142
|
+
*/
|
|
143
|
+
public update(...controls: Array<ControlConfig>) {
|
|
144
|
+
const payloads = controls.map((control) => {
|
|
145
|
+
if (!Object.keys(Control).includes(control.scope)) {
|
|
146
|
+
throw new Error(
|
|
147
|
+
`updating meeting control scope "${control.scope}" is not a supported scope`
|
|
148
|
+
);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
if (!Util.canUpdate(control, this.displayHints)) {
|
|
152
|
+
throw new PermissionError(
|
|
153
|
+
`updating meeting control scope "${control.scope}" not allowed, due to moderator property.`
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return {
|
|
158
|
+
[control.scope]: control.properties,
|
|
159
|
+
};
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
return payloads.reduce((previous, payload) => {
|
|
163
|
+
return previous.then(() =>
|
|
164
|
+
// @ts-ignore
|
|
165
|
+
this.request.request({
|
|
166
|
+
uri: `${this.locusUrl}/${CONTROLS}`,
|
|
167
|
+
body: payload,
|
|
168
|
+
method: HTTP_VERBS.PATCH,
|
|
169
|
+
})
|
|
170
|
+
);
|
|
171
|
+
}, Promise.resolve());
|
|
172
|
+
}
|
|
173
|
+
|
|
136
174
|
/**
|
|
137
175
|
* @param {Setting} setting
|
|
138
|
-
* @param {boolean} enabled
|
|
139
176
|
* @private
|
|
140
177
|
* @memberof ControlsOptionsManager
|
|
141
178
|
* @returns {Promise}
|
|
142
179
|
*/
|
|
143
|
-
private setControls(setting: Setting
|
|
144
|
-
LoggerProxy.logger.log(
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
180
|
+
private setControls(setting: {[key in Setting]?: boolean}): Promise<any> {
|
|
181
|
+
LoggerProxy.logger.log(
|
|
182
|
+
`ControlsOptionsManager:index#setControls --> ${JSON.stringify(setting)}`
|
|
183
|
+
);
|
|
184
|
+
|
|
185
|
+
const body: Record<string, any> = {};
|
|
186
|
+
let error: PermissionError;
|
|
187
|
+
|
|
188
|
+
let shouldSkipCheckToMergeBody = false;
|
|
189
|
+
|
|
190
|
+
Object.entries(setting).forEach(([key, value]) => {
|
|
191
|
+
if (
|
|
192
|
+
!shouldSkipCheckToMergeBody &&
|
|
193
|
+
!Util?.[`${value ? CAN_SET : CAN_UNSET}${key}`](this.displayHints)
|
|
194
|
+
) {
|
|
195
|
+
error = new PermissionError(`${key} [${value}] not allowed, due to moderator property.`);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
if (error) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
switch (key) {
|
|
203
|
+
case Setting.muted:
|
|
204
|
+
shouldSkipCheckToMergeBody = true;
|
|
205
|
+
body.audio = body.audio
|
|
206
|
+
? {...body.audio, [camelCase(key)]: value}
|
|
207
|
+
: {[camelCase(key)]: value};
|
|
208
|
+
break;
|
|
209
|
+
|
|
210
|
+
case Setting.disallowUnmute:
|
|
211
|
+
case Setting.muteOnEntry:
|
|
212
|
+
if (Object.keys(setting).includes(Setting.muted)) {
|
|
213
|
+
body.audio = body.audio
|
|
214
|
+
? {...body.audio, [camelCase(key)]: value}
|
|
215
|
+
: {[camelCase(key)]: value};
|
|
216
|
+
body.audio[camelCase(key)] = value;
|
|
217
|
+
} else {
|
|
218
|
+
body[camelCase(key)] = {[ENABLED]: value};
|
|
219
|
+
}
|
|
220
|
+
break;
|
|
221
|
+
|
|
222
|
+
default:
|
|
223
|
+
error = new PermissionError(`${key} [${value}] not allowed, due to moderator property.`);
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
|
|
227
|
+
if (error) {
|
|
228
|
+
return Promise.reject(error);
|
|
157
229
|
}
|
|
158
230
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
231
|
+
// @ts-ignore
|
|
232
|
+
return this.request.request({
|
|
233
|
+
uri: `${this.locusUrl}/${CONTROLS}`,
|
|
234
|
+
body,
|
|
235
|
+
method: HTTP_VERBS.PATCH,
|
|
236
|
+
});
|
|
162
237
|
}
|
|
163
238
|
|
|
164
239
|
/**
|
|
@@ -168,7 +243,7 @@ export default class ControlsOptionsManager {
|
|
|
168
243
|
* @returns {Promise}
|
|
169
244
|
*/
|
|
170
245
|
public setMuteOnEntry(enabled: boolean): Promise<any> {
|
|
171
|
-
return this.setControls(Setting.muteOnEntry
|
|
246
|
+
return this.setControls({[Setting.muteOnEntry]: enabled});
|
|
172
247
|
}
|
|
173
248
|
|
|
174
249
|
/**
|
|
@@ -178,6 +253,26 @@ export default class ControlsOptionsManager {
|
|
|
178
253
|
* @returns {Promise}
|
|
179
254
|
*/
|
|
180
255
|
public setDisallowUnmute(enabled: boolean): Promise<any> {
|
|
181
|
-
return this.setControls(Setting.disallowUnmute
|
|
256
|
+
return this.setControls({[Setting.disallowUnmute]: enabled});
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* @public
|
|
261
|
+
* @param {boolean} mutedEnabled
|
|
262
|
+
* @param {boolean} disallowUnmuteEnabled
|
|
263
|
+
* @param {boolean} muteOnEntryEnabled
|
|
264
|
+
* @memberof ControlsOptionsManager
|
|
265
|
+
* @returns {Promise}
|
|
266
|
+
*/
|
|
267
|
+
public setMuteAll(
|
|
268
|
+
mutedEnabled: boolean,
|
|
269
|
+
disallowUnmuteEnabled: boolean,
|
|
270
|
+
muteOnEntryEnabled: boolean
|
|
271
|
+
): Promise<any> {
|
|
272
|
+
return this.setControls({
|
|
273
|
+
[Setting.muted]: mutedEnabled,
|
|
274
|
+
[Setting.disallowUnmute]: disallowUnmuteEnabled,
|
|
275
|
+
[Setting.muteOnEntry]: muteOnEntryEnabled,
|
|
276
|
+
});
|
|
182
277
|
}
|
|
183
278
|
}
|