@webex/plugin-meetings 3.0.0-beta.40 → 3.0.0-beta.401
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 +625 -123
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/utils.js +27 -8
- 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 +6 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.js +247 -34
- 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 +116 -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 +4509 -3000
- 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 +236 -136
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +185 -155
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +676 -417
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.js +172 -0
- package/dist/meeting/voicea-meeting.js.map +1 -0
- 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 +201 -57
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/util.js +8 -7
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +44 -40
- 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 +57 -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 +100 -5
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +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 +66 -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 +407 -79
- 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 +9 -2
- 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 +204 -32
- 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 +630 -505
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +88 -26
- package/dist/types/meeting/request.d.ts +65 -43
- package/dist/types/meeting/util.d.ts +117 -1
- package/dist/types/meeting/voicea-meeting.d.ts +16 -0
- 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 +11 -2
- package/dist/types/roap/request.d.ts +9 -8
- package/dist/types/roap/turnDiscovery.d.ts +90 -9
- 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 +27 -6
- package/src/breakouts/breakout.ts +67 -9
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +494 -73
- package/src/breakouts/utils.ts +26 -8
- 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 +6 -13
- package/src/constants.ts +234 -22
- 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 +45 -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 +3899 -2622
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +237 -136
- package/src/meeting/request.ts +166 -122
- package/src/meeting/util.ts +690 -395
- package/src/meeting/voicea-meeting.ts +122 -0
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +166 -16
- package/src/meeting-info/util.ts +13 -10
- package/src/meeting-info/utilv2.ts +47 -37
- 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 +57 -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 +133 -7
- 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 +76 -25
- package/src/roap/request.ts +48 -67
- package/src/roap/turnDiscovery.ts +331 -67
- 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 +321 -262
- 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 +119 -28
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1204 -118
- package/test/unit/spec/breakouts/utils.js +27 -2
- 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 +1372 -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 +203 -17
- package/test/unit/spec/media/index.ts +178 -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 +7520 -2267
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +549 -207
- package/test/unit/spec/meeting/request.js +476 -54
- package/test/unit/spec/meeting/utils.js +827 -74
- package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +535 -9
- 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 +1489 -219
- 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 +2 -52
- package/test/unit/spec/multistream/mediaRequestManager.ts +782 -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 +293 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +233 -81
- package/test/unit/spec/roap/request.ts +100 -62
- package/test/unit/spec/roap/turnDiscovery.ts +682 -108
- 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}
|
|
38
|
+
*/
|
|
39
|
+
init(meeting: any): void;
|
|
40
|
+
/**
|
|
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.
|
|
45
|
+
*
|
|
46
|
+
* @param {Object} meeting - the meeting object
|
|
47
|
+
* @returns {void}
|
|
17
48
|
*/
|
|
18
|
-
|
|
49
|
+
handleLocalStreamChange(meeting: any): void;
|
|
19
50
|
/**
|
|
20
|
-
*
|
|
21
|
-
* at the point that this request becomese superseded by another client request.
|
|
51
|
+
* Enables/disables audio/video
|
|
22
52
|
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
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
|
|
26
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?: any): 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,23 @@ declare class MuteState {
|
|
|
67
116
|
* @returns {Promise}
|
|
68
117
|
*/
|
|
69
118
|
private sendRemoteMuteRequestToServer;
|
|
119
|
+
/** Applies the current value for unmute allowed to the underlying stream
|
|
120
|
+
*
|
|
121
|
+
* @param {Meeting} meeting
|
|
122
|
+
* @returns {void}
|
|
123
|
+
*/
|
|
124
|
+
private applyUnmuteAllowedToStream;
|
|
70
125
|
/**
|
|
71
126
|
* This method should be called whenever the server remote mute state is changed
|
|
72
127
|
*
|
|
73
128
|
* @public
|
|
74
129
|
* @memberof MuteState
|
|
130
|
+
* @param {Meeting} meeting
|
|
75
131
|
* @param {Boolean} [muted] true if user is remotely muted, false otherwise
|
|
76
132
|
* @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when "hard mute" feature is used)
|
|
77
133
|
* @returns {undefined}
|
|
78
134
|
*/
|
|
79
|
-
handleServerRemoteMuteUpdate(muted?: boolean, unmuteAllowed?: boolean): void;
|
|
135
|
+
handleServerRemoteMuteUpdate(meeting: any, muted?: boolean, unmuteAllowed?: boolean): void;
|
|
80
136
|
/**
|
|
81
137
|
* This method should be called whenever we receive from the server a requirement to locally unmute
|
|
82
138
|
*
|
|
@@ -85,32 +141,38 @@ declare class MuteState {
|
|
|
85
141
|
* @param {Object} [meeting] the meeting object
|
|
86
142
|
* @returns {undefined}
|
|
87
143
|
*/
|
|
88
|
-
handleServerLocalUnmuteRequired(meeting?:
|
|
144
|
+
handleServerLocalUnmuteRequired(meeting?: any): void;
|
|
145
|
+
/**
|
|
146
|
+
* Returns true if the user is locally or remotely muted.
|
|
147
|
+
* It only checks the mute status, ignoring the fact whether audio/video is enabled.
|
|
148
|
+
*
|
|
149
|
+
* @public
|
|
150
|
+
* @memberof MuteState
|
|
151
|
+
* @returns {Boolean}
|
|
152
|
+
*/
|
|
153
|
+
isMuted(): boolean;
|
|
89
154
|
/**
|
|
90
|
-
* Returns true if the user is
|
|
155
|
+
* Returns true if the user is remotely muted
|
|
91
156
|
*
|
|
92
157
|
* @public
|
|
93
158
|
* @memberof MuteState
|
|
94
159
|
* @returns {Boolean}
|
|
95
160
|
*/
|
|
96
|
-
|
|
161
|
+
isRemotelyMuted(): boolean;
|
|
97
162
|
/**
|
|
98
|
-
* Returns true if
|
|
163
|
+
* Returns true if unmute is allowed
|
|
99
164
|
*
|
|
100
165
|
* @public
|
|
101
166
|
* @memberof MuteState
|
|
102
167
|
* @returns {Boolean}
|
|
103
168
|
*/
|
|
104
|
-
|
|
169
|
+
isUnmuteAllowed(): boolean;
|
|
105
170
|
/**
|
|
106
|
-
* Returns true if the user is muted
|
|
171
|
+
* Returns true if the user is locally muted or audio/video is disabled
|
|
107
172
|
*
|
|
108
173
|
* @public
|
|
109
174
|
* @memberof MuteState
|
|
110
175
|
* @returns {Boolean}
|
|
111
176
|
*/
|
|
112
|
-
|
|
113
|
-
get muted(): any;
|
|
114
|
-
get self(): boolean;
|
|
177
|
+
isLocallyMuted(): boolean;
|
|
115
178
|
}
|
|
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;
|
|
@@ -48,7 +57,12 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
48
57
|
meetingNumber: any;
|
|
49
58
|
permissionToken: any;
|
|
50
59
|
preferTranscoding: any;
|
|
60
|
+
reachability: any;
|
|
51
61
|
breakoutsSupported: boolean;
|
|
62
|
+
locale?: string;
|
|
63
|
+
deviceCapabilities?: Array<string>;
|
|
64
|
+
liveAnnotationSupported: boolean;
|
|
65
|
+
ipVersion?: IP_VERSION;
|
|
52
66
|
}): Promise<any>;
|
|
53
67
|
/**
|
|
54
68
|
* Send a request to refresh the captcha
|
|
@@ -83,26 +97,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
83
97
|
*/
|
|
84
98
|
private dialOut;
|
|
85
99
|
/**
|
|
86
|
-
*
|
|
100
|
+
* Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
|
|
87
101
|
* @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
102
|
* @param {String} options.locusUrl sync url to get ht elatest locus delta
|
|
101
103
|
* @returns {Promise}
|
|
102
104
|
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
locusUrl: string;
|
|
105
|
+
getLocusDTO(options: {
|
|
106
|
+
url: string;
|
|
106
107
|
}): any;
|
|
107
108
|
/**
|
|
108
109
|
* Make a network request to make a provisioned phone leave the meeting
|
|
@@ -116,13 +117,36 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
116
117
|
*/
|
|
117
118
|
private disconnectPhoneAudio;
|
|
118
119
|
/**
|
|
119
|
-
*
|
|
120
|
+
* Prepares request options to to leave a meeting
|
|
120
121
|
* @param {Object} options
|
|
121
122
|
* @param {Url} options.locusUrl
|
|
122
123
|
* @param {String} options.selfId
|
|
123
124
|
* @param {Url} options.deviceUrl
|
|
124
125
|
* @param {String} options.resourceId,
|
|
125
126
|
* @param {String} options.correlationId
|
|
127
|
+
* @returns {Object} request options
|
|
128
|
+
*/
|
|
129
|
+
prepareLeaveMeetingRequestOptions({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
|
|
130
|
+
locusUrl: string;
|
|
131
|
+
selfId: string;
|
|
132
|
+
deviceUrl: string;
|
|
133
|
+
resourceId: string;
|
|
134
|
+
correlationId: string;
|
|
135
|
+
}): {
|
|
136
|
+
method: string;
|
|
137
|
+
uri: string;
|
|
138
|
+
body: {
|
|
139
|
+
device: {
|
|
140
|
+
deviceType: any;
|
|
141
|
+
url: string;
|
|
142
|
+
};
|
|
143
|
+
usingResource: string;
|
|
144
|
+
correlationId: string;
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Make a network request to leave a meeting
|
|
149
|
+
* @param {Object} options
|
|
126
150
|
* @returns {Promise}
|
|
127
151
|
*/
|
|
128
152
|
leaveMeeting({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
|
|
@@ -131,7 +155,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
131
155
|
deviceUrl: string;
|
|
132
156
|
resourceId: string;
|
|
133
157
|
correlationId: string;
|
|
134
|
-
}): any
|
|
158
|
+
}): Promise<any>;
|
|
159
|
+
/**
|
|
160
|
+
* Builds request options to leave a meeting
|
|
161
|
+
* @param {Object} options
|
|
162
|
+
* @returns {Object} request options
|
|
163
|
+
*/
|
|
164
|
+
buildLeaveMeetingRequestOptions(options: any): Promise<any>;
|
|
135
165
|
/**
|
|
136
166
|
* Make a network request to acknowledge a meeting
|
|
137
167
|
* @param {Object} options
|
|
@@ -144,8 +174,14 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
144
174
|
locusUrl: string;
|
|
145
175
|
deviceUrl: string;
|
|
146
176
|
correlationId: string;
|
|
147
|
-
}): any
|
|
148
|
-
|
|
177
|
+
}): Promise<any>;
|
|
178
|
+
/**
|
|
179
|
+
* Makes a network request to lock the meeting
|
|
180
|
+
* @param {Object} options
|
|
181
|
+
* @param {Boolean} options.lock Whether it is locked or not
|
|
182
|
+
* @returns {Promise}
|
|
183
|
+
*/
|
|
184
|
+
lockMeeting(options: any): Promise<any>;
|
|
149
185
|
/**
|
|
150
186
|
* Make a network request to decline a meeting
|
|
151
187
|
* @param {Object} options
|
|
@@ -158,25 +194,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
158
194
|
locusUrl: string;
|
|
159
195
|
deviceUrl: string;
|
|
160
196
|
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;
|
|
197
|
+
}): Promise<any>;
|
|
180
198
|
/**
|
|
181
199
|
* change the content floor grant
|
|
182
200
|
* @param {Object} options options for floor grant
|
|
@@ -185,6 +203,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
185
203
|
* @param {String} options.deviceUrl Url of a device
|
|
186
204
|
* @param {String} options.resourceId Populated if you are paired to a device
|
|
187
205
|
* @param {String} options.uri floor grant uri
|
|
206
|
+
* @param {String} options.shareInstanceId id for current share
|
|
188
207
|
* @returns {Promise}
|
|
189
208
|
*/
|
|
190
209
|
changeMeetingFloor(options: {
|
|
@@ -193,6 +212,8 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
193
212
|
deviceUrl: string;
|
|
194
213
|
resourceId: string;
|
|
195
214
|
uri: string;
|
|
215
|
+
annotationInfo: AnnotationInfo;
|
|
216
|
+
shareInstanceId: string;
|
|
196
217
|
} | any): any;
|
|
197
218
|
/**
|
|
198
219
|
* Sends a request to the DTMF endpoint to send tones
|
|
@@ -206,7 +227,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
206
227
|
locusUrl: string;
|
|
207
228
|
deviceUrl: string;
|
|
208
229
|
tones: string;
|
|
209
|
-
}): any
|
|
230
|
+
}): Promise<any>;
|
|
210
231
|
/**
|
|
211
232
|
* Sends a request to the controls endpoint to set the video layout
|
|
212
233
|
* @param {Object} options
|
|
@@ -233,7 +254,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
233
254
|
width: number;
|
|
234
255
|
height: number;
|
|
235
256
|
};
|
|
236
|
-
}): any
|
|
257
|
+
}): Promise<any>;
|
|
237
258
|
/**
|
|
238
259
|
* Make a network request to end meeting for all
|
|
239
260
|
* @param {Object} options
|
|
@@ -242,7 +263,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
242
263
|
*/
|
|
243
264
|
endMeetingForAll({ locusUrl }: {
|
|
244
265
|
locusUrl: string;
|
|
245
|
-
}): any
|
|
266
|
+
}): Promise<any>;
|
|
246
267
|
/**
|
|
247
268
|
* Send a locus keepAlive (used in lobby)
|
|
248
269
|
* @param {Object} options
|
|
@@ -267,5 +288,6 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
267
288
|
* @param {locusUrl} options.locusUrl
|
|
268
289
|
* @returns {Promise}
|
|
269
290
|
*/
|
|
270
|
-
toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): any
|
|
291
|
+
toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): Promise<any>;
|
|
292
|
+
getLocusStatusByUrl(locusUrl: string): any;
|
|
271
293
|
}
|
|
@@ -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;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const getSpeaker: (members: any, csis?: any[]) => unknown;
|
|
2
|
+
export declare const getSpeakerFromProxyOrStore: ({ csisKey, meetingMembers, transcriptData }: {
|
|
3
|
+
csisKey: any;
|
|
4
|
+
meetingMembers: any;
|
|
5
|
+
transcriptData: any;
|
|
6
|
+
}) => {
|
|
7
|
+
speaker: {
|
|
8
|
+
speakerId: string;
|
|
9
|
+
name: string;
|
|
10
|
+
};
|
|
11
|
+
needsCaching: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const processNewCaptions: ({ data, meeting }: {
|
|
14
|
+
data: any;
|
|
15
|
+
meeting: any;
|
|
16
|
+
}) => void;
|
|
@@ -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
|
}
|