@webex/plugin-meetings 3.0.0-beta.31 → 3.0.0-beta.310
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -8
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +94 -15
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +709 -35
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/utils.js +45 -1
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/errors/no-meeting-info.js +51 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/reclaim-host-role-errors.js +158 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/webex-errors.js +48 -7
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +5 -1
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +5 -11
- package/dist/config.js.map +1 -1
- package/dist/constants.js +233 -29
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +14 -2
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +109 -15
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +309 -18
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +112 -1
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +91 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +383 -62
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +57 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +249 -72
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +89 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +61 -116
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +73 -124
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +82 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +3777 -2929
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +230 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +260 -196
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +601 -417
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +73 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +192 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/util.js +1 -1
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +36 -36
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +39 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +415 -115
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +2 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +72 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +58 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +132 -25
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +10 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +102 -6
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +326 -232
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +13 -5
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -468
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +238 -49
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +29 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +39 -36
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +44 -18
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +209 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +233 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/index.js +225 -59
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +17 -8
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +201 -156
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +62 -32
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +112 -97
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +95 -36
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +117 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +86 -78
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +11 -10
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/utils.d.ts +14 -0
- package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/types/common/errors/webex-errors.d.ts +25 -1
- package/dist/types/common/logs/request.d.ts +2 -0
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +1 -7
- package/dist/types/constants.d.ts +194 -24
- package/dist/types/controls-options-manager/enums.d.ts +11 -1
- package/dist/types/controls-options-manager/index.d.ts +17 -1
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -7
- package/dist/types/index.d.ts +6 -4
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/index.d.ts +57 -4
- package/dist/types/locus-info/parser.d.ts +67 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -48
- package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
- package/dist/types/meeting/index.d.ts +463 -510
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +99 -23
- package/dist/types/meeting/request.d.ts +72 -43
- package/dist/types/meeting/util.d.ts +101 -1
- package/dist/types/meeting-info/index.d.ts +13 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/types/meetings/collection.d.ts +17 -0
- package/dist/types/meetings/index.d.ts +98 -20
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +14 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/members/collection.d.ts +5 -0
- package/dist/types/members/index.d.ts +35 -2
- package/dist/types/members/request.d.ts +73 -9
- package/dist/types/members/types.d.ts +25 -0
- package/dist/types/members/util.d.ts +214 -1
- package/dist/types/metrics/constants.d.ts +12 -4
- package/dist/types/metrics/index.d.ts +4 -119
- package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
- package/dist/types/multistream/receiveSlot.d.ts +13 -11
- package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
- package/dist/types/multistream/remoteMedia.d.ts +8 -29
- package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
- package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
- package/dist/types/multistream/sendSlotManager.d.ts +61 -0
- package/dist/types/reachability/index.d.ts +61 -7
- package/dist/types/reachability/request.d.ts +7 -3
- package/dist/types/reconnection-manager/index.d.ts +9 -0
- package/dist/types/recording-controller/index.d.ts +15 -1
- package/dist/types/recording-controller/util.d.ts +5 -4
- package/dist/types/roap/index.d.ts +2 -1
- package/dist/types/roap/request.d.ts +15 -11
- package/dist/types/roap/turnDiscovery.d.ts +21 -3
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +47 -0
- package/dist/types/statsAnalyzer/index.d.ts +7 -1
- package/dist/types/webinar/collection.d.ts +16 -0
- package/dist/types/webinar/index.d.ts +5 -0
- package/dist/webinar/collection.js +44 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.js +69 -0
- package/dist/webinar/index.js.map +1 -0
- package/package.json +23 -20
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +42 -12
- package/src/breakouts/breakout.ts +67 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +592 -20
- package/src/breakouts/utils.ts +42 -0
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/reclaim-host-role-errors.ts +134 -0
- package/src/common/errors/webex-errors.ts +44 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +5 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +4 -10
- package/src/constants.ts +221 -19
- package/src/controls-options-manager/enums.ts +12 -0
- package/src/controls-options-manager/index.ts +116 -21
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +294 -14
- package/src/index.ts +40 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +413 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +64 -0
- package/src/locus-info/parser.ts +258 -47
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +102 -122
- package/src/media/properties.ts +87 -110
- package/src/meeting/in-meeting-actions.ts +163 -3
- package/src/meeting/index.ts +3132 -2541
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +229 -131
- package/src/meeting/request.ts +177 -121
- package/src/meeting/util.ts +588 -394
- package/src/meeting-info/index.ts +81 -8
- package/src/meeting-info/meeting-info-v2.ts +170 -14
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +23 -23
- package/src/meetings/collection.ts +33 -0
- package/src/meetings/index.ts +445 -123
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +80 -11
- package/src/member/index.ts +58 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +141 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +134 -8
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +29 -0
- package/src/members/util.ts +333 -240
- package/src/metrics/constants.ts +12 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +31 -17
- package/src/multistream/receiveSlotManager.ts +34 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +148 -30
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/reachability/index.ts +228 -37
- package/src/reachability/request.ts +17 -8
- package/src/reconnection-manager/index.ts +83 -56
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +63 -32
- package/src/roap/request.ts +100 -104
- package/src/roap/turnDiscovery.ts +48 -26
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/index.ts +105 -91
- package/src/statsAnalyzer/mqaUtil.ts +13 -14
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +60 -3
- package/test/integration/spec/journey.js +320 -261
- package/test/integration/spec/space-meeting.js +76 -3
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +118 -28
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1395 -69
- package/test/unit/spec/breakouts/utils.js +52 -1
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +163 -0
- package/test/unit/spec/controls-options-manager/util.js +576 -60
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +316 -43
- package/test/unit/spec/locus-info/index.js +1304 -33
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
- package/test/unit/spec/locus-info/parser.js +116 -35
- package/test/unit/spec/locus-info/selfConstant.js +27 -4
- package/test/unit/spec/locus-info/selfUtils.js +208 -17
- package/test/unit/spec/media/index.ts +104 -37
- package/test/unit/spec/media/properties.ts +2 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
- package/test/unit/spec/meeting/index.js +5216 -1956
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +408 -208
- package/test/unit/spec/meeting/request.js +483 -49
- package/test/unit/spec/meeting/utils.js +679 -64
- package/test/unit/spec/meeting-info/index.js +300 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +26 -0
- package/test/unit/spec/meetings/index.js +1011 -205
- package/test/unit/spec/meetings/utils.js +202 -2
- package/test/unit/spec/member/index.js +61 -6
- package/test/unit/spec/member/util.js +510 -34
- package/test/unit/spec/members/index.js +432 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +210 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
- package/test/unit/spec/multistream/receiveSlot.ts +28 -20
- package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
- package/test/unit/spec/multistream/remoteMedia.ts +30 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/reachability/index.ts +549 -9
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +85 -9
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +178 -64
- package/test/unit/spec/roap/request.ts +203 -85
- package/test/unit/spec/roap/turnDiscovery.ts +82 -36
- package/test/unit/spec/rtcMetrics/index.ts +73 -0
- package/test/unit/spec/stats-analyzer/index.js +136 -2
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -52
- package/dist/meeting/effectsState.js +0 -262
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.js +0 -299
- package/dist/metrics/config.js.map +0 -1
- package/dist/types/meeting/effectsState.d.ts +0 -42
- package/dist/types/metrics/config.d.ts +0 -178
- package/src/index.js +0 -16
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/test/unit/spec/meeting/effectsState.js +0 -285
|
@@ -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?: object, mute?: boolean): void;
|
|
34
76
|
/**
|
|
35
|
-
* Applies the current mute state to the local
|
|
77
|
+
* Applies the current mute state to the local stream (by enabling or disabling it accordingly)
|
|
36
78
|
*
|
|
37
79
|
* @public
|
|
38
80
|
* @param {Object} [meeting] the meeting object
|
|
81
|
+
* @param {ServerMuteReason} reason - reason why we're applying our client state to the local stream
|
|
39
82
|
* @memberof MuteState
|
|
40
83
|
* @returns {void}
|
|
41
84
|
*/
|
|
42
|
-
applyClientStateLocally(meeting?: any): void;
|
|
85
|
+
applyClientStateLocally(meeting?: any, reason?: ServerMuteReason): void;
|
|
86
|
+
/** Returns true if client is locally muted - it takes into account not just the client local mute state,
|
|
87
|
+
* but also whether audio/video is enabled at all
|
|
88
|
+
*
|
|
89
|
+
* @returns {boolean}
|
|
90
|
+
*/
|
|
91
|
+
private getClientLocalMuteState;
|
|
43
92
|
/**
|
|
44
93
|
* Updates the server local and remote mute values so that they match the current client desired state.
|
|
45
94
|
*
|
|
@@ -67,16 +116,29 @@ declare class MuteState {
|
|
|
67
116
|
* @returns {Promise}
|
|
68
117
|
*/
|
|
69
118
|
private sendRemoteMuteRequestToServer;
|
|
119
|
+
/** Sets the mute state of the local stream according to what server thinks is our state
|
|
120
|
+
* @param {Object} meeting - the meeting object
|
|
121
|
+
* @param {ServerMuteReason} serverMuteReason - reason why we're applying server mute to the local stream
|
|
122
|
+
* @returns {void}
|
|
123
|
+
*/
|
|
124
|
+
private applyServerMuteToLocalStream;
|
|
125
|
+
/** Applies the current value for unmute allowed to the underlying stream
|
|
126
|
+
*
|
|
127
|
+
* @param {Meeting} meeting
|
|
128
|
+
* @returns {void}
|
|
129
|
+
*/
|
|
130
|
+
private applyUnmuteAllowedToStream;
|
|
70
131
|
/**
|
|
71
132
|
* This method should be called whenever the server remote mute state is changed
|
|
72
133
|
*
|
|
73
134
|
* @public
|
|
74
135
|
* @memberof MuteState
|
|
136
|
+
* @param {Meeting} meeting
|
|
75
137
|
* @param {Boolean} [muted] true if user is remotely muted, false otherwise
|
|
76
138
|
* @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when "hard mute" feature is used)
|
|
77
139
|
* @returns {undefined}
|
|
78
140
|
*/
|
|
79
|
-
handleServerRemoteMuteUpdate(muted?: boolean, unmuteAllowed?: boolean): void;
|
|
141
|
+
handleServerRemoteMuteUpdate(meeting: any, muted?: boolean, unmuteAllowed?: boolean): void;
|
|
80
142
|
/**
|
|
81
143
|
* This method should be called whenever we receive from the server a requirement to locally unmute
|
|
82
144
|
*
|
|
@@ -87,22 +149,36 @@ declare class MuteState {
|
|
|
87
149
|
*/
|
|
88
150
|
handleServerLocalUnmuteRequired(meeting?: object): void;
|
|
89
151
|
/**
|
|
90
|
-
* Returns true if the user is locally or remotely muted
|
|
152
|
+
* Returns true if the user is locally or remotely muted.
|
|
153
|
+
* It only checks the mute status, ignoring the fact whether audio/video is enabled.
|
|
154
|
+
*
|
|
155
|
+
* @public
|
|
156
|
+
* @memberof MuteState
|
|
157
|
+
* @returns {Boolean}
|
|
158
|
+
*/
|
|
159
|
+
isMuted(): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Returns true if the user is remotely muted
|
|
162
|
+
*
|
|
163
|
+
* @public
|
|
164
|
+
* @memberof MuteState
|
|
165
|
+
* @returns {Boolean}
|
|
166
|
+
*/
|
|
167
|
+
isRemotelyMuted(): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Returns true if unmute is allowed
|
|
91
170
|
*
|
|
92
171
|
* @public
|
|
93
172
|
* @memberof MuteState
|
|
94
173
|
* @returns {Boolean}
|
|
95
174
|
*/
|
|
96
|
-
|
|
175
|
+
isUnmuteAllowed(): boolean;
|
|
97
176
|
/**
|
|
98
|
-
* Returns true if the user is muted
|
|
177
|
+
* Returns true if the user is locally muted or audio/video is disabled
|
|
99
178
|
*
|
|
100
179
|
* @public
|
|
101
180
|
* @memberof MuteState
|
|
102
181
|
* @returns {Boolean}
|
|
103
182
|
*/
|
|
104
|
-
|
|
105
|
-
get muted(): any;
|
|
106
|
-
get self(): boolean;
|
|
183
|
+
isLocallyMuted(): boolean;
|
|
107
184
|
}
|
|
108
|
-
export {};
|
|
@@ -1,11 +1,26 @@
|
|
|
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>;
|
|
13
|
+
/**
|
|
14
|
+
* Constructor
|
|
15
|
+
* @param {Object} attrs
|
|
16
|
+
* @param {Object} options
|
|
17
|
+
*/
|
|
8
18
|
constructor(attrs: any, options: any);
|
|
19
|
+
/**
|
|
20
|
+
* Returns joinCookie from boundedStorage if present.
|
|
21
|
+
* @returns {Object} joinCookie
|
|
22
|
+
*/
|
|
23
|
+
private getJoinCookie;
|
|
9
24
|
/**
|
|
10
25
|
* Make a network request to join a meeting
|
|
11
26
|
* @param {Object} options
|
|
@@ -20,12 +35,16 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
20
35
|
* @param {boolean} options.moveToResource
|
|
21
36
|
* @param {Object} options.roapMessage
|
|
22
37
|
* @param {boolean} options.breakoutsSupported
|
|
38
|
+
* @param {String} options.locale,
|
|
39
|
+
* @param {Array} options.deviceCapabilities
|
|
40
|
+
* @param {boolean} options.liveAnnotationSupported
|
|
23
41
|
* @returns {Promise}
|
|
24
42
|
*/
|
|
25
43
|
joinMeeting(options: {
|
|
26
44
|
sipUri: string;
|
|
27
45
|
deviceUrl: string;
|
|
28
46
|
locusUrl: string;
|
|
47
|
+
locusClusterUrl: string;
|
|
29
48
|
resourceId: string;
|
|
30
49
|
correlationId: string;
|
|
31
50
|
ensureConversation: boolean;
|
|
@@ -39,6 +58,10 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
39
58
|
permissionToken: any;
|
|
40
59
|
preferTranscoding: any;
|
|
41
60
|
breakoutsSupported: boolean;
|
|
61
|
+
locale?: string;
|
|
62
|
+
deviceCapabilities?: Array<string>;
|
|
63
|
+
liveAnnotationSupported: boolean;
|
|
64
|
+
ipVersion?: IP_VERSION;
|
|
42
65
|
}): Promise<any>;
|
|
43
66
|
/**
|
|
44
67
|
* Send a request to refresh the captcha
|
|
@@ -73,26 +96,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
73
96
|
*/
|
|
74
97
|
private dialOut;
|
|
75
98
|
/**
|
|
76
|
-
*
|
|
99
|
+
* Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
|
|
77
100
|
* @param {Object} options
|
|
78
|
-
* @param {boolean} options.desync flag to get partial or whole locus object
|
|
79
|
-
* @param {String} options.syncUrl sync url to get ht elatest locus delta
|
|
80
|
-
* @returns {Promise}
|
|
81
|
-
*/
|
|
82
|
-
syncMeeting(options: {
|
|
83
|
-
desync: boolean;
|
|
84
|
-
syncUrl: string;
|
|
85
|
-
}): any;
|
|
86
|
-
/**
|
|
87
|
-
* Request to get the complete locus object
|
|
88
|
-
* @param {Object} options
|
|
89
|
-
* @param {boolean} options.desync flag to get partial or whole locus object
|
|
90
101
|
* @param {String} options.locusUrl sync url to get ht elatest locus delta
|
|
91
102
|
* @returns {Promise}
|
|
92
103
|
*/
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
locusUrl: string;
|
|
104
|
+
getLocusDTO(options: {
|
|
105
|
+
url: string;
|
|
96
106
|
}): any;
|
|
97
107
|
/**
|
|
98
108
|
* Make a network request to make a provisioned phone leave the meeting
|
|
@@ -106,13 +116,36 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
106
116
|
*/
|
|
107
117
|
private disconnectPhoneAudio;
|
|
108
118
|
/**
|
|
109
|
-
*
|
|
119
|
+
* Prepares request options to to leave a meeting
|
|
110
120
|
* @param {Object} options
|
|
111
121
|
* @param {Url} options.locusUrl
|
|
112
122
|
* @param {String} options.selfId
|
|
113
123
|
* @param {Url} options.deviceUrl
|
|
114
124
|
* @param {String} options.resourceId,
|
|
115
125
|
* @param {String} options.correlationId
|
|
126
|
+
* @returns {Object} request options
|
|
127
|
+
*/
|
|
128
|
+
prepareLeaveMeetingRequestOptions({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
|
|
129
|
+
locusUrl: string;
|
|
130
|
+
selfId: string;
|
|
131
|
+
deviceUrl: string;
|
|
132
|
+
resourceId: string;
|
|
133
|
+
correlationId: string;
|
|
134
|
+
}): {
|
|
135
|
+
method: string;
|
|
136
|
+
uri: string;
|
|
137
|
+
body: {
|
|
138
|
+
device: {
|
|
139
|
+
deviceType: any;
|
|
140
|
+
url: string;
|
|
141
|
+
};
|
|
142
|
+
usingResource: string;
|
|
143
|
+
correlationId: string;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* Make a network request to leave a meeting
|
|
148
|
+
* @param {Object} options
|
|
116
149
|
* @returns {Promise}
|
|
117
150
|
*/
|
|
118
151
|
leaveMeeting({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
|
|
@@ -121,7 +154,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
121
154
|
deviceUrl: string;
|
|
122
155
|
resourceId: string;
|
|
123
156
|
correlationId: string;
|
|
124
|
-
}): any
|
|
157
|
+
}): Promise<any>;
|
|
158
|
+
/**
|
|
159
|
+
* Builds request options to leave a meeting
|
|
160
|
+
* @param {Object} options
|
|
161
|
+
* @returns {Object} request options
|
|
162
|
+
*/
|
|
163
|
+
buildLeaveMeetingRequestOptions(options: any): Promise<any>;
|
|
125
164
|
/**
|
|
126
165
|
* Make a network request to acknowledge a meeting
|
|
127
166
|
* @param {Object} options
|
|
@@ -134,8 +173,14 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
134
173
|
locusUrl: string;
|
|
135
174
|
deviceUrl: string;
|
|
136
175
|
correlationId: string;
|
|
137
|
-
}): any
|
|
138
|
-
|
|
176
|
+
}): Promise<any>;
|
|
177
|
+
/**
|
|
178
|
+
* Makes a network request to lock the meeting
|
|
179
|
+
* @param {Object} options
|
|
180
|
+
* @param {Boolean} options.lock Whether it is locked or not
|
|
181
|
+
* @returns {Promise}
|
|
182
|
+
*/
|
|
183
|
+
lockMeeting(options: any): Promise<any>;
|
|
139
184
|
/**
|
|
140
185
|
* Make a network request to decline a meeting
|
|
141
186
|
* @param {Object} options
|
|
@@ -148,25 +193,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
148
193
|
locusUrl: string;
|
|
149
194
|
deviceUrl: string;
|
|
150
195
|
reason: string;
|
|
151
|
-
}): any
|
|
152
|
-
/**
|
|
153
|
-
* Toggle remote audio and/or video
|
|
154
|
-
* @param {Object} options options for toggling
|
|
155
|
-
* @param {String} options.selfId Locus self id??
|
|
156
|
-
* @param {String} options.locusUrl Locus url
|
|
157
|
-
* @param {String} options.deviceUrl Url of a device
|
|
158
|
-
* @param {String} options.resourceId Populated if you are paired to a device
|
|
159
|
-
* @param {String} options.localMedias local sdps
|
|
160
|
-
* @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
|
|
161
|
-
* @returns {Promise}
|
|
162
|
-
*/
|
|
163
|
-
remoteAudioVideoToggle(options: {
|
|
164
|
-
selfId: string;
|
|
165
|
-
locusUrl: string;
|
|
166
|
-
deviceUrl: string;
|
|
167
|
-
resourceId: string;
|
|
168
|
-
localMedias: string;
|
|
169
|
-
} | any): any;
|
|
196
|
+
}): Promise<any>;
|
|
170
197
|
/**
|
|
171
198
|
* change the content floor grant
|
|
172
199
|
* @param {Object} options options for floor grant
|
|
@@ -183,6 +210,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
183
210
|
deviceUrl: string;
|
|
184
211
|
resourceId: string;
|
|
185
212
|
uri: string;
|
|
213
|
+
annotationInfo: AnnotationInfo;
|
|
186
214
|
} | any): any;
|
|
187
215
|
/**
|
|
188
216
|
* Sends a request to the DTMF endpoint to send tones
|
|
@@ -196,7 +224,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
196
224
|
locusUrl: string;
|
|
197
225
|
deviceUrl: string;
|
|
198
226
|
tones: string;
|
|
199
|
-
}): any
|
|
227
|
+
}): Promise<any>;
|
|
200
228
|
/**
|
|
201
229
|
* Sends a request to the controls endpoint to set the video layout
|
|
202
230
|
* @param {Object} options
|
|
@@ -223,7 +251,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
223
251
|
width: number;
|
|
224
252
|
height: number;
|
|
225
253
|
};
|
|
226
|
-
}): any
|
|
254
|
+
}): Promise<any>;
|
|
227
255
|
/**
|
|
228
256
|
* Make a network request to end meeting for all
|
|
229
257
|
* @param {Object} options
|
|
@@ -232,7 +260,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
232
260
|
*/
|
|
233
261
|
endMeetingForAll({ locusUrl }: {
|
|
234
262
|
locusUrl: string;
|
|
235
|
-
}): any
|
|
263
|
+
}): Promise<any>;
|
|
236
264
|
/**
|
|
237
265
|
* Send a locus keepAlive (used in lobby)
|
|
238
266
|
* @param {Object} options
|
|
@@ -257,5 +285,6 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
257
285
|
* @param {locusUrl} options.locusUrl
|
|
258
286
|
* @returns {Promise}
|
|
259
287
|
*/
|
|
260
|
-
toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): any
|
|
288
|
+
toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): Promise<any>;
|
|
289
|
+
getLocusStatusByUrl(locusUrl: string): any;
|
|
261
290
|
}
|
|
@@ -1,2 +1,102 @@
|
|
|
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
|
+
};
|
|
2
102
|
export default MeetingUtil;
|
|
@@ -49,9 +49,21 @@ export default class MeetingInfo {
|
|
|
49
49
|
* Fetches meeting info from the server
|
|
50
50
|
* @param {String} destination one of many different types of destinations to look up info for
|
|
51
51
|
* @param {String} [type] to match up with the destination value
|
|
52
|
+
* @param {String} [password] meeting password
|
|
53
|
+
* @param {Object} [captchaInfo] captcha code and id
|
|
54
|
+
* @param {String} [installedOrgID]
|
|
55
|
+
* @param {String} [locusId]
|
|
56
|
+
* @param {Object} [extraParams]
|
|
57
|
+
* @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent
|
|
52
58
|
* @returns {Promise} returns a meeting info object
|
|
53
59
|
* @public
|
|
54
60
|
* @memberof MeetingInfo
|
|
55
61
|
*/
|
|
56
|
-
fetchMeetingInfo(destination: string, type?: string
|
|
62
|
+
fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
|
|
63
|
+
code: string;
|
|
64
|
+
id: string;
|
|
65
|
+
}, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
|
|
66
|
+
meetingId?: string;
|
|
67
|
+
sendCAevents?: boolean;
|
|
68
|
+
}): any;
|
|
57
69
|
}
|
|
@@ -29,6 +29,22 @@ export declare class MeetingInfoV2AdhocMeetingError extends Error {
|
|
|
29
29
|
*/
|
|
30
30
|
constructor(wbxAppApiErrorCode?: number, message?: string);
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Error preventing join because of a meeting policy
|
|
34
|
+
*/
|
|
35
|
+
export declare class MeetingInfoV2PolicyError extends Error {
|
|
36
|
+
meetingInfo: object;
|
|
37
|
+
sdkMessage: string;
|
|
38
|
+
wbxAppApiCode: number;
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
* @constructor
|
|
42
|
+
* @param {Number} [wbxAppApiErrorCode]
|
|
43
|
+
* @param {Object} [meetingInfo]
|
|
44
|
+
* @param {String} [message]
|
|
45
|
+
*/
|
|
46
|
+
constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
|
|
47
|
+
}
|
|
32
48
|
/**
|
|
33
49
|
* Error to indicate that preferred webex site not present to start adhoc meeting
|
|
34
50
|
*/
|
|
@@ -66,14 +82,21 @@ export default class MeetingInfoV2 {
|
|
|
66
82
|
* @memberof MeetingInfo
|
|
67
83
|
*/
|
|
68
84
|
fetchInfoOptions(destination: string, type?: string): any;
|
|
85
|
+
/**
|
|
86
|
+
* Raises a MeetingInfoV2PolicyError for policy error codes
|
|
87
|
+
* @param {any} err the error from the request
|
|
88
|
+
* @returns {void}
|
|
89
|
+
*/
|
|
90
|
+
handlePolicyError: (err: any) => void;
|
|
69
91
|
/**
|
|
70
92
|
* Creates adhoc space meetings for a space by fetching the conversation infomation
|
|
71
93
|
* @param {String} conversationUrl conversationUrl to start adhoc meeting on
|
|
94
|
+
* @param {String} installedOrgID org ID of user's machine
|
|
72
95
|
* @returns {Promise} returns a meeting info object
|
|
73
96
|
* @public
|
|
74
97
|
* @memberof MeetingInfo
|
|
75
98
|
*/
|
|
76
|
-
createAdhocSpaceMeeting(conversationUrl: string): Promise<any>;
|
|
99
|
+
createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string): Promise<any>;
|
|
77
100
|
/**
|
|
78
101
|
* Fetches meeting info from the server
|
|
79
102
|
* @param {String} destination one of many different types of destinations to look up info for
|
|
@@ -82,6 +105,10 @@ export default class MeetingInfoV2 {
|
|
|
82
105
|
* @param {Object} captchaInfo
|
|
83
106
|
* @param {String} captchaInfo.code
|
|
84
107
|
* @param {String} captchaInfo.id
|
|
108
|
+
* @param {String} installedOrgID org ID of user's machine
|
|
109
|
+
* @param {String} locusId
|
|
110
|
+
* @param {Object} extraParams
|
|
111
|
+
* @param {Object} options
|
|
85
112
|
* @returns {Promise} returns a meeting info object
|
|
86
113
|
* @public
|
|
87
114
|
* @memberof MeetingInfo
|
|
@@ -89,5 +116,8 @@ export default class MeetingInfoV2 {
|
|
|
89
116
|
fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
|
|
90
117
|
code: string;
|
|
91
118
|
id: string;
|
|
119
|
+
}, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
|
|
120
|
+
meetingId?: string;
|
|
121
|
+
sendCAevents?: boolean;
|
|
92
122
|
}): Promise<any>;
|
|
93
123
|
}
|