@webex/plugin-meetings 3.0.0-stream-classes.4 → 3.0.0-test.1
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 +12 -0
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/common/errors/no-meeting-info.js +51 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/reclaim-host-role-errors.js +158 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/webex-errors.js +23 -3
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/request.js +5 -1
- package/dist/common/logs/request.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +69 -9
- package/dist/constants.js.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js +15 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/interceptors/locusRetry.js +93 -0
- package/dist/interceptors/locusRetry.js.map +1 -0
- package/dist/interpretation/index.js +16 -2
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +40 -11
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +15 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +42 -21
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/media/index.js +10 -6
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +13 -3
- package/dist/media/properties.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +135 -330
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +4 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2187 -1074
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +37 -25
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +34 -19
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +71 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -23
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +25 -4
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +1 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +17 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +142 -57
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/util.js +2 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +9 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +11 -0
- package/dist/member/util.js.map +1 -1
- package/dist/members/index.js +17 -1
- package/dist/members/index.js.map +1 -1
- package/dist/members/types.js.map +1 -1
- package/dist/members/util.js +15 -4
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +15 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +1 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +16 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +222 -73
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +22 -0
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/reachability/clusterReachability.js +356 -0
- package/dist/reachability/clusterReachability.js.map +1 -0
- package/dist/reachability/index.js +262 -432
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +1 -1
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.js +29 -0
- package/dist/reachability/util.js.map +1 -0
- package/dist/reconnection-manager/index.js +113 -96
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/index.js +57 -25
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +5 -13
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +173 -81
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/index.js +68 -6
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/statsAnalyzer/index.js +338 -289
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +296 -156
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/types/common/errors/webex-errors.d.ts +13 -1
- package/dist/types/common/logs/request.d.ts +2 -0
- package/dist/types/config.d.ts +1 -1
- package/dist/types/constants.d.ts +66 -13
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interceptors/index.d.ts +2 -0
- package/dist/types/interceptors/locusRetry.d.ts +27 -0
- package/dist/types/locus-info/index.d.ts +1 -1
- package/dist/types/locus-info/parser.d.ts +3 -2
- package/dist/types/mediaQualityMetrics/config.d.ts +99 -223
- package/dist/types/meeting/in-meeting-actions.d.ts +4 -0
- package/dist/types/meeting/index.d.ts +285 -34
- package/dist/types/meeting/locusMediaRequest.d.ts +1 -2
- package/dist/types/meeting/muteState.d.ts +2 -8
- package/dist/types/meeting/request.d.ts +4 -1
- package/dist/types/meeting/util.d.ts +25 -1
- package/dist/types/meeting-info/index.d.ts +7 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +1 -0
- package/dist/types/meetings/collection.d.ts +9 -0
- package/dist/types/meetings/index.d.ts +42 -14
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/members/types.d.ts +1 -0
- package/dist/types/members/util.d.ts +5 -0
- package/dist/types/metrics/constants.d.ts +15 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +2 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +2 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +25 -1
- package/dist/types/multistream/sendSlotManager.d.ts +9 -0
- package/dist/types/reachability/clusterReachability.d.ts +109 -0
- package/dist/types/reachability/index.d.ts +59 -112
- package/dist/types/reachability/request.d.ts +1 -1
- package/dist/types/reachability/util.d.ts +8 -0
- package/dist/types/reconnection-manager/index.d.ts +10 -0
- package/dist/types/roap/index.d.ts +2 -1
- package/dist/types/roap/request.d.ts +2 -1
- package/dist/types/roap/turnDiscovery.d.ts +21 -4
- package/dist/types/rtcMetrics/index.d.ts +15 -1
- package/dist/types/statsAnalyzer/index.d.ts +28 -11
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +28 -4
- package/dist/types/webinar/collection.d.ts +16 -0
- package/dist/types/webinar/index.d.ts +5 -0
- package/dist/webinar/collection.js +44 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.js +69 -0
- package/dist/webinar/index.js.map +1 -0
- package/package.json +3 -2
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/reclaim-host-role-errors.ts +134 -0
- package/src/common/errors/webex-errors.ts +19 -2
- package/src/common/logs/request.ts +5 -1
- package/src/config.ts +1 -1
- package/src/constants.ts +71 -6
- package/src/index.ts +5 -0
- package/src/interceptors/index.ts +3 -0
- package/src/interceptors/locusRetry.ts +67 -0
- package/src/interpretation/index.ts +18 -1
- package/src/locus-info/index.ts +52 -16
- package/src/locus-info/mediaSharesUtils.ts +16 -0
- package/src/locus-info/parser.ts +47 -21
- package/src/media/index.ts +8 -6
- package/src/media/properties.ts +17 -2
- package/src/mediaQualityMetrics/config.ts +103 -238
- package/src/meeting/in-meeting-actions.ts +8 -0
- package/src/meeting/index.ts +1510 -529
- package/src/meeting/muteState.ts +34 -20
- package/src/meeting/request.ts +19 -1
- package/src/meeting/util.ts +97 -0
- package/src/meeting-info/index.ts +47 -20
- package/src/meeting-info/meeting-info-v2.ts +27 -5
- package/src/meeting-info/utilv2.ts +1 -1
- package/src/meetings/collection.ts +13 -0
- package/src/meetings/index.ts +112 -31
- package/src/meetings/util.ts +2 -8
- package/src/member/index.ts +9 -0
- package/src/member/util.ts +14 -0
- package/src/members/index.ts +29 -2
- package/src/members/types.ts +1 -0
- package/src/members/util.ts +15 -1
- package/src/metrics/constants.ts +14 -0
- package/src/multistream/mediaRequestManager.ts +4 -1
- package/src/multistream/remoteMediaGroup.ts +19 -0
- package/src/multistream/remoteMediaManager.ts +141 -18
- package/src/multistream/sendSlotManager.ts +29 -0
- package/src/reachability/clusterReachability.ts +320 -0
- package/src/reachability/index.ts +221 -382
- package/src/reachability/request.ts +1 -1
- package/src/reachability/util.ts +24 -0
- package/src/reconnection-manager/index.ts +87 -83
- package/src/roap/index.ts +60 -24
- package/src/roap/request.ts +3 -16
- package/src/roap/turnDiscovery.ts +112 -39
- package/src/rtcMetrics/index.ts +71 -5
- package/src/statsAnalyzer/index.ts +430 -427
- package/src/statsAnalyzer/mqaUtil.ts +317 -168
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +7 -7
- package/test/integration/spec/journey.js +86 -104
- package/test/integration/spec/space-meeting.js +9 -9
- package/test/unit/spec/interceptors/locusRetry.ts +131 -0
- package/test/unit/spec/interpretation/index.ts +36 -3
- package/test/unit/spec/locus-info/index.js +205 -12
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +10 -0
- package/test/unit/spec/locus-info/parser.js +54 -13
- package/test/unit/spec/media/index.ts +20 -4
- package/test/unit/spec/media/properties.ts +2 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +4 -0
- package/test/unit/spec/meeting/index.js +4027 -1075
- package/test/unit/spec/meeting/muteState.js +219 -67
- package/test/unit/spec/meeting/request.js +63 -12
- package/test/unit/spec/meeting/utils.js +93 -0
- package/test/unit/spec/meeting-info/index.js +180 -61
- package/test/unit/spec/meeting-info/meetinginfov2.js +196 -53
- package/test/unit/spec/meetings/collection.js +12 -0
- package/test/unit/spec/meetings/index.js +619 -206
- package/test/unit/spec/meetings/utils.js +35 -12
- package/test/unit/spec/member/index.js +8 -7
- package/test/unit/spec/member/util.js +32 -0
- package/test/unit/spec/members/index.js +130 -17
- package/test/unit/spec/members/utils.js +26 -0
- package/test/unit/spec/multistream/mediaRequestManager.ts +20 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +80 -1
- package/test/unit/spec/multistream/remoteMediaManager.ts +210 -3
- package/test/unit/spec/multistream/sendSlotManager.ts +50 -18
- package/test/unit/spec/reachability/clusterReachability.ts +279 -0
- package/test/unit/spec/reachability/index.ts +505 -135
- package/test/unit/spec/reachability/util.ts +40 -0
- package/test/unit/spec/reconnection-manager/index.js +74 -17
- package/test/unit/spec/roap/index.ts +181 -61
- package/test/unit/spec/roap/request.ts +27 -3
- package/test/unit/spec/roap/turnDiscovery.ts +362 -101
- package/test/unit/spec/rtcMetrics/index.ts +57 -3
- package/test/unit/spec/stats-analyzer/index.js +1225 -12
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/integrationTestUtils.js +4 -4
- package/test/utils/webex-test-users.js +12 -4
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
3
3
|
import { ClientEvent, ClientEventLeaveReason } from '@webex/internal-plugin-metrics';
|
|
4
|
+
import { MediaType } from '@webex/internal-media-core';
|
|
4
5
|
import { LocalStream, LocalCameraStream, LocalDisplayStream, LocalSystemAudioStream, LocalMicrophoneStream } from '@webex/media-helpers';
|
|
5
6
|
import { StatsAnalyzer } from '../statsAnalyzer';
|
|
6
7
|
import NetworkQualityMonitor from '../networkQualityMonitor';
|
|
@@ -11,6 +12,7 @@ import ReconnectionManager from '../reconnection-manager';
|
|
|
11
12
|
import MeetingRequest from './request';
|
|
12
13
|
import Members from '../members/index';
|
|
13
14
|
import Transcription from '../transcription';
|
|
15
|
+
import { NETWORK_STATUS } from '../constants';
|
|
14
16
|
import { ReceiveSlotManager } from '../multistream/receiveSlotManager';
|
|
15
17
|
import { MediaRequestManager } from '../multistream/mediaRequestManager';
|
|
16
18
|
import { Configuration as RemoteMediaManagerConfiguration, RemoteMediaManager } from '../multistream/remoteMediaManager';
|
|
@@ -37,6 +39,11 @@ export type AddMediaOptions = {
|
|
|
37
39
|
bundlePolicy?: BundlePolicy;
|
|
38
40
|
allowMediaInLobby?: boolean;
|
|
39
41
|
};
|
|
42
|
+
export type CallStateForMetrics = {
|
|
43
|
+
correlationId?: string;
|
|
44
|
+
joinTrigger?: string;
|
|
45
|
+
loginType?: string;
|
|
46
|
+
};
|
|
40
47
|
export declare const MEDIA_UPDATE_TYPE: {
|
|
41
48
|
TRANSCODED_MEDIA_CONNECTION: string;
|
|
42
49
|
SHARE_FLOOR_REQUEST: string;
|
|
@@ -47,6 +54,12 @@ export declare enum ScreenShareFloorStatus {
|
|
|
47
54
|
GRANTED = "floor_request_granted",
|
|
48
55
|
RELEASED = "floor_released"
|
|
49
56
|
}
|
|
57
|
+
type FetchMeetingInfoParams = {
|
|
58
|
+
password?: string;
|
|
59
|
+
captchaCode?: string;
|
|
60
|
+
extraParams?: Record<string, any>;
|
|
61
|
+
sendCAevents?: boolean;
|
|
62
|
+
};
|
|
50
63
|
/**
|
|
51
64
|
* MediaDirection
|
|
52
65
|
* @typedef {Object} MediaDirection
|
|
@@ -299,8 +312,9 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
299
312
|
breakouts: any;
|
|
300
313
|
simultaneousInterpretation: any;
|
|
301
314
|
annotation: any;
|
|
315
|
+
webinar: any;
|
|
302
316
|
conversationUrl: string;
|
|
303
|
-
|
|
317
|
+
callStateForMetrics: CallStateForMetrics;
|
|
304
318
|
destination: string;
|
|
305
319
|
destinationType: string;
|
|
306
320
|
deviceUrl: string;
|
|
@@ -355,8 +369,9 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
355
369
|
};
|
|
356
370
|
meetingInfoFailureReason: string;
|
|
357
371
|
meetingInfoFailureCode?: number;
|
|
372
|
+
meetingInfoExtraParams?: Record<string, any>;
|
|
358
373
|
networkQualityMonitor: NetworkQualityMonitor;
|
|
359
|
-
networkStatus
|
|
374
|
+
networkStatus?: NETWORK_STATUS;
|
|
360
375
|
passwordStatus: string;
|
|
361
376
|
queuedMediaUpdates: any[];
|
|
362
377
|
recording: any;
|
|
@@ -366,6 +381,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
366
381
|
requiredCaptcha: any;
|
|
367
382
|
receiveSlotManager: ReceiveSlotManager;
|
|
368
383
|
selfUserPolicies: any;
|
|
384
|
+
enforceVBGImagesURL: string;
|
|
369
385
|
shareStatus: string;
|
|
370
386
|
screenShareFloorState: ScreenShareFloorStatus;
|
|
371
387
|
statsAnalyzer: StatsAnalyzer;
|
|
@@ -385,19 +401,29 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
385
401
|
meetingJoinUrl: any;
|
|
386
402
|
meetingNumber: any;
|
|
387
403
|
meetingState: any;
|
|
388
|
-
permissionToken:
|
|
404
|
+
permissionToken: string;
|
|
405
|
+
permissionTokenPayload: any;
|
|
406
|
+
permissionTokenReceivedLocalTime: number;
|
|
389
407
|
resourceId: any;
|
|
390
408
|
resourceUrl: string;
|
|
391
409
|
selfId: string;
|
|
392
410
|
state: any;
|
|
393
|
-
localAudioStreamMuteStateHandler: (
|
|
394
|
-
localVideoStreamMuteStateHandler: (
|
|
411
|
+
localAudioStreamMuteStateHandler: () => void;
|
|
412
|
+
localVideoStreamMuteStateHandler: () => void;
|
|
395
413
|
localOutputTrackChangeHandler: () => void;
|
|
396
414
|
roles: any[];
|
|
397
415
|
environment: string;
|
|
398
416
|
namespace: string;
|
|
399
417
|
allowMediaInLobby: boolean;
|
|
418
|
+
localShareInstanceId: string;
|
|
419
|
+
remoteShareInstanceId: string;
|
|
420
|
+
turnDiscoverySkippedReason: string;
|
|
421
|
+
turnServerUsed: boolean;
|
|
422
|
+
private retriedWithTurnServer;
|
|
400
423
|
private sendSlotManager;
|
|
424
|
+
private deferSDPAnswer?;
|
|
425
|
+
private sdpResponseTimer?;
|
|
426
|
+
private hasMediaConnectionConnectedAtLeastOnce;
|
|
401
427
|
/**
|
|
402
428
|
* @param {Object} attrs
|
|
403
429
|
* @param {Object} options
|
|
@@ -417,30 +443,79 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
417
443
|
* @returns {Boolean}
|
|
418
444
|
*/
|
|
419
445
|
isLocusCall(): boolean;
|
|
446
|
+
/**
|
|
447
|
+
* Getter - Returns callStateForMetrics.correlationId
|
|
448
|
+
* @returns {string}
|
|
449
|
+
*/
|
|
450
|
+
get correlationId(): string;
|
|
451
|
+
/**
|
|
452
|
+
* Setter - sets callStateForMetrics.correlationId
|
|
453
|
+
* @param {string} correlationId
|
|
454
|
+
*/
|
|
455
|
+
set correlationId(correlationId: string);
|
|
456
|
+
/**
|
|
457
|
+
* Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
|
|
458
|
+
* @param {any} info
|
|
459
|
+
* @param {string} [meetingLookupUrl] Lookup url, defined when the meeting info fetched
|
|
460
|
+
* @returns {void}
|
|
461
|
+
*/
|
|
462
|
+
private setMeetingInfo;
|
|
463
|
+
/**
|
|
464
|
+
* Add pre-fetched meeting info
|
|
465
|
+
*
|
|
466
|
+
* The passed meeting info should be be complete, e.g.: fetched after password or captcha provided
|
|
467
|
+
*
|
|
468
|
+
* @param {Object} meetingInfo - Complete meeting info
|
|
469
|
+
* @param {FetchMeetingInfoParams} fetchParams - Fetch parameters for validation
|
|
470
|
+
* @param {String|undefined} meetingLookupUrl - Lookup url, defined when the meeting info fetched
|
|
471
|
+
* @returns {Promise<void>}
|
|
472
|
+
*/
|
|
473
|
+
injectMeetingInfo(meetingInfo: any, fetchParams: FetchMeetingInfoParams, meetingLookupUrl: string | undefined): Promise<void>;
|
|
474
|
+
/**
|
|
475
|
+
* Validate fetch parameters and clear the fetchMeetingInfoTimeout timeout
|
|
476
|
+
*
|
|
477
|
+
* @param {FetchMeetingInfoParams} fetchParams - fetch parameters for validation
|
|
478
|
+
* @param {String} caller - Name of the caller for logging
|
|
479
|
+
*
|
|
480
|
+
* @returns {Promise<void>}
|
|
481
|
+
* @private
|
|
482
|
+
*/
|
|
483
|
+
private prepForFetchMeetingInfo;
|
|
484
|
+
/**
|
|
485
|
+
* Internal method for fetching meeting info
|
|
486
|
+
*
|
|
487
|
+
* @returns {Promise}
|
|
488
|
+
*/
|
|
489
|
+
private fetchMeetingInfoInternal;
|
|
490
|
+
/**
|
|
491
|
+
* Refreshes the meeting info permission token (it's required for joining meetings)
|
|
492
|
+
*
|
|
493
|
+
* @param {string} [reason] used for metrics and logging purposes (optional)
|
|
494
|
+
* @returns {Promise}
|
|
495
|
+
*/
|
|
496
|
+
refreshPermissionToken(reason?: string): Promise<void>;
|
|
420
497
|
/**
|
|
421
498
|
* Fetches meeting information.
|
|
422
499
|
* @param {Object} options
|
|
423
500
|
* @param {String} [options.password] optional
|
|
424
501
|
* @param {String} [options.captchaCode] optional
|
|
502
|
+
* @param {Boolean} [options.sendCAevents] optional - Whether to submit Call Analyzer events or not. Default: false.
|
|
425
503
|
* @public
|
|
426
504
|
* @memberof Meeting
|
|
427
505
|
* @returns {Promise}
|
|
428
506
|
*/
|
|
429
|
-
fetchMeetingInfo(
|
|
430
|
-
password?: string;
|
|
431
|
-
captchaCode?: string;
|
|
432
|
-
extraParams?: Record<string, any>;
|
|
433
|
-
}): Promise<void>;
|
|
507
|
+
fetchMeetingInfo(options: FetchMeetingInfoParams): Promise<void>;
|
|
434
508
|
/**
|
|
435
509
|
* Checks if the supplied password/host key is correct. It returns a promise with information whether the
|
|
436
510
|
* password and captcha code were correct or not.
|
|
437
511
|
* @param {String} password - this can be either a password or a host key, can be undefined if only captcha was required
|
|
438
512
|
* @param {String} captchaCode - can be undefined if captcha was not required by the server
|
|
513
|
+
* @param {Boolean} sendCAevents - whether Call Analyzer events should be sent when fetching meeting information
|
|
439
514
|
* @public
|
|
440
515
|
* @memberof Meeting
|
|
441
516
|
* @returns {Promise<{isPasswordValid: boolean, requiredCaptcha: boolean, failureReason: MEETING_INFO_FAILURE_REASON}>}
|
|
442
517
|
*/
|
|
443
|
-
verifyPassword(password: string, captchaCode: string): Promise<{
|
|
518
|
+
verifyPassword(password: string, captchaCode: string, sendCAevents?: boolean): Promise<{
|
|
444
519
|
isPasswordValid: boolean;
|
|
445
520
|
requiredCaptcha: any;
|
|
446
521
|
failureReason: string;
|
|
@@ -509,7 +584,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
509
584
|
private setUpLocusFullStateListener;
|
|
510
585
|
/**
|
|
511
586
|
* sets the network status on meeting object
|
|
512
|
-
* @param {
|
|
587
|
+
* @param {NETWORK_STATUS} networkStatus
|
|
513
588
|
* @private
|
|
514
589
|
* @returns {undefined}
|
|
515
590
|
* @memberof Meeting
|
|
@@ -727,24 +802,36 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
727
802
|
/**
|
|
728
803
|
* Sets the meeting info on the class instance
|
|
729
804
|
* @param {Object} meetingInfo
|
|
730
|
-
* @param {
|
|
731
|
-
* @param {String} meetingInfo.
|
|
732
|
-
* @param {String} meetingInfo.
|
|
733
|
-
* @param {String} meetingInfo.
|
|
734
|
-
* @param {
|
|
805
|
+
* @param {String} meetingInfo.conversationUrl
|
|
806
|
+
* @param {String} meetingInfo.locusUrl
|
|
807
|
+
* @param {String} meetingInfo.sipUri
|
|
808
|
+
* @param {String} [meetingInfo.sipUrl]
|
|
809
|
+
* @param {String} [meetingInfo.sipMeetingUri]
|
|
810
|
+
* @param {String} [meetingInfo.meetingNumber]
|
|
811
|
+
* @param {String} [meetingInfo.meetingJoinUrl]
|
|
812
|
+
* @param {String} [meetingInfo.hostId]
|
|
813
|
+
* @param {String} [meetingInfo.permissionToken]
|
|
814
|
+
* @param {String} [meetingInfo.channel]
|
|
815
|
+
* @param {Object} meetingInfo.owner
|
|
735
816
|
* @param {Object | String} destination locus object with meeting data or destination string (sip url, meeting link, etc)
|
|
817
|
+
* @param {Object | String} errors Meeting info request error
|
|
736
818
|
* @returns {undefined}
|
|
737
819
|
* @private
|
|
738
820
|
* @memberof Meeting
|
|
739
821
|
*/
|
|
740
822
|
parseMeetingInfo(meetingInfo: {
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
823
|
+
conversationUrl: string;
|
|
824
|
+
locusUrl: string;
|
|
825
|
+
sipUri: string;
|
|
826
|
+
owner: object;
|
|
827
|
+
sipUrl?: string;
|
|
828
|
+
sipMeetingUri?: string;
|
|
829
|
+
meetingNumber?: string;
|
|
830
|
+
meetingJoinUrl?: string;
|
|
831
|
+
hostId?: string;
|
|
832
|
+
permissionToken?: string;
|
|
833
|
+
channel?: string;
|
|
834
|
+
}, destination?: object | string | null, errors?: any): void;
|
|
748
835
|
/**
|
|
749
836
|
* Indicates whether policy can be applied
|
|
750
837
|
* @returns {boolean}
|
|
@@ -759,10 +846,16 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
759
846
|
private updateMeetingActions;
|
|
760
847
|
/**
|
|
761
848
|
* Sets the self user policies based on the contents of the permission token
|
|
849
|
+
* @returns {void}
|
|
850
|
+
*/
|
|
851
|
+
setSelfUserPolicies(): void;
|
|
852
|
+
/**
|
|
853
|
+
* Sets the permission token payload on the class instance
|
|
854
|
+
*
|
|
762
855
|
* @param {String} permissionToken
|
|
763
856
|
* @returns {void}
|
|
764
857
|
*/
|
|
765
|
-
|
|
858
|
+
setPermissionTokenPayload(permissionToken: string): void;
|
|
766
859
|
/**
|
|
767
860
|
* Sets the sip uri on the class instance
|
|
768
861
|
* uses meeting info as precedence
|
|
@@ -820,7 +913,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
820
913
|
* @returns {undefined}
|
|
821
914
|
* @memberof Meeting
|
|
822
915
|
*/
|
|
823
|
-
closeRemoteStreams(): Promise<[any, any, any
|
|
916
|
+
closeRemoteStreams(): Promise<[any, any, any]>;
|
|
824
917
|
/**
|
|
825
918
|
* Stores the reference to a new microphone stream, sets up the required event listeners
|
|
826
919
|
* on it, cleans up previous stream, etc.
|
|
@@ -879,13 +972,21 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
879
972
|
*/
|
|
880
973
|
unsetPeerConnections(): void;
|
|
881
974
|
/**
|
|
882
|
-
* Convenience method to set the correlation id for the
|
|
883
|
-
* @param {String} id correlation id to set on the
|
|
975
|
+
* Convenience method to set the correlation id for the callStateForMetrics
|
|
976
|
+
* @param {String} id correlation id to set on the callStateForMetrics
|
|
884
977
|
* @returns {undefined}
|
|
885
|
-
* @
|
|
978
|
+
* @public
|
|
979
|
+
* @memberof Meeting
|
|
980
|
+
*/
|
|
981
|
+
setCorrelationId(id: string): void;
|
|
982
|
+
/**
|
|
983
|
+
* Update the callStateForMetrics
|
|
984
|
+
* @param {CallStateForMetrics} callStateForMetrics updated values for callStateForMetrics
|
|
985
|
+
* @returns {undefined}
|
|
986
|
+
* @public
|
|
886
987
|
* @memberof Meeting
|
|
887
988
|
*/
|
|
888
|
-
|
|
989
|
+
updateCallStateForMetrics(callStateForMetrics: CallStateForMetrics): void;
|
|
889
990
|
/**
|
|
890
991
|
* Enqueue request for screenshare floor and set the status to pending
|
|
891
992
|
* @returns {Promise}
|
|
@@ -940,7 +1041,10 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
940
1041
|
joinWithMedia(options?: {
|
|
941
1042
|
joinOptions?: any;
|
|
942
1043
|
mediaOptions?: AddMediaOptions;
|
|
943
|
-
}):
|
|
1044
|
+
}): Promise<{
|
|
1045
|
+
join: any;
|
|
1046
|
+
media: void;
|
|
1047
|
+
}>;
|
|
944
1048
|
/**
|
|
945
1049
|
* Initiates the reconnection of the media in the meeting
|
|
946
1050
|
*
|
|
@@ -1005,7 +1109,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1005
1109
|
* if joining as host on second loop, pass pin and pass moderator if joining as guest on second loop
|
|
1006
1110
|
* Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
|
|
1007
1111
|
*/
|
|
1008
|
-
join(options?: any): any
|
|
1112
|
+
join(options?: any): Promise<any>;
|
|
1009
1113
|
/**
|
|
1010
1114
|
* Connects to low latency mercury and reconnects if the address has changed
|
|
1011
1115
|
* It will also disconnect if called when the meeting has ended
|
|
@@ -1075,6 +1179,12 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1075
1179
|
* @returns {void}
|
|
1076
1180
|
*/
|
|
1077
1181
|
handleRoapFailure: (error: any) => void;
|
|
1182
|
+
/**
|
|
1183
|
+
* This function makes sure we send the right metrics when local and remote SDPs are processed/generated
|
|
1184
|
+
*
|
|
1185
|
+
* @returns {undefined}
|
|
1186
|
+
*/
|
|
1187
|
+
setupSdpListeners: () => void;
|
|
1078
1188
|
setupMediaConnectionListeners: () => void;
|
|
1079
1189
|
/**
|
|
1080
1190
|
* Registers for all required StatsAnalyzer events
|
|
@@ -1103,20 +1213,122 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1103
1213
|
* @returns {void}
|
|
1104
1214
|
*/
|
|
1105
1215
|
forwardEvent(eventEmitter: any, eventTypeToForward: any, meetingEventType: any): void;
|
|
1216
|
+
/**
|
|
1217
|
+
* Sets up all the references to local streams in this.mediaProperties before creating media connection
|
|
1218
|
+
* and before TURN discovery, so that the correct mute state is sent with TURN discovery roap messages.
|
|
1219
|
+
*
|
|
1220
|
+
* @private
|
|
1221
|
+
* @param {LocalStreams} localStreams
|
|
1222
|
+
* @returns {Promise<void>}
|
|
1223
|
+
*/
|
|
1224
|
+
private setUpLocalStreamReferences;
|
|
1225
|
+
/**
|
|
1226
|
+
* Calls mediaProperties.waitForMediaConnectionConnected() and sends CA client.ice.end metric on failure
|
|
1227
|
+
*
|
|
1228
|
+
* @private
|
|
1229
|
+
* @returns {Promise<void>}
|
|
1230
|
+
*/
|
|
1231
|
+
private waitForMediaConnectionConnected;
|
|
1232
|
+
/**
|
|
1233
|
+
* Enables statsAnalyser if config allows it
|
|
1234
|
+
*
|
|
1235
|
+
* @private
|
|
1236
|
+
* @returns {void}
|
|
1237
|
+
*/
|
|
1238
|
+
private createStatsAnalyzer;
|
|
1239
|
+
/**
|
|
1240
|
+
* Handles device logging
|
|
1241
|
+
*
|
|
1242
|
+
* @private
|
|
1243
|
+
* @static
|
|
1244
|
+
* @returns {Promise<void>}
|
|
1245
|
+
*/
|
|
1246
|
+
private static handleDeviceLogging;
|
|
1247
|
+
/**
|
|
1248
|
+
* Returns a promise. This promise is created once the local sdp offer has been successfully created and is resolved
|
|
1249
|
+
* once the remote sdp answer has been received.
|
|
1250
|
+
*
|
|
1251
|
+
* @private
|
|
1252
|
+
* @returns {Promise<void>}
|
|
1253
|
+
*/
|
|
1254
|
+
private waitForRemoteSDPAnswer;
|
|
1255
|
+
/**
|
|
1256
|
+
* Calls establishMediaConnection with isForced = true to force turn discovery to happen
|
|
1257
|
+
*
|
|
1258
|
+
* @private
|
|
1259
|
+
* @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
|
|
1260
|
+
* @param {BundlePolicy} [bundlePolicy]
|
|
1261
|
+
* @returns {Promise<void>}
|
|
1262
|
+
*/
|
|
1263
|
+
private retryEstablishMediaConnectionWithForcedTurnDiscovery;
|
|
1264
|
+
/**
|
|
1265
|
+
* Does relevant clean up before retrying to establish media connection
|
|
1266
|
+
* and performs the retry with forced turn discovery
|
|
1267
|
+
*
|
|
1268
|
+
* @private
|
|
1269
|
+
* @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
|
|
1270
|
+
* @param {BundlePolicy} [bundlePolicy]
|
|
1271
|
+
* @returns {Promise<void>}
|
|
1272
|
+
*/
|
|
1273
|
+
private retryWithForcedTurnDiscovery;
|
|
1274
|
+
/**
|
|
1275
|
+
* If waitForMediaConnectionConnected() fails when we haven't done turn discovery then we
|
|
1276
|
+
* attempt to establish a media connection again, but this time using turn discovery. If we
|
|
1277
|
+
* used turn discovery on the first pass we do not attempt connection again.
|
|
1278
|
+
*
|
|
1279
|
+
* @private
|
|
1280
|
+
* @param {Error} error
|
|
1281
|
+
* @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
|
|
1282
|
+
* @param {BundlePolicy} [bundlePolicy]
|
|
1283
|
+
* @returns {Promise<void>}
|
|
1284
|
+
*/
|
|
1285
|
+
private handleWaitForMediaConnectionConnectedError;
|
|
1286
|
+
/**
|
|
1287
|
+
* Does TURN discovery, SDP offer/answer exhange, establishes ICE connection and DTLS handshake.
|
|
1288
|
+
*
|
|
1289
|
+
* @private
|
|
1290
|
+
* @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
|
|
1291
|
+
* @param {BundlePolicy} [bundlePolicy]
|
|
1292
|
+
* @param {boolean} [isForced] - let isForced be true to do turn discovery regardless of reachability results
|
|
1293
|
+
* @returns {Promise<void>}
|
|
1294
|
+
*/
|
|
1295
|
+
private establishMediaConnection;
|
|
1296
|
+
/**
|
|
1297
|
+
* Cleans up stats analyzer, peer connection, and turns off listeners
|
|
1298
|
+
*
|
|
1299
|
+
* @private
|
|
1300
|
+
* @returns {Promise<void>}
|
|
1301
|
+
*/
|
|
1302
|
+
private cleanUpOnAddMediaFailure;
|
|
1303
|
+
/**
|
|
1304
|
+
* Sends stats report, closes peer connection and cleans up any media connection
|
|
1305
|
+
* related things before trying to establish media connection again with turn server
|
|
1306
|
+
*
|
|
1307
|
+
* @private
|
|
1308
|
+
* @returns {Promise<void>}
|
|
1309
|
+
*/
|
|
1310
|
+
private cleanUpBeforeRetryWithTurnServer;
|
|
1106
1311
|
/**
|
|
1107
1312
|
* Creates a media connection to the server. Media connection is required for sending or receiving any audio/video.
|
|
1108
1313
|
*
|
|
1109
1314
|
* @param {AddMediaOptions} options
|
|
1110
|
-
* @returns {Promise}
|
|
1315
|
+
* @returns {Promise<void>}
|
|
1111
1316
|
* @public
|
|
1112
1317
|
* @memberof Meeting
|
|
1113
1318
|
*/
|
|
1114
|
-
addMedia(options?: AddMediaOptions): Promise<
|
|
1319
|
+
addMedia(options?: AddMediaOptions): Promise<void>;
|
|
1115
1320
|
/**
|
|
1116
1321
|
* Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
|
|
1117
1322
|
* @returns {Boolean}
|
|
1118
1323
|
*/
|
|
1119
1324
|
canUpdateMedia(): boolean;
|
|
1325
|
+
/**
|
|
1326
|
+
* media failed, so collect a stats report from webrtc using the wcme connection to grab the rtc stats report
|
|
1327
|
+
* send a webrtc telemetry dump to the configured server using the internal media core check metrics configured callback
|
|
1328
|
+
* @param {String} callFrom - the function calling this function, optional.
|
|
1329
|
+
* @returns {Promise<void>}
|
|
1330
|
+
*/
|
|
1331
|
+
private forceSendStatsReport;
|
|
1120
1332
|
/**
|
|
1121
1333
|
* Enqueues a media update operation.
|
|
1122
1334
|
* @param {String} mediaUpdateType one of MEDIA_UPDATE_TYPE values
|
|
@@ -1383,6 +1595,14 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1383
1595
|
* @returns {undefined}
|
|
1384
1596
|
*/
|
|
1385
1597
|
private handleShareAudioStreamEnded;
|
|
1598
|
+
/**
|
|
1599
|
+
* Functionality for when a share video is muted or unmuted.
|
|
1600
|
+
* @private
|
|
1601
|
+
* @memberof Meeting
|
|
1602
|
+
* @param {boolean} muted
|
|
1603
|
+
* @returns {undefined}
|
|
1604
|
+
*/
|
|
1605
|
+
private handleShareVideoStreamMuteStateChange;
|
|
1386
1606
|
/**
|
|
1387
1607
|
* Functionality for when a share video is ended.
|
|
1388
1608
|
* @private
|
|
@@ -1486,6 +1706,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1486
1706
|
* @returns {Promise<void>}
|
|
1487
1707
|
*/
|
|
1488
1708
|
private updateTranscodedMediaConnection;
|
|
1709
|
+
/**
|
|
1710
|
+
* set sending named media group which the audio should send to
|
|
1711
|
+
* @param {MediaType} mediaType of the stream
|
|
1712
|
+
* @param {number} languageCode of the stream
|
|
1713
|
+
* @returns {void}
|
|
1714
|
+
*/
|
|
1715
|
+
setSendNamedMediaGroup(mediaType: MediaType, languageCode?: number): void;
|
|
1489
1716
|
/**
|
|
1490
1717
|
* Publishes a stream.
|
|
1491
1718
|
*
|
|
@@ -1516,4 +1743,28 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1516
1743
|
* @returns {Promise}
|
|
1517
1744
|
*/
|
|
1518
1745
|
unpublishStreams(streams: LocalStream[]): Promise<void>;
|
|
1746
|
+
/**
|
|
1747
|
+
* Gets permission token expiry information including timeLeft, expiryTime, currentTime
|
|
1748
|
+
* (from the time the function has been fired)
|
|
1749
|
+
*
|
|
1750
|
+
* @returns {object} permissionTokenExpiryInfo
|
|
1751
|
+
* @returns {number} permissionTokenExpiryInfo.timeLeft The time left for token to expire
|
|
1752
|
+
* @returns {number} permissionTokenExpiryInfo.expiryTime The expiry time of permission token from the server
|
|
1753
|
+
* @returns {number} permissionTokenExpiryInfo.currentTime The current time of the local machine
|
|
1754
|
+
*/
|
|
1755
|
+
getPermissionTokenExpiryInfo(): {
|
|
1756
|
+
timeLeft: number;
|
|
1757
|
+
expiryTime: number;
|
|
1758
|
+
currentTime: number;
|
|
1759
|
+
};
|
|
1760
|
+
/**
|
|
1761
|
+
* Check if there is enough time left till the permission token expires
|
|
1762
|
+
* If not - refresh the permission token
|
|
1763
|
+
*
|
|
1764
|
+
* @param {number} threshold - time in seconds
|
|
1765
|
+
* @param {string} reason - reason for refreshing the permission token
|
|
1766
|
+
* @returns {Promise<void>}
|
|
1767
|
+
*/
|
|
1768
|
+
checkAndRefreshPermissionToken(threshold: number, reason: string): Promise<void>;
|
|
1519
1769
|
}
|
|
1770
|
+
export {};
|
|
@@ -10,7 +10,7 @@ export type RoapRequest = {
|
|
|
10
10
|
reachability: any;
|
|
11
11
|
sequence?: any;
|
|
12
12
|
joinCookie: any;
|
|
13
|
-
ipVersion
|
|
13
|
+
ipVersion?: IP_VERSION;
|
|
14
14
|
};
|
|
15
15
|
export type LocalMuteRequest = {
|
|
16
16
|
type: 'LocalMute';
|
|
@@ -21,7 +21,6 @@ export type LocalMuteRequest = {
|
|
|
21
21
|
audioMuted?: boolean;
|
|
22
22
|
videoMuted?: boolean;
|
|
23
23
|
};
|
|
24
|
-
ipVersion: IP_VERSION;
|
|
25
24
|
};
|
|
26
25
|
export type Request = RoapRequest | LocalMuteRequest;
|
|
27
26
|
export type Config = {
|
|
@@ -72,7 +72,7 @@ export declare class MuteState {
|
|
|
72
72
|
* @param {Boolean} [mute] true for muting, false for unmuting request
|
|
73
73
|
* @returns {void}
|
|
74
74
|
*/
|
|
75
|
-
handleLocalStreamMuteStateChange(meeting?:
|
|
75
|
+
handleLocalStreamMuteStateChange(meeting?: any): void;
|
|
76
76
|
/**
|
|
77
77
|
* Applies the current mute state to the local stream (by enabling or disabling it accordingly)
|
|
78
78
|
*
|
|
@@ -116,12 +116,6 @@ export declare class MuteState {
|
|
|
116
116
|
* @returns {Promise}
|
|
117
117
|
*/
|
|
118
118
|
private sendRemoteMuteRequestToServer;
|
|
119
|
-
/** Sets the mute state of the local stream according to what server thinks is our state
|
|
120
|
-
* @param {Object} meeting - the meeting object
|
|
121
|
-
* @param {ServerMuteReason} serverMuteReason - reason why we're applying server mute to the local stream
|
|
122
|
-
* @returns {void}
|
|
123
|
-
*/
|
|
124
|
-
private applyServerMuteToLocalStream;
|
|
125
119
|
/** Applies the current value for unmute allowed to the underlying stream
|
|
126
120
|
*
|
|
127
121
|
* @param {Meeting} meeting
|
|
@@ -147,7 +141,7 @@ export declare class MuteState {
|
|
|
147
141
|
* @param {Object} [meeting] the meeting object
|
|
148
142
|
* @returns {undefined}
|
|
149
143
|
*/
|
|
150
|
-
handleServerLocalUnmuteRequired(meeting?:
|
|
144
|
+
handleServerLocalUnmuteRequired(meeting?: any): void;
|
|
151
145
|
/**
|
|
152
146
|
* Returns true if the user is locally or remotely muted.
|
|
153
147
|
* It only checks the mute status, ignoring the fact whether audio/video is enabled.
|
|
@@ -44,6 +44,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
44
44
|
sipUri: string;
|
|
45
45
|
deviceUrl: string;
|
|
46
46
|
locusUrl: string;
|
|
47
|
+
locusClusterUrl: string;
|
|
47
48
|
resourceId: string;
|
|
48
49
|
correlationId: string;
|
|
49
50
|
ensureConversation: boolean;
|
|
@@ -60,7 +61,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
60
61
|
locale?: string;
|
|
61
62
|
deviceCapabilities?: Array<string>;
|
|
62
63
|
liveAnnotationSupported: boolean;
|
|
63
|
-
ipVersion
|
|
64
|
+
ipVersion?: IP_VERSION;
|
|
64
65
|
}): Promise<any>;
|
|
65
66
|
/**
|
|
66
67
|
* Send a request to refresh the captcha
|
|
@@ -201,6 +202,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
201
202
|
* @param {String} options.deviceUrl Url of a device
|
|
202
203
|
* @param {String} options.resourceId Populated if you are paired to a device
|
|
203
204
|
* @param {String} options.uri floor grant uri
|
|
205
|
+
* @param {String} options.shareInstanceId id for current share
|
|
204
206
|
* @returns {Promise}
|
|
205
207
|
*/
|
|
206
208
|
changeMeetingFloor(options: {
|
|
@@ -210,6 +212,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
210
212
|
resourceId: string;
|
|
211
213
|
uri: string;
|
|
212
214
|
annotationInfo: AnnotationInfo;
|
|
215
|
+
shareInstanceId: string;
|
|
213
216
|
} | any): any;
|
|
214
217
|
/**
|
|
215
218
|
* Sends a request to the DTMF endpoint to send tones
|
|
@@ -1,10 +1,18 @@
|
|
|
1
|
-
import { SELF_POLICY } from '../constants';
|
|
1
|
+
import { SELF_POLICY, IP_VERSION } from '../constants';
|
|
2
2
|
declare const MeetingUtil: {
|
|
3
3
|
parseLocusJoin: (response: any) => any;
|
|
4
4
|
remoteUpdateAudioVideo: (meeting: any, audioMuted?: boolean, videoMuted?: boolean) => any;
|
|
5
5
|
hasOwner: (info: any) => any;
|
|
6
6
|
isOwnerSelf: (owner: any, selfId: any) => boolean;
|
|
7
7
|
isPinOrGuest: (err: any) => boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Returns the current state of knowledge about whether we are on an ipv4-only or ipv6-only or mixed (ipv4 and ipv6) network.
|
|
10
|
+
* The return value matches the possible values of "ipver" parameter used by the backend APIs.
|
|
11
|
+
*
|
|
12
|
+
* @param {Object} webex webex instance
|
|
13
|
+
* @returns {IP_VERSION|undefined} ipver value to be passed to the backend APIs or undefined if we should not pass any value to the backend
|
|
14
|
+
*/
|
|
15
|
+
getIpVersion(webex: any): IP_VERSION | undefined;
|
|
8
16
|
joinMeeting: (meeting: any, options: any) => any;
|
|
9
17
|
cleanUp: (meeting: any) => any;
|
|
10
18
|
disconnectPhoneAudio: (meeting: any, phoneUrl: any) => any;
|
|
@@ -90,5 +98,21 @@ declare const MeetingUtil: {
|
|
|
90
98
|
generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
|
|
91
99
|
selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
92
100
|
parseInterpretationInfo: (meeting: any, meetingInfo: any) => void;
|
|
101
|
+
/**
|
|
102
|
+
* Returns a CA-recognized error payload for the specified raw error message/reason.
|
|
103
|
+
*
|
|
104
|
+
* New errors can be added to this function for handling in the future
|
|
105
|
+
*
|
|
106
|
+
* @param {String} reason the raw error message
|
|
107
|
+
* @returns {Array<object>} an array of payload objects
|
|
108
|
+
*/
|
|
109
|
+
getChangeMeetingFloorErrorPayload: (reason: string) => {
|
|
110
|
+
fatal: boolean;
|
|
111
|
+
category: string;
|
|
112
|
+
errorCode: number;
|
|
113
|
+
errorDescription: string;
|
|
114
|
+
name: string;
|
|
115
|
+
shownToUser: boolean;
|
|
116
|
+
}[];
|
|
93
117
|
};
|
|
94
118
|
export default MeetingUtil;
|
|
@@ -49,6 +49,12 @@ export default class MeetingInfo {
|
|
|
49
49
|
* Fetches meeting info from the server
|
|
50
50
|
* @param {String} destination one of many different types of destinations to look up info for
|
|
51
51
|
* @param {String} [type] to match up with the destination value
|
|
52
|
+
* @param {String} [password] meeting password
|
|
53
|
+
* @param {Object} [captchaInfo] captcha code and id
|
|
54
|
+
* @param {String} [installedOrgID]
|
|
55
|
+
* @param {String} [locusId]
|
|
56
|
+
* @param {Object} [extraParams]
|
|
57
|
+
* @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent
|
|
52
58
|
* @returns {Promise} returns a meeting info object
|
|
53
59
|
* @public
|
|
54
60
|
* @memberof MeetingInfo
|
|
@@ -58,5 +64,6 @@ export default class MeetingInfo {
|
|
|
58
64
|
id: string;
|
|
59
65
|
}, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
|
|
60
66
|
meetingId?: string;
|
|
67
|
+
sendCAevents?: boolean;
|
|
61
68
|
}): any;
|
|
62
69
|
}
|
|
@@ -28,4 +28,13 @@ export default class MeetingCollection extends Collection {
|
|
|
28
28
|
* @memberof MeetingCollection
|
|
29
29
|
*/
|
|
30
30
|
getActiveBreakoutLocus(breakoutUrl: string): any;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the meeting that has a webrtc media connection
|
|
33
|
+
* NOTE: this function assumes there is no more than 1 such meeting
|
|
34
|
+
*
|
|
35
|
+
* @returns {Meeting} first meeting found, else undefined
|
|
36
|
+
* @public
|
|
37
|
+
* @memberof MeetingCollection
|
|
38
|
+
*/
|
|
39
|
+
getActiveWebrtcMeeting(): any;
|
|
31
40
|
}
|