@webex/plugin-meetings 3.0.0-beta.21 → 3.0.0-beta.211

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 (422) hide show
  1. package/README.md +45 -7
  2. package/dist/annotation/annotation.types.js +7 -0
  3. package/dist/annotation/annotation.types.js.map +1 -0
  4. package/dist/annotation/constants.js +49 -0
  5. package/dist/annotation/constants.js.map +1 -0
  6. package/dist/annotation/index.js +342 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +114 -14
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/edit-lock-error.js +52 -0
  11. package/dist/breakouts/edit-lock-error.js.map +1 -0
  12. package/dist/breakouts/events.js +45 -0
  13. package/dist/breakouts/events.js.map +1 -0
  14. package/dist/breakouts/index.js +841 -19
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/request.js +78 -0
  17. package/dist/breakouts/request.js.map +1 -0
  18. package/dist/breakouts/utils.js +67 -0
  19. package/dist/breakouts/utils.js.map +1 -0
  20. package/dist/common/errors/webex-errors.js +3 -2
  21. package/dist/common/errors/webex-errors.js.map +1 -1
  22. package/dist/common/logs/logger-proxy.js +1 -1
  23. package/dist/common/logs/logger-proxy.js.map +1 -1
  24. package/dist/common/queue.js +24 -9
  25. package/dist/common/queue.js.map +1 -1
  26. package/dist/config.js +3 -8
  27. package/dist/config.js.map +1 -1
  28. package/dist/constants.js +179 -30
  29. package/dist/constants.js.map +1 -1
  30. package/dist/controls-options-manager/constants.js +14 -0
  31. package/dist/controls-options-manager/constants.js.map +1 -0
  32. package/dist/controls-options-manager/enums.js +27 -0
  33. package/dist/controls-options-manager/enums.js.map +1 -0
  34. package/dist/controls-options-manager/index.js +297 -0
  35. package/dist/controls-options-manager/index.js.map +1 -0
  36. package/dist/controls-options-manager/types.js +7 -0
  37. package/dist/controls-options-manager/types.js.map +1 -0
  38. package/dist/controls-options-manager/util.js +319 -0
  39. package/dist/controls-options-manager/util.js.map +1 -0
  40. package/dist/index.js +106 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/interpretation/collection.js +23 -0
  43. package/dist/interpretation/collection.js.map +1 -0
  44. package/dist/interpretation/index.js +366 -0
  45. package/dist/interpretation/index.js.map +1 -0
  46. package/dist/interpretation/siLanguage.js +25 -0
  47. package/dist/interpretation/siLanguage.js.map +1 -0
  48. package/dist/locus-info/controlsUtils.js +91 -2
  49. package/dist/locus-info/controlsUtils.js.map +1 -1
  50. package/dist/locus-info/index.js +359 -64
  51. package/dist/locus-info/index.js.map +1 -1
  52. package/dist/locus-info/infoUtils.js +7 -1
  53. package/dist/locus-info/infoUtils.js.map +1 -1
  54. package/dist/locus-info/mediaSharesUtils.js +43 -1
  55. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  56. package/dist/locus-info/parser.js +219 -63
  57. package/dist/locus-info/parser.js.map +1 -1
  58. package/dist/locus-info/selfUtils.js +89 -14
  59. package/dist/locus-info/selfUtils.js.map +1 -1
  60. package/dist/media/index.js +48 -135
  61. package/dist/media/index.js.map +1 -1
  62. package/dist/media/properties.js +29 -90
  63. package/dist/media/properties.js.map +1 -1
  64. package/dist/mediaQualityMetrics/config.js +505 -493
  65. package/dist/mediaQualityMetrics/config.js.map +1 -1
  66. package/dist/meeting/in-meeting-actions.js +90 -2
  67. package/dist/meeting/in-meeting-actions.js.map +1 -1
  68. package/dist/meeting/index.js +2770 -2547
  69. package/dist/meeting/index.js.map +1 -1
  70. package/dist/meeting/locusMediaRequest.js +291 -0
  71. package/dist/meeting/locusMediaRequest.js.map +1 -0
  72. package/dist/meeting/muteState.js +229 -124
  73. package/dist/meeting/muteState.js.map +1 -1
  74. package/dist/meeting/request.js +199 -193
  75. package/dist/meeting/request.js.map +1 -1
  76. package/dist/meeting/util.js +532 -414
  77. package/dist/meeting/util.js.map +1 -1
  78. package/dist/meeting-info/index.js +48 -7
  79. package/dist/meeting-info/index.js.map +1 -1
  80. package/dist/meeting-info/meeting-info-v2.js +171 -51
  81. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  82. package/dist/meeting-info/utilv2.js +20 -5
  83. package/dist/meeting-info/utilv2.js.map +1 -1
  84. package/dist/meetings/collection.js +22 -0
  85. package/dist/meetings/collection.js.map +1 -1
  86. package/dist/meetings/index.js +357 -66
  87. package/dist/meetings/index.js.map +1 -1
  88. package/dist/meetings/meetings.types.js +7 -0
  89. package/dist/meetings/meetings.types.js.map +1 -0
  90. package/dist/meetings/request.js +2 -0
  91. package/dist/meetings/request.js.map +1 -1
  92. package/dist/meetings/util.js +88 -1
  93. package/dist/meetings/util.js.map +1 -1
  94. package/dist/member/index.js +49 -0
  95. package/dist/member/index.js.map +1 -1
  96. package/dist/member/types.js +25 -0
  97. package/dist/member/types.js.map +1 -0
  98. package/dist/member/util.js +121 -25
  99. package/dist/member/util.js.map +1 -1
  100. package/dist/members/collection.js +10 -0
  101. package/dist/members/collection.js.map +1 -1
  102. package/dist/members/index.js +86 -5
  103. package/dist/members/index.js.map +1 -1
  104. package/dist/members/request.js +106 -38
  105. package/dist/members/request.js.map +1 -1
  106. package/dist/members/types.js +15 -0
  107. package/dist/members/types.js.map +1 -0
  108. package/dist/members/util.js +316 -233
  109. package/dist/members/util.js.map +1 -1
  110. package/dist/metrics/constants.js +3 -5
  111. package/dist/metrics/constants.js.map +1 -1
  112. package/dist/metrics/index.js +1 -468
  113. package/dist/metrics/index.js.map +1 -1
  114. package/dist/multistream/mediaRequestManager.js +238 -49
  115. package/dist/multistream/mediaRequestManager.js.map +1 -1
  116. package/dist/multistream/receiveSlot.js +49 -16
  117. package/dist/multistream/receiveSlot.js.map +1 -1
  118. package/dist/multistream/receiveSlotManager.js +52 -34
  119. package/dist/multistream/receiveSlotManager.js.map +1 -1
  120. package/dist/multistream/remoteMedia.js +44 -18
  121. package/dist/multistream/remoteMedia.js.map +1 -1
  122. package/dist/multistream/remoteMediaGroup.js +60 -3
  123. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  124. package/dist/multistream/remoteMediaManager.js +173 -59
  125. package/dist/multistream/remoteMediaManager.js.map +1 -1
  126. package/dist/networkQualityMonitor/index.js +4 -2
  127. package/dist/networkQualityMonitor/index.js.map +1 -1
  128. package/dist/reachability/index.js +72 -27
  129. package/dist/reachability/index.js.map +1 -1
  130. package/dist/reachability/request.js +12 -5
  131. package/dist/reachability/request.js.map +1 -1
  132. package/dist/reconnection-manager/index.js +196 -155
  133. package/dist/reconnection-manager/index.js.map +1 -1
  134. package/dist/recording-controller/index.js +21 -2
  135. package/dist/recording-controller/index.js.map +1 -1
  136. package/dist/recording-controller/util.js +9 -8
  137. package/dist/recording-controller/util.js.map +1 -1
  138. package/dist/roap/index.js +21 -29
  139. package/dist/roap/index.js.map +1 -1
  140. package/dist/roap/request.js +110 -89
  141. package/dist/roap/request.js.map +1 -1
  142. package/dist/roap/turnDiscovery.js +93 -36
  143. package/dist/roap/turnDiscovery.js.map +1 -1
  144. package/dist/rtcMetrics/constants.js +12 -0
  145. package/dist/rtcMetrics/constants.js.map +1 -0
  146. package/dist/rtcMetrics/index.js +117 -0
  147. package/dist/rtcMetrics/index.js.map +1 -0
  148. package/dist/statsAnalyzer/global.js +1 -93
  149. package/dist/statsAnalyzer/global.js.map +1 -1
  150. package/dist/statsAnalyzer/index.js +326 -311
  151. package/dist/statsAnalyzer/index.js.map +1 -1
  152. package/dist/statsAnalyzer/mqaUtil.js +90 -53
  153. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  154. package/dist/types/annotation/annotation.types.d.ts +42 -0
  155. package/dist/types/annotation/constants.d.ts +31 -0
  156. package/dist/types/annotation/index.d.ts +117 -0
  157. package/dist/types/breakouts/breakout.d.ts +8 -0
  158. package/dist/types/breakouts/collection.d.ts +5 -0
  159. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  160. package/dist/types/breakouts/events.d.ts +8 -0
  161. package/dist/types/breakouts/index.d.ts +5 -0
  162. package/dist/types/breakouts/request.d.ts +22 -0
  163. package/dist/types/breakouts/utils.d.ts +15 -0
  164. package/dist/types/common/browser-detection.d.ts +9 -0
  165. package/dist/types/common/collection.d.ts +48 -0
  166. package/dist/types/common/config.d.ts +2 -0
  167. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  168. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  169. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  170. package/dist/types/common/errors/media.d.ts +15 -0
  171. package/dist/types/common/errors/parameter.d.ts +15 -0
  172. package/dist/types/common/errors/password-error.d.ts +15 -0
  173. package/dist/types/common/errors/permission.d.ts +14 -0
  174. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  175. package/dist/types/common/errors/reconnection.d.ts +15 -0
  176. package/dist/types/common/errors/stats.d.ts +15 -0
  177. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  178. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  179. package/dist/types/common/events/events-scope.d.ts +17 -0
  180. package/dist/types/common/events/events.d.ts +12 -0
  181. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  182. package/dist/types/common/events/util.d.ts +2 -0
  183. package/dist/types/common/logs/logger-config.d.ts +2 -0
  184. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  185. package/dist/types/common/logs/request.d.ts +34 -0
  186. package/dist/types/common/queue.d.ts +34 -0
  187. package/dist/types/config.d.ts +72 -0
  188. package/dist/types/constants.d.ts +1020 -0
  189. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  190. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  191. package/dist/types/controls-options-manager/index.d.ts +136 -0
  192. package/dist/types/controls-options-manager/types.d.ts +43 -0
  193. package/dist/types/controls-options-manager/util.d.ts +1 -0
  194. package/dist/types/index.d.ts +7 -0
  195. package/dist/types/interpretation/collection.d.ts +5 -0
  196. package/dist/types/interpretation/index.d.ts +5 -0
  197. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  198. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  199. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  200. package/dist/types/locus-info/fullState.d.ts +2 -0
  201. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  202. package/dist/types/locus-info/index.d.ts +322 -0
  203. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  204. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  205. package/dist/types/locus-info/parser.d.ts +271 -0
  206. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  207. package/dist/types/media/index.d.ts +34 -0
  208. package/dist/types/media/properties.d.ts +93 -0
  209. package/dist/types/media/util.d.ts +2 -0
  210. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  211. package/dist/types/meeting/in-meeting-actions.d.ts +163 -0
  212. package/dist/types/meeting/index.d.ts +1482 -0
  213. package/dist/types/meeting/locusMediaRequest.d.ts +72 -0
  214. package/dist/types/meeting/muteState.d.ts +184 -0
  215. package/dist/types/meeting/request.d.ts +257 -0
  216. package/dist/types/meeting/request.type.d.ts +11 -0
  217. package/dist/types/meeting/state.d.ts +9 -0
  218. package/dist/types/meeting/util.d.ts +79 -0
  219. package/dist/types/meeting-info/collection.d.ts +20 -0
  220. package/dist/types/meeting-info/index.d.ts +62 -0
  221. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  222. package/dist/types/meeting-info/request.d.ts +22 -0
  223. package/dist/types/meeting-info/util.d.ts +2 -0
  224. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  225. package/dist/types/meetings/collection.d.ts +31 -0
  226. package/dist/types/meetings/index.d.ts +367 -0
  227. package/dist/types/meetings/meetings.types.d.ts +4 -0
  228. package/dist/types/meetings/request.d.ts +27 -0
  229. package/dist/types/meetings/util.d.ts +18 -0
  230. package/dist/types/member/index.d.ts +159 -0
  231. package/dist/types/member/types.d.ts +32 -0
  232. package/dist/types/member/util.d.ts +2 -0
  233. package/dist/types/members/collection.d.ts +29 -0
  234. package/dist/types/members/index.d.ts +353 -0
  235. package/dist/types/members/request.d.ts +114 -0
  236. package/dist/types/members/types.d.ts +24 -0
  237. package/dist/types/members/util.d.ts +210 -0
  238. package/dist/types/metrics/constants.d.ts +55 -0
  239. package/dist/types/metrics/index.d.ts +45 -0
  240. package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
  241. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  242. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  243. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  244. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  245. package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
  246. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  247. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  248. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  249. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  250. package/dist/types/reachability/index.d.ts +152 -0
  251. package/dist/types/reachability/request.d.ts +37 -0
  252. package/dist/types/reactions/constants.d.ts +3 -0
  253. package/dist/types/reactions/reactions.d.ts +4 -0
  254. package/dist/types/reactions/reactions.type.d.ts +52 -0
  255. package/dist/types/reconnection-manager/index.d.ts +126 -0
  256. package/dist/types/recording-controller/enums.d.ts +7 -0
  257. package/dist/types/recording-controller/index.d.ts +207 -0
  258. package/dist/types/recording-controller/util.d.ts +14 -0
  259. package/dist/types/roap/index.d.ts +77 -0
  260. package/dist/types/roap/request.d.ts +36 -0
  261. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  262. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  263. package/dist/types/rtcMetrics/index.d.ts +46 -0
  264. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  265. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  266. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  267. package/dist/types/transcription/index.d.ts +64 -0
  268. package/package.json +23 -20
  269. package/src/annotation/annotation.types.ts +50 -0
  270. package/src/annotation/constants.ts +36 -0
  271. package/src/annotation/index.ts +328 -0
  272. package/src/breakouts/README.md +44 -14
  273. package/src/breakouts/breakout.ts +87 -9
  274. package/src/breakouts/edit-lock-error.ts +25 -0
  275. package/src/breakouts/events.ts +56 -0
  276. package/src/breakouts/index.ts +710 -10
  277. package/src/breakouts/request.ts +55 -0
  278. package/src/breakouts/utils.ts +57 -0
  279. package/src/common/errors/webex-errors.ts +6 -2
  280. package/src/common/logs/logger-proxy.ts +1 -1
  281. package/src/common/queue.ts +22 -8
  282. package/src/config.ts +2 -7
  283. package/src/constants.ts +165 -21
  284. package/src/controls-options-manager/constants.ts +5 -0
  285. package/src/controls-options-manager/enums.ts +18 -0
  286. package/src/controls-options-manager/index.ts +278 -0
  287. package/src/controls-options-manager/types.ts +59 -0
  288. package/src/controls-options-manager/util.ts +300 -0
  289. package/src/index.ts +39 -0
  290. package/src/interpretation/README.md +60 -0
  291. package/src/interpretation/collection.ts +19 -0
  292. package/src/interpretation/index.ts +332 -0
  293. package/src/interpretation/siLanguage.ts +18 -0
  294. package/src/locus-info/controlsUtils.ts +108 -0
  295. package/src/locus-info/index.ts +383 -61
  296. package/src/locus-info/infoUtils.ts +10 -2
  297. package/src/locus-info/mediaSharesUtils.ts +48 -0
  298. package/src/locus-info/parser.ts +224 -39
  299. package/src/locus-info/selfUtils.ts +81 -5
  300. package/src/media/index.ts +87 -140
  301. package/src/media/properties.ts +49 -90
  302. package/src/mediaQualityMetrics/config.ts +379 -377
  303. package/src/meeting/in-meeting-actions.ts +179 -3
  304. package/src/meeting/index.ts +2099 -2083
  305. package/src/meeting/locusMediaRequest.ts +311 -0
  306. package/src/meeting/muteState.ts +228 -132
  307. package/src/meeting/request.ts +105 -115
  308. package/src/meeting/util.ts +511 -397
  309. package/src/meeting-info/index.ts +54 -8
  310. package/src/meeting-info/meeting-info-v2.ts +148 -14
  311. package/src/meeting-info/utilv2.ts +13 -3
  312. package/src/meetings/collection.ts +20 -0
  313. package/src/meetings/index.ts +392 -84
  314. package/src/meetings/meetings.types.ts +12 -0
  315. package/src/meetings/request.ts +2 -0
  316. package/src/meetings/util.ts +103 -4
  317. package/src/member/index.ts +49 -0
  318. package/src/member/types.ts +38 -0
  319. package/src/member/util.ts +127 -25
  320. package/src/members/collection.ts +8 -0
  321. package/src/members/index.ts +107 -6
  322. package/src/members/request.ts +97 -17
  323. package/src/members/types.ts +28 -0
  324. package/src/members/util.ts +319 -240
  325. package/src/metrics/constants.ts +2 -4
  326. package/src/metrics/index.ts +1 -490
  327. package/src/multistream/mediaRequestManager.ts +289 -79
  328. package/src/multistream/receiveSlot.ts +55 -18
  329. package/src/multistream/receiveSlotManager.ts +46 -24
  330. package/src/multistream/remoteMedia.ts +27 -2
  331. package/src/multistream/remoteMediaGroup.ts +59 -0
  332. package/src/multistream/remoteMediaManager.ts +113 -32
  333. package/src/networkQualityMonitor/index.ts +6 -6
  334. package/src/reachability/index.ts +62 -15
  335. package/src/reachability/request.ts +10 -5
  336. package/src/reconnection-manager/index.ts +68 -43
  337. package/src/recording-controller/index.ts +20 -3
  338. package/src/recording-controller/util.ts +26 -9
  339. package/src/roap/index.ts +21 -30
  340. package/src/roap/request.ts +101 -95
  341. package/src/roap/turnDiscovery.ts +47 -25
  342. package/src/rtcMetrics/constants.ts +3 -0
  343. package/src/rtcMetrics/index.ts +100 -0
  344. package/src/statsAnalyzer/global.ts +1 -94
  345. package/src/statsAnalyzer/index.ts +376 -386
  346. package/src/statsAnalyzer/mqaUtil.ts +100 -99
  347. package/test/integration/spec/converged-space-meetings.js +233 -0
  348. package/test/integration/spec/journey.js +336 -259
  349. package/test/integration/spec/space-meeting.js +77 -4
  350. package/test/unit/spec/annotation/index.ts +418 -0
  351. package/test/unit/spec/breakouts/breakout.ts +142 -24
  352. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  353. package/test/unit/spec/breakouts/events.ts +89 -0
  354. package/test/unit/spec/breakouts/index.ts +1545 -48
  355. package/test/unit/spec/breakouts/request.ts +104 -0
  356. package/test/unit/spec/breakouts/utils.js +72 -0
  357. package/test/unit/spec/common/queue.js +31 -2
  358. package/test/unit/spec/controls-options-manager/index.js +287 -0
  359. package/test/unit/spec/controls-options-manager/util.js +582 -0
  360. package/test/unit/spec/fixture/locus.js +1 -0
  361. package/test/unit/spec/interpretation/collection.ts +15 -0
  362. package/test/unit/spec/interpretation/index.ts +589 -0
  363. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  364. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  365. package/test/unit/spec/locus-info/index.js +1169 -36
  366. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  367. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  368. package/test/unit/spec/locus-info/parser.js +62 -22
  369. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  370. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  371. package/test/unit/spec/media/index.ts +138 -28
  372. package/test/unit/spec/meeting/in-meeting-actions.ts +89 -3
  373. package/test/unit/spec/meeting/index.js +3573 -1663
  374. package/test/unit/spec/meeting/locusMediaRequest.ts +438 -0
  375. package/test/unit/spec/meeting/muteState.js +370 -208
  376. package/test/unit/spec/meeting/request.js +339 -44
  377. package/test/unit/spec/meeting/utils.js +456 -53
  378. package/test/unit/spec/meeting-info/index.js +181 -0
  379. package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
  380. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  381. package/test/unit/spec/meetings/collection.js +14 -0
  382. package/test/unit/spec/meetings/index.js +867 -125
  383. package/test/unit/spec/meetings/utils.js +206 -2
  384. package/test/unit/spec/member/index.js +58 -4
  385. package/test/unit/spec/member/util.js +479 -35
  386. package/test/unit/spec/members/index.js +319 -1
  387. package/test/unit/spec/members/request.js +206 -27
  388. package/test/unit/spec/members/utils.js +184 -0
  389. package/test/unit/spec/metrics/index.js +1 -50
  390. package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
  391. package/test/unit/spec/multistream/receiveSlot.ts +72 -13
  392. package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
  393. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  394. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  395. package/test/unit/spec/multistream/remoteMediaManager.ts +318 -0
  396. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  397. package/test/unit/spec/reachability/index.ts +125 -8
  398. package/test/unit/spec/reachability/request.js +66 -0
  399. package/test/unit/spec/reconnection-manager/index.js +59 -6
  400. package/test/unit/spec/recording-controller/index.js +294 -218
  401. package/test/unit/spec/recording-controller/util.js +223 -96
  402. package/test/unit/spec/roap/index.ts +26 -51
  403. package/test/unit/spec/roap/request.ts +196 -85
  404. package/test/unit/spec/roap/turnDiscovery.ts +30 -7
  405. package/test/unit/spec/rtcMetrics/index.ts +60 -0
  406. package/test/unit/spec/stats-analyzer/index.js +92 -41
  407. package/test/utils/constants.js +9 -0
  408. package/test/utils/integrationTestUtils.js +46 -0
  409. package/test/utils/testUtils.js +0 -45
  410. package/test/utils/webex-config.js +4 -0
  411. package/test/utils/webex-test-users.js +6 -3
  412. package/dist/meeting/effectsState.js +0 -262
  413. package/dist/meeting/effectsState.js.map +0 -1
  414. package/dist/metrics/config.js +0 -299
  415. package/dist/metrics/config.js.map +0 -1
  416. package/dist/multistream/multistreamMedia.js +0 -110
  417. package/dist/multistream/multistreamMedia.js.map +0 -1
  418. package/src/index.js +0 -16
  419. package/src/meeting/effectsState.ts +0 -211
  420. package/src/metrics/config.ts +0 -495
  421. package/src/multistream/multistreamMedia.ts +0 -97
  422. package/test/unit/spec/meeting/effectsState.js +0 -285
@@ -1,382 +1,384 @@
1
- export default {
2
- intervals: [
1
+ export const emptyMqaInterval = {
2
+ audioReceive: [],
3
+ audioTransmit: [],
4
+ intervalMetadata: {
5
+ peerReflexiveIP: '0.0.0.0',
6
+ peripherals: [],
7
+ processAverageCPU: 0,
8
+ processMaximumCPU: 0,
9
+ systemAverageCPU: 0,
10
+ systemMaximumCPU: 0,
11
+ },
12
+ networkType: '',
13
+ intervalNumber: 0,
14
+ videoReceive: [],
15
+ videoTransmit: [],
16
+ };
17
+
18
+ export const emptyAudioReceive = {
19
+ common: {
20
+ common: {
21
+ direction: 'inactive',
22
+ isMain: true,
23
+ mariFecEnabled: false,
24
+ mariQosEnabled: false,
25
+ multistreamEnabled: false,
26
+ },
27
+ dtlsBitrate: 0,
28
+ dtlsPackets: 0,
29
+ fecBitrate: 0,
30
+ fecPackets: 0,
31
+ maxBitrate: 0,
32
+ mediaHopByHopLost: 0,
33
+ rtcpBitrate: 0,
34
+ rtcpPackets: 0,
35
+ rtpBitrate: 0,
36
+ rtpHopByHopLost: 0,
37
+ rtpPackets: 0,
38
+ rtpRecovered: 0,
39
+ rtxBitrate: 0,
40
+ rtxPackets: 0,
41
+ srtcpUnprotectErrors: 0,
42
+ srtpUnprotectErrors: 0,
43
+ stunBitrate: 0,
44
+ stunPackets: 0,
45
+ transportType: 'UDP',
46
+ },
47
+ streams: [
48
+ {
49
+ common: {
50
+ codec: 'opus',
51
+ concealedFrames: 0,
52
+ csi: [],
53
+ maxConcealRunLength: 0,
54
+ optimalBitrate: 0,
55
+ optimalFrameRate: 0,
56
+ receivedBitrate: 0,
57
+ receivedFrameRate: 0,
58
+ renderedFrameRate: 0,
59
+ requestedBitrate: 0,
60
+ requestedFrameRate: 0,
61
+ rtpEndToEndLost: 0,
62
+ maxRtpJitter: 0,
63
+ meanRtpJitter: 0,
64
+ rtpPackets: 0,
65
+ ssci: 0,
66
+ },
67
+ },
68
+ ],
69
+ };
70
+
71
+ export const emptyAudioTransmit = {
72
+ common: {
73
+ availableBitrate: 0,
74
+ common: {
75
+ direction: 'inactive',
76
+ isMain: true,
77
+ mariFecEnabled: false,
78
+ mariQosEnabled: false,
79
+ multistreamEnabled: false,
80
+ },
81
+ dtlsBitrate: 0,
82
+ dtlsPackets: 0,
83
+ fecBitrate: 0,
84
+ fecPackets: 0,
85
+ maxBitrate: 0,
86
+ queueDelay: 0,
87
+ remoteJitter: 0,
88
+ remoteLossRate: 0,
89
+ remoteReceiveRate: 0,
90
+ roundTripTime: 0,
91
+ rtcpBitrate: 0,
92
+ rtcpPackets: 0,
93
+ rtpBitrate: 0,
94
+ rtpPackets: 0,
95
+ rtxBitrate: 0,
96
+ rtxPackets: 0,
97
+ stunBitrate: 0,
98
+ stunPackets: 0,
99
+ transportType: 'UDP',
100
+ },
101
+ streams: [
102
+ {
103
+ common: {
104
+ codec: 'opus',
105
+ csi: [],
106
+ requestedBitrate: 0,
107
+ requestedFrames: 0,
108
+ rtpPackets: 0,
109
+ ssci: 0,
110
+ transmittedBitrate: 0,
111
+ transmittedFrameRate: 0,
112
+ },
113
+ },
114
+ ],
115
+ };
116
+
117
+ export const emptyVideoReceive = {
118
+ common: {
119
+ common: {
120
+ direction: 'inactive',
121
+ isMain: true, // Not avaliable
122
+ mariFecEnabled: true, // Not avaliable
123
+ mariQosEnabled: true, // Not avaliable
124
+ multistreamEnabled: true, // Not avaliable
125
+ },
126
+ dtlsBitrate: 0, // Not avaliable
127
+ dtlsPackets: 0, // Not avaliable
128
+ fecBitrate: 0, // Not avaliable
129
+ fecPackets: 0, // Not avaliable
130
+ maxBitrate: 0,
131
+ mediaHopByHopLost: 0,
132
+ rtcpBitrate: 0, // Not avaliable
133
+ rtcpPackets: 0, // Not avaliable
134
+ rtpBitrate: 0,
135
+ rtpHopByHopLost: 0,
136
+ rtpPackets: 0,
137
+ rtpRecovered: 0, // Not avaliable
138
+ rtxBitrate: 0, // Not avaliable
139
+ rtxPackets: 0, // Not avaliable
140
+ srtcpUnprotectErrors: 0, // Not avaliable
141
+ srtpUnprotectErrors: 0, // Not avaliable
142
+ stunBitrate: 0, // Not avaliable
143
+ stunPackets: 0, // Not avaliable
144
+ transportType: 'UDP',
145
+ },
146
+ streams: [
147
+ {
148
+ common: {
149
+ codec: 'H264',
150
+ concealedFrames: 0, // Not avaliable
151
+ csi: [],
152
+ maxConcealRunLength: 0, // Not avaliable
153
+ optimalBitrate: 0,
154
+ optimalFrameRate: 0,
155
+ receivedBitrate: 0,
156
+ receivedFrameRate: 0,
157
+ renderedFrameRate: 0, // Not avaliable
158
+ requestedBitrate: 0,
159
+ requestedFrameRate: 0,
160
+ rtpEndToEndLost: 0,
161
+ rtpJitter: 0,
162
+ rtpPackets: 0,
163
+ ssci: 0, // Not avaliable
164
+ },
165
+ h264CodecProfile: 'BP',
166
+ isActiveSpeaker: true,
167
+ optimalFrameSize: 0, // Not avaliable
168
+ receivedFrameSize: 0,
169
+ receivedHeight: 0,
170
+ receivedKeyFrames: 0,
171
+ receivedKeyFramesForRequest: 0,
172
+ receivedKeyFramesSourceChange: 0,
173
+ receivedKeyFramesUnknown: 0,
174
+ receivedWidth: 0,
175
+ requestedFrameSize: 0,
176
+ requestedKeyFrames: 0,
177
+ },
178
+ ],
179
+ };
180
+
181
+ export const emptyVideoTransmit = {
182
+ common: {
183
+ availableBitrate: 0, // Not avaliable currently hardcoded
184
+ common: {
185
+ direction: 'inactive',
186
+ isMain: true,
187
+ mariFecEnabled: false, // Not avaliable
188
+ mariQosEnabled: false, // Not avaliable
189
+ multistreamEnabled: false, // Not avaliable
190
+ },
191
+ dtlsBitrate: 0, // Not avaliable
192
+ dtlsPackets: 0, // Not avaliable
193
+ fecBitrate: 0, // Not avaliable
194
+ fecPackets: 0, // TODO: check inbound-rtp// Not avaliable
195
+ maxBitrate: 0, // Currently hardcoded
196
+ queueDelay: 0, // outboundRtp.totalPacketSentDelay // TODO: check if totalInterFrameDelay/ packetSentDelay/ jitterBufferDalay
197
+ remoteJitter: 0, // remoteInboundRtp.jitter
198
+ remoteLossRate: 0, // comparedResults.lossRate
199
+ remoteReceiveRate: 0, // compareResults.packetsLost
200
+ roundTripTime: 0, // compareResults.roundTripTime
201
+ rtcpBitrate: 0, // Dont have access to it
202
+ rtcpPackets: 0, // Dont have access to rtcp
203
+ rtpBitrate: 0, // Dont have access
204
+ rtpPackets: 0, // outboundRtp.packetsSent
205
+ rtxBitrate: 0, // Dont have access to it
206
+ rtxPackets: 0, // Dont have access to it
207
+ stunBitrate: 0, // Dont have access to it
208
+ stunPackets: 0, // Dont have access to it
209
+ transportType: 'UDP', // TODO: need to calculate
210
+ },
211
+ streams: [
212
+ {
213
+ common: {
214
+ codec: 'H264',
215
+ csi: [],
216
+ duplicateSsci: 0, // Not Avaliable
217
+ requestedBitrate: 0, // TODO: from remote SDP
218
+ requestedFrames: 0, // TODO: from remote SDP
219
+ rtpPackets: 0, // same as rtp packets
220
+ ssci: 0,
221
+ transmittedBitrate: 0, // TODO: get in the candidate pair
222
+ transmittedFrameRate: 0, // TODO: from track info
223
+ },
224
+ h264CodecProfile: 'BP', // TODO: from localSDP
225
+ isAvatar: false, // Not Avaliable
226
+ isHardwareEncoded: false, // Not Avaliable
227
+ localConfigurationChanges: 2, // Not Avaliable
228
+ maxFrameQp: 0, // Not Avaliable
229
+ maxNoiseLevel: 0, // Not Avaliable
230
+ minRegionQp: 0, // Not Avaliable
231
+ remoteConfigurationChanges: 0, // Not Avaliable
232
+ requestedFrameSize: 0, // TODO: from remote SDP
233
+ requestedKeyFrames: 0, // outbound Fir request
234
+ transmittedFrameSize: 0, // Not Avaliable
235
+ transmittedHeight: 0,
236
+ transmittedKeyFrames: 0, // Key frames encoded
237
+ transmittedKeyFramesClient: 0, // Not Avaliable
238
+ transmittedKeyFramesConfigurationChange: 0, // Not Avaliable
239
+ transmittedKeyFramesFeedback: 0, // Not Avaliable
240
+ transmittedKeyFramesLocalDrop: 0, // Not Avaliable
241
+ transmittedKeyFramesOtherLayer: 0, // Not Avaliable
242
+ transmittedKeyFramesPeriodic: 0, // Not Avaliable
243
+ transmittedKeyFramesSceneChange: 0, // Not Avaliable
244
+ transmittedKeyFramesStartup: 0, // Not Avaliable
245
+ transmittedKeyFramesUnknown: 0, // Not Avaliable
246
+ transmittedWidth: 0,
247
+ },
248
+ ],
249
+ };
250
+
251
+ export const emptyVideoShareReceive = {
252
+ common: {
253
+ common: {
254
+ direction: 'inactive',
255
+ isMain: false, // Not avaliable
256
+ mariFecEnabled: true, // Not avaliable
257
+ mariQosEnabled: true, // Not avaliable
258
+ multistreamEnabled: true, // Not avaliable
259
+ },
260
+ dtlsBitrate: 0, // Not avaliable
261
+ dtlsPackets: 0, // Not avaliable
262
+ fecBitrate: 0, // Not avaliable
263
+ fecPackets: 0, // Not avaliable
264
+ maxBitrate: 0,
265
+ mediaHopByHopLost: 0,
266
+ rtcpBitrate: 0, // Not avaliable
267
+ rtcpPackets: 0, // Not avaliable
268
+ rtpBitrate: 0,
269
+ rtpHopByHopLost: 0,
270
+ rtpPackets: 0,
271
+ rtpRecovered: 0, // Not avaliable
272
+ rtxBitrate: 0, // Not avaliable
273
+ rtxPackets: 0, // Not avaliable
274
+ srtcpUnprotectErrors: 0, // Not avaliable
275
+ srtpUnprotectErrors: 0, // Not avaliable
276
+ stunBitrate: 0, // Not avaliable
277
+ stunPackets: 0, // Not avaliable
278
+ transportType: 'UDP',
279
+ },
280
+ streams: [
281
+ {
282
+ common: {
283
+ codec: 'H264',
284
+ concealedFrames: 0, // Not avaliable
285
+ csi: [],
286
+ maxConcealRunLength: 0, // Not avaliable
287
+ optimalBitrate: 0,
288
+ optimalFrameRate: 0,
289
+ receivedBitrate: 0,
290
+ receivedFrameRate: 0,
291
+ renderedFrameRate: 0, // Not avaliable
292
+ requestedBitrate: 0,
293
+ requestedFrameRate: 0,
294
+ rtpEndToEndLost: 0,
295
+ rtpJitter: 0,
296
+ rtpPackets: 0,
297
+ ssci: 0, // Not avaliable
298
+ },
299
+ h264CodecProfile: 'BP',
300
+ isActiveSpeaker: true,
301
+ optimalFrameSize: 0, // Not avaliable
302
+ receivedFrameSize: 0,
303
+ receivedHeight: 0,
304
+ receivedKeyFrames: 0,
305
+ receivedKeyFramesForRequest: 0,
306
+ receivedKeyFramesSourceChange: 0,
307
+ receivedKeyFramesUnknown: 0,
308
+ receivedWidth: 0,
309
+ requestedFrameSize: 0,
310
+ requestedKeyFrames: 0,
311
+ },
312
+ ],
313
+ };
314
+
315
+ export const emptyVideoShareTransmit = {
316
+ // sceen sharing
317
+ common: {
318
+ availableBitrate: 0, // Not avaliable currently hardcoded
319
+ common: {
320
+ direction: 'inactive',
321
+ isMain: false,
322
+ mariFecEnabled: false, // Not avaliable
323
+ mariQosEnabled: false, // Not avaliable
324
+ multistreamEnabled: false, // Not avaliable
325
+ },
326
+ dtlsBitrate: 0, // Not avaliable
327
+ dtlsPackets: 0, // Not avaliable
328
+ fecBitrate: 0, // Not avaliable
329
+ fecPackets: 0, // TODO: check inbound-rtp// Not avaliable
330
+ maxBitrate: 0, // Currently hardcoded
331
+ queueDelay: 0, // outboundRtp.totalPacketSentDelay // TODO: check if totalInterFrameDelay/ packetSentDelay/ jitterBufferDalay
332
+ remoteJitter: 0, // remoteInboundRtp.jitter
333
+ remoteLossRate: 0, // comparedResults.lossRate
334
+ remoteReceiveRate: 0, // compareResults.packetsLost
335
+ roundTripTime: 0, // compareResults.roundTripTime
336
+ rtcpBitrate: 0, // Dont have access to it
337
+ rtcpPackets: 0, // Dont have access to rtcp
338
+ rtpBitrate: 0, // Dont have access
339
+ rtpPackets: 0, // outboundRtp.packetsSent
340
+ rtxBitrate: 0, // Dont have access to it
341
+ rtxPackets: 0, // Dont have access to it
342
+ stunBitrate: 0, // Dont have access to it
343
+ stunPackets: 0, // Dont have access to it
344
+ transportType: 'UDP', // TODO: need to calculate
345
+ },
346
+ streams: [
3
347
  {
4
- audioReceive: [
5
- {
6
- common: {
7
- common: {
8
- direction: 'inactive',
9
- isMain: true,
10
- mariFecEnabled: false,
11
- mariQosEnabled: false,
12
- multistreamEnabled: false,
13
- },
14
- dtlsBitrate: 0,
15
- dtlsPackets: 0,
16
- fecBitrate: 0,
17
- fecPackets: 0,
18
- maxBitrate: 0,
19
- mediaHopByHopLost: 0,
20
- rtcpBitrate: 0,
21
- rtcpPackets: 0,
22
- rtpBitrate: 0,
23
- rtpHopByHopLost: 0,
24
- rtpPackets: 0,
25
- rtpRecovered: 0,
26
- rtxBitrate: 0,
27
- rtxPackets: 0,
28
- srtcpUnprotectErrors: 0,
29
- srtpUnprotectErrors: 0,
30
- stunBitrate: 0,
31
- stunPackets: 0,
32
- transportType: 'UDP',
33
- },
34
- streams: [
35
- {
36
- common: {
37
- codec: 'opus',
38
- concealedFrames: 0,
39
- csi: [],
40
- maxConcealRunLength: 0,
41
- optimalBitrate: 0,
42
- optimalFrameRate: 0,
43
- receivedBitrate: 0,
44
- receivedFrameRate: 0,
45
- renderedFrameRate: 0,
46
- requestedBitrate: 0,
47
- requestedFrameRate: 0,
48
- rtpEndToEndLost: 0,
49
- maxRtpJitter: 0,
50
- meanRtpJitter: 0,
51
- rtpPackets: 0,
52
- ssci: 0,
53
- },
54
- },
55
- ],
56
- },
57
- ],
58
- audioTransmit: [
59
- {
60
- common: {
61
- availableBitrate: 0,
62
- common: {
63
- direction: 'inactive',
64
- isMain: true,
65
- mariFecEnabled: false,
66
- mariQosEnabled: false,
67
- multistreamEnabled: false,
68
- },
69
- dtlsBitrate: 0,
70
- dtlsPackets: 0,
71
- fecBitrate: 0,
72
- fecPackets: 0,
73
- maxBitrate: 0,
74
- queueDelay: 0,
75
- remoteJitter: 0,
76
- remoteLossRate: 0,
77
- remoteReceiveRate: 0,
78
- roundTripTime: 0,
79
- rtcpBitrate: 0,
80
- rtcpPackets: 0,
81
- rtpBitrate: 0,
82
- rtpPackets: 0,
83
- rtxBitrate: 0,
84
- rtxPackets: 0,
85
- stunBitrate: 0,
86
- stunPackets: 0,
87
- transportType: 'UDP',
88
- },
89
- streams: [
90
- {
91
- common: {
92
- codec: 'opus',
93
- requestedBitrate: 0,
94
- requestedFrames: 0,
95
- rtpPackets: 0,
96
- ssci: 0,
97
- transmittedBitrate: 0,
98
- transmittedFrameRate: 0,
99
- },
100
- },
101
- ],
102
- },
103
- ],
104
- intervalMetadata: {
105
- peerReflexiveIP: '0.0.0.0',
106
- peripherals: [],
107
- processAverageCPU: 0,
108
- processMaximumCPU: 0,
109
- systemAverageCPU: 0,
110
- systemMaximumCPU: 0,
348
+ common: {
349
+ codec: 'H264',
350
+ csi: [],
351
+ duplicateSsci: 0, // Not Avaliable
352
+ requestedBitrate: 0, // TODO: from remote SDP
353
+ requestedFrames: 0, // TODO: from remote SDP
354
+ rtpPackets: 0, // same as rtp packets
355
+ ssci: 0,
356
+ transmittedBitrate: 0, // TODO: get in the candidate pair
357
+ transmittedFrameRate: 0, // TODO: from track info
111
358
  },
112
- intervalNumber: 0,
113
- videoReceive: [
114
- {
115
- common: {
116
- common: {
117
- direction: 'inactive',
118
- isMain: true, // Not avaliable
119
- mariFecEnabled: true, // Not avaliable
120
- mariQosEnabled: true, // Not avaliable
121
- multistreamEnabled: true, // Not avaliable
122
- },
123
- dtlsBitrate: 0, // Not avaliable
124
- dtlsPackets: 0, // Not avaliable
125
- fecBitrate: 0, // Not avaliable
126
- fecPackets: 0, // Not avaliable
127
- maxBitrate: 0,
128
- mediaHopByHopLost: 0,
129
- rtcpBitrate: 0, // Not avaliable
130
- rtcpPackets: 0, // Not avaliable
131
- rtpBitrate: 0,
132
- rtpHopByHopLost: 0,
133
- rtpPackets: 0,
134
- rtpRecovered: 0, // Not avaliable
135
- rtxBitrate: 0, // Not avaliable
136
- rtxPackets: 0, // Not avaliable
137
- srtcpUnprotectErrors: 0, // Not avaliable
138
- srtpUnprotectErrors: 0, // Not avaliable
139
- stunBitrate: 0, // Not avaliable
140
- stunPackets: 0, // Not avaliable
141
- transportType: 'UDP',
142
- },
143
- streams: [
144
- {
145
- common: {
146
- codec: 'H264',
147
- concealedFrames: 0, // Not avaliable
148
- csi: [], // Not avaliable
149
- maxConcealRunLength: 0, // Not avaliable
150
- optimalBitrate: 0,
151
- optimalFrameRate: 0,
152
- receivedBitrate: 0,
153
- receivedFrameRate: 0,
154
- renderedFrameRate: 0, // Not avaliable
155
- requestedBitrate: 0,
156
- requestedFrameRate: 0,
157
- rtpEndToEndLost: 0,
158
- rtpJitter: 0,
159
- rtpPackets: 0,
160
- ssci: 0, // Not avaliable
161
- },
162
- h264CodecProfile: 'BP',
163
- isActiveSpeaker: true,
164
- optimalFrameSize: 0, // Not avaliable
165
- receivedFrameSize: 0,
166
- receivedHeight: 0,
167
- receivedKeyFrames: 0,
168
- receivedKeyFramesForRequest: 0,
169
- receivedKeyFramesSourceChange: 0,
170
- receivedKeyFramesUnknown: 0,
171
- receivedWidth: 0,
172
- requestedFrameSize: 0,
173
- requestedKeyFrames: 0,
174
- },
175
- ],
176
- },
177
- {
178
- common: {
179
- common: {
180
- direction: 'inactive',
181
- isMain: false, // Not avaliable
182
- mariFecEnabled: true, // Not avaliable
183
- mariQosEnabled: true, // Not avaliable
184
- multistreamEnabled: true, // Not avaliable
185
- },
186
- dtlsBitrate: 0, // Not avaliable
187
- dtlsPackets: 0, // Not avaliable
188
- fecBitrate: 0, // Not avaliable
189
- fecPackets: 0, // Not avaliable
190
- maxBitrate: 0,
191
- mediaHopByHopLost: 0,
192
- rtcpBitrate: 0, // Not avaliable
193
- rtcpPackets: 0, // Not avaliable
194
- rtpBitrate: 0,
195
- rtpHopByHopLost: 0,
196
- rtpPackets: 0,
197
- rtpRecovered: 0, // Not avaliable
198
- rtxBitrate: 0, // Not avaliable
199
- rtxPackets: 0, // Not avaliable
200
- srtcpUnprotectErrors: 0, // Not avaliable
201
- srtpUnprotectErrors: 0, // Not avaliable
202
- stunBitrate: 0, // Not avaliable
203
- stunPackets: 0, // Not avaliable
204
- transportType: 'UDP',
205
- },
206
- streams: [
207
- {
208
- common: {
209
- codec: 'H264',
210
- concealedFrames: 0, // Not avaliable
211
- csi: [], // Not avaliable
212
- maxConcealRunLength: 0, // Not avaliable
213
- optimalBitrate: 0,
214
- optimalFrameRate: 0,
215
- receivedBitrate: 0,
216
- receivedFrameRate: 0,
217
- renderedFrameRate: 0, // Not avaliable
218
- requestedBitrate: 0,
219
- requestedFrameRate: 0,
220
- rtpEndToEndLost: 0,
221
- rtpJitter: 0,
222
- rtpPackets: 0,
223
- ssci: 0, // Not avaliable
224
- },
225
- h264CodecProfile: 'BP',
226
- isActiveSpeaker: true,
227
- optimalFrameSize: 0, // Not avaliable
228
- receivedFrameSize: 0,
229
- receivedHeight: 0,
230
- receivedKeyFrames: 0,
231
- receivedKeyFramesForRequest: 0,
232
- receivedKeyFramesSourceChange: 0,
233
- receivedKeyFramesUnknown: 0,
234
- receivedWidth: 0,
235
- requestedFrameSize: 0,
236
- requestedKeyFrames: 0,
237
- },
238
- ],
239
- },
240
- ],
241
- videoTransmit: [
242
- {
243
- common: {
244
- availableBitrate: 0, // Not avaliable currently hardcoded
245
- common: {
246
- direction: 'inactive',
247
- isMain: true,
248
- mariFecEnabled: false, // Not avaliable
249
- mariQosEnabled: false, // Not avaliable
250
- multistreamEnabled: false, // Not avaliable
251
- },
252
- dtlsBitrate: 0, // Not avaliable
253
- dtlsPackets: 0, // Not avaliable
254
- fecBitrate: 0, // Not avaliable
255
- fecPackets: 0, // TODO: check inbound-rtp// Not avaliable
256
- maxBitrate: 0, // Currently hardcoded
257
- queueDelay: 0, // outboundRtp.totalPacketSentDelay // TODO: check if totalInterFrameDelay/ packetSentDelay/ jitterBufferDalay
258
- remoteJitter: 0, // remoteInboundRtp.jitter
259
- remoteLossRate: 0, // comparedResults.lossRate
260
- remoteReceiveRate: 0, // compareResults.packetsLost
261
- roundTripTime: 0, // compareResults.roundTripTime
262
- rtcpBitrate: 0, // Dont have access to it
263
- rtcpPackets: 0, // Dont have access to rtcp
264
- rtpBitrate: 0, // Dont have access
265
- rtpPackets: 0, // outboundRtp.packetsSent
266
- rtxBitrate: 0, // Dont have access to it
267
- rtxPackets: 0, // Dont have access to it
268
- stunBitrate: 0, // Dont have access to it
269
- stunPackets: 0, // Dont have access to it
270
- transportType: 'UDP', // TODO: need to calculate
271
- },
272
- streams: [
273
- {
274
- common: {
275
- codec: 'H264',
276
- duplicateSsci: 0, // Not Avaliable
277
- requestedBitrate: 0, // TODO: from remote SDP
278
- requestedFrames: 0, // TODO: from remote SDP
279
- rtpPackets: 0, // same as rtp packets
280
- ssci: 0,
281
- transmittedBitrate: 0, // TODO: get in the candidate pair
282
- transmittedFrameRate: 0, // TODO: from track info
283
- },
284
- h264CodecProfile: 'BP', // TODO: from localSDP
285
- isAvatar: false, // Not Avaliable
286
- isHardwareEncoded: false, // Not Avaliable
287
- localConfigurationChanges: 2, // Not Avaliable
288
- maxFrameQp: 0, // Not Avaliable
289
- maxNoiseLevel: 0, // Not Avaliable
290
- minRegionQp: 0, // Not Avaliable
291
- remoteConfigurationChanges: 0, // Not Avaliable
292
- requestedFrameSize: 0, // TODO: from remote SDP
293
- requestedKeyFrames: 0, // outbound Fir request
294
- transmittedFrameSize: 0, // Not Avaliable
295
- transmittedHeight: 0,
296
- transmittedKeyFrames: 0, // Key frames encoded
297
- transmittedKeyFramesClient: 0, // Not Avaliable
298
- transmittedKeyFramesConfigurationChange: 0, // Not Avaliable
299
- transmittedKeyFramesFeedback: 0, // Not Avaliable
300
- transmittedKeyFramesLocalDrop: 0, // Not Avaliable
301
- transmittedKeyFramesOtherLayer: 0, // Not Avaliable
302
- transmittedKeyFramesPeriodic: 0, // Not Avaliable
303
- transmittedKeyFramesSceneChange: 0, // Not Avaliable
304
- transmittedKeyFramesStartup: 0, // Not Avaliable
305
- transmittedKeyFramesUnknown: 0, // Not Avaliable
306
- transmittedWidth: 0,
307
- },
308
- ],
309
- },
310
- {
311
- // sceen sharing
312
- common: {
313
- availableBitrate: 0, // Not avaliable currently hardcoded
314
- common: {
315
- direction: 'inactive',
316
- isMain: false,
317
- mariFecEnabled: false, // Not avaliable
318
- mariQosEnabled: false, // Not avaliable
319
- multistreamEnabled: false, // Not avaliable
320
- },
321
- dtlsBitrate: 0, // Not avaliable
322
- dtlsPackets: 0, // Not avaliable
323
- fecBitrate: 0, // Not avaliable
324
- fecPackets: 0, // TODO: check inbound-rtp// Not avaliable
325
- maxBitrate: 0, // Currently hardcoded
326
- queueDelay: 0, // outboundRtp.totalPacketSentDelay // TODO: check if totalInterFrameDelay/ packetSentDelay/ jitterBufferDalay
327
- remoteJitter: 0, // remoteInboundRtp.jitter
328
- remoteLossRate: 0, // comparedResults.lossRate
329
- remoteReceiveRate: 0, // compareResults.packetsLost
330
- roundTripTime: 0, // compareResults.roundTripTime
331
- rtcpBitrate: 0, // Dont have access to it
332
- rtcpPackets: 0, // Dont have access to rtcp
333
- rtpBitrate: 0, // Dont have access
334
- rtpPackets: 0, // outboundRtp.packetsSent
335
- rtxBitrate: 0, // Dont have access to it
336
- rtxPackets: 0, // Dont have access to it
337
- stunBitrate: 0, // Dont have access to it
338
- stunPackets: 0, // Dont have access to it
339
- transportType: 'UDP', // TODO: need to calculate
340
- },
341
- streams: [
342
- {
343
- common: {
344
- codec: 'H264',
345
- duplicateSsci: 0, // Not Avaliable
346
- requestedBitrate: 0, // TODO: from remote SDP
347
- requestedFrames: 0, // TODO: from remote SDP
348
- rtpPackets: 0, // same as rtp packets
349
- ssci: 0,
350
- transmittedBitrate: 0, // TODO: get in the candidate pair
351
- transmittedFrameRate: 0, // TODO: from track info
352
- },
353
- h264CodecProfile: 'BP', // TODO: from localSDP
354
- isAvatar: false, // Not Avaliable
355
- isHardwareEncoded: false, // Not Avaliable
356
- localConfigurationChanges: 2, // Not Avaliable
357
- maxFrameQp: 0, // Not Avaliable
358
- maxNoiseLevel: 0, // Not Avaliable
359
- minRegionQp: 0, // Not Avaliable
360
- remoteConfigurationChanges: 0, // Not Avaliable
361
- requestedFrameSize: 0, // TODO: from remote SDP
362
- requestedKeyFrames: 0, // outbound Fir request
363
- transmittedFrameSize: 0, // Not Avaliable
364
- transmittedHeight: 0,
365
- transmittedKeyFrames: 0, // Key frames encoded
366
- transmittedKeyFramesClient: 0, // Not Avaliable
367
- transmittedKeyFramesConfigurationChange: 0, // Not Avaliable
368
- transmittedKeyFramesFeedback: 0, // Not Avaliable
369
- transmittedKeyFramesLocalDrop: 0, // Not Avaliable
370
- transmittedKeyFramesOtherLayer: 0, // Not Avaliable
371
- transmittedKeyFramesPeriodic: 0, // Not Avaliable
372
- transmittedKeyFramesSceneChange: 0, // Not Avaliable
373
- transmittedKeyFramesStartup: 0, // Not Avaliable
374
- transmittedKeyFramesUnknown: 0, // Not Avaliable
375
- transmittedWidth: 0,
376
- },
377
- ],
378
- },
379
- ],
359
+ h264CodecProfile: 'BP', // TODO: from localSDP
360
+ isAvatar: false, // Not Avaliable
361
+ isHardwareEncoded: false, // Not Avaliable
362
+ localConfigurationChanges: 2, // Not Avaliable
363
+ maxFrameQp: 0, // Not Avaliable
364
+ maxNoiseLevel: 0, // Not Avaliable
365
+ minRegionQp: 0, // Not Avaliable
366
+ remoteConfigurationChanges: 0, // Not Avaliable
367
+ requestedFrameSize: 0, // TODO: from remote SDP
368
+ requestedKeyFrames: 0, // outbound Fir request
369
+ transmittedFrameSize: 0, // Not Avaliable
370
+ transmittedHeight: 0,
371
+ transmittedKeyFrames: 0, // Key frames encoded
372
+ transmittedKeyFramesClient: 0, // Not Avaliable
373
+ transmittedKeyFramesConfigurationChange: 0, // Not Avaliable
374
+ transmittedKeyFramesFeedback: 0, // Not Avaliable
375
+ transmittedKeyFramesLocalDrop: 0, // Not Avaliable
376
+ transmittedKeyFramesOtherLayer: 0, // Not Avaliable
377
+ transmittedKeyFramesPeriodic: 0, // Not Avaliable
378
+ transmittedKeyFramesSceneChange: 0, // Not Avaliable
379
+ transmittedKeyFramesStartup: 0, // Not Avaliable
380
+ transmittedKeyFramesUnknown: 0, // Not Avaliable
381
+ transmittedWidth: 0,
380
382
  },
381
383
  ],
382
384
  };