@voicenter-team/opensips-js 1.0.22 → 1.0.45

Sign up to get free protection for your applications and to get access to all the features.
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,528 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const log_1 = require("./utils/log");
4
- const helper_1 = require("./utils/helper");
5
- const models_1 = require("./utils/models");
6
- const moduleName = "exporter ";
7
- const VERSION_EXPORTER = "2.0";
8
- const averageRTT = (reports, kind, ssrc) => {
9
- if (!reports || reports.length === 0) {
10
- return 0;
11
- }
12
- const lastReport = reports[reports.length - 1];
13
- if (!lastReport) {
14
- return 0;
15
- }
16
- const ssrcData = lastReport[kind][ssrc];
17
- if (ssrcData) {
18
- const totalRTT = ssrcData.total_rtt_ms_out;
19
- const totalMeasurements = ssrcData.total_rtt_measure_out;
20
- if (!totalMeasurements || !totalRTT) {
21
- return (0, helper_1.averageValuesOfReports)(reports, kind, "delta_rtt_ms_out", false, ssrc);
22
- }
23
- return Number(totalRTT / totalMeasurements);
24
- }
25
- return null;
26
- };
27
- const averageRTTConnectivity = (reports, kind) => {
28
- if (!reports || reports.length === 0) {
29
- return 0;
30
- }
31
- const lastReport = reports[reports.length - 1];
32
- if (!lastReport) {
33
- return 0;
34
- }
35
- const totalRTT = lastReport[kind].total_rtt_connectivity_ms;
36
- const totalMeasurements = lastReport[kind].total_rtt_connectivity_measure;
37
- if (!totalMeasurements || !totalRTT) {
38
- return (0, helper_1.averageValuesOfReports)(reports, kind, "delta_rtt_connectivity_ms");
39
- }
40
- return Number(totalRTT / totalMeasurements);
41
- };
42
- const getPath = (reports) => {
43
- const localCandidateType = (0, helper_1.lastOfReports)(reports, "network", "local_candidate_type");
44
- if (localCandidateType !== "relay") {
45
- const localCandidateProtocol = (0, helper_1.lastOfReports)(reports, "network", "local_candidate_protocol");
46
- return `direct/${localCandidateProtocol}`;
47
- }
48
- const localCandidateRelayProtocol = (0, helper_1.lastOfReports)(reports, "network", "local_candidate_relay_protocol");
49
- return `turn/${localCandidateRelayProtocol}`;
50
- };
51
- const getRemotePath = (reports) => {
52
- const localCandidateType = (0, helper_1.lastOfReports)(reports, "network", "remote_candidate_type");
53
- const localCandidateProtocol = (0, helper_1.lastOfReports)(reports, "network", "remote_candidate_protocol");
54
- if (localCandidateType !== "relay") {
55
- return `direct/${localCandidateProtocol}`;
56
- }
57
- return `turn/${localCandidateProtocol}`;
58
- };
59
- class Exporter {
60
- constructor(cfg) {
61
- this._start = null;
62
- this._end = null;
63
- this._cfg = cfg;
64
- this._referenceReport = null;
65
- this._reports = [];
66
- this._events = [];
67
- }
68
- start() {
69
- (0, log_1.trace)(moduleName, "start() - start exporter...");
70
- const date = new Date();
71
- this._start = date.toJSON();
72
- return date;
73
- }
74
- stop() {
75
- (0, log_1.trace)(moduleName, "stop() - stop exporter...");
76
- const date = new Date();
77
- this._end = date.toJSON();
78
- return date;
79
- }
80
- saveReferenceReport(report) {
81
- this._referenceReport = report;
82
- }
83
- getReferenceReport() {
84
- return this._referenceReport;
85
- }
86
- addReport(report) {
87
- if (this._cfg.ticket) {
88
- (0, log_1.debug)(moduleName, `addReport() - add report to exporter at ${report.timestamp}`);
89
- this._reports.push(report);
90
- }
91
- }
92
- addCustomEvent(event) {
93
- this._events.push(event);
94
- }
95
- reset() {
96
- (0, log_1.trace)(moduleName, "resetReports() - reset reports");
97
- this._reports = [];
98
- this._referenceReport = null;
99
- this._start = null;
100
- this._end = null;
101
- }
102
- get ticket() {
103
- (0, log_1.debug)(moduleName, "ticket() - generate ticket");
104
- const audioPacketsLost = (0, helper_1.lastOfReports)(this._reports, "audio", "total_packets_lost_in");
105
- const audioPacketsReceived = (0, helper_1.lastOfReports)(this._reports, "audio", "total_packets_in");
106
- const videoPacketsLost = (0, helper_1.lastOfReports)(this._reports, "video", "total_packets_lost_in");
107
- const videoPacketsReceived = (0, helper_1.lastOfReports)(this._reports, "video", "total_packets_in");
108
- const ssrcExporter = {};
109
- const lastReport = (0, helper_1.getLastReport)(this._reports);
110
- if (lastReport) {
111
- Object.keys(lastReport[models_1.VALUE.AUDIO]).forEach((ssrc) => {
112
- const ssrcAudio = lastReport[models_1.VALUE.AUDIO][ssrc];
113
- ssrcExporter[ssrcAudio.ssrc] = {
114
- type: models_1.VALUE.AUDIO,
115
- direction: ssrcAudio.direction,
116
- };
117
- if (ssrcAudio.direction === models_1.DIRECTION.INBOUND) {
118
- const jitter = {
119
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_jitter_ms_in", false, ssrc),
120
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_jitter_ms_in", ssrc),
121
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_jitter_ms_in", ssrc),
122
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_jitter_ms_in", ssrc),
123
- _unit: {
124
- avg: "ms",
125
- min: "ms",
126
- max: "ms",
127
- volatility: "percent",
128
- },
129
- };
130
- const bitrate = {
131
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_kbs_in", false, ssrc),
132
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_kbs_in", ssrc),
133
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_kbs_in", ssrc),
134
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_kbs_in", ssrc),
135
- _unit: {
136
- avg: "kbs",
137
- min: "kbs",
138
- max: "kbs",
139
- volatility: "percent",
140
- },
141
- };
142
- const traffic = {
143
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_KBytes_in", false, ssrc),
144
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_KBytes_in", ssrc),
145
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_KBytes_in", ssrc),
146
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_KBytes_in", ssrc),
147
- _unit: {
148
- avg: "KB",
149
- min: "KB",
150
- max: "KB",
151
- volatility: "percent",
152
- },
153
- };
154
- const mos = {
155
- emodel: {
156
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_emodel_in", false, ssrc),
157
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_emodel_in", ssrc),
158
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_emodel_in", ssrc),
159
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_emodel_in", ssrc),
160
- },
161
- effective: {
162
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_in", false, ssrc),
163
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_in", ssrc),
164
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_in", ssrc),
165
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_in", ssrc),
166
- },
167
- _unit: {
168
- avg: "number (1-5)",
169
- min: "number (1-5)",
170
- max: "number (1-5)",
171
- volatility: "percent",
172
- },
173
- };
174
- const packetsLost = (0, helper_1.lastOfReports)(this._reports, models_1.VALUE.AUDIO, "total_packets_lost_in", ssrc);
175
- const packetsReceived = (0, helper_1.lastOfReports)(this._reports, models_1.VALUE.AUDIO, "total_packets_in", ssrc);
176
- const loss = {
177
- lost: packetsLost,
178
- avg: Math.round(((packetsLost /
179
- (packetsLost + packetsReceived)) *
180
- 100 || 0) * 100) / 100,
181
- _unit: {
182
- avg: "percent",
183
- lost: "number",
184
- },
185
- };
186
- ssrcExporter[ssrc].jitter = jitter;
187
- ssrcExporter[ssrc].mos = mos;
188
- ssrcExporter[ssrc].traffic = traffic;
189
- ssrcExporter[ssrc].bitrate = bitrate;
190
- ssrcExporter[ssrc].loss = loss;
191
- }
192
- else {
193
- const jitter = {
194
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_jitter_ms_out", false, ssrc),
195
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_jitter_ms_out", ssrc),
196
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_jitter_ms_out", ssrc),
197
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_jitter_ms_out", ssrc),
198
- _unit: {
199
- avg: "ms",
200
- min: "ms",
201
- max: "ms",
202
- volatility: "percent",
203
- },
204
- };
205
- const bitrate = {
206
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_kbs_out", false, ssrc),
207
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_kbs_out", ssrc),
208
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_kbs_out", ssrc),
209
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_kbs_out", ssrc),
210
- _unit: {
211
- avg: "kbs",
212
- min: "kbs",
213
- max: "kbs",
214
- volatility: "percent",
215
- },
216
- };
217
- const traffic = {
218
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_KBytes_out", false, ssrc),
219
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_KBytes_out", ssrc),
220
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_KBytes_out", ssrc),
221
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_KBytes_out", ssrc),
222
- _unit: {
223
- avg: "KB",
224
- min: "KB",
225
- max: "KB",
226
- bitrate: "kbs",
227
- volatility: "percent",
228
- },
229
- };
230
- const rtt = {
231
- avg: averageRTT(this._reports, models_1.VALUE.AUDIO, ssrc),
232
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_rtt_ms_out", ssrc),
233
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_rtt_ms_out", ssrc),
234
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "delta_rtt_ms_out", ssrc),
235
- _unit: {
236
- avg: "ms",
237
- min: "ms",
238
- max: "ms",
239
- volatility: "percent",
240
- },
241
- };
242
- const packetsLost = (0, helper_1.lastOfReports)(this._reports, models_1.VALUE.AUDIO, "total_packets_lost_out", ssrc);
243
- const packetsReceived = (0, helper_1.lastOfReports)(this._reports, models_1.VALUE.AUDIO, "total_packets_out", ssrc);
244
- const loss = {
245
- lost: packetsLost,
246
- avg: Math.round(((packetsLost /
247
- (packetsLost + packetsReceived)) *
248
- 100 || 0) * 100) / 100,
249
- _unit: {
250
- avg: "percent",
251
- lost: "number",
252
- },
253
- };
254
- const mos = {
255
- emodel: {
256
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_emodel_out", false, ssrc),
257
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_emodel_out", ssrc),
258
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_emodel_out", ssrc),
259
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_emodel_out", ssrc),
260
- },
261
- effective: {
262
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_out", false, ssrc),
263
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_out", ssrc),
264
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_out", ssrc),
265
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.AUDIO, "mos_out", ssrc),
266
- },
267
- _unit: {
268
- avg: "number (1-5)",
269
- min: "number (1-5)",
270
- max: "number (1-5)",
271
- volatility: "percent",
272
- },
273
- };
274
- ssrcExporter[ssrc].jitter = jitter;
275
- ssrcExporter[ssrc].rtt = rtt;
276
- ssrcExporter[ssrc].traffic = traffic;
277
- ssrcExporter[ssrc].bitrate = bitrate;
278
- ssrcExporter[ssrc].loss = loss;
279
- ssrcExporter[ssrc].mos = mos;
280
- }
281
- });
282
- Object.keys(lastReport[models_1.VALUE.VIDEO])
283
- .forEach((ssrc) => {
284
- const ssrcVideo = lastReport[models_1.VALUE.VIDEO][ssrc];
285
- ssrcExporter[ssrc] = {
286
- type: models_1.VALUE.VIDEO,
287
- direction: ssrcVideo.direction,
288
- };
289
- if (ssrcVideo.direction === models_1.DIRECTION.INBOUND) {
290
- const jitter = {
291
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_jitter_ms_in", false, ssrc),
292
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_jitter_ms_in", ssrc),
293
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_jitter_ms_in", ssrc),
294
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_jitter_ms_in", ssrc),
295
- _unit: {
296
- avg: "ms",
297
- min: "ms",
298
- max: "ms",
299
- volatility: "percent",
300
- },
301
- };
302
- const bitrate = {
303
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_kbs_in", false, ssrc),
304
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_kbs_in", ssrc),
305
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_kbs_in", ssrc),
306
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_kbs_in", ssrc),
307
- _unit: {
308
- avg: "kbs",
309
- min: "kbs",
310
- max: "kbs",
311
- volatility: "percent",
312
- },
313
- };
314
- const traffic = {
315
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_KBytes_in", false, ssrc),
316
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_KBytes_in", ssrc),
317
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_KBytes_in", ssrc),
318
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_KBytes_in", ssrc),
319
- _unit: {
320
- avg: "KB",
321
- min: "KB",
322
- max: "KB",
323
- volatility: "percent",
324
- },
325
- };
326
- const packetsLost = (0, helper_1.lastOfReports)(this._reports, models_1.VALUE.VIDEO, "total_packets_lost_in", ssrc);
327
- const packetsReceived = (0, helper_1.lastOfReports)(this._reports, models_1.VALUE.VIDEO, "total_packets_in", ssrc);
328
- const loss = {
329
- lost: packetsLost,
330
- avg: Math.round(((packetsLost /
331
- (packetsLost + packetsReceived)) *
332
- 100 || 0) * 100) / 100,
333
- _unit: {
334
- avg: "percent",
335
- lost: "number",
336
- },
337
- };
338
- ssrcExporter[ssrc].jitter = jitter;
339
- ssrcExporter[ssrc].traffic = traffic;
340
- ssrcExporter[ssrc].bitrate = bitrate;
341
- ssrcExporter[ssrc].loss = loss;
342
- }
343
- else {
344
- const jitter = {
345
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_jitter_ms_out", false, ssrc),
346
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_jitter_ms_out", ssrc),
347
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_jitter_ms_out", ssrc),
348
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_jitter_ms_out", ssrc),
349
- _unit: {
350
- avg: "ms",
351
- min: "ms",
352
- max: "ms",
353
- volatility: "percent",
354
- },
355
- };
356
- const bitrate = {
357
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_kbs_out", false, ssrc),
358
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_kbs_out", ssrc),
359
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_kbs_out", ssrc),
360
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_kbs_out", ssrc),
361
- _unit: {
362
- avg: "kbs",
363
- min: "kbs",
364
- max: "kbs",
365
- volatility: "percent",
366
- },
367
- };
368
- const traffic = {
369
- avg: (0, helper_1.averageValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_KBytes_out", false, ssrc),
370
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_KBytes_out", ssrc),
371
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_KBytes_out", ssrc),
372
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_KBytes_out", ssrc),
373
- _unit: {
374
- avg: "KB",
375
- min: "KB",
376
- max: "KB",
377
- volatility: "percent",
378
- },
379
- };
380
- const rtt = {
381
- avg: averageRTT(this._reports, models_1.VALUE.VIDEO, ssrc),
382
- min: (0, helper_1.minValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_rtt_ms_out", ssrc),
383
- max: (0, helper_1.maxValueOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_rtt_ms_out", ssrc),
384
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, models_1.VALUE.VIDEO, "delta_rtt_ms_out", ssrc),
385
- _unit: {
386
- avg: "ms",
387
- min: "ms",
388
- max: "ms",
389
- volatility: "percent",
390
- },
391
- };
392
- const packetsLost = (0, helper_1.lastOfReports)(this._reports, models_1.VALUE.VIDEO, "total_packets_lost_out", ssrc);
393
- const packetsReceived = (0, helper_1.lastOfReports)(this._reports, models_1.VALUE.VIDEO, "total_packets_out", ssrc);
394
- const loss = {
395
- lost: packetsLost,
396
- avg: Math.round(((packetsLost /
397
- (packetsLost + packetsReceived)) *
398
- 100 || 0) * 100) / 100,
399
- _unit: {
400
- avg: "percent",
401
- lost: "number",
402
- },
403
- };
404
- ssrcExporter[ssrc].jitter = jitter;
405
- ssrcExporter[ssrc].rtt = rtt;
406
- ssrcExporter[ssrc].traffic = traffic;
407
- ssrcExporter[ssrc].bitrate = bitrate;
408
- ssrcExporter[ssrc].loss = loss;
409
- }
410
- });
411
- }
412
- return {
413
- version: VERSION_EXPORTER,
414
- configuration: {
415
- frequency: this._cfg.refreshEvery,
416
- },
417
- started: this._start,
418
- ended: this._end,
419
- ua: {
420
- agent: navigator.userAgent,
421
- pname: this._cfg.pname,
422
- user_id: this._cfg.uid,
423
- },
424
- call: {
425
- call_id: this._cfg.cid,
426
- events: this._events,
427
- },
428
- details: {
429
- count: this._reports.length,
430
- reports: this._cfg.record ? this._reports : [],
431
- reference: this._referenceReport || null,
432
- },
433
- ssrc: ssrcExporter,
434
- data: {
435
- rtt: {
436
- avg: averageRTTConnectivity(this._reports, "data"),
437
- min: (0, helper_1.minValueOfReports)(this._reports, "data", "delta_rtt_connectivity_ms"),
438
- max: (0, helper_1.maxValueOfReports)(this._reports, "data", "delta_rtt_connectivity_ms"),
439
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, "data", "delta_rtt_connectivity_ms"),
440
- _unit: {
441
- avg: "ms",
442
- min: "ms",
443
- max: "ms",
444
- volatility: "percent",
445
- },
446
- },
447
- packetsLost: {
448
- audio: {
449
- in: {
450
- avg: Math.round(((audioPacketsLost /
451
- (audioPacketsLost + audioPacketsReceived)) *
452
- 100 || 0) * 100) / 100,
453
- },
454
- },
455
- video: {
456
- in: {
457
- avg: Math.round(((videoPacketsLost /
458
- (videoPacketsLost + videoPacketsReceived)) *
459
- 100 || 0) * 100) / 100,
460
- },
461
- },
462
- unit: {
463
- avg: "percent",
464
- },
465
- },
466
- bitrate: {
467
- in: {
468
- avg: (0, helper_1.averageValuesOfReports)(this._reports, "data", "delta_kbs_in"),
469
- min: (0, helper_1.minValueOfReports)(this._reports, "data", "delta_kbs_in"),
470
- max: (0, helper_1.maxValueOfReports)(this._reports, "data", "delta_kbs_in"),
471
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, "data", "delta_kbs_in"),
472
- },
473
- out: {
474
- avg: (0, helper_1.averageValuesOfReports)(this._reports, "data", "delta_kbs_out"),
475
- min: (0, helper_1.minValueOfReports)(this._reports, "data", "delta_kbs_out"),
476
- max: (0, helper_1.maxValueOfReports)(this._reports, "data", "delta_kbs_out"),
477
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, "data", "delta_kbs_out"),
478
- },
479
- unit: {
480
- avg: "kbs",
481
- min: "kbs",
482
- max: "kbs",
483
- volatility: "percent",
484
- },
485
- },
486
- traffic: {
487
- in: {
488
- avg: (0, helper_1.averageValuesOfReports)(this._reports, "data", "delta_KBytes_in"),
489
- min: (0, helper_1.minValueOfReports)(this._reports, "data", "delta_KBytes_in"),
490
- max: (0, helper_1.maxValueOfReports)(this._reports, "data", "delta_KBytes_in"),
491
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, "data", "delta_KBytes_in"),
492
- },
493
- out: {
494
- avg: (0, helper_1.averageValuesOfReports)(this._reports, "data", "delta_KBytes_out"),
495
- min: (0, helper_1.minValueOfReports)(this._reports, "data", "delta_KBytes_out"),
496
- max: (0, helper_1.maxValueOfReports)(this._reports, "data", "delta_KBytes_out"),
497
- volatility: (0, helper_1.volatilityValuesOfReports)(this._reports, "data", "delta_KBytes_out"),
498
- },
499
- unit: {
500
- avg: "KBytes",
501
- min: "KBytes",
502
- max: "KBytes",
503
- volatility: "percent",
504
- },
505
- },
506
- network: {
507
- localConnection: getPath(this._reports),
508
- remoteConnection: getRemotePath(this._reports),
509
- },
510
- },
511
- };
512
- }
513
- updateConfig(config) {
514
- this._cfg = config;
515
- }
516
- getLastReport() {
517
- return this._reports.slice().pop() || null;
518
- }
519
- getBeforeLastReport() {
520
- const duplicated = this._reports.slice();
521
- duplicated.pop();
522
- return duplicated.pop() || null;
523
- }
524
- getReportsNumber() {
525
- return this._reports.length;
526
- }
527
- }
528
- exports.default = Exporter;
@@ -1 +0,0 @@
1
- export function extract(bunch: any, previousBunch: any, pname: any, referenceReport: any): any[];