@webex/plugin-meetings 3.2.0 → 3.3.0
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 +1 -1
- package/dist/constants.js +2 -4
- package/dist/constants.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/mediaQualityMetrics/config.js +10 -10
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/index.js +8 -21
- package/dist/meeting/index.js.map +1 -1
- package/dist/meetings/index.js +1 -6
- package/dist/meetings/index.js.map +1 -1
- package/dist/reachability/index.js +9 -82
- package/dist/reachability/index.js.map +1 -1
- package/dist/statsAnalyzer/index.js +2 -4
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +0 -14
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/constants.d.ts +1 -2
- package/dist/types/mediaQualityMetrics/config.d.ts +2 -8
- package/dist/types/meeting/index.d.ts +0 -8
- package/dist/types/reachability/index.d.ts +0 -11
- package/dist/webinar/index.js +1 -1
- package/package.json +21 -21
- package/src/constants.ts +1 -2
- package/src/mediaQualityMetrics/config.ts +7 -13
- package/src/meeting/index.ts +9 -23
- package/src/meetings/index.ts +2 -7
- package/src/reachability/index.ts +0 -57
- package/src/statsAnalyzer/index.ts +3 -6
- package/src/statsAnalyzer/mqaUtil.ts +0 -18
- package/test/unit/spec/meeting/index.js +8 -28
- package/test/unit/spec/meetings/index.js +15 -38
- package/test/unit/spec/reachability/index.ts +0 -266
- package/test/unit/spec/stats-analyzer/index.js +8 -89
- 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-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 -34
- 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 -73
- 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/MediaConnectionAwaiter.d.ts +0 -61
- 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/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 -398
- 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/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/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/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 -110
- package/dist/reachability/index.d.ts +0 -109
- package/dist/reachability/request.d.ts +0 -39
- package/dist/reachability/util.d.ts +0 -15
- 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/index.d.ts +0 -86
- package/dist/roap/request.d.ts +0 -39
- package/dist/roap/turnDiscovery.d.ts +0 -155
- package/dist/rtcMetrics/constants.d.ts +0 -4
- package/dist/rtcMetrics/index.d.ts +0 -61
- package/dist/statsAnalyzer/global.d.ts +0 -36
- package/dist/statsAnalyzer/index.d.ts +0 -217
- package/dist/statsAnalyzer/mqaUtil.d.ts +0 -48
- package/dist/transcription/index.d.ts +0 -64
- package/dist/webinar/collection.d.ts +0 -16
- package/dist/webinar/index.d.ts +0 -5
package/dist/roap/index.d.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
2
|
-
import TurnDiscovery, { TurnDiscoveryResult } from './turnDiscovery';
|
|
3
|
-
import Meeting from '../meeting';
|
|
4
|
-
export { type TurnDiscoveryResult, type TurnServerInfo, type TurnDiscoverySkipReason, } from './turnDiscovery';
|
|
5
|
-
/**
|
|
6
|
-
* Roap options
|
|
7
|
-
* @typedef {Object} RoapOptions
|
|
8
|
-
* @property {String} sdp
|
|
9
|
-
* @property {Meeting} meeting
|
|
10
|
-
* @property {Number} seq
|
|
11
|
-
* @property {Number} tieBreaker
|
|
12
|
-
* @property {Boolean} reconnect
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* @typedef {Object} SeqOptions
|
|
16
|
-
* @property {String} correlationId
|
|
17
|
-
* @property {String} mediaId
|
|
18
|
-
* @property {Number} seq
|
|
19
|
-
*/
|
|
20
|
-
/**
|
|
21
|
-
* @class Roap
|
|
22
|
-
* @export
|
|
23
|
-
* @private
|
|
24
|
-
*/
|
|
25
|
-
export default class Roap extends StatelessWebexPlugin {
|
|
26
|
-
attrs: any;
|
|
27
|
-
lastRoapOffer: any;
|
|
28
|
-
options: any;
|
|
29
|
-
roapHandler: any;
|
|
30
|
-
roapRequest: any;
|
|
31
|
-
turnDiscovery: TurnDiscovery;
|
|
32
|
-
/**
|
|
33
|
-
*
|
|
34
|
-
* @param {Object} attrs
|
|
35
|
-
* @param {Object} options
|
|
36
|
-
*/
|
|
37
|
-
constructor(attrs: any, options: any);
|
|
38
|
-
/**
|
|
39
|
-
*
|
|
40
|
-
* @param {SeqOptions} options
|
|
41
|
-
* @returns {null}
|
|
42
|
-
* @memberof Roap
|
|
43
|
-
*/
|
|
44
|
-
sendRoapOK(options: any): Promise<any>;
|
|
45
|
-
/**
|
|
46
|
-
* Sends a ROAP answer...
|
|
47
|
-
* @param {SeqOptions} options
|
|
48
|
-
* @param {Boolean} options.audioMuted
|
|
49
|
-
* @param {Boolean} options.videoMuted
|
|
50
|
-
* @returns {Promise}
|
|
51
|
-
* @memberof Roap
|
|
52
|
-
*/
|
|
53
|
-
sendRoapAnswer(options: any): any;
|
|
54
|
-
/**
|
|
55
|
-
* Sends a ROAP error...
|
|
56
|
-
* @param {Object} options
|
|
57
|
-
* @returns {Promise}
|
|
58
|
-
* @memberof Roap
|
|
59
|
-
*/
|
|
60
|
-
sendRoapError(options: any): any;
|
|
61
|
-
/**
|
|
62
|
-
* sends a roap media request
|
|
63
|
-
* @param {RoapOptions} options
|
|
64
|
-
* @returns {Promise}
|
|
65
|
-
* @memberof Roap
|
|
66
|
-
*/
|
|
67
|
-
sendRoapMediaRequest(options: any): any;
|
|
68
|
-
/**
|
|
69
|
-
* Performs a TURN server discovery procedure, which involves exchanging
|
|
70
|
-
* some roap messages with the server. This exchange has to be done before
|
|
71
|
-
* any other roap messages are sent
|
|
72
|
-
*
|
|
73
|
-
* @param {Meeting} meeting
|
|
74
|
-
* @param {Boolean} isReconnecting should be set to true if this is a new
|
|
75
|
-
* media connection just after a reconnection
|
|
76
|
-
* @param {Boolean} [isForced]
|
|
77
|
-
* @returns {Promise}
|
|
78
|
-
*/
|
|
79
|
-
doTurnDiscovery(meeting: Meeting, isReconnecting: boolean, isForced?: boolean): Promise<TurnDiscoveryResult>;
|
|
80
|
-
generateTurnDiscoveryRequestMessage(meeting: Meeting, isForced: boolean): Promise<{
|
|
81
|
-
roapMessage?: object;
|
|
82
|
-
turnDiscoverySkippedReason: string;
|
|
83
|
-
}>;
|
|
84
|
-
handleTurnDiscoveryHttpResponse(meeting: Meeting, httpResponse: object): Promise<TurnDiscoveryResult>;
|
|
85
|
-
abortTurnDiscovery(): void;
|
|
86
|
-
}
|
package/dist/roap/request.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
2
|
-
import { IP_VERSION } from '../constants';
|
|
3
|
-
import { LocusMediaRequest } from '../meeting/locusMediaRequest';
|
|
4
|
-
/**
|
|
5
|
-
* @class RoapRequest
|
|
6
|
-
*/
|
|
7
|
-
export default class RoapRequest extends StatelessWebexPlugin {
|
|
8
|
-
/**
|
|
9
|
-
* Returns reachability data.
|
|
10
|
-
* @param {Object} localSdp
|
|
11
|
-
* @returns {Object}
|
|
12
|
-
*/
|
|
13
|
-
attachReachabilityData(localSdp: any): Promise<{
|
|
14
|
-
localSdp: any;
|
|
15
|
-
joinCookie: any;
|
|
16
|
-
}>;
|
|
17
|
-
/**
|
|
18
|
-
* Sends a ROAP message
|
|
19
|
-
* @param {Object} options
|
|
20
|
-
* @param {Object} options.roapMessage
|
|
21
|
-
* @param {String} options.locusSelfUrl
|
|
22
|
-
* @param {String} options.mediaId
|
|
23
|
-
* @param {String} options.correlationId
|
|
24
|
-
* @param {String} options.meetingId
|
|
25
|
-
* @param {IP_VERSION} options.ipVersion only required for offers
|
|
26
|
-
* @returns {Promise} returns the response/failure of the request
|
|
27
|
-
*/
|
|
28
|
-
sendRoap(options: {
|
|
29
|
-
roapMessage: any;
|
|
30
|
-
locusSelfUrl: string;
|
|
31
|
-
mediaId: string;
|
|
32
|
-
meetingId: string;
|
|
33
|
-
ipVersion?: IP_VERSION;
|
|
34
|
-
locusMediaRequest?: LocusMediaRequest;
|
|
35
|
-
}): Promise<{
|
|
36
|
-
mediaConnections: any;
|
|
37
|
-
locus: any;
|
|
38
|
-
}>;
|
|
39
|
-
}
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { Enum } from '../constants';
|
|
2
|
-
import RoapRequest from './request';
|
|
3
|
-
import Meeting from '../meeting';
|
|
4
|
-
declare const TurnDiscoverySkipReason: {
|
|
5
|
-
readonly missingHttpResponse: "missing http response";
|
|
6
|
-
readonly reachability: "reachability";
|
|
7
|
-
readonly alreadyInProgress: "already in progress";
|
|
8
|
-
};
|
|
9
|
-
export type TurnDiscoverySkipReason = Enum<typeof TurnDiscoverySkipReason> | string | undefined;
|
|
10
|
-
export type TurnServerInfo = {
|
|
11
|
-
url: string;
|
|
12
|
-
username: string;
|
|
13
|
-
password: string;
|
|
14
|
-
};
|
|
15
|
-
export type TurnDiscoveryResult = {
|
|
16
|
-
turnServerInfo?: TurnServerInfo;
|
|
17
|
-
turnDiscoverySkippedReason: TurnDiscoverySkipReason;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Handles the process of finding out TURN server information from Linus.
|
|
21
|
-
* This is achieved by sending a TURN_DISCOVERY_REQUEST.
|
|
22
|
-
*/
|
|
23
|
-
export default class TurnDiscovery {
|
|
24
|
-
private roapRequest;
|
|
25
|
-
private defer?;
|
|
26
|
-
private turnInfo;
|
|
27
|
-
private responseTimer?;
|
|
28
|
-
/**
|
|
29
|
-
* Constructor
|
|
30
|
-
*
|
|
31
|
-
* @param {RoapRequest} roapRequest
|
|
32
|
-
*/
|
|
33
|
-
constructor(roapRequest: RoapRequest);
|
|
34
|
-
/**
|
|
35
|
-
* waits for TURN_DISCOVERY_RESPONSE message to arrive
|
|
36
|
-
*
|
|
37
|
-
* @returns {Promise}
|
|
38
|
-
* @private
|
|
39
|
-
* @memberof Roap
|
|
40
|
-
*/
|
|
41
|
-
private waitForTurnDiscoveryResponse;
|
|
42
|
-
/**
|
|
43
|
-
* Handles TURN_DISCOVERY_RESPONSE roap message. Use it if the roap message comes over the websocket,
|
|
44
|
-
* otherwise use handleTurnDiscoveryHttpResponse() if it comes in the http response.
|
|
45
|
-
*
|
|
46
|
-
* @param {Object} roapMessage
|
|
47
|
-
* @param {string} from string to indicate how we got the response (used just for logging)
|
|
48
|
-
* @returns {void}
|
|
49
|
-
* @public
|
|
50
|
-
* @memberof Roap
|
|
51
|
-
*/
|
|
52
|
-
handleTurnDiscoveryResponse(roapMessage: any, from: string): void;
|
|
53
|
-
/**
|
|
54
|
-
* Generates TURN_DISCOVERY_REQUEST roap message. When this method returns a roapMessage, it means that a TURN discovery process has started.
|
|
55
|
-
* It needs be ended by calling handleTurnDiscoveryHttpResponse() once you get a response from the backend. If you don't get any response
|
|
56
|
-
* or want to abort, you need to call abort().
|
|
57
|
-
*
|
|
58
|
-
* @param {Meeting} meeting
|
|
59
|
-
* @param {boolean} isForced
|
|
60
|
-
* @returns {Object}
|
|
61
|
-
*/
|
|
62
|
-
generateTurnDiscoveryRequestMessage(meeting: Meeting, isForced: boolean): Promise<{
|
|
63
|
-
roapMessage?: object;
|
|
64
|
-
turnDiscoverySkippedReason: TurnDiscoverySkipReason;
|
|
65
|
-
}>;
|
|
66
|
-
/**
|
|
67
|
-
* Handles any errors that occur during TURN discovery without re-throwing them.
|
|
68
|
-
*
|
|
69
|
-
* @param {Meeting} meeting
|
|
70
|
-
* @param {Error} error
|
|
71
|
-
* @returns {TurnDiscoveryResult}
|
|
72
|
-
*/
|
|
73
|
-
private handleTurnDiscoveryFailure;
|
|
74
|
-
/**
|
|
75
|
-
* Handles TURN_DISCOVERY_RESPONSE roap message that came in http response. If the response is not valid,
|
|
76
|
-
* it returns an object with turnServerInfo set to undefined. In that case you need to call abort()
|
|
77
|
-
* to end the TURN discovery process.
|
|
78
|
-
*
|
|
79
|
-
* @param {Meeting} meeting
|
|
80
|
-
* @param {Object|undefined} httpResponse can be undefined to indicate that we didn't get the response
|
|
81
|
-
* @returns {Promise<TurnDiscoveryResult>}
|
|
82
|
-
* @memberof Roap
|
|
83
|
-
*/
|
|
84
|
-
handleTurnDiscoveryHttpResponse(meeting: Meeting, httpResponse?: object): Promise<TurnDiscoveryResult>;
|
|
85
|
-
/**
|
|
86
|
-
* Aborts current TURN discovery. This method needs to be called if you called generateTurnDiscoveryRequestMessage(),
|
|
87
|
-
* but then never got any response from the server.
|
|
88
|
-
* @returns {void}
|
|
89
|
-
*/
|
|
90
|
-
abort(): void;
|
|
91
|
-
/**
|
|
92
|
-
* Parses the TURN_DISCOVERY_RESPONSE roap message out of the http response
|
|
93
|
-
* and returns it.
|
|
94
|
-
*
|
|
95
|
-
* @param {Meeting} meeting
|
|
96
|
-
* @param {any} httpResponse
|
|
97
|
-
* @returns {any}
|
|
98
|
-
*/
|
|
99
|
-
private parseHttpTurnDiscoveryResponse;
|
|
100
|
-
/**
|
|
101
|
-
* sends the TURN_DISCOVERY_REQUEST roap request
|
|
102
|
-
*
|
|
103
|
-
* @param {Meeting} meeting
|
|
104
|
-
* @param {Boolean} isReconnecting
|
|
105
|
-
* @returns {Promise}
|
|
106
|
-
* @private
|
|
107
|
-
* @memberof Roap
|
|
108
|
-
*/
|
|
109
|
-
private sendRoapTurnDiscoveryRequest;
|
|
110
|
-
/**
|
|
111
|
-
* Sends the OK message that server expects to receive
|
|
112
|
-
* after it sends us TURN_DISCOVERY_RESPONSE
|
|
113
|
-
*
|
|
114
|
-
* @param {Meeting} meeting
|
|
115
|
-
* @returns {Promise}
|
|
116
|
-
*/
|
|
117
|
-
sendRoapOK(meeting: Meeting): Promise<{
|
|
118
|
-
mediaConnections: any;
|
|
119
|
-
locus: any;
|
|
120
|
-
}>;
|
|
121
|
-
/**
|
|
122
|
-
* Gets the reason why reachability is skipped.
|
|
123
|
-
*
|
|
124
|
-
* @param {Meeting} meeting
|
|
125
|
-
* @returns {Promise<string>} Promise with empty string if reachability is not skipped or a reason if it is skipped
|
|
126
|
-
*/
|
|
127
|
-
private getSkipReason;
|
|
128
|
-
/**
|
|
129
|
-
* Checks if TURN discovery is skipped.
|
|
130
|
-
*
|
|
131
|
-
* @param {Meeting} meeting
|
|
132
|
-
* @returns {Boolean} true if TURN discovery is being skipped, false if it is being done
|
|
133
|
-
*/
|
|
134
|
-
isSkipped(meeting: any): Promise<boolean>;
|
|
135
|
-
/**
|
|
136
|
-
* Retrieves TURN server information from the backend by doing
|
|
137
|
-
* a roap message exchange:
|
|
138
|
-
* client server
|
|
139
|
-
* | -----TURN_DISCOVERY_REQUEST-----> |
|
|
140
|
-
* | <----TURN_DISCOVERY_RESPONSE----- |
|
|
141
|
-
* | --------------OK----------------> |
|
|
142
|
-
*
|
|
143
|
-
* This TURN discovery roap exchange is always done with seq=0.
|
|
144
|
-
* The RoapMediaConnection SDP exchange always starts with seq=1,
|
|
145
|
-
* so it works fine no matter if TURN discovery is done or not.
|
|
146
|
-
*
|
|
147
|
-
* @param {Meeting} meeting
|
|
148
|
-
* @param {Boolean} [isReconnecting] should be set to true if this is a new
|
|
149
|
-
* media connection just after a reconnection
|
|
150
|
-
* @param {Boolean} [isForced]
|
|
151
|
-
* @returns {Promise}
|
|
152
|
-
*/
|
|
153
|
-
doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean, isForced?: boolean): Promise<TurnDiscoveryResult>;
|
|
154
|
-
}
|
|
155
|
-
export {};
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Rtc Metrics
|
|
3
|
-
*/
|
|
4
|
-
export default class RtcMetrics {
|
|
5
|
-
/**
|
|
6
|
-
* Array of MetricData items to be sent to the metrics service.
|
|
7
|
-
*/
|
|
8
|
-
metricsQueue: any[];
|
|
9
|
-
intervalId: number;
|
|
10
|
-
webex: any;
|
|
11
|
-
meetingId: string;
|
|
12
|
-
correlationId: string;
|
|
13
|
-
connectionId: string;
|
|
14
|
-
/**
|
|
15
|
-
* Initialize the interval.
|
|
16
|
-
*
|
|
17
|
-
* @param {object} webex - The main `webex` object.
|
|
18
|
-
* @param {string} meetingId - The meeting id.
|
|
19
|
-
* @param {string} correlationId - The correlation id.
|
|
20
|
-
*/
|
|
21
|
-
constructor(webex: any, meetingId: any, correlationId: any);
|
|
22
|
-
/**
|
|
23
|
-
* Check to see if the metrics queue has any items.
|
|
24
|
-
*
|
|
25
|
-
* @returns {void}
|
|
26
|
-
*/
|
|
27
|
-
sendMetricsInQueue(): void;
|
|
28
|
-
/**
|
|
29
|
-
* Add metrics items to the metrics queue.
|
|
30
|
-
*
|
|
31
|
-
* @param {object} data - An object with a payload array of metrics items.
|
|
32
|
-
*
|
|
33
|
-
* @returns {void}
|
|
34
|
-
*/
|
|
35
|
-
addMetrics(data: any): void;
|
|
36
|
-
/**
|
|
37
|
-
* Clear the metrics interval.
|
|
38
|
-
*
|
|
39
|
-
* @returns {void}
|
|
40
|
-
*/
|
|
41
|
-
closeMetrics(): void;
|
|
42
|
-
/**
|
|
43
|
-
* Anonymize IP addresses.
|
|
44
|
-
*
|
|
45
|
-
* @param {array} stats - An RTCStatsReport organized into an array of strings.
|
|
46
|
-
* @returns {string}
|
|
47
|
-
*/
|
|
48
|
-
anonymizeIp(stats: string): string;
|
|
49
|
-
/**
|
|
50
|
-
* Set a new connection id.
|
|
51
|
-
*
|
|
52
|
-
* @returns {void}
|
|
53
|
-
*/
|
|
54
|
-
private setNewConnectionId;
|
|
55
|
-
/**
|
|
56
|
-
* Send metrics to the metrics service.
|
|
57
|
-
*
|
|
58
|
-
* @returns {void}
|
|
59
|
-
*/
|
|
60
|
-
private sendMetrics;
|
|
61
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
declare const STATS_DEFAULT: {
|
|
2
|
-
encryption: string;
|
|
3
|
-
bandwidth: {
|
|
4
|
-
systemBandwidth: number;
|
|
5
|
-
sentPerSecond: number;
|
|
6
|
-
encodedPerSecond: number;
|
|
7
|
-
helper: {
|
|
8
|
-
audioBytesSent: number;
|
|
9
|
-
videoBytestSent: number;
|
|
10
|
-
};
|
|
11
|
-
speed: number;
|
|
12
|
-
};
|
|
13
|
-
results: {};
|
|
14
|
-
connectionType: {
|
|
15
|
-
systemNetworkType: string;
|
|
16
|
-
systemIpAddress: string;
|
|
17
|
-
local: {
|
|
18
|
-
candidateType: any[];
|
|
19
|
-
transport: any[];
|
|
20
|
-
ipAddress: any[];
|
|
21
|
-
networkType: any[];
|
|
22
|
-
};
|
|
23
|
-
remote: {
|
|
24
|
-
candidateType: any[];
|
|
25
|
-
transport: any[];
|
|
26
|
-
ipAddress: any[];
|
|
27
|
-
networkType: any[];
|
|
28
|
-
};
|
|
29
|
-
};
|
|
30
|
-
resolutions: {};
|
|
31
|
-
internal: {
|
|
32
|
-
remote: {};
|
|
33
|
-
candidates: {};
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
export default STATS_DEFAULT;
|
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import EventsScope from '../common/events/events-scope';
|
|
3
|
-
import { ReceiveSlot } from '../multistream/receiveSlot';
|
|
4
|
-
export declare const EVENTS: {
|
|
5
|
-
MEDIA_QUALITY: string;
|
|
6
|
-
LOCAL_MEDIA_STARTED: string;
|
|
7
|
-
LOCAL_MEDIA_STOPPED: string;
|
|
8
|
-
REMOTE_MEDIA_STARTED: string;
|
|
9
|
-
REMOTE_MEDIA_STOPPED: string;
|
|
10
|
-
};
|
|
11
|
-
type ReceiveSlotCallback = (csi: number) => ReceiveSlot | undefined;
|
|
12
|
-
type MediaStatus = {
|
|
13
|
-
actual?: any;
|
|
14
|
-
expected?: any;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Stats Analyzer class that will emit events based on detected quality
|
|
18
|
-
*
|
|
19
|
-
* @export
|
|
20
|
-
* @class StatsAnalyzer
|
|
21
|
-
* @extends {EventsScope}
|
|
22
|
-
*/
|
|
23
|
-
export declare class StatsAnalyzer extends EventsScope {
|
|
24
|
-
config: any;
|
|
25
|
-
correlationId: any;
|
|
26
|
-
lastEmittedStartStopEvent: any;
|
|
27
|
-
lastMqaDataSent: any;
|
|
28
|
-
lastStatsResults: any;
|
|
29
|
-
meetingMediaStatus: any;
|
|
30
|
-
mqaInterval: NodeJS.Timeout;
|
|
31
|
-
mqaSentCount: any;
|
|
32
|
-
networkQualityMonitor: any;
|
|
33
|
-
mediaConnection: any;
|
|
34
|
-
statsInterval: NodeJS.Timeout;
|
|
35
|
-
statsResults: any;
|
|
36
|
-
statsStarted: any;
|
|
37
|
-
successfulCandidatePair: any;
|
|
38
|
-
localIpAddress: string;
|
|
39
|
-
receiveSlotCallback: ReceiveSlotCallback;
|
|
40
|
-
/**
|
|
41
|
-
* Creates a new instance of StatsAnalyzer
|
|
42
|
-
* @constructor
|
|
43
|
-
* @public
|
|
44
|
-
* @param {Object} config SDK Configuration Object
|
|
45
|
-
* @param {Function} receiveSlotCallback Callback used to access receive slots.
|
|
46
|
-
* @param {Object} networkQualityMonitor class for assessing network characteristics (jitter, packetLoss, latency)
|
|
47
|
-
* @param {Object} statsResults Default properties for stats
|
|
48
|
-
*/
|
|
49
|
-
constructor(config: any, receiveSlotCallback?: ReceiveSlotCallback, networkQualityMonitor?: object, statsResults?: object);
|
|
50
|
-
/**
|
|
51
|
-
* Resets cumulative stats arrays.
|
|
52
|
-
*
|
|
53
|
-
* @public
|
|
54
|
-
* @memberof StatsAnalyzer
|
|
55
|
-
* @returns {void}
|
|
56
|
-
*/
|
|
57
|
-
resetStatsResults(): void;
|
|
58
|
-
/**
|
|
59
|
-
* sets mediaStatus status for analyzing metrics
|
|
60
|
-
*
|
|
61
|
-
* @public
|
|
62
|
-
* @param {Object} status for the audio and video
|
|
63
|
-
* @memberof StatsAnalyzer
|
|
64
|
-
* @returns {void}
|
|
65
|
-
*/
|
|
66
|
-
updateMediaStatus(status: MediaStatus): void;
|
|
67
|
-
/**
|
|
68
|
-
* captures MQA data from media connection
|
|
69
|
-
*
|
|
70
|
-
* @public
|
|
71
|
-
* @memberof StatsAnalyzer
|
|
72
|
-
* @returns {void}
|
|
73
|
-
*/
|
|
74
|
-
sendMqaData(): void;
|
|
75
|
-
/**
|
|
76
|
-
* updated the media connection when changed
|
|
77
|
-
*
|
|
78
|
-
* @private
|
|
79
|
-
* @memberof StatsAnalyzer
|
|
80
|
-
* @param {RoapMediaConnection} mediaConnection
|
|
81
|
-
* @returns {void}
|
|
82
|
-
*/
|
|
83
|
-
updateMediaConnection(mediaConnection: any): void;
|
|
84
|
-
/**
|
|
85
|
-
* Returns the local IP address for diagnostics.
|
|
86
|
-
* this is the local IP of the interface used for the current media connection
|
|
87
|
-
* a host can have many local Ip Addresses
|
|
88
|
-
* @returns {string | undefined} The local IP address.
|
|
89
|
-
*/
|
|
90
|
-
getLocalIpAddress(): string;
|
|
91
|
-
/**
|
|
92
|
-
* Starts the stats analyzer on interval
|
|
93
|
-
*
|
|
94
|
-
* @public
|
|
95
|
-
* @memberof StatsAnalyzer
|
|
96
|
-
* @param {RoapMediaConnection} mediaConnection
|
|
97
|
-
* @returns {Promise}
|
|
98
|
-
*/
|
|
99
|
-
startAnalyzer(mediaConnection: any): any;
|
|
100
|
-
/**
|
|
101
|
-
* Cleans up the analyzer when done
|
|
102
|
-
*
|
|
103
|
-
* @public
|
|
104
|
-
* @memberof StatsAnalyzer
|
|
105
|
-
* @returns {void}
|
|
106
|
-
*/
|
|
107
|
-
stopAnalyzer(): any;
|
|
108
|
-
/**
|
|
109
|
-
* Parse a single result of get stats
|
|
110
|
-
*
|
|
111
|
-
* @private
|
|
112
|
-
* @param {*} getStatsResult
|
|
113
|
-
* @param {String} type
|
|
114
|
-
* @param {boolean} isSender
|
|
115
|
-
* @returns {void}
|
|
116
|
-
* @memberof StatsAnalyzer
|
|
117
|
-
*/
|
|
118
|
-
private parseGetStatsResult;
|
|
119
|
-
/**
|
|
120
|
-
* Filters the get stats results for types
|
|
121
|
-
* @private
|
|
122
|
-
* @param {Array} statsItem
|
|
123
|
-
* @param {String} type
|
|
124
|
-
* @param {boolean} isSender
|
|
125
|
-
* @returns {void}
|
|
126
|
-
*/
|
|
127
|
-
filterAndParseGetStatsResults(statsItem: any, type: string, isSender: boolean): void;
|
|
128
|
-
/**
|
|
129
|
-
* parse the audio
|
|
130
|
-
* @param {String} result
|
|
131
|
-
* @param {boolean} type
|
|
132
|
-
* @returns {void}
|
|
133
|
-
*/
|
|
134
|
-
parseAudioSource(result: any, type: any): void;
|
|
135
|
-
/**
|
|
136
|
-
* emits started/stopped events for local/remote media by checking
|
|
137
|
-
* if given values are increasing or not. The previousValue, currentValue
|
|
138
|
-
* params can be any numerical value like number of receive packets or
|
|
139
|
-
* decoded frames, etc.
|
|
140
|
-
*
|
|
141
|
-
* @private
|
|
142
|
-
* @param {string} mediaType
|
|
143
|
-
* @param {number} previousValue - value to compare
|
|
144
|
-
* @param {number} currentValue - value to compare (must be same type of value as previousValue)
|
|
145
|
-
* @param {boolean} isLocal - true if stats are for local media being sent out, false for remote media being received
|
|
146
|
-
* @memberof StatsAnalyzer
|
|
147
|
-
* @returns {void}
|
|
148
|
-
*/
|
|
149
|
-
emitStartStopEvents: (mediaType: string, previousValue: number, currentValue: number, isLocal: boolean) => void;
|
|
150
|
-
/**
|
|
151
|
-
* compares current and previous stats to check if packets are not sent
|
|
152
|
-
*
|
|
153
|
-
* @private
|
|
154
|
-
* @memberof StatsAnalyzer
|
|
155
|
-
* @returns {void}
|
|
156
|
-
*/
|
|
157
|
-
private compareLastStatsResult;
|
|
158
|
-
/**
|
|
159
|
-
* Does a `getStats` on all the transceivers and parses the results
|
|
160
|
-
*
|
|
161
|
-
* @private
|
|
162
|
-
* @memberof StatsAnalyzer
|
|
163
|
-
* @returns {Promise}
|
|
164
|
-
*/
|
|
165
|
-
private getStatsAndParse;
|
|
166
|
-
/**
|
|
167
|
-
* Processes OutboundRTP stats result and stores
|
|
168
|
-
* @private
|
|
169
|
-
* @param {*} result
|
|
170
|
-
* @param {*} mediaType
|
|
171
|
-
* @returns {void}
|
|
172
|
-
*/
|
|
173
|
-
private processOutboundRTPResult;
|
|
174
|
-
/**
|
|
175
|
-
* Processes InboundRTP stats result and stores
|
|
176
|
-
* @private
|
|
177
|
-
* @param {*} result
|
|
178
|
-
* @param {*} mediaType
|
|
179
|
-
* @returns {void}
|
|
180
|
-
*/
|
|
181
|
-
private processInboundRTPResult;
|
|
182
|
-
/**
|
|
183
|
-
* extracts the local Ip address from the statsResult object by looking at stats results candidates
|
|
184
|
-
* and matches that ID with the successful candidate pair. It looks at the type of local candidate it is
|
|
185
|
-
* and then extracts the IP address from the relatedAddress or address property based on conditions known in webrtc
|
|
186
|
-
* note, there are known incompatibilities and it is possible for this to set undefined, or for the IP address to be the public IP address
|
|
187
|
-
* for example, firefox does not set the relayProtocol, and if the user is behind a NAT it might be the public IP
|
|
188
|
-
* @private
|
|
189
|
-
* @param {string} successfulCandidatePairId - The ID of the successful candidate pair.
|
|
190
|
-
* @param {Object} candidates - the stats result candidates
|
|
191
|
-
* @returns {void}
|
|
192
|
-
*/
|
|
193
|
-
extractAndSetLocalIpAddressInfoForDiagnostics: (successfulCandidatePairId: string, candidates: {
|
|
194
|
-
[key: string]: Record<string, unknown>;
|
|
195
|
-
}) => void;
|
|
196
|
-
/**
|
|
197
|
-
* Processes remote and local candidate result and stores
|
|
198
|
-
* @private
|
|
199
|
-
* @param {*} result
|
|
200
|
-
* @param {*} type
|
|
201
|
-
* @param {boolean} isSender
|
|
202
|
-
* @param {boolean} isRemote
|
|
203
|
-
*
|
|
204
|
-
* @returns {void}
|
|
205
|
-
*/
|
|
206
|
-
parseCandidate: (result: any, type: any, isSender: boolean, isRemote: boolean) => void;
|
|
207
|
-
/**
|
|
208
|
-
*
|
|
209
|
-
* @private
|
|
210
|
-
* @param {*} result
|
|
211
|
-
* @param {*} type
|
|
212
|
-
* @returns {void}
|
|
213
|
-
* @memberof StatsAnalyzer
|
|
214
|
-
*/
|
|
215
|
-
compareSentAndReceived(result: any, type: any): void;
|
|
216
|
-
}
|
|
217
|
-
export {};
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
export declare const getAudioReceiverMqa: ({ audioReceiver, statsResults, lastMqaDataSent, baseMediaType, }: {
|
|
2
|
-
audioReceiver: any;
|
|
3
|
-
statsResults: any;
|
|
4
|
-
lastMqaDataSent: any;
|
|
5
|
-
baseMediaType: any;
|
|
6
|
-
}) => void;
|
|
7
|
-
export declare const getAudioReceiverStreamMqa: ({ audioReceiverStream, statsResults, lastMqaDataSent, mediaType, }: {
|
|
8
|
-
audioReceiverStream: any;
|
|
9
|
-
statsResults: any;
|
|
10
|
-
lastMqaDataSent: any;
|
|
11
|
-
mediaType: any;
|
|
12
|
-
}) => void;
|
|
13
|
-
export declare const getAudioSenderMqa: ({ audioSender, statsResults, lastMqaDataSent, baseMediaType }: {
|
|
14
|
-
audioSender: any;
|
|
15
|
-
statsResults: any;
|
|
16
|
-
lastMqaDataSent: any;
|
|
17
|
-
baseMediaType: any;
|
|
18
|
-
}) => void;
|
|
19
|
-
export declare const getAudioSenderStreamMqa: ({ audioSenderStream, statsResults, lastMqaDataSent, mediaType, }: {
|
|
20
|
-
audioSenderStream: any;
|
|
21
|
-
statsResults: any;
|
|
22
|
-
lastMqaDataSent: any;
|
|
23
|
-
mediaType: any;
|
|
24
|
-
}) => void;
|
|
25
|
-
export declare const getVideoReceiverMqa: ({ videoReceiver, statsResults, lastMqaDataSent, baseMediaType, }: {
|
|
26
|
-
videoReceiver: any;
|
|
27
|
-
statsResults: any;
|
|
28
|
-
lastMqaDataSent: any;
|
|
29
|
-
baseMediaType: any;
|
|
30
|
-
}) => void;
|
|
31
|
-
export declare const getVideoReceiverStreamMqa: ({ videoReceiverStream, statsResults, lastMqaDataSent, mediaType, }: {
|
|
32
|
-
videoReceiverStream: any;
|
|
33
|
-
statsResults: any;
|
|
34
|
-
lastMqaDataSent: any;
|
|
35
|
-
mediaType: any;
|
|
36
|
-
}) => void;
|
|
37
|
-
export declare const getVideoSenderMqa: ({ videoSender, statsResults, lastMqaDataSent, baseMediaType }: {
|
|
38
|
-
videoSender: any;
|
|
39
|
-
statsResults: any;
|
|
40
|
-
lastMqaDataSent: any;
|
|
41
|
-
baseMediaType: any;
|
|
42
|
-
}) => void;
|
|
43
|
-
export declare const getVideoSenderStreamMqa: ({ videoSenderStream, statsResults, lastMqaDataSent, mediaType, }: {
|
|
44
|
-
videoSenderStream: any;
|
|
45
|
-
statsResults: any;
|
|
46
|
-
lastMqaDataSent: any;
|
|
47
|
-
mediaType: any;
|
|
48
|
-
}) => void;
|