@webex/plugin-meetings 3.8.0 → 3.8.1-next.10
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 +26 -13
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +70 -6
- package/dist/breakouts/index.js.map +1 -1
- package/dist/common/errors/webex-errors.js +12 -2
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/config.js +5 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +28 -123
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +3 -0
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +78 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/interpretation/index.js +4 -4
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +37 -11
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +92 -12
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +432 -418
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +17 -17
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +94 -6
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/brbState.js +9 -2
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +21 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +678 -344
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +21 -22
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +4 -4
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +30 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +13 -2
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +373 -68
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +5 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/index.js +136 -1
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/util.js +14 -0
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +55 -9
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +3 -0
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +335 -353
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +137 -29
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +38 -0
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +36 -1
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +10 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +40 -8
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/reachability/clusterReachability.js +63 -27
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +107 -47
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/reachability.types.js +14 -0
- package/dist/reachability/reachability.types.js.map +1 -1
- package/dist/reachability/request.js +19 -3
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +2 -2
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/util.js +5 -5
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/turnDiscovery.js +45 -27
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/types.js +17 -0
- package/dist/roap/types.js.map +1 -0
- package/dist/types/common/errors/webex-errors.d.ts +7 -1
- package/dist/types/config.d.ts +3 -0
- package/dist/types/constants.d.ts +20 -85
- package/dist/types/controls-options-manager/enums.d.ts +4 -1
- package/dist/types/controls-options-manager/types.d.ts +10 -1
- package/dist/types/locus-info/index.d.ts +3 -3
- package/dist/types/locus-info/selfUtils.d.ts +216 -1
- package/dist/types/media/properties.d.ts +15 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +20 -0
- package/dist/types/meeting/index.d.ts +65 -1
- package/dist/types/meeting/muteState.d.ts +0 -1
- package/dist/types/meeting/request.d.ts +12 -1
- package/dist/types/meeting/request.type.d.ts +6 -0
- package/dist/types/meeting/util.d.ts +3 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +82 -1
- package/dist/types/meetings/index.d.ts +57 -0
- package/dist/types/member/index.d.ts +21 -6
- package/dist/types/member/types.d.ts +73 -14
- package/dist/types/member/util.d.ts +156 -1
- package/dist/types/members/collection.d.ts +6 -5
- package/dist/types/members/index.d.ts +32 -43
- package/dist/types/members/request.d.ts +26 -0
- package/dist/types/members/util.d.ts +27 -0
- package/dist/types/metrics/constants.d.ts +10 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +10 -1
- package/dist/types/reachability/clusterReachability.d.ts +15 -7
- package/dist/types/reachability/index.d.ts +10 -1
- package/dist/types/reachability/reachability.types.d.ts +5 -0
- package/dist/types/roap/index.d.ts +3 -2
- package/dist/types/roap/turnDiscovery.d.ts +5 -17
- package/dist/types/roap/types.d.ts +16 -0
- package/dist/webinar/index.js +2 -2
- package/dist/webinar/index.js.map +1 -1
- package/package.json +24 -23
- package/src/breakouts/index.ts +69 -0
- package/src/common/errors/webex-errors.ts +8 -1
- package/src/config.ts +3 -0
- package/src/constants.ts +30 -90
- package/src/controls-options-manager/enums.ts +3 -0
- package/src/controls-options-manager/types.ts +16 -1
- package/src/controls-options-manager/util.ts +93 -0
- package/src/interpretation/index.ts +3 -3
- package/src/locus-info/controlsUtils.ts +59 -14
- package/src/locus-info/index.ts +97 -13
- package/src/locus-info/selfUtils.ts +496 -442
- package/src/media/index.ts +23 -21
- package/src/media/properties.ts +96 -0
- package/src/meeting/brbState.ts +11 -2
- package/src/meeting/in-meeting-actions.ts +40 -0
- package/src/meeting/index.ts +470 -105
- package/src/meeting/locusMediaRequest.ts +27 -22
- package/src/meeting/muteState.ts +4 -4
- package/src/meeting/request.ts +36 -1
- package/src/meeting/request.type.ts +7 -0
- package/src/meeting/util.ts +11 -2
- package/src/meeting-info/meeting-info-v2.ts +254 -8
- package/src/meeting-info/utilv2.ts +5 -0
- package/src/meetings/index.ts +148 -1
- package/src/meetings/util.ts +18 -0
- package/src/member/index.ts +68 -22
- package/src/member/types.ts +82 -16
- package/src/member/util.ts +357 -350
- package/src/members/collection.ts +4 -3
- package/src/members/index.ts +137 -18
- package/src/members/request.ts +44 -0
- package/src/members/util.ts +43 -1
- package/src/metrics/constants.ts +10 -0
- package/src/multistream/remoteMediaManager.ts +32 -10
- package/src/reachability/clusterReachability.ts +73 -26
- package/src/reachability/index.ts +62 -1
- package/src/reachability/reachability.types.ts +6 -0
- package/src/reachability/request.ts +7 -0
- package/src/reconnection-manager/index.ts +2 -2
- package/src/recording-controller/util.ts +17 -13
- package/src/roap/index.ts +3 -7
- package/src/roap/turnDiscovery.ts +34 -39
- package/src/roap/types.ts +23 -0
- package/src/webinar/index.ts +1 -1
- package/test/unit/spec/breakouts/index.ts +167 -95
- package/test/unit/spec/controls-options-manager/util.js +178 -0
- package/test/unit/spec/interpretation/index.ts +39 -1
- package/test/unit/spec/locus-info/controlsUtils.js +155 -9
- package/test/unit/spec/locus-info/index.js +209 -73
- package/test/unit/spec/locus-info/selfUtils.js +98 -24
- package/test/unit/spec/media/index.ts +150 -18
- package/test/unit/spec/media/properties.ts +130 -0
- package/test/unit/spec/meeting/brbState.ts +40 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +23 -4
- package/test/unit/spec/meeting/index.js +804 -139
- package/test/unit/spec/meeting/locusMediaRequest.ts +95 -87
- package/test/unit/spec/meeting/muteState.js +73 -2
- package/test/unit/spec/meeting/request.js +32 -1
- package/test/unit/spec/meeting/utils.js +119 -18
- package/test/unit/spec/meeting-info/meetinginfov2.js +484 -114
- package/test/unit/spec/meeting-info/utilv2.js +19 -0
- package/test/unit/spec/meetings/index.js +146 -2
- package/test/unit/spec/member/index.js +7 -0
- package/test/unit/spec/member/util.js +24 -0
- package/test/unit/spec/members/index.js +304 -78
- package/test/unit/spec/members/request.js +68 -22
- package/test/unit/spec/members/utils.js +75 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +397 -118
- package/test/unit/spec/reachability/clusterReachability.ts +88 -56
- package/test/unit/spec/reachability/index.ts +97 -0
- package/test/unit/spec/reachability/request.js +47 -2
- package/test/unit/spec/reconnection-manager/index.js +4 -4
- package/test/unit/spec/roap/turnDiscovery.ts +110 -28
- package/test/unit/spec/webinar/index.ts +5 -0
- package/dist/annotation/annotation.types.d.ts +0 -42
- package/dist/annotation/constants.d.ts +0 -31
- package/dist/annotation/index.d.ts +0 -117
- package/dist/breakouts/breakout.d.ts +0 -8
- package/dist/breakouts/collection.d.ts +0 -5
- package/dist/breakouts/edit-lock-error.d.ts +0 -15
- package/dist/breakouts/events.d.ts +0 -8
- package/dist/breakouts/index.d.ts +0 -5
- package/dist/breakouts/request.d.ts +0 -22
- package/dist/breakouts/utils.d.ts +0 -15
- package/dist/common/browser-detection.d.ts +0 -9
- package/dist/common/collection.d.ts +0 -48
- package/dist/common/config.d.ts +0 -2
- package/dist/common/errors/captcha-error.d.ts +0 -15
- package/dist/common/errors/intent-to-join.d.ts +0 -16
- package/dist/common/errors/join-meeting.d.ts +0 -17
- package/dist/common/errors/media.d.ts +0 -15
- package/dist/common/errors/no-meeting-info.d.ts +0 -14
- package/dist/common/errors/parameter.d.ts +0 -15
- package/dist/common/errors/password-error.d.ts +0 -15
- package/dist/common/errors/permission.d.ts +0 -14
- package/dist/common/errors/reclaim-host-role-error.js +0 -149
- package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
- package/dist/common/errors/reclaim-host-role-errors.d.ts +0 -60
- package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/common/errors/reconnection-in-progress.js +0 -33
- package/dist/common/errors/reconnection-in-progress.js.map +0 -1
- package/dist/common/errors/reconnection.d.ts +0 -15
- package/dist/common/errors/stats.d.ts +0 -15
- package/dist/common/errors/webex-errors.d.ts +0 -93
- package/dist/common/errors/webex-meetings-error.d.ts +0 -20
- package/dist/common/events/events-scope.d.ts +0 -17
- package/dist/common/events/events.d.ts +0 -12
- package/dist/common/events/trigger-proxy.d.ts +0 -2
- package/dist/common/events/util.d.ts +0 -2
- package/dist/common/logs/logger-config.d.ts +0 -2
- package/dist/common/logs/logger-proxy.d.ts +0 -2
- package/dist/common/logs/request.d.ts +0 -36
- package/dist/common/queue.d.ts +0 -34
- package/dist/config.d.ts +0 -72
- package/dist/constants.d.ts +0 -1088
- package/dist/controls-options-manager/constants.d.ts +0 -4
- package/dist/controls-options-manager/enums.d.ts +0 -15
- package/dist/controls-options-manager/index.d.ts +0 -136
- package/dist/controls-options-manager/types.d.ts +0 -43
- package/dist/controls-options-manager/util.d.ts +0 -1
- package/dist/index.d.ts +0 -7
- package/dist/interceptors/index.d.ts +0 -2
- package/dist/interceptors/locusRetry.d.ts +0 -27
- package/dist/interpretation/collection.d.ts +0 -5
- package/dist/interpretation/index.d.ts +0 -5
- package/dist/interpretation/siLanguage.d.ts +0 -5
- package/dist/locus-info/controlsUtils.d.ts +0 -2
- package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
- package/dist/locus-info/fullState.d.ts +0 -2
- package/dist/locus-info/hostUtils.d.ts +0 -2
- package/dist/locus-info/index.d.ts +0 -322
- package/dist/locus-info/infoUtils.d.ts +0 -2
- package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
- package/dist/locus-info/parser.d.ts +0 -272
- package/dist/locus-info/selfUtils.d.ts +0 -2
- package/dist/media/index.d.ts +0 -34
- package/dist/media/properties.d.ts +0 -93
- package/dist/media/util.d.ts +0 -2
- package/dist/mediaQualityMetrics/config.d.ts +0 -241
- package/dist/mediaQualityMetrics/config.js +0 -502
- package/dist/mediaQualityMetrics/config.js.map +0 -1
- package/dist/meeting/effectsState.js +0 -260
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/meeting/in-meeting-actions.d.ts +0 -167
- package/dist/meeting/index.d.ts +0 -1825
- package/dist/meeting/locusMediaRequest.d.ts +0 -74
- package/dist/meeting/muteState.d.ts +0 -178
- package/dist/meeting/request.d.ts +0 -295
- package/dist/meeting/request.type.d.ts +0 -11
- package/dist/meeting/state.d.ts +0 -9
- package/dist/meeting/util.d.ts +0 -119
- package/dist/meeting/voicea-meeting.d.ts +0 -16
- package/dist/meeting-info/collection.d.ts +0 -20
- package/dist/meeting-info/index.d.ts +0 -69
- package/dist/meeting-info/meeting-info-v2.d.ts +0 -123
- package/dist/meeting-info/request.d.ts +0 -22
- package/dist/meeting-info/util.d.ts +0 -2
- package/dist/meeting-info/utilv2.d.ts +0 -2
- package/dist/meetings/collection.d.ts +0 -40
- package/dist/meetings/index.d.ts +0 -390
- package/dist/meetings/meetings.types.d.ts +0 -4
- package/dist/meetings/request.d.ts +0 -27
- package/dist/meetings/util.d.ts +0 -18
- package/dist/member/index.d.ts +0 -160
- package/dist/member/member.types.js +0 -17
- package/dist/member/member.types.js.map +0 -1
- package/dist/member/types.d.ts +0 -32
- package/dist/member/util.d.ts +0 -2
- package/dist/members/collection.d.ts +0 -29
- package/dist/members/index.d.ts +0 -353
- package/dist/members/request.d.ts +0 -114
- package/dist/members/types.d.ts +0 -25
- package/dist/members/util.d.ts +0 -215
- package/dist/metrics/config.js +0 -276
- package/dist/metrics/config.js.map +0 -1
- package/dist/metrics/constants.d.ts +0 -70
- package/dist/metrics/index.d.ts +0 -45
- package/dist/multistream/mediaRequestManager.d.ts +0 -119
- package/dist/multistream/receiveSlot.d.ts +0 -68
- package/dist/multistream/receiveSlotManager.d.ts +0 -56
- package/dist/multistream/remoteMedia.d.ts +0 -72
- package/dist/multistream/remoteMediaGroup.d.ts +0 -49
- package/dist/multistream/remoteMediaManager.d.ts +0 -300
- package/dist/multistream/sendSlotManager.d.ts +0 -69
- package/dist/networkQualityMonitor/index.d.ts +0 -70
- package/dist/networkQualityMonitor/index.js +0 -221
- package/dist/networkQualityMonitor/index.js.map +0 -1
- package/dist/peer-connection-manager/index.js +0 -671
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.js +0 -109
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/personal-meeting-room/index.d.ts +0 -47
- package/dist/personal-meeting-room/request.d.ts +0 -14
- package/dist/personal-meeting-room/util.d.ts +0 -2
- package/dist/reachability/clusterReachability.d.ts +0 -109
- package/dist/reachability/index.d.ts +0 -105
- package/dist/reachability/request.d.ts +0 -39
- package/dist/reachability/util.d.ts +0 -8
- package/dist/reactions/constants.d.ts +0 -3
- package/dist/reactions/reactions.d.ts +0 -4
- package/dist/reactions/reactions.type.d.ts +0 -52
- package/dist/reconnection-manager/index.d.ts +0 -136
- package/dist/recording-controller/enums.d.ts +0 -7
- package/dist/recording-controller/index.d.ts +0 -207
- package/dist/recording-controller/util.d.ts +0 -14
- package/dist/roap/collection.js +0 -62
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.js +0 -275
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/index.d.ts +0 -86
- package/dist/roap/request.d.ts +0 -39
- package/dist/roap/state.js +0 -126
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/turnDiscovery.d.ts +0 -155
- package/dist/roap/util.js +0 -75
- package/dist/roap/util.js.map +0 -1
- package/dist/rtcMetrics/constants.d.ts +0 -4
- package/dist/rtcMetrics/constants.js +0 -11
- package/dist/rtcMetrics/constants.js.map +0 -1
- package/dist/rtcMetrics/index.d.ts +0 -61
- package/dist/rtcMetrics/index.js +0 -197
- package/dist/rtcMetrics/index.js.map +0 -1
- package/dist/statsAnalyzer/global.d.ts +0 -36
- package/dist/statsAnalyzer/global.js +0 -126
- package/dist/statsAnalyzer/global.js.map +0 -1
- package/dist/statsAnalyzer/index.d.ts +0 -217
- package/dist/statsAnalyzer/index.js +0 -1013
- package/dist/statsAnalyzer/index.js.map +0 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +0 -48
- package/dist/statsAnalyzer/mqaUtil.js +0 -179
- package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
- package/dist/transcription/index.d.ts +0 -64
- package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/types/mediaQualityMetrics/config.d.ts +0 -241
- package/dist/types/networkQualityMonitor/index.d.ts +0 -70
- package/dist/types/rtcMetrics/constants.d.ts +0 -4
- package/dist/types/rtcMetrics/index.d.ts +0 -71
- package/dist/types/statsAnalyzer/global.d.ts +0 -36
- package/dist/types/statsAnalyzer/index.d.ts +0 -217
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
- package/dist/webinar/collection.d.ts +0 -16
- package/dist/webinar/index.d.ts +0 -5
package/dist/meeting/index.d.ts
DELETED
@@ -1,1825 +0,0 @@
|
|
1
|
-
/// <reference types="node" />
|
2
|
-
import { StatelessWebexPlugin } from '@webex/webex-core';
|
3
|
-
import { ClientEvent, ClientEventLeaveReason } from '@webex/internal-plugin-metrics';
|
4
|
-
import { ClientEvent as RawClientEvent } from '@webex/event-dictionary-ts';
|
5
|
-
import { MediaType } from '@webex/internal-media-core';
|
6
|
-
import { LocalStream, LocalCameraStream, LocalDisplayStream, LocalSystemAudioStream, LocalMicrophoneStream } from '@webex/media-helpers';
|
7
|
-
import { StatsAnalyzer } from '../statsAnalyzer';
|
8
|
-
import NetworkQualityMonitor from '../networkQualityMonitor';
|
9
|
-
import Roap, { type TurnServerInfo, type TurnDiscoverySkipReason } from '../roap/index';
|
10
|
-
import { type BundlePolicy } from '../media';
|
11
|
-
import MediaProperties from '../media/properties';
|
12
|
-
import ReconnectionManager from '../reconnection-manager';
|
13
|
-
import MeetingRequest from './request';
|
14
|
-
import Members from '../members/index';
|
15
|
-
import { NETWORK_STATUS } from '../constants';
|
16
|
-
import { ReceiveSlotManager } from '../multistream/receiveSlotManager';
|
17
|
-
import { MediaRequestManager } from '../multistream/mediaRequestManager';
|
18
|
-
import { Configuration as RemoteMediaManagerConfiguration, RemoteMediaManager } from '../multistream/remoteMediaManager';
|
19
|
-
import { ReactionServerType, SkinToneType } from '../reactions/reactions.type';
|
20
|
-
import InMeetingActions from './in-meeting-actions';
|
21
|
-
import RecordingController from '../recording-controller';
|
22
|
-
import ControlsOptionsManager from '../controls-options-manager';
|
23
|
-
import { LocusMediaRequest } from './locusMediaRequest';
|
24
|
-
export type CaptionData = {
|
25
|
-
id: string;
|
26
|
-
isFinal: boolean;
|
27
|
-
translations: Array<string>;
|
28
|
-
text: string;
|
29
|
-
currentCaptionLanguage: string;
|
30
|
-
timestamp: string;
|
31
|
-
speaker: string;
|
32
|
-
};
|
33
|
-
export type Transcription = {
|
34
|
-
languageOptions: {
|
35
|
-
captionLanguages?: string;
|
36
|
-
maxLanguages?: number;
|
37
|
-
spokenLanguages?: Array<string>;
|
38
|
-
currentCaptionLanguage?: string;
|
39
|
-
requestedCaptionLanguage?: string;
|
40
|
-
currentSpokenLanguage?: string;
|
41
|
-
};
|
42
|
-
status: string;
|
43
|
-
isListening: boolean;
|
44
|
-
commandText: string;
|
45
|
-
captions: Array<CaptionData>;
|
46
|
-
showCaptionBox: boolean;
|
47
|
-
transcribingRequestStatus: string;
|
48
|
-
isCaptioning: boolean;
|
49
|
-
speakerProxy: Map<string, any>;
|
50
|
-
interimCaptions: Map<string, CaptionData>;
|
51
|
-
};
|
52
|
-
export type LocalStreams = {
|
53
|
-
microphone?: LocalMicrophoneStream;
|
54
|
-
camera?: LocalCameraStream;
|
55
|
-
screenShare?: {
|
56
|
-
audio?: LocalSystemAudioStream;
|
57
|
-
video?: LocalDisplayStream;
|
58
|
-
};
|
59
|
-
};
|
60
|
-
export type AddMediaOptions = {
|
61
|
-
localStreams?: LocalStreams;
|
62
|
-
audioEnabled?: boolean;
|
63
|
-
videoEnabled?: boolean;
|
64
|
-
shareAudioEnabled?: boolean;
|
65
|
-
shareVideoEnabled?: boolean;
|
66
|
-
remoteMediaManagerConfig?: RemoteMediaManagerConfiguration;
|
67
|
-
bundlePolicy?: BundlePolicy;
|
68
|
-
allowMediaInLobby?: boolean;
|
69
|
-
};
|
70
|
-
export type CallStateForMetrics = {
|
71
|
-
correlationId?: string;
|
72
|
-
joinTrigger?: string;
|
73
|
-
loginType?: string;
|
74
|
-
};
|
75
|
-
export declare const MEDIA_UPDATE_TYPE: {
|
76
|
-
TRANSCODED_MEDIA_CONNECTION: string;
|
77
|
-
SHARE_FLOOR_REQUEST: string;
|
78
|
-
UPDATE_MEDIA: string;
|
79
|
-
};
|
80
|
-
export declare enum ScreenShareFloorStatus {
|
81
|
-
PENDING = "floor_request_pending",
|
82
|
-
GRANTED = "floor_request_granted",
|
83
|
-
RELEASED = "floor_released"
|
84
|
-
}
|
85
|
-
type FetchMeetingInfoParams = {
|
86
|
-
password?: string;
|
87
|
-
captchaCode?: string;
|
88
|
-
extraParams?: Record<string, any>;
|
89
|
-
sendCAevents?: boolean;
|
90
|
-
};
|
91
|
-
/**
|
92
|
-
* MediaDirection
|
93
|
-
* @typedef {Object} MediaDirection
|
94
|
-
* @property {boolean} sendAudio
|
95
|
-
* @property {boolean} receiveAudio
|
96
|
-
* @property {boolean} sendVideo
|
97
|
-
* @property {boolean} receiveVideo
|
98
|
-
* @property {boolean} sendShare
|
99
|
-
* @property {boolean} receiveShare
|
100
|
-
* @property {boolean} isSharing
|
101
|
-
*/
|
102
|
-
/**
|
103
|
-
* SharePreferences
|
104
|
-
* @typedef {Object} SharePreferences
|
105
|
-
* @property {Object} [shareConstraints]
|
106
|
-
* @property {Boolean} [highFrameRate]
|
107
|
-
*/
|
108
|
-
/**
|
109
|
-
* JoinOptions
|
110
|
-
* @typedef {Object} JoinOptions
|
111
|
-
* @property {String} [resourceId]
|
112
|
-
* @property {String} [pin]
|
113
|
-
* @property {Boolean} [moderator]
|
114
|
-
* @property {String|Object} [meetingQuality]
|
115
|
-
* @property {String} [meetingQuality.remote]
|
116
|
-
* @property {Boolean} [rejoin]
|
117
|
-
* @property {Boolean} [enableMultistream]
|
118
|
-
*/
|
119
|
-
/**
|
120
|
-
* Recording
|
121
|
-
* @typedef {Object} Recording
|
122
|
-
* @property {Object} state
|
123
|
-
* @property {String} modifiedBy
|
124
|
-
*/
|
125
|
-
/**
|
126
|
-
* Meeting State Change Event
|
127
|
-
* Emitted when ever there is a meeting state change
|
128
|
-
* @event meeting:stateChange
|
129
|
-
* @instance
|
130
|
-
* @type {Object}
|
131
|
-
* @property {String} currentState current state of the meeting
|
132
|
-
* @property {String} previousState previous state of the meeting
|
133
|
-
* @memberof Meeting
|
134
|
-
*/
|
135
|
-
/**
|
136
|
-
* Media Ready Event
|
137
|
-
* Emitted when a stream is ready to be rendered
|
138
|
-
* @event media:ready
|
139
|
-
* @instance
|
140
|
-
* @type {Object}
|
141
|
-
* @property {MediaStream} stream the media stream
|
142
|
-
* @property {String} type what type of stream, remote, local
|
143
|
-
* @memberof Meeting
|
144
|
-
*/
|
145
|
-
/**
|
146
|
-
* Media Stopped Event
|
147
|
-
* Emitted when a stream has stopped sending
|
148
|
-
* @event media:stopped
|
149
|
-
* @instance
|
150
|
-
* @type {Object}
|
151
|
-
* @property {String} type what type of stream, remote, local
|
152
|
-
* @memberof Meeting
|
153
|
-
*/
|
154
|
-
/**
|
155
|
-
* Meeting Ringing Event
|
156
|
-
* Emitted when this client should play a ringing sound, because this member is getting an incoming meeting
|
157
|
-
* or sending out an incoming meeting
|
158
|
-
* @event meeting:ringing
|
159
|
-
* @instance
|
160
|
-
* @type {Object}
|
161
|
-
* @property {String} type // INCOMING or JOIN
|
162
|
-
* @property {String} id
|
163
|
-
* @memberof Meeting
|
164
|
-
*/
|
165
|
-
/**
|
166
|
-
* Meeting Ringing Stop Event
|
167
|
-
* Emitted when this client should stop playing a ringing sound
|
168
|
-
* @event meeting:ringingStop
|
169
|
-
* @instance
|
170
|
-
* @type {Object}
|
171
|
-
* @property {Object} type
|
172
|
-
* @property {Boolean} type.remoteAnswered
|
173
|
-
* @property {Boolean} type.remoteDeclined
|
174
|
-
* @property {String} id
|
175
|
-
* @memberof Meeting
|
176
|
-
*/
|
177
|
-
/**
|
178
|
-
* Meeting Started Sharing Local Event
|
179
|
-
* Emitted when this member starts sharing
|
180
|
-
* @event meeting:startedSharingLocal
|
181
|
-
* @instance
|
182
|
-
* @type {Object}
|
183
|
-
* @memberof Meeting
|
184
|
-
*/
|
185
|
-
/**
|
186
|
-
* Meeting Stopped Sharing Local Event
|
187
|
-
* Emitted when this member stops sharing
|
188
|
-
* @event meeting:stoppedSharingLocal
|
189
|
-
* @instance
|
190
|
-
* @type {Object}
|
191
|
-
* @memberof Meeting
|
192
|
-
*/
|
193
|
-
/**
|
194
|
-
* Meeting Started Sharing Remote Event
|
195
|
-
* Emitted when remote sharing starts
|
196
|
-
* @event meeting:startedSharingRemote
|
197
|
-
* @instance
|
198
|
-
* @type {Object}
|
199
|
-
* @property {Boolean} memberId id of the meeting member that started screen share
|
200
|
-
* @property {String} url of this content share
|
201
|
-
* @property {String} shareInstanceId of this content share
|
202
|
-
* @property {Object} annotation Info of this content share
|
203
|
-
* @memberof Meeting
|
204
|
-
*
|
205
|
-
*/
|
206
|
-
/**
|
207
|
-
* Meeting Stopped Sharing Remote Event
|
208
|
-
* Emitted when remote screen sharing ends
|
209
|
-
* @event meeting:stoppedSharingRemote
|
210
|
-
* @instance
|
211
|
-
* @type {Object}
|
212
|
-
* @memberof Meeting
|
213
|
-
*/
|
214
|
-
/**
|
215
|
-
* Meeting Locked Event
|
216
|
-
* Emitted when a meeting is locked
|
217
|
-
* @event meeting:locked
|
218
|
-
* @instance
|
219
|
-
* @type {Object}
|
220
|
-
* @property {Object} info
|
221
|
-
* @memberof Meeting
|
222
|
-
*/
|
223
|
-
/**
|
224
|
-
* Meeting Unlocked Event
|
225
|
-
* Emitted when a meeting is unlocked
|
226
|
-
* @event meeting:unlocked
|
227
|
-
* @instance
|
228
|
-
* @type {Object}
|
229
|
-
* @property {Object} info
|
230
|
-
* @memberof Meeting
|
231
|
-
*/
|
232
|
-
/**
|
233
|
-
* Meeting Actions Update Event
|
234
|
-
* Emitted when a user can take actions on a meeting such as lock, unlock, assign host
|
235
|
-
* @event meeting:actionsUpdate
|
236
|
-
* @instance
|
237
|
-
* @type {Object}
|
238
|
-
* @property {Boolean} canLock
|
239
|
-
* @property {Boolean} canUnlock
|
240
|
-
* @property {Boolean} canAssignHost
|
241
|
-
* @memberof Meeting
|
242
|
-
*/
|
243
|
-
/**
|
244
|
-
* Meeting Unmuted By Others Event
|
245
|
-
* Emitted when a member is unmuted by another member
|
246
|
-
* @event meeting:self:unmutedByOthers
|
247
|
-
* @instance
|
248
|
-
* @type {Object}
|
249
|
-
* @property {Object} payload
|
250
|
-
* @memberof Meeting
|
251
|
-
*/
|
252
|
-
/**
|
253
|
-
* Meeting Muted By Others Event
|
254
|
-
* Emitted when a member is muted by another member
|
255
|
-
* @event meeting:self:mutedByOthers
|
256
|
-
* @instance
|
257
|
-
* @type {Object}
|
258
|
-
* @property {Object} payload
|
259
|
-
* @property {Boolean} payload.unmuteAllowed - whether the user is allowed to unmute self
|
260
|
-
* @memberof Meeting
|
261
|
-
*/
|
262
|
-
/**
|
263
|
-
* Meeting Muted By Others Event
|
264
|
-
* Emitted when the host(moderator)/co-host requests a user to unmute
|
265
|
-
* @event meeting:self:requestedToUnmute
|
266
|
-
* @instance
|
267
|
-
* @type {Object}
|
268
|
-
* @property {Object} payload
|
269
|
-
* @memberof Meeting
|
270
|
-
*/
|
271
|
-
/**
|
272
|
-
* Meeting Self Guest Admitted Event
|
273
|
-
* Emitted when a joined user get admitted to the meeting by another member or host
|
274
|
-
* @event meeting:self:guestAdmitted
|
275
|
-
* @instance
|
276
|
-
* @type {Object}
|
277
|
-
* @property {Object} payload
|
278
|
-
* @memberof Meeting
|
279
|
-
*/
|
280
|
-
/**
|
281
|
-
* Meeting Self Lobby Waiting Event
|
282
|
-
* Emitted when joined user enters the lobby and is waiting for the webex meeting to begin
|
283
|
-
* @event meeting:self:lobbyWaiting
|
284
|
-
* @instance
|
285
|
-
* @type {Object}
|
286
|
-
* @property {Object} reason Reason why user left the meeting
|
287
|
-
* @memberof Meeting
|
288
|
-
*/
|
289
|
-
/**
|
290
|
-
* Meeting Self Left State
|
291
|
-
* Emitted when user is inactive for more then 40 seconds, User can rejoin the meeting again
|
292
|
-
* @event meeting:self:left
|
293
|
-
* @instance
|
294
|
-
* @type {Object}
|
295
|
-
* @property {Object} payload
|
296
|
-
* @memberof Meeting
|
297
|
-
*/
|
298
|
-
/**
|
299
|
-
* Reconnection Starting Event
|
300
|
-
* Emitted when reconnection of media to the active meeting was successful
|
301
|
-
* @event meeting:reconnectionStarting
|
302
|
-
* @instance
|
303
|
-
* @memberof Meeting
|
304
|
-
*/
|
305
|
-
/**
|
306
|
-
* Reconnection Success Event
|
307
|
-
* Emitted when reconnection of media to the active meeting was successful
|
308
|
-
* @event meeting:reconnectionSuccess
|
309
|
-
* @instance
|
310
|
-
* @type {Object}
|
311
|
-
* @property {Object} reconnect
|
312
|
-
* @memberof Meeting
|
313
|
-
*/
|
314
|
-
/**
|
315
|
-
* Reconnection Failure Event
|
316
|
-
* Emitted when reconnection of media to the active meeting was successful
|
317
|
-
* @event meeting:reconnectionFailure
|
318
|
-
* @instance
|
319
|
-
* @type {Object}
|
320
|
-
* @property {Error} error
|
321
|
-
* @memberof Meeting
|
322
|
-
*/
|
323
|
-
/**
|
324
|
-
* Meeting network quality event
|
325
|
-
* Emitted on each interval of retrieving stats Analyzer data
|
326
|
-
* @event network:quality
|
327
|
-
* @type {Object}
|
328
|
-
* @property {string} mediaType {video|audio}
|
329
|
-
* @property {number} networkQualityScore - {1|0} 1 indicates acceptable uplink 0 indicates unacceptable uplink based on threshold
|
330
|
-
* @memberof Meeting
|
331
|
-
*/
|
332
|
-
/**
|
333
|
-
* @description Meeting is the crux of the plugin
|
334
|
-
* @export
|
335
|
-
* @class Meeting
|
336
|
-
*/
|
337
|
-
export default class Meeting extends StatelessWebexPlugin {
|
338
|
-
attrs: any;
|
339
|
-
audio: any;
|
340
|
-
breakouts: any;
|
341
|
-
simultaneousInterpretation: any;
|
342
|
-
annotation: any;
|
343
|
-
webinar: any;
|
344
|
-
conversationUrl: string;
|
345
|
-
callStateForMetrics: CallStateForMetrics;
|
346
|
-
destination: string;
|
347
|
-
destinationType: string;
|
348
|
-
deviceUrl: string;
|
349
|
-
hostId: string;
|
350
|
-
id: string;
|
351
|
-
isMultistream: boolean;
|
352
|
-
locusUrl: string;
|
353
|
-
mediaConnections: any[];
|
354
|
-
mediaId?: string;
|
355
|
-
meetingFiniteStateMachine: any;
|
356
|
-
meetingInfo: any;
|
357
|
-
meetingRequest: MeetingRequest;
|
358
|
-
members: Members;
|
359
|
-
options: object;
|
360
|
-
orgId: string;
|
361
|
-
owner: string;
|
362
|
-
partner: any;
|
363
|
-
policy: string;
|
364
|
-
reconnectionManager: ReconnectionManager;
|
365
|
-
resource: string;
|
366
|
-
roap: Roap;
|
367
|
-
roapSeq: number;
|
368
|
-
selfUrl?: string;
|
369
|
-
sipUri: string;
|
370
|
-
type: string;
|
371
|
-
userId: string;
|
372
|
-
video: any;
|
373
|
-
callEvents: any[];
|
374
|
-
datachannelUrl: string;
|
375
|
-
deferJoin: Promise<any>;
|
376
|
-
dialInDeviceStatus: string;
|
377
|
-
dialInUrl: string;
|
378
|
-
dialOutDeviceStatus: string;
|
379
|
-
dialOutUrl: string;
|
380
|
-
fetchMeetingInfoTimeoutId: NodeJS.Timeout;
|
381
|
-
floorGrantPending: boolean;
|
382
|
-
hasJoinedOnce: boolean;
|
383
|
-
hasWebsocketConnected: boolean;
|
384
|
-
inMeetingActions: InMeetingActions;
|
385
|
-
isLocalShareLive: boolean;
|
386
|
-
isRoapInProgress: boolean;
|
387
|
-
keepAliveTimerId: NodeJS.Timeout;
|
388
|
-
lastVideoLayoutInfo: any;
|
389
|
-
locusInfo: any;
|
390
|
-
locusMediaRequest?: LocusMediaRequest;
|
391
|
-
mediaProperties: MediaProperties;
|
392
|
-
mediaRequestManagers: {
|
393
|
-
audio: MediaRequestManager;
|
394
|
-
video: MediaRequestManager;
|
395
|
-
screenShareAudio: MediaRequestManager;
|
396
|
-
screenShareVideo: MediaRequestManager;
|
397
|
-
};
|
398
|
-
meetingInfoFailureReason: string;
|
399
|
-
meetingInfoFailureCode?: number;
|
400
|
-
meetingInfoExtraParams?: Record<string, any>;
|
401
|
-
networkQualityMonitor: NetworkQualityMonitor;
|
402
|
-
networkStatus?: NETWORK_STATUS;
|
403
|
-
passwordStatus: string;
|
404
|
-
queuedMediaUpdates: any[];
|
405
|
-
recording: any;
|
406
|
-
remoteMediaManager: RemoteMediaManager | null;
|
407
|
-
recordingController: RecordingController;
|
408
|
-
controlsOptionsManager: ControlsOptionsManager;
|
409
|
-
requiredCaptcha: any;
|
410
|
-
receiveSlotManager: ReceiveSlotManager;
|
411
|
-
selfUserPolicies: any;
|
412
|
-
enforceVBGImagesURL: string;
|
413
|
-
shareStatus: string;
|
414
|
-
screenShareFloorState: ScreenShareFloorStatus;
|
415
|
-
statsAnalyzer: StatsAnalyzer;
|
416
|
-
transcription: Transcription;
|
417
|
-
updateMediaConnections: (mediaConnections: any[]) => void;
|
418
|
-
userDisplayHints: any;
|
419
|
-
endCallInitJoinReq: any;
|
420
|
-
endJoinReqResp: any;
|
421
|
-
endLocalSDPGenRemoteSDPRecvDelay: any;
|
422
|
-
joinedWith: any;
|
423
|
-
locusId: any;
|
424
|
-
startCallInitJoinReq: any;
|
425
|
-
startJoinReqResp: any;
|
426
|
-
startLocalSDPGenRemoteSDPRecvDelay: any;
|
427
|
-
wirelessShare: any;
|
428
|
-
guest: any;
|
429
|
-
meetingJoinUrl: any;
|
430
|
-
meetingNumber: any;
|
431
|
-
meetingState: any;
|
432
|
-
permissionToken: string;
|
433
|
-
permissionTokenPayload: any;
|
434
|
-
permissionTokenReceivedLocalTime: number;
|
435
|
-
resourceId: any;
|
436
|
-
resourceUrl: string;
|
437
|
-
selfId: string;
|
438
|
-
state: any;
|
439
|
-
localAudioStreamMuteStateHandler: () => void;
|
440
|
-
localVideoStreamMuteStateHandler: () => void;
|
441
|
-
localOutputTrackChangeHandler: () => void;
|
442
|
-
roles: any[];
|
443
|
-
environment: string;
|
444
|
-
namespace: string;
|
445
|
-
allowMediaInLobby: boolean;
|
446
|
-
localShareInstanceId: string;
|
447
|
-
remoteShareInstanceId: string;
|
448
|
-
turnDiscoverySkippedReason: TurnDiscoverySkipReason;
|
449
|
-
turnServerUsed: boolean;
|
450
|
-
areVoiceaEventsSetup: boolean;
|
451
|
-
voiceaListenerCallbacks: object;
|
452
|
-
private retriedWithTurnServer;
|
453
|
-
private sendSlotManager;
|
454
|
-
private deferSDPAnswer?;
|
455
|
-
private sdpResponseTimer?;
|
456
|
-
private hasMediaConnectionConnectedAtLeastOnce;
|
457
|
-
/**
|
458
|
-
* @param {Object} attrs
|
459
|
-
* @param {Object} options
|
460
|
-
* @constructor
|
461
|
-
* @memberof Meeting
|
462
|
-
*/
|
463
|
-
constructor(attrs: any, options: object);
|
464
|
-
/**
|
465
|
-
* returns meeting is joined
|
466
|
-
* @private
|
467
|
-
* @memberof Meeting
|
468
|
-
* @returns {Boolean}
|
469
|
-
*/
|
470
|
-
private isJoined;
|
471
|
-
/**
|
472
|
-
* Returns whether this meeting is a Locus CALL
|
473
|
-
* @returns {Boolean}
|
474
|
-
*/
|
475
|
-
isLocusCall(): boolean;
|
476
|
-
/**
|
477
|
-
* Getter - Returns callStateForMetrics.correlationId
|
478
|
-
* @returns {string}
|
479
|
-
*/
|
480
|
-
get correlationId(): string;
|
481
|
-
/**
|
482
|
-
* Setter - sets callStateForMetrics.correlationId
|
483
|
-
* @param {string} correlationId
|
484
|
-
*/
|
485
|
-
set correlationId(correlationId: string);
|
486
|
-
/**
|
487
|
-
* Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
|
488
|
-
* @param {any} info
|
489
|
-
* @param {string} [meetingLookupUrl] Lookup url, defined when the meeting info fetched
|
490
|
-
* @returns {void}
|
491
|
-
*/
|
492
|
-
private setMeetingInfo;
|
493
|
-
/**
|
494
|
-
* Add pre-fetched meeting info
|
495
|
-
*
|
496
|
-
* The passed meeting info should be be complete, e.g.: fetched after password or captcha provided
|
497
|
-
*
|
498
|
-
* @param {Object} meetingInfo - Complete meeting info
|
499
|
-
* @param {FetchMeetingInfoParams} fetchParams - Fetch parameters for validation
|
500
|
-
* @param {String|undefined} meetingLookupUrl - Lookup url, defined when the meeting info fetched
|
501
|
-
* @returns {Promise<void>}
|
502
|
-
*/
|
503
|
-
injectMeetingInfo(meetingInfo: any, fetchParams: FetchMeetingInfoParams, meetingLookupUrl: string | undefined): Promise<void>;
|
504
|
-
/**
|
505
|
-
* Validate fetch parameters and clear the fetchMeetingInfoTimeout timeout
|
506
|
-
*
|
507
|
-
* @param {FetchMeetingInfoParams} fetchParams - fetch parameters for validation
|
508
|
-
* @param {String} caller - Name of the caller for logging
|
509
|
-
*
|
510
|
-
* @returns {Promise<void>}
|
511
|
-
* @private
|
512
|
-
*/
|
513
|
-
private prepForFetchMeetingInfo;
|
514
|
-
/**
|
515
|
-
* Internal method for fetching meeting info
|
516
|
-
*
|
517
|
-
* @returns {Promise}
|
518
|
-
*/
|
519
|
-
private fetchMeetingInfoInternal;
|
520
|
-
/**
|
521
|
-
* Refreshes the meeting info permission token (it's required for joining meetings)
|
522
|
-
*
|
523
|
-
* @param {string} [reason] used for metrics and logging purposes (optional)
|
524
|
-
* @returns {Promise}
|
525
|
-
*/
|
526
|
-
refreshPermissionToken(reason?: string): Promise<void>;
|
527
|
-
/**
|
528
|
-
* Fetches meeting information.
|
529
|
-
* @param {Object} options
|
530
|
-
* @param {String} [options.password] optional
|
531
|
-
* @param {String} [options.captchaCode] optional
|
532
|
-
* @param {Boolean} [options.sendCAevents] optional - Whether to submit Call Analyzer events or not. Default: false.
|
533
|
-
* @public
|
534
|
-
* @memberof Meeting
|
535
|
-
* @returns {Promise}
|
536
|
-
*/
|
537
|
-
fetchMeetingInfo(options: FetchMeetingInfoParams): Promise<void>;
|
538
|
-
/**
|
539
|
-
* Checks if the supplied password/host key is correct. It returns a promise with information whether the
|
540
|
-
* password and captcha code were correct or not.
|
541
|
-
* @param {String} password - this can be either a password or a host key, can be undefined if only captcha was required
|
542
|
-
* @param {String} captchaCode - can be undefined if captcha was not required by the server
|
543
|
-
* @param {Boolean} sendCAevents - whether Call Analyzer events should be sent when fetching meeting information
|
544
|
-
* @public
|
545
|
-
* @memberof Meeting
|
546
|
-
* @returns {Promise<{isPasswordValid: boolean, requiredCaptcha: boolean, failureReason: MEETING_INFO_FAILURE_REASON}>}
|
547
|
-
*/
|
548
|
-
verifyPassword(password: string, captchaCode: string, sendCAevents?: boolean): Promise<{
|
549
|
-
isPasswordValid: boolean;
|
550
|
-
requiredCaptcha: any;
|
551
|
-
failureReason: string;
|
552
|
-
} | {
|
553
|
-
isPasswordValid: boolean;
|
554
|
-
requiredCaptcha: any;
|
555
|
-
failureReason: string;
|
556
|
-
}>;
|
557
|
-
/**
|
558
|
-
* Refreshes the captcha. As a result the meeting will have new captcha id, image and audio.
|
559
|
-
* If the refresh operation fails, meeting remains with the old captcha properties.
|
560
|
-
* @public
|
561
|
-
* @memberof Meeting
|
562
|
-
* @returns {Promise}
|
563
|
-
*/
|
564
|
-
refreshCaptcha(): any;
|
565
|
-
/**
|
566
|
-
* Posts metrics event for this meeting. Allows the app to send Call Analyzer events.
|
567
|
-
* @param {String} eventName - Call Analyzer event
|
568
|
-
* @public
|
569
|
-
* @memberof Meeting
|
570
|
-
* @returns {Promise}
|
571
|
-
*/
|
572
|
-
postMetrics(eventName: ClientEvent['name']): void;
|
573
|
-
/**
|
574
|
-
* Proxy function for all the listener set ups
|
575
|
-
* @returns {undefined}
|
576
|
-
* @private
|
577
|
-
* @memberof Meeting
|
578
|
-
*/
|
579
|
-
private setUpLocusInfoListeners;
|
580
|
-
/**
|
581
|
-
* Set up the listeners for breakouts
|
582
|
-
* @returns {undefined}
|
583
|
-
* @private
|
584
|
-
* @memberof Meeting
|
585
|
-
*/
|
586
|
-
setUpBreakoutsListener(): void;
|
587
|
-
/**
|
588
|
-
* Set up the listeners for interpretation
|
589
|
-
* @returns {undefined}
|
590
|
-
* @private
|
591
|
-
* @memberof Meeting
|
592
|
-
*/
|
593
|
-
private setUpInterpretationListener;
|
594
|
-
/**
|
595
|
-
* Set up the listeners for captions
|
596
|
-
* @returns {undefined}
|
597
|
-
* @private
|
598
|
-
* @memberof Meeting
|
599
|
-
*/
|
600
|
-
private setUpVoiceaListeners;
|
601
|
-
/**
|
602
|
-
* Set up the locus info listener for meetings disconnected due to inactivity
|
603
|
-
* @returns {undefined}
|
604
|
-
* @private
|
605
|
-
* @memberof Meeting
|
606
|
-
*/
|
607
|
-
private setUpLocusInfoMediaInactiveListener;
|
608
|
-
/**
|
609
|
-
* Set up the locus info listener for assign host permissions on a meeting
|
610
|
-
* @returns {undefined}
|
611
|
-
* @private
|
612
|
-
* @memberof Meeting
|
613
|
-
*/
|
614
|
-
private setUpLocusInfoAssignHostListener;
|
615
|
-
/**
|
616
|
-
* Set up the internal locus info full state object listener
|
617
|
-
* @returns {undefined}
|
618
|
-
* @private
|
619
|
-
* @memberof Meeting
|
620
|
-
*/
|
621
|
-
private setUpLocusFullStateListener;
|
622
|
-
/**
|
623
|
-
* sets the network status on meeting object
|
624
|
-
* @param {NETWORK_STATUS} networkStatus
|
625
|
-
* @private
|
626
|
-
* @returns {undefined}
|
627
|
-
* @memberof Meeting
|
628
|
-
*/
|
629
|
-
private setNetworkStatus;
|
630
|
-
/**
|
631
|
-
* Set up the locus info self listener
|
632
|
-
* update self value for members and updates the member
|
633
|
-
* notifies consumer with members:self:update {activeSelfId endedSelfId}
|
634
|
-
* @returns {undefined}
|
635
|
-
* @private
|
636
|
-
* @memberof Meeting
|
637
|
-
*/
|
638
|
-
private setUpLocusSelfListener;
|
639
|
-
/**
|
640
|
-
* Notify any changes on the pstn devices
|
641
|
-
* @param {Object} payload
|
642
|
-
* @returns {undefined}
|
643
|
-
* @private
|
644
|
-
* @memberof Meeting
|
645
|
-
*/
|
646
|
-
private pstnUpdate;
|
647
|
-
/**
|
648
|
-
* Set up the locus info host listener
|
649
|
-
* update host value for members and updates the member
|
650
|
-
* notifies consumer with members:host:update: {activeHostId, endedHostId}
|
651
|
-
* @returns {undefined}
|
652
|
-
* @private
|
653
|
-
* @memberof Meeting
|
654
|
-
*/
|
655
|
-
private setUpLocusHostListener;
|
656
|
-
/**
|
657
|
-
* Set up the locus info participants update listener
|
658
|
-
* update members collection value for members
|
659
|
-
* notifies consumer with members:update
|
660
|
-
* @returns {undefined}
|
661
|
-
* @private
|
662
|
-
* @memberof Meeting
|
663
|
-
*/
|
664
|
-
private setUpLocusParticipantsListener;
|
665
|
-
/**
|
666
|
-
* Set up the locus info recording update listener
|
667
|
-
* update recording value for the meeting
|
668
|
-
* notifies consumer with:
|
669
|
-
* meeting:recording:started
|
670
|
-
* meeting:recording:stopped
|
671
|
-
* meeting:recording:paused
|
672
|
-
* meeting:recording:resumed
|
673
|
-
*
|
674
|
-
* Set up the locus info meeeting container listener
|
675
|
-
* update meetingContainerUrl value for the meeting
|
676
|
-
* notifies consumer with:
|
677
|
-
* meeting:meetingContainer:update
|
678
|
-
*
|
679
|
-
* @returns {undefined}
|
680
|
-
* @private
|
681
|
-
* @memberof Meeting
|
682
|
-
*/
|
683
|
-
private setupLocusControlsListener;
|
684
|
-
/**
|
685
|
-
* Trigger annotation info update event
|
686
|
-
@returns {undefined}
|
687
|
-
@param {object} contentShare
|
688
|
-
@param {object} previousContentShare
|
689
|
-
*/
|
690
|
-
private triggerAnnotationInfoEvent;
|
691
|
-
/**
|
692
|
-
* Set up the locus info media shares listener
|
693
|
-
* update content and whiteboard sharing id value for members, and updates the member
|
694
|
-
* notifies consumer with members:content:update {activeContentSharingId, endedContentSharingId}
|
695
|
-
* @returns {undefined}
|
696
|
-
* @private
|
697
|
-
* @memberof Meeting
|
698
|
-
*/
|
699
|
-
private setUpLocusMediaSharesListener;
|
700
|
-
/**
|
701
|
-
* Set up the locus info url listener
|
702
|
-
* update locus_url value for members
|
703
|
-
* @returns {undefined}
|
704
|
-
* @private
|
705
|
-
* @memberof Meeting
|
706
|
-
*/
|
707
|
-
private setUpLocusUrlListener;
|
708
|
-
/**
|
709
|
-
* Set up the locus info service link listener
|
710
|
-
* update the locusInfo for recording controller
|
711
|
-
* does not currently re-emit the event as it's internal only
|
712
|
-
* payload is unused
|
713
|
-
* @returns {undefined}
|
714
|
-
* @private
|
715
|
-
* @memberof Meeting
|
716
|
-
*/
|
717
|
-
private setUpLocusServicesListener;
|
718
|
-
/**
|
719
|
-
* Set up the locus info meeting info listener
|
720
|
-
* @returns {undefined}
|
721
|
-
* @private
|
722
|
-
* @memberof meeting
|
723
|
-
*/
|
724
|
-
private setUpLocusInfoMeetingInfoListener;
|
725
|
-
/**
|
726
|
-
* Handles a data channel URL change
|
727
|
-
* @param {String} datachannelUrl
|
728
|
-
* @returns {void}
|
729
|
-
*/
|
730
|
-
handleDataChannelUrlChange(datachannelUrl: any): void;
|
731
|
-
/**
|
732
|
-
* Set up the locus info embedded apps listener
|
733
|
-
* @returns {undefined}
|
734
|
-
* @private
|
735
|
-
* @memberof meeting
|
736
|
-
*/
|
737
|
-
private setUpLocusEmbeddedAppsListener;
|
738
|
-
/**
|
739
|
-
* Internal function to listen to the self object changes
|
740
|
-
* @returns {undefined}
|
741
|
-
* @private
|
742
|
-
* @memberof Meeting
|
743
|
-
*/
|
744
|
-
private setUpLocusInfoSelfListener;
|
745
|
-
/**
|
746
|
-
* Add LocusInfo nested object listeners (from child to parent)
|
747
|
-
* @returns {undefined}
|
748
|
-
* @private
|
749
|
-
* @memberof Meeting
|
750
|
-
*/
|
751
|
-
private setUpLocusInfoMeetingListener;
|
752
|
-
/**
|
753
|
-
* Set meeting values rather than events
|
754
|
-
* @param {Object} object
|
755
|
-
* @returns {undefined}
|
756
|
-
* @private
|
757
|
-
* @memberof Meeting
|
758
|
-
* // TODO: is this function necessary?
|
759
|
-
*/
|
760
|
-
private updateMeetingObject;
|
761
|
-
/**
|
762
|
-
* Invite a guest to the call that isn't normally part of this call
|
763
|
-
* @param {Object} invitee
|
764
|
-
* @param {String} invitee.emailAddress
|
765
|
-
* @param {String} invitee.email
|
766
|
-
* @param {String} invitee.phoneNumber
|
767
|
-
* @param {Boolean} [alertIfActive]
|
768
|
-
* @returns {Promise} see #members.addMember
|
769
|
-
* @public
|
770
|
-
* @memberof Meeting
|
771
|
-
*/
|
772
|
-
invite(invitee: {
|
773
|
-
emailAddress: string;
|
774
|
-
email: string;
|
775
|
-
phoneNumber: string;
|
776
|
-
}, alertIfActive?: boolean): any;
|
777
|
-
/**
|
778
|
-
* Cancel an outgoing phone call invitation made during a meeting
|
779
|
-
* @param {Object} invitee
|
780
|
-
* @param {String} invitee.phoneNumber
|
781
|
-
* @returns {Promise} see #members.cancelPhoneInvite
|
782
|
-
* @public
|
783
|
-
* @memberof Meeting
|
784
|
-
*/
|
785
|
-
cancelPhoneInvite(invitee: {
|
786
|
-
phoneNumber: string;
|
787
|
-
}): any;
|
788
|
-
/**
|
789
|
-
* Admit the guest(s) to the call once they are waiting.
|
790
|
-
* If the host/cohost is in a breakout session, the locus url
|
791
|
-
* of the session must be provided as the authorizingLocusUrl.
|
792
|
-
* Regardless of host/cohost location, the locus Id (lid) in
|
793
|
-
* the path should be the locus Id of the main, which means the
|
794
|
-
* locus url of the api call must be from the main session.
|
795
|
-
* If these loucs urls are not provided, the function will do the check.
|
796
|
-
* @param {Array} memberIds
|
797
|
-
* @param {Object} sessionLocusUrls: {authorizingLocusUrl, mainLocusUrl}
|
798
|
-
* @returns {Promise} see #members.admitMembers
|
799
|
-
* @public
|
800
|
-
* @memberof Meeting
|
801
|
-
*/
|
802
|
-
admit(memberIds: Array<any>, sessionLocusUrls?: {
|
803
|
-
authorizingLocusUrl: string;
|
804
|
-
mainLocusUrl: string;
|
805
|
-
}): any;
|
806
|
-
/**
|
807
|
-
* Remove the member from the meeting, boot them
|
808
|
-
* @param {String} memberId
|
809
|
-
* @returns {Promise} see #members.removeMember
|
810
|
-
* @public
|
811
|
-
* @memberof Meeting
|
812
|
-
*/
|
813
|
-
remove(memberId: string): any;
|
814
|
-
/**
|
815
|
-
* Mute another member from the meeting
|
816
|
-
* @param {String} memberId
|
817
|
-
* @param {Boolean} mute
|
818
|
-
* @returns {Promise} see #members.muteMember
|
819
|
-
* @public
|
820
|
-
* @memberof Meeting
|
821
|
-
*/
|
822
|
-
mute(memberId: string, mute?: boolean): any;
|
823
|
-
/**
|
824
|
-
* Transfer the moderator role to another eligible member
|
825
|
-
* @param {String} memberId
|
826
|
-
* @param {Boolean} moderator
|
827
|
-
* @returns {Promise} see #members.transferHostToMember
|
828
|
-
* @public
|
829
|
-
* @memberof Meeting
|
830
|
-
*/
|
831
|
-
transfer(memberId: string, moderator?: boolean): any;
|
832
|
-
/**
|
833
|
-
* Reference to the Members object
|
834
|
-
* @returns {Members}
|
835
|
-
* @public
|
836
|
-
* @memberof Meeting
|
837
|
-
*/
|
838
|
-
getMembers(): Members;
|
839
|
-
/**
|
840
|
-
* Sets the meeting info on the class instance
|
841
|
-
* @param {Object} meetingInfo
|
842
|
-
* @param {String} meetingInfo.conversationUrl
|
843
|
-
* @param {String} meetingInfo.locusUrl
|
844
|
-
* @param {String} meetingInfo.sipUri
|
845
|
-
* @param {String} [meetingInfo.sipUrl]
|
846
|
-
* @param {String} [meetingInfo.sipMeetingUri]
|
847
|
-
* @param {String} [meetingInfo.meetingNumber]
|
848
|
-
* @param {String} [meetingInfo.meetingJoinUrl]
|
849
|
-
* @param {String} [meetingInfo.hostId]
|
850
|
-
* @param {String} [meetingInfo.permissionToken]
|
851
|
-
* @param {String} [meetingInfo.channel]
|
852
|
-
* @param {Object} meetingInfo.owner
|
853
|
-
* @param {Object | String} destination locus object with meeting data or destination string (sip url, meeting link, etc)
|
854
|
-
* @param {Object | String} errors Meeting info request error
|
855
|
-
* @returns {undefined}
|
856
|
-
* @private
|
857
|
-
* @memberof Meeting
|
858
|
-
*/
|
859
|
-
parseMeetingInfo(meetingInfo: {
|
860
|
-
conversationUrl: string;
|
861
|
-
locusUrl: string;
|
862
|
-
sipUri: string;
|
863
|
-
owner: object;
|
864
|
-
sipUrl?: string;
|
865
|
-
sipMeetingUri?: string;
|
866
|
-
meetingNumber?: string;
|
867
|
-
meetingJoinUrl?: string;
|
868
|
-
hostId?: string;
|
869
|
-
permissionToken?: string;
|
870
|
-
channel?: string;
|
871
|
-
}, destination?: object | string | null, errors?: any): void;
|
872
|
-
/**
|
873
|
-
* Indicates whether policy can be applied
|
874
|
-
* @returns {boolean}
|
875
|
-
*/
|
876
|
-
private arePolicyRestrictionsSupported;
|
877
|
-
/**
|
878
|
-
* Updates the meeting actions (display hints), depends on locus display hints, user policy and app api info
|
879
|
-
* @returns {undefined}
|
880
|
-
* @private
|
881
|
-
* @memberof Meeting
|
882
|
-
*/
|
883
|
-
private updateMeetingActions;
|
884
|
-
/**
|
885
|
-
* Sets the self user policies based on the contents of the permission token
|
886
|
-
* @returns {void}
|
887
|
-
*/
|
888
|
-
setSelfUserPolicies(): void;
|
889
|
-
/**
|
890
|
-
* Sets the permission token payload on the class instance
|
891
|
-
*
|
892
|
-
* @param {String} permissionToken
|
893
|
-
* @returns {void}
|
894
|
-
*/
|
895
|
-
setPermissionTokenPayload(permissionToken: string): void;
|
896
|
-
/**
|
897
|
-
* Sets the sip uri on the class instance
|
898
|
-
* uses meeting info as precedence
|
899
|
-
* @param {String} sipUri
|
900
|
-
* @returns {undefined}
|
901
|
-
* @private
|
902
|
-
* @memberof Meeting
|
903
|
-
*/
|
904
|
-
setSipUri(sipUri: string): void;
|
905
|
-
/**
|
906
|
-
* Set the locus info the class instance
|
907
|
-
* @param {Object} locus
|
908
|
-
* @param {Array} locus.mediaConnections
|
909
|
-
* @param {String} locus.locusUrl
|
910
|
-
* @param {String} locus.locusId
|
911
|
-
* @param {String} locus.mediaId
|
912
|
-
* @param {Object} locus.host
|
913
|
-
* @todo change name to genertic parser
|
914
|
-
* @returns {undefined}
|
915
|
-
* @private
|
916
|
-
* @memberof Meeting
|
917
|
-
*/
|
918
|
-
setLocus(locus: {
|
919
|
-
mediaConnections: Array<any>;
|
920
|
-
locusUrl: string;
|
921
|
-
locusId: string;
|
922
|
-
mediaId: string;
|
923
|
-
host: object;
|
924
|
-
} | any): void;
|
925
|
-
/**
|
926
|
-
* Upload logs for the current meeting
|
927
|
-
* @param {object} options file name and function name
|
928
|
-
* @returns {undefined}
|
929
|
-
* @public
|
930
|
-
* @memberof Meeting
|
931
|
-
*/
|
932
|
-
uploadLogs(options?: object): void;
|
933
|
-
/**
|
934
|
-
* Removes remote audio, video and share streams from class instance's mediaProperties
|
935
|
-
* @returns {undefined}
|
936
|
-
*/
|
937
|
-
unsetRemoteStreams(): void;
|
938
|
-
/**
|
939
|
-
* Removes the remote stream on the class instance and triggers an event
|
940
|
-
* to developers
|
941
|
-
* @returns {undefined}
|
942
|
-
* @public
|
943
|
-
* @memberof Meeting
|
944
|
-
* @deprecated after v1.89.3
|
945
|
-
*/
|
946
|
-
closeRemoteStream(): void;
|
947
|
-
/**
|
948
|
-
* Removes the remote streams on the class instance and triggers an event
|
949
|
-
* to developers
|
950
|
-
* @returns {undefined}
|
951
|
-
* @memberof Meeting
|
952
|
-
*/
|
953
|
-
closeRemoteStreams(): Promise<[any, any, any]>;
|
954
|
-
/**
|
955
|
-
* Stores the reference to a new microphone stream, sets up the required event listeners
|
956
|
-
* on it, cleans up previous stream, etc.
|
957
|
-
*
|
958
|
-
* @param {LocalMicrophoneStream | null} localStream local microphone stream
|
959
|
-
* @returns {Promise<void>}
|
960
|
-
*/
|
961
|
-
private setLocalAudioStream;
|
962
|
-
/**
|
963
|
-
* Stores the reference to a new camera stream, sets up the required event listeners
|
964
|
-
* on it, cleans up previous stream, etc.
|
965
|
-
*
|
966
|
-
* @param {LocalCameraStream | null} localStream local camera stream
|
967
|
-
* @returns {Promise<void>}
|
968
|
-
*/
|
969
|
-
private setLocalVideoStream;
|
970
|
-
/**
|
971
|
-
* Stores the reference to a new screen share stream, sets up the required event listeners
|
972
|
-
* on it, cleans up previous stream, etc.
|
973
|
-
* It also sends the floor grant/release request.
|
974
|
-
*
|
975
|
-
* @param {LocalDisplayStream | undefined} localDisplayStream local display stream
|
976
|
-
* @returns {Promise<void>}
|
977
|
-
*/
|
978
|
-
private setLocalShareVideoStream;
|
979
|
-
/**
|
980
|
-
* Stores the reference to a new screen share audio stream, sets up the required event listeners
|
981
|
-
* on it, cleans up previous stream, etc.
|
982
|
-
*
|
983
|
-
* @param {LocalSystemAudioStream | undefined} localSystemAudioStream local system audio stream
|
984
|
-
* @returns {Promise<void>}
|
985
|
-
*/
|
986
|
-
private setLocalShareAudioStream;
|
987
|
-
/**
|
988
|
-
* sets up listner for mercury event
|
989
|
-
* @returns {undefined}
|
990
|
-
* @public
|
991
|
-
* @memberof Meeting
|
992
|
-
*/
|
993
|
-
setMercuryListener(): void;
|
994
|
-
/**
|
995
|
-
* Close the peer connections and remove them from the class.
|
996
|
-
* Cleanup any media connection related things.
|
997
|
-
*
|
998
|
-
* @returns {Promise}
|
999
|
-
* @public
|
1000
|
-
* @memberof Meeting
|
1001
|
-
*/
|
1002
|
-
closePeerConnections(): Promise<void>;
|
1003
|
-
/**
|
1004
|
-
* Unsets the peer connections on the class
|
1005
|
-
* warning DO NOT CALL WITHOUT CLOSING PEER CONNECTIONS FIRST
|
1006
|
-
* @returns {undefined}
|
1007
|
-
* @public
|
1008
|
-
* @memberof Meeting
|
1009
|
-
*/
|
1010
|
-
unsetPeerConnections(): void;
|
1011
|
-
/**
|
1012
|
-
* Convenience method to set the correlation id for the callStateForMetrics
|
1013
|
-
* @param {String} id correlation id to set on the callStateForMetrics
|
1014
|
-
* @returns {undefined}
|
1015
|
-
* @public
|
1016
|
-
* @memberof Meeting
|
1017
|
-
*/
|
1018
|
-
setCorrelationId(id: string): void;
|
1019
|
-
/**
|
1020
|
-
* Update the callStateForMetrics
|
1021
|
-
* @param {CallStateForMetrics} callStateForMetrics updated values for callStateForMetrics
|
1022
|
-
* @returns {undefined}
|
1023
|
-
* @public
|
1024
|
-
* @memberof Meeting
|
1025
|
-
*/
|
1026
|
-
updateCallStateForMetrics(callStateForMetrics: CallStateForMetrics): void;
|
1027
|
-
/**
|
1028
|
-
* Enqueue request for screenshare floor and set the status to pending
|
1029
|
-
* @returns {Promise}
|
1030
|
-
* @private
|
1031
|
-
* @memberof Meeting
|
1032
|
-
*/
|
1033
|
-
private enqueueScreenShareFloorRequest;
|
1034
|
-
/**
|
1035
|
-
* Mute the audio for a meeting
|
1036
|
-
* @returns {Promise} resolves the data from muting audio {mute, self} or rejects if there is no audio set
|
1037
|
-
* @public
|
1038
|
-
* @memberof Meeting
|
1039
|
-
*/
|
1040
|
-
muteAudio(): any;
|
1041
|
-
/**
|
1042
|
-
* Unmute meeting audio
|
1043
|
-
* @returns {Promise} resolves data from muting audio {mute, self} or rejects if there is no audio set
|
1044
|
-
* @public
|
1045
|
-
* @memberof Meeting
|
1046
|
-
*/
|
1047
|
-
unmuteAudio(): any;
|
1048
|
-
/**
|
1049
|
-
* Mute the video for a meeting
|
1050
|
-
* @returns {Promise} resolves data from muting video {mute, self} or rejects if there is no video set
|
1051
|
-
* @public
|
1052
|
-
* @memberof Meeting
|
1053
|
-
*/
|
1054
|
-
muteVideo(): any;
|
1055
|
-
/**
|
1056
|
-
* Unmute meeting video
|
1057
|
-
* @returns {Promise} resolves data from muting video {mute, self} or rejects if there is no video set
|
1058
|
-
* @public
|
1059
|
-
* @memberof Meeting
|
1060
|
-
*/
|
1061
|
-
unmuteVideo(): any;
|
1062
|
-
/**
|
1063
|
-
* Shorthand function to join AND set up media
|
1064
|
-
* @param {Object} options - options to join with media
|
1065
|
-
* @param {JoinOptions} [options.joinOptions] - see #join()
|
1066
|
-
* @param {AddMediaOptions} [options.mediaOptions] - see #addMedia()
|
1067
|
-
* @returns {Promise} -- {join: see join(), media: see addMedia()}
|
1068
|
-
* @public
|
1069
|
-
* @memberof Meeting
|
1070
|
-
* @example
|
1071
|
-
* joinWithMedia({
|
1072
|
-
* joinOptions: {resourceId: 'resourceId' },
|
1073
|
-
* mediaOptions: {
|
1074
|
-
* localStreams: { microphone: microphoneStream, camera: cameraStream }
|
1075
|
-
* }
|
1076
|
-
* })
|
1077
|
-
*/
|
1078
|
-
joinWithMedia(options?: {
|
1079
|
-
joinOptions?: any;
|
1080
|
-
mediaOptions?: AddMediaOptions;
|
1081
|
-
}): Promise<{
|
1082
|
-
join: any;
|
1083
|
-
media: void;
|
1084
|
-
}>;
|
1085
|
-
/**
|
1086
|
-
* Initiates the reconnection of the media in the meeting
|
1087
|
-
*
|
1088
|
-
* @param {object} options
|
1089
|
-
* @returns {Promise} resolves with {reconnect} or errors with {error}
|
1090
|
-
* @public
|
1091
|
-
* @memberof Meeting
|
1092
|
-
*/
|
1093
|
-
reconnect(options?: object): any;
|
1094
|
-
/**
|
1095
|
-
* Check if the meeting supports the Webex Assistant feature
|
1096
|
-
* @returns {boolean}
|
1097
|
-
* @throws TranscriptionNotSupportedError
|
1098
|
-
*/
|
1099
|
-
isTranscriptionSupported(): boolean;
|
1100
|
-
/**
|
1101
|
-
* Check if the meeting supports the Reactions
|
1102
|
-
* @returns {boolean}
|
1103
|
-
*/
|
1104
|
-
isReactionsSupported(): boolean;
|
1105
|
-
/**
|
1106
|
-
* sets Caption language for the meeting
|
1107
|
-
* @param {string} language
|
1108
|
-
* @returns {Promise}
|
1109
|
-
*/
|
1110
|
-
setCaptionLanguage(language: string): Promise<unknown>;
|
1111
|
-
/**
|
1112
|
-
* sets Spoken language for the meeting
|
1113
|
-
* @param {string} language
|
1114
|
-
* @returns {Promise}
|
1115
|
-
*/
|
1116
|
-
setSpokenLanguage(language: string): Promise<unknown>;
|
1117
|
-
/**
|
1118
|
-
* This method will enable the transcription for the current meeting if the meeting has enabled/supports Webex Assistant
|
1119
|
-
* @param {Object} options object with spokenlanguage setting
|
1120
|
-
* @public
|
1121
|
-
* @returns {Promise<void>} a promise to open the WebSocket connection
|
1122
|
-
*/
|
1123
|
-
startTranscription(options?: {
|
1124
|
-
spokenLanguage?: string;
|
1125
|
-
}): Promise<void>;
|
1126
|
-
/**
|
1127
|
-
* Callback called when a relay event is received from meeting LLM Connection
|
1128
|
-
* @param {RelayEvent} e Event object coming from LLM Connection
|
1129
|
-
* @private
|
1130
|
-
* @returns {void}
|
1131
|
-
*/
|
1132
|
-
private processRelayEvent;
|
1133
|
-
/**
|
1134
|
-
* This method stops receiving transcription for the current meeting
|
1135
|
-
* @returns {void}
|
1136
|
-
*/
|
1137
|
-
stopTranscription(): void;
|
1138
|
-
/**
|
1139
|
-
* triggers an event to notify that the user
|
1140
|
-
* will not receive any more transcription
|
1141
|
-
* @private
|
1142
|
-
* @returns{void}
|
1143
|
-
*/
|
1144
|
-
private triggerStopReceivingTranscriptionEvent;
|
1145
|
-
/**
|
1146
|
-
* Specify joining via audio (option: pstn), video, screenshare
|
1147
|
-
* @param {JoinOptions} options A configurable options object for joining a meeting
|
1148
|
-
* @returns {Promise} the join response
|
1149
|
-
* @public
|
1150
|
-
* @memberof Meeting
|
1151
|
-
* Scenario A: Joining own claimed personal meeting room
|
1152
|
-
* Scenario B: Joining other's claimed personal meeting room, do pass pin (if desired to join as host, or nullify), do pass moderator
|
1153
|
-
* Scenario C: Joining an unclaimed personal meeting room, -do not- pass pin or moderator on first try, -do- pass pin and moderator
|
1154
|
-
* if joining as host on second loop, pass pin and pass moderator if joining as guest on second loop
|
1155
|
-
* Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
|
1156
|
-
*/
|
1157
|
-
join(options?: any): Promise<any>;
|
1158
|
-
/**
|
1159
|
-
* Connects to low latency mercury and reconnects if the address has changed
|
1160
|
-
* It will also disconnect if called when the meeting has ended
|
1161
|
-
* @param {String} datachannelUrl
|
1162
|
-
* @returns {Promise}
|
1163
|
-
*/
|
1164
|
-
updateLLMConnection(): Promise<any>;
|
1165
|
-
/**
|
1166
|
-
* Use phone for meeting audio
|
1167
|
-
* @param {String} phoneNumber If provided, it will dial-out using this number. If not provided, dial-in will be used
|
1168
|
-
* @returns {Promise} Resolves once the dial-in or dial-out request has completed, or rejects if it failed
|
1169
|
-
* @public
|
1170
|
-
* @memberof Meeting
|
1171
|
-
*/
|
1172
|
-
usePhoneAudio(phoneNumber: string): Promise<any>;
|
1173
|
-
/**
|
1174
|
-
* Determines if the given pstnStatus is in a state which implies the phone is provisioned
|
1175
|
-
* @param {String} pstnStatus
|
1176
|
-
* @returns {Boolean}
|
1177
|
-
* @private
|
1178
|
-
* @memberof Meeting
|
1179
|
-
*/
|
1180
|
-
private isPhoneProvisioned;
|
1181
|
-
/**
|
1182
|
-
* Enable dial-in for audio
|
1183
|
-
* @returns {Promise} Resolves once the dial-in request has completed, or rejects if it failed
|
1184
|
-
* @private
|
1185
|
-
* @memberof Meeting
|
1186
|
-
*/
|
1187
|
-
private dialInPstn;
|
1188
|
-
/**
|
1189
|
-
* Enable dial-out for audio
|
1190
|
-
* @param {String} phoneNumber Phone number to dial out to
|
1191
|
-
* @returns {Promise} Resolves once the dial-out request has completed (it doesn't wait for the user to answer the phone), or rejects if it failed
|
1192
|
-
* @private
|
1193
|
-
* @memberof Meeting
|
1194
|
-
*/
|
1195
|
-
private dialOutPstn;
|
1196
|
-
/**
|
1197
|
-
* Disconnect meeting audio via phone.
|
1198
|
-
* @returns {Promise} Resolves once the phone audio disconnection has completed
|
1199
|
-
* @public
|
1200
|
-
* @memberof Meeting
|
1201
|
-
* @returns {Promise}
|
1202
|
-
*/
|
1203
|
-
disconnectPhoneAudio(): Promise<[any, any]>;
|
1204
|
-
/**
|
1205
|
-
* Moves the call to the specified resourceId
|
1206
|
-
* @param {String} resourceId
|
1207
|
-
* @returns {Promise} once the move has been completed
|
1208
|
-
* @public
|
1209
|
-
* @memberof Meeting
|
1210
|
-
*/
|
1211
|
-
moveTo(resourceId: string): any;
|
1212
|
-
/**
|
1213
|
-
* Moves the call from the specified resourceId, back to computer
|
1214
|
-
* @param {String} resourceId
|
1215
|
-
* @returns {Promise} once the move has been completed
|
1216
|
-
* @public
|
1217
|
-
* @memberof Meeting
|
1218
|
-
*/
|
1219
|
-
moveFrom(resourceId: string): any;
|
1220
|
-
/**
|
1221
|
-
* Handles ROAP_FAILURE event from the webrtc media connection
|
1222
|
-
*
|
1223
|
-
* @param {Error} error
|
1224
|
-
* @returns {void}
|
1225
|
-
*/
|
1226
|
-
handleRoapFailure: (error: any) => void;
|
1227
|
-
/**
|
1228
|
-
* This function makes sure we send the right metrics when local and remote SDPs are processed/generated
|
1229
|
-
*
|
1230
|
-
* @returns {undefined}
|
1231
|
-
*/
|
1232
|
-
setupSdpListeners: () => void;
|
1233
|
-
setupMediaConnectionListeners: () => void;
|
1234
|
-
/**
|
1235
|
-
* Registers for all required StatsAnalyzer events
|
1236
|
-
* @private
|
1237
|
-
* @returns {void}
|
1238
|
-
* @memberof Meetings
|
1239
|
-
*/
|
1240
|
-
setupStatsAnalyzerEventHandlers: () => void;
|
1241
|
-
getMediaConnectionDebugId(): string;
|
1242
|
-
/**
|
1243
|
-
* Creates a webrtc media connection and publishes streams to it
|
1244
|
-
*
|
1245
|
-
* @param {Object} turnServerInfo TURN server information
|
1246
|
-
* @param {BundlePolicy} [bundlePolicy] Bundle policy settings
|
1247
|
-
* @param {AddMediaOptions} [options] Options for enabling/disabling audio/video
|
1248
|
-
* @returns {RoapMediaConnection | MultistreamRoapMediaConnection}
|
1249
|
-
*/
|
1250
|
-
private createMediaConnection;
|
1251
|
-
/**
|
1252
|
-
* Listens for an event emitted by eventEmitter and emits it from the meeting object
|
1253
|
-
*
|
1254
|
-
* @private
|
1255
|
-
* @param {*} eventEmitter object from which to forward the event
|
1256
|
-
* @param {*} eventTypeToForward which event type to listen on and to forward
|
1257
|
-
* @param {string} meetingEventType event type to be used in the event emitted from the meeting object
|
1258
|
-
* @returns {void}
|
1259
|
-
*/
|
1260
|
-
forwardEvent(eventEmitter: any, eventTypeToForward: any, meetingEventType: any): void;
|
1261
|
-
/**
|
1262
|
-
* Sets up all the references to local streams in this.mediaProperties before creating media connection
|
1263
|
-
* and before TURN discovery, so that the correct mute state is sent with TURN discovery roap messages.
|
1264
|
-
*
|
1265
|
-
* @private
|
1266
|
-
* @param {LocalStreams} localStreams
|
1267
|
-
* @returns {Promise<void>}
|
1268
|
-
*/
|
1269
|
-
private setUpLocalStreamReferences;
|
1270
|
-
/**
|
1271
|
-
* Calls mediaProperties.waitForMediaConnectionConnected() and sends CA client.ice.end metric on failure
|
1272
|
-
*
|
1273
|
-
* @private
|
1274
|
-
* @returns {Promise<void>}
|
1275
|
-
*/
|
1276
|
-
private waitForMediaConnectionConnected;
|
1277
|
-
/**
|
1278
|
-
* Enables statsAnalyser if config allows it
|
1279
|
-
*
|
1280
|
-
* @private
|
1281
|
-
* @returns {void}
|
1282
|
-
*/
|
1283
|
-
private createStatsAnalyzer;
|
1284
|
-
/**
|
1285
|
-
* Handles device logging
|
1286
|
-
*
|
1287
|
-
* @private
|
1288
|
-
* @static
|
1289
|
-
* @returns {Promise<void>}
|
1290
|
-
*/
|
1291
|
-
private static handleDeviceLogging;
|
1292
|
-
/**
|
1293
|
-
* Returns a promise. This promise is created once the local sdp offer has been successfully created and is resolved
|
1294
|
-
* once the remote sdp answer has been received.
|
1295
|
-
*
|
1296
|
-
* @private
|
1297
|
-
* @returns {Promise<void>}
|
1298
|
-
*/
|
1299
|
-
private waitForRemoteSDPAnswer;
|
1300
|
-
/**
|
1301
|
-
* Calls establishMediaConnection with isForced = true to force turn discovery to happen
|
1302
|
-
*
|
1303
|
-
* @private
|
1304
|
-
* @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
|
1305
|
-
* @param {BundlePolicy} [bundlePolicy]
|
1306
|
-
* @returns {Promise<void>}
|
1307
|
-
*/
|
1308
|
-
private retryEstablishMediaConnectionWithForcedTurnDiscovery;
|
1309
|
-
/**
|
1310
|
-
* Does relevant clean up before retrying to establish media connection
|
1311
|
-
* and performs the retry with forced turn discovery
|
1312
|
-
*
|
1313
|
-
* @private
|
1314
|
-
* @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
|
1315
|
-
* @param {BundlePolicy} [bundlePolicy]
|
1316
|
-
* @returns {Promise<void>}
|
1317
|
-
*/
|
1318
|
-
private retryWithForcedTurnDiscovery;
|
1319
|
-
/**
|
1320
|
-
* If waitForMediaConnectionConnected() fails when we haven't done turn discovery then we
|
1321
|
-
* attempt to establish a media connection again, but this time using turn discovery. If we
|
1322
|
-
* used turn discovery on the first pass we do not attempt connection again.
|
1323
|
-
*
|
1324
|
-
* @private
|
1325
|
-
* @param {Error} error
|
1326
|
-
* @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
|
1327
|
-
* @param {BundlePolicy} [bundlePolicy]
|
1328
|
-
* @returns {Promise<void>}
|
1329
|
-
*/
|
1330
|
-
private handleWaitForMediaConnectionConnectedError;
|
1331
|
-
/**
|
1332
|
-
* Performs TURN discovery as a separate call to the Locus /media API
|
1333
|
-
*
|
1334
|
-
* @param {boolean} isRetry
|
1335
|
-
* @param {boolean} isForced
|
1336
|
-
* @returns {Promise}
|
1337
|
-
*/
|
1338
|
-
private doTurnDiscovery;
|
1339
|
-
/**
|
1340
|
-
* Does TURN discovery, SDP offer/answer exhange, establishes ICE connection and DTLS handshake.
|
1341
|
-
*
|
1342
|
-
* @private
|
1343
|
-
* @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
|
1344
|
-
* @param {BundlePolicy} [bundlePolicy]
|
1345
|
-
* @param {boolean} [isForced] - let isForced be true to do turn discovery regardless of reachability results
|
1346
|
-
* @param {TurnServerInfo} [turnServerInfo]
|
1347
|
-
* @returns {Promise<void>}
|
1348
|
-
*/
|
1349
|
-
private establishMediaConnection;
|
1350
|
-
/**
|
1351
|
-
* Cleans up stats analyzer, peer connection, and turns off listeners
|
1352
|
-
*
|
1353
|
-
* @private
|
1354
|
-
* @returns {Promise<void>}
|
1355
|
-
*/
|
1356
|
-
private cleanUpOnAddMediaFailure;
|
1357
|
-
/**
|
1358
|
-
* Sends stats report, closes peer connection and cleans up any media connection
|
1359
|
-
* related things before trying to establish media connection again with turn server
|
1360
|
-
*
|
1361
|
-
* @private
|
1362
|
-
* @returns {Promise<void>}
|
1363
|
-
*/
|
1364
|
-
private cleanUpBeforeRetryWithTurnServer;
|
1365
|
-
/**
|
1366
|
-
* Creates a media connection to the server. Media connection is required for sending or receiving any audio/video.
|
1367
|
-
*
|
1368
|
-
* @param {AddMediaOptions} options
|
1369
|
-
* @param {TurnServerInfo} turnServerInfo - TURN server information (used only internally by the SDK)
|
1370
|
-
* @returns {Promise<void>}
|
1371
|
-
* @public
|
1372
|
-
* @memberof Meeting
|
1373
|
-
*/
|
1374
|
-
addMedia(options?: AddMediaOptions, turnServerInfo?: TurnServerInfo): Promise<void>;
|
1375
|
-
/**
|
1376
|
-
* Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
|
1377
|
-
* @returns {Boolean}
|
1378
|
-
*/
|
1379
|
-
canUpdateMedia(): boolean;
|
1380
|
-
/**
|
1381
|
-
* media failed, so collect a stats report from webrtc using the wcme connection to grab the rtc stats report
|
1382
|
-
* send a webrtc telemetry dump to the configured server using the internal media core check metrics configured callback
|
1383
|
-
* @param {String} callFrom - the function calling this function, optional.
|
1384
|
-
* @returns {Promise<void>}
|
1385
|
-
*/
|
1386
|
-
private forceSendStatsReport;
|
1387
|
-
/**
|
1388
|
-
* Enqueues a media update operation.
|
1389
|
-
* @param {String} mediaUpdateType one of MEDIA_UPDATE_TYPE values
|
1390
|
-
* @param {Object} options
|
1391
|
-
* @returns {Promise}
|
1392
|
-
* @private
|
1393
|
-
* @memberof Meeting
|
1394
|
-
*/
|
1395
|
-
private enqueueMediaUpdate;
|
1396
|
-
/**
|
1397
|
-
* emits event when the negotation is completed
|
1398
|
-
* @returns {void}
|
1399
|
-
* @private
|
1400
|
-
* @memberof Meeting
|
1401
|
-
*/
|
1402
|
-
mediaNegotiatedEvent: () => void;
|
1403
|
-
/**
|
1404
|
-
* Checks if there are any queued media updates and runs the first one from
|
1405
|
-
* the queue if we are in a state that allows doing that.
|
1406
|
-
* @returns {undefined}
|
1407
|
-
* @public
|
1408
|
-
* @memberof Meeting
|
1409
|
-
*/
|
1410
|
-
processNextQueuedMediaUpdate: () => void;
|
1411
|
-
/**
|
1412
|
-
* Updates the media connection - it allows to enable/disable all audio/video/share in the meeting.
|
1413
|
-
* This does not affect the published tracks, so for example if a microphone track is published and
|
1414
|
-
* updateMedia({audioEnabled: false}) is called, the audio will not be sent or received anymore,
|
1415
|
-
* but the track's "published" state is not changed and when updateMedia({audioEnabled: true}) is called,
|
1416
|
-
* the sending of the audio from the same track will resume.
|
1417
|
-
*
|
1418
|
-
* @param {Object} options
|
1419
|
-
* @param {boolean} options.audioEnabled [optional] enables/disables receiving and sending of main audio in the meeting
|
1420
|
-
* @param {boolean} options.videoEnabled [optional] enables/disables receiving and sending of main video in the meeting
|
1421
|
-
* @param {boolean} options.shareEnabled [optional] enables/disables receiving and sending of screen share in the meeting
|
1422
|
-
* @returns {Promise}
|
1423
|
-
* @public
|
1424
|
-
* @memberof Meeting
|
1425
|
-
*/
|
1426
|
-
updateMedia(options: {
|
1427
|
-
audioEnabled?: boolean;
|
1428
|
-
videoEnabled?: boolean;
|
1429
|
-
shareAudioEnabled?: boolean;
|
1430
|
-
shareVideoEnabled?: boolean;
|
1431
|
-
}): Promise<void>;
|
1432
|
-
/**
|
1433
|
-
* Acknowledge the meeting, outgoing or incoming
|
1434
|
-
* @param {String} type
|
1435
|
-
* @returns {Promise} resolve {message, ringing, response}
|
1436
|
-
* @public
|
1437
|
-
* @memberof Meeting
|
1438
|
-
*/
|
1439
|
-
acknowledge(type: string): Promise<{
|
1440
|
-
response: any;
|
1441
|
-
}> | Promise<{
|
1442
|
-
message: string;
|
1443
|
-
}>;
|
1444
|
-
/**
|
1445
|
-
* Decline this meeting
|
1446
|
-
* @param {String} reason
|
1447
|
-
* @returns {undefined}
|
1448
|
-
* @public
|
1449
|
-
* @memberof Meeting
|
1450
|
-
*/
|
1451
|
-
decline(reason: string): any;
|
1452
|
-
/**
|
1453
|
-
* Returns a promise that will resolve to fetch options for leaving a meeting.
|
1454
|
-
*
|
1455
|
-
* This is to support quickly submitting a leave request when the browser/tab is closing.
|
1456
|
-
* Calling meeting.leave will not work because there are some async steps that will
|
1457
|
-
* not complete before the browser is closed. Instead, we pre-gather all the
|
1458
|
-
* information/options needed for the request(s), and then simply and quickly
|
1459
|
-
* fire the fetch(es) when pagehide is triggered.
|
1460
|
-
*
|
1461
|
-
* We must use fetch instead of request because fetch has a keepalive option that
|
1462
|
-
* allows the request it to outlive the page.
|
1463
|
-
*
|
1464
|
-
* Note: the $timings values will be wrong, but setRequestTimingsAndFetch() will
|
1465
|
-
* properly adjust them before submitting.
|
1466
|
-
*
|
1467
|
-
* @public
|
1468
|
-
* @param {Object} options leave options
|
1469
|
-
* @param {String} options.resourceId the device with which to leave from, empty if just the computer
|
1470
|
-
* @param {any} options.reason the reason for leaving
|
1471
|
-
* @returns {Promise} resolves to options to be used with fetch
|
1472
|
-
*/
|
1473
|
-
buildLeaveFetchRequestOptions(options?: {
|
1474
|
-
resourceId?: string;
|
1475
|
-
reason?: any;
|
1476
|
-
}): any;
|
1477
|
-
/**
|
1478
|
-
* Leave the current meeting
|
1479
|
-
* @param {Object} options - leave options
|
1480
|
-
* @param {String} [options.resourceId] - the device with which to leave from, empty if just the computer
|
1481
|
-
* @param {String} [options.clientEventLeaveReason] - the leaveReason to include in the Call Analyzer event.
|
1482
|
-
* Must be one of: 'paired-leave' | 'one-to-one' | 'ended-by-locus' (defaults to no reason)
|
1483
|
-
* https://sqbu-github.cisco.com/WebExSquared/event-dictionary/blob/main/diagnostic-events.raml#L796
|
1484
|
-
* @param {String} [options.reason] - only used for logging
|
1485
|
-
* @returns {Promise}
|
1486
|
-
* @public
|
1487
|
-
* @memberof Meeting
|
1488
|
-
*/
|
1489
|
-
leave(options?: {
|
1490
|
-
resourceId?: string;
|
1491
|
-
clientEventLeaveReason?: ClientEventLeaveReason;
|
1492
|
-
reason?: any;
|
1493
|
-
}): any;
|
1494
|
-
/**
|
1495
|
-
* Start sharing whiteboard given channelUrl
|
1496
|
-
* @param {string} channelUrl whiteboard url
|
1497
|
-
* @param {String} resourceToken token created by authorize media injector
|
1498
|
-
* @returns {Promise}
|
1499
|
-
* @public
|
1500
|
-
* @memberof Meeting
|
1501
|
-
*/
|
1502
|
-
startWhiteboardShare(channelUrl: string, resourceToken: string): any;
|
1503
|
-
/**
|
1504
|
-
* Stop sharing whiteboard given channelUrl
|
1505
|
-
* @param {string} channelUrl whiteboard url
|
1506
|
-
* @returns {Promise}
|
1507
|
-
* @public
|
1508
|
-
* @memberof Meeting
|
1509
|
-
*/
|
1510
|
-
stopWhiteboardShare(channelUrl: string): any;
|
1511
|
-
/**
|
1512
|
-
* Sends a request to Locus to obtain the screen share floor
|
1513
|
-
* @returns {Promise} see #meetingRequest.changeMeetingFloor
|
1514
|
-
* @private
|
1515
|
-
* @memberof Meeting
|
1516
|
-
*/
|
1517
|
-
private requestScreenShareFloor;
|
1518
|
-
/**
|
1519
|
-
* Requests screen share floor if such request is pending.
|
1520
|
-
* It should be called whenever meeting state changes to JOINED
|
1521
|
-
*
|
1522
|
-
* @returns {void}
|
1523
|
-
*/
|
1524
|
-
private requestScreenShareFloorIfPending;
|
1525
|
-
/**
|
1526
|
-
* Sends a request to Locus to release the screen share floor.
|
1527
|
-
* @returns {Promise} see #meetingRequest.changeMeetingFloor
|
1528
|
-
* @private
|
1529
|
-
* @memberof Meeting
|
1530
|
-
*/
|
1531
|
-
private releaseScreenShareFloor;
|
1532
|
-
/**
|
1533
|
-
* Intiate a recording of this meeting
|
1534
|
-
* @returns {Promise}
|
1535
|
-
* @public
|
1536
|
-
* @memberof Meeting
|
1537
|
-
*/
|
1538
|
-
startRecording(): Promise<any>;
|
1539
|
-
/**
|
1540
|
-
* set the mute on entry flag for participants if you're the host
|
1541
|
-
* @returns {Promise}
|
1542
|
-
* @param {boolean} enabled
|
1543
|
-
* @public
|
1544
|
-
* @memberof Meeting
|
1545
|
-
*/
|
1546
|
-
setMuteOnEntry(enabled: boolean): Promise<any>;
|
1547
|
-
/**
|
1548
|
-
* set the disallow unmute flag for participants if you're the host
|
1549
|
-
* @returns {Promise}
|
1550
|
-
* @param {boolean} enabled
|
1551
|
-
* @public
|
1552
|
-
* @memberof Meeting
|
1553
|
-
*/
|
1554
|
-
setDisallowUnmute(enabled: boolean): Promise<any>;
|
1555
|
-
/**
|
1556
|
-
* set the mute all flag for participants if you're the host
|
1557
|
-
* @returns {Promise}
|
1558
|
-
* @param {boolean} mutedEnabled
|
1559
|
-
* @param {boolean} disallowUnmuteEnabled
|
1560
|
-
* @param {boolean} muteOnEntryEnabled
|
1561
|
-
* @public
|
1562
|
-
* @memberof Meeting
|
1563
|
-
*/
|
1564
|
-
setMuteAll(mutedEnabled: boolean, disallowUnmuteEnabled: boolean, muteOnEntryEnabled: boolean): Promise<any>;
|
1565
|
-
/**
|
1566
|
-
* End the recording of this meeting
|
1567
|
-
* @returns {Promise}
|
1568
|
-
* @public
|
1569
|
-
* @memberof Meeting
|
1570
|
-
*/
|
1571
|
-
stopRecording(): Promise<any>;
|
1572
|
-
/**
|
1573
|
-
* Pauses the recording of this meeting
|
1574
|
-
* @returns {Promise}
|
1575
|
-
* @public
|
1576
|
-
* @memberof Meeting
|
1577
|
-
*/
|
1578
|
-
pauseRecording(): Promise<any>;
|
1579
|
-
/**
|
1580
|
-
* Resumes the recording of this meeting
|
1581
|
-
* @returns {Promise}
|
1582
|
-
* @public
|
1583
|
-
* @memberof Meeting
|
1584
|
-
*/
|
1585
|
-
resumeRecording(): Promise<any>;
|
1586
|
-
/**
|
1587
|
-
* Locks the current meeting if possible
|
1588
|
-
* @returns {Promise}
|
1589
|
-
* @public
|
1590
|
-
* @memberof Meeting
|
1591
|
-
*/
|
1592
|
-
lockMeeting(): any;
|
1593
|
-
/**
|
1594
|
-
* Unlocks the current meeting if possible
|
1595
|
-
* @returns {Promise}
|
1596
|
-
* @public
|
1597
|
-
* @memberof Meeting
|
1598
|
-
*/
|
1599
|
-
unlockMeeting(): any;
|
1600
|
-
/**
|
1601
|
-
* Logs an error message and returns a rejected promise with same message
|
1602
|
-
* @param {String} message
|
1603
|
-
* @returns {Promise}
|
1604
|
-
* @private
|
1605
|
-
* @memberof Meeting
|
1606
|
-
*/
|
1607
|
-
private rejectWithErrorLog;
|
1608
|
-
/**
|
1609
|
-
* Sends DTMF tones to the current meeting
|
1610
|
-
* @param {String} tones a string of one or more DTMF tones to send
|
1611
|
-
* @returns {Promise}
|
1612
|
-
* @public
|
1613
|
-
* @memberof Meeting
|
1614
|
-
*/
|
1615
|
-
sendDTMF(tones: string): Promise<any>;
|
1616
|
-
/**
|
1617
|
-
* Sends request to change layout type for the current meeting for the specific participant/device only
|
1618
|
-
* @param {String} [layoutType] a layout type that should be available in meeting constants {@link #layout_types}
|
1619
|
-
* @param {Object} renderInfo preferred dimensions for the remote main and content streams (server can ignore it)
|
1620
|
-
* @param {Object} renderInfo.main preferred dimensions for the remote main video stream
|
1621
|
-
* @param {Number} renderInfo.main.width preferred width of main video stream
|
1622
|
-
* @param {Number} renderInfo.main.height preferred height of main video stream
|
1623
|
-
* @param {Object} renderInfo.content preferred dimensions for the remote content share stream
|
1624
|
-
* @param {Number} renderInfo.content.width preferred width of content share stream
|
1625
|
-
* @param {Number} renderInfo.content.height preferred height of content share stream
|
1626
|
-
* @returns {Promise}
|
1627
|
-
* @public
|
1628
|
-
* @memberof Meeting
|
1629
|
-
*/
|
1630
|
-
changeVideoLayout(layoutType?: string, renderInfo?: {
|
1631
|
-
main: {
|
1632
|
-
width: number;
|
1633
|
-
height: number;
|
1634
|
-
};
|
1635
|
-
content: {
|
1636
|
-
width: number;
|
1637
|
-
height: number;
|
1638
|
-
};
|
1639
|
-
}): any;
|
1640
|
-
/**
|
1641
|
-
* Sets the quality level of the remote incoming media
|
1642
|
-
* @param {String} level {LOW|MEDIUM|HIGH}
|
1643
|
-
* @returns {Promise}
|
1644
|
-
*/
|
1645
|
-
setRemoteQualityLevel(level: string): Promise<void>;
|
1646
|
-
/**
|
1647
|
-
* Functionality for when a share audio is ended.
|
1648
|
-
* @private
|
1649
|
-
* @memberof Meeting
|
1650
|
-
* @returns {undefined}
|
1651
|
-
*/
|
1652
|
-
private handleShareAudioStreamEnded;
|
1653
|
-
/**
|
1654
|
-
* Functionality for when a share video is muted or unmuted.
|
1655
|
-
* @private
|
1656
|
-
* @memberof Meeting
|
1657
|
-
* @param {boolean} muted
|
1658
|
-
* @returns {undefined}
|
1659
|
-
*/
|
1660
|
-
private handleShareVideoStreamMuteStateChange;
|
1661
|
-
/**
|
1662
|
-
* Functionality for when a share video is ended.
|
1663
|
-
* @private
|
1664
|
-
* @memberof Meeting
|
1665
|
-
* @returns {undefined}
|
1666
|
-
*/
|
1667
|
-
private handleShareVideoStreamEnded;
|
1668
|
-
/**
|
1669
|
-
* Emits meeting:stoppedSharingLocal
|
1670
|
-
* @private
|
1671
|
-
* @returns {undefined}
|
1672
|
-
* @memberof Meeting
|
1673
|
-
*/
|
1674
|
-
private triggerStoppedSharing;
|
1675
|
-
/**
|
1676
|
-
* Emits the 'network:quality' event
|
1677
|
-
* 1 indicates an acceptable uplink network.
|
1678
|
-
* 0 indicates an unacceptable uplink network based on a predefined threshold
|
1679
|
-
* @returns {undefined}
|
1680
|
-
* @param {Object} res - payload of emitNetworkQuality
|
1681
|
-
* @property {string} mediaType {video|audio}
|
1682
|
-
* @property {number} networkQualityScore - {1|0}
|
1683
|
-
* @private
|
1684
|
-
* @memberof Meeting
|
1685
|
-
*/
|
1686
|
-
private sendNetworkQualityEvent;
|
1687
|
-
/**
|
1688
|
-
* Handle logging the media
|
1689
|
-
* @param {Object} mediaProperties
|
1690
|
-
* @private
|
1691
|
-
* @returns {undefined}
|
1692
|
-
*/
|
1693
|
-
private handleMediaLogging;
|
1694
|
-
/**
|
1695
|
-
*
|
1696
|
-
* @returns {string} one of 'panelist', 'attendee', 'host', 'cohost', returns the user type of the current user
|
1697
|
-
*/
|
1698
|
-
getCurUserType(): RawClientEvent['userType'] | null;
|
1699
|
-
/**
|
1700
|
-
* End the current meeting for all
|
1701
|
-
* @returns {Promise}
|
1702
|
-
* @public
|
1703
|
-
* @memberof Meeting
|
1704
|
-
*/
|
1705
|
-
endMeetingForAll(): any;
|
1706
|
-
/**
|
1707
|
-
* clear the meeting data
|
1708
|
-
* @returns {undefined}
|
1709
|
-
* @public
|
1710
|
-
* @memberof Meeting
|
1711
|
-
*/
|
1712
|
-
clearMeetingData: () => void;
|
1713
|
-
/**
|
1714
|
-
* starts keepAlives being sent
|
1715
|
-
* @returns {void}
|
1716
|
-
* @private
|
1717
|
-
* @memberof Meeting
|
1718
|
-
*/
|
1719
|
-
startKeepAlive: () => void;
|
1720
|
-
/**
|
1721
|
-
* stops keepAlives being sent
|
1722
|
-
* @returns {void}
|
1723
|
-
* @private
|
1724
|
-
* @memberof Meeting
|
1725
|
-
*/
|
1726
|
-
stopKeepAlive: () => void;
|
1727
|
-
/**
|
1728
|
-
* Send a reaction inside the meeting.
|
1729
|
-
*
|
1730
|
-
* @param {ReactionServerType} reactionType - type of reaction to be sent. Example: "thumbs_up"
|
1731
|
-
* @param {SkinToneType} skinToneType - skin tone for the reaction. Example: "medium_dark"
|
1732
|
-
* @returns {Promise}
|
1733
|
-
* @public
|
1734
|
-
* @memberof Meeting
|
1735
|
-
*/
|
1736
|
-
sendReaction(reactionType: ReactionServerType, skinToneType?: SkinToneType): any;
|
1737
|
-
/**
|
1738
|
-
* Method to enable or disable reactions inside the meeting.
|
1739
|
-
*
|
1740
|
-
* @param {boolean} enable - enable or disable reactions
|
1741
|
-
* @returns {Promise}
|
1742
|
-
* @public
|
1743
|
-
* @memberof Meeting
|
1744
|
-
*/
|
1745
|
-
toggleReactions(enable: boolean): Promise<any>;
|
1746
|
-
/**
|
1747
|
-
* Throws if we don't have a media connection created
|
1748
|
-
*
|
1749
|
-
* @returns {void}
|
1750
|
-
*/
|
1751
|
-
private checkMediaConnection;
|
1752
|
-
/**
|
1753
|
-
* Method to enable or disable the 'Music mode' effect on audio stream
|
1754
|
-
*
|
1755
|
-
* @param {boolean} shouldEnableMusicMode
|
1756
|
-
* @returns {Promise}
|
1757
|
-
*/
|
1758
|
-
enableMusicMode(shouldEnableMusicMode: boolean): Promise<void>;
|
1759
|
-
/** Updates the tracks being sent on the transcoded media connection
|
1760
|
-
*
|
1761
|
-
* @returns {Promise<void>}
|
1762
|
-
*/
|
1763
|
-
private updateTranscodedMediaConnection;
|
1764
|
-
/**
|
1765
|
-
* set sending named media group which the audio should send to
|
1766
|
-
* @param {MediaType} mediaType of the stream
|
1767
|
-
* @param {number} languageCode of the stream
|
1768
|
-
* @returns {void}
|
1769
|
-
*/
|
1770
|
-
setSendNamedMediaGroup(mediaType: MediaType, languageCode?: number): void;
|
1771
|
-
/**
|
1772
|
-
* Publishes a stream.
|
1773
|
-
*
|
1774
|
-
* @param {MediaType} mediaType of the stream
|
1775
|
-
* @param {LocalStream} stream to publish
|
1776
|
-
* @returns {Promise}
|
1777
|
-
*/
|
1778
|
-
private publishStream;
|
1779
|
-
/**
|
1780
|
-
* Un-publishes a stream.
|
1781
|
-
*
|
1782
|
-
* @param {MediaType} mediaType of the stream
|
1783
|
-
* @param {LocalStream} stream to unpublish
|
1784
|
-
* @returns {Promise}
|
1785
|
-
*/
|
1786
|
-
private unpublishStream;
|
1787
|
-
/**
|
1788
|
-
* Publishes specified local streams in the meeting
|
1789
|
-
*
|
1790
|
-
* @param {Object} streams
|
1791
|
-
* @returns {Promise}
|
1792
|
-
*/
|
1793
|
-
publishStreams(streams: LocalStreams): Promise<void>;
|
1794
|
-
/**
|
1795
|
-
* Un-publishes specified local streams in the meeting
|
1796
|
-
*
|
1797
|
-
* @param {Array<LocalStream>} streams
|
1798
|
-
* @returns {Promise}
|
1799
|
-
*/
|
1800
|
-
unpublishStreams(streams: LocalStream[]): Promise<void>;
|
1801
|
-
/**
|
1802
|
-
* Gets permission token expiry information including timeLeft, expiryTime, currentTime
|
1803
|
-
* (from the time the function has been fired)
|
1804
|
-
*
|
1805
|
-
* @returns {object} permissionTokenExpiryInfo
|
1806
|
-
* @returns {number} permissionTokenExpiryInfo.timeLeft The time left for token to expire
|
1807
|
-
* @returns {number} permissionTokenExpiryInfo.expiryTime The expiry time of permission token from the server
|
1808
|
-
* @returns {number} permissionTokenExpiryInfo.currentTime The current time of the local machine
|
1809
|
-
*/
|
1810
|
-
getPermissionTokenExpiryInfo(): {
|
1811
|
-
timeLeft: number;
|
1812
|
-
expiryTime: number;
|
1813
|
-
currentTime: number;
|
1814
|
-
};
|
1815
|
-
/**
|
1816
|
-
* Check if there is enough time left till the permission token expires
|
1817
|
-
* If not - refresh the permission token
|
1818
|
-
*
|
1819
|
-
* @param {number} threshold - time in seconds
|
1820
|
-
* @param {string} reason - reason for refreshing the permission token
|
1821
|
-
* @returns {Promise<void>}
|
1822
|
-
*/
|
1823
|
-
checkAndRefreshPermissionToken(threshold: number, reason: string): Promise<void>;
|
1824
|
-
}
|
1825
|
-
export {};
|