@observertc/observer-js 0.42.9 → 1.0.1-23e88d8.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.
Files changed (239) hide show
  1. package/.prettierrc +6 -6
  2. package/README.md +0 -104
  3. package/lib/ObservedCall.d.ts +25 -41
  4. package/lib/ObservedCall.d.ts.map +1 -1
  5. package/lib/ObservedCall.js +61 -109
  6. package/lib/ObservedCertificate.d.ts +19 -0
  7. package/lib/ObservedCertificate.d.ts.map +1 -0
  8. package/lib/ObservedCertificate.js +38 -0
  9. package/lib/ObservedClient.d.ts +33 -143
  10. package/lib/ObservedClient.d.ts.map +1 -1
  11. package/lib/ObservedClient.js +156 -757
  12. package/lib/ObservedCodec.d.ts +22 -0
  13. package/lib/ObservedCodec.d.ts.map +1 -0
  14. package/lib/ObservedCodec.js +45 -0
  15. package/lib/ObservedDataChannel.d.ts +20 -70
  16. package/lib/ObservedDataChannel.d.ts.map +1 -1
  17. package/lib/ObservedDataChannel.js +39 -109
  18. package/lib/ObservedIceCandidate.d.ts +29 -0
  19. package/lib/ObservedIceCandidate.d.ts.map +1 -0
  20. package/lib/ObservedIceCandidate.js +59 -0
  21. package/lib/ObservedIceCandidatePair.d.ts +40 -0
  22. package/lib/ObservedIceCandidatePair.d.ts.map +1 -0
  23. package/lib/ObservedIceCandidatePair.js +83 -0
  24. package/lib/ObservedIceTransport.d.ts +32 -0
  25. package/lib/ObservedIceTransport.d.ts.map +1 -0
  26. package/lib/ObservedIceTransport.js +65 -0
  27. package/lib/ObservedInboundRtp.d.ts +92 -0
  28. package/lib/ObservedInboundRtp.d.ts.map +1 -0
  29. package/lib/ObservedInboundRtp.js +193 -0
  30. package/lib/ObservedInboundTrack.d.ts +29 -0
  31. package/lib/ObservedInboundTrack.d.ts.map +1 -0
  32. package/lib/ObservedInboundTrack.js +57 -0
  33. package/lib/ObservedMediaPlayout.d.ts +22 -0
  34. package/lib/ObservedMediaPlayout.d.ts.map +1 -0
  35. package/lib/ObservedMediaPlayout.js +42 -0
  36. package/lib/ObservedMediaSource.d.ts +28 -0
  37. package/lib/ObservedMediaSource.d.ts.map +1 -0
  38. package/lib/ObservedMediaSource.js +55 -0
  39. package/lib/ObservedOutboundRtp.d.ts +62 -0
  40. package/lib/ObservedOutboundRtp.d.ts.map +1 -0
  41. package/lib/ObservedOutboundRtp.js +144 -0
  42. package/lib/ObservedOutboundTrack.d.ts +29 -0
  43. package/lib/ObservedOutboundTrack.d.ts.map +1 -0
  44. package/lib/ObservedOutboundTrack.js +57 -0
  45. package/lib/ObservedPeerConnection.d.ts +118 -78
  46. package/lib/ObservedPeerConnection.d.ts.map +1 -1
  47. package/lib/ObservedPeerConnection.js +556 -359
  48. package/lib/ObservedPeerConnectionTransport.d.ts +17 -0
  49. package/lib/ObservedPeerConnectionTransport.d.ts.map +1 -0
  50. package/lib/ObservedPeerConnectionTransport.js +34 -0
  51. package/lib/ObservedRemoteInboundRtp.d.ts +30 -0
  52. package/lib/ObservedRemoteInboundRtp.d.ts.map +1 -0
  53. package/lib/ObservedRemoteInboundRtp.js +60 -0
  54. package/lib/ObservedRemoteOutboundRtp.d.ts +30 -0
  55. package/lib/ObservedRemoteOutboundRtp.d.ts.map +1 -0
  56. package/lib/ObservedRemoteOutboundRtp.js +60 -0
  57. package/lib/Observer.d.ts +30 -53
  58. package/lib/Observer.d.ts.map +1 -1
  59. package/lib/Observer.js +52 -225
  60. package/lib/common/Middleware.d.ts +10 -1
  61. package/lib/common/Middleware.d.ts.map +1 -1
  62. package/lib/common/Middleware.js +55 -36
  63. package/lib/common/logger.d.ts +8 -4
  64. package/lib/common/logger.d.ts.map +1 -1
  65. package/lib/common/logger.js +44 -68
  66. package/lib/common/types.d.ts +0 -21
  67. package/lib/common/types.d.ts.map +1 -1
  68. package/lib/common/types.js +1 -0
  69. package/lib/common/utils.d.ts +1 -0
  70. package/lib/common/utils.d.ts.map +1 -1
  71. package/lib/common/utils.js +13 -1
  72. package/lib/detectors/Detector.d.ts +5 -0
  73. package/lib/detectors/Detector.d.ts.map +1 -0
  74. package/lib/detectors/Detector.js +3 -0
  75. package/lib/detectors/Detectors.d.ts +11 -0
  76. package/lib/detectors/Detectors.d.ts.map +1 -0
  77. package/lib/detectors/Detectors.js +34 -0
  78. package/lib/index.d.ts +23 -25
  79. package/lib/index.d.ts.map +1 -1
  80. package/lib/index.js +41 -41
  81. package/lib/monitors/TurnUsageMonitor.d.ts +0 -52
  82. package/lib/monitors/TurnUsageMonitor.d.ts.map +1 -1
  83. package/lib/monitors/TurnUsageMonitor.js +145 -120
  84. package/lib/schema/ClientEventTypes.d.ts +33 -0
  85. package/lib/schema/ClientEventTypes.d.ts.map +1 -0
  86. package/lib/schema/ClientEventTypes.js +38 -0
  87. package/lib/schema/ClientMetaTypes.d.ts +34 -0
  88. package/lib/schema/ClientMetaTypes.d.ts.map +1 -0
  89. package/lib/schema/ClientMetaTypes.js +16 -0
  90. package/lib/schema/ClientSample.d.ts +1333 -0
  91. package/lib/schema/ClientSample.d.ts.map +1 -0
  92. package/lib/schema/ClientSample.js +4 -0
  93. package/lib/scores/CalculatedScore.d.ts +6 -0
  94. package/lib/scores/CalculatedScore.d.ts.map +1 -0
  95. package/lib/scores/DefaultCallScoreCalculator.d.ts +7 -0
  96. package/lib/scores/DefaultCallScoreCalculator.d.ts.map +1 -0
  97. package/lib/scores/DefaultCallScoreCalculator.js +21 -0
  98. package/lib/scores/ScoreCalculator.d.ts +4 -0
  99. package/lib/scores/ScoreCalculator.d.ts.map +1 -0
  100. package/lib/scores/ScoreCalculator.js +2 -0
  101. package/lib/utils/CallUpdater.d.ts +5 -0
  102. package/lib/utils/CallUpdater.d.ts.map +1 -0
  103. package/lib/utils/CallUpdater.js +2 -0
  104. package/lib/utils/OnAllClientCallUpdater.d.ts +16 -0
  105. package/lib/utils/OnAllClientCallUpdater.d.ts.map +1 -0
  106. package/lib/utils/OnAllClientCallUpdater.js +58 -0
  107. package/lib/utils/RemoteTrackResolver.d.ts +7 -0
  108. package/lib/utils/RemoteTrackResolver.d.ts.map +1 -0
  109. package/lib/utils/RemoteTrackResolver.js +2 -0
  110. package/lib/utils/onAnyClientCallUpdater.d.ts +14 -0
  111. package/lib/utils/onAnyClientCallUpdater.d.ts.map +1 -0
  112. package/lib/utils/onAnyClientCallUpdater.js +51 -0
  113. package/package.json +4 -4
  114. package/src/ObservedCall.ts +74 -167
  115. package/src/ObservedCertificate.ts +43 -0
  116. package/src/ObservedClient.ts +173 -1085
  117. package/src/ObservedCodec.ts +49 -0
  118. package/src/ObservedDataChannel.ts +36 -178
  119. package/src/ObservedIceCandidate.ts +64 -0
  120. package/src/ObservedIceCandidatePair.ts +92 -0
  121. package/src/ObservedIceTransport.ts +70 -0
  122. package/src/ObservedInboundRtp.ts +205 -0
  123. package/src/ObservedInboundTrack.ts +70 -0
  124. package/src/ObservedMediaPlayout.ts +49 -0
  125. package/src/ObservedMediaSource.ts +60 -0
  126. package/src/ObservedOutboundRtp.ts +156 -0
  127. package/src/ObservedOutboundTrack.ts +69 -0
  128. package/src/ObservedPeerConnection.ts +743 -401
  129. package/src/ObservedPeerConnectionTransport.ts +38 -0
  130. package/src/ObservedRemoteInboundRtp.ts +64 -0
  131. package/src/ObservedRemoteOutboundRtp.ts +65 -0
  132. package/src/Observer.ts +65 -285
  133. package/src/common/Middleware.ts +70 -42
  134. package/src/common/logger.ts +60 -69
  135. package/src/common/types.ts +0 -42
  136. package/src/common/utils.ts +12 -0
  137. package/src/detectors/Detector.ts +6 -0
  138. package/src/detectors/Detectors.ts +38 -0
  139. package/src/index.ts +23 -90
  140. package/src/monitors/TurnUsageMonitor.ts +164 -164
  141. package/src/schema/ClientEventTypes.ts +36 -0
  142. package/src/schema/ClientMetaTypes.ts +41 -0
  143. package/src/schema/ClientSample.ts +1682 -0
  144. package/src/scores/CalculatedScore.ts +6 -0
  145. package/src/scores/DefaultCallScoreCalculator.ts +23 -0
  146. package/src/scores/ScoreCalculator.ts +3 -0
  147. package/src/utils/CallUpdater.ts +5 -0
  148. package/src/utils/OnAllClientCallUpdater.ts +68 -0
  149. package/src/utils/RemoteTrackResolver.ts +12 -0
  150. package/src/utils/onAnyClientCallUpdater.ts +59 -0
  151. package/tsconfig.json +3 -3
  152. package/lib/ObservedICE.d.ts +0 -64
  153. package/lib/ObservedICE.d.ts.map +0 -1
  154. package/lib/ObservedICE.js +0 -141
  155. package/lib/ObservedInboundAudioTrack.d.ts +0 -96
  156. package/lib/ObservedInboundAudioTrack.d.ts.map +0 -1
  157. package/lib/ObservedInboundAudioTrack.js +0 -217
  158. package/lib/ObservedInboundVideoTrack.d.ts +0 -101
  159. package/lib/ObservedInboundVideoTrack.d.ts.map +0 -1
  160. package/lib/ObservedInboundVideoTrack.js +0 -232
  161. package/lib/ObservedOutboundAudioTrack.d.ts +0 -87
  162. package/lib/ObservedOutboundAudioTrack.d.ts.map +0 -1
  163. package/lib/ObservedOutboundAudioTrack.js +0 -186
  164. package/lib/ObservedOutboundVideoTrack.d.ts +0 -91
  165. package/lib/ObservedOutboundVideoTrack.d.ts.map +0 -1
  166. package/lib/ObservedOutboundVideoTrack.js +0 -193
  167. package/lib/ObservedSfu.d.ts +0 -59
  168. package/lib/ObservedSfu.d.ts.map +0 -1
  169. package/lib/ObservedSfu.js +0 -157
  170. package/lib/ObservedSfuInboundRtpPad.d.ts +0 -42
  171. package/lib/ObservedSfuInboundRtpPad.d.ts.map +0 -1
  172. package/lib/ObservedSfuInboundRtpPad.js +0 -71
  173. package/lib/ObservedSfuOutboundRtpPad.d.ts +0 -42
  174. package/lib/ObservedSfuOutboundRtpPad.d.ts.map +0 -1
  175. package/lib/ObservedSfuOutboundRtpPad.js +0 -72
  176. package/lib/ObservedSfuSctpChannel.d.ts +0 -42
  177. package/lib/ObservedSfuSctpChannel.d.ts.map +0 -1
  178. package/lib/ObservedSfuSctpChannel.js +0 -57
  179. package/lib/ObservedSfuTransport.d.ts +0 -58
  180. package/lib/ObservedSfuTransport.d.ts.map +0 -1
  181. package/lib/ObservedSfuTransport.js +0 -120
  182. package/lib/RemoteTrackAssigner.d.ts +0 -14
  183. package/lib/RemoteTrackAssigner.d.ts.map +0 -1
  184. package/lib/RemoteTrackAssigner.js +0 -52
  185. package/lib/ReportsCollector.d.ts +0 -109
  186. package/lib/ReportsCollector.d.ts.map +0 -1
  187. package/lib/ReportsCollector.js +0 -207
  188. package/lib/common/CalculatedScore.d.ts +0 -80
  189. package/lib/common/CalculatedScore.d.ts.map +0 -1
  190. package/lib/common/CalculatedScore.js +0 -162
  191. package/lib/common/CallEventType.d.ts +0 -63
  192. package/lib/common/CallEventType.d.ts.map +0 -1
  193. package/lib/common/CallEventType.js +0 -39
  194. package/lib/common/CallMetaReports.d.ts +0 -42
  195. package/lib/common/CallMetaReports.d.ts.map +0 -1
  196. package/lib/common/CallMetaReports.js +0 -36
  197. package/lib/common/QualityScoreUtils.d.ts +0 -1
  198. package/lib/common/QualityScoreUtils.d.ts.map +0 -1
  199. package/lib/common/QualityScoreUtils.js +0 -1
  200. package/lib/common/TypedEventEmitter.d.ts +0 -22
  201. package/lib/common/TypedEventEmitter.d.ts.map +0 -1
  202. package/lib/common/TypedEventEmitter.js +0 -11
  203. package/lib/common/callEventReports.d.ts +0 -10
  204. package/lib/common/callEventReports.d.ts.map +0 -1
  205. package/lib/common/callEventReports.js +0 -112
  206. package/lib/monitors/CallSummary.d.ts +0 -37
  207. package/lib/monitors/CallSummary.d.ts.map +0 -1
  208. package/lib/monitors/CallSummaryMonitor.d.ts +0 -32
  209. package/lib/monitors/CallSummaryMonitor.d.ts.map +0 -1
  210. package/lib/monitors/CallSummaryMonitor.js +0 -152
  211. package/lib/monitors/ClientIssueMonitor.d.ts +0 -32
  212. package/lib/monitors/ClientIssueMonitor.d.ts.map +0 -1
  213. package/lib/monitors/ClientIssueMonitor.js +0 -49
  214. package/lib/monitors/SfuServerMonitor.d.ts +0 -79
  215. package/lib/monitors/SfuServerMonitor.d.ts.map +0 -1
  216. package/lib/monitors/SfuServerMonitor.js +0 -198
  217. package/src/ObservedICE.ts +0 -237
  218. package/src/ObservedInboundAudioTrack.ts +0 -344
  219. package/src/ObservedInboundVideoTrack.ts +0 -361
  220. package/src/ObservedOutboundAudioTrack.ts +0 -307
  221. package/src/ObservedOutboundVideoTrack.ts +0 -319
  222. package/src/ObservedSfu.ts +0 -231
  223. package/src/ObservedSfuInboundRtpPad.ts +0 -106
  224. package/src/ObservedSfuOutboundRtpPad.ts +0 -107
  225. package/src/ObservedSfuSctpChannel.ts +0 -103
  226. package/src/ObservedSfuTransport.ts +0 -185
  227. package/src/RemoteTrackAssigner.ts +0 -68
  228. package/src/ReportsCollector.ts +0 -336
  229. package/src/common/CalculatedScore.ts +0 -188
  230. package/src/common/CallEventType.ts +0 -69
  231. package/src/common/CallMetaReports.ts +0 -82
  232. package/src/common/QualityScoreUtils.ts +0 -0
  233. package/src/common/TypedEventEmitter.ts +0 -32
  234. package/src/common/callEventReports.ts +0 -178
  235. package/src/monitors/CallSummary.ts +0 -38
  236. package/src/monitors/CallSummaryMonitor.ts +0 -192
  237. package/src/monitors/ClientIssueMonitor.ts +0 -88
  238. package/src/monitors/SfuServerMonitor.ts +0 -285
  239. /package/lib/{monitors/CallSummary.js → scores/CalculatedScore.js} +0 -0
@@ -1,162 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRttScore = exports.calculateLatencyMOS = exports.calculateBaseAudioScore = exports.calculateBaseVideoScore = exports.BPP_RANGES = void 0;
4
- // every track calculates its own score and stores
5
- // the latest CalculatedScore in a score property also emits as an event 'score'
6
- // every peer connection collects the scores and calculates its own score based on RTT, and stores it in the score property similar to track
7
- // every client collects the scores and calculates its own score based on the peer connection scores, and stores it in the score property similar to track
8
- // every call collects the scores and calculates its own score based on the client scores, and stores it in the score property similar to track, but
9
- // but calls only recalculate it after a configured amount of time passed from the last recalculation, and it does not trigger automatically
10
- /*
11
- Recommended bpp Ranges for Good Quality
12
-
13
- | Content Type | H.264 (AVC) bpp Range | H.265 (HEVC) bpp Range | VP8 bpp Range | VP9 bpp Range |
14
- |--------------------|-----------------------|-----------------------|---------------|---------------|
15
- | Low Motion | 0.1 - 0.2 | 0.05 - 0.15 | 0.1 - 0.2 | 0.05 - 0.15 |
16
- | Standard Motion | 0.15 - 0.25 | 0.1 - 0.2 | 0.15 - 0.25 | 0.1 - 0.2 |
17
- | High Motion | 0.25 - 0.4 | 0.15 - 0.3 | 0.25 - 0.4 | 0.15 - 0.3 |
18
-
19
- */
20
- exports.BPP_RANGES = {
21
- 'lowmotion': {
22
- 'h264': { low: 0.1, high: 0.2 },
23
- 'h265': { low: 0.05, high: 0.15 },
24
- 'vp8': { low: 0.1, high: 0.2 },
25
- 'vp9': { low: 0.05, high: 0.15 },
26
- },
27
- 'standard': {
28
- 'h264': { low: 0.15, high: 0.25 },
29
- 'h265': { low: 0.1, high: 0.2 },
30
- 'vp8': { low: 0.15, high: 0.25 },
31
- 'vp9': { low: 0.1, high: 0.2 },
32
- },
33
- 'highmotion': {
34
- 'h264': { low: 0.25, high: 0.4 },
35
- 'h265': { low: 0.15, high: 0.3 },
36
- 'vp8': { low: 0.25, high: 0.4 },
37
- 'vp9': { low: 0.15, high: 0.3 },
38
- },
39
- };
40
- function calculateBaseVideoScore(track, newIssues) {
41
- var _a, _b;
42
- if (!track.highestLayer) {
43
- return;
44
- }
45
- const { frameHeight, frameWidth, framesPerSecond, bitrate, } = track.highestLayer;
46
- const score = {
47
- remarks: [],
48
- score: 0.0,
49
- timestamp: track.statsTimestamp,
50
- };
51
- if (!frameHeight || !frameWidth || !bitrate || !framesPerSecond) {
52
- score.score = 0.0;
53
- score.remarks.push({
54
- severity: 'major',
55
- text: 'Missing data for score calculation',
56
- });
57
- return score;
58
- }
59
- const bpp = bitrate / (frameHeight * frameWidth * framesPerSecond);
60
- // let's assume vp8 for now
61
- const bppRange = exports.BPP_RANGES[track.contentType][(_a = track.codec) !== null && _a !== void 0 ? _a : 'vp8'];
62
- if (bpp / 2 < bppRange.low) {
63
- score.score = 0.5;
64
- score.remarks.push({
65
- severity: 'major',
66
- text: `Bitrate per pixel is too low for ${track.contentType} content`,
67
- });
68
- }
69
- else if (bppRange.low < bpp) {
70
- score.score = 0.8;
71
- score.remarks.push({
72
- severity: 'minor',
73
- text: `Bitrate per pixel is good for ${track.contentType} content`,
74
- });
75
- }
76
- else {
77
- score.score = Math.min(1.0, ((bpp - bppRange.low) / (bppRange.high - bppRange.low)));
78
- score.remarks.push({
79
- severity: 'none',
80
- text: `Bitrate per pixel is good for ${track.contentType} content`,
81
- });
82
- }
83
- for (const issue of newIssues) {
84
- if (issue.severity === 'critical') {
85
- score.score = 0.0;
86
- }
87
- else if (issue.severity === 'major') {
88
- score.score *= 0.5;
89
- }
90
- else if (issue.severity === 'minor') {
91
- score.score *= 0.8;
92
- }
93
- score.remarks.push({
94
- severity: issue.severity,
95
- text: (_b = issue.description) !== null && _b !== void 0 ? _b : 'Issue occurred',
96
- });
97
- }
98
- return score;
99
- }
100
- exports.calculateBaseVideoScore = calculateBaseVideoScore;
101
- function calculateBaseAudioScore(track, newIssues) {
102
- var _a;
103
- const score = {
104
- remarks: [],
105
- score: 0.0,
106
- timestamp: track.statsTimestamp,
107
- };
108
- if (track.bitrate < 8000) {
109
- score.score = 0.2;
110
- score.remarks.push({
111
- severity: 'none',
112
- text: 'Bitrate is too low for good quality audio',
113
- });
114
- }
115
- else if (track.bitrate < 16000) {
116
- score.score = 0.5;
117
- score.remarks.push({
118
- severity: 'none',
119
- text: 'Bitrate is low for audio',
120
- });
121
- }
122
- else {
123
- score.score = 1.0;
124
- score.remarks.push({
125
- severity: 'none',
126
- text: 'Bitrate is good for audio',
127
- });
128
- }
129
- for (const issues of newIssues) {
130
- if (issues.severity === 'critical') {
131
- score.score = 0.0;
132
- }
133
- else if (issues.severity === 'major') {
134
- score.score *= 0.5;
135
- }
136
- else if (issues.severity === 'minor') {
137
- score.score *= 0.8;
138
- }
139
- score.remarks.push({
140
- severity: issues.severity,
141
- text: (_a = issues.description) !== null && _a !== void 0 ? _a : 'Issue occurred',
142
- });
143
- }
144
- return score;
145
- }
146
- exports.calculateBaseAudioScore = calculateBaseAudioScore;
147
- function calculateLatencyMOS({ avgJitter, rttInMs, packetsLoss }) {
148
- const effectiveLatency = rttInMs + (avgJitter * 2) + 10;
149
- let rFactor = effectiveLatency < 160
150
- ? 93.2 - (effectiveLatency / 40)
151
- : 93.2 - (effectiveLatency / 120) - 10;
152
- rFactor -= (packetsLoss * 2.5);
153
- return 1 + ((0.035) * rFactor) + ((0.000007) * rFactor * (rFactor - 60) * (100 - rFactor));
154
- }
155
- exports.calculateLatencyMOS = calculateLatencyMOS;
156
- function getRttScore(x) {
157
- // logarithmic version: 1.0 at 150 and 0.1 at 300
158
- return (-1.2984 * Math.log(x)) + 7.5059;
159
- // exponential version: 1.0 at 150 and 0.1 at 300
160
- // return Math.exp(-0.01536 * x);
161
- }
162
- exports.getRttScore = getRttScore;
@@ -1,63 +0,0 @@
1
- export declare enum CallEventType {
2
- CALL_STARTED = "CALL_STARTED",
3
- CALL_ENDED = "CALL_ENDED",
4
- CLIENT_JOINED = "CLIENT_JOINED",
5
- CLIENT_LEFT = "CLIENT_LEFT",
6
- PEER_CONNECTION_OPENED = "PEER_CONNECTION_OPENED",
7
- PEER_CONNECTION_CLOSED = "PEER_CONNECTION_CLOSED",
8
- MEDIA_TRACK_ADDED = "MEDIA_TRACK_ADDED",
9
- MEDIA_TRACK_REMOVED = "MEDIA_TRACK_REMOVED",
10
- MEDIA_TRACK_RESUMED = "MEDIA_TRACK_RESUMED",
11
- MEDIA_TRACK_MUTED = "MEDIA_TRACK_MUTED",
12
- MEDIA_TRACK_UNMUTED = "MEDIA_TRACK_UNMUTED",
13
- ICE_GATHERING_STATE_CHANGED = "ICE_GATHERING_STATE_CHANGED",
14
- PEER_CONNECTION_STATE_CHANGED = "PEER_CONNECTION_STATE_CHANGED",
15
- ICE_CONNECTION_STATE_CHANGED = "ICE_CONNECTION_STATE_CHANGED",
16
- DATA_CHANNEL_OPEN = "DATA_CHANNEL_OPEN",
17
- DATA_CHANNEL_CLOSED = "DATA_CHANNEL_CLOSED",
18
- DATA_CHANNEL_ERROR = "DATA_CHANNEL_ERROR",
19
- NEGOTIATION_NEEDED = "NEGOTIATION_NEEDED",
20
- SIGNALING_STATE_CHANGE = "SIGNALING_STATE_CHANGE",
21
- CLIENT_ISSUE = "CLIENT_ISSUE",
22
- PRODUCER_ADDED = "PRODUCER_ADDED",
23
- PRODUCER_PAUSED = "PRODUCER_PAUSED",
24
- PRODUCER_RESUMED = "PRODUCER_RESUMED",
25
- PRODUCER_REMOVED = "PRODUCER_REMOVED",
26
- CONSUMER_ADDED = "CONSUMER_ADDED",
27
- CONSUMER_PAUSED = "CONSUMER_PAUSED",
28
- CONSUMER_RESUMED = "CONSUMER_RESUMED",
29
- CONSUMER_REMOVED = "CONSUMER_REMOVED",
30
- DATA_PRODUCER_OPENED = "DATA_PRODUCER_OPENED",
31
- DATA_PRODUCER_CLOSED = "DATA_PRODUCER_CLOSED",
32
- DATA_CONSUMER_OPENED = "DATA_CONSUMER_OPENED",
33
- DATA_CONSUMER_CLOSED = "DATA_CONSUMER_CLOSED"
34
- }
35
- export type CallEventReportType = {
36
- name: CallEventType.MEDIA_TRACK_ADDED;
37
- attachment: MediaTrackAddedAttachment;
38
- } | {
39
- name: CallEventType.PEER_CONNECTION_STATE_CHANGED;
40
- attachment: PeerConnectionStateChangedAttachment;
41
- } | {
42
- name: CallEventType.ICE_CONNECTION_STATE_CHANGED;
43
- attachment: IceConnectionStateChangedAttachment;
44
- } | {
45
- name: CallEventType.ICE_GATHERING_STATE_CHANGED;
46
- attachment: IceGatheringStateChangedAttachment;
47
- };
48
- export type MediaTrackAddedAttachment = {
49
- kind?: 'audio' | 'video';
50
- direction?: 'inbound' | 'outbound';
51
- sfuStreamId?: string;
52
- sfuSinkId?: string;
53
- };
54
- export type PeerConnectionStateChangedAttachment = {
55
- iceConnectionState?: 'closed' | 'connected' | 'connecting' | 'disconnected' | 'failed' | 'new';
56
- };
57
- export type IceConnectionStateChangedAttachment = {
58
- iceConnectionState?: 'new' | 'connected' | 'disconnected' | 'failed' | 'closed' | 'checking' | 'completed';
59
- };
60
- export type IceGatheringStateChangedAttachment = {
61
- iceGatheringState?: 'new' | 'gathering' | 'complete';
62
- };
63
- //# sourceMappingURL=CallEventType.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CallEventType.d.ts","sourceRoot":"","sources":["../../src/common/CallEventType.ts"],"names":[],"mappings":"AACA,oBAAY,aAAa;IACxB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;IAC3B,sBAAsB,2BAA2B;IACjD,sBAAsB,2BAA2B;IACjD,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,mBAAmB,wBAAwB;IAC3C,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,2BAA2B,gCAAgC;IAC3D,6BAA6B,kCAAkC;IAC/D,4BAA4B,iCAAiC;IAC7D,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,kBAAkB,uBAAuB;IACzC,kBAAkB,uBAAuB;IACzC,sBAAsB,2BAA2B;IACjD,YAAY,iBAAiB;IAE7B,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC7C;AAED,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,aAAa,CAAC,iBAAiB,CAAC;IACtC,UAAU,EAAE,yBAAyB,CAAC;CACtC,GAAG;IACH,IAAI,EAAE,aAAa,CAAC,6BAA6B,CAAC;IAClD,UAAU,EAAE,oCAAoC,CAAC;CACjD,GAAG;IACH,IAAI,EAAE,aAAa,CAAC,4BAA4B,CAAC;IACjD,UAAU,EAAE,mCAAmC,CAAC;CAChD,GAAG;IACH,IAAI,EAAE,aAAa,CAAC,2BAA2B,CAAC;IAChD,UAAU,EAAE,kCAAkC,CAAC;CAC/C,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG;IACvC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAA;AAED,MAAM,MAAM,oCAAoC,GAAG;IAClD,kBAAkB,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,GAAG,KAAK,CAAC;CAC/F,CAAA;AAED,MAAM,MAAM,mCAAmC,GAAG;IACjD,kBAAkB,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;CAC3G,CAAA;AAED,MAAM,MAAM,kCAAkC,GAAG;IAChD,iBAAiB,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;CACrD,CAAA"}
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CallEventType = void 0;
4
- // eslint-disable-next-line no-shadow
5
- var CallEventType;
6
- (function (CallEventType) {
7
- CallEventType["CALL_STARTED"] = "CALL_STARTED";
8
- CallEventType["CALL_ENDED"] = "CALL_ENDED";
9
- CallEventType["CLIENT_JOINED"] = "CLIENT_JOINED";
10
- CallEventType["CLIENT_LEFT"] = "CLIENT_LEFT";
11
- CallEventType["PEER_CONNECTION_OPENED"] = "PEER_CONNECTION_OPENED";
12
- CallEventType["PEER_CONNECTION_CLOSED"] = "PEER_CONNECTION_CLOSED";
13
- CallEventType["MEDIA_TRACK_ADDED"] = "MEDIA_TRACK_ADDED";
14
- CallEventType["MEDIA_TRACK_REMOVED"] = "MEDIA_TRACK_REMOVED";
15
- CallEventType["MEDIA_TRACK_RESUMED"] = "MEDIA_TRACK_RESUMED";
16
- CallEventType["MEDIA_TRACK_MUTED"] = "MEDIA_TRACK_MUTED";
17
- CallEventType["MEDIA_TRACK_UNMUTED"] = "MEDIA_TRACK_UNMUTED";
18
- CallEventType["ICE_GATHERING_STATE_CHANGED"] = "ICE_GATHERING_STATE_CHANGED";
19
- CallEventType["PEER_CONNECTION_STATE_CHANGED"] = "PEER_CONNECTION_STATE_CHANGED";
20
- CallEventType["ICE_CONNECTION_STATE_CHANGED"] = "ICE_CONNECTION_STATE_CHANGED";
21
- CallEventType["DATA_CHANNEL_OPEN"] = "DATA_CHANNEL_OPEN";
22
- CallEventType["DATA_CHANNEL_CLOSED"] = "DATA_CHANNEL_CLOSED";
23
- CallEventType["DATA_CHANNEL_ERROR"] = "DATA_CHANNEL_ERROR";
24
- CallEventType["NEGOTIATION_NEEDED"] = "NEGOTIATION_NEEDED";
25
- CallEventType["SIGNALING_STATE_CHANGE"] = "SIGNALING_STATE_CHANGE";
26
- CallEventType["CLIENT_ISSUE"] = "CLIENT_ISSUE";
27
- CallEventType["PRODUCER_ADDED"] = "PRODUCER_ADDED";
28
- CallEventType["PRODUCER_PAUSED"] = "PRODUCER_PAUSED";
29
- CallEventType["PRODUCER_RESUMED"] = "PRODUCER_RESUMED";
30
- CallEventType["PRODUCER_REMOVED"] = "PRODUCER_REMOVED";
31
- CallEventType["CONSUMER_ADDED"] = "CONSUMER_ADDED";
32
- CallEventType["CONSUMER_PAUSED"] = "CONSUMER_PAUSED";
33
- CallEventType["CONSUMER_RESUMED"] = "CONSUMER_RESUMED";
34
- CallEventType["CONSUMER_REMOVED"] = "CONSUMER_REMOVED";
35
- CallEventType["DATA_PRODUCER_OPENED"] = "DATA_PRODUCER_OPENED";
36
- CallEventType["DATA_PRODUCER_CLOSED"] = "DATA_PRODUCER_CLOSED";
37
- CallEventType["DATA_CONSUMER_OPENED"] = "DATA_CONSUMER_OPENED";
38
- CallEventType["DATA_CONSUMER_CLOSED"] = "DATA_CONSUMER_CLOSED";
39
- })(CallEventType = exports.CallEventType || (exports.CallEventType = {}));
@@ -1,42 +0,0 @@
1
- import { CallMetaReport } from '@observertc/report-schemas-js';
2
- import { Browser, Certificate, Engine, IceLocalCandidate, IceRemoteCandidate, MediaCodecStats, MediaDevice, MediaSourceStat, OperationSystem, Platform } from '@observertc/sample-schemas-js';
3
- export declare enum CallMetaType {
4
- CERTIFICATE = "CERTIFICATE",
5
- CODEC = "CODEC",
6
- ICE_LOCAL_CANDIDATE = "ICE_LOCAL_CANDIDATE",
7
- ICE_REMOTE_CANDIDATE = "ICE_REMOTE_CANDIDATE",
8
- ICE_SERVER = "ICE_SERVER",
9
- MEDIA_CONSTRAINT = "MEDIA_CONSTRAINT",
10
- MEDIA_DEVICE = "MEDIA_DEVICE",
11
- MEDIA_SOURCE = "MEDIA_SOURCE",
12
- USER_MEDIA_ERROR = "USER_MEDIA_ERROR",
13
- LOCAL_SDP = "LOCAL_SDP",
14
- OPERATION_SYSTEM = "OPERATION_SYSTEM",
15
- ENGINE = "ENGINE",
16
- PLATFORM = "PLATFORM",
17
- BROWSER = "BROWSER"
18
- }
19
- export type CallMetaReportPayloads = {
20
- [CallMetaType.CERTIFICATE]: Certificate;
21
- [CallMetaType.CODEC]: MediaCodecStats;
22
- [CallMetaType.ICE_LOCAL_CANDIDATE]: IceLocalCandidate;
23
- [CallMetaType.ICE_REMOTE_CANDIDATE]: IceRemoteCandidate;
24
- [CallMetaType.ICE_SERVER]: string;
25
- [CallMetaType.MEDIA_CONSTRAINT]: string;
26
- [CallMetaType.MEDIA_DEVICE]: MediaDevice;
27
- [CallMetaType.MEDIA_SOURCE]: MediaSourceStat;
28
- [CallMetaType.USER_MEDIA_ERROR]: string;
29
- [CallMetaType.OPERATION_SYSTEM]: OperationSystem;
30
- [CallMetaType.PLATFORM]: Platform;
31
- [CallMetaType.ENGINE]: Engine;
32
- [CallMetaType.LOCAL_SDP]: string;
33
- [CallMetaType.BROWSER]: Browser;
34
- };
35
- export type CallMetaReportType = {
36
- [k in keyof CallMetaReportPayloads]: {
37
- type: k;
38
- payload: CallMetaReportPayloads[k];
39
- };
40
- }[keyof CallMetaReportPayloads];
41
- export declare function createCallMetaReport(serviceId: string, mediaUnitId: string, roomId: string, callId: string, clientId: string, reportType: CallMetaReportType, userId?: string, peerConnectionId?: string, timestamp?: number): CallMetaReport;
42
- //# sourceMappingURL=CallMetaReports.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CallMetaReports.d.ts","sourceRoot":"","sources":["../../src/common/CallMetaReports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EACN,OAAO,EACP,WAAW,EACX,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,QAAQ,EACR,MAAM,+BAA+B,CAAC;AAGvC,oBAAY,YAAY;IACvB,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,mBAAmB,wBAAwB;IAC3C,oBAAoB,yBAAyB;IAC7C,UAAU,eAAe;IACzB,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;IAEvB,gBAAgB,qBAAqB;IACrC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACnB;AAED,MAAM,MAAM,sBAAsB,GAAG;IACpC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACxC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC;IACtC,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,iBAAiB,CAAC;IACtD,CAAC,YAAY,CAAC,oBAAoB,CAAC,EAAE,kBAAkB,CAAC;IACxD,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAClC,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC;IACzC,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC7C,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACjD,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAClC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC9B,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IACjC,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAChC,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAE;KAC9B,CAAC,IAAI,MAAM,sBAAsB,GAAG;QACpC,IAAI,EAAE,CAAC,CAAC;QACR,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAA;KAClC;CACD,CAAC,MAAM,sBAAsB,CAAC,CAAC;AAEhC,wBAAgB,oBAAoB,CACnC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,kBAAkB,EAC9B,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,EACzB,SAAS,CAAC,EAAE,MAAM,kBAelB"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createCallMetaReport = exports.CallMetaType = void 0;
4
- // eslint-disable-next-line no-shadow
5
- var CallMetaType;
6
- (function (CallMetaType) {
7
- CallMetaType["CERTIFICATE"] = "CERTIFICATE";
8
- CallMetaType["CODEC"] = "CODEC";
9
- CallMetaType["ICE_LOCAL_CANDIDATE"] = "ICE_LOCAL_CANDIDATE";
10
- CallMetaType["ICE_REMOTE_CANDIDATE"] = "ICE_REMOTE_CANDIDATE";
11
- CallMetaType["ICE_SERVER"] = "ICE_SERVER";
12
- CallMetaType["MEDIA_CONSTRAINT"] = "MEDIA_CONSTRAINT";
13
- CallMetaType["MEDIA_DEVICE"] = "MEDIA_DEVICE";
14
- CallMetaType["MEDIA_SOURCE"] = "MEDIA_SOURCE";
15
- CallMetaType["USER_MEDIA_ERROR"] = "USER_MEDIA_ERROR";
16
- CallMetaType["LOCAL_SDP"] = "LOCAL_SDP";
17
- CallMetaType["OPERATION_SYSTEM"] = "OPERATION_SYSTEM";
18
- CallMetaType["ENGINE"] = "ENGINE";
19
- CallMetaType["PLATFORM"] = "PLATFORM";
20
- CallMetaType["BROWSER"] = "BROWSER";
21
- })(CallMetaType = exports.CallMetaType || (exports.CallMetaType = {}));
22
- function createCallMetaReport(serviceId, mediaUnitId, roomId, callId, clientId, reportType, userId, peerConnectionId, timestamp) {
23
- const report = {
24
- type: reportType.type,
25
- serviceId,
26
- mediaUnitId,
27
- roomId,
28
- callId,
29
- clientId,
30
- userId,
31
- payload: JSON.stringify(reportType.payload),
32
- timestamp: timestamp !== null && timestamp !== void 0 ? timestamp : Date.now(),
33
- };
34
- return report;
35
- }
36
- exports.createCallMetaReport = createCallMetaReport;
@@ -1 +0,0 @@
1
- //# sourceMappingURL=QualityScoreUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QualityScoreUtils.d.ts","sourceRoot":"","sources":["../../src/common/QualityScoreUtils.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,22 +0,0 @@
1
- export type EventMap = {
2
- [key: string]: [...unknown[]];
3
- };
4
- export declare function createTypedEventEmitter<Events extends EventMap>(): TypedEventEmitter<Events>;
5
- export interface TypedEventEmitter<Events extends EventMap> {
6
- addListener<E extends keyof Events>(event: E, listener: (...data: Events[E]) => void): this;
7
- on<E extends keyof Events>(event: E, listener: (...data: Events[E]) => void): this;
8
- once<E extends keyof Events>(event: E, listener: (...data: Events[E]) => void): this;
9
- prependListener<E extends keyof Events>(event: E, listener: (...data: Events[E]) => void): this;
10
- prependOnceListener<E extends keyof Events>(event: E, listener: (...data: Events[E]) => void): this;
11
- off<E extends keyof Events>(event: E, listener: (...data: Events[E]) => void): this;
12
- removeAllListeners<E extends keyof Events>(event?: E): this;
13
- removeListener<E extends keyof Events>(event: E, listener: (...data: Events[E]) => void): this;
14
- emit<E extends keyof Events>(event: E, ...args: Events[E]): boolean;
15
- eventNames(): (keyof Events | string | symbol)[];
16
- rawListeners<E extends keyof Events>(event: E): ((...data: Events[E]) => void)[];
17
- listeners<E extends keyof Events>(event: E): ((...data: Events[E]) => void)[];
18
- listenerCount<E extends keyof Events>(event: E): number;
19
- getMaxListeners(): number;
20
- setMaxListeners(maxListeners: number): this;
21
- }
22
- //# sourceMappingURL=TypedEventEmitter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypedEventEmitter.d.ts","sourceRoot":"","sources":["../../src/common/TypedEventEmitter.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,QAAQ,GAAG;IAEtB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAA;CAC7B,CAAA;AAED,wBAAgB,uBAAuB,CAAC,MAAM,SAAS,QAAQ,+BAE9D;AAED,MAAM,WAAW,iBAAiB,CAAC,MAAM,SAAS,QAAQ;IACzD,WAAW,CAAC,CAAC,SAAS,MAAM,MAAM,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAA;IAC5F,EAAE,CAAC,CAAC,SAAS,MAAM,MAAM,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAA;IACnF,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAA;IACrF,eAAe,CAAC,CAAC,SAAS,MAAM,MAAM,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAA;IAChG,mBAAmB,CAAC,CAAC,SAAS,MAAM,MAAM,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAA;IAEpG,GAAG,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAA;IACnF,kBAAkB,CAAC,CAAC,SAAS,MAAM,MAAM,EAAG,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,CAAA;IAC5D,cAAc,CAAC,CAAC,SAAS,MAAM,MAAM,EAAG,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAA;IAE/F,IAAI,CAAC,CAAC,SAAS,MAAM,MAAM,EAAG,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;IAEpE,UAAU,IAAI,CAAC,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;IAChD,YAAY,CAAC,CAAC,SAAS,MAAM,MAAM,EAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAA;IACjF,SAAS,CAAC,CAAC,SAAS,MAAM,MAAM,EAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,CAAA;IAC9E,aAAa,CAAC,CAAC,SAAS,MAAM,MAAM,EAAG,KAAK,EAAE,CAAC,GAAG,MAAM,CAAA;IAExD,eAAe,IAAK,MAAM,CAAA;IAC1B,eAAe,CAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5C"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.createTypedEventEmitter = void 0;
7
- const events_1 = __importDefault(require("events"));
8
- function createTypedEventEmitter() {
9
- return new events_1.default();
10
- }
11
- exports.createTypedEventEmitter = createTypedEventEmitter;
@@ -1,10 +0,0 @@
1
- import { CallEventReport } from '@observertc/report-schemas-js';
2
- export declare function createCallStartedEventReport(serviceId: string, roomId: string, callId: string, timestamp: number, marker?: string): CallEventReport;
3
- export declare function createCallEndedEventReport(serviceId: string, roomId: string, callId: string, timestamp: number, marker?: string): CallEventReport;
4
- export declare function createClientJoinedEventReport(serviceId: string, mediaUnitId: string, roomId: string, callId: string, clientId: string, timestamp: number, userId?: string, marker?: string): CallEventReport;
5
- export declare function createClientLeftEventReport(serviceId: string, mediaUnitId: string, roomId: string, callId: string, clientId: string, timestamp: number, userId?: string, marker?: string): CallEventReport;
6
- export declare function createPeerConnectionOpenedEventReport(serviceId: string, mediaUnitId: string, roomId: string, callId: string, clientId: string, peerConnectionId: string, timestamp: number, marker?: string): CallEventReport;
7
- export declare function createPeerConnectionClosedEventReport(serviceId: string, mediaUnitId: string, roomId: string, callId: string, clientId: string, peerConnectionId: string, timestamp: number, marker?: string): CallEventReport;
8
- export declare function createMediaTrackAddedEventReport(serviceId: string, mediaUnitId: string, roomId: string, callId: string, clientId: string, peerConnectionId: string, mediaTrackId: string, timestamp: number, marker?: string): CallEventReport;
9
- export declare function createMediaTrackRemovedEventReport(serviceId: string, mediaUnitId: string, roomId: string, callId: string, clientId: string, peerConnectionId: string, mediaTrackId: string, timestamp: number, marker?: string): CallEventReport;
10
- //# sourceMappingURL=callEventReports.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"callEventReports.d.ts","sourceRoot":"","sources":["../../src/common/callEventReports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,wBAAgB,4BAA4B,CAC3C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CASjB;AAED,wBAAgB,0BAA0B,CACzC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CASjB;AAED,wBAAgB,6BAA6B,CAC5C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAYjB;AAED,wBAAgB,2BAA2B,CAC1C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAYjB;AAED,wBAAgB,qCAAqC,CACpD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAYjB;AAED,wBAAgB,qCAAqC,CACpD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAYjB;AAED,wBAAgB,gCAAgC,CAC/C,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAajB;AAED,wBAAgB,kCAAkC,CACjD,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,eAAe,CAajB"}
@@ -1,112 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createMediaTrackRemovedEventReport = exports.createMediaTrackAddedEventReport = exports.createPeerConnectionClosedEventReport = exports.createPeerConnectionOpenedEventReport = exports.createClientLeftEventReport = exports.createClientJoinedEventReport = exports.createCallEndedEventReport = exports.createCallStartedEventReport = void 0;
4
- const CallEventType_1 = require("./CallEventType");
5
- function createCallStartedEventReport(serviceId, roomId, callId, timestamp, marker) {
6
- return {
7
- name: CallEventType_1.CallEventType.CALL_STARTED,
8
- serviceId,
9
- roomId,
10
- callId,
11
- timestamp,
12
- marker,
13
- };
14
- }
15
- exports.createCallStartedEventReport = createCallStartedEventReport;
16
- function createCallEndedEventReport(serviceId, roomId, callId, timestamp, marker) {
17
- return {
18
- name: CallEventType_1.CallEventType.CALL_ENDED,
19
- serviceId,
20
- roomId,
21
- callId,
22
- timestamp,
23
- marker,
24
- };
25
- }
26
- exports.createCallEndedEventReport = createCallEndedEventReport;
27
- function createClientJoinedEventReport(serviceId, mediaUnitId, roomId, callId, clientId, timestamp, userId, marker) {
28
- return {
29
- name: CallEventType_1.CallEventType.CLIENT_JOINED,
30
- serviceId,
31
- mediaUnitId,
32
- roomId,
33
- callId,
34
- clientId,
35
- timestamp,
36
- userId,
37
- marker,
38
- };
39
- }
40
- exports.createClientJoinedEventReport = createClientJoinedEventReport;
41
- function createClientLeftEventReport(serviceId, mediaUnitId, roomId, callId, clientId, timestamp, userId, marker) {
42
- return {
43
- name: CallEventType_1.CallEventType.CLIENT_LEFT,
44
- serviceId,
45
- mediaUnitId,
46
- roomId,
47
- callId,
48
- clientId,
49
- timestamp,
50
- userId,
51
- marker,
52
- };
53
- }
54
- exports.createClientLeftEventReport = createClientLeftEventReport;
55
- function createPeerConnectionOpenedEventReport(serviceId, mediaUnitId, roomId, callId, clientId, peerConnectionId, timestamp, marker) {
56
- return {
57
- name: CallEventType_1.CallEventType.PEER_CONNECTION_OPENED,
58
- serviceId,
59
- mediaUnitId,
60
- roomId,
61
- callId,
62
- clientId,
63
- peerConnectionId,
64
- timestamp,
65
- marker,
66
- };
67
- }
68
- exports.createPeerConnectionOpenedEventReport = createPeerConnectionOpenedEventReport;
69
- function createPeerConnectionClosedEventReport(serviceId, mediaUnitId, roomId, callId, clientId, peerConnectionId, timestamp, marker) {
70
- return {
71
- name: CallEventType_1.CallEventType.PEER_CONNECTION_CLOSED,
72
- serviceId,
73
- mediaUnitId,
74
- roomId,
75
- callId,
76
- clientId,
77
- peerConnectionId,
78
- timestamp,
79
- marker,
80
- };
81
- }
82
- exports.createPeerConnectionClosedEventReport = createPeerConnectionClosedEventReport;
83
- function createMediaTrackAddedEventReport(serviceId, mediaUnitId, roomId, callId, clientId, peerConnectionId, mediaTrackId, timestamp, marker) {
84
- return {
85
- name: CallEventType_1.CallEventType.MEDIA_TRACK_ADDED,
86
- serviceId,
87
- mediaUnitId,
88
- roomId,
89
- callId,
90
- clientId,
91
- peerConnectionId,
92
- mediaTrackId,
93
- timestamp,
94
- marker,
95
- };
96
- }
97
- exports.createMediaTrackAddedEventReport = createMediaTrackAddedEventReport;
98
- function createMediaTrackRemovedEventReport(serviceId, mediaUnitId, roomId, callId, clientId, peerConnectionId, mediaTrackId, timestamp, marker) {
99
- return {
100
- name: CallEventType_1.CallEventType.MEDIA_TRACK_REMOVED,
101
- serviceId,
102
- mediaUnitId,
103
- roomId,
104
- callId,
105
- clientId,
106
- peerConnectionId,
107
- mediaTrackId,
108
- timestamp,
109
- marker,
110
- };
111
- }
112
- exports.createMediaTrackRemovedEventReport = createMediaTrackRemovedEventReport;
@@ -1,37 +0,0 @@
1
- export interface ClientIssue extends Record<string, unknown> {
2
- severity: 'critical' | 'major' | 'minor';
3
- timestamp: number;
4
- description?: string;
5
- peerConnectionId?: string;
6
- trackId?: string;
7
- attachments?: Record<string, unknown>;
8
- }
9
- export interface ClientSummary extends Record<string, unknown> {
10
- clientId: string;
11
- mediaUnitId: string;
12
- userId?: string;
13
- joined: number;
14
- left?: number;
15
- durationInMs: number;
16
- totalOutboundAudioBytes: number;
17
- totalOutboundVideoBytes: number;
18
- totalInboundAudioBytes: number;
19
- totalInboundVideoBytes: number;
20
- totalDataChannelBytesSent: number;
21
- totalDataChannelBytesReceived: number;
22
- ewmaRttInMs: number;
23
- usedTurn: boolean;
24
- issues: ClientIssue[];
25
- }
26
- export interface CallSummary extends Record<string, unknown> {
27
- serviceId: string;
28
- roomId: string;
29
- callId: string;
30
- started: number;
31
- durationInMs: number;
32
- maxNumberOfParticipants: number;
33
- numberOfIssues: number;
34
- highestSeverity?: ClientIssue['severity'];
35
- clients: ClientSummary[];
36
- }
37
- //# sourceMappingURL=CallSummary.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CallSummary.d.ts","sourceRoot":"","sources":["../../src/monitors/CallSummary.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,yBAAyB,EAAE,MAAM,CAAC;IAClC,6BAA6B,EAAE,MAAM,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC1C,OAAO,EAAE,aAAa,EAAE,CAAC;CACzB"}
@@ -1,32 +0,0 @@
1
- /// <reference types="node" />
2
- import { EventEmitter } from 'events';
3
- import { CallSummary } from './CallSummary';
4
- import { ObservedCall } from '../ObservedCall';
5
- export type CallSummaryMonitorEvents = {
6
- close: [];
7
- summary: [CallSummary];
8
- };
9
- export type CallSummaryMonitorConfig = {
10
- detectUserMediaIssues?: boolean;
11
- detectMediaTrackQualityLimitationIssues?: boolean;
12
- };
13
- export declare interface CallSummaryMonitor {
14
- on<U extends keyof CallSummaryMonitorEvents>(event: U, listener: (...args: CallSummaryMonitorEvents[U]) => void): this;
15
- off<U extends keyof CallSummaryMonitorEvents>(event: U, listener: (...args: CallSummaryMonitorEvents[U]) => void): this;
16
- once<U extends keyof CallSummaryMonitorEvents>(event: U, listener: (...args: CallSummaryMonitorEvents[U]) => void): this;
17
- emit<U extends keyof CallSummaryMonitorEvents>(event: U, ...args: CallSummaryMonitorEvents[U]): boolean;
18
- }
19
- export declare class CallSummaryMonitor extends EventEmitter {
20
- readonly config: CallSummaryMonitorConfig;
21
- private readonly _summaries;
22
- private _closed;
23
- constructor(config?: CallSummaryMonitorConfig);
24
- addCall(call: ObservedCall): void;
25
- private _addClient;
26
- private _addPeerConnection;
27
- private _addOutboundVideoTrack;
28
- takeSummary(callId: string): CallSummary | undefined;
29
- get closed(): boolean;
30
- close(): void;
31
- }
32
- //# sourceMappingURL=CallSummaryMonitor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CallSummaryMonitor.d.ts","sourceRoot":"","sources":["../../src/monitors/CallSummaryMonitor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,WAAW,EAAiB,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C,MAAM,MAAM,wBAAwB,GAAG;IACtC,KAAK,EAAE,EAAE,CAAC;IACV,OAAO,EAAE,CAAC,WAAW,CAAC,CAAC;CACvB,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACtC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uCAAuC,CAAC,EAAE,OAAO,CAAC;CAClD,CAAA;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB;IAC1C,EAAE,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACvH,GAAG,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACxH,IAAI,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACzH,IAAI,CAAC,CAAC,SAAS,MAAM,wBAAwB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACxG;AAED,qBAAa,kBAAmB,SAAQ,YAAY;aAKlC,MAAM,EAAE,wBAAwB;IAJjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkC;IAE7D,OAAO,CAAC,OAAO,CAAS;gBAEP,MAAM,GAAE,wBAA6B;IAM/C,OAAO,CAAC,IAAI,EAAE,YAAY;IA8BjC,OAAO,CAAC,UAAU;IA8ElB,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,sBAAsB;IAmBvB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAU3D,IAAW,MAAM,YAEhB;IAEM,KAAK;CAMZ"}