@webex/plugin-meetings 3.0.0-beta.39 → 3.0.0-beta.391
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 +58 -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/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +671 -81
- 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 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.js +242 -33
- 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 +110 -2
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js +15 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/interceptors/locusRetry.js +93 -0
- package/dist/interceptors/locusRetry.js.map +1 -0
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +380 -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 +386 -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 +71 -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 +65 -102
- 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/mediaQualityMetrics/config.js +135 -330
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +86 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +4075 -2827
- 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 +224 -136
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +177 -152
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +672 -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 +484 -119
- 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 +73 -7
- 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 +18 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -446
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +223 -32
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +10 -0
- 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 +3 -1
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +76 -5
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +366 -104
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +255 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/clusterReachability.js +356 -0
- package/dist/reachability/clusterReachability.js.map +1 -0
- package/dist/reachability/index.js +263 -390
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +6 -4
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.js +29 -0
- package/dist/reachability/util.js.map +1 -0
- package/dist/reconnection-manager/index.js +266 -202
- 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 +51 -28
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +48 -64
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +220 -70
- 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 +179 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +357 -295
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +296 -156
- 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/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 +2 -7
- package/dist/types/constants.d.ts +203 -31
- 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 -5
- package/dist/types/interceptors/index.d.ts +2 -0
- package/dist/types/interceptors/locusRetry.d.ts +27 -0
- 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 +66 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -49
- package/dist/types/mediaQualityMetrics/config.d.ts +99 -223
- package/dist/types/meeting/in-meeting-actions.d.ts +86 -2
- package/dist/types/meeting/index.d.ts +567 -496
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +93 -25
- package/dist/types/meeting/request.d.ts +64 -43
- package/dist/types/meeting/util.d.ts +117 -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 +113 -21
- 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 +17 -0
- package/dist/types/metrics/index.d.ts +4 -111
- package/dist/types/multistream/mediaRequestManager.d.ts +72 -3
- package/dist/types/multistream/receiveSlot.d.ts +7 -3
- package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
- package/dist/types/multistream/remoteMedia.d.ts +3 -31
- package/dist/types/multistream/remoteMediaGroup.d.ts +2 -9
- package/dist/types/multistream/remoteMediaManager.d.ts +62 -2
- package/dist/types/multistream/sendSlotManager.d.ts +70 -0
- package/dist/types/reachability/clusterReachability.d.ts +109 -0
- package/dist/types/reachability/index.d.ts +60 -95
- package/dist/types/reachability/request.d.ts +3 -1
- package/dist/types/reachability/util.d.ts +8 -0
- package/dist/types/reconnection-manager/index.d.ts +19 -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 +9 -8
- package/dist/types/roap/turnDiscovery.d.ts +39 -5
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +61 -0
- package/dist/types/statsAnalyzer/index.d.ts +34 -12
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +28 -4
- 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 +22 -19
- 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 +35 -11
- package/src/breakouts/breakout.ts +67 -9
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +558 -59
- 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 -9
- package/src/constants.ts +229 -21
- 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 +44 -0
- package/src/interceptors/index.ts +3 -0
- package/src/interceptors/locusRetry.ts +67 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +349 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +417 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +80 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +100 -108
- package/src/media/properties.ts +88 -117
- package/src/mediaQualityMetrics/config.ts +103 -238
- package/src/meeting/in-meeting-actions.ts +171 -3
- package/src/meeting/index.ts +3411 -2435
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +223 -136
- package/src/meeting/request.ts +155 -120
- package/src/meeting/util.ts +685 -395
- 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 +507 -127
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +81 -12
- 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 +17 -0
- package/src/metrics/index.ts +1 -469
- package/src/multistream/mediaRequestManager.ts +271 -56
- package/src/multistream/receiveSlot.ts +11 -4
- package/src/multistream/receiveSlotManager.ts +34 -24
- package/src/multistream/remoteMedia.ts +5 -3
- package/src/multistream/remoteMediaGroup.ts +78 -0
- package/src/multistream/remoteMediaManager.ts +248 -44
- package/src/multistream/sendSlotManager.ts +199 -0
- package/src/reachability/clusterReachability.ts +320 -0
- package/src/reachability/index.ts +229 -346
- package/src/reachability/request.ts +8 -4
- package/src/reachability/util.ts +24 -0
- package/src/reconnection-manager/index.ts +128 -97
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +52 -23
- package/src/roap/request.ts +48 -67
- package/src/roap/turnDiscovery.ts +147 -49
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +166 -0
- package/src/statsAnalyzer/index.ts +457 -416
- package/src/statsAnalyzer/mqaUtil.ts +317 -170
- 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/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1349 -114
- 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/interceptors/locusRetry.ts +131 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +625 -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 +1363 -37
- 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 +41 -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 +173 -81
- package/test/unit/spec/media/properties.ts +2 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +85 -3
- package/test/unit/spec/meeting/index.js +6821 -2172
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +402 -212
- package/test/unit/spec/meeting/request.js +473 -54
- package/test/unit/spec/meeting/utils.js +773 -67
- 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 +1415 -213
- package/test/unit/spec/meetings/utils.js +229 -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 +781 -114
- package/test/unit/spec/multistream/receiveSlot.ts +9 -1
- package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
- package/test/unit/spec/multistream/remoteMedia.ts +2 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +345 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +525 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
- package/test/unit/spec/reachability/clusterReachability.ts +279 -0
- package/test/unit/spec/reachability/index.ts +551 -14
- package/test/unit/spec/reachability/request.js +3 -1
- package/test/unit/spec/reachability/util.ts +40 -0
- package/test/unit/spec/reconnection-manager/index.js +171 -11
- 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 +180 -83
- package/test/unit/spec/roap/request.ts +100 -62
- package/test/unit/spec/roap/turnDiscovery.ts +388 -96
- package/test/unit/spec/rtcMetrics/index.ts +122 -0
- package/test/unit/spec/stats-analyzer/index.js +1252 -12
- 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 -57
- package/test/utils/webex-test-users.js +12 -4
- package/dist/metrics/config.js +0 -289
- package/dist/metrics/config.js.map +0 -1
- package/dist/types/metrics/config.d.ts +0 -169
- package/src/index.js +0 -18
- package/src/metrics/config.ts +0 -485
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',
|
|
@@ -318,6 +341,7 @@ export const EVENT_TRIGGERS = {
|
|
|
318
341
|
MEETING_UNLOCKED: 'meeting:unlocked',
|
|
319
342
|
MEETING_LOCKED: 'meeting:locked',
|
|
320
343
|
MEETING_INFO_AVAILABLE: 'meeting:meetingInfoAvailable',
|
|
344
|
+
MEETING_INFO_UPDATED: 'meeting:meetingInfoUpdated',
|
|
321
345
|
MEETING_LOG_UPLOAD_SUCCESS: 'meeting:logUpload:success',
|
|
322
346
|
MEETING_LOG_UPLOAD_FAILURE: 'meeting:logUpload:failure',
|
|
323
347
|
MEETING_ACTIONS_UPDATE: 'meeting:actionsUpdate',
|
|
@@ -335,19 +359,31 @@ export const EVENT_TRIGGERS = {
|
|
|
335
359
|
REMOTE_VIDEO_SOURCE_COUNT_CHANGED: 'media:remoteVideoSourceCountChanged',
|
|
336
360
|
REMOTE_AUDIO_SOURCE_COUNT_CHANGED: 'media:remoteAudioSourceCountChanged',
|
|
337
361
|
REMOTE_MEDIA_AUDIO_CREATED: 'media:remoteAudio:created',
|
|
362
|
+
REMOTE_MEDIA_INTERPRETATION_AUDIO_CREATED: 'media:remoteInterpretationAudio:created',
|
|
338
363
|
REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:remoteScreenShareAudio:created',
|
|
339
364
|
REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: 'media:remoteVideo:layoutChanged',
|
|
365
|
+
// Controls
|
|
366
|
+
MEETING_CONTROLS_MUTE_ON_ENTRY_UPDATED: 'meeting:controls:mute-on-entry:updated',
|
|
367
|
+
MEETING_CONTROLS_SHARE_CONTROL_UPDATED: 'meeting:controls:share-control:updated',
|
|
368
|
+
MEETING_CONTROLS_DISALLOW_UNMUTE_UPDATED: 'meeting:controls:disallow-unmute:updated',
|
|
369
|
+
MEETING_CONTROLS_REACTIONS_UPDATED: 'meeting:controls:reactions:updated',
|
|
370
|
+
MEETING_CONTROLS_VIEW_THE_PARTICIPANTS_LIST_UPDATED:
|
|
371
|
+
'meeting:controls:view-the-participants-list:updated',
|
|
372
|
+
MEETING_CONTROLS_RAISE_HAND_UPDATED: 'meeting:controls:raise-hand:updated',
|
|
373
|
+
MEETING_CONTROLS_VIDEO_UPDATED: 'meeting:controls:video:updated',
|
|
374
|
+
// Locus URL changed
|
|
375
|
+
MEETING_LOCUS_URL_UPDATE: 'meeting:locus:locusUrl:update',
|
|
376
|
+
MEETING_STREAM_PUBLISH_STATE_CHANGED: 'meeting:streamPublishStateChanged',
|
|
340
377
|
};
|
|
341
378
|
|
|
342
379
|
export const EVENT_TYPES = {
|
|
343
380
|
SELF: 'self',
|
|
344
381
|
OTHER: 'other',
|
|
345
|
-
LOCAL: 'local',
|
|
346
382
|
REMOTE: 'remote',
|
|
347
383
|
REMOTE_AUDIO: 'remoteAudio',
|
|
348
384
|
REMOTE_VIDEO: 'remoteVideo',
|
|
349
385
|
REMOTE_SHARE: 'remoteShare',
|
|
350
|
-
|
|
386
|
+
REMOTE_SHARE_AUDIO: 'remoteShareAudio',
|
|
351
387
|
ERROR: 'error',
|
|
352
388
|
};
|
|
353
389
|
|
|
@@ -360,9 +396,12 @@ export const MEETING_REMOVED_REASON = {
|
|
|
360
396
|
FULLSTATE_REMOVED: 'FULLSTATE_REMOVED', // meeting got dropped ? not sure
|
|
361
397
|
MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING', // Meeting got ended or everyone left the meeting
|
|
362
398
|
CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST', // You triggered leave meeting
|
|
399
|
+
CLIENT_LEAVE_REQUEST_TAB_CLOSED: 'CLIENT_LEAVE_REQUEST_TAB_CLOSED', // You triggered leave meeting, such as closing the browser tab directly
|
|
363
400
|
USER_ENDED_SHARE_STREAMS: 'USER_ENDED_SHARE_STREAMS', // user triggered stop share
|
|
364
401
|
NO_MEETINGS_TO_SYNC: 'NO_MEETINGS_TO_SYNC', // After the syncMeeting no meeting exists
|
|
365
402
|
MEETING_CONNECTION_FAILED: 'MEETING_CONNECTION_FAILED', // meeting failed to connect due to ice failures or firewall issue
|
|
403
|
+
LOCUS_DTO_SYNC_FAILED: 'LOCUS_DTO_SYNC_FAILED', // failed to get any Locus DTO for that meeting
|
|
404
|
+
MISSING_MEETING_INFO: 'MISSING_MEETING_INFO', // meeting info failed to be fetched
|
|
366
405
|
};
|
|
367
406
|
|
|
368
407
|
// One one one calls ends for the following reasons
|
|
@@ -377,6 +416,8 @@ export const CALL_REMOVED_REASON = {
|
|
|
377
416
|
export const SHARE_STOPPED_REASON = {
|
|
378
417
|
SELF_STOPPED: 'SELF_STOPPED',
|
|
379
418
|
MEETING_REJOIN: 'MEETING_REJOIN',
|
|
419
|
+
MEDIA_RECONNECTION: 'MEDIA_RECONNECTION',
|
|
420
|
+
TRACK_ENDED: 'TRACK_ENDED',
|
|
380
421
|
};
|
|
381
422
|
|
|
382
423
|
export const EVENTS = {
|
|
@@ -457,6 +498,35 @@ export const ERROR_DICTIONARY = {
|
|
|
457
498
|
MESSAGE: 'Edit lock token mismatch',
|
|
458
499
|
CODE: 9,
|
|
459
500
|
},
|
|
501
|
+
NO_MEETING_INFO: {
|
|
502
|
+
NAME: 'NoMeetingInfo',
|
|
503
|
+
MESSAGE: 'No meeting info found for the meeting',
|
|
504
|
+
CODE: 10,
|
|
505
|
+
},
|
|
506
|
+
RECLAIM_HOST_ROLE_NOT_SUPPORTED: {
|
|
507
|
+
NAME: 'ReclaimHostRoleNotSupported',
|
|
508
|
+
MESSAGE:
|
|
509
|
+
'Non converged meetings, PSTN or SIP users in converged meetings are not supported currently.',
|
|
510
|
+
CODE: 11,
|
|
511
|
+
},
|
|
512
|
+
RECLAIM_HOST_ROLE_NOT_ALLOWED: {
|
|
513
|
+
NAME: 'ReclaimHostRoleNotAllowed',
|
|
514
|
+
MESSAGE:
|
|
515
|
+
'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.',
|
|
516
|
+
CODE: 12,
|
|
517
|
+
},
|
|
518
|
+
RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY: {
|
|
519
|
+
NAME: 'ReclaimHostRoleEmptyOrWrongKey',
|
|
520
|
+
MESSAGE:
|
|
521
|
+
'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.',
|
|
522
|
+
CODE: 13,
|
|
523
|
+
},
|
|
524
|
+
RECLAIM_HOST_ROLE_IS_ALREADY_HOST: {
|
|
525
|
+
NAME: 'ReclaimHostRoleIsAlreadyHost',
|
|
526
|
+
MESSAGE:
|
|
527
|
+
'Participant Having Host Role Already. Participant who sends request to reclaim host role has already a host role.',
|
|
528
|
+
CODE: 14,
|
|
529
|
+
},
|
|
460
530
|
};
|
|
461
531
|
|
|
462
532
|
export const FLOOR_ACTION = {
|
|
@@ -478,6 +548,7 @@ export const HTTP_VERBS = {
|
|
|
478
548
|
POST: 'POST',
|
|
479
549
|
GET: 'GET',
|
|
480
550
|
PATCH: 'PATCH',
|
|
551
|
+
DELETE: 'DELETE',
|
|
481
552
|
};
|
|
482
553
|
|
|
483
554
|
// https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState
|
|
@@ -511,6 +582,8 @@ export const LOCUS = {
|
|
|
511
582
|
INACTIVE: 'INACTIVE',
|
|
512
583
|
ENDED: 'ENDED',
|
|
513
584
|
INITIALIZING: 'INITIALIZING',
|
|
585
|
+
ACTIVE: 'ACTIVE',
|
|
586
|
+
TERMINATING: 'TERMINATING',
|
|
514
587
|
},
|
|
515
588
|
SEQUENCE: {
|
|
516
589
|
UN_DEF: 'undef',
|
|
@@ -523,17 +596,28 @@ export const LOCUS = {
|
|
|
523
596
|
SYNCDEBUG: 'sync_debug',
|
|
524
597
|
};
|
|
525
598
|
|
|
599
|
+
export const ANNOTATION = {
|
|
600
|
+
ANNOTATION_ON_SHARE_SUPPORTED: 'ANNOTATION_ON_SHARE_SUPPORTED',
|
|
601
|
+
};
|
|
526
602
|
export const BREAKOUTS = {
|
|
527
603
|
STATUS: {
|
|
528
604
|
CLOSING: 'CLOSING',
|
|
605
|
+
CLOSED: 'CLOSED',
|
|
606
|
+
PENDING: 'PENDING',
|
|
607
|
+
OPEN: 'OPEN',
|
|
529
608
|
},
|
|
530
609
|
EVENTS: {
|
|
531
610
|
BREAKOUTS_CLOSING: 'BREAKOUTS_CLOSING',
|
|
532
611
|
MESSAGE: 'MESSAGE',
|
|
533
612
|
MEMBERS_UPDATE: 'MEMBERS_UPDATE',
|
|
613
|
+
ASK_RETURN_TO_MAIN: 'ASK_RETURN_TO_MAIN',
|
|
614
|
+
LEAVE_BREAKOUT: 'LEAVE_BREAKOUT',
|
|
615
|
+
ASK_FOR_HELP: 'ASK_FOR_HELP',
|
|
616
|
+
PRE_ASSIGNMENTS_UPDATE: 'PRE_ASSIGNMENTS_UPDATE',
|
|
534
617
|
},
|
|
535
618
|
SESSION_TYPES: {
|
|
536
619
|
MAIN: 'MAIN',
|
|
620
|
+
BREAKOUT: 'BREAKOUT',
|
|
537
621
|
},
|
|
538
622
|
SESSION_STATES: {
|
|
539
623
|
ACTIVE: 'active',
|
|
@@ -543,12 +627,35 @@ export const BREAKOUTS = {
|
|
|
543
627
|
REQUESTED: 'requested',
|
|
544
628
|
},
|
|
545
629
|
BREAKOUTS_SUPPORTED: 'BREAKOUTS_SUPPORTED',
|
|
546
|
-
|
|
630
|
+
ACTION: {
|
|
631
|
+
START: 'START',
|
|
632
|
+
CLOSE: 'CLOSE',
|
|
547
633
|
DELETE: 'DELETE',
|
|
548
634
|
},
|
|
549
635
|
ERROR_CODE: {
|
|
550
636
|
EDIT_LOCK_TOKEN_MISMATCH: 201409024,
|
|
637
|
+
EDIT_NOT_AUTHORIZED: 201403007,
|
|
551
638
|
},
|
|
639
|
+
EDIT_LOCK_STATUS: {
|
|
640
|
+
LOCKED: 'LOCKED',
|
|
641
|
+
NOT_LOCKED: 'NOT_LOCKED',
|
|
642
|
+
UNKNOWN: 'UNKNOWN',
|
|
643
|
+
},
|
|
644
|
+
DEFAULT_TTL: 30,
|
|
645
|
+
};
|
|
646
|
+
|
|
647
|
+
export const INTERPRETATION = {
|
|
648
|
+
EVENTS: {
|
|
649
|
+
SUPPORT_LANGUAGES_UPDATE: 'SUPPORT_LANGUAGES_UPDATE',
|
|
650
|
+
HANDOFF_REQUESTS_ARRIVED: 'HANDOFF_REQUESTS_ARRIVED',
|
|
651
|
+
},
|
|
652
|
+
ACTION_TYPE: {
|
|
653
|
+
OFFERED: 'OFFERED',
|
|
654
|
+
ACCEPTED: 'ACCEPTED',
|
|
655
|
+
REQUESTED: 'REQUESTED',
|
|
656
|
+
DECLINED: 'DECLINED',
|
|
657
|
+
},
|
|
658
|
+
RESOURCE_TYPE: 'SiHandover',
|
|
552
659
|
};
|
|
553
660
|
|
|
554
661
|
export const LOCUSINFO = {
|
|
@@ -558,13 +665,23 @@ export const LOCUSINFO = {
|
|
|
558
665
|
CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
|
|
559
666
|
CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',
|
|
560
667
|
CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',
|
|
668
|
+
CONTROLS_MEETING_INTERPRETATION_UPDATED: 'CONTROLS_MEETING_INTERPRETATION_UPDATED',
|
|
561
669
|
CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',
|
|
670
|
+
CONTROLS_MUTE_ON_ENTRY_CHANGED: 'CONTROLS_MUTE_ON_ENTRY_CHANGED',
|
|
671
|
+
CONTROLS_SHARE_CONTROL_CHANGED: 'CONTROLS_SHARE_CONTROL_CHANGED',
|
|
672
|
+
CONTROLS_DISALLOW_UNMUTE_CHANGED: 'CONTROLS_DISALLOW_UNMUTE_CHANGED',
|
|
673
|
+
CONTROLS_REACTIONS_CHANGED: 'CONTROLS_REACTIONS_CHANGED',
|
|
674
|
+
CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED: 'CONTROLS_VIEW_THE_PARTICIPANTS_LIST_CHANGED',
|
|
675
|
+
CONTROLS_RAISE_HAND_CHANGED: 'CONTROLS_RAISE_HAND_CHANGED',
|
|
676
|
+
CONTROLS_VIDEO_CHANGED: 'CONTROLS_VIDEO_CHANGED',
|
|
562
677
|
SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
|
|
563
678
|
SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
|
|
679
|
+
SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: 'SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED',
|
|
564
680
|
SELF_REMOTE_MUTE_STATUS_UPDATED: 'SELF_REMOTE_MUTE_STATUS_UPDATED',
|
|
565
681
|
LOCAL_UNMUTE_REQUESTED: 'LOCAL_UNMUTE_REQUESTED',
|
|
566
682
|
LOCAL_UNMUTE_REQUIRED: 'LOCAL_UNMUTE_REQUIRED',
|
|
567
683
|
SELF_MODERATOR_CHANGED: 'SELF_MODERATOR_CHANGED',
|
|
684
|
+
SELF_ROLES_CHANGED: 'SELF_ROLES_CHANGED',
|
|
568
685
|
MEETING_UPDATE: 'MEETING_UPDATE',
|
|
569
686
|
MEDIA_STATUS_CHANGE: 'MEDIA_STATUS_CHANGE',
|
|
570
687
|
FULL_STATE_TYPE_UPDATE: 'FULL_STATE_TYPE_UPDATE',
|
|
@@ -579,6 +696,7 @@ export const LOCUSINFO = {
|
|
|
579
696
|
SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',
|
|
580
697
|
SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',
|
|
581
698
|
SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',
|
|
699
|
+
SELF_MEETING_INTERPRETATION_CHANGED: 'SELF_MEETING_INTERPRETATION_CHANGED',
|
|
582
700
|
MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
|
|
583
701
|
LINKS_SERVICES: 'LINKS_SERVICES',
|
|
584
702
|
},
|
|
@@ -743,6 +861,28 @@ export const MEETING_END_REASON = {
|
|
|
743
861
|
MEDIA_RELEASED: 'MEDIA_RELEASED',
|
|
744
862
|
};
|
|
745
863
|
|
|
864
|
+
export enum SELF_POLICY {
|
|
865
|
+
ENFORCE_VIRTUAL_BACKGROUND = 'enforceVirtualBackground',
|
|
866
|
+
SUPPORT_LOCAL_RECORD = 'supportLocalRecord',
|
|
867
|
+
SUPPORT_NETWORK_BASED_RECORD = 'supportNetworkBasedRecord',
|
|
868
|
+
SUPPORT_REALTIME_CLOSE_CAPTION = 'supportRealtimeCloseCaption',
|
|
869
|
+
SUPPORT_CHAT = 'supportChat',
|
|
870
|
+
SUPPORT_DESKTOP_SHARE_REMOTE = 'supportDesktopShareRemote',
|
|
871
|
+
SUPPORT_DESKTOP_SHARE = 'supportDesktopShare',
|
|
872
|
+
SUPPORT_WHITEBOARD = 'supportWhiteboard',
|
|
873
|
+
SUPPORT_FILE_TRANSFER = 'supportFileTransfer',
|
|
874
|
+
SUPPORT_APP_SHARE = 'supportAppShare',
|
|
875
|
+
SUPPORT_CAMERA_SHARE = 'supportCameraShare',
|
|
876
|
+
SUPPORT_FILE_SHARE = 'supportFileShare',
|
|
877
|
+
SUPPORT_ANNOTATION = 'supportAnnotation',
|
|
878
|
+
SUPPORT_BROADCAST_MESSAGE = 'supportBroadcastMessage',
|
|
879
|
+
SUPPORT_VIDEO = 'supportVideo',
|
|
880
|
+
SUPPORT_HQV = 'supportHQV',
|
|
881
|
+
SUPPORT_HDV = 'supportHDV',
|
|
882
|
+
SUPPORT_PARTICIPANT_LIST = 'supportParticipantList',
|
|
883
|
+
SUPPORT_VOIP = 'supportVoIP',
|
|
884
|
+
}
|
|
885
|
+
|
|
746
886
|
export const DISPLAY_HINTS = {
|
|
747
887
|
ADD_GUEST: 'ADD_GUEST',
|
|
748
888
|
ROSTER_WAITING_TO_JOIN: 'ROSTER_WAITING_TO_JOIN',
|
|
@@ -766,21 +906,64 @@ export const DISPLAY_HINTS = {
|
|
|
766
906
|
DISPLAY_NON_ENGLISH_ASR: 'DISPLAY_NON_ENGLISH_ASR',
|
|
767
907
|
TRANSCRIPTION_CONTROL_START: 'TRANSCRIPTION_CONTROL_START',
|
|
768
908
|
TRANSCRIPTION_CONTROL_STOP: 'TRANSCRIPTION_CONTROL_STOP',
|
|
909
|
+
SAVE_TRANSCRIPTS_ENABLED: 'SAVE_TRANSCRIPTS_ENABLED',
|
|
769
910
|
WEBEX_ASSISTANT_STATUS_ACTIVE: 'WEBEX_ASSISTANT_STATUS_ACTIVE',
|
|
770
911
|
WAITING_FOR_OTHERS: 'WAITING_FOR_OTHERS',
|
|
771
912
|
ENABLE_REACTIONS: 'ENABLE_REACTIONS',
|
|
772
913
|
DISABLE_REACTIONS: 'DISABLE_REACTIONS',
|
|
773
914
|
REACTIONS_ACTIVE: 'REACTIONS_ACTIVE',
|
|
774
915
|
REACTIONS_INACTIVE: 'REACTIONS_INACTIVE',
|
|
916
|
+
SHARE_CONTROL: 'SHARE_CONTROL',
|
|
775
917
|
ENABLE_MUTE_ON_ENTRY: 'ENABLE_MUTE_ON_ENTRY',
|
|
918
|
+
ENABLE_SHOW_DISPLAY_NAME: 'ENABLE_SHOW_DISPLAY_NAME',
|
|
919
|
+
DISABLE_SHOW_DISPLAY_NAME: 'DISABLE_SHOW_DISPLAY_NAME',
|
|
776
920
|
DISABLE_MUTE_ON_ENTRY: 'DISABLE_MUTE_ON_ENTRY',
|
|
777
921
|
ENABLE_HARD_MUTE: 'ENABLE_HARD_MUTE',
|
|
778
922
|
DISABLE_HARD_MUTE: 'DISABLE_HARD_MUTE',
|
|
923
|
+
MUTE_ALL: 'MUTE_ALL',
|
|
924
|
+
UNMUTE_ALL: 'UNMUTE_ALL',
|
|
925
|
+
PRESENTER_CONTROL: 'PRESENTER_CONTROL',
|
|
926
|
+
CAN_RENAME_SELF_AND_OBSERVED: 'CAN_RENAME_SELF_AND_OBSERVED',
|
|
927
|
+
CAN_RENAME_OTHERS: 'CAN_RENAME_OTHERS',
|
|
928
|
+
|
|
929
|
+
// breakout session
|
|
930
|
+
BREAKOUT_MANAGEMENT: 'BREAKOUT_MANAGEMENT',
|
|
931
|
+
BROADCAST_MESSAGE_TO_BREAKOUT: 'BROADCAST_MESSAGE_TO_BREAKOUT',
|
|
932
|
+
UCF_SUPPRESS_BREAKOUTS_SUPPORT: 'UCF_SUPPRESS_BREAKOUTS_SUPPORT',
|
|
933
|
+
DISABLE_ASK_FOR_HELP: 'DISABLE_ASK_FOR_HELP',
|
|
934
|
+
DISABLE_BREAKOUT_PREASSIGNMENTS: 'DISABLE_BREAKOUT_PREASSIGNMENTS',
|
|
935
|
+
DISABLE_LOBBY_TO_BREAKOUT: 'DISABLE_LOBBY_TO_BREAKOUT',
|
|
936
|
+
|
|
937
|
+
// participants list
|
|
938
|
+
DISABLE_VIEW_THE_PARTICIPANT_LIST: 'DISABLE_VIEW_THE_PARTICIPANT_LIST',
|
|
939
|
+
ENABLE_VIEW_THE_PARTICIPANT_LIST: 'ENABLE_VIEW_THE_PARTICIPANT_LIST',
|
|
940
|
+
|
|
941
|
+
// raise hand
|
|
942
|
+
DISABLE_RAISE_HAND: 'DISABLE_RAISE_HAND',
|
|
943
|
+
ENABLE_RAISE_HAND: 'ENABLE_RAISE_HAND',
|
|
944
|
+
|
|
945
|
+
// video
|
|
946
|
+
DISABLE_VIDEO: 'DISABLE_VIDEO',
|
|
947
|
+
ENABLE_VIDEO: 'ENABLE_VIDEO',
|
|
948
|
+
|
|
949
|
+
// Sharing
|
|
950
|
+
SHARE_FILE: 'SHARE_FILE',
|
|
951
|
+
SHARE_APPLICATION: 'SHARE_APPLICATION',
|
|
952
|
+
SHARE_CAMERA: 'SHARE_CAMERA',
|
|
953
|
+
SHARE_DESKTOP: 'SHARE_DESKTOP',
|
|
954
|
+
SHARE_CONTENT: 'SHARE_CONTENT',
|
|
955
|
+
SHARE_WHITEBOARD: 'SHARE_WHITEBOARD',
|
|
956
|
+
|
|
957
|
+
// Voip (audio/video)
|
|
958
|
+
VOIP_IS_ENABLED: 'VOIP_IS_ENABLED',
|
|
779
959
|
};
|
|
780
960
|
|
|
961
|
+
export const INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
|
|
962
|
+
|
|
781
963
|
export const SELF_ROLES = {
|
|
782
964
|
COHOST: 'COHOST',
|
|
783
965
|
MODERATOR: 'MODERATOR',
|
|
966
|
+
ATTENDEE: 'ATTENDEE',
|
|
784
967
|
};
|
|
785
968
|
|
|
786
969
|
export const MEETING_STATE = {
|
|
@@ -856,7 +1039,9 @@ export const RECONNECTION = {
|
|
|
856
1039
|
DEFAULT_TRY_COUNT: 0,
|
|
857
1040
|
DEFAULT_STATUS: '',
|
|
858
1041
|
},
|
|
859
|
-
};
|
|
1042
|
+
} as const;
|
|
1043
|
+
|
|
1044
|
+
export type RECONNECTION_STATE = Enum<typeof RECONNECTION.STATE>;
|
|
860
1045
|
|
|
861
1046
|
export const RESOURCE = {
|
|
862
1047
|
CLUSTERS: 'clusters',
|
|
@@ -892,7 +1077,9 @@ export const NETWORK_STATUS = {
|
|
|
892
1077
|
DISCONNECTED: 'DISCONNECTED',
|
|
893
1078
|
RECONNECTING: 'RECONNECTING',
|
|
894
1079
|
CONNECTED: 'CONNECTED',
|
|
895
|
-
};
|
|
1080
|
+
} as const;
|
|
1081
|
+
|
|
1082
|
+
export type NETWORK_STATUS = Enum<typeof NETWORK_STATUS>;
|
|
896
1083
|
|
|
897
1084
|
export const NETWORK_TYPE = {
|
|
898
1085
|
VPN: 'vpn',
|
|
@@ -1047,21 +1234,11 @@ export const AVAILABLE_RESOLUTIONS = {
|
|
|
1047
1234
|
},
|
|
1048
1235
|
};
|
|
1049
1236
|
|
|
1050
|
-
export const VIDEO_RESOLUTIONS = {
|
|
1051
|
-
[QUALITY_LEVELS.LOW]: AVAILABLE_RESOLUTIONS['480p'],
|
|
1052
|
-
[QUALITY_LEVELS.MEDIUM]: AVAILABLE_RESOLUTIONS['720p'],
|
|
1053
|
-
[QUALITY_LEVELS.HIGH]: AVAILABLE_RESOLUTIONS['1080p'],
|
|
1054
|
-
[QUALITY_LEVELS['360p']]: AVAILABLE_RESOLUTIONS['360p'],
|
|
1055
|
-
[QUALITY_LEVELS['480p']]: AVAILABLE_RESOLUTIONS['480p'],
|
|
1056
|
-
[QUALITY_LEVELS['720p']]: AVAILABLE_RESOLUTIONS['720p'],
|
|
1057
|
-
[QUALITY_LEVELS['1080p']]: AVAILABLE_RESOLUTIONS['1080p'],
|
|
1058
|
-
};
|
|
1059
|
-
|
|
1060
1237
|
/*
|
|
1061
1238
|
* mqa Interval for sending stats metrics
|
|
1062
1239
|
*/
|
|
1063
1240
|
|
|
1064
|
-
export const
|
|
1241
|
+
export const MQA_INTERVAL = 60000; // mqa analyzer interval its fixed to 60000
|
|
1065
1242
|
|
|
1066
1243
|
export const MEDIA_DEVICES = {
|
|
1067
1244
|
MICROPHONE: 'microphone',
|
|
@@ -1069,8 +1246,6 @@ export const MEDIA_DEVICES = {
|
|
|
1069
1246
|
CAMERA: 'camera',
|
|
1070
1247
|
};
|
|
1071
1248
|
|
|
1072
|
-
export const METRICS_JOIN_TIMES_MAX_DURATION = 1200000;
|
|
1073
|
-
|
|
1074
1249
|
export const PSTN_STATUS = {
|
|
1075
1250
|
JOINED: 'JOINED', // we have provisioned a pstn device, which can be used to connect
|
|
1076
1251
|
CONNECTED: 'CONNECTED', // user is connected to audio with pstn device
|
|
@@ -1091,6 +1266,7 @@ export const MEETING_INFO_FAILURE_REASON = {
|
|
|
1091
1266
|
NONE: 'NONE', // meeting info was retrieved succesfully
|
|
1092
1267
|
WRONG_PASSWORD: 'WRONG_PASSWORD', // meeting requires password and no password or wrong one was provided
|
|
1093
1268
|
WRONG_CAPTCHA: 'WRONG_CAPTCHA', // wbxappapi requires a captcha code or a wrong captcha code was provided
|
|
1269
|
+
POLICY: 'POLICY', // meeting info request violates some meeting policy
|
|
1094
1270
|
OTHER: 'OTHER', // any other error (network, etc)
|
|
1095
1271
|
};
|
|
1096
1272
|
|
|
@@ -1105,3 +1281,35 @@ export const EMBEDDED_APP_TYPES = {
|
|
|
1105
1281
|
SLIDO: 'SLIDO',
|
|
1106
1282
|
OTHER: 'OTHER',
|
|
1107
1283
|
};
|
|
1284
|
+
|
|
1285
|
+
export const DEFAULT_MEETING_INFO_REQUEST_BODY = {
|
|
1286
|
+
supportHostKey: true,
|
|
1287
|
+
supportCountryList: true,
|
|
1288
|
+
};
|
|
1289
|
+
|
|
1290
|
+
/** the values for IP_VERSION are fixed and defined in Orpheus API */
|
|
1291
|
+
export const IP_VERSION = {
|
|
1292
|
+
unknown: 0,
|
|
1293
|
+
only_ipv4: 4, // we know we have ipv4, we don't know or we don't have ipv6
|
|
1294
|
+
only_ipv6: 6, // we know we have ipv6, we don't know or we don't have ipv4
|
|
1295
|
+
ipv4_and_ipv6: 1,
|
|
1296
|
+
} as const;
|
|
1297
|
+
|
|
1298
|
+
export const LOCAL_SHARE_ERRORS = {
|
|
1299
|
+
DEVICE_NOT_JOINED: 'Floor requested but device not yet joined',
|
|
1300
|
+
UNDEFINED: 'undefined PUT',
|
|
1301
|
+
NO_MEDIA_FOR_DEVICE: 'No media session found for device',
|
|
1302
|
+
NO_CONFLUENCE_ID: 'Failed to request floor: 404 (null) could not find confluence id',
|
|
1303
|
+
CONTENT_SHARING_DISABLED: 'Content share policies are disabled',
|
|
1304
|
+
LOCUS_PARTICIPANT_DNE: 'does not exist in Locus',
|
|
1305
|
+
CONTENT_REQUEST_WHILE_PENDING_WHITEBOARD:
|
|
1306
|
+
'Content share request is not allowed while whiteboard floor request is pending',
|
|
1307
|
+
};
|
|
1308
|
+
export type IP_VERSION = Enum<typeof IP_VERSION>;
|
|
1309
|
+
|
|
1310
|
+
// constant for if the permissionToken is about to expire in the next 30 seconds, refresh it
|
|
1311
|
+
export const MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = 30;
|
|
1312
|
+
export const MEETING_PERMISSION_TOKEN_REFRESH_REASON = 'ttl-join';
|
|
1313
|
+
|
|
1314
|
+
// constant for named media group type
|
|
1315
|
+
export const NAMED_MEDIA_GROUP_TYPE_AUDIO = 1;
|
|
@@ -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
|
}
|