@webex/plugin-meetings 3.0.0-beta.41 → 3.0.0-beta.410
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 +4531 -2994
- 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 +189 -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 +389 -304
- 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 +67 -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 +71 -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 +61 -2
- package/dist/types/multistream/sendSlotManager.d.ts +69 -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 +3929 -2622
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +237 -136
- package/src/meeting/request.ts +173 -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 -45
- package/src/multistream/sendSlotManager.ts +198 -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 +496 -419
- 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 +7835 -2501
- 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 +494 -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 +344 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +524 -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 +1431 -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,17 @@ 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
|
|
41
|
+
* @param {String} options.alias
|
|
33
42
|
* @returns {Promise}
|
|
34
43
|
*/
|
|
35
44
|
joinMeeting(options: {
|
|
36
45
|
sipUri: string;
|
|
37
46
|
deviceUrl: string;
|
|
38
47
|
locusUrl: string;
|
|
48
|
+
locusClusterUrl: string;
|
|
39
49
|
resourceId: string;
|
|
40
50
|
correlationId: string;
|
|
41
51
|
ensureConversation: boolean;
|
|
@@ -48,7 +58,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
48
58
|
meetingNumber: any;
|
|
49
59
|
permissionToken: any;
|
|
50
60
|
preferTranscoding: any;
|
|
61
|
+
reachability: any;
|
|
51
62
|
breakoutsSupported: boolean;
|
|
63
|
+
locale?: string;
|
|
64
|
+
deviceCapabilities?: Array<string>;
|
|
65
|
+
liveAnnotationSupported: boolean;
|
|
66
|
+
ipVersion?: IP_VERSION;
|
|
67
|
+
alias?: string;
|
|
52
68
|
}): Promise<any>;
|
|
53
69
|
/**
|
|
54
70
|
* Send a request to refresh the captcha
|
|
@@ -83,26 +99,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
83
99
|
*/
|
|
84
100
|
private dialOut;
|
|
85
101
|
/**
|
|
86
|
-
*
|
|
102
|
+
* Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
|
|
87
103
|
* @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
104
|
* @param {String} options.locusUrl sync url to get ht elatest locus delta
|
|
101
105
|
* @returns {Promise}
|
|
102
106
|
*/
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
locusUrl: string;
|
|
107
|
+
getLocusDTO(options: {
|
|
108
|
+
url: string;
|
|
106
109
|
}): any;
|
|
107
110
|
/**
|
|
108
111
|
* Make a network request to make a provisioned phone leave the meeting
|
|
@@ -116,13 +119,36 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
116
119
|
*/
|
|
117
120
|
private disconnectPhoneAudio;
|
|
118
121
|
/**
|
|
119
|
-
*
|
|
122
|
+
* Prepares request options to to leave a meeting
|
|
120
123
|
* @param {Object} options
|
|
121
124
|
* @param {Url} options.locusUrl
|
|
122
125
|
* @param {String} options.selfId
|
|
123
126
|
* @param {Url} options.deviceUrl
|
|
124
127
|
* @param {String} options.resourceId,
|
|
125
128
|
* @param {String} options.correlationId
|
|
129
|
+
* @returns {Object} request options
|
|
130
|
+
*/
|
|
131
|
+
prepareLeaveMeetingRequestOptions({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
|
|
132
|
+
locusUrl: string;
|
|
133
|
+
selfId: string;
|
|
134
|
+
deviceUrl: string;
|
|
135
|
+
resourceId: string;
|
|
136
|
+
correlationId: string;
|
|
137
|
+
}): {
|
|
138
|
+
method: string;
|
|
139
|
+
uri: string;
|
|
140
|
+
body: {
|
|
141
|
+
device: {
|
|
142
|
+
deviceType: any;
|
|
143
|
+
url: string;
|
|
144
|
+
};
|
|
145
|
+
usingResource: string;
|
|
146
|
+
correlationId: string;
|
|
147
|
+
};
|
|
148
|
+
};
|
|
149
|
+
/**
|
|
150
|
+
* Make a network request to leave a meeting
|
|
151
|
+
* @param {Object} options
|
|
126
152
|
* @returns {Promise}
|
|
127
153
|
*/
|
|
128
154
|
leaveMeeting({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
|
|
@@ -131,7 +157,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
131
157
|
deviceUrl: string;
|
|
132
158
|
resourceId: string;
|
|
133
159
|
correlationId: string;
|
|
134
|
-
}): any
|
|
160
|
+
}): Promise<any>;
|
|
161
|
+
/**
|
|
162
|
+
* Builds request options to leave a meeting
|
|
163
|
+
* @param {Object} options
|
|
164
|
+
* @returns {Object} request options
|
|
165
|
+
*/
|
|
166
|
+
buildLeaveMeetingRequestOptions(options: any): Promise<any>;
|
|
135
167
|
/**
|
|
136
168
|
* Make a network request to acknowledge a meeting
|
|
137
169
|
* @param {Object} options
|
|
@@ -144,8 +176,14 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
144
176
|
locusUrl: string;
|
|
145
177
|
deviceUrl: string;
|
|
146
178
|
correlationId: string;
|
|
147
|
-
}): any
|
|
148
|
-
|
|
179
|
+
}): Promise<any>;
|
|
180
|
+
/**
|
|
181
|
+
* Makes a network request to lock the meeting
|
|
182
|
+
* @param {Object} options
|
|
183
|
+
* @param {Boolean} options.lock Whether it is locked or not
|
|
184
|
+
* @returns {Promise}
|
|
185
|
+
*/
|
|
186
|
+
lockMeeting(options: any): Promise<any>;
|
|
149
187
|
/**
|
|
150
188
|
* Make a network request to decline a meeting
|
|
151
189
|
* @param {Object} options
|
|
@@ -158,25 +196,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
158
196
|
locusUrl: string;
|
|
159
197
|
deviceUrl: string;
|
|
160
198
|
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;
|
|
199
|
+
}): Promise<any>;
|
|
180
200
|
/**
|
|
181
201
|
* change the content floor grant
|
|
182
202
|
* @param {Object} options options for floor grant
|
|
@@ -185,6 +205,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
185
205
|
* @param {String} options.deviceUrl Url of a device
|
|
186
206
|
* @param {String} options.resourceId Populated if you are paired to a device
|
|
187
207
|
* @param {String} options.uri floor grant uri
|
|
208
|
+
* @param {String} options.shareInstanceId id for current share
|
|
188
209
|
* @returns {Promise}
|
|
189
210
|
*/
|
|
190
211
|
changeMeetingFloor(options: {
|
|
@@ -193,6 +214,8 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
193
214
|
deviceUrl: string;
|
|
194
215
|
resourceId: string;
|
|
195
216
|
uri: string;
|
|
217
|
+
annotationInfo: AnnotationInfo;
|
|
218
|
+
shareInstanceId: string;
|
|
196
219
|
} | any): any;
|
|
197
220
|
/**
|
|
198
221
|
* Sends a request to the DTMF endpoint to send tones
|
|
@@ -206,7 +229,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
206
229
|
locusUrl: string;
|
|
207
230
|
deviceUrl: string;
|
|
208
231
|
tones: string;
|
|
209
|
-
}): any
|
|
232
|
+
}): Promise<any>;
|
|
210
233
|
/**
|
|
211
234
|
* Sends a request to the controls endpoint to set the video layout
|
|
212
235
|
* @param {Object} options
|
|
@@ -233,7 +256,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
233
256
|
width: number;
|
|
234
257
|
height: number;
|
|
235
258
|
};
|
|
236
|
-
}): any
|
|
259
|
+
}): Promise<any>;
|
|
237
260
|
/**
|
|
238
261
|
* Make a network request to end meeting for all
|
|
239
262
|
* @param {Object} options
|
|
@@ -242,7 +265,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
242
265
|
*/
|
|
243
266
|
endMeetingForAll({ locusUrl }: {
|
|
244
267
|
locusUrl: string;
|
|
245
|
-
}): any
|
|
268
|
+
}): Promise<any>;
|
|
246
269
|
/**
|
|
247
270
|
* Send a locus keepAlive (used in lobby)
|
|
248
271
|
* @param {Object} options
|
|
@@ -267,5 +290,6 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
267
290
|
* @param {locusUrl} options.locusUrl
|
|
268
291
|
* @returns {Promise}
|
|
269
292
|
*/
|
|
270
|
-
toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): any
|
|
293
|
+
toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): Promise<any>;
|
|
294
|
+
getLocusStatusByUrl(locusUrl: string): any;
|
|
271
295
|
}
|
|
@@ -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
|
}
|