@webex/plugin-meetings 3.8.0-next.8 → 3.8.0-next.80
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/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 +20 -123
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +2 -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 +52 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +28 -10
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +62 -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 +6 -0
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +17 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +570 -302
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +0 -17
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +0 -2
- 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 +10 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +330 -353
- package/dist/member/util.js.map +1 -1
- package/dist/members/index.js +42 -0
- 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 +9 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/reachability/clusterReachability.js +63 -27
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +112 -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/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 +13 -85
- package/dist/types/controls-options-manager/enums.d.ts +3 -1
- package/dist/types/controls-options-manager/types.d.ts +7 -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 +16 -0
- package/dist/types/meeting/index.d.ts +43 -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 +1 -0
- package/dist/types/member/util.d.ts +159 -1
- package/dist/types/members/index.d.ts +15 -0
- 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 +9 -0
- 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 +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 +20 -90
- package/src/controls-options-manager/enums.ts +2 -0
- package/src/controls-options-manager/types.ts +11 -1
- package/src/controls-options-manager/util.ts +62 -0
- package/src/locus-info/controlsUtils.ts +44 -14
- package/src/locus-info/index.ts +56 -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 +7 -0
- package/src/meeting/in-meeting-actions.ts +32 -0
- package/src/meeting/index.ts +382 -93
- package/src/meeting/locusMediaRequest.ts +0 -18
- package/src/meeting/muteState.ts +0 -2
- 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 +13 -2
- package/src/member/util.ts +351 -348
- package/src/members/index.ts +47 -0
- package/src/members/request.ts +44 -0
- package/src/members/util.ts +43 -1
- package/src/metrics/constants.ts +9 -0
- package/src/reachability/clusterReachability.ts +73 -26
- package/src/reachability/index.ts +70 -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/roap/index.ts +3 -7
- package/src/roap/turnDiscovery.ts +34 -39
- package/src/roap/types.ts +23 -0
- package/test/unit/spec/breakouts/index.ts +167 -95
- package/test/unit/spec/controls-options-manager/util.js +120 -0
- package/test/unit/spec/locus-info/controlsUtils.js +103 -9
- package/test/unit/spec/locus-info/index.js +167 -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 +19 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +19 -4
- package/test/unit/spec/meeting/index.js +557 -35
- package/test/unit/spec/meeting/locusMediaRequest.ts +0 -30
- package/test/unit/spec/meeting/muteState.js +0 -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 +140 -26
- package/test/unit/spec/members/request.js +68 -22
- package/test/unit/spec/members/utils.js +75 -0
- package/test/unit/spec/reachability/clusterReachability.ts +88 -56
- package/test/unit/spec/reachability/index.ts +101 -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
@@ -1,4 +1,5 @@
|
|
1
1
|
import { LocalCameraStream, LocalMicrophoneStream, LocalDisplayStream, LocalSystemAudioStream, RemoteStream } from '@webex/media-helpers';
|
2
|
+
import { ClientEvent } from '@webex/internal-plugin-metrics';
|
2
3
|
export type MediaDirection = {
|
3
4
|
sendAudio: boolean;
|
4
5
|
sendVideo: boolean;
|
@@ -7,6 +8,7 @@ export type MediaDirection = {
|
|
7
8
|
receiveVideo: boolean;
|
8
9
|
receiveShare: boolean;
|
9
10
|
};
|
11
|
+
export type IPVersion = ClientEvent['payload']['ipVersion'];
|
10
12
|
/**
|
11
13
|
* @class MediaProperties
|
12
14
|
*/
|
@@ -94,6 +96,18 @@ export default class MediaProperties {
|
|
94
96
|
* @returns {Object}
|
95
97
|
*/
|
96
98
|
private getTransportInfo;
|
99
|
+
/**
|
100
|
+
* Checks if the given IP address is IPv6
|
101
|
+
* @param {string} ip address to check
|
102
|
+
* @returns {boolean} true if the address is IPv6, false otherwise
|
103
|
+
*/
|
104
|
+
private isIPv6;
|
105
|
+
/** Finds out if we connected using IPv4 or IPv6
|
106
|
+
* @param {RTCPeerConnection} webrtcMediaConnection
|
107
|
+
* @param {Array<any>} allStatsReports array of RTC stats reports
|
108
|
+
* @returns {string} IPVersion
|
109
|
+
*/
|
110
|
+
private getConnectionIpVersion;
|
97
111
|
/**
|
98
112
|
* Returns the type of a connection that has been established
|
99
113
|
* It should be 'UDP' | 'TCP' | 'TURN-TLS' | 'TURN-TCP' | 'TURN-UDP' | 'unknown'
|
@@ -111,6 +125,7 @@ export default class MediaProperties {
|
|
111
125
|
*/
|
112
126
|
getCurrentConnectionInfo(): Promise<{
|
113
127
|
connectionType: string;
|
128
|
+
ipVersion?: IPVersion;
|
114
129
|
selectedCandidatePairChanges: number;
|
115
130
|
numTransports: number;
|
116
131
|
}>;
|
@@ -77,6 +77,8 @@ interface IInMeetingActions {
|
|
77
77
|
canShareDesktop?: boolean;
|
78
78
|
canShareContent?: boolean;
|
79
79
|
canTransferFile?: boolean;
|
80
|
+
canRealtimeCloseCaption?: boolean;
|
81
|
+
canRealtimeCloseCaptionManual?: boolean;
|
80
82
|
canChat?: boolean;
|
81
83
|
canDoVideo?: boolean;
|
82
84
|
canAnnotate?: boolean;
|
@@ -95,6 +97,12 @@ interface IInMeetingActions {
|
|
95
97
|
isPracticeSessionOff?: boolean;
|
96
98
|
canStartPracticeSession?: boolean;
|
97
99
|
canStopPracticeSession?: boolean;
|
100
|
+
requiresPostMeetingDataConsentPrompt?: boolean;
|
101
|
+
canEnableAnnotation?: boolean;
|
102
|
+
canDisableAnnotation?: boolean;
|
103
|
+
canEnableRemoteDesktopControl?: boolean;
|
104
|
+
canDisableRemoteDesktopControl?: boolean;
|
105
|
+
canMoveToLobby?: boolean;
|
98
106
|
}
|
99
107
|
/**
|
100
108
|
* @class InMeetingActions
|
@@ -172,6 +180,8 @@ export default class InMeetingActions implements IInMeetingActions {
|
|
172
180
|
canShareDesktop: any;
|
173
181
|
canShareContent: any;
|
174
182
|
canTransferFile: any;
|
183
|
+
canRealtimeCloseCaption: any;
|
184
|
+
canRealtimeCloseCaptionManual: any;
|
175
185
|
canChat: any;
|
176
186
|
canDoVideo: any;
|
177
187
|
canAnnotate: any;
|
@@ -190,6 +200,12 @@ export default class InMeetingActions implements IInMeetingActions {
|
|
190
200
|
isPracticeSessionOff: any;
|
191
201
|
canStartPracticeSession: any;
|
192
202
|
canStopPracticeSession: any;
|
203
|
+
requiresPostMeetingDataConsentPrompt: any;
|
204
|
+
canEnableAnnotation: any;
|
205
|
+
canDisableAnnotation: any;
|
206
|
+
canEnableRemoteDesktopControl: any;
|
207
|
+
canDisableRemoteDesktopControl: any;
|
208
|
+
canMoveToLobby: any;
|
193
209
|
/**
|
194
210
|
* Returns all meeting action options
|
195
211
|
* @returns {Object}
|
@@ -4,7 +4,8 @@ import { ClientEvent, ClientEventLeaveReason } from '@webex/internal-plugin-metr
|
|
4
4
|
import { ClientEvent as RawClientEvent } from '@webex/event-dictionary-ts';
|
5
5
|
import { MediaType, StatsAnalyzer, NetworkQualityMonitor } from '@webex/internal-media-core';
|
6
6
|
import { LocalStream, LocalCameraStream, LocalDisplayStream, LocalSystemAudioStream, LocalMicrophoneStream } from '@webex/media-helpers';
|
7
|
-
import Roap, { type
|
7
|
+
import Roap, { type TurnDiscoverySkipReason } from '../roap/index';
|
8
|
+
import { type TurnServerInfo } from '../roap/types';
|
8
9
|
import { type BundlePolicy } from '../media';
|
9
10
|
import MediaProperties from '../media/properties';
|
10
11
|
import ReconnectionManager from '../reconnection-manager';
|
@@ -449,6 +450,12 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
449
450
|
allowMediaInLobby: boolean;
|
450
451
|
localShareInstanceId: string;
|
451
452
|
remoteShareInstanceId: string;
|
453
|
+
shareCAEventSentStatus: {
|
454
|
+
transmitStart: boolean;
|
455
|
+
transmitStop: boolean;
|
456
|
+
receiveStart: boolean;
|
457
|
+
receiveStop: boolean;
|
458
|
+
};
|
452
459
|
turnDiscoverySkippedReason: TurnDiscoverySkipReason;
|
453
460
|
turnServerUsed: boolean;
|
454
461
|
areVoiceaEventsSetup: boolean;
|
@@ -468,6 +475,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
468
475
|
private rtcMetrics?;
|
469
476
|
private uploadLogsTimer?;
|
470
477
|
private logUploadIntervalIndex;
|
478
|
+
private mediaServerIp;
|
471
479
|
/**
|
472
480
|
* @param {Object} attrs
|
473
481
|
* @param {Object} options
|
@@ -533,6 +541,14 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
533
541
|
* @returns {string | undefined}
|
534
542
|
*/
|
535
543
|
get isoLocalClientMeetingJoinTime(): string | undefined;
|
544
|
+
/**
|
545
|
+
* Setter - sets isoLocalClientMeetingJoinTime
|
546
|
+
* This will be set once on meeting join, and not updated again
|
547
|
+
* this will always produce an ISO string
|
548
|
+
* If the iso string is invalid, it will fallback to the current system time
|
549
|
+
* @param {string | undefined} time
|
550
|
+
*/
|
551
|
+
set isoLocalClientMeetingJoinTime(time: string | undefined);
|
536
552
|
/**
|
537
553
|
* Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
|
538
554
|
* @param {any} info
|
@@ -864,6 +880,17 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
864
880
|
cancelPhoneInvite(invitee: {
|
865
881
|
phoneNumber: string;
|
866
882
|
}): any;
|
883
|
+
/**
|
884
|
+
* Cancel an SIP call invitation made during a meeting
|
885
|
+
* @param {Object} invitee
|
886
|
+
* @param {String} invitee.memberId
|
887
|
+
* @returns {Promise} see #members.cancelSIPInvite
|
888
|
+
* @public
|
889
|
+
* @memberof Meeting
|
890
|
+
*/
|
891
|
+
cancelSIPInvite(invitee: {
|
892
|
+
memberId: string;
|
893
|
+
}): any;
|
867
894
|
/**
|
868
895
|
* Admit the guest(s) to the call once they are waiting.
|
869
896
|
* If the host/cohost is in a breakout session, the locus url
|
@@ -1873,6 +1900,15 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
1873
1900
|
* @memberof Meeting
|
1874
1901
|
*/
|
1875
1902
|
toggleReactions(enable: boolean): Promise<any>;
|
1903
|
+
/**
|
1904
|
+
* Method to set post meeting data consent.
|
1905
|
+
*
|
1906
|
+
* @param {boolean} accept - whether consent accepted or declined
|
1907
|
+
* @returns {Promise}
|
1908
|
+
* @public
|
1909
|
+
* @memberof Meeting
|
1910
|
+
*/
|
1911
|
+
setPostMeetingDataConsent(accept: boolean): Promise<any>;
|
1876
1912
|
/**
|
1877
1913
|
* Throws if we don't have a media connection created
|
1878
1914
|
*
|
@@ -1951,5 +1987,11 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
1951
1987
|
* @returns {Promise<void>}
|
1952
1988
|
*/
|
1953
1989
|
checkAndRefreshPermissionToken(threshold: number, reason: string): Promise<void>;
|
1990
|
+
/**
|
1991
|
+
* Gets the media reachability metrics
|
1992
|
+
*
|
1993
|
+
* @returns {Promise<MediaReachabilityMetrics>}
|
1994
|
+
*/
|
1995
|
+
private getMediaReachabilityMetricFields;
|
1954
1996
|
}
|
1955
1997
|
export {};
|
@@ -69,7 +69,6 @@ export declare class MuteState {
|
|
69
69
|
* @public
|
70
70
|
* @memberof MuteState
|
71
71
|
* @param {Object} [meeting] the meeting object
|
72
|
-
* @param {Boolean} [mute] true for muting, false for unmuting request
|
73
72
|
* @returns {void}
|
74
73
|
*/
|
75
74
|
handleLocalStreamMuteStateChange(meeting?: any): void;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { StatelessWebexPlugin } from '@webex/webex-core';
|
2
|
-
import { SendReactionOptions, BrbOptions, ToggleReactionsOptions } from './request.type';
|
2
|
+
import { SendReactionOptions, BrbOptions, ToggleReactionsOptions, PostMeetingDataConsentOptions } from './request.type';
|
3
3
|
import { AnnotationInfo } from '../annotation/annotation.types';
|
4
4
|
import { ClientMediaPreferences } from '../reachability/reachability.types';
|
5
5
|
/**
|
@@ -303,4 +303,15 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
303
303
|
* @returns {Promise}
|
304
304
|
*/
|
305
305
|
setBrb({ enabled, locusUrl, deviceUrl, selfId }: BrbOptions): Promise<any>;
|
306
|
+
/**
|
307
|
+
* Sends a request to set post meeting data consent.
|
308
|
+
*
|
309
|
+
* @param {Object} options - The options for post meeting data consent request.
|
310
|
+
* @param {boolean} options.consent - Whether accepted or declined.
|
311
|
+
* @param {string} options.locusUrl - The URL of the locus.
|
312
|
+
* @param {string} options.deviceUrl - The URL of the device.
|
313
|
+
* @param {string} options.selfId - The ID of the participant.
|
314
|
+
* @returns {Promise}
|
315
|
+
*/
|
316
|
+
setPostMeetingDataConsent({ postMeetingDataConsent, locusUrl, deviceUrl, selfId, }: PostMeetingDataConsentOptions): Promise<any>;
|
306
317
|
}
|
@@ -80,8 +80,10 @@ declare const MeetingUtil: {
|
|
80
80
|
waitingForOthersToJoin: (displayHints: any) => any;
|
81
81
|
canSendReactions: (originalValue: any, displayHints: any) => any;
|
82
82
|
canUserRenameSelfAndObserved: (displayHints: any) => any;
|
83
|
+
requiresPostMeetingDataConsentPrompt: (displayHints: any) => any;
|
83
84
|
canUserRenameOthers: (displayHints: any) => any;
|
84
|
-
canShareWhiteBoard: (displayHints: any) =>
|
85
|
+
canShareWhiteBoard: (displayHints: any, policies?: {}) => boolean;
|
86
|
+
canMoveToLobby: (displayHints: any) => any;
|
85
87
|
/**
|
86
88
|
* Adds the current locus sequence information to a request body
|
87
89
|
* @param {Object} meeting The meeting object
|
@@ -99,6 +99,52 @@ export declare class MeetingInfoV2JoinForbiddenError extends Error {
|
|
99
99
|
*/
|
100
100
|
constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
|
101
101
|
}
|
102
|
+
/**
|
103
|
+
* Error fetching static link for a conversation when it does not exist
|
104
|
+
*/
|
105
|
+
export declare class MeetingInfoV2StaticLinkDoesNotExistError extends Error {
|
106
|
+
sdkMessage: any;
|
107
|
+
wbxAppApiCode: any;
|
108
|
+
body: any;
|
109
|
+
/**
|
110
|
+
*
|
111
|
+
* @constructor
|
112
|
+
* @param {Number} [wbxAppApiErrorCode]
|
113
|
+
* @param {String} [message]
|
114
|
+
*/
|
115
|
+
constructor(wbxAppApiErrorCode?: number, message?: string);
|
116
|
+
}
|
117
|
+
/**
|
118
|
+
* Error enabling/disabling static meeting link
|
119
|
+
*/
|
120
|
+
export declare class MeetingInfoV2MeetingIsInProgressError extends Error {
|
121
|
+
sdkMessage: any;
|
122
|
+
wbxAppApiCode: any;
|
123
|
+
body: any;
|
124
|
+
/**
|
125
|
+
*
|
126
|
+
* @constructor
|
127
|
+
* @param {Number} [wbxAppApiErrorCode]
|
128
|
+
* @param {String} [message]
|
129
|
+
* @param {Boolean} [enable]
|
130
|
+
*/
|
131
|
+
constructor(wbxAppApiErrorCode?: number, message?: string, enable?: boolean);
|
132
|
+
}
|
133
|
+
/**
|
134
|
+
* Error enabling/disabling static meeting link
|
135
|
+
*/
|
136
|
+
export declare class MeetingInfoV2StaticMeetingLinkAlreadyExists extends Error {
|
137
|
+
sdkMessage: any;
|
138
|
+
wbxAppApiCode: any;
|
139
|
+
body: any;
|
140
|
+
/**
|
141
|
+
*
|
142
|
+
* @constructor
|
143
|
+
* @param {Number} [wbxAppApiErrorCode]
|
144
|
+
* @param {String} [message]
|
145
|
+
*/
|
146
|
+
constructor(wbxAppApiErrorCode?: number, message?: string);
|
147
|
+
}
|
102
148
|
/**
|
103
149
|
* @class MeetingInfo
|
104
150
|
*/
|
@@ -136,6 +182,16 @@ export default class MeetingInfoV2 {
|
|
136
182
|
* @returns {void}
|
137
183
|
*/
|
138
184
|
handleForbiddenError: (err: any) => void;
|
185
|
+
/**
|
186
|
+
* helper function to either create an adhoc space meeting or enable static meeting link
|
187
|
+
* @param {String} conversationUrl conversationUrl to start adhoc meeting on
|
188
|
+
* @param {String} installedOrgID org ID of user's machine
|
189
|
+
* @param {Boolean} enableStaticMeetingLink whether or not to enable static meeting link
|
190
|
+
* @returns {Promise} returns a meeting info object
|
191
|
+
* @public
|
192
|
+
* @memberof MeetingInfo
|
193
|
+
*/
|
194
|
+
createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl: string, installedOrgID?: string, enableStaticMeetingLink?: boolean): Promise<any>;
|
139
195
|
/**
|
140
196
|
* Creates adhoc space meetings for a space by fetching the conversation infomation
|
141
197
|
* @param {String} conversationUrl conversationUrl to start adhoc meeting on
|
@@ -145,6 +201,30 @@ export default class MeetingInfoV2 {
|
|
145
201
|
* @memberof MeetingInfo
|
146
202
|
*/
|
147
203
|
createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string): Promise<any>;
|
204
|
+
/**
|
205
|
+
* Fetches details for static meeting link
|
206
|
+
* @param {String} conversationUrl conversationUrl that's required to find static meeting link if it exists
|
207
|
+
* @returns {Promise} returns a Promise
|
208
|
+
* @public
|
209
|
+
* @memberof MeetingInfo
|
210
|
+
*/
|
211
|
+
fetchStaticMeetingLink(conversationUrl: string): Promise<any>;
|
212
|
+
/**
|
213
|
+
* Enables static meeting link
|
214
|
+
* @param {String} conversationUrl conversationUrl that's required to enable static meeting link
|
215
|
+
* @returns {Promise} returns a Promise
|
216
|
+
* @public
|
217
|
+
* @memberof MeetingInfo
|
218
|
+
*/
|
219
|
+
enableStaticMeetingLink(conversationUrl: string): Promise<any>;
|
220
|
+
/**
|
221
|
+
* Disables static meeting link for given conversation url
|
222
|
+
* @param {String} conversationUrl conversationUrl that's required to disable static meeting link if it exists
|
223
|
+
* @returns {Promise} returns a Promise
|
224
|
+
* @public
|
225
|
+
* @memberof MeetingInfo
|
226
|
+
*/
|
227
|
+
disableStaticMeetingLink(conversationUrl: string): Promise<any>;
|
148
228
|
/**
|
149
229
|
* Fetches meeting info from the server
|
150
230
|
* @param {String} destination one of many different types of destinations to look up info for
|
@@ -158,6 +238,7 @@ export default class MeetingInfoV2 {
|
|
158
238
|
* @param {Object} extraParams
|
159
239
|
* @param {Object} options
|
160
240
|
* @param {String} registrationId
|
241
|
+
* @param {String} fullSiteUrl
|
161
242
|
* @returns {Promise} returns a meeting info object
|
162
243
|
* @public
|
163
244
|
* @memberof MeetingInfo
|
@@ -168,5 +249,5 @@ export default class MeetingInfoV2 {
|
|
168
249
|
}, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
|
169
250
|
meetingId?: string;
|
170
251
|
sendCAevents?: boolean;
|
171
|
-
}, registrationId?: string): Promise<any>;
|
252
|
+
}, registrationId?: string, fullSiteUrl?: string): Promise<any>;
|
172
253
|
}
|
@@ -227,6 +227,34 @@ export default class Meetings extends WebexPlugin {
|
|
227
227
|
* @returns {undefined}
|
228
228
|
*/
|
229
229
|
private _toggleIpv6BackendNativeSupport;
|
230
|
+
/**
|
231
|
+
* API to toggle usage of audio main DTX, needs to be called before webex.meetings.register()
|
232
|
+
*
|
233
|
+
* @param {Boolean} newValue
|
234
|
+
* @private
|
235
|
+
* @memberof Meetings
|
236
|
+
* @returns {undefined}
|
237
|
+
*/
|
238
|
+
private _toggleDisableAudioMainDtx;
|
239
|
+
/**
|
240
|
+
* API to toggle usage of audio twcc support
|
241
|
+
*
|
242
|
+
* @param {Boolean} newValue
|
243
|
+
* @private
|
244
|
+
* @memberof Meetings
|
245
|
+
* @returns {undefined}
|
246
|
+
*/
|
247
|
+
private _toggleEnableAudioTwccForMultistream;
|
248
|
+
/**
|
249
|
+
* API to toggle stopping ICE Candidates Gathering after first relay candidate,
|
250
|
+
* needs to be called before webex.meetings.joinWithMedia()
|
251
|
+
*
|
252
|
+
* @param {Boolean} newValue
|
253
|
+
* @private
|
254
|
+
* @memberof Meetings
|
255
|
+
* @returns {undefined}
|
256
|
+
*/
|
257
|
+
private _toggleStopIceGatheringAfterFirstRelayCandidate;
|
230
258
|
/**
|
231
259
|
* Executes a registration step and updates the registration status.
|
232
260
|
* @param {Function} step - The registration step to execute.
|
@@ -348,6 +376,15 @@ export default class Meetings extends WebexPlugin {
|
|
348
376
|
* @memberof Meetings
|
349
377
|
*/
|
350
378
|
private destroy;
|
379
|
+
/**
|
380
|
+
* Fetch static meeting link for given conversation url.
|
381
|
+
*
|
382
|
+
* @param {string} conversationUrl - url for conversation
|
383
|
+
* @returns {Promise}
|
384
|
+
* @public
|
385
|
+
* @memberof Meetings
|
386
|
+
*/
|
387
|
+
fetchStaticMeetingLink(conversationUrl: string): Promise<any>;
|
351
388
|
/**
|
352
389
|
* Create a meeting or return an existing meeting.
|
353
390
|
*
|
@@ -368,6 +405,26 @@ export default class Meetings extends WebexPlugin {
|
|
368
405
|
* @memberof Meetings
|
369
406
|
*/
|
370
407
|
create(destination: string, type?: DESTINATION_TYPE, useRandomDelayForInfo?: boolean, infoExtraParams?: {}, correlationId?: string, failOnMissingMeetingInfo?: boolean, callStateForMetrics?: CallStateForMetrics, meetingInfo?: any, meetingLookupUrl?: any, sessionCorrelationId?: string): any;
|
408
|
+
/**
|
409
|
+
* Enable static meeting links for given conversation url.
|
410
|
+
*
|
411
|
+
*
|
412
|
+
* @param {string} conversationUrl - url for conversation
|
413
|
+
* @returns {Promise}
|
414
|
+
* @public
|
415
|
+
* @memberof Meetings
|
416
|
+
*/
|
417
|
+
enableStaticMeetingLink(conversationUrl: string): Promise<any>;
|
418
|
+
/**
|
419
|
+
* Disable static meeting links for given conversation url.
|
420
|
+
*
|
421
|
+
*
|
422
|
+
* @param {string} conversationUrl - url for conversation
|
423
|
+
* @returns {Promise}
|
424
|
+
* @public
|
425
|
+
* @memberof Meetings
|
426
|
+
*/
|
427
|
+
disableStaticMeetingLink(conversationUrl: string): Promise<any>;
|
371
428
|
/**
|
372
429
|
* Create meeting
|
373
430
|
*
|
@@ -1,2 +1,160 @@
|
|
1
|
-
|
1
|
+
import { IExternalRoles, ParticipantWithRoles, ServerRoles, ServerRoleShape, IMediaStatus, ParticipantWithBrb } from './types';
|
2
|
+
declare const MemberUtil: {
|
3
|
+
/**
|
4
|
+
* @param {Object} participant - The locus participant object.
|
5
|
+
* @returns {Boolean}
|
6
|
+
*/
|
7
|
+
canReclaimHost: (participant: any) => any;
|
8
|
+
/**
|
9
|
+
* @param {Object} participant - The locus participant object.
|
10
|
+
* @returns {[ServerRoleShape]}
|
11
|
+
*/
|
12
|
+
getControlsRoles: (participant: ParticipantWithRoles) => Array<ServerRoleShape>;
|
13
|
+
/**
|
14
|
+
* Checks if the participant has the brb status enabled.
|
15
|
+
*
|
16
|
+
* @param {ParticipantWithBrb} participant - The locus participant object.
|
17
|
+
* @returns {boolean} - True if the participant has brb enabled, false otherwise.
|
18
|
+
*/
|
19
|
+
isBrb: (participant: ParticipantWithBrb) => boolean;
|
20
|
+
/**
|
21
|
+
* @param {Object} participant - The locus participant object.
|
22
|
+
* @param {ServerRoles} controlRole the search role
|
23
|
+
* @returns {Boolean}
|
24
|
+
*/
|
25
|
+
hasRole: (participant: any, controlRole: ServerRoles) => boolean;
|
26
|
+
/**
|
27
|
+
* @param {Object} participant - The locus participant object.
|
28
|
+
* @returns {Boolean}
|
29
|
+
*/
|
30
|
+
hasCohost: (participant: ParticipantWithRoles) => boolean;
|
31
|
+
/**
|
32
|
+
* @param {Object} participant - The locus participant object.
|
33
|
+
* @returns {Boolean}
|
34
|
+
*/
|
35
|
+
hasModerator: (participant: ParticipantWithRoles) => boolean;
|
36
|
+
/**
|
37
|
+
* @param {Object} participant - The locus participant object.
|
38
|
+
* @returns {Boolean}
|
39
|
+
*/
|
40
|
+
hasPresenter: (participant: ParticipantWithRoles) => boolean;
|
41
|
+
/**
|
42
|
+
* @param {Object} participant - The locus participant object.
|
43
|
+
* @returns {IExternalRoles}
|
44
|
+
*/
|
45
|
+
extractControlRoles: (participant: ParticipantWithRoles) => IExternalRoles;
|
46
|
+
/**
|
47
|
+
* @param {Object} participant - The locus participant object.
|
48
|
+
* @returns {Boolean}
|
49
|
+
*/
|
50
|
+
isUser: (participant: any) => boolean;
|
51
|
+
isModerator: (participant: any) => any;
|
52
|
+
/**
|
53
|
+
* @param {Object} participant - The locus participant object.
|
54
|
+
* @returns {Boolean}
|
55
|
+
*/
|
56
|
+
isGuest: (participant: any) => any;
|
57
|
+
/**
|
58
|
+
* @param {Object} participant - The locus participant object.
|
59
|
+
* @returns {Boolean}
|
60
|
+
*/
|
61
|
+
isDevice: (participant: any) => boolean;
|
62
|
+
isModeratorAssignmentProhibited: (participant: any) => any;
|
63
|
+
isPresenterAssignmentProhibited: (participant: any) => any;
|
64
|
+
/**
|
65
|
+
* checks to see if the participant id is the same as the passed id
|
66
|
+
* there are multiple ids that can be used
|
67
|
+
* @param {Object} participant - The locus participant object.
|
68
|
+
* @param {String} id
|
69
|
+
* @returns {Boolean}
|
70
|
+
*/
|
71
|
+
isSame: (participant: any, id: string) => boolean;
|
72
|
+
/**
|
73
|
+
* checks to see if the participant id is the same as the passed id for associated devices
|
74
|
+
* there are multiple ids that can be used
|
75
|
+
* @param {Object} participant - The locus participant object.
|
76
|
+
* @param {String} id
|
77
|
+
* @returns {Boolean}
|
78
|
+
*/
|
79
|
+
isAssociatedSame: (participant: any, id: string) => any;
|
80
|
+
/**
|
81
|
+
* @param {Object} participant - The locus participant object.
|
82
|
+
* @param {Boolean} isGuest
|
83
|
+
* @param {String} status
|
84
|
+
* @returns {Boolean}
|
85
|
+
*/
|
86
|
+
isNotAdmitted: (participant: any, isGuest: boolean, status: string) => boolean;
|
87
|
+
/**
|
88
|
+
* @param {Object} participant - The locus participant object.
|
89
|
+
* @returns {Boolean}
|
90
|
+
*/
|
91
|
+
isAudioMuted: (participant: any) => any;
|
92
|
+
/**
|
93
|
+
* @param {Object} participant - The locus participant object.
|
94
|
+
* @returns {Boolean}
|
95
|
+
*/
|
96
|
+
isVideoMuted: (participant: any) => boolean;
|
97
|
+
/**
|
98
|
+
* @param {Object} participant - The locus participant object.
|
99
|
+
* @returns {Boolean}
|
100
|
+
*/
|
101
|
+
isHandRaised: (participant: any) => any;
|
102
|
+
/**
|
103
|
+
* @param {Object} participant - The locus participant object.
|
104
|
+
* @returns {Boolean}
|
105
|
+
*/
|
106
|
+
isBreakoutsSupported: (participant: any) => boolean;
|
107
|
+
/**
|
108
|
+
* @param {Object} participant - The locus participant object.
|
109
|
+
* @returns {Boolean}
|
110
|
+
*/
|
111
|
+
isInterpretationSupported: (participant: any) => boolean;
|
112
|
+
/**
|
113
|
+
* @param {Object} participant - The locus participant object.
|
114
|
+
* @returns {Boolean}
|
115
|
+
*/
|
116
|
+
isLiveAnnotationSupported: (participant: any) => boolean;
|
117
|
+
/**
|
118
|
+
* utility method for audio/video muted status
|
119
|
+
* @param {any} participant
|
120
|
+
* @param {String} statusAccessor
|
121
|
+
* @param {String} controlsAccessor
|
122
|
+
* @returns {Boolean | undefined}
|
123
|
+
*/
|
124
|
+
isMuted: (participant: any, statusAccessor: string, controlsAccessor: string) => any;
|
125
|
+
/**
|
126
|
+
* utility method for getting the recording member for later comparison
|
127
|
+
* @param {Object} controls
|
128
|
+
* @returns {String|null}
|
129
|
+
*/
|
130
|
+
getRecordingMember: (controls: any) => any;
|
131
|
+
/**
|
132
|
+
* @param {Object} participant - The locus participant object.
|
133
|
+
* @returns {Boolean}
|
134
|
+
*/
|
135
|
+
isRecording: (participant: any) => any;
|
136
|
+
isRemovable: (isSelf: any, isGuest: any, isInMeeting: any, type: any) => boolean;
|
137
|
+
isMutable: (isSelf: any, isDevice: any, isInMeeting: any, isMuted: any, type: any) => boolean;
|
138
|
+
/**
|
139
|
+
* @param {Object} participant - The locus participant object.
|
140
|
+
* @returns {String}
|
141
|
+
*/
|
142
|
+
extractStatus: (participant: any) => "IN_LOBBY" | "IN_MEETING" | "NOT_IN_MEETING";
|
143
|
+
/**
|
144
|
+
* @param {Object} participant - The locus participant object.
|
145
|
+
* @returns {String}
|
146
|
+
*/
|
147
|
+
extractId: (participant: any) => any;
|
148
|
+
/**
|
149
|
+
* extracts the media status from nested participant object
|
150
|
+
* @param {Object} participant - The locus participant object.
|
151
|
+
* @returns {Object}
|
152
|
+
*/
|
153
|
+
extractMediaStatus: (participant: any) => IMediaStatus;
|
154
|
+
/**
|
155
|
+
* @param {Object} participant - The locus participant object.
|
156
|
+
* @returns {String}
|
157
|
+
*/
|
158
|
+
extractName: (participant: any) => any;
|
159
|
+
};
|
2
160
|
export default MemberUtil;
|
@@ -251,6 +251,13 @@ export default class Members extends StatelessWebexPlugin {
|
|
251
251
|
* @memberof Members
|
252
252
|
*/
|
253
253
|
cancelPhoneInvite(invitee: any): any;
|
254
|
+
/**
|
255
|
+
* Cancels an SIP call to the associated meeting
|
256
|
+
* @param {String} invitee
|
257
|
+
* @returns {Promise}
|
258
|
+
* @memberof Members
|
259
|
+
*/
|
260
|
+
cancelSIPInvite(invitee: any): any;
|
254
261
|
/**
|
255
262
|
* Admits waiting members (invited guests to meeting)
|
256
263
|
* @param {Array} memberIds
|
@@ -290,6 +297,14 @@ export default class Members extends StatelessWebexPlugin {
|
|
290
297
|
* @memberof Members
|
291
298
|
*/
|
292
299
|
assignRoles(memberId: string, roles: Array<ServerRoleShape>): any;
|
300
|
+
/**
|
301
|
+
* Moves a meeting member into the lobby.
|
302
|
+
* @param {String} memberId -- The ID of the member to move.
|
303
|
+
* @returns {Promise} -- Resolves with the lobby‐move response.
|
304
|
+
* @public
|
305
|
+
* @memberof Members
|
306
|
+
*/
|
307
|
+
moveToLobby(memberId: string): any;
|
293
308
|
/**
|
294
309
|
* Raise or lower the hand of a member in a meeting
|
295
310
|
* @param {String} memberId
|
@@ -53,6 +53,25 @@ export default class MembersRequest extends StatelessWebexPlugin {
|
|
53
53
|
* @returns {Promise}
|
54
54
|
*/
|
55
55
|
assignRolesMember(options: any): Promise<any>;
|
56
|
+
/**
|
57
|
+
* Sends a request to move a meeting member into the lobby.
|
58
|
+
* *
|
59
|
+
* @param {Object} options - Request options.
|
60
|
+
* @param {string} options.locusUrl - The locus URL for the meeting.
|
61
|
+
* @param {string} options.memberId - The ID of the member to move.
|
62
|
+
* @param {Object} body - The request payload.
|
63
|
+
* @param {Object} body.moveToLobby - Container for move‐to‐lobby data.
|
64
|
+
* @param {string[]} body.moveToLobby.participantIds - Array of participant IDs to move.
|
65
|
+
* @returns {Promise} - Resolves with the locus‐delta response.
|
66
|
+
*/
|
67
|
+
moveToLobbyMember(options: {
|
68
|
+
locusUrl: string;
|
69
|
+
memberId: string;
|
70
|
+
}, body: {
|
71
|
+
moveToLobby: {
|
72
|
+
participantIds: string[];
|
73
|
+
};
|
74
|
+
}): Promise<any>;
|
56
75
|
/**
|
57
76
|
* Sends a request to raise or lower a member's hand
|
58
77
|
* @param {Object} options
|
@@ -111,4 +130,11 @@ export default class MembersRequest extends StatelessWebexPlugin {
|
|
111
130
|
* @memberof MembersRequest
|
112
131
|
*/
|
113
132
|
cancelPhoneInvite(options: any): Promise<any>;
|
133
|
+
/**
|
134
|
+
* @param {Object} options with format of {invitee: object, locusUrl: string}
|
135
|
+
* @returns {Promise}
|
136
|
+
* @throws {Error} if the options are not valid and complete, must have invitee with memberId AND locusUrl
|
137
|
+
* @memberof MembersRequest
|
138
|
+
*/
|
139
|
+
cancelSIPInvite(options: any): Promise<any>;
|
114
140
|
}
|