@voicenter-team/opensips-js 1.0.22 → 1.0.45

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 (65) hide show
  1. package/dist/index.d.ts +732 -0
  2. package/dist/opensips-js.cjs.js +155 -0
  3. package/dist/opensips-js.es.js +21367 -0
  4. package/dist/opensips-js.iife.js +155 -0
  5. package/dist/opensips-js.umd.js +155 -0
  6. package/package.json +14 -8
  7. package/src/types/Dialog.d.ts +7 -0
  8. package/src/types/Socket.d.ts +8 -0
  9. package/src/types/UAExtended.d.ts +22 -14
  10. package/src/types/listeners.d.ts +12 -4
  11. package/src/types/msrp.d.ts +15 -9
  12. package/src/types/rtc.d.ts +15 -5
  13. package/src/types/timer.d.ts +7 -0
  14. package/build/enum/call.event.listener.type.d.ts +0 -7
  15. package/build/enum/call.event.listener.type.js +0 -10
  16. package/build/enum/message.event.listener.type.d.ts +0 -5
  17. package/build/enum/message.event.listener.type.js +0 -8
  18. package/build/enum/metric.keys.to.include.d.ts +0 -2
  19. package/build/enum/metric.keys.to.include.js +0 -4
  20. package/build/enum/session.direction.enum.d.ts +0 -2
  21. package/build/enum/session.direction.enum.js +0 -5
  22. package/build/helpers/UA/index.d.ts +0 -41
  23. package/build/helpers/UA/index.js +0 -318
  24. package/build/helpers/audio.helper.d.ts +0 -15
  25. package/build/helpers/audio.helper.js +0 -97
  26. package/build/helpers/filter.helper.d.ts +0 -2
  27. package/build/helpers/filter.helper.js +0 -14
  28. package/build/helpers/jssip.d.ts +0 -5
  29. package/build/helpers/jssip.js +0 -30
  30. package/build/helpers/time.helper.d.ts +0 -16
  31. package/build/helpers/time.helper.js +0 -28
  32. package/build/helpers/volume.helper.d.ts +0 -2
  33. package/build/helpers/volume.helper.js +0 -76
  34. package/build/helpers/webrtcmetrics/collector.d.ts +0 -32
  35. package/build/helpers/webrtcmetrics/collector.js +0 -282
  36. package/build/helpers/webrtcmetrics/engine.d.ts +0 -20
  37. package/build/helpers/webrtcmetrics/engine.js +0 -164
  38. package/build/helpers/webrtcmetrics/exporter.d.ts +0 -116
  39. package/build/helpers/webrtcmetrics/exporter.js +0 -528
  40. package/build/helpers/webrtcmetrics/extractor.d.ts +0 -1
  41. package/build/helpers/webrtcmetrics/extractor.js +0 -976
  42. package/build/helpers/webrtcmetrics/index.d.ts +0 -63
  43. package/build/helpers/webrtcmetrics/index.js +0 -93
  44. package/build/helpers/webrtcmetrics/metrics.d.ts +0 -2
  45. package/build/helpers/webrtcmetrics/metrics.js +0 -8
  46. package/build/helpers/webrtcmetrics/probe.d.ts +0 -76
  47. package/build/helpers/webrtcmetrics/probe.js +0 -153
  48. package/build/helpers/webrtcmetrics/utils/config.d.ts +0 -12
  49. package/build/helpers/webrtcmetrics/utils/config.js +0 -28
  50. package/build/helpers/webrtcmetrics/utils/helper.d.ts +0 -13
  51. package/build/helpers/webrtcmetrics/utils/helper.js +0 -134
  52. package/build/helpers/webrtcmetrics/utils/log.d.ts +0 -7
  53. package/build/helpers/webrtcmetrics/utils/log.js +0 -71
  54. package/build/helpers/webrtcmetrics/utils/models.d.ts +0 -309
  55. package/build/helpers/webrtcmetrics/utils/models.js +0 -298
  56. package/build/helpers/webrtcmetrics/utils/score.d.ts +0 -4
  57. package/build/helpers/webrtcmetrics/utils/score.js +0 -235
  58. package/build/helpers/webrtcmetrics/utils/shortUUId.d.ts +0 -1
  59. package/build/helpers/webrtcmetrics/utils/shortUUId.js +0 -7
  60. package/build/index.d.ts +0 -180
  61. package/build/index.js +0 -1141
  62. package/build/lib/msrp/message.d.ts +0 -12
  63. package/build/lib/msrp/message.js +0 -82
  64. package/build/lib/msrp/session.d.ts +0 -94
  65. package/build/lib/msrp/session.js +0 -621
@@ -1,282 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const exporter_1 = __importDefault(require("./exporter"));
16
- const extractor_1 = require("./extractor");
17
- const score_1 = require("./utils/score");
18
- const models_1 = require("./utils/models");
19
- const helper_1 = require("./utils/helper");
20
- const log_1 = require("./utils/log");
21
- class Collector {
22
- constructor(cfg, refProbeId) {
23
- this._callbacks = {
24
- onreport: null,
25
- onticket: null,
26
- };
27
- this._id = (0, helper_1.createCollectorId)();
28
- this._moduleName = this._id;
29
- this._probeId = refProbeId;
30
- this._config = cfg;
31
- this._exporter = new exporter_1.default(cfg);
32
- this._state = models_1.COLLECTOR_STATE.IDLE;
33
- this.registerToPCEvents();
34
- (0, log_1.info)(this._moduleName, `new collector created for probe ${this._probeId}`);
35
- }
36
- analyze(stats, previousReport, beforeLastReport, referenceReport) {
37
- const getDefaultSSRCMetric = (kind, reportType) => {
38
- if (kind === models_1.VALUE.AUDIO) {
39
- if (reportType === models_1.TYPE.INBOUND_RTP) {
40
- return Object.assign({}, models_1.defaultAudioMetricIn);
41
- }
42
- return Object.assign({}, models_1.defaultAudioMetricOut);
43
- }
44
- if (reportType === models_1.TYPE.INBOUND_RTP) {
45
- return Object.assign({}, models_1.defaultVideoMetricIn);
46
- }
47
- return Object.assign({}, models_1.defaultVideoMetricOut);
48
- };
49
- const report = (0, models_1.getDefaultMetric)(previousReport);
50
- report.pname = this._config.pname;
51
- report.call_id = this._config.cid;
52
- report.user_id = this._config.uid;
53
- report.count = previousReport ? previousReport.count + 1 : 1;
54
- let timestamp = null;
55
- stats.forEach((stat) => {
56
- if (!timestamp && stat.timestamp) {
57
- timestamp = stat.timestamp;
58
- }
59
- const values = (0, extractor_1.extract)(stat, report, report.pname, referenceReport);
60
- values.forEach((data) => {
61
- if (data.value && data.type) {
62
- if (data.ssrc) {
63
- let ssrcReport = report[data.type][data.ssrc];
64
- if (!ssrcReport) {
65
- ssrcReport = getDefaultSSRCMetric(data.type, stat.type);
66
- ssrcReport.ssrc = data.ssrc;
67
- report[data.type][data.ssrc] = (ssrcReport);
68
- }
69
- Object.keys(data.value).forEach((key) => {
70
- ssrcReport[key] = data.value[key];
71
- });
72
- }
73
- else {
74
- Object.keys(data.value).forEach((key) => {
75
- report[data.type][key] = data.value[key];
76
- });
77
- }
78
- }
79
- });
80
- });
81
- report.timestamp = timestamp;
82
- Object.keys(report[models_1.VALUE.AUDIO]).forEach((key) => {
83
- const ssrcReport = report[models_1.VALUE.AUDIO][key];
84
- if (ssrcReport.direction === models_1.DIRECTION.INBOUND) {
85
- ssrcReport.mos_emodel_in = (0, score_1.computeEModelMOS)(report, models_1.VALUE.AUDIO, previousReport, beforeLastReport, ssrcReport.ssrc);
86
- ssrcReport.mos_in = (0, score_1.computeMOS)(report, models_1.VALUE.AUDIO, previousReport, beforeLastReport, ssrcReport.ssrc);
87
- }
88
- else {
89
- ssrcReport.mos_emodel_out = (0, score_1.computeEModelMOSForOutgoing)(report, models_1.VALUE.AUDIO, previousReport, beforeLastReport, ssrcReport.ssrc);
90
- ssrcReport.mos_out = (0, score_1.computeMOSForOutgoing)(report, models_1.VALUE.AUDIO, previousReport, beforeLastReport, ssrcReport.ssrc);
91
- }
92
- });
93
- return report;
94
- }
95
- takeReferenceStats() {
96
- return __awaiter(this, void 0, void 0, function* () {
97
- return new Promise((resolve, reject) => {
98
- const preWaitTime = Date.now();
99
- setTimeout(() => __awaiter(this, void 0, void 0, function* () {
100
- try {
101
- const waitTime = Date.now() - preWaitTime;
102
- const preTime = Date.now();
103
- const reports = yield this._config.pc.getStats();
104
- const referenceReport = this.analyze(reports, null, null, null);
105
- const postTime = Date.now();
106
- referenceReport.experimental.time_to_measure_ms = postTime - preTime;
107
- referenceReport.experimental.time_to_wait_ms = waitTime;
108
- this._exporter.saveReferenceReport(referenceReport);
109
- (0, log_1.debug)(this._moduleName, `got reference report for probe ${this._probeId}`);
110
- resolve();
111
- }
112
- catch (err) {
113
- reject(err);
114
- }
115
- }), this._config.startAfter);
116
- });
117
- });
118
- }
119
- collectStats() {
120
- return __awaiter(this, void 0, void 0, function* () {
121
- try {
122
- if (this._state !== models_1.COLLECTOR_STATE.RUNNING || !this._config.pc) {
123
- (0, log_1.debug)(this._moduleName, `report discarded (too late) for probe ${this._probeId}`);
124
- return null;
125
- }
126
- // Take into account last report in case no report have been generated (eg: candidate-pair)
127
- const preTime = Date.now();
128
- const reports = yield this._config.pc.getStats();
129
- const report = this.analyze(reports, this._exporter.getLastReport(), this._exporter.getBeforeLastReport(), this._exporter.getReferenceReport());
130
- const postTime = Date.now();
131
- report.experimental.time_to_measure_ms = postTime - preTime;
132
- this._exporter.addReport(report);
133
- (0, log_1.debug)(this._moduleName, `got report for probe ${this._probeId}#${this._exporter.getReportsNumber() + 1}`);
134
- this.fireOnReport(report);
135
- return report;
136
- }
137
- catch (err) {
138
- (0, log_1.error)(this._moduleName, `got error ${err}`);
139
- return null;
140
- }
141
- });
142
- }
143
- start() {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- (0, log_1.debug)(this._moduleName, "starting");
146
- this.state = models_1.COLLECTOR_STATE.RUNNING;
147
- this._startedTime = this._exporter.start();
148
- (0, log_1.debug)(this._moduleName, "started");
149
- });
150
- }
151
- mute() {
152
- return __awaiter(this, void 0, void 0, function* () {
153
- this.state = models_1.COLLECTOR_STATE.MUTED;
154
- (0, log_1.debug)(this._moduleName, "muted");
155
- });
156
- }
157
- unmute() {
158
- return __awaiter(this, void 0, void 0, function* () {
159
- this.state = models_1.COLLECTOR_STATE.RUNNING;
160
- (0, log_1.debug)(this._moduleName, "unmuted");
161
- });
162
- }
163
- stop(forced) {
164
- return __awaiter(this, void 0, void 0, function* () {
165
- (0, log_1.debug)(this._moduleName, `stopping${forced ? " by watchdog" : ""}...`);
166
- this._stoppedTime = this._exporter.stop();
167
- this.state = models_1.COLLECTOR_STATE.IDLE;
168
- if (this._config.ticket) {
169
- const { ticket } = this._exporter;
170
- this.fireOnTicket(ticket);
171
- }
172
- this._exporter.reset();
173
- (0, log_1.debug)(this._moduleName, "stopped");
174
- });
175
- }
176
- registerCallback(name, callback, context) {
177
- if (name in this._callbacks) {
178
- this._callbacks[name] = {
179
- callback,
180
- context,
181
- };
182
- (0, log_1.debug)(this._moduleName, `registered callback '${name}'`);
183
- }
184
- else {
185
- (0, log_1.error)(this._moduleName, `can't register callback for '${name}' - not found`);
186
- }
187
- }
188
- unregisterCallback(name) {
189
- if (name in this._callbacks) {
190
- this._callbacks[name] = null;
191
- delete this._callbacks[name];
192
- (0, log_1.debug)(this._moduleName, `unregistered callback '${name}'`);
193
- }
194
- else {
195
- (0, log_1.error)(this._moduleName, `can't unregister callback for '${name}' - not found`);
196
- }
197
- }
198
- fireOnReport(report) {
199
- if (this._callbacks.onreport) {
200
- (0, helper_1.call)(this._callbacks.onreport.callback, this._callbacks.onreport.context, report);
201
- }
202
- }
203
- fireOnTicket(ticket) {
204
- if (this._callbacks.onticket) {
205
- (0, helper_1.call)(this._callbacks.onticket.callback, this._callbacks.onticket.context, ticket);
206
- }
207
- }
208
- updateConfig(config) {
209
- this._config = config;
210
- this._exporter.updateConfig(config);
211
- }
212
- get state() {
213
- return this._state;
214
- }
215
- set state(newState) {
216
- this._state = newState;
217
- (0, log_1.debug)(this._moduleName, `state changed to ${newState}`);
218
- }
219
- addCustomEvent(at, category, name, description) {
220
- this._exporter.addCustomEvent({
221
- at: typeof at === "object" ? at.toJSON() : at,
222
- category,
223
- name,
224
- description,
225
- });
226
- }
227
- registerToPCEvents() {
228
- return __awaiter(this, void 0, void 0, function* () {
229
- const { pc } = this._config;
230
- navigator.mediaDevices.ondevicechange = () => __awaiter(this, void 0, void 0, function* () {
231
- try {
232
- const devices = yield navigator.mediaDevices.enumerateDevices();
233
- this.addCustomEvent(new Date().toJSON(), "device", `${devices.length} devices found`, "Media Devices state");
234
- // eslint-disable-next-line no-empty
235
- }
236
- catch (err) {
237
- (0, log_1.error)(this._moduleName, "can't get devices");
238
- }
239
- });
240
- if (pc) {
241
- pc.oniceconnectionstatechange = () => {
242
- const value = pc.iceConnectionState;
243
- if (value === models_1.ICE_CONNECTION_STATE.CONNECTED ||
244
- value === models_1.ICE_CONNECTION_STATE.COMPLETED) {
245
- this.addCustomEvent(new Date().toJSON(), "call", value, "ICE connection state");
246
- }
247
- else if (value === models_1.ICE_CONNECTION_STATE.DISCONNECTED ||
248
- value === models_1.ICE_CONNECTION_STATE.FAILED) {
249
- this.addCustomEvent(new Date().toJSON(), "call", value, "ICE connection state");
250
- }
251
- else if (value === models_1.ICE_CONNECTION_STATE.CLOSED) {
252
- this.addCustomEvent(new Date().toJSON(), "call", "ended", "ICE connection state");
253
- }
254
- };
255
- pc.onicegatheringstatechange = () => {
256
- const value = pc.iceGatheringState;
257
- this.addCustomEvent(new Date().toJSON(), "call", value, "ICE gathering state");
258
- };
259
- pc.ontrack = (e) => {
260
- this.addCustomEvent(new Date().toJSON(), "call", `${e.track.kind}track`, "MediaStreamTrack received");
261
- };
262
- pc.onnegotiationneeded = () => {
263
- this.addCustomEvent(new Date().toJSON(), "call", "negotiation", "Media changed");
264
- };
265
- const receivers = pc.getReceivers();
266
- if (receivers && receivers.length > 0) {
267
- const receiver = receivers[0];
268
- const { transport } = receiver;
269
- if (transport) {
270
- const { iceTransport } = transport;
271
- if (iceTransport) {
272
- iceTransport.onselectedcandidatepairchange = () => {
273
- this.addCustomEvent(new Date().toJSON(), "call", "transport", "Candidates Pair changed");
274
- };
275
- }
276
- }
277
- }
278
- }
279
- });
280
- }
281
- }
282
- exports.default = Collector;
@@ -1,20 +0,0 @@
1
- export default class ProbesEngine {
2
- constructor(cfg: any);
3
- _config: any;
4
- _probes: any[];
5
- _startedTime: number | null;
6
- _callbacks: {
7
- onresult: null;
8
- };
9
- get probes(): any[];
10
- get isRunning(): boolean;
11
- get isIdle(): boolean;
12
- addNewProbe(peerConnection: any, options: any): Probe;
13
- removeExistingProbe(probe: any): void;
14
- start(): Promise<void>;
15
- stop(forced: any): void;
16
- registerCallback(name: any, callback: any, context: any): void;
17
- unregisterCallback(name: any): void;
18
- fireOnReports(report: any): void;
19
- }
20
- import Probe from "./probe";
@@ -1,164 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const log_1 = require("./utils/log");
16
- const config_1 = require("./utils/config");
17
- const probe_1 = __importDefault(require("./probe"));
18
- const models_1 = require("./utils/models");
19
- const helper_1 = require("./utils/helper");
20
- const moduleName = "engine ";
21
- class ProbesEngine {
22
- constructor(cfg) {
23
- this._config = cfg;
24
- this._probes = [];
25
- this._startedTime = null;
26
- this._callbacks = {
27
- onresult: null,
28
- };
29
- (0, log_1.info)(moduleName, `configured for probing every ${this._config.refreshEvery}ms`);
30
- (0, log_1.info)(moduleName, `configured for starting after ${this._config.startAfter}ms`);
31
- (0, log_1.info)(moduleName, `${(!this._config.stopAfter || this._config.stopAfter !== -1) ? `configured for stopped after ${this._config.stopAfter}ms` : "configured for never stopped"}`);
32
- (0, log_1.debug)(moduleName, "engine initialized");
33
- }
34
- get probes() {
35
- return this._probes;
36
- }
37
- get isRunning() {
38
- return this._probes.some((probe) => (probe.isRunning));
39
- }
40
- get isIdle() {
41
- return this._probes.every((probe) => (probe.isIdle));
42
- }
43
- addNewProbe(peerConnection, options) {
44
- if (!peerConnection) {
45
- throw new Error("undefined peer connection");
46
- }
47
- const probeConfig = (0, config_1.getConfig)(peerConnection, options, this._config);
48
- const probe = new probe_1.default(probeConfig);
49
- this._probes.push(probe);
50
- (0, log_1.debug)(moduleName, `${this._probes.length} probes registered`);
51
- return probe;
52
- }
53
- removeExistingProbe(probe) {
54
- if (!probe) {
55
- throw new Error("undefined probe");
56
- }
57
- if (probe.state === models_1.COLLECTOR_STATE.RUNNING) {
58
- probe.stop();
59
- }
60
- this._probes = this._probes.filter((existingProbe) => (probe.id !== existingProbe.id));
61
- }
62
- start() {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- const startProbes = () => {
65
- this._probes.forEach((probe) => probe.start());
66
- };
67
- const takeReferenceStat = () => __awaiter(this, void 0, void 0, function* () {
68
- return (Promise.all(this._probes.map((probe) => (probe.takeReferenceStats()))));
69
- });
70
- const shouldCollectStats = () => {
71
- if (this.isIdle) {
72
- // don't collect if there is no running probes
73
- return false;
74
- }
75
- if (!this._config.stopAfter || this._config.stopAfter < 0) {
76
- // always collect if stopAfter has not been set
77
- return true;
78
- }
79
- // Else check expiration
80
- return (Date.now() < this._startedTime + this._config.stopAfter);
81
- };
82
- const collectStats = () => __awaiter(this, void 0, void 0, function* () {
83
- const globalReport = (0, models_1.getDefaultGlobalMetric)();
84
- const runningProbes = this._probes.filter((probe) => (probe.isRunning));
85
- for (const probe of runningProbes) {
86
- const report = yield probe.collectStats();
87
- if (report) {
88
- globalReport.probes.push(report);
89
- }
90
- (0, log_1.debug)(moduleName, `got probe ${probe.id}`);
91
- yield (0, helper_1.timeout)(0);
92
- }
93
- // Compute total measure time
94
- globalReport.delta_time_to_measure_probes_ms = (0, helper_1.sumValuesOfReports)(globalReport.probes, "experimental", "time_to_measure_ms");
95
- globalReport.delta_KBytes_in = (0, helper_1.sumValuesOfReports)(globalReport.probes, "data", "delta_KBytes_in");
96
- globalReport.delta_KBytes_out = (0, helper_1.sumValuesOfReports)(globalReport.probes, "data", "delta_KBytes_out");
97
- globalReport.delta_kbs_in = (0, helper_1.sumValuesOfReports)(globalReport.probes, "data", "delta_kbs_in");
98
- globalReport.delta_kbs_out = (0, helper_1.sumValuesOfReports)(globalReport.probes, "data", "delta_kbs_out");
99
- globalReport.total_time_decoded_in = (0, helper_1.sumValuesOfReports)(globalReport.probes, "video", "total_time_decoded_in");
100
- globalReport.total_time_encoded_out = (0, helper_1.sumValuesOfReports)(globalReport.probes, "video", "total_time_encoded_out");
101
- return globalReport;
102
- });
103
- (0, log_1.debug)(moduleName, "starting to collect");
104
- startProbes();
105
- (0, log_1.debug)(moduleName, "generating reference reports...");
106
- yield takeReferenceStat();
107
- (0, log_1.debug)(moduleName, "reference reports generated");
108
- this._startedTime = Date.now();
109
- while (shouldCollectStats()) {
110
- (0, log_1.debug)(moduleName, `wait ${this._config.refreshEvery}ms before collecting`);
111
- yield (0, helper_1.timeout)(this._config.refreshEvery);
112
- if (shouldCollectStats()) {
113
- (0, log_1.debug)(moduleName, "collecting...");
114
- const preTime = Date.now();
115
- const globalReport = yield collectStats();
116
- const postTime = Date.now();
117
- globalReport.delta_time_consumed_to_measure_ms = postTime - preTime;
118
- this.fireOnReports(globalReport);
119
- (0, log_1.debug)(moduleName, "collected");
120
- }
121
- }
122
- (0, log_1.debug)(moduleName, "reaching end of the collecting period...");
123
- if (this.isRunning) {
124
- setTimeout(() => {
125
- this.stop();
126
- }, 0);
127
- }
128
- });
129
- }
130
- stop(forced) {
131
- const stopProbes = (manual) => {
132
- this._probes.forEach((probe) => {
133
- probe.stop(manual);
134
- });
135
- };
136
- (0, log_1.info)(moduleName, "stop collecting");
137
- stopProbes(forced);
138
- }
139
- registerCallback(name, callback, context) {
140
- if (name in this._callbacks) {
141
- this._callbacks[name] = { callback, context };
142
- (0, log_1.debug)(moduleName, `registered callback '${name}'`);
143
- }
144
- else {
145
- (0, log_1.error)(moduleName, `can't register callback for '${name}' - not found`);
146
- }
147
- }
148
- unregisterCallback(name) {
149
- if (name in this._callbacks) {
150
- this._callbacks[name] = null;
151
- delete this._callbacks[name];
152
- (0, log_1.debug)(this._moduleName, `unregistered callback '${name}'`);
153
- }
154
- else {
155
- (0, log_1.error)(this._moduleName, `can't unregister callback for '${name}' - not found`);
156
- }
157
- }
158
- fireOnReports(report) {
159
- if (this._callbacks.onresult && report.probes.length > 0) {
160
- (0, helper_1.call)(this._callbacks.onresult.callback, this._callbacks.onresult.context, report);
161
- }
162
- }
163
- }
164
- exports.default = ProbesEngine;
@@ -1,116 +0,0 @@
1
- export default class Exporter {
2
- constructor(cfg: any);
3
- _start: string | null;
4
- _end: string | null;
5
- _cfg: any;
6
- _referenceReport: any;
7
- _reports: any[];
8
- _events: any[];
9
- start(): Date;
10
- stop(): Date;
11
- saveReferenceReport(report: any): void;
12
- getReferenceReport(): any;
13
- addReport(report: any): void;
14
- addCustomEvent(event: any): void;
15
- reset(): void;
16
- get ticket(): {
17
- version: string;
18
- configuration: {
19
- frequency: any;
20
- };
21
- started: string | null;
22
- ended: string | null;
23
- ua: {
24
- agent: string;
25
- pname: any;
26
- user_id: any;
27
- };
28
- call: {
29
- call_id: any;
30
- events: any[];
31
- };
32
- details: {
33
- count: number;
34
- reports: any[];
35
- reference: any;
36
- };
37
- ssrc: {};
38
- data: {
39
- rtt: {
40
- avg: number | null;
41
- min: number | null;
42
- max: number | null;
43
- volatility: number | null;
44
- _unit: {
45
- avg: string;
46
- min: string;
47
- max: string;
48
- volatility: string;
49
- };
50
- };
51
- packetsLost: {
52
- audio: {
53
- in: {
54
- avg: number;
55
- };
56
- };
57
- video: {
58
- in: {
59
- avg: number;
60
- };
61
- };
62
- unit: {
63
- avg: string;
64
- };
65
- };
66
- bitrate: {
67
- in: {
68
- avg: number | null;
69
- min: number | null;
70
- max: number | null;
71
- volatility: number | null;
72
- };
73
- out: {
74
- avg: number | null;
75
- min: number | null;
76
- max: number | null;
77
- volatility: number | null;
78
- };
79
- unit: {
80
- avg: string;
81
- min: string;
82
- max: string;
83
- volatility: string;
84
- };
85
- };
86
- traffic: {
87
- in: {
88
- avg: number | null;
89
- min: number | null;
90
- max: number | null;
91
- volatility: number | null;
92
- };
93
- out: {
94
- avg: number | null;
95
- min: number | null;
96
- max: number | null;
97
- volatility: number | null;
98
- };
99
- unit: {
100
- avg: string;
101
- min: string;
102
- max: string;
103
- volatility: string;
104
- };
105
- };
106
- network: {
107
- localConnection: string;
108
- remoteConnection: string;
109
- };
110
- };
111
- };
112
- updateConfig(config: any): void;
113
- getLastReport(): any;
114
- getBeforeLastReport(): any;
115
- getReportsNumber(): number;
116
- }