@webex/plugin-meetings 2.39.0 → 2.39.2

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.
Files changed (101) hide show
  1. package/dist/common/browser-detection.d.ts +9 -0
  2. package/dist/common/collection.d.ts +48 -0
  3. package/dist/common/config.d.ts +2 -0
  4. package/dist/common/errors/captcha-error.d.ts +15 -0
  5. package/dist/common/errors/intent-to-join.d.ts +16 -0
  6. package/dist/common/errors/join-meeting.d.ts +17 -0
  7. package/dist/common/errors/media.d.ts +15 -0
  8. package/dist/common/errors/parameter.d.ts +15 -0
  9. package/dist/common/errors/password-error.d.ts +15 -0
  10. package/dist/common/errors/permission.d.ts +14 -0
  11. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  12. package/dist/common/errors/reconnection.d.ts +15 -0
  13. package/dist/common/errors/stats.d.ts +15 -0
  14. package/dist/common/errors/webex-errors.d.ts +81 -0
  15. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  16. package/dist/common/events/events-scope.d.ts +17 -0
  17. package/dist/common/events/events.d.ts +12 -0
  18. package/dist/common/events/trigger-proxy.d.ts +2 -0
  19. package/dist/common/events/util.d.ts +2 -0
  20. package/dist/common/logs/logger-config.d.ts +2 -0
  21. package/dist/common/logs/logger-proxy.d.ts +2 -0
  22. package/dist/common/logs/request.d.ts +34 -0
  23. package/dist/common/queue.d.ts +32 -0
  24. package/dist/config.d.ts +73 -0
  25. package/dist/constants.d.ts +924 -0
  26. package/dist/controls-options-manager/constants.d.ts +4 -0
  27. package/dist/controls-options-manager/enums.d.ts +5 -0
  28. package/dist/controls-options-manager/index.d.ts +120 -0
  29. package/dist/controls-options-manager/util.d.ts +7 -0
  30. package/dist/index.d.ts +4 -0
  31. package/dist/locus-info/controlsUtils.d.ts +2 -0
  32. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  33. package/dist/locus-info/fullState.d.ts +2 -0
  34. package/dist/locus-info/hostUtils.d.ts +2 -0
  35. package/dist/locus-info/index.d.ts +269 -0
  36. package/dist/locus-info/infoUtils.d.ts +2 -0
  37. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  38. package/dist/locus-info/parser.d.ts +212 -0
  39. package/dist/locus-info/selfUtils.d.ts +2 -0
  40. package/dist/media/index.d.ts +32 -0
  41. package/dist/media/properties.d.ts +108 -0
  42. package/dist/media/util.d.ts +2 -0
  43. package/dist/mediaQualityMetrics/config.d.ts +233 -0
  44. package/dist/meeting/effectsState.d.ts +42 -0
  45. package/dist/meeting/in-meeting-actions.d.ts +79 -0
  46. package/dist/meeting/index.d.ts +1621 -0
  47. package/dist/meeting/muteState.d.ts +116 -0
  48. package/dist/meeting/request.d.ts +255 -0
  49. package/dist/meeting/state.d.ts +9 -0
  50. package/dist/meeting/util.d.ts +2 -0
  51. package/dist/meeting-info/collection.d.ts +20 -0
  52. package/dist/meeting-info/index.d.ts +57 -0
  53. package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
  54. package/dist/meeting-info/request.d.ts +22 -0
  55. package/dist/meeting-info/util.d.ts +2 -0
  56. package/dist/meeting-info/utilv2.d.ts +2 -0
  57. package/dist/meetings/collection.d.ts +23 -0
  58. package/dist/meetings/index.d.ts +297 -0
  59. package/dist/meetings/request.d.ts +27 -0
  60. package/dist/meetings/util.d.ts +18 -0
  61. package/dist/member/index.d.ts +145 -0
  62. package/dist/member/util.d.ts +2 -0
  63. package/dist/members/collection.d.ts +24 -0
  64. package/dist/members/index.d.ts +298 -0
  65. package/dist/members/request.d.ts +50 -0
  66. package/dist/members/util.d.ts +2 -0
  67. package/dist/metrics/config.d.ts +169 -0
  68. package/dist/metrics/config.js +1 -11
  69. package/dist/metrics/config.js.map +1 -1
  70. package/dist/metrics/constants.d.ts +57 -0
  71. package/dist/metrics/index.d.ts +152 -0
  72. package/dist/metrics/index.js +3 -25
  73. package/dist/metrics/index.js.map +1 -1
  74. package/dist/networkQualityMonitor/index.d.ts +70 -0
  75. package/dist/peer-connection-manager/index.d.ts +6 -0
  76. package/dist/peer-connection-manager/util.d.ts +6 -0
  77. package/dist/personal-meeting-room/index.d.ts +47 -0
  78. package/dist/personal-meeting-room/request.d.ts +14 -0
  79. package/dist/personal-meeting-room/util.d.ts +2 -0
  80. package/dist/reachability/index.d.ts +139 -0
  81. package/dist/reachability/request.d.ts +35 -0
  82. package/dist/reactions/reactions.d.ts +4 -0
  83. package/dist/reactions/reactions.type.d.ts +32 -0
  84. package/dist/reconnection-manager/index.d.ts +112 -0
  85. package/dist/recording-controller/enums.d.ts +7 -0
  86. package/dist/recording-controller/index.d.ts +193 -0
  87. package/dist/recording-controller/util.d.ts +13 -0
  88. package/dist/roap/collection.d.ts +10 -0
  89. package/dist/roap/handler.d.ts +47 -0
  90. package/dist/roap/index.d.ts +116 -0
  91. package/dist/roap/request.d.ts +35 -0
  92. package/dist/roap/state.d.ts +9 -0
  93. package/dist/roap/turnDiscovery.d.ts +67 -0
  94. package/dist/roap/util.d.ts +2 -0
  95. package/dist/statsAnalyzer/global.d.ts +126 -0
  96. package/dist/statsAnalyzer/index.d.ts +190 -0
  97. package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
  98. package/dist/transcription/index.d.ts +64 -0
  99. package/package.json +18 -19
  100. package/src/metrics/config.ts +0 -10
  101. package/src/metrics/index.ts +3 -24
@@ -0,0 +1,10 @@
1
+ declare const RoapCollection: {
2
+ sessions: {};
3
+ getSession(id: any): any;
4
+ deleteSession(id: any): void;
5
+ getSessionSequence(id: any, seqId: any): any;
6
+ deleteSessionSequence(id: any, seqId: any): void;
7
+ isBusy(id: any): boolean;
8
+ onSessionSequenceFinish(id: any, seqId: any): void;
9
+ };
10
+ export default RoapCollection;
@@ -0,0 +1,47 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import Meeting from '../meeting';
3
+ /**
4
+ * @class RoapHandler
5
+ */
6
+ export default class RoapHandler extends StatelessWebexPlugin {
7
+ attrs: any;
8
+ lastRoapMessage: any;
9
+ options: any;
10
+ roapAnswer: any;
11
+ roapFinished: any;
12
+ roapOk: any;
13
+ constructor(attrs: any, options: any, roapOk: any, roapAnswer: any, roapFinished: any);
14
+ /**
15
+ *
16
+ * @param {Object} session
17
+ * @param {Meeting} meeting
18
+ * @param {Object} action
19
+ * @returns {null}
20
+ */
21
+ perform(session: any, meeting: any, action: any): void;
22
+ /**
23
+ *
24
+ * @param {String} signal
25
+ * @param {Object} session
26
+ * @param {Object} action
27
+ * @param {Meeting} meeting
28
+ * @param {String} prefix
29
+ * @returns {null}
30
+ */
31
+ execute(signal: string, session: any, action: any, meeting: Meeting, prefix: string): void;
32
+ /**
33
+ *
34
+ * @param {Object} session
35
+ * @param {Object} action
36
+ * @param {Meeting} meeting
37
+ * @param {String} correlationId
38
+ * @returns {Boolean}
39
+ */
40
+ handleAction(session: object, action: any, meeting: Meeting, correlationId: string): boolean;
41
+ /**
42
+ *
43
+ * @param {Object} action
44
+ * @returns {Boolean}
45
+ */
46
+ submit(action: any): boolean;
47
+ }
@@ -0,0 +1,116 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import Meeting from '../meeting';
3
+ /**
4
+ * Roap options
5
+ * @typedef {Object} RoapOptions
6
+ * @property {String} sdp
7
+ * @property {Meeting} meeting
8
+ * @property {Number} roapSeq
9
+ * @property {Boolean} reconnect
10
+ */
11
+ /**
12
+ * @typedef {Object} SeqOptions
13
+ * @property {String} correlationId
14
+ * @property {String} mediaId
15
+ * @property {Number} seq
16
+ */
17
+ /**
18
+ * @class Roap
19
+ * @export
20
+ * @private
21
+ */
22
+ export default class Roap extends StatelessWebexPlugin {
23
+ attrs: any;
24
+ lastRoapOffer: any;
25
+ options: any;
26
+ roapHandler: any;
27
+ roapRequest: any;
28
+ turnDiscovery: any;
29
+ /**
30
+ *
31
+ * @param {Object} attrs
32
+ * @param {Object} options
33
+ */
34
+ constructor(attrs: any, options: any);
35
+ /**
36
+ * Starts listening to mercury events for Roap messages
37
+ * @param {object} data event object
38
+ * @returns {Promise}
39
+ * @private
40
+ * @memberof Roap
41
+ */
42
+ private roapEvent;
43
+ /**
44
+ *
45
+ * @param {String} correlationId correlation id of a meeting
46
+ * @param {Number} seq ROAP sequence number
47
+ * @returns {Promise}
48
+ * @private
49
+ * @memberof Roap
50
+ */
51
+ private stop;
52
+ /**
53
+ *
54
+ * @param {SeqOptions} options
55
+ * @returns {null}
56
+ * @private
57
+ * @memberof Roap
58
+ */
59
+ private sendRoapOK;
60
+ /**
61
+ * Sends a ROAP answer...
62
+ * @param {SeqOptions} options
63
+ * @param {Boolean} options.audioMuted
64
+ * @param {Boolean} options.videoMuted
65
+ * @returns {Promise}
66
+ * @private
67
+ * @memberof Roap
68
+ */
69
+ private sendRoapAnswer;
70
+ /**
71
+ * Sends a ROAP error...
72
+ * @param {Object} session
73
+ * @param {Object} locus
74
+ * @param {String} errorType
75
+ * @returns {Promise}
76
+ * @private
77
+ * @memberof Roap
78
+ */
79
+ private sendRoapError;
80
+ /**
81
+ * sends a roap media request
82
+ * @param {RoapOptions} options
83
+ * @returns {Promise}
84
+ * @private
85
+ * @memberof Roap
86
+ */
87
+ sendRoapMediaRequest(options: any): any;
88
+ /**
89
+ * sends a roap media request
90
+ * @param {RoapOptions} options
91
+ * @returns {Promise}
92
+ * @private
93
+ * @memberof Roap
94
+ */
95
+ sendRoapCallRequest: (options: any) => any;
96
+ /**
97
+ * Called when the roap sequence is finished (completed successfully or failed)
98
+ * @param {String} correlationId id of the meeting affected
99
+ * @param {String} sequenceId the id of the finished sequence
100
+ * @returns {undefined}
101
+ * @private
102
+ * @memberof Roap
103
+ */
104
+ private roapFinished;
105
+ /**
106
+ * Performs a TURN server discovery procedure, which involves exchanging
107
+ * some roap messages with the server. This exchange has to be done before
108
+ * any other roap messages are sent
109
+ *
110
+ * @param {Meeting} meeting
111
+ * @param {Boolean} isReconnecting should be set to true if this is a new
112
+ * media connection just after a reconnection
113
+ * @returns {Promise}
114
+ */
115
+ doTurnDiscovery(meeting: Meeting, isReconnecting: boolean): any;
116
+ }
@@ -0,0 +1,35 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ /**
3
+ * @class RoapRequest
4
+ */
5
+ export default class RoapRequest extends StatelessWebexPlugin {
6
+ /**
7
+ * Joins a meeting via ROAP
8
+ * @param {Object} options
9
+ * @returns {Promise} returns a promise that resolves/rejects whatever the request does
10
+ */
11
+ attachRechabilityData(localSdp: any): any;
12
+ joinMeetingWithRoap(options: any): Promise<any>;
13
+ /**
14
+ * Sends a ROAP message
15
+ * @param {Object} options
16
+ * @param {Object} options.roapMessage
17
+ * @param {String} options.locusSelfUrl
18
+ * @param {String} options.mediaId
19
+ * @param {String} options.correlationId
20
+ * @param {Boolean} options.audioMuted
21
+ * @param {Boolean} options.videoMuted
22
+ * @param {String} options.meetingId
23
+ * @returns {Promise} returns the response/failure of the request
24
+ */
25
+ sendRoap(options: {
26
+ roapMessage: any;
27
+ locusSelfUrl: string;
28
+ mediaId: string;
29
+ correlationId: string;
30
+ audioMuted: boolean;
31
+ videoMuted: boolean;
32
+ meetingId: string;
33
+ preferTranscoding?: boolean;
34
+ }): any;
35
+ }
@@ -0,0 +1,9 @@
1
+ declare const RoapStateMachine: {
2
+ /**
3
+ * @param {Roap} roapRef
4
+ * initializes the state machine
5
+ * @returns {StateMachine} an instance of a state machine
6
+ */
7
+ createState(): any;
8
+ };
9
+ export default RoapStateMachine;
@@ -0,0 +1,67 @@
1
+ import RoapRequest from './request';
2
+ import Meeting from '../meeting';
3
+ /**
4
+ * Handles the process of finding out TURN server information from Linus.
5
+ * This is achieved by sending a TURN_DISCOVERY_REQUEST.
6
+ */
7
+ export default class TurnDiscovery {
8
+ private roapRequest;
9
+ private defer?;
10
+ private turnInfo;
11
+ private responseTimer?;
12
+ /**
13
+ * Constructor
14
+ *
15
+ * @param {RoapRequest} roapRequest
16
+ */
17
+ constructor(roapRequest: RoapRequest);
18
+ /**
19
+ * waits for TURN_DISCOVERY_RESPONSE message to arrive
20
+ *
21
+ * @returns {Promise}
22
+ * @private
23
+ * @memberof Roap
24
+ */
25
+ private waitForTurnDiscoveryResponse;
26
+ /**
27
+ * handles TURN_DISCOVERY_RESPONSE roap message
28
+ *
29
+ * @param {Object} roapMessage
30
+ * @returns {void}
31
+ * @public
32
+ * @memberof Roap
33
+ */
34
+ handleTurnDiscoveryResponse(roapMessage: object): void;
35
+ /**
36
+ * sends the TURN_DISCOVERY_REQUEST roap request
37
+ *
38
+ * @param {Meeting} meeting
39
+ * @param {Boolean} isReconnecting
40
+ * @returns {Promise}
41
+ * @private
42
+ * @memberof Roap
43
+ */
44
+ private sendRoapTurnDiscoveryRequest;
45
+ /**
46
+ * Sends the OK message that server expects to receive
47
+ * after it sends us TURN_DISCOVERY_RESPONSE
48
+ *
49
+ * @param {Meeting} meeting
50
+ * @returns {Promise}
51
+ */
52
+ sendRoapOK(meeting: Meeting): any;
53
+ /**
54
+ * Retrieves TURN server information from the backend by doing
55
+ * a roap message exchange:
56
+ * client server
57
+ * | -----TURN_DISCOVERY_REQUEST-----> |
58
+ * | <----TURN_DISCOVERY_RESPONSE----- |
59
+ * | --------------OK----------------> |
60
+ *
61
+ * @param {Meeting} meeting
62
+ * @param {Boolean} isReconnecting should be set to true if this is a new
63
+ * media connection just after a reconnection
64
+ * @returns {Promise}
65
+ */
66
+ doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean): any;
67
+ }
@@ -0,0 +1,2 @@
1
+ declare const RoapUtil: any;
2
+ export default RoapUtil;
@@ -0,0 +1,126 @@
1
+ declare const STATS_DEFAULT: {
2
+ encryption: string;
3
+ audio: {
4
+ send: {
5
+ maxPacketLossRatio: number;
6
+ availableBandwidth: number;
7
+ bytesSent: number;
8
+ meanRemoteJitter: any[];
9
+ meanRoundTripTime: any[];
10
+ };
11
+ recv: {
12
+ availableBandwidth: number;
13
+ bytesReceived: number;
14
+ meanRtpJitter: any[];
15
+ meanRoundTripTime: any[];
16
+ };
17
+ };
18
+ video: {
19
+ send: {
20
+ maxPacketLossRatio: number;
21
+ availableBandwidth: number;
22
+ meanRemoteJitter: any[];
23
+ meanRoundTripTime: any[];
24
+ };
25
+ recv: {
26
+ availableBandwidth: number;
27
+ totalPacketsLost: number;
28
+ meanRtpJitter: any[];
29
+ meanRoundTripTime: any[];
30
+ };
31
+ latency: number;
32
+ packetsLost: number;
33
+ };
34
+ share: {
35
+ send: {
36
+ maxPacketLossRatio: number;
37
+ availableBandwidth: number;
38
+ totalPacketsLost: number;
39
+ meanRemoteJitter: any[];
40
+ meanRoundTripTime: any[];
41
+ };
42
+ recv: {
43
+ availableBandwidth: number;
44
+ meanRtpJitter: any[];
45
+ meanRoundTripTime: any[];
46
+ };
47
+ latency: number;
48
+ packetsLost: number;
49
+ };
50
+ bandwidth: {
51
+ systemBandwidth: number;
52
+ sentPerSecond: number;
53
+ encodedPerSecond: number;
54
+ helper: {
55
+ audioBytesSent: number;
56
+ videoBytestSent: number;
57
+ };
58
+ speed: number;
59
+ };
60
+ results: {};
61
+ connectionType: {
62
+ systemNetworkType: string;
63
+ systemIpAddress: string;
64
+ local: {
65
+ candidateType: any[];
66
+ transport: any[];
67
+ ipAddress: any[];
68
+ networkType: any[];
69
+ };
70
+ remote: {
71
+ candidateType: any[];
72
+ transport: any[];
73
+ ipAddress: any[];
74
+ networkType: any[];
75
+ };
76
+ };
77
+ resolutions: {
78
+ audio: {
79
+ send: {
80
+ width: number;
81
+ height: number;
82
+ };
83
+ recv: {
84
+ width: number;
85
+ height: number;
86
+ };
87
+ };
88
+ video: {
89
+ send: {
90
+ width: number;
91
+ height: number;
92
+ };
93
+ recv: {
94
+ width: number;
95
+ height: number;
96
+ };
97
+ };
98
+ share: {
99
+ send: {
100
+ width: number;
101
+ height: number;
102
+ };
103
+ recv: {
104
+ width: number;
105
+ height: number;
106
+ };
107
+ };
108
+ };
109
+ internal: {
110
+ audio: {
111
+ send: {};
112
+ recv: {};
113
+ };
114
+ video: {
115
+ send: {};
116
+ recv: {};
117
+ };
118
+ share: {
119
+ send: {};
120
+ recv: {};
121
+ };
122
+ remote: {};
123
+ candidates: {};
124
+ };
125
+ };
126
+ export default STATS_DEFAULT;
@@ -0,0 +1,190 @@
1
+ /// <reference types="node" />
2
+ import EventsScope from '../common/events/events-scope';
3
+ export declare const EVENTS: {
4
+ MEDIA_QUALITY: string;
5
+ LOCAL_MEDIA_STARTED: string;
6
+ LOCAL_MEDIA_STOPPED: string;
7
+ REMOTE_MEDIA_STARTED: string;
8
+ REMOTE_MEDIA_STOPPED: string;
9
+ };
10
+ /**
11
+ * Stats Analyzer class that will emit events based on detected quality
12
+ *
13
+ * @export
14
+ * @class StatsAnalyzer
15
+ * @extends {EventsScope}
16
+ */
17
+ export declare class StatsAnalyzer extends EventsScope {
18
+ config: any;
19
+ correlationId: any;
20
+ lastEmittedStartStopEvent: any;
21
+ lastMqaDataSent: any;
22
+ lastStatsResults: any;
23
+ localMQEStats: any;
24
+ meetingMediaStatus: any;
25
+ mqaInterval: NodeJS.Timeout;
26
+ mqaSentCount: any;
27
+ networkQualityMonitor: any;
28
+ peerConnection: any;
29
+ statsInterval: NodeJS.Timeout;
30
+ statsResults: any;
31
+ statsStarted: any;
32
+ /**
33
+ * Creates a new instance of StatsAnalyzer
34
+ * @constructor
35
+ * @public
36
+ * @param {Object} config SDK Configuration Object
37
+ * @param {Object} networkQualityMonitor class for assessing network characteristics (jitter, packetLoss, latency)
38
+ * @param {Object} statsResults Default properties for stats
39
+ */
40
+ constructor(config: any, networkQualityMonitor?: object, statsResults?: object);
41
+ populateResults(lastMqa: any): void;
42
+ resetStatsResults(): void;
43
+ /**
44
+ * sets mediaStatus status for analyzing metrics
45
+ *
46
+ * @public
47
+ * @param {Object} status for the audio and video
48
+ * @memberof StatsAnalyzer
49
+ * @returns {void}
50
+ */
51
+ updateMediaStatus(status: object): void;
52
+ /**
53
+ * captures MQA data from peerconnection
54
+ *
55
+ * @public
56
+ * @memberof StatsAnalyzer
57
+ * @returns {void}
58
+ */
59
+ sendMqaData(): void;
60
+ /**
61
+ * updated the peerconnection when changed
62
+ *
63
+ * @private
64
+ * @memberof updatePeerconnection
65
+ * @param {PeerConnection} peerConnection
66
+ * @returns {void}
67
+ */
68
+ updatePeerconnection(peerConnection: any): void;
69
+ /**
70
+ * Starts the stats analyzer on interval
71
+ *
72
+ * @public
73
+ * @memberof StatsAnalyzer
74
+ * @param {PeerConnection} peerConnection
75
+ * @returns {Promise}
76
+ */
77
+ startAnalyzer(peerConnection: any): Promise<void>;
78
+ /**
79
+ * Cleans up the analyzer when done
80
+ *
81
+ * @public
82
+ * @memberof StatsAnalyzer
83
+ * @returns {void}
84
+ */
85
+ stopAnalyzer(): Promise<void>;
86
+ /**
87
+ * Parse a single result of get stats
88
+ *
89
+ * @private
90
+ * @param {*} getStatsResult
91
+ * @param {String} type
92
+ * @param {boolean} isSender
93
+ * @returns {void}
94
+ * @memberof StatsAnalyzer
95
+ */
96
+ private parseGetStatsResult;
97
+ /**
98
+ * Filters the get stats results for types
99
+ * @private
100
+ * @param {Array} getStatsResults
101
+ * @param {String} type
102
+ * @param {boolean} isSender
103
+ * @returns {void}
104
+ */
105
+ private filterAndParseGetStatsResults;
106
+ /**
107
+ * parse the audio
108
+ * @param {String} result
109
+ * @param {boolean} type
110
+ * @returns {void}
111
+ */
112
+ parseAudioSource(result: any, type: any): void;
113
+ /**
114
+ * emits started/stopped events for local/remote media by checking
115
+ * if given values are increasing or not. The previousValue, currentValue
116
+ * params can be any numerical value like number of receive packets or
117
+ * decoded frames, etc.
118
+ *
119
+ * @private
120
+ * @param {string} mediaType
121
+ * @param {number} previousValue - value to compare
122
+ * @param {number} currentValue - value to compare (must be same type of value as previousValue)
123
+ * @param {boolean} isLocal - true if stats are for local media being sent out, false for remote media being received
124
+ * @memberof StatsAnalyzer
125
+ * @returns {void}
126
+ */
127
+ emitStartStopEvents: (mediaType: string, previousValue: number, currentValue: number, isLocal: boolean) => void;
128
+ /**
129
+ * compares current and previous stats to check if packets are not sent
130
+ *
131
+ * @private
132
+ * @memberof StatsAnalyzer
133
+ * @returns {void}
134
+ */
135
+ private compareLastStatsResult;
136
+ /**
137
+ * Does a `getStats` on all the transceivers and parses the results
138
+ *
139
+ * @private
140
+ * @memberof StatsAnalyzer
141
+ * @returns {Promise}
142
+ */
143
+ private getStatsAndParse;
144
+ /**
145
+ * Processes OutboundRTP stats result and stores
146
+ * @private
147
+ * @param {*} result
148
+ * @param {*} type
149
+ * @returns {void}
150
+ */
151
+ private processOutboundRTPResult;
152
+ /**
153
+ * Processes InboundRTP stats result and stores
154
+ * @private
155
+ * @param {*} result
156
+ * @param {*} type
157
+ * @returns {void}
158
+ */
159
+ private processInboundRTPResult;
160
+ /**
161
+ * Processes remote and local candidate result and stores
162
+ * @private
163
+ * @param {*} result
164
+ * @param {*} type
165
+ * @param {boolean} isSender
166
+ * @param {boolean} isRemote
167
+ *
168
+ * @returns {void}
169
+ */
170
+ parseCandidate: (result: any, type: any, isSender: boolean, isRemote: boolean) => void;
171
+ /**
172
+ * Process Track results
173
+ *
174
+ * @private
175
+ * @param {*} result
176
+ * @param {*} mediaType
177
+ * @returns {void}
178
+ * @memberof StatsAnalyzer
179
+ */
180
+ private processTrackResult;
181
+ /**
182
+ *
183
+ * @private
184
+ * @param {*} result
185
+ * @param {*} type
186
+ * @returns {void}
187
+ * @memberof StatsAnalyzer
188
+ */
189
+ private compareSentAndReceived;
190
+ }
@@ -0,0 +1,22 @@
1
+ export declare const getAudioReceiverMqa: ({ audioReceiver, statsResults, lastMqaDataSent }: {
2
+ audioReceiver: any;
3
+ statsResults: any;
4
+ lastMqaDataSent: any;
5
+ }) => void;
6
+ export declare const getAudioSenderMqa: ({ audioSender, statsResults, lastMqaDataSent }: {
7
+ audioSender: any;
8
+ statsResults: any;
9
+ lastMqaDataSent: any;
10
+ }) => void;
11
+ export declare const getVideoReceiverMqa: ({ videoReceiver, statsResults, lastMqaDataSent, isShareStream, }: {
12
+ videoReceiver: any;
13
+ statsResults: any;
14
+ lastMqaDataSent: any;
15
+ isShareStream?: boolean;
16
+ }) => void;
17
+ export declare const getVideoSenderMqa: ({ videoSender, statsResults, lastMqaDataSent, isShareStream, }: {
18
+ videoSender: any;
19
+ statsResults: any;
20
+ lastMqaDataSent: any;
21
+ isShareStream?: boolean;
22
+ }) => void;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @description Meeting Webex assistance transcription feature.
3
+ * @exports
4
+ * @class Transcription
5
+ */
6
+ export default class Transcription {
7
+ webSocketUrl: any;
8
+ sessionID: any;
9
+ members: any;
10
+ memberCSIs: any;
11
+ webSocket: any;
12
+ /**
13
+ * @param {string} webSocketUrl
14
+ * @param {sessionID} sessionId
15
+ * @param {object} members
16
+ * @constructor
17
+ * @memberof Transcription
18
+ */
19
+ constructor(webSocketUrl: string, sessionId: any, members: object);
20
+ /**
21
+ * open the Low Latency Mercury connection
22
+ * An event parameter will be send to the callback.
23
+ *
24
+ * @param {string} token
25
+ * @param {string} sessionID
26
+ * @returns {void}
27
+ */
28
+ connect(token: string): void;
29
+ /**
30
+ * Sets callback to invoke when the web socket connection is closed.
31
+ *
32
+ * @param {Function} callback
33
+ * @returns {void}
34
+ */
35
+ onCloseSocket(callback: any): void;
36
+ /**
37
+ * Sets callback to invoke when a web socket connection error occurs.
38
+ * An event parameter will be send to the callback.
39
+ *
40
+ * @param {Function} callback
41
+ * @returns {void}
42
+ */
43
+ onErrorSocket(callback: any): void;
44
+ /**
45
+ * Get current speaker from the given csis payload and update the global csis map
46
+ *
47
+ * @private
48
+ * @param {object} csis
49
+ * @returns {object}
50
+ */
51
+ private getSpeaker;
52
+ /**
53
+ * Sends transcription data to given callback as it arrives.
54
+ *
55
+ * @param {Function} callback
56
+ * @returns {void}
57
+ */
58
+ subscribe(callback: any): void;
59
+ /**
60
+ * Close the LLM web socket connection
61
+ * @returns {void}
62
+ */
63
+ closeSocket(): void;
64
+ }