@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
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { WebexPlugin } from '@webex/webex-core';
|
|
2
|
+
import { IP_VERSION } from '../constants';
|
|
3
|
+
export type MediaRequestType = 'RoapMessage' | 'LocalMute';
|
|
4
|
+
export type RequestResult = any;
|
|
5
|
+
export type RoapRequest = {
|
|
6
|
+
type: 'RoapMessage';
|
|
7
|
+
selfUrl: string;
|
|
8
|
+
mediaId: string;
|
|
9
|
+
roapMessage: any;
|
|
10
|
+
reachability: any;
|
|
11
|
+
sequence?: any;
|
|
12
|
+
joinCookie: any;
|
|
13
|
+
ipVersion?: IP_VERSION;
|
|
14
|
+
};
|
|
15
|
+
export type LocalMuteRequest = {
|
|
16
|
+
type: 'LocalMute';
|
|
17
|
+
selfUrl: string;
|
|
18
|
+
mediaId: string;
|
|
19
|
+
sequence?: any;
|
|
20
|
+
muteOptions: {
|
|
21
|
+
audioMuted?: boolean;
|
|
22
|
+
videoMuted?: boolean;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export type Request = RoapRequest | LocalMuteRequest;
|
|
26
|
+
export type Config = {
|
|
27
|
+
device: {
|
|
28
|
+
url: string;
|
|
29
|
+
deviceType: string;
|
|
30
|
+
countryCode?: string;
|
|
31
|
+
regionCode?: string;
|
|
32
|
+
};
|
|
33
|
+
correlationId: string;
|
|
34
|
+
preferTranscoding: boolean;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* This class manages all /media API requests to Locus. Every call to that
|
|
38
|
+
* Locus API has to go through this class.
|
|
39
|
+
*/
|
|
40
|
+
export declare class LocusMediaRequest extends WebexPlugin {
|
|
41
|
+
private config;
|
|
42
|
+
private latestAudioMuted?;
|
|
43
|
+
private latestVideoMuted?;
|
|
44
|
+
private isRequestInProgress;
|
|
45
|
+
private queuedRequests;
|
|
46
|
+
private confluenceState;
|
|
47
|
+
/**
|
|
48
|
+
* Constructor
|
|
49
|
+
*/
|
|
50
|
+
constructor(config: Config, options: any);
|
|
51
|
+
/**
|
|
52
|
+
* Add a request to the internal queue.
|
|
53
|
+
*/
|
|
54
|
+
private addToQueue;
|
|
55
|
+
/**
|
|
56
|
+
* Takes the next request from the queue and executes it. Once that
|
|
57
|
+
* request is completed, the next one will be taken from the queue
|
|
58
|
+
* and executed and this is repeated until the queue is empty.
|
|
59
|
+
*/
|
|
60
|
+
private executeNextQueuedRequest;
|
|
61
|
+
/**
|
|
62
|
+
* Returns latest requested audio and video mute values. If they have never been
|
|
63
|
+
* requested, we assume audio/video to be muted.
|
|
64
|
+
*/
|
|
65
|
+
private getLatestMuteState;
|
|
66
|
+
/**
|
|
67
|
+
* Prepares the uri and body for the media request to be sent to Locus
|
|
68
|
+
*/
|
|
69
|
+
private sendHttpRequest;
|
|
70
|
+
/**
|
|
71
|
+
* Sends a media request to Locus
|
|
72
|
+
*/
|
|
73
|
+
send(request: Request): Promise<RequestResult>;
|
|
74
|
+
}
|
|
@@ -1,45 +1,94 @@
|
|
|
1
|
-
|
|
1
|
+
import { ServerMuteReason } from '@webex/media-helpers';
|
|
2
|
+
export declare const createMuteState: (type: any, meeting: any, enabled: boolean) => MuteState;
|
|
2
3
|
/** The purpose of this class is to manage the local and remote mute state and make sure that the server state always matches
|
|
3
4
|
the last requested state by the client.
|
|
4
5
|
|
|
5
6
|
More info about Locus muting API: https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html#
|
|
7
|
+
|
|
8
|
+
This class is exported only for unit tests. It should never be instantiated directly with new MuteState(), instead createMuteState() should be called
|
|
6
9
|
*/
|
|
7
|
-
declare class MuteState {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
export declare class MuteState {
|
|
11
|
+
state: {
|
|
12
|
+
client: {
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
localMute: boolean;
|
|
15
|
+
};
|
|
16
|
+
server: {
|
|
17
|
+
localMute: boolean;
|
|
18
|
+
remoteMute: boolean;
|
|
19
|
+
unmuteAllowed: boolean;
|
|
20
|
+
};
|
|
21
|
+
syncToServerInProgress: boolean;
|
|
22
|
+
};
|
|
11
23
|
type: any;
|
|
24
|
+
ignoreMuteStateChange: boolean;
|
|
12
25
|
/**
|
|
13
26
|
* Constructor
|
|
14
27
|
*
|
|
15
28
|
* @param {String} type - audio or video
|
|
16
29
|
* @param {Object} meeting - the meeting object (used for reading current remote mute status)
|
|
30
|
+
* @param {boolean} enabled - whether the client audio/video is enabled at all
|
|
31
|
+
*/
|
|
32
|
+
constructor(type: string, meeting: any, enabled: boolean);
|
|
33
|
+
/**
|
|
34
|
+
* Starts the mute state machine. Needs to be called after a new MuteState instance is created.
|
|
35
|
+
*
|
|
36
|
+
* @param {Object} meeting - the meeting object
|
|
37
|
+
* @returns {void}
|
|
17
38
|
*/
|
|
18
|
-
|
|
39
|
+
init(meeting: any): void;
|
|
19
40
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
41
|
+
* This method needs to be called whenever the local audio/video stream has changed.
|
|
42
|
+
* It reapplies the remote mute state onto the new stream and also reads the current
|
|
43
|
+
* local mute state from the stream and updates the internal state machine and sends
|
|
44
|
+
* any required requests to the server.
|
|
22
45
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
|
|
46
|
+
* @param {Object} meeting - the meeting object
|
|
47
|
+
* @returns {void}
|
|
48
|
+
*/
|
|
49
|
+
handleLocalStreamChange(meeting: any): void;
|
|
50
|
+
/**
|
|
51
|
+
* Enables/disables audio/video
|
|
26
52
|
*
|
|
53
|
+
* @param {Object} meeting - the meeting object
|
|
54
|
+
* @param {boolean} enable
|
|
55
|
+
* @returns {void}
|
|
56
|
+
*/
|
|
57
|
+
enable(meeting: any, enable: boolean): void;
|
|
58
|
+
/**
|
|
59
|
+
* Mutes/unmutes local stream
|
|
60
|
+
*
|
|
61
|
+
* @param {Object} meeting - the meeting object
|
|
62
|
+
* @param {Boolean} mute - true to mute the stream, false to unmute it
|
|
63
|
+
* @param {ServerMuteReason} reason - reason for muting/unmuting
|
|
64
|
+
* @returns {void}
|
|
65
|
+
*/
|
|
66
|
+
private muteLocalStream;
|
|
67
|
+
/**
|
|
68
|
+
* This method should be called when the local stream mute state is changed
|
|
27
69
|
* @public
|
|
28
70
|
* @memberof MuteState
|
|
29
71
|
* @param {Object} [meeting] the meeting object
|
|
30
72
|
* @param {Boolean} [mute] true for muting, false for unmuting request
|
|
31
|
-
* @returns {
|
|
73
|
+
* @returns {void}
|
|
32
74
|
*/
|
|
33
|
-
|
|
75
|
+
handleLocalStreamMuteStateChange(meeting?: object, mute?: boolean): void;
|
|
34
76
|
/**
|
|
35
|
-
* Applies the current mute state to the local
|
|
77
|
+
* Applies the current mute state to the local stream (by enabling or disabling it accordingly)
|
|
36
78
|
*
|
|
37
79
|
* @public
|
|
38
80
|
* @param {Object} [meeting] the meeting object
|
|
81
|
+
* @param {ServerMuteReason} reason - reason why we're applying our client state to the local stream
|
|
39
82
|
* @memberof MuteState
|
|
40
83
|
* @returns {void}
|
|
41
84
|
*/
|
|
42
|
-
applyClientStateLocally(meeting?: any): void;
|
|
85
|
+
applyClientStateLocally(meeting?: any, reason?: ServerMuteReason): void;
|
|
86
|
+
/** Returns true if client is locally muted - it takes into account not just the client local mute state,
|
|
87
|
+
* but also whether audio/video is enabled at all
|
|
88
|
+
*
|
|
89
|
+
* @returns {boolean}
|
|
90
|
+
*/
|
|
91
|
+
private getClientLocalMuteState;
|
|
43
92
|
/**
|
|
44
93
|
* Updates the server local and remote mute values so that they match the current client desired state.
|
|
45
94
|
*
|
|
@@ -67,16 +116,29 @@ declare class MuteState {
|
|
|
67
116
|
* @returns {Promise}
|
|
68
117
|
*/
|
|
69
118
|
private sendRemoteMuteRequestToServer;
|
|
119
|
+
/** Sets the mute state of the local stream according to what server thinks is our state
|
|
120
|
+
* @param {Object} meeting - the meeting object
|
|
121
|
+
* @param {ServerMuteReason} serverMuteReason - reason why we're applying server mute to the local stream
|
|
122
|
+
* @returns {void}
|
|
123
|
+
*/
|
|
124
|
+
private applyServerMuteToLocalStream;
|
|
125
|
+
/** Applies the current value for unmute allowed to the underlying stream
|
|
126
|
+
*
|
|
127
|
+
* @param {Meeting} meeting
|
|
128
|
+
* @returns {void}
|
|
129
|
+
*/
|
|
130
|
+
private applyUnmuteAllowedToStream;
|
|
70
131
|
/**
|
|
71
132
|
* This method should be called whenever the server remote mute state is changed
|
|
72
133
|
*
|
|
73
134
|
* @public
|
|
74
135
|
* @memberof MuteState
|
|
136
|
+
* @param {Meeting} meeting
|
|
75
137
|
* @param {Boolean} [muted] true if user is remotely muted, false otherwise
|
|
76
138
|
* @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when "hard mute" feature is used)
|
|
77
139
|
* @returns {undefined}
|
|
78
140
|
*/
|
|
79
|
-
handleServerRemoteMuteUpdate(muted?: boolean, unmuteAllowed?: boolean): void;
|
|
141
|
+
handleServerRemoteMuteUpdate(meeting: any, muted?: boolean, unmuteAllowed?: boolean): void;
|
|
80
142
|
/**
|
|
81
143
|
* This method should be called whenever we receive from the server a requirement to locally unmute
|
|
82
144
|
*
|
|
@@ -87,30 +149,36 @@ declare class MuteState {
|
|
|
87
149
|
*/
|
|
88
150
|
handleServerLocalUnmuteRequired(meeting?: object): void;
|
|
89
151
|
/**
|
|
90
|
-
* Returns true if the user is locally or remotely muted
|
|
152
|
+
* Returns true if the user is locally or remotely muted.
|
|
153
|
+
* It only checks the mute status, ignoring the fact whether audio/video is enabled.
|
|
154
|
+
*
|
|
155
|
+
* @public
|
|
156
|
+
* @memberof MuteState
|
|
157
|
+
* @returns {Boolean}
|
|
158
|
+
*/
|
|
159
|
+
isMuted(): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Returns true if the user is remotely muted
|
|
91
162
|
*
|
|
92
163
|
* @public
|
|
93
164
|
* @memberof MuteState
|
|
94
165
|
* @returns {Boolean}
|
|
95
166
|
*/
|
|
96
|
-
|
|
167
|
+
isRemotelyMuted(): boolean;
|
|
97
168
|
/**
|
|
98
|
-
* Returns true if
|
|
169
|
+
* Returns true if unmute is allowed
|
|
99
170
|
*
|
|
100
171
|
* @public
|
|
101
172
|
* @memberof MuteState
|
|
102
173
|
* @returns {Boolean}
|
|
103
174
|
*/
|
|
104
|
-
|
|
175
|
+
isUnmuteAllowed(): boolean;
|
|
105
176
|
/**
|
|
106
|
-
* Returns true if the user is muted
|
|
177
|
+
* Returns true if the user is locally muted or audio/video is disabled
|
|
107
178
|
*
|
|
108
179
|
* @public
|
|
109
180
|
* @memberof MuteState
|
|
110
181
|
* @returns {Boolean}
|
|
111
182
|
*/
|
|
112
|
-
|
|
113
|
-
get muted(): any;
|
|
114
|
-
get self(): boolean;
|
|
183
|
+
isLocallyMuted(): boolean;
|
|
115
184
|
}
|
|
116
|
-
export {};
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
2
|
+
import { IP_VERSION } from '../constants';
|
|
2
3
|
import { SendReactionOptions, ToggleReactionsOptions } from './request.type';
|
|
4
|
+
import { AnnotationInfo } from '../annotation/annotation.types';
|
|
3
5
|
/**
|
|
4
6
|
* @class MeetingRequest
|
|
5
7
|
*/
|
|
6
8
|
export default class MeetingRequest extends StatelessWebexPlugin {
|
|
7
9
|
changeVideoLayoutDebounced: any;
|
|
10
|
+
meetingRef: WeakRef<any>;
|
|
11
|
+
locusDeltaRequest: (options: object) => Promise<any>;
|
|
12
|
+
buildLocusDeltaRequestOptions: (options: object) => Promise<any>;
|
|
8
13
|
/**
|
|
9
14
|
* Constructor
|
|
10
15
|
* @param {Object} attrs
|
|
@@ -30,12 +35,16 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
30
35
|
* @param {boolean} options.moveToResource
|
|
31
36
|
* @param {Object} options.roapMessage
|
|
32
37
|
* @param {boolean} options.breakoutsSupported
|
|
38
|
+
* @param {String} options.locale,
|
|
39
|
+
* @param {Array} options.deviceCapabilities
|
|
40
|
+
* @param {boolean} options.liveAnnotationSupported
|
|
33
41
|
* @returns {Promise}
|
|
34
42
|
*/
|
|
35
43
|
joinMeeting(options: {
|
|
36
44
|
sipUri: string;
|
|
37
45
|
deviceUrl: string;
|
|
38
46
|
locusUrl: string;
|
|
47
|
+
locusClusterUrl: string;
|
|
39
48
|
resourceId: string;
|
|
40
49
|
correlationId: string;
|
|
41
50
|
ensureConversation: boolean;
|
|
@@ -49,6 +58,10 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
49
58
|
permissionToken: any;
|
|
50
59
|
preferTranscoding: any;
|
|
51
60
|
breakoutsSupported: boolean;
|
|
61
|
+
locale?: string;
|
|
62
|
+
deviceCapabilities?: Array<string>;
|
|
63
|
+
liveAnnotationSupported: boolean;
|
|
64
|
+
ipVersion?: IP_VERSION;
|
|
52
65
|
}): Promise<any>;
|
|
53
66
|
/**
|
|
54
67
|
* Send a request to refresh the captcha
|
|
@@ -83,26 +96,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
83
96
|
*/
|
|
84
97
|
private dialOut;
|
|
85
98
|
/**
|
|
86
|
-
*
|
|
99
|
+
* Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
|
|
87
100
|
* @param {Object} options
|
|
88
|
-
* @param {boolean} options.desync flag to get partial or whole locus object
|
|
89
|
-
* @param {String} options.syncUrl sync url to get ht elatest locus delta
|
|
90
|
-
* @returns {Promise}
|
|
91
|
-
*/
|
|
92
|
-
syncMeeting(options: {
|
|
93
|
-
desync: boolean;
|
|
94
|
-
syncUrl: string;
|
|
95
|
-
}): any;
|
|
96
|
-
/**
|
|
97
|
-
* Request to get the complete locus object
|
|
98
|
-
* @param {Object} options
|
|
99
|
-
* @param {boolean} options.desync flag to get partial or whole locus object
|
|
100
101
|
* @param {String} options.locusUrl sync url to get ht elatest locus delta
|
|
101
102
|
* @returns {Promise}
|
|
102
103
|
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
locusUrl: string;
|
|
104
|
+
getLocusDTO(options: {
|
|
105
|
+
url: string;
|
|
106
106
|
}): any;
|
|
107
107
|
/**
|
|
108
108
|
* Make a network request to make a provisioned phone leave the meeting
|
|
@@ -116,13 +116,36 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
116
116
|
*/
|
|
117
117
|
private disconnectPhoneAudio;
|
|
118
118
|
/**
|
|
119
|
-
*
|
|
119
|
+
* Prepares request options to to leave a meeting
|
|
120
120
|
* @param {Object} options
|
|
121
121
|
* @param {Url} options.locusUrl
|
|
122
122
|
* @param {String} options.selfId
|
|
123
123
|
* @param {Url} options.deviceUrl
|
|
124
124
|
* @param {String} options.resourceId,
|
|
125
125
|
* @param {String} options.correlationId
|
|
126
|
+
* @returns {Object} request options
|
|
127
|
+
*/
|
|
128
|
+
prepareLeaveMeetingRequestOptions({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
|
|
129
|
+
locusUrl: string;
|
|
130
|
+
selfId: string;
|
|
131
|
+
deviceUrl: string;
|
|
132
|
+
resourceId: string;
|
|
133
|
+
correlationId: string;
|
|
134
|
+
}): {
|
|
135
|
+
method: string;
|
|
136
|
+
uri: string;
|
|
137
|
+
body: {
|
|
138
|
+
device: {
|
|
139
|
+
deviceType: any;
|
|
140
|
+
url: string;
|
|
141
|
+
};
|
|
142
|
+
usingResource: string;
|
|
143
|
+
correlationId: string;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* Make a network request to leave a meeting
|
|
148
|
+
* @param {Object} options
|
|
126
149
|
* @returns {Promise}
|
|
127
150
|
*/
|
|
128
151
|
leaveMeeting({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
|
|
@@ -131,7 +154,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
131
154
|
deviceUrl: string;
|
|
132
155
|
resourceId: string;
|
|
133
156
|
correlationId: string;
|
|
134
|
-
}): any
|
|
157
|
+
}): Promise<any>;
|
|
158
|
+
/**
|
|
159
|
+
* Builds request options to leave a meeting
|
|
160
|
+
* @param {Object} options
|
|
161
|
+
* @returns {Object} request options
|
|
162
|
+
*/
|
|
163
|
+
buildLeaveMeetingRequestOptions(options: any): Promise<any>;
|
|
135
164
|
/**
|
|
136
165
|
* Make a network request to acknowledge a meeting
|
|
137
166
|
* @param {Object} options
|
|
@@ -144,8 +173,14 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
144
173
|
locusUrl: string;
|
|
145
174
|
deviceUrl: string;
|
|
146
175
|
correlationId: string;
|
|
147
|
-
}): any
|
|
148
|
-
|
|
176
|
+
}): Promise<any>;
|
|
177
|
+
/**
|
|
178
|
+
* Makes a network request to lock the meeting
|
|
179
|
+
* @param {Object} options
|
|
180
|
+
* @param {Boolean} options.lock Whether it is locked or not
|
|
181
|
+
* @returns {Promise}
|
|
182
|
+
*/
|
|
183
|
+
lockMeeting(options: any): Promise<any>;
|
|
149
184
|
/**
|
|
150
185
|
* Make a network request to decline a meeting
|
|
151
186
|
* @param {Object} options
|
|
@@ -158,25 +193,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
158
193
|
locusUrl: string;
|
|
159
194
|
deviceUrl: string;
|
|
160
195
|
reason: string;
|
|
161
|
-
}): any
|
|
162
|
-
/**
|
|
163
|
-
* Toggle remote audio and/or video
|
|
164
|
-
* @param {Object} options options for toggling
|
|
165
|
-
* @param {String} options.selfId Locus self id??
|
|
166
|
-
* @param {String} options.locusUrl Locus url
|
|
167
|
-
* @param {String} options.deviceUrl Url of a device
|
|
168
|
-
* @param {String} options.resourceId Populated if you are paired to a device
|
|
169
|
-
* @param {String} options.localMedias local sdps
|
|
170
|
-
* @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
|
|
171
|
-
* @returns {Promise}
|
|
172
|
-
*/
|
|
173
|
-
remoteAudioVideoToggle(options: {
|
|
174
|
-
selfId: string;
|
|
175
|
-
locusUrl: string;
|
|
176
|
-
deviceUrl: string;
|
|
177
|
-
resourceId: string;
|
|
178
|
-
localMedias: string;
|
|
179
|
-
} | any): any;
|
|
196
|
+
}): Promise<any>;
|
|
180
197
|
/**
|
|
181
198
|
* change the content floor grant
|
|
182
199
|
* @param {Object} options options for floor grant
|
|
@@ -185,6 +202,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
185
202
|
* @param {String} options.deviceUrl Url of a device
|
|
186
203
|
* @param {String} options.resourceId Populated if you are paired to a device
|
|
187
204
|
* @param {String} options.uri floor grant uri
|
|
205
|
+
* @param {String} options.shareInstanceId id for current share
|
|
188
206
|
* @returns {Promise}
|
|
189
207
|
*/
|
|
190
208
|
changeMeetingFloor(options: {
|
|
@@ -193,6 +211,8 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
193
211
|
deviceUrl: string;
|
|
194
212
|
resourceId: string;
|
|
195
213
|
uri: string;
|
|
214
|
+
annotationInfo: AnnotationInfo;
|
|
215
|
+
shareInstanceId: string;
|
|
196
216
|
} | any): any;
|
|
197
217
|
/**
|
|
198
218
|
* Sends a request to the DTMF endpoint to send tones
|
|
@@ -206,7 +226,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
206
226
|
locusUrl: string;
|
|
207
227
|
deviceUrl: string;
|
|
208
228
|
tones: string;
|
|
209
|
-
}): any
|
|
229
|
+
}): Promise<any>;
|
|
210
230
|
/**
|
|
211
231
|
* Sends a request to the controls endpoint to set the video layout
|
|
212
232
|
* @param {Object} options
|
|
@@ -233,7 +253,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
233
253
|
width: number;
|
|
234
254
|
height: number;
|
|
235
255
|
};
|
|
236
|
-
}): any
|
|
256
|
+
}): Promise<any>;
|
|
237
257
|
/**
|
|
238
258
|
* Make a network request to end meeting for all
|
|
239
259
|
* @param {Object} options
|
|
@@ -242,7 +262,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
242
262
|
*/
|
|
243
263
|
endMeetingForAll({ locusUrl }: {
|
|
244
264
|
locusUrl: string;
|
|
245
|
-
}): any
|
|
265
|
+
}): Promise<any>;
|
|
246
266
|
/**
|
|
247
267
|
* Send a locus keepAlive (used in lobby)
|
|
248
268
|
* @param {Object} options
|
|
@@ -267,5 +287,6 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
267
287
|
* @param {locusUrl} options.locusUrl
|
|
268
288
|
* @returns {Promise}
|
|
269
289
|
*/
|
|
270
|
-
toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): any
|
|
290
|
+
toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): Promise<any>;
|
|
291
|
+
getLocusStatusByUrl(locusUrl: string): any;
|
|
271
292
|
}
|
|
@@ -1,2 +1,118 @@
|
|
|
1
|
-
|
|
1
|
+
import { SELF_POLICY, IP_VERSION } from '../constants';
|
|
2
|
+
declare const MeetingUtil: {
|
|
3
|
+
parseLocusJoin: (response: any) => any;
|
|
4
|
+
remoteUpdateAudioVideo: (meeting: any, audioMuted?: boolean, videoMuted?: boolean) => any;
|
|
5
|
+
hasOwner: (info: any) => any;
|
|
6
|
+
isOwnerSelf: (owner: any, selfId: any) => boolean;
|
|
7
|
+
isPinOrGuest: (err: any) => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Returns the current state of knowledge about whether we are on an ipv4-only or ipv6-only or mixed (ipv4 and ipv6) network.
|
|
10
|
+
* The return value matches the possible values of "ipver" parameter used by the backend APIs.
|
|
11
|
+
*
|
|
12
|
+
* @param {Object} webex webex instance
|
|
13
|
+
* @returns {IP_VERSION|undefined} ipver value to be passed to the backend APIs or undefined if we should not pass any value to the backend
|
|
14
|
+
*/
|
|
15
|
+
getIpVersion(webex: any): IP_VERSION | undefined;
|
|
16
|
+
joinMeeting: (meeting: any, options: any) => any;
|
|
17
|
+
cleanUp: (meeting: any) => any;
|
|
18
|
+
disconnectPhoneAudio: (meeting: any, phoneUrl: any) => any;
|
|
19
|
+
/**
|
|
20
|
+
* Returns options for leaving a meeting.
|
|
21
|
+
* @param {any} meeting
|
|
22
|
+
* @param {any} options
|
|
23
|
+
* @returns {any} leave options
|
|
24
|
+
*/
|
|
25
|
+
prepareLeaveMeetingOptions: (meeting: any, options?: any) => any;
|
|
26
|
+
leaveMeeting: (meeting: any, options?: any) => any;
|
|
27
|
+
declineMeeting: (meeting: any, reason: any) => any;
|
|
28
|
+
isUserInLeftState: (locusInfo: any) => boolean;
|
|
29
|
+
isUserInIdleState: (locusInfo: any) => boolean;
|
|
30
|
+
isUserInJoinedState: (locusInfo: any) => boolean;
|
|
31
|
+
isMediaEstablished: (currentMediaStatus: any) => any;
|
|
32
|
+
joinMeetingOptions: (meeting: any, options?: any) => any;
|
|
33
|
+
/**
|
|
34
|
+
* Returns request options for leaving a meeting.
|
|
35
|
+
* @param {any} meeting
|
|
36
|
+
* @param {any} options
|
|
37
|
+
* @returns {any} request options
|
|
38
|
+
*/
|
|
39
|
+
buildLeaveFetchRequestOptions: (meeting: any, options?: any) => any;
|
|
40
|
+
getTrack: (stream: any) => {
|
|
41
|
+
audioTrack: any;
|
|
42
|
+
videoTrack: any;
|
|
43
|
+
};
|
|
44
|
+
getModeratorFromLocusInfo: (locusInfo: any) => any;
|
|
45
|
+
getPolicyFromLocusInfo: (locusInfo: any) => any;
|
|
46
|
+
getUserDisplayHintsFromLocusInfo: (locusInfo: any) => any;
|
|
47
|
+
canInviteNewParticipants: (displayHints: any) => any;
|
|
48
|
+
canAdmitParticipant: (displayHints: any) => any;
|
|
49
|
+
canUserLock: (displayHints: any) => any;
|
|
50
|
+
canUserUnlock: (displayHints: any) => any;
|
|
51
|
+
canUserRaiseHand: (displayHints: any) => any;
|
|
52
|
+
canUserLowerAllHands: (displayHints: any) => any;
|
|
53
|
+
canUserLowerSomeoneElsesHand: (displayHints: any) => any;
|
|
54
|
+
bothLeaveAndEndMeetingAvailable: (displayHints: any) => any;
|
|
55
|
+
canManageBreakout: (displayHints: any) => any;
|
|
56
|
+
canBroadcastMessageToBreakout: (displayHints: any, policies?: {}) => boolean;
|
|
57
|
+
isSuppressBreakoutSupport: (displayHints: any) => any;
|
|
58
|
+
canAdmitLobbyToBreakout: (displayHints: any) => boolean;
|
|
59
|
+
isBreakoutPreassignmentsEnabled: (displayHints: any) => boolean;
|
|
60
|
+
canUserAskForHelp: (displayHints: any) => boolean;
|
|
61
|
+
lockMeeting: (actions: any, request: any, locusUrl: any) => any;
|
|
62
|
+
unlockMeeting: (actions: any, request: any, locusUrl: any) => any;
|
|
63
|
+
handleAudioLogging: (audioStream?: LocalMicrophoneStream) => void;
|
|
64
|
+
handleVideoLogging: (videoStream?: LocalCameraStream) => void;
|
|
65
|
+
handleDeviceLogging: (devices?: any[]) => void;
|
|
66
|
+
endMeetingForAll: (meeting: any) => any;
|
|
67
|
+
canEnableClosedCaption: (displayHints: any) => any;
|
|
68
|
+
isSaveTranscriptsEnabled: (displayHints: any) => any;
|
|
69
|
+
canStartTranscribing: (displayHints: any) => any;
|
|
70
|
+
canStopTranscribing: (displayHints: any) => any;
|
|
71
|
+
isClosedCaptionActive: (displayHints: any) => any;
|
|
72
|
+
isWebexAssistantActive: (displayHints: any) => any;
|
|
73
|
+
canViewCaptionPanel: (displayHints: any) => any;
|
|
74
|
+
isRealTimeTranslationEnabled: (displayHints: any) => any;
|
|
75
|
+
canSelectSpokenLanguages: (displayHints: any) => any;
|
|
76
|
+
waitingForOthersToJoin: (displayHints: any) => any;
|
|
77
|
+
canSendReactions: (originalValue: any, displayHints: any) => any;
|
|
78
|
+
canUserRenameSelfAndObserved: (displayHints: any) => any;
|
|
79
|
+
canUserRenameOthers: (displayHints: any) => any;
|
|
80
|
+
canShareWhiteBoard: (displayHints: any) => any;
|
|
81
|
+
/**
|
|
82
|
+
* Adds the current locus sequence information to a request body
|
|
83
|
+
* @param {Object} meeting The meeting object
|
|
84
|
+
* @param {Object} requestBody The body of a request to locus
|
|
85
|
+
* @returns {void}
|
|
86
|
+
*/
|
|
87
|
+
addSequence: (meeting: any, requestBody: any) => void;
|
|
88
|
+
/**
|
|
89
|
+
* Updates the locus info for the meeting with the delta locus
|
|
90
|
+
* returned from requests that include the sequence information
|
|
91
|
+
* Returns the original response object
|
|
92
|
+
* @param {Object} meeting The meeting object
|
|
93
|
+
* @param {Object} response The response of the http request
|
|
94
|
+
* @returns {Object}
|
|
95
|
+
*/
|
|
96
|
+
updateLocusWithDelta: (meeting: any, response: any) => any;
|
|
97
|
+
generateBuildLocusDeltaRequestOptions: (originalMeeting: any) => (originalOptions: any) => any;
|
|
98
|
+
generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
|
|
99
|
+
selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
100
|
+
parseInterpretationInfo: (meeting: any, meetingInfo: any) => void;
|
|
101
|
+
/**
|
|
102
|
+
* Returns a CA-recognized error payload for the specified raw error message/reason.
|
|
103
|
+
*
|
|
104
|
+
* New errors can be added to this function for handling in the future
|
|
105
|
+
*
|
|
106
|
+
* @param {String} reason the raw error message
|
|
107
|
+
* @returns {Array<object>} an array of payload objects
|
|
108
|
+
*/
|
|
109
|
+
getChangeMeetingFloorErrorPayload: (reason: string) => {
|
|
110
|
+
fatal: boolean;
|
|
111
|
+
category: string;
|
|
112
|
+
errorCode: number;
|
|
113
|
+
errorDescription: string;
|
|
114
|
+
name: string;
|
|
115
|
+
shownToUser: boolean;
|
|
116
|
+
}[];
|
|
117
|
+
};
|
|
2
118
|
export default MeetingUtil;
|
|
@@ -49,9 +49,21 @@ export default class MeetingInfo {
|
|
|
49
49
|
* Fetches meeting info from the server
|
|
50
50
|
* @param {String} destination one of many different types of destinations to look up info for
|
|
51
51
|
* @param {String} [type] to match up with the destination value
|
|
52
|
+
* @param {String} [password] meeting password
|
|
53
|
+
* @param {Object} [captchaInfo] captcha code and id
|
|
54
|
+
* @param {String} [installedOrgID]
|
|
55
|
+
* @param {String} [locusId]
|
|
56
|
+
* @param {Object} [extraParams]
|
|
57
|
+
* @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent
|
|
52
58
|
* @returns {Promise} returns a meeting info object
|
|
53
59
|
* @public
|
|
54
60
|
* @memberof MeetingInfo
|
|
55
61
|
*/
|
|
56
|
-
fetchMeetingInfo(destination: string, type?: string
|
|
62
|
+
fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
|
|
63
|
+
code: string;
|
|
64
|
+
id: string;
|
|
65
|
+
}, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
|
|
66
|
+
meetingId?: string;
|
|
67
|
+
sendCAevents?: boolean;
|
|
68
|
+
}): any;
|
|
57
69
|
}
|
|
@@ -29,6 +29,22 @@ export declare class MeetingInfoV2AdhocMeetingError extends Error {
|
|
|
29
29
|
*/
|
|
30
30
|
constructor(wbxAppApiErrorCode?: number, message?: string);
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Error preventing join because of a meeting policy
|
|
34
|
+
*/
|
|
35
|
+
export declare class MeetingInfoV2PolicyError extends Error {
|
|
36
|
+
meetingInfo: object;
|
|
37
|
+
sdkMessage: string;
|
|
38
|
+
wbxAppApiCode: number;
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
* @constructor
|
|
42
|
+
* @param {Number} [wbxAppApiErrorCode]
|
|
43
|
+
* @param {Object} [meetingInfo]
|
|
44
|
+
* @param {String} [message]
|
|
45
|
+
*/
|
|
46
|
+
constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
|
|
47
|
+
}
|
|
32
48
|
/**
|
|
33
49
|
* Error to indicate that preferred webex site not present to start adhoc meeting
|
|
34
50
|
*/
|
|
@@ -66,14 +82,21 @@ export default class MeetingInfoV2 {
|
|
|
66
82
|
* @memberof MeetingInfo
|
|
67
83
|
*/
|
|
68
84
|
fetchInfoOptions(destination: string, type?: string): any;
|
|
85
|
+
/**
|
|
86
|
+
* Raises a MeetingInfoV2PolicyError for policy error codes
|
|
87
|
+
* @param {any} err the error from the request
|
|
88
|
+
* @returns {void}
|
|
89
|
+
*/
|
|
90
|
+
handlePolicyError: (err: any) => void;
|
|
69
91
|
/**
|
|
70
92
|
* Creates adhoc space meetings for a space by fetching the conversation infomation
|
|
71
93
|
* @param {String} conversationUrl conversationUrl to start adhoc meeting on
|
|
94
|
+
* @param {String} installedOrgID org ID of user's machine
|
|
72
95
|
* @returns {Promise} returns a meeting info object
|
|
73
96
|
* @public
|
|
74
97
|
* @memberof MeetingInfo
|
|
75
98
|
*/
|
|
76
|
-
createAdhocSpaceMeeting(conversationUrl: string): Promise<any>;
|
|
99
|
+
createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string): Promise<any>;
|
|
77
100
|
/**
|
|
78
101
|
* Fetches meeting info from the server
|
|
79
102
|
* @param {String} destination one of many different types of destinations to look up info for
|
|
@@ -82,6 +105,10 @@ export default class MeetingInfoV2 {
|
|
|
82
105
|
* @param {Object} captchaInfo
|
|
83
106
|
* @param {String} captchaInfo.code
|
|
84
107
|
* @param {String} captchaInfo.id
|
|
108
|
+
* @param {String} installedOrgID org ID of user's machine
|
|
109
|
+
* @param {String} locusId
|
|
110
|
+
* @param {Object} extraParams
|
|
111
|
+
* @param {Object} options
|
|
85
112
|
* @returns {Promise} returns a meeting info object
|
|
86
113
|
* @public
|
|
87
114
|
* @memberof MeetingInfo
|
|
@@ -89,5 +116,8 @@ export default class MeetingInfoV2 {
|
|
|
89
116
|
fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
|
|
90
117
|
code: string;
|
|
91
118
|
id: string;
|
|
119
|
+
}, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
|
|
120
|
+
meetingId?: string;
|
|
121
|
+
sendCAevents?: boolean;
|
|
92
122
|
}): Promise<any>;
|
|
93
123
|
}
|