@webex/plugin-meetings 3.0.0-bnr.4 → 3.0.0-next.1

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 (1035) hide show
  1. package/.eslintrc.js +6 -0
  2. package/README.md +58 -8
  3. package/babel.config.js +3 -0
  4. package/dist/annotation/annotation.types.d.ts +42 -0
  5. package/dist/annotation/annotation.types.js +7 -0
  6. package/dist/annotation/annotation.types.js.map +1 -0
  7. package/dist/annotation/constants.d.ts +31 -0
  8. package/dist/annotation/constants.js +41 -0
  9. package/dist/annotation/constants.js.map +1 -0
  10. package/dist/annotation/index.d.ts +117 -0
  11. package/dist/annotation/index.js +357 -0
  12. package/dist/annotation/index.js.map +1 -0
  13. package/dist/breakouts/breakout.js +71 -34
  14. package/dist/breakouts/breakout.js.map +1 -1
  15. package/dist/breakouts/collection.js +1 -2
  16. package/dist/breakouts/collection.js.map +1 -1
  17. package/dist/breakouts/edit-lock-error.js +1 -2
  18. package/dist/breakouts/edit-lock-error.js.map +1 -1
  19. package/dist/breakouts/events.d.ts +8 -0
  20. package/dist/breakouts/events.js +44 -0
  21. package/dist/breakouts/events.js.map +1 -0
  22. package/dist/breakouts/index.js +433 -229
  23. package/dist/breakouts/index.js.map +1 -1
  24. package/dist/breakouts/request.js +1 -2
  25. package/dist/breakouts/request.js.map +1 -1
  26. package/dist/{types/breakouts → breakouts}/utils.d.ts +7 -0
  27. package/dist/breakouts/utils.js +13 -5
  28. package/dist/breakouts/utils.js.map +1 -1
  29. package/dist/common/browser-detection.js +2 -3
  30. package/dist/common/browser-detection.js.map +1 -1
  31. package/dist/common/collection.js +3 -4
  32. package/dist/common/collection.js.map +1 -1
  33. package/dist/common/config.js +1 -2
  34. package/dist/common/config.js.map +1 -1
  35. package/dist/common/errors/captcha-error.js +1 -2
  36. package/dist/common/errors/captcha-error.js.map +1 -1
  37. package/dist/common/errors/intent-to-join.js +1 -2
  38. package/dist/common/errors/intent-to-join.js.map +1 -1
  39. package/dist/common/errors/join-meeting.js +1 -2
  40. package/dist/common/errors/join-meeting.js.map +1 -1
  41. package/dist/common/errors/media.js +1 -2
  42. package/dist/common/errors/media.js.map +1 -1
  43. package/dist/{types/common/errors/permission.d.ts → common/errors/no-meeting-info.d.ts} +1 -1
  44. package/dist/common/errors/no-meeting-info.js +50 -0
  45. package/dist/common/errors/no-meeting-info.js.map +1 -0
  46. package/dist/common/errors/parameter.js +3 -4
  47. package/dist/common/errors/parameter.js.map +1 -1
  48. package/dist/common/errors/password-error.js +1 -2
  49. package/dist/common/errors/password-error.js.map +1 -1
  50. package/dist/common/errors/permission.js +1 -2
  51. package/dist/common/errors/permission.js.map +1 -1
  52. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  53. package/dist/common/errors/reclaim-host-role-errors.js +154 -0
  54. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  55. package/dist/common/errors/reconnection-in-progress.js +1 -2
  56. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  57. package/dist/common/errors/reconnection.js +1 -2
  58. package/dist/common/errors/reconnection.js.map +1 -1
  59. package/dist/common/errors/stats.js +1 -2
  60. package/dist/common/errors/stats.js.map +1 -1
  61. package/dist/common/errors/webex-errors.d.ts +20 -8
  62. package/dist/common/errors/webex-errors.js +57 -17
  63. package/dist/common/errors/webex-errors.js.map +1 -1
  64. package/dist/common/errors/webex-meetings-error.js +1 -2
  65. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  66. package/dist/common/events/events-scope.js +1 -2
  67. package/dist/common/events/events-scope.js.map +1 -1
  68. package/dist/common/events/events.js +1 -2
  69. package/dist/common/events/events.js.map +1 -1
  70. package/dist/common/events/trigger-proxy.js +1 -2
  71. package/dist/common/events/trigger-proxy.js.map +1 -1
  72. package/dist/common/events/util.js +1 -2
  73. package/dist/common/events/util.js.map +1 -1
  74. package/dist/common/logs/logger-config.js +1 -2
  75. package/dist/common/logs/logger-config.js.map +1 -1
  76. package/dist/common/logs/logger-proxy.js +2 -3
  77. package/dist/common/logs/logger-proxy.js.map +1 -1
  78. package/dist/common/logs/request.d.ts +3 -1
  79. package/dist/common/logs/request.js +8 -5
  80. package/dist/common/logs/request.js.map +1 -1
  81. package/dist/common/queue.d.ts +9 -7
  82. package/dist/common/queue.js +22 -9
  83. package/dist/common/queue.js.map +1 -1
  84. package/dist/config.d.ts +6 -7
  85. package/dist/config.js +6 -12
  86. package/dist/config.js.map +1 -1
  87. package/dist/constants.d.ts +263 -98
  88. package/dist/constants.js +360 -377
  89. package/dist/constants.js.map +1 -1
  90. package/dist/controls-options-manager/constants.js +3 -6
  91. package/dist/controls-options-manager/constants.js.map +1 -1
  92. package/dist/controls-options-manager/enums.d.ts +11 -1
  93. package/dist/controls-options-manager/enums.js +9 -10
  94. package/dist/controls-options-manager/enums.js.map +1 -1
  95. package/dist/controls-options-manager/index.d.ts +17 -1
  96. package/dist/controls-options-manager/index.js +46 -46
  97. package/dist/controls-options-manager/index.js.map +1 -1
  98. package/dist/{types/controls-options-manager → controls-options-manager}/types.d.ts +7 -1
  99. package/dist/controls-options-manager/types.js.map +1 -1
  100. package/dist/controls-options-manager/util.d.ts +1 -7
  101. package/dist/controls-options-manager/util.js +81 -13
  102. package/dist/controls-options-manager/util.js.map +1 -1
  103. package/dist/index.d.ts +6 -3
  104. package/dist/index.js +70 -25
  105. package/dist/index.js.map +1 -1
  106. package/dist/interceptors/index.d.ts +2 -0
  107. package/dist/interceptors/index.js +15 -0
  108. package/dist/interceptors/index.js.map +1 -0
  109. package/dist/interceptors/locusRetry.d.ts +27 -0
  110. package/dist/interceptors/locusRetry.js +94 -0
  111. package/dist/interceptors/locusRetry.js.map +1 -0
  112. package/dist/interpretation/collection.d.ts +5 -0
  113. package/dist/interpretation/collection.js +22 -0
  114. package/dist/interpretation/collection.js.map +1 -0
  115. package/dist/interpretation/index.d.ts +5 -0
  116. package/dist/interpretation/index.js +379 -0
  117. package/dist/interpretation/index.js.map +1 -0
  118. package/dist/interpretation/siLanguage.d.ts +5 -0
  119. package/dist/interpretation/siLanguage.js +24 -0
  120. package/dist/interpretation/siLanguage.js.map +1 -0
  121. package/dist/locus-info/controlsUtils.js +82 -13
  122. package/dist/locus-info/controlsUtils.js.map +1 -1
  123. package/dist/locus-info/embeddedAppsUtils.js +3 -4
  124. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  125. package/dist/locus-info/fullState.js +1 -2
  126. package/dist/locus-info/fullState.js.map +1 -1
  127. package/dist/locus-info/hostUtils.js +1 -2
  128. package/dist/locus-info/hostUtils.js.map +1 -1
  129. package/dist/locus-info/index.d.ts +57 -4
  130. package/dist/locus-info/index.js +350 -77
  131. package/dist/locus-info/index.js.map +1 -1
  132. package/dist/locus-info/infoUtils.js +10 -5
  133. package/dist/locus-info/infoUtils.js.map +1 -1
  134. package/dist/locus-info/mediaSharesUtils.js +58 -3
  135. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  136. package/dist/locus-info/parser.d.ts +66 -6
  137. package/dist/locus-info/parser.js +253 -80
  138. package/dist/locus-info/parser.js.map +1 -1
  139. package/dist/locus-info/selfUtils.js +49 -26
  140. package/dist/locus-info/selfUtils.js.map +1 -1
  141. package/dist/media/index.d.ts +2 -0
  142. package/dist/media/index.js +66 -108
  143. package/dist/media/index.js.map +1 -1
  144. package/dist/media/properties.d.ts +38 -53
  145. package/dist/media/properties.js +76 -128
  146. package/dist/media/properties.js.map +1 -1
  147. package/dist/media/util.js +1 -2
  148. package/dist/media/util.js.map +1 -1
  149. package/dist/mediaQualityMetrics/config.d.ts +239 -231
  150. package/dist/mediaQualityMetrics/config.js +135 -339
  151. package/dist/mediaQualityMetrics/config.js.map +1 -1
  152. package/dist/meeting/in-meeting-actions.d.ts +88 -0
  153. package/dist/meeting/in-meeting-actions.js +79 -5
  154. package/dist/meeting/in-meeting-actions.js.map +1 -1
  155. package/dist/meeting/index.d.ts +710 -517
  156. package/dist/meeting/index.js +4348 -3053
  157. package/dist/meeting/index.js.map +1 -1
  158. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  159. package/dist/meeting/locusMediaRequest.js +291 -0
  160. package/dist/meeting/locusMediaRequest.js.map +1 -0
  161. package/dist/meeting/muteState.d.ts +93 -25
  162. package/dist/meeting/muteState.js +125 -207
  163. package/dist/meeting/muteState.js.map +1 -1
  164. package/dist/meeting/request.d.ts +84 -47
  165. package/dist/meeting/request.js +190 -165
  166. package/dist/meeting/request.js.map +1 -1
  167. package/dist/meeting/state.js +1 -2
  168. package/dist/meeting/state.js.map +1 -1
  169. package/dist/meeting/util.d.ts +118 -1
  170. package/dist/meeting/util.js +680 -447
  171. package/dist/meeting/util.js.map +1 -1
  172. package/dist/meeting/voicea-meeting.d.ts +16 -0
  173. package/dist/meeting/voicea-meeting.js +169 -0
  174. package/dist/meeting/voicea-meeting.js.map +1 -0
  175. package/dist/meeting-info/collection.js +3 -4
  176. package/dist/meeting-info/collection.js.map +1 -1
  177. package/dist/meeting-info/index.d.ts +13 -1
  178. package/dist/meeting-info/index.js +74 -7
  179. package/dist/meeting-info/index.js.map +1 -1
  180. package/dist/meeting-info/meeting-info-v2.d.ts +31 -1
  181. package/dist/meeting-info/meeting-info-v2.js +136 -61
  182. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  183. package/dist/meeting-info/request.js +1 -2
  184. package/dist/meeting-info/request.js.map +1 -1
  185. package/dist/meeting-info/util.js +9 -9
  186. package/dist/meeting-info/util.js.map +1 -1
  187. package/dist/meeting-info/utilv2.js +31 -41
  188. package/dist/meeting-info/utilv2.js.map +1 -1
  189. package/dist/meetings/collection.d.ts +17 -0
  190. package/dist/meetings/collection.js +21 -5
  191. package/dist/meetings/collection.js.map +1 -1
  192. package/dist/meetings/index.d.ts +114 -22
  193. package/dist/meetings/index.js +397 -127
  194. package/dist/meetings/index.js.map +1 -1
  195. package/dist/meetings/meetings.types.d.ts +4 -0
  196. package/dist/meetings/meetings.types.js +7 -0
  197. package/dist/meetings/meetings.types.js.map +1 -0
  198. package/dist/meetings/request.js +2 -3
  199. package/dist/meetings/request.js.map +1 -1
  200. package/dist/meetings/util.js +45 -17
  201. package/dist/meetings/util.js.map +1 -1
  202. package/dist/member/index.d.ts +15 -0
  203. package/dist/member/index.js +35 -2
  204. package/dist/member/index.js.map +1 -1
  205. package/dist/member/member.types.d.ts +11 -0
  206. package/dist/member/member.types.js +17 -0
  207. package/dist/member/member.types.js.map +1 -0
  208. package/dist/{types/member → member}/types.d.ts +11 -0
  209. package/dist/member/types.js +13 -5
  210. package/dist/member/types.js.map +1 -1
  211. package/dist/member/util.js +72 -25
  212. package/dist/member/util.js.map +1 -1
  213. package/dist/members/collection.d.ts +5 -0
  214. package/dist/members/collection.js +1 -2
  215. package/dist/members/collection.js.map +1 -1
  216. package/dist/members/index.d.ts +57 -2
  217. package/dist/members/index.js +29 -9
  218. package/dist/members/index.js.map +1 -1
  219. package/dist/members/request.d.ts +73 -9
  220. package/dist/members/request.js +77 -48
  221. package/dist/members/request.js.map +1 -1
  222. package/dist/{types/members → members}/types.d.ts +1 -0
  223. package/dist/members/types.js +3 -4
  224. package/dist/members/types.js.map +1 -1
  225. package/dist/members/util.d.ts +214 -1
  226. package/dist/members/util.js +320 -319
  227. package/dist/members/util.js.map +1 -1
  228. package/dist/metrics/constants.d.ts +17 -4
  229. package/dist/metrics/constants.js +18 -3
  230. package/dist/metrics/constants.js.map +1 -1
  231. package/dist/metrics/index.d.ts +4 -111
  232. package/dist/metrics/index.js +4 -453
  233. package/dist/metrics/index.js.map +1 -1
  234. package/dist/{types/multistream → multistream}/mediaRequestManager.d.ts +29 -10
  235. package/dist/multistream/mediaRequestManager.js +142 -48
  236. package/dist/multistream/mediaRequestManager.js.map +1 -1
  237. package/dist/{types/multistream → multistream}/receiveSlot.d.ts +3 -3
  238. package/dist/multistream/receiveSlot.js +3 -5
  239. package/dist/multistream/receiveSlot.js.map +1 -1
  240. package/dist/multistream/receiveSlotManager.js +11 -13
  241. package/dist/multistream/receiveSlotManager.js.map +1 -1
  242. package/dist/{types/multistream → multistream}/remoteMedia.d.ts +2 -2
  243. package/dist/multistream/remoteMedia.js +3 -5
  244. package/dist/multistream/remoteMedia.js.map +1 -1
  245. package/dist/{types/multistream → multistream}/remoteMediaGroup.d.ts +2 -0
  246. package/dist/multistream/remoteMediaGroup.js +78 -6
  247. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  248. package/dist/{types/multistream → multistream}/remoteMediaManager.d.ts +39 -1
  249. package/dist/multistream/remoteMediaManager.js +288 -100
  250. package/dist/multistream/remoteMediaManager.js.map +1 -1
  251. package/dist/multistream/sendSlotManager.d.ts +70 -0
  252. package/dist/multistream/sendSlotManager.js +258 -0
  253. package/dist/multistream/sendSlotManager.js.map +1 -0
  254. package/dist/networkQualityMonitor/index.js +1 -2
  255. package/dist/networkQualityMonitor/index.js.map +1 -1
  256. package/dist/personal-meeting-room/index.js +2 -3
  257. package/dist/personal-meeting-room/index.js.map +1 -1
  258. package/dist/personal-meeting-room/request.js +2 -3
  259. package/dist/personal-meeting-room/request.js.map +1 -1
  260. package/dist/personal-meeting-room/util.js +1 -2
  261. package/dist/personal-meeting-room/util.js.map +1 -1
  262. package/dist/reachability/clusterReachability.d.ts +109 -0
  263. package/dist/reachability/clusterReachability.js +357 -0
  264. package/dist/reachability/clusterReachability.js.map +1 -0
  265. package/dist/reachability/index.d.ts +61 -95
  266. package/dist/reachability/index.js +280 -431
  267. package/dist/reachability/index.js.map +1 -1
  268. package/dist/reachability/request.d.ts +7 -3
  269. package/dist/reachability/request.js +18 -13
  270. package/dist/reachability/request.js.map +1 -1
  271. package/dist/reachability/util.d.ts +8 -0
  272. package/dist/reachability/util.js +29 -0
  273. package/dist/reachability/util.js.map +1 -0
  274. package/dist/reactions/constants.js +1 -2
  275. package/dist/reactions/constants.js.map +1 -1
  276. package/dist/reactions/reactions.d.ts +2 -2
  277. package/dist/reactions/reactions.js +2 -4
  278. package/dist/reactions/reactions.js.map +1 -1
  279. package/dist/reactions/reactions.type.d.ts +23 -3
  280. package/dist/reactions/reactions.type.js +6 -8
  281. package/dist/reactions/reactions.type.js.map +1 -1
  282. package/dist/reconnection-manager/index.d.ts +32 -8
  283. package/dist/reconnection-manager/index.js +264 -209
  284. package/dist/reconnection-manager/index.js.map +1 -1
  285. package/dist/recording-controller/enums.js +4 -5
  286. package/dist/recording-controller/enums.js.map +1 -1
  287. package/dist/recording-controller/index.d.ts +15 -1
  288. package/dist/recording-controller/index.js +57 -46
  289. package/dist/recording-controller/index.js.map +1 -1
  290. package/dist/recording-controller/util.d.ts +5 -4
  291. package/dist/recording-controller/util.js +10 -10
  292. package/dist/recording-controller/util.js.map +1 -1
  293. package/dist/roap/index.d.ts +9 -47
  294. package/dist/roap/index.js +53 -31
  295. package/dist/roap/index.js.map +1 -1
  296. package/dist/roap/request.d.ts +16 -12
  297. package/dist/roap/request.js +57 -73
  298. package/dist/roap/request.js.map +1 -1
  299. package/dist/roap/turnDiscovery.d.ts +46 -5
  300. package/dist/roap/turnDiscovery.js +227 -76
  301. package/dist/roap/turnDiscovery.js.map +1 -1
  302. package/dist/rtcMetrics/constants.d.ts +4 -0
  303. package/dist/rtcMetrics/constants.js +11 -0
  304. package/dist/rtcMetrics/constants.js.map +1 -0
  305. package/dist/rtcMetrics/index.d.ts +61 -0
  306. package/dist/rtcMetrics/index.js +177 -0
  307. package/dist/rtcMetrics/index.js.map +1 -0
  308. package/dist/statsAnalyzer/global.d.ts +1 -91
  309. package/dist/statsAnalyzer/global.js +1 -2
  310. package/dist/statsAnalyzer/global.js.map +1 -1
  311. package/dist/statsAnalyzer/index.d.ts +55 -28
  312. package/dist/statsAnalyzer/index.js +371 -319
  313. package/dist/statsAnalyzer/index.js.map +1 -1
  314. package/dist/statsAnalyzer/mqaUtil.d.ts +32 -6
  315. package/dist/statsAnalyzer/mqaUtil.js +295 -162
  316. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  317. package/dist/transcription/index.js +1 -2
  318. package/dist/transcription/index.js.map +1 -1
  319. package/dist/webinar/collection.d.ts +16 -0
  320. package/dist/webinar/collection.js +43 -0
  321. package/dist/webinar/collection.js.map +1 -0
  322. package/dist/webinar/index.d.ts +5 -0
  323. package/dist/webinar/index.js +68 -0
  324. package/dist/webinar/index.js.map +1 -0
  325. package/jest.config.js +3 -0
  326. package/package.json +44 -23
  327. package/process +1 -0
  328. package/src/annotation/annotation.types.ts +50 -0
  329. package/src/annotation/constants.ts +36 -0
  330. package/src/annotation/index.ts +328 -0
  331. package/src/breakouts/README.md +3 -2
  332. package/src/breakouts/breakout.ts +62 -27
  333. package/src/breakouts/events.ts +56 -0
  334. package/src/breakouts/index.ts +244 -64
  335. package/src/breakouts/utils.ts +13 -0
  336. package/src/common/errors/no-meeting-info.ts +24 -0
  337. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  338. package/src/common/errors/webex-errors.ts +44 -2
  339. package/src/common/logs/logger-proxy.ts +1 -1
  340. package/src/common/logs/request.ts +5 -1
  341. package/src/common/queue.ts +22 -8
  342. package/src/config.ts +5 -13
  343. package/src/constants.ts +190 -24
  344. package/src/controls-options-manager/enums.ts +2 -0
  345. package/src/controls-options-manager/index.ts +13 -10
  346. package/src/controls-options-manager/types.ts +10 -0
  347. package/src/controls-options-manager/util.ts +82 -11
  348. package/src/index.ts +22 -11
  349. package/src/interceptors/index.ts +3 -0
  350. package/src/interceptors/locusRetry.ts +67 -0
  351. package/src/interpretation/README.md +60 -0
  352. package/src/interpretation/collection.ts +19 -0
  353. package/src/interpretation/index.ts +349 -0
  354. package/src/interpretation/siLanguage.ts +18 -0
  355. package/src/locus-info/controlsUtils.ts +81 -0
  356. package/src/locus-info/index.ts +354 -57
  357. package/src/locus-info/infoUtils.ts +10 -2
  358. package/src/locus-info/mediaSharesUtils.ts +64 -0
  359. package/src/locus-info/parser.ts +258 -47
  360. package/src/locus-info/selfUtils.ts +32 -20
  361. package/src/media/index.ts +96 -108
  362. package/src/media/properties.ts +87 -112
  363. package/src/mediaQualityMetrics/config.ts +103 -238
  364. package/src/meeting/in-meeting-actions.ts +128 -4
  365. package/src/meeting/index.ts +3472 -2523
  366. package/src/meeting/locusMediaRequest.ts +313 -0
  367. package/src/meeting/muteState.ts +119 -194
  368. package/src/meeting/request.ts +155 -120
  369. package/src/meeting/util.ts +683 -412
  370. package/src/meeting/voicea-meeting.ts +122 -0
  371. package/src/meeting-info/index.ts +81 -8
  372. package/src/meeting-info/meeting-info-v2.ts +107 -26
  373. package/src/meeting-info/util.ts +13 -10
  374. package/src/meeting-info/utilv2.ts +40 -36
  375. package/src/meetings/collection.ts +13 -0
  376. package/src/meetings/index.ts +361 -116
  377. package/src/meetings/meetings.types.ts +12 -0
  378. package/src/meetings/util.ts +49 -20
  379. package/src/member/index.ts +36 -1
  380. package/src/member/member.types.ts +13 -0
  381. package/src/member/types.ts +14 -0
  382. package/src/member/util.ts +89 -26
  383. package/src/members/index.ts +36 -3
  384. package/src/members/request.ts +61 -21
  385. package/src/members/types.ts +1 -0
  386. package/src/members/util.ts +330 -326
  387. package/src/metrics/constants.ts +16 -0
  388. package/src/metrics/index.ts +1 -474
  389. package/src/multistream/mediaRequestManager.ts +186 -67
  390. package/src/multistream/receiveSlot.ts +4 -4
  391. package/src/multistream/receiveSlotManager.ts +4 -4
  392. package/src/multistream/remoteMedia.ts +2 -2
  393. package/src/multistream/remoteMediaGroup.ts +78 -0
  394. package/src/multistream/remoteMediaManager.ts +174 -18
  395. package/src/multistream/sendSlotManager.ts +199 -0
  396. package/src/reachability/clusterReachability.ts +320 -0
  397. package/src/reachability/index.ts +226 -382
  398. package/src/reachability/request.ts +8 -4
  399. package/src/reachability/util.ts +24 -0
  400. package/src/reconnection-manager/index.ts +95 -82
  401. package/src/recording-controller/index.ts +20 -3
  402. package/src/recording-controller/util.ts +26 -9
  403. package/src/roap/index.ts +52 -23
  404. package/src/roap/request.ts +49 -68
  405. package/src/roap/turnDiscovery.ts +147 -49
  406. package/src/rtcMetrics/constants.ts +3 -0
  407. package/src/rtcMetrics/index.ts +166 -0
  408. package/src/statsAnalyzer/index.ts +430 -428
  409. package/src/statsAnalyzer/mqaUtil.ts +317 -168
  410. package/src/webinar/collection.ts +31 -0
  411. package/src/webinar/index.ts +62 -0
  412. package/test/integration/spec/converged-space-meetings.js +60 -3
  413. package/test/integration/spec/journey.js +322 -263
  414. package/test/integration/spec/space-meeting.js +77 -4
  415. package/test/unit/spec/annotation/index.ts +418 -0
  416. package/test/unit/spec/breakouts/breakout.ts +86 -26
  417. package/test/unit/spec/breakouts/events.ts +89 -0
  418. package/test/unit/spec/breakouts/index.ts +639 -98
  419. package/test/unit/spec/breakouts/utils.js +19 -1
  420. package/test/unit/spec/common/queue.js +31 -2
  421. package/test/unit/spec/controls-options-manager/index.js +8 -1
  422. package/test/unit/spec/controls-options-manager/util.js +576 -397
  423. package/test/unit/spec/fixture/locus.js +1 -0
  424. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  425. package/test/unit/spec/interpretation/collection.ts +15 -0
  426. package/test/unit/spec/interpretation/index.ts +622 -0
  427. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  428. package/test/unit/spec/locus-info/controlsUtils.js +195 -1
  429. package/test/unit/spec/locus-info/index.js +1167 -69
  430. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  431. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  432. package/test/unit/spec/locus-info/{selfConstant.js → lib/selfConstant.js} +19 -0
  433. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  434. package/test/unit/spec/locus-info/parser.js +116 -35
  435. package/test/unit/spec/locus-info/selfUtils.js +132 -27
  436. package/test/unit/spec/media/index.ts +103 -79
  437. package/test/unit/spec/media/properties.ts +2 -2
  438. package/test/unit/spec/meeting/in-meeting-actions.ts +64 -2
  439. package/test/unit/spec/meeting/index.js +6768 -2199
  440. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  441. package/test/unit/spec/meeting/muteState.js +328 -417
  442. package/test/unit/spec/meeting/request.js +473 -54
  443. package/test/unit/spec/meeting/utils.js +764 -84
  444. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  445. package/test/unit/spec/meeting-info/index.js +300 -0
  446. package/test/unit/spec/meeting-info/meetinginfov2.js +411 -25
  447. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  448. package/test/unit/spec/meetings/collection.js +12 -0
  449. package/test/unit/spec/meetings/index.js +1266 -234
  450. package/test/unit/spec/meetings/utils.js +187 -9
  451. package/test/unit/spec/member/index.js +50 -19
  452. package/test/unit/spec/member/util.js +328 -155
  453. package/test/unit/spec/members/index.js +153 -20
  454. package/test/unit/spec/members/request.js +167 -35
  455. package/test/unit/spec/members/utils.js +26 -0
  456. package/test/unit/spec/metrics/index.js +2 -52
  457. package/test/unit/spec/multistream/mediaRequestManager.ts +386 -9
  458. package/test/unit/spec/multistream/receiveSlot.ts +1 -1
  459. package/test/unit/spec/multistream/remoteMediaGroup.ts +345 -0
  460. package/test/unit/spec/multistream/remoteMediaManager.ts +332 -2
  461. package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
  462. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  463. package/test/unit/spec/reachability/index.ts +525 -94
  464. package/test/unit/spec/reachability/request.js +3 -1
  465. package/test/unit/spec/reachability/util.ts +40 -0
  466. package/test/unit/spec/reconnection-manager/index.js +135 -7
  467. package/test/unit/spec/recording-controller/index.js +293 -218
  468. package/test/unit/spec/recording-controller/util.js +223 -96
  469. package/test/unit/spec/roap/index.ts +180 -83
  470. package/test/unit/spec/roap/request.ts +100 -62
  471. package/test/unit/spec/roap/turnDiscovery.ts +388 -96
  472. package/test/unit/spec/rtcMetrics/index.ts +122 -0
  473. package/test/unit/spec/stats-analyzer/index.js +1225 -12
  474. package/test/unit/spec/webinar/collection.ts +13 -0
  475. package/test/unit/spec/webinar/index.ts +60 -0
  476. package/test/utils/integrationTestUtils.js +46 -0
  477. package/test/utils/testUtils.js +0 -60
  478. package/test/utils/webex-test-users.js +12 -4
  479. package/dist/docs/markdown/index.md +0 -12
  480. package/dist/docs/markdown/plugin-meetings.constants._active_.md +0 -11
  481. package/dist/docs/markdown/plugin-meetings.constants._answer_.md +0 -11
  482. package/dist/docs/markdown/plugin-meetings.constants._call_.md +0 -11
  483. package/dist/docs/markdown/plugin-meetings.constants._conflict_.md +0 -11
  484. package/dist/docs/markdown/plugin-meetings.constants._conversation_url_.md +0 -11
  485. package/dist/docs/markdown/plugin-meetings.constants._created_.md +0 -11
  486. package/dist/docs/markdown/plugin-meetings.constants._error_.md +0 -11
  487. package/dist/docs/markdown/plugin-meetings.constants._forced_.md +0 -11
  488. package/dist/docs/markdown/plugin-meetings.constants._id_.md +0 -11
  489. package/dist/docs/markdown/plugin-meetings.constants._idle_.md +0 -11
  490. package/dist/docs/markdown/plugin-meetings.constants._in_.md +0 -11
  491. package/dist/docs/markdown/plugin-meetings.constants._in_lobby_.md +0 -11
  492. package/dist/docs/markdown/plugin-meetings.constants._in_meeting_.md +0 -11
  493. package/dist/docs/markdown/plugin-meetings.constants._inactive_.md +0 -11
  494. package/dist/docs/markdown/plugin-meetings.constants._incoming_.md +0 -11
  495. package/dist/docs/markdown/plugin-meetings.constants._join_.md +0 -11
  496. package/dist/docs/markdown/plugin-meetings.constants._joined_.md +0 -11
  497. package/dist/docs/markdown/plugin-meetings.constants._left_.md +0 -11
  498. package/dist/docs/markdown/plugin-meetings.constants._locus_id_.md +0 -11
  499. package/dist/docs/markdown/plugin-meetings.constants._meeting_.md +0 -11
  500. package/dist/docs/markdown/plugin-meetings.constants._meeting_center_.md +0 -11
  501. package/dist/docs/markdown/plugin-meetings.constants._meeting_id_.md +0 -11
  502. package/dist/docs/markdown/plugin-meetings.constants._meeting_link_.md +0 -11
  503. package/dist/docs/markdown/plugin-meetings.constants._meeting_uuid_.md +0 -11
  504. package/dist/docs/markdown/plugin-meetings.constants._move_media_.md +0 -11
  505. package/dist/docs/markdown/plugin-meetings.constants._none_.md +0 -11
  506. package/dist/docs/markdown/plugin-meetings.constants._not_in_meeting_.md +0 -11
  507. package/dist/docs/markdown/plugin-meetings.constants._observe_.md +0 -11
  508. package/dist/docs/markdown/plugin-meetings.constants._people_.md +0 -11
  509. package/dist/docs/markdown/plugin-meetings.constants._personal_room_.md +0 -11
  510. package/dist/docs/markdown/plugin-meetings.constants._receive_only_.md +0 -11
  511. package/dist/docs/markdown/plugin-meetings.constants._remove_.md +0 -11
  512. package/dist/docs/markdown/plugin-meetings.constants._requested_.md +0 -11
  513. package/dist/docs/markdown/plugin-meetings.constants._resource_room_.md +0 -11
  514. package/dist/docs/markdown/plugin-meetings.constants._room_.md +0 -11
  515. package/dist/docs/markdown/plugin-meetings.constants._s_line.md +0 -11
  516. package/dist/docs/markdown/plugin-meetings.constants._send_only_.md +0 -11
  517. package/dist/docs/markdown/plugin-meetings.constants._send_receive_.md +0 -11
  518. package/dist/docs/markdown/plugin-meetings.constants._sip_bridge_.md +0 -11
  519. package/dist/docs/markdown/plugin-meetings.constants._sip_uri_.md +0 -11
  520. package/dist/docs/markdown/plugin-meetings.constants._slides_.md +0 -11
  521. package/dist/docs/markdown/plugin-meetings.constants._unknown_.md +0 -11
  522. package/dist/docs/markdown/plugin-meetings.constants._user_.md +0 -11
  523. package/dist/docs/markdown/plugin-meetings.constants._wait_.md +0 -11
  524. package/dist/docs/markdown/plugin-meetings.constants._webex_meeting_.md +0 -11
  525. package/dist/docs/markdown/plugin-meetings.constants.alert.md +0 -11
  526. package/dist/docs/markdown/plugin-meetings.constants.alternate_redirect_true.md +0 -11
  527. package/dist/docs/markdown/plugin-meetings.constants.answer.md +0 -11
  528. package/dist/docs/markdown/plugin-meetings.constants.api.md +0 -14
  529. package/dist/docs/markdown/plugin-meetings.constants.audio.md +0 -11
  530. package/dist/docs/markdown/plugin-meetings.constants.audio_input.md +0 -11
  531. package/dist/docs/markdown/plugin-meetings.constants.audio_status.md +0 -11
  532. package/dist/docs/markdown/plugin-meetings.constants.available_resolutions.md +0 -60
  533. package/dist/docs/markdown/plugin-meetings.constants.bnr_status.md +0 -16
  534. package/dist/docs/markdown/plugin-meetings.constants.breakouts.md +0 -51
  535. package/dist/docs/markdown/plugin-meetings.constants.calendar.md +0 -11
  536. package/dist/docs/markdown/plugin-meetings.constants.calendar_events.md +0 -17
  537. package/dist/docs/markdown/plugin-meetings.constants.calendar_events_api.md +0 -11
  538. package/dist/docs/markdown/plugin-meetings.constants.call.md +0 -11
  539. package/dist/docs/markdown/plugin-meetings.constants.call_removed_reason.md +0 -15
  540. package/dist/docs/markdown/plugin-meetings.constants.claim.md +0 -11
  541. package/dist/docs/markdown/plugin-meetings.constants.cmr_meetings.md +0 -11
  542. package/dist/docs/markdown/plugin-meetings.constants.complete.md +0 -11
  543. package/dist/docs/markdown/plugin-meetings.constants.connection_state.md +0 -18
  544. package/dist/docs/markdown/plugin-meetings.constants.content.md +0 -11
  545. package/dist/docs/markdown/plugin-meetings.constants.controls.md +0 -11
  546. package/dist/docs/markdown/plugin-meetings.constants.conversation_service.md +0 -11
  547. package/dist/docs/markdown/plugin-meetings.constants.conversation_url.md +0 -11
  548. package/dist/docs/markdown/plugin-meetings.constants.correlation_id.md +0 -11
  549. package/dist/docs/markdown/plugin-meetings.constants.decline.md +0 -11
  550. package/dist/docs/markdown/plugin-meetings.constants.default_excluded_stats.md +0 -11
  551. package/dist/docs/markdown/plugin-meetings.constants.default_get_stats_filter.md +0 -13
  552. package/dist/docs/markdown/plugin-meetings.constants.development.md +0 -11
  553. package/dist/docs/markdown/plugin-meetings.constants.dialer_regex.md +0 -15
  554. package/dist/docs/markdown/plugin-meetings.constants.display_hints.md +0 -51
  555. package/dist/docs/markdown/plugin-meetings.constants.embedded_app_types.md +0 -14
  556. package/dist/docs/markdown/plugin-meetings.constants.end.md +0 -11
  557. package/dist/docs/markdown/plugin-meetings.constants.ended.md +0 -11
  558. package/dist/docs/markdown/plugin-meetings.constants.error.md +0 -11
  559. package/dist/docs/markdown/plugin-meetings.constants.error_dictionary.md +0 -62
  560. package/dist/docs/markdown/plugin-meetings.constants.event_triggers.md +0 -82
  561. package/dist/docs/markdown/plugin-meetings.constants.event_types.md +0 -21
  562. package/dist/docs/markdown/plugin-meetings.constants.events.md +0 -26
  563. package/dist/docs/markdown/plugin-meetings.constants.floor_action.md +0 -15
  564. package/dist/docs/markdown/plugin-meetings.constants.full_state.md +0 -17
  565. package/dist/docs/markdown/plugin-meetings.constants.gathering.md +0 -11
  566. package/dist/docs/markdown/plugin-meetings.constants.hecate.md +0 -11
  567. package/dist/docs/markdown/plugin-meetings.constants.host.md +0 -11
  568. package/dist/docs/markdown/plugin-meetings.constants.http_verbs.md +0 -17
  569. package/dist/docs/markdown/plugin-meetings.constants.https_protocol.md +0 -11
  570. package/dist/docs/markdown/plugin-meetings.constants.ice_fail_timeout.md +0 -11
  571. package/dist/docs/markdown/plugin-meetings.constants.ice_gathering_state.md +0 -15
  572. package/dist/docs/markdown/plugin-meetings.constants.ice_state.md +0 -18
  573. package/dist/docs/markdown/plugin-meetings.constants.ice_timeout.md +0 -11
  574. package/dist/docs/markdown/plugin-meetings.constants.intent_to_join.md +0 -11
  575. package/dist/docs/markdown/plugin-meetings.constants.ipv4_regex.md +0 -11
  576. package/dist/docs/markdown/plugin-meetings.constants.join.md +0 -11
  577. package/dist/docs/markdown/plugin-meetings.constants.layout_types.md +0 -13
  578. package/dist/docs/markdown/plugin-meetings.constants.leave.md +0 -11
  579. package/dist/docs/markdown/plugin-meetings.constants.live.md +0 -11
  580. package/dist/docs/markdown/plugin-meetings.constants.local.md +0 -11
  581. package/dist/docs/markdown/plugin-meetings.constants.loci.md +0 -11
  582. package/dist/docs/markdown/plugin-meetings.constants.locus.md +0 -26
  583. package/dist/docs/markdown/plugin-meetings.constants.locus_url.md +0 -11
  584. package/dist/docs/markdown/plugin-meetings.constants.locusevent.md +0 -33
  585. package/dist/docs/markdown/plugin-meetings.constants.locusinfo.md +0 -43
  586. package/dist/docs/markdown/plugin-meetings.constants.max_random_delay_for_meeting_info.md +0 -11
  587. package/dist/docs/markdown/plugin-meetings.constants.md +0 -186
  588. package/dist/docs/markdown/plugin-meetings.constants.media.md +0 -11
  589. package/dist/docs/markdown/plugin-meetings.constants.media_devices.md +0 -15
  590. package/dist/docs/markdown/plugin-meetings.constants.media_peer_connection_name.md +0 -11
  591. package/dist/docs/markdown/plugin-meetings.constants.media_state.md +0 -14
  592. package/dist/docs/markdown/plugin-meetings.constants.media_track_constraint.md +0 -17
  593. package/dist/docs/markdown/plugin-meetings.constants.mediacontent.md +0 -14
  594. package/dist/docs/markdown/plugin-meetings.constants.meet.md +0 -11
  595. package/dist/docs/markdown/plugin-meetings.constants.meet_m.md +0 -11
  596. package/dist/docs/markdown/plugin-meetings.constants.meeting_audio_state_machine.md +0 -20
  597. package/dist/docs/markdown/plugin-meetings.constants.meeting_end_reason.md +0 -14
  598. package/dist/docs/markdown/plugin-meetings.constants.meeting_errors.md +0 -102
  599. package/dist/docs/markdown/plugin-meetings.constants.meeting_info_failure_reason.md +0 -16
  600. package/dist/docs/markdown/plugin-meetings.constants.meeting_removed_reason.md +0 -19
  601. package/dist/docs/markdown/plugin-meetings.constants.meeting_state.md +0 -25
  602. package/dist/docs/markdown/plugin-meetings.constants.meeting_state_machine.md +0 -31
  603. package/dist/docs/markdown/plugin-meetings.constants.meeting_video_state_machine.md +0 -20
  604. package/dist/docs/markdown/plugin-meetings.constants.meetinginfo.md +0 -11
  605. package/dist/docs/markdown/plugin-meetings.constants.meetings.md +0 -11
  606. package/dist/docs/markdown/plugin-meetings.constants.metrics_join_times_max_duration.md +0 -11
  607. package/dist/docs/markdown/plugin-meetings.constants.moderator_false.md +0 -11
  608. package/dist/docs/markdown/plugin-meetings.constants.moderator_true.md +0 -11
  609. package/dist/docs/markdown/plugin-meetings.constants.mqa_inteval.md +0 -11
  610. package/dist/docs/markdown/plugin-meetings.constants.mqa_stats.md +0 -82
  611. package/dist/docs/markdown/plugin-meetings.constants.network_status.md +0 -15
  612. package/dist/docs/markdown/plugin-meetings.constants.network_type.md +0 -16
  613. package/dist/docs/markdown/plugin-meetings.constants.offline.md +0 -11
  614. package/dist/docs/markdown/plugin-meetings.constants.online.md +0 -11
  615. package/dist/docs/markdown/plugin-meetings.constants.participant.md +0 -11
  616. package/dist/docs/markdown/plugin-meetings.constants.participant_deltas.md +0 -22
  617. package/dist/docs/markdown/plugin-meetings.constants.password_status.md +0 -16
  618. package/dist/docs/markdown/plugin-meetings.constants.pc_bail_timeout.md +0 -11
  619. package/dist/docs/markdown/plugin-meetings.constants.peer_connection_state.md +0 -14
  620. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_in.md +0 -11
  621. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_out.md +0 -11
  622. package/dist/docs/markdown/plugin-meetings.constants.pstn_status.md +0 -18
  623. package/dist/docs/markdown/plugin-meetings.constants.quality_levels.md +0 -19
  624. package/dist/docs/markdown/plugin-meetings.constants.reachability.md +0 -15
  625. package/dist/docs/markdown/plugin-meetings.constants.ready.md +0 -11
  626. package/dist/docs/markdown/plugin-meetings.constants.reconnection.md +0 -19
  627. package/dist/docs/markdown/plugin-meetings.constants.recording_state.md +0 -16
  628. package/dist/docs/markdown/plugin-meetings.constants.remote.md +0 -11
  629. package/dist/docs/markdown/plugin-meetings.constants.resource.md +0 -15
  630. package/dist/docs/markdown/plugin-meetings.constants.retry_timeout.md +0 -11
  631. package/dist/docs/markdown/plugin-meetings.constants.roap.md +0 -22
  632. package/dist/docs/markdown/plugin-meetings.constants.self_roles.md +0 -14
  633. package/dist/docs/markdown/plugin-meetings.constants.send_dtmf_endpoint.md +0 -11
  634. package/dist/docs/markdown/plugin-meetings.constants.sendrecv.md +0 -11
  635. package/dist/docs/markdown/plugin-meetings.constants.share.md +0 -11
  636. package/dist/docs/markdown/plugin-meetings.constants.share_peer_connection_name.md +0 -11
  637. package/dist/docs/markdown/plugin-meetings.constants.share_status.md +0 -16
  638. package/dist/docs/markdown/plugin-meetings.constants.share_stopped_reason.md +0 -14
  639. package/dist/docs/markdown/plugin-meetings.constants.sip_uri.md +0 -11
  640. package/dist/docs/markdown/plugin-meetings.constants.stats.md +0 -16
  641. package/dist/docs/markdown/plugin-meetings.constants.type.md +0 -11
  642. package/dist/docs/markdown/plugin-meetings.constants.use_uri_lookup_false.md +0 -11
  643. package/dist/docs/markdown/plugin-meetings.constants.uuid_reg.md +0 -11
  644. package/dist/docs/markdown/plugin-meetings.constants.valid_email_address.md +0 -11
  645. package/dist/docs/markdown/plugin-meetings.constants.valid_pin.md +0 -11
  646. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_address.md +0 -11
  647. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_link.md +0 -11
  648. package/dist/docs/markdown/plugin-meetings.constants.video.md +0 -11
  649. package/dist/docs/markdown/plugin-meetings.constants.video_input.md +0 -11
  650. package/dist/docs/markdown/plugin-meetings.constants.video_resolutions.md +0 -24
  651. package/dist/docs/markdown/plugin-meetings.constants.video_status.md +0 -11
  652. package/dist/docs/markdown/plugin-meetings.constants.wbxappapi_service.md +0 -11
  653. package/dist/docs/markdown/plugin-meetings.constants.webex_dot_com.md +0 -11
  654. package/dist/docs/markdown/plugin-meetings.constants.whiteboard.md +0 -11
  655. package/dist/docs/markdown/plugin-meetings.constants.www_dot.md +0 -11
  656. package/dist/docs/markdown/plugin-meetings.md +0 -28
  657. package/dist/docs/markdown/plugin-meetings.meeting.default._constructor_.md +0 -21
  658. package/dist/docs/markdown/plugin-meetings.meeting.default.acknowledge.md +0 -28
  659. package/dist/docs/markdown/plugin-meetings.meeting.default.addmedia.md +0 -28
  660. package/dist/docs/markdown/plugin-meetings.meeting.default.admit.md +0 -32
  661. package/dist/docs/markdown/plugin-meetings.meeting.default.attrs.md +0 -11
  662. package/dist/docs/markdown/plugin-meetings.meeting.default.audio.md +0 -11
  663. package/dist/docs/markdown/plugin-meetings.meeting.default.breakouts.md +0 -11
  664. package/dist/docs/markdown/plugin-meetings.meeting.default.callevents.md +0 -11
  665. package/dist/docs/markdown/plugin-meetings.meeting.default.cancelphoneinvite.md +0 -30
  666. package/dist/docs/markdown/plugin-meetings.meeting.default.canupdatemedia.md +0 -19
  667. package/dist/docs/markdown/plugin-meetings.meeting.default.changevideolayout.md +0 -38
  668. package/dist/docs/markdown/plugin-meetings.meeting.default.clearmeetingdata.md +0 -13
  669. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalshare.md +0 -21
  670. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalstream.md +0 -21
  671. package/dist/docs/markdown/plugin-meetings.meeting.default.closepeerconnections.md +0 -21
  672. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotestream.md +0 -26
  673. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotetracks.md +0 -19
  674. package/dist/docs/markdown/plugin-meetings.meeting.default.controlsoptionsmanager.md +0 -11
  675. package/dist/docs/markdown/plugin-meetings.meeting.default.conversationurl.md +0 -11
  676. package/dist/docs/markdown/plugin-meetings.meeting.default.correlationid.md +0 -11
  677. package/dist/docs/markdown/plugin-meetings.meeting.default.createmediaconnection.md +0 -26
  678. package/dist/docs/markdown/plugin-meetings.meeting.default.decline.md +0 -28
  679. package/dist/docs/markdown/plugin-meetings.meeting.default.deferjoin.md +0 -11
  680. package/dist/docs/markdown/plugin-meetings.meeting.default.destination.md +0 -11
  681. package/dist/docs/markdown/plugin-meetings.meeting.default.destinationtype.md +0 -11
  682. package/dist/docs/markdown/plugin-meetings.meeting.default.deviceurl.md +0 -11
  683. package/dist/docs/markdown/plugin-meetings.meeting.default.dialindevicestatus.md +0 -11
  684. package/dist/docs/markdown/plugin-meetings.meeting.default.dialinurl.md +0 -11
  685. package/dist/docs/markdown/plugin-meetings.meeting.default.dialoutdevicestatus.md +0 -11
  686. package/dist/docs/markdown/plugin-meetings.meeting.default.dialouturl.md +0 -11
  687. package/dist/docs/markdown/plugin-meetings.meeting.default.disconnectphoneaudio.md +0 -19
  688. package/dist/docs/markdown/plugin-meetings.meeting.default.endcallinitiatejoinreq.md +0 -11
  689. package/dist/docs/markdown/plugin-meetings.meeting.default.endjoinreqresp.md +0 -11
  690. package/dist/docs/markdown/plugin-meetings.meeting.default.endlocalsdpgenremotesdprecvdelay.md +0 -11
  691. package/dist/docs/markdown/plugin-meetings.meeting.default.endmeetingforall.md +0 -21
  692. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfo.md +0 -29
  693. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfotimeoutid.md +0 -11
  694. package/dist/docs/markdown/plugin-meetings.meeting.default.floorgrantpending.md +0 -11
  695. package/dist/docs/markdown/plugin-meetings.meeting.default.forwardevent.md +0 -29
  696. package/dist/docs/markdown/plugin-meetings.meeting.default.getanalyzermetricsprepayload.md +0 -32
  697. package/dist/docs/markdown/plugin-meetings.meeting.default.getcallinitiatejoinreq.md +0 -17
  698. package/dist/docs/markdown/plugin-meetings.meeting.default.getdevices.md +0 -13
  699. package/dist/docs/markdown/plugin-meetings.meeting.default.getjoinreqresp.md +0 -17
  700. package/dist/docs/markdown/plugin-meetings.meeting.default.getlocalsdpgenremotesdprecvdelay.md +0 -17
  701. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediaconnectiondebugid.md +0 -15
  702. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediastreams.md +0 -15
  703. package/dist/docs/markdown/plugin-meetings.meeting.default.getmembers.md +0 -21
  704. package/dist/docs/markdown/plugin-meetings.meeting.default.getsendingmediadelayduration.md +0 -24
  705. package/dist/docs/markdown/plugin-meetings.meeting.default.getsetupdelayduration.md +0 -24
  706. package/dist/docs/markdown/plugin-meetings.meeting.default.getsupporteddevices.md +0 -16
  707. package/dist/docs/markdown/plugin-meetings.meeting.default.gettotaljmt.md +0 -17
  708. package/dist/docs/markdown/plugin-meetings.meeting.default.guest.md +0 -11
  709. package/dist/docs/markdown/plugin-meetings.meeting.default.handledatachannelurlchange.md +0 -26
  710. package/dist/docs/markdown/plugin-meetings.meeting.default.handleroapfailure.md +0 -13
  711. package/dist/docs/markdown/plugin-meetings.meeting.default.hasjoinedonce.md +0 -11
  712. package/dist/docs/markdown/plugin-meetings.meeting.default.haswebsocketconnected.md +0 -11
  713. package/dist/docs/markdown/plugin-meetings.meeting.default.hostid.md +0 -11
  714. package/dist/docs/markdown/plugin-meetings.meeting.default.id.md +0 -11
  715. package/dist/docs/markdown/plugin-meetings.meeting.default.inmeetingactions.md +0 -11
  716. package/dist/docs/markdown/plugin-meetings.meeting.default.invite.md +0 -33
  717. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioconnected.md +0 -21
  718. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudiomuted.md +0 -21
  719. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioself.md +0 -21
  720. package/dist/docs/markdown/plugin-meetings.meeting.default.islocalsharelive.md +0 -11
  721. package/dist/docs/markdown/plugin-meetings.meeting.default.ismultistream.md +0 -11
  722. package/dist/docs/markdown/plugin-meetings.meeting.default.isreactionssupported.md +0 -19
  723. package/dist/docs/markdown/plugin-meetings.meeting.default.isroapinprogress.md +0 -11
  724. package/dist/docs/markdown/plugin-meetings.meeting.default.issharing.md +0 -11
  725. package/dist/docs/markdown/plugin-meetings.meeting.default.istranscriptionsupported.md +0 -23
  726. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoconnected.md +0 -21
  727. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideomuted.md +0 -21
  728. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoself.md +0 -21
  729. package/dist/docs/markdown/plugin-meetings.meeting.default.join.md +0 -28
  730. package/dist/docs/markdown/plugin-meetings.meeting.default.joinedwith.md +0 -11
  731. package/dist/docs/markdown/plugin-meetings.meeting.default.joinwithmedia.md +0 -36
  732. package/dist/docs/markdown/plugin-meetings.meeting.default.keepalivetimerid.md +0 -11
  733. package/dist/docs/markdown/plugin-meetings.meeting.default.lastvideolayoutinfo.md +0 -11
  734. package/dist/docs/markdown/plugin-meetings.meeting.default.leave.md +0 -31
  735. package/dist/docs/markdown/plugin-meetings.meeting.default.lockmeeting.md +0 -21
  736. package/dist/docs/markdown/plugin-meetings.meeting.default.locusid.md +0 -11
  737. package/dist/docs/markdown/plugin-meetings.meeting.default.locusinfo.md +0 -11
  738. package/dist/docs/markdown/plugin-meetings.meeting.default.locusurl.md +0 -11
  739. package/dist/docs/markdown/plugin-meetings.meeting.default.md +0 -227
  740. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaconnections.md +0 -11
  741. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaid.md +0 -11
  742. package/dist/docs/markdown/plugin-meetings.meeting.default.medianegotiatedevent.md +0 -13
  743. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaproperties.md +0 -11
  744. package/dist/docs/markdown/plugin-meetings.meeting.default.mediarequestmanagers.md +0 -16
  745. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingfinitestatemachine.md +0 -11
  746. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfo.md +0 -11
  747. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfofailurereason.md +0 -11
  748. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingjoinurl.md +0 -11
  749. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingnumber.md +0 -11
  750. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingrequest.md +0 -11
  751. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingstate.md +0 -11
  752. package/dist/docs/markdown/plugin-meetings.meeting.default.members.md +0 -11
  753. package/dist/docs/markdown/plugin-meetings.meeting.default.movefrom.md +0 -28
  754. package/dist/docs/markdown/plugin-meetings.meeting.default.moveto.md +0 -28
  755. package/dist/docs/markdown/plugin-meetings.meeting.default.mute.md +0 -29
  756. package/dist/docs/markdown/plugin-meetings.meeting.default.muteaudio.md +0 -21
  757. package/dist/docs/markdown/plugin-meetings.meeting.default.mutevideo.md +0 -21
  758. package/dist/docs/markdown/plugin-meetings.meeting.default.namespace.md +0 -11
  759. package/dist/docs/markdown/plugin-meetings.meeting.default.networkqualitymonitor.md +0 -11
  760. package/dist/docs/markdown/plugin-meetings.meeting.default.networkstatus.md +0 -11
  761. package/dist/docs/markdown/plugin-meetings.meeting.default.options.md +0 -11
  762. package/dist/docs/markdown/plugin-meetings.meeting.default.orgid.md +0 -11
  763. package/dist/docs/markdown/plugin-meetings.meeting.default.owner.md +0 -11
  764. package/dist/docs/markdown/plugin-meetings.meeting.default.parsemeetinginfo.md +0 -34
  765. package/dist/docs/markdown/plugin-meetings.meeting.default.partner.md +0 -11
  766. package/dist/docs/markdown/plugin-meetings.meeting.default.passwordstatus.md +0 -11
  767. package/dist/docs/markdown/plugin-meetings.meeting.default.pauserecording.md +0 -21
  768. package/dist/docs/markdown/plugin-meetings.meeting.default.permissiontoken.md +0 -11
  769. package/dist/docs/markdown/plugin-meetings.meeting.default.policy.md +0 -11
  770. package/dist/docs/markdown/plugin-meetings.meeting.default.processnextqueuedmediaupdate.md +0 -13
  771. package/dist/docs/markdown/plugin-meetings.meeting.default.publishtracks.md +0 -33
  772. package/dist/docs/markdown/plugin-meetings.meeting.default.queuedmediaupdates.md +0 -11
  773. package/dist/docs/markdown/plugin-meetings.meeting.default.receiveslotmanager.md +0 -11
  774. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnect.md +0 -28
  775. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnectionmanager.md +0 -11
  776. package/dist/docs/markdown/plugin-meetings.meeting.default.recording.md +0 -11
  777. package/dist/docs/markdown/plugin-meetings.meeting.default.recordingcontroller.md +0 -11
  778. package/dist/docs/markdown/plugin-meetings.meeting.default.refreshcaptcha.md +0 -21
  779. package/dist/docs/markdown/plugin-meetings.meeting.default.remotemediamanager.md +0 -11
  780. package/dist/docs/markdown/plugin-meetings.meeting.default.remove.md +0 -28
  781. package/dist/docs/markdown/plugin-meetings.meeting.default.requiredcaptcha.md +0 -11
  782. package/dist/docs/markdown/plugin-meetings.meeting.default.resource.md +0 -11
  783. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceid.md +0 -11
  784. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceurl.md +0 -11
  785. package/dist/docs/markdown/plugin-meetings.meeting.default.resumerecording.md +0 -21
  786. package/dist/docs/markdown/plugin-meetings.meeting.default.roap.md +0 -11
  787. package/dist/docs/markdown/plugin-meetings.meeting.default.roapseq.md +0 -11
  788. package/dist/docs/markdown/plugin-meetings.meeting.default.selfid.md +0 -11
  789. package/dist/docs/markdown/plugin-meetings.meeting.default.senddtmf.md +0 -28
  790. package/dist/docs/markdown/plugin-meetings.meeting.default.sendreaction.md +0 -29
  791. package/dist/docs/markdown/plugin-meetings.meeting.default.setdisallowunmute.md +0 -26
  792. package/dist/docs/markdown/plugin-meetings.meeting.default.setendcallinitiatejoinreq.md +0 -17
  793. package/dist/docs/markdown/plugin-meetings.meeting.default.setendjoinreqresp.md +0 -17
  794. package/dist/docs/markdown/plugin-meetings.meeting.default.setendlocalsdpgenremotesdprecvdelay.md +0 -17
  795. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsendingmediadelay.md +0 -24
  796. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsetupdelay.md +0 -24
  797. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalsharetrack.md +0 -28
  798. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocaltracks.md +0 -28
  799. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalvideoquality.md +0 -26
  800. package/dist/docs/markdown/plugin-meetings.meeting.default.setmeetingquality.md +0 -31
  801. package/dist/docs/markdown/plugin-meetings.meeting.default.setmercurylistener.md +0 -21
  802. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteall.md +0 -28
  803. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteonentry.md +0 -26
  804. package/dist/docs/markdown/plugin-meetings.meeting.default.setremotequalitylevel.md +0 -26
  805. package/dist/docs/markdown/plugin-meetings.meeting.default.setsipuri.md +0 -26
  806. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartcallinitiatejoinreq.md +0 -17
  807. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartjoinreqresp.md +0 -17
  808. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartlocalsdpgenremotesdprecvdelay.md +0 -17
  809. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsendingmediadelay.md +0 -24
  810. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsetupdelay.md +0 -24
  811. package/dist/docs/markdown/plugin-meetings.meeting.default.setupbreakoutslistener.md +0 -19
  812. package/dist/docs/markdown/plugin-meetings.meeting.default.setupmediaconnectionlisteners.md +0 -11
  813. package/dist/docs/markdown/plugin-meetings.meeting.default.setupstatsanalyzereventhandlers.md +0 -13
  814. package/dist/docs/markdown/plugin-meetings.meeting.default.sharescreen.md +0 -32
  815. package/dist/docs/markdown/plugin-meetings.meeting.default.sharestatus.md +0 -11
  816. package/dist/docs/markdown/plugin-meetings.meeting.default.sipuri.md +0 -11
  817. package/dist/docs/markdown/plugin-meetings.meeting.default.startcallinitiatejoinreq.md +0 -11
  818. package/dist/docs/markdown/plugin-meetings.meeting.default.startjoinreqresp.md +0 -11
  819. package/dist/docs/markdown/plugin-meetings.meeting.default.startkeepalive.md +0 -13
  820. package/dist/docs/markdown/plugin-meetings.meeting.default.startlocalsdpgenremotesdprecvdelay.md +0 -11
  821. package/dist/docs/markdown/plugin-meetings.meeting.default.startrecording.md +0 -21
  822. package/dist/docs/markdown/plugin-meetings.meeting.default.startwhiteboardshare.md +0 -29
  823. package/dist/docs/markdown/plugin-meetings.meeting.default.state.md +0 -11
  824. package/dist/docs/markdown/plugin-meetings.meeting.default.statsanalyzer.md +0 -11
  825. package/dist/docs/markdown/plugin-meetings.meeting.default.stopkeepalive.md +0 -13
  826. package/dist/docs/markdown/plugin-meetings.meeting.default.stopreceivingtranscription.md +0 -19
  827. package/dist/docs/markdown/plugin-meetings.meeting.default.stoprecording.md +0 -21
  828. package/dist/docs/markdown/plugin-meetings.meeting.default.stopshare.md +0 -28
  829. package/dist/docs/markdown/plugin-meetings.meeting.default.stopwhiteboardshare.md +0 -28
  830. package/dist/docs/markdown/plugin-meetings.meeting.default.togglereactions.md +0 -28
  831. package/dist/docs/markdown/plugin-meetings.meeting.default.transcription.md +0 -11
  832. package/dist/docs/markdown/plugin-meetings.meeting.default.transfer.md +0 -29
  833. package/dist/docs/markdown/plugin-meetings.meeting.default.type.md +0 -11
  834. package/dist/docs/markdown/plugin-meetings.meeting.default.unlockmeeting.md +0 -21
  835. package/dist/docs/markdown/plugin-meetings.meeting.default.unmuteaudio.md +0 -21
  836. package/dist/docs/markdown/plugin-meetings.meeting.default.unmutevideo.md +0 -21
  837. package/dist/docs/markdown/plugin-meetings.meeting.default.unpublishtracks.md +0 -26
  838. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalsharetrack.md +0 -21
  839. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalvideotrack.md +0 -21
  840. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetpeerconnections.md +0 -21
  841. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotestream.md +0 -26
  842. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotetracks.md +0 -19
  843. package/dist/docs/markdown/plugin-meetings.meeting.default.updateaudio.md +0 -34
  844. package/dist/docs/markdown/plugin-meetings.meeting.default.updatellmconnection.md +0 -19
  845. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemedia.md +0 -32
  846. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemediaconnections.md +0 -11
  847. package/dist/docs/markdown/plugin-meetings.meeting.default.updateshare.md +0 -35
  848. package/dist/docs/markdown/plugin-meetings.meeting.default.updatevideo.md +0 -34
  849. package/dist/docs/markdown/plugin-meetings.meeting.default.uploadlogs.md +0 -28
  850. package/dist/docs/markdown/plugin-meetings.meeting.default.usephoneaudio.md +0 -28
  851. package/dist/docs/markdown/plugin-meetings.meeting.default.userid.md +0 -11
  852. package/dist/docs/markdown/plugin-meetings.meeting.default.verifypassword.md +0 -35
  853. package/dist/docs/markdown/plugin-meetings.meeting.default.video.md +0 -11
  854. package/dist/docs/markdown/plugin-meetings.meeting.default.wirelessshare.md +0 -11
  855. package/dist/docs/markdown/plugin-meetings.meeting.md +0 -18
  856. package/dist/docs/markdown/plugin-meetings.meeting.media_update_type.md +0 -17
  857. package/dist/docs/markdown/plugin-meetings.meetings._constructor_.md +0 -22
  858. package/dist/docs/markdown/plugin-meetings.meetings.create.md +0 -30
  859. package/dist/docs/markdown/plugin-meetings.meetings.fetchuserpreferredwebexsite.md +0 -19
  860. package/dist/docs/markdown/plugin-meetings.meetings.geohintinfo.md +0 -11
  861. package/dist/docs/markdown/plugin-meetings.meetings.getallmeetings.md +0 -31
  862. package/dist/docs/markdown/plugin-meetings.meetings.getgeohint.md +0 -19
  863. package/dist/docs/markdown/plugin-meetings.meetings.getlogger.md +0 -19
  864. package/dist/docs/markdown/plugin-meetings.meetings.getmeetingbytype.md +0 -29
  865. package/dist/docs/markdown/plugin-meetings.meetings.getpersonalmeetingroom.md +0 -21
  866. package/dist/docs/markdown/plugin-meetings.meetings.getreachability.md +0 -21
  867. package/dist/docs/markdown/plugin-meetings.meetings.getscheduledmeetings.md +0 -19
  868. package/dist/docs/markdown/plugin-meetings.meetings.loggerrequest.md +0 -11
  869. package/dist/docs/markdown/plugin-meetings.meetings.md +0 -57
  870. package/dist/docs/markdown/plugin-meetings.meetings.media.md +0 -11
  871. package/dist/docs/markdown/plugin-meetings.meetings.meetingcollection.md +0 -11
  872. package/dist/docs/markdown/plugin-meetings.meetings.meetinginfo.md +0 -11
  873. package/dist/docs/markdown/plugin-meetings.meetings.namespace.md +0 -11
  874. package/dist/docs/markdown/plugin-meetings.meetings.personalmeetingroom.md +0 -11
  875. package/dist/docs/markdown/plugin-meetings.meetings.preferredwebexsite.md +0 -11
  876. package/dist/docs/markdown/plugin-meetings.meetings.reachability.md +0 -11
  877. package/dist/docs/markdown/plugin-meetings.meetings.register.md +0 -21
  878. package/dist/docs/markdown/plugin-meetings.meetings.registered.md +0 -11
  879. package/dist/docs/markdown/plugin-meetings.meetings.request.md +0 -11
  880. package/dist/docs/markdown/plugin-meetings.meetings.setreachability.md +0 -21
  881. package/dist/docs/markdown/plugin-meetings.meetings.startreachability.md +0 -21
  882. package/dist/docs/markdown/plugin-meetings.meetings.syncmeetings.md +0 -21
  883. package/dist/docs/markdown/plugin-meetings.meetings.unregister.md +0 -21
  884. package/dist/docs/markdown/plugin-meetings.meetings.uploadlogs.md +0 -34
  885. package/dist/docs/markdown/plugin-meetings.reactions.md +0 -13
  886. package/dist/docs/markdown/plugin-meetings.reactions.reactions.md +0 -11
  887. package/dist/docs/markdown/plugin-meetings.reactions.skintones.md +0 -11
  888. package/dist/docs/markdown/plugin-meetings.remotemedia.getmaxfs.md +0 -26
  889. package/dist/docs/markdown/plugin-meetings.remotemedia.md +0 -31
  890. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia._constructor_.md +0 -22
  891. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.csi.md +0 -13
  892. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.id.md +0 -11
  893. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.md +0 -40
  894. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.mediatype.md +0 -13
  895. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.memberid.md +0 -13
  896. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.setsizehint.md +0 -25
  897. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.sourcestate.md +0 -13
  898. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.stream.md +0 -13
  899. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaevents.md +0 -14
  900. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaid.md +0 -11
  901. package/dist/docs/markdown/plugin-meetings.remotemedia.remotevideoresolution.md +0 -11
  902. package/dist/docs/markdown/plugin-meetings.remotemediagroup.md +0 -12
  903. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup._constructor_.md +0 -24
  904. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.getremotemedia.md +0 -26
  905. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.includes.md +0 -27
  906. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.ispinned.md +0 -22
  907. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.md +0 -28
  908. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.pin.md +0 -25
  909. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.unpin.md +0 -24
  910. package/dist/docs/markdown/plugin-meetings.triggerproxy.md +0 -11
  911. package/dist/docs/metadata/index.api.json +0 -14144
  912. package/dist/docs/metadata/index.api.md +0 -2075
  913. package/dist/docs/metadata/index.d.ts +0 -5594
  914. package/dist/meeting/effectsState.d.ts +0 -42
  915. package/dist/meeting/effectsState.js +0 -260
  916. package/dist/meeting/effectsState.js.map +0 -1
  917. package/dist/metrics/config.d.ts +0 -169
  918. package/dist/metrics/config.js +0 -291
  919. package/dist/metrics/config.js.map +0 -1
  920. package/dist/peer-connection-manager/index.d.ts +0 -6
  921. package/dist/peer-connection-manager/index.js +0 -671
  922. package/dist/peer-connection-manager/index.js.map +0 -1
  923. package/dist/peer-connection-manager/util.d.ts +0 -6
  924. package/dist/peer-connection-manager/util.js +0 -110
  925. package/dist/peer-connection-manager/util.js.map +0 -1
  926. package/dist/plugin-meetings.d.ts +0 -5399
  927. package/dist/roap/collection.d.ts +0 -10
  928. package/dist/roap/collection.js +0 -63
  929. package/dist/roap/collection.js.map +0 -1
  930. package/dist/roap/handler.d.ts +0 -47
  931. package/dist/roap/handler.js +0 -279
  932. package/dist/roap/handler.js.map +0 -1
  933. package/dist/roap/state.d.ts +0 -9
  934. package/dist/roap/state.js +0 -127
  935. package/dist/roap/state.js.map +0 -1
  936. package/dist/roap/util.d.ts +0 -2
  937. package/dist/roap/util.js +0 -76
  938. package/dist/roap/util.js.map +0 -1
  939. package/dist/types/common/browser-detection.d.ts +0 -9
  940. package/dist/types/common/collection.d.ts +0 -48
  941. package/dist/types/common/config.d.ts +0 -2
  942. package/dist/types/common/errors/captcha-error.d.ts +0 -15
  943. package/dist/types/common/errors/intent-to-join.d.ts +0 -16
  944. package/dist/types/common/errors/join-meeting.d.ts +0 -17
  945. package/dist/types/common/errors/media.d.ts +0 -15
  946. package/dist/types/common/errors/parameter.d.ts +0 -15
  947. package/dist/types/common/errors/password-error.d.ts +0 -15
  948. package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
  949. package/dist/types/common/errors/reconnection.d.ts +0 -15
  950. package/dist/types/common/errors/stats.d.ts +0 -15
  951. package/dist/types/common/errors/webex-errors.d.ts +0 -69
  952. package/dist/types/common/errors/webex-meetings-error.d.ts +0 -20
  953. package/dist/types/common/events/events-scope.d.ts +0 -17
  954. package/dist/types/common/events/events.d.ts +0 -12
  955. package/dist/types/common/events/trigger-proxy.d.ts +0 -2
  956. package/dist/types/common/events/util.d.ts +0 -2
  957. package/dist/types/common/logs/logger-config.d.ts +0 -2
  958. package/dist/types/common/logs/logger-proxy.d.ts +0 -2
  959. package/dist/types/common/logs/request.d.ts +0 -34
  960. package/dist/types/common/queue.d.ts +0 -32
  961. package/dist/types/config.d.ts +0 -78
  962. package/dist/types/constants.d.ts +0 -957
  963. package/dist/types/controls-options-manager/constants.d.ts +0 -4
  964. package/dist/types/controls-options-manager/enums.d.ts +0 -13
  965. package/dist/types/controls-options-manager/index.d.ts +0 -136
  966. package/dist/types/controls-options-manager/util.d.ts +0 -1
  967. package/dist/types/index.d.ts +0 -7
  968. package/dist/types/locus-info/controlsUtils.d.ts +0 -2
  969. package/dist/types/locus-info/embeddedAppsUtils.d.ts +0 -2
  970. package/dist/types/locus-info/fullState.d.ts +0 -2
  971. package/dist/types/locus-info/hostUtils.d.ts +0 -2
  972. package/dist/types/locus-info/index.d.ts +0 -277
  973. package/dist/types/locus-info/infoUtils.d.ts +0 -2
  974. package/dist/types/locus-info/mediaSharesUtils.d.ts +0 -2
  975. package/dist/types/locus-info/parser.d.ts +0 -212
  976. package/dist/types/locus-info/selfUtils.d.ts +0 -2
  977. package/dist/types/media/index.d.ts +0 -32
  978. package/dist/types/media/properties.d.ts +0 -108
  979. package/dist/types/media/util.d.ts +0 -2
  980. package/dist/types/mediaQualityMetrics/config.d.ts +0 -365
  981. package/dist/types/meeting/effectsState.d.ts +0 -42
  982. package/dist/types/meeting/in-meeting-actions.d.ts +0 -105
  983. package/dist/types/meeting/index.d.ts +0 -1724
  984. package/dist/types/meeting/muteState.d.ts +0 -185
  985. package/dist/types/meeting/request.d.ts +0 -271
  986. package/dist/types/meeting/state.d.ts +0 -9
  987. package/dist/types/meeting/util.d.ts +0 -2
  988. package/dist/types/meeting-info/collection.d.ts +0 -20
  989. package/dist/types/meeting-info/index.d.ts +0 -57
  990. package/dist/types/meeting-info/meeting-info-v2.d.ts +0 -111
  991. package/dist/types/meeting-info/request.d.ts +0 -22
  992. package/dist/types/meeting-info/util.d.ts +0 -2
  993. package/dist/types/meeting-info/utilv2.d.ts +0 -2
  994. package/dist/types/meetings/collection.d.ts +0 -31
  995. package/dist/types/meetings/index.d.ts +0 -316
  996. package/dist/types/meetings/request.d.ts +0 -27
  997. package/dist/types/meetings/util.d.ts +0 -18
  998. package/dist/types/member/index.d.ts +0 -156
  999. package/dist/types/member/util.d.ts +0 -2
  1000. package/dist/types/members/collection.d.ts +0 -29
  1001. package/dist/types/members/index.d.ts +0 -353
  1002. package/dist/types/members/request.d.ts +0 -69
  1003. package/dist/types/members/util.d.ts +0 -2
  1004. package/dist/types/metrics/config.d.ts +0 -171
  1005. package/dist/types/metrics/constants.d.ts +0 -54
  1006. package/dist/types/metrics/index.d.ts +0 -152
  1007. package/dist/types/networkQualityMonitor/index.d.ts +0 -70
  1008. package/dist/types/personal-meeting-room/index.d.ts +0 -47
  1009. package/dist/types/personal-meeting-room/request.d.ts +0 -14
  1010. package/dist/types/personal-meeting-room/util.d.ts +0 -2
  1011. package/dist/types/reachability/index.d.ts +0 -152
  1012. package/dist/types/reachability/request.d.ts +0 -37
  1013. package/dist/types/reactions/reactions.d.ts +0 -4
  1014. package/dist/types/reactions/reactions.type.d.ts +0 -52
  1015. package/dist/types/reconnection-manager/index.d.ts +0 -126
  1016. package/dist/types/recording-controller/enums.d.ts +0 -7
  1017. package/dist/types/recording-controller/index.d.ts +0 -193
  1018. package/dist/types/recording-controller/util.d.ts +0 -13
  1019. package/dist/types/roap/index.d.ts +0 -77
  1020. package/dist/types/roap/request.d.ts +0 -38
  1021. package/dist/types/roap/turnDiscovery.d.ts +0 -74
  1022. package/dist/types/statsAnalyzer/global.d.ts +0 -36
  1023. package/dist/types/statsAnalyzer/index.d.ts +0 -200
  1024. package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -24
  1025. package/dist/types/transcription/index.d.ts +0 -64
  1026. package/dist/types/tsdoc-metadata.json +0 -11
  1027. package/src/metrics/config.ts +0 -487
  1028. /package/dist/{types/breakouts → breakouts}/breakout.d.ts +0 -0
  1029. /package/dist/{types/breakouts → breakouts}/collection.d.ts +0 -0
  1030. /package/dist/{types/breakouts → breakouts}/edit-lock-error.d.ts +0 -0
  1031. /package/dist/{types/breakouts → breakouts}/index.d.ts +0 -0
  1032. /package/dist/{types/breakouts → breakouts}/request.d.ts +0 -0
  1033. /package/dist/{types/meeting → meeting}/request.type.d.ts +0 -0
  1034. /package/dist/{types/multistream → multistream}/receiveSlotManager.d.ts +0 -0
  1035. /package/dist/{types/reactions → reactions}/constants.d.ts +0 -0
@@ -0,0 +1,357 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
5
+ _Object$defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ClusterReachability = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
11
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
13
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
15
+ var _common = require("@webex/common");
16
+ var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
17
+ var _util = require("./util");
18
+ var _constants = require("../constants");
19
+ var DEFAULT_TIMEOUT = 3000;
20
+ var VIDEO_MESH_TIMEOUT = 1000;
21
+
22
+ // result for a specific transport protocol (like udp or tcp)
23
+
24
+ // reachability result for a specific media cluster
25
+ /**
26
+ * A class that handles reachability checks for a single cluster.
27
+ */
28
+ var ClusterReachability = exports.ClusterReachability = /*#__PURE__*/function () {
29
+ /**
30
+ * Constructor for ClusterReachability
31
+ * @param {string} name cluster name
32
+ * @param {ClusterNode} clusterInfo information about the media cluster
33
+ */
34
+ function ClusterReachability(name, clusterInfo) {
35
+ (0, _classCallCheck2.default)(this, ClusterReachability);
36
+ (0, _defineProperty2.default)(this, "numUdpUrls", void 0);
37
+ (0, _defineProperty2.default)(this, "numTcpUrls", void 0);
38
+ (0, _defineProperty2.default)(this, "result", void 0);
39
+ (0, _defineProperty2.default)(this, "pc", void 0);
40
+ (0, _defineProperty2.default)(this, "defer", void 0);
41
+ // this defer is resolved once reachability checks for this cluster are completed
42
+ (0, _defineProperty2.default)(this, "startTimestamp", void 0);
43
+ (0, _defineProperty2.default)(this, "isVideoMesh", void 0);
44
+ (0, _defineProperty2.default)(this, "name", void 0);
45
+ this.name = name;
46
+ this.isVideoMesh = clusterInfo.isVideoMesh;
47
+ this.numUdpUrls = clusterInfo.udp.length;
48
+ this.numTcpUrls = clusterInfo.tcp.length;
49
+ this.pc = this.createPeerConnection(clusterInfo);
50
+ this.defer = new _common.Defer();
51
+ this.result = {
52
+ udp: {
53
+ result: 'untested'
54
+ },
55
+ tcp: {
56
+ result: 'untested'
57
+ },
58
+ xtls: {
59
+ result: 'untested'
60
+ }
61
+ };
62
+ }
63
+
64
+ /**
65
+ * Gets total elapsed time, can be called only after start() is called
66
+ * @returns {Number} Milliseconds
67
+ */
68
+ (0, _createClass2.default)(ClusterReachability, [{
69
+ key: "getElapsedTime",
70
+ value: function getElapsedTime() {
71
+ return Math.round(performance.now() - this.startTimestamp);
72
+ }
73
+
74
+ /**
75
+ * Generate peerConnection config settings
76
+ * @param {ClusterNode} cluster
77
+ * @returns {RTCConfiguration} peerConnectionConfig
78
+ */
79
+ }, {
80
+ key: "buildPeerConnectionConfig",
81
+ value: function buildPeerConnectionConfig(cluster) {
82
+ var udpIceServers = cluster.udp.map(function (url) {
83
+ return {
84
+ username: '',
85
+ credential: '',
86
+ urls: [url]
87
+ };
88
+ });
89
+
90
+ // STUN servers are contacted only using UDP, so in order to test TCP reachability
91
+ // we pretend that Linus is a TURN server, because we can explicitly say "transport=tcp" in TURN urls.
92
+ // We then check for relay candidates to know if TURN-TCP worked (see registerIceCandidateListener()).
93
+ var tcpIceServers = cluster.tcp.map(function (urlString) {
94
+ return {
95
+ username: 'webexturnreachuser',
96
+ credential: 'webexturnreachpwd',
97
+ urls: [(0, _util.convertStunUrlToTurn)(urlString, 'tcp')]
98
+ };
99
+ });
100
+ return {
101
+ iceServers: [].concat((0, _toConsumableArray2.default)(udpIceServers), (0, _toConsumableArray2.default)(tcpIceServers)),
102
+ iceCandidatePoolSize: 0,
103
+ iceTransportPolicy: 'all'
104
+ };
105
+ }
106
+
107
+ /**
108
+ * Creates an RTCPeerConnection
109
+ * @param {ClusterNode} clusterInfo information about the media cluster
110
+ * @returns {RTCPeerConnection} peerConnection
111
+ */
112
+ }, {
113
+ key: "createPeerConnection",
114
+ value: function createPeerConnection(clusterInfo) {
115
+ try {
116
+ var config = this.buildPeerConnectionConfig(clusterInfo);
117
+ var peerConnection = new RTCPeerConnection(config);
118
+ return peerConnection;
119
+ } catch (peerConnectionError) {
120
+ _loggerProxy.default.logger.warn("Reachability:index#createPeerConnection --> Error creating peerConnection:", peerConnectionError);
121
+ return undefined;
122
+ }
123
+ }
124
+
125
+ /**
126
+ * @returns {ClusterReachabilityResult} reachability result for this cluster
127
+ */
128
+ }, {
129
+ key: "getResult",
130
+ value: function getResult() {
131
+ return this.result;
132
+ }
133
+
134
+ /**
135
+ * Closes the peerConnection
136
+ *
137
+ * @returns {void}
138
+ */
139
+ }, {
140
+ key: "closePeerConnection",
141
+ value: function closePeerConnection() {
142
+ if (this.pc) {
143
+ this.pc.onicecandidate = null;
144
+ this.pc.onicegatheringstatechange = null;
145
+ this.pc.close();
146
+ }
147
+ }
148
+
149
+ /**
150
+ * Resolves the defer, indicating that reachability checks for this cluster are completed
151
+ *
152
+ * @returns {void}
153
+ */
154
+ }, {
155
+ key: "finishReachabilityCheck",
156
+ value: function finishReachabilityCheck() {
157
+ this.defer.resolve();
158
+ }
159
+
160
+ /**
161
+ * Adds public IP (client media IPs)
162
+ * @param {string} protocol
163
+ * @param {string} publicIP
164
+ * @returns {void}
165
+ */
166
+ }, {
167
+ key: "addPublicIP",
168
+ value: function addPublicIP(protocol, publicIP) {
169
+ var result = this.result[protocol];
170
+ if (publicIP) {
171
+ if (result.clientMediaIPs) {
172
+ if (!result.clientMediaIPs.includes(publicIP)) {
173
+ result.clientMediaIPs.push(publicIP);
174
+ }
175
+ } else {
176
+ result.clientMediaIPs = [publicIP];
177
+ }
178
+ }
179
+ }
180
+
181
+ /**
182
+ * Registers a listener for the iceGatheringStateChange event
183
+ *
184
+ * @returns {void}
185
+ */
186
+ }, {
187
+ key: "registerIceGatheringStateChangeListener",
188
+ value: function registerIceGatheringStateChangeListener() {
189
+ var _this = this;
190
+ this.pc.onicegatheringstatechange = function () {
191
+ var COMPLETE = _constants.ICE_GATHERING_STATE.COMPLETE;
192
+ if (_this.pc.iceConnectionState === COMPLETE) {
193
+ _this.closePeerConnection();
194
+ _this.finishReachabilityCheck();
195
+ }
196
+ };
197
+ }
198
+
199
+ /**
200
+ * Checks if we have the results for all the protocols (UDP and TCP)
201
+ *
202
+ * @returns {boolean} true if we have all results, false otherwise
203
+ */
204
+ }, {
205
+ key: "haveWeGotAllResults",
206
+ value: function haveWeGotAllResults() {
207
+ var _this2 = this;
208
+ return ['udp', 'tcp'].every(function (protocol) {
209
+ return _this2.result[protocol].result === 'reachable' || _this2.result[protocol].result === 'untested';
210
+ });
211
+ }
212
+
213
+ /**
214
+ * Stores the latency in the result for the given protocol and marks it as reachable
215
+ *
216
+ * @param {string} protocol
217
+ * @param {number} latency
218
+ * @returns {void}
219
+ */
220
+ }, {
221
+ key: "storeLatencyResult",
222
+ value: function storeLatencyResult(protocol, latency) {
223
+ var result = this.result[protocol];
224
+ if (result.latencyInMilliseconds === undefined) {
225
+ _loggerProxy.default.logger.log( // @ts-ignore
226
+ "Reachability:index#storeLatencyResult --> Successfully reached ".concat(this.name, " over ").concat(protocol, ": ").concat(latency, "ms"));
227
+ result.latencyInMilliseconds = latency;
228
+ result.result = 'reachable';
229
+ }
230
+ }
231
+
232
+ /**
233
+ * Registers a listener for the icecandidate event
234
+ *
235
+ * @returns {void}
236
+ */
237
+ }, {
238
+ key: "registerIceCandidateListener",
239
+ value: function registerIceCandidateListener() {
240
+ var _this3 = this;
241
+ this.pc.onicecandidate = function (e) {
242
+ var CANDIDATE_TYPES = {
243
+ SERVER_REFLEXIVE: 'srflx',
244
+ RELAY: 'relay'
245
+ };
246
+ if (e.candidate) {
247
+ if (e.candidate.type === CANDIDATE_TYPES.SERVER_REFLEXIVE) {
248
+ _this3.storeLatencyResult('udp', _this3.getElapsedTime());
249
+ _this3.addPublicIP('udp', e.candidate.address);
250
+ }
251
+ if (e.candidate.type === CANDIDATE_TYPES.RELAY) {
252
+ _this3.storeLatencyResult('tcp', _this3.getElapsedTime());
253
+ // we don't add public IP for TCP, because in the case of relay candidates
254
+ // e.candidate.address is the TURN server address, not the client's public IP
255
+ }
256
+
257
+ if (_this3.haveWeGotAllResults()) {
258
+ _this3.closePeerConnection();
259
+ _this3.finishReachabilityCheck();
260
+ }
261
+ }
262
+ };
263
+ }
264
+
265
+ /**
266
+ * Starts the process of doing UDP and TCP reachability checks on the media cluster.
267
+ * XTLS reachability checking is not supported.
268
+ *
269
+ * @returns {Promise}
270
+ */
271
+ }, {
272
+ key: "start",
273
+ value: (function () {
274
+ var _start = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
275
+ var offer;
276
+ return _regenerator.default.wrap(function _callee$(_context) {
277
+ while (1) switch (_context.prev = _context.next) {
278
+ case 0:
279
+ if (this.pc) {
280
+ _context.next = 3;
281
+ break;
282
+ }
283
+ _loggerProxy.default.logger.warn("Reachability:ClusterReachability#start --> Error: peerConnection is undefined");
284
+ return _context.abrupt("return", this.result);
285
+ case 3:
286
+ // Initialize this.result as saying that nothing is reachable.
287
+ // It will get updated as we go along and successfully gather ICE candidates.
288
+ this.result.udp = {
289
+ result: this.numUdpUrls > 0 ? 'unreachable' : 'untested'
290
+ };
291
+ this.result.tcp = {
292
+ result: this.numTcpUrls > 0 ? 'unreachable' : 'untested'
293
+ };
294
+ _context.prev = 5;
295
+ _context.next = 8;
296
+ return this.pc.createOffer({
297
+ offerToReceiveAudio: true
298
+ });
299
+ case 8:
300
+ offer = _context.sent;
301
+ this.startTimestamp = performance.now();
302
+
303
+ // not awaiting the next call on purpose, because we're not sending the offer anywhere and there won't be any answer
304
+ // we just need to make this call to trigger the ICE gathering process
305
+ this.pc.setLocalDescription(offer);
306
+ _context.next = 13;
307
+ return this.gatherIceCandidates();
308
+ case 13:
309
+ _context.next = 18;
310
+ break;
311
+ case 15:
312
+ _context.prev = 15;
313
+ _context.t0 = _context["catch"](5);
314
+ _loggerProxy.default.logger.warn("Reachability:ClusterReachability#start --> Error: ", _context.t0);
315
+ case 18:
316
+ return _context.abrupt("return", this.result);
317
+ case 19:
318
+ case "end":
319
+ return _context.stop();
320
+ }
321
+ }, _callee, this, [[5, 15]]);
322
+ }));
323
+ function start() {
324
+ return _start.apply(this, arguments);
325
+ }
326
+ return start;
327
+ }()
328
+ /**
329
+ * Starts the process of gathering ICE candidates
330
+ *
331
+ * @returns {Promise} promise that's resolved once reachability checks for this cluster are completed or timeout is reached
332
+ */
333
+ )
334
+ }, {
335
+ key: "gatherIceCandidates",
336
+ value: function gatherIceCandidates() {
337
+ var _this4 = this;
338
+ var timeout = this.isVideoMesh ? VIDEO_MESH_TIMEOUT : DEFAULT_TIMEOUT;
339
+ this.registerIceGatheringStateChangeListener();
340
+ this.registerIceCandidateListener();
341
+
342
+ // Set maximum timeout
343
+ setTimeout(function () {
344
+ var CLOSED = _constants.CONNECTION_STATE.CLOSED;
345
+
346
+ // Close any open peerConnections
347
+ if (_this4.pc.connectionState !== CLOSED) {
348
+ _this4.closePeerConnection();
349
+ _this4.finishReachabilityCheck();
350
+ }
351
+ }, timeout);
352
+ return this.defer.promise;
353
+ }
354
+ }]);
355
+ return ClusterReachability;
356
+ }();
357
+ //# sourceMappingURL=clusterReachability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_common","require","_loggerProxy","_interopRequireDefault","_util","_constants","DEFAULT_TIMEOUT","VIDEO_MESH_TIMEOUT","ClusterReachability","exports","name","clusterInfo","_classCallCheck2","default","_defineProperty2","isVideoMesh","numUdpUrls","udp","length","numTcpUrls","tcp","pc","createPeerConnection","defer","Defer","result","xtls","_createClass2","key","value","getElapsedTime","Math","round","performance","now","startTimestamp","buildPeerConnectionConfig","cluster","udpIceServers","map","url","username","credential","urls","tcpIceServers","urlString","convertStunUrlToTurn","iceServers","concat","_toConsumableArray2","iceCandidatePoolSize","iceTransportPolicy","config","peerConnection","RTCPeerConnection","peerConnectionError","LoggerProxy","logger","warn","undefined","getResult","closePeerConnection","onicecandidate","onicegatheringstatechange","close","finishReachabilityCheck","resolve","addPublicIP","protocol","publicIP","clientMediaIPs","includes","push","registerIceGatheringStateChangeListener","_this","COMPLETE","ICE_GATHERING_STATE","iceConnectionState","haveWeGotAllResults","_this2","every","storeLatencyResult","latency","latencyInMilliseconds","log","registerIceCandidateListener","_this3","e","CANDIDATE_TYPES","SERVER_REFLEXIVE","RELAY","candidate","type","address","_start","_asyncToGenerator2","_regenerator","mark","_callee","offer","wrap","_callee$","_context","prev","next","abrupt","createOffer","offerToReceiveAudio","sent","setLocalDescription","gatherIceCandidates","t0","stop","start","apply","arguments","_this4","timeout","setTimeout","CLOSED","CONNECTION_STATE","connectionState","promise"],"sources":["clusterReachability.ts"],"sourcesContent":["import {Defer} from '@webex/common';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {ClusterNode} from './request';\nimport {convertStunUrlToTurn} from './util';\n\nimport {ICE_GATHERING_STATE, CONNECTION_STATE} from '../constants';\n\nconst DEFAULT_TIMEOUT = 3000;\nconst VIDEO_MESH_TIMEOUT = 1000;\n\n// result for a specific transport protocol (like udp or tcp)\nexport type TransportResult = {\n result: 'reachable' | 'unreachable' | 'untested';\n latencyInMilliseconds?: number; // amount of time it took to get the first ICE candidate\n clientMediaIPs?: string[];\n};\n\n// reachability result for a specific media cluster\nexport type ClusterReachabilityResult = {\n udp: TransportResult;\n tcp: TransportResult;\n xtls: TransportResult;\n};\n\n/**\n * A class that handles reachability checks for a single cluster.\n */\nexport class ClusterReachability {\n private numUdpUrls: number;\n private numTcpUrls: number;\n private result: ClusterReachabilityResult;\n private pc?: RTCPeerConnection;\n private defer: Defer; // this defer is resolved once reachability checks for this cluster are completed\n private startTimestamp: number;\n public readonly isVideoMesh: boolean;\n public readonly name;\n\n /**\n * Constructor for ClusterReachability\n * @param {string} name cluster name\n * @param {ClusterNode} clusterInfo information about the media cluster\n */\n constructor(name: string, clusterInfo: ClusterNode) {\n this.name = name;\n this.isVideoMesh = clusterInfo.isVideoMesh;\n this.numUdpUrls = clusterInfo.udp.length;\n this.numTcpUrls = clusterInfo.tcp.length;\n\n this.pc = this.createPeerConnection(clusterInfo);\n\n this.defer = new Defer();\n this.result = {\n udp: {\n result: 'untested',\n },\n tcp: {\n result: 'untested',\n },\n xtls: {\n result: 'untested',\n },\n };\n }\n\n /**\n * Gets total elapsed time, can be called only after start() is called\n * @returns {Number} Milliseconds\n */\n private getElapsedTime() {\n return Math.round(performance.now() - this.startTimestamp);\n }\n\n /**\n * Generate peerConnection config settings\n * @param {ClusterNode} cluster\n * @returns {RTCConfiguration} peerConnectionConfig\n */\n private buildPeerConnectionConfig(cluster: ClusterNode): RTCConfiguration {\n const udpIceServers = cluster.udp.map((url) => ({\n username: '',\n credential: '',\n urls: [url],\n }));\n\n // STUN servers are contacted only using UDP, so in order to test TCP reachability\n // we pretend that Linus is a TURN server, because we can explicitly say \"transport=tcp\" in TURN urls.\n // We then check for relay candidates to know if TURN-TCP worked (see registerIceCandidateListener()).\n const tcpIceServers = cluster.tcp.map((urlString: string) => {\n return {\n username: 'webexturnreachuser',\n credential: 'webexturnreachpwd',\n urls: [convertStunUrlToTurn(urlString, 'tcp')],\n };\n });\n\n return {\n iceServers: [...udpIceServers, ...tcpIceServers],\n iceCandidatePoolSize: 0,\n iceTransportPolicy: 'all',\n };\n }\n\n /**\n * Creates an RTCPeerConnection\n * @param {ClusterNode} clusterInfo information about the media cluster\n * @returns {RTCPeerConnection} peerConnection\n */\n private createPeerConnection(clusterInfo: ClusterNode) {\n try {\n const config = this.buildPeerConnectionConfig(clusterInfo);\n\n const peerConnection = new RTCPeerConnection(config);\n\n return peerConnection;\n } catch (peerConnectionError) {\n LoggerProxy.logger.warn(\n `Reachability:index#createPeerConnection --> Error creating peerConnection:`,\n peerConnectionError\n );\n\n return undefined;\n }\n }\n\n /**\n * @returns {ClusterReachabilityResult} reachability result for this cluster\n */\n getResult() {\n return this.result;\n }\n\n /**\n * Closes the peerConnection\n *\n * @returns {void}\n */\n private closePeerConnection() {\n if (this.pc) {\n this.pc.onicecandidate = null;\n this.pc.onicegatheringstatechange = null;\n this.pc.close();\n }\n }\n\n /**\n * Resolves the defer, indicating that reachability checks for this cluster are completed\n *\n * @returns {void}\n */\n private finishReachabilityCheck() {\n this.defer.resolve();\n }\n\n /**\n * Adds public IP (client media IPs)\n * @param {string} protocol\n * @param {string} publicIP\n * @returns {void}\n */\n private addPublicIP(protocol: 'udp' | 'tcp', publicIP?: string | null) {\n const result = this.result[protocol];\n\n if (publicIP) {\n if (result.clientMediaIPs) {\n if (!result.clientMediaIPs.includes(publicIP)) {\n result.clientMediaIPs.push(publicIP);\n }\n } else {\n result.clientMediaIPs = [publicIP];\n }\n }\n }\n\n /**\n * Registers a listener for the iceGatheringStateChange event\n *\n * @returns {void}\n */\n private registerIceGatheringStateChangeListener() {\n this.pc.onicegatheringstatechange = () => {\n const {COMPLETE} = ICE_GATHERING_STATE;\n\n if (this.pc.iceConnectionState === COMPLETE) {\n this.closePeerConnection();\n this.finishReachabilityCheck();\n }\n };\n }\n\n /**\n * Checks if we have the results for all the protocols (UDP and TCP)\n *\n * @returns {boolean} true if we have all results, false otherwise\n */\n private haveWeGotAllResults(): boolean {\n return ['udp', 'tcp'].every(\n (protocol) =>\n this.result[protocol].result === 'reachable' || this.result[protocol].result === 'untested'\n );\n }\n\n /**\n * Stores the latency in the result for the given protocol and marks it as reachable\n *\n * @param {string} protocol\n * @param {number} latency\n * @returns {void}\n */\n private storeLatencyResult(protocol: 'udp' | 'tcp', latency: number) {\n const result = this.result[protocol];\n\n if (result.latencyInMilliseconds === undefined) {\n LoggerProxy.logger.log(\n // @ts-ignore\n `Reachability:index#storeLatencyResult --> Successfully reached ${this.name} over ${protocol}: ${latency}ms`\n );\n result.latencyInMilliseconds = latency;\n result.result = 'reachable';\n }\n }\n\n /**\n * Registers a listener for the icecandidate event\n *\n * @returns {void}\n */\n private registerIceCandidateListener() {\n this.pc.onicecandidate = (e) => {\n const CANDIDATE_TYPES = {\n SERVER_REFLEXIVE: 'srflx',\n RELAY: 'relay',\n };\n\n if (e.candidate) {\n if (e.candidate.type === CANDIDATE_TYPES.SERVER_REFLEXIVE) {\n this.storeLatencyResult('udp', this.getElapsedTime());\n this.addPublicIP('udp', e.candidate.address);\n }\n\n if (e.candidate.type === CANDIDATE_TYPES.RELAY) {\n this.storeLatencyResult('tcp', this.getElapsedTime());\n // we don't add public IP for TCP, because in the case of relay candidates\n // e.candidate.address is the TURN server address, not the client's public IP\n }\n\n if (this.haveWeGotAllResults()) {\n this.closePeerConnection();\n this.finishReachabilityCheck();\n }\n }\n };\n }\n\n /**\n * Starts the process of doing UDP and TCP reachability checks on the media cluster.\n * XTLS reachability checking is not supported.\n *\n * @returns {Promise}\n */\n async start(): Promise<ClusterReachabilityResult> {\n if (!this.pc) {\n LoggerProxy.logger.warn(\n `Reachability:ClusterReachability#start --> Error: peerConnection is undefined`\n );\n\n return this.result;\n }\n\n // Initialize this.result as saying that nothing is reachable.\n // It will get updated as we go along and successfully gather ICE candidates.\n this.result.udp = {\n result: this.numUdpUrls > 0 ? 'unreachable' : 'untested',\n };\n this.result.tcp = {\n result: this.numTcpUrls > 0 ? 'unreachable' : 'untested',\n };\n\n try {\n const offer = await this.pc.createOffer({offerToReceiveAudio: true});\n\n this.startTimestamp = performance.now();\n\n // not awaiting the next call on purpose, because we're not sending the offer anywhere and there won't be any answer\n // we just need to make this call to trigger the ICE gathering process\n this.pc.setLocalDescription(offer);\n\n await this.gatherIceCandidates();\n } catch (error) {\n LoggerProxy.logger.warn(`Reachability:ClusterReachability#start --> Error: `, error);\n }\n\n return this.result;\n }\n\n /**\n * Starts the process of gathering ICE candidates\n *\n * @returns {Promise} promise that's resolved once reachability checks for this cluster are completed or timeout is reached\n */\n private gatherIceCandidates() {\n const timeout = this.isVideoMesh ? VIDEO_MESH_TIMEOUT : DEFAULT_TIMEOUT;\n\n this.registerIceGatheringStateChangeListener();\n this.registerIceCandidateListener();\n\n // Set maximum timeout\n setTimeout(() => {\n const {CLOSED} = CONNECTION_STATE;\n\n // Close any open peerConnections\n if (this.pc.connectionState !== CLOSED) {\n this.closePeerConnection();\n this.finishReachabilityCheck();\n }\n }, timeout);\n\n return this.defer.promise;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAH,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AAEA,IAAMK,eAAe,GAAG,IAAI;AAC5B,IAAMC,kBAAkB,GAAG,IAAI;;AAE/B;;AAOA;AAOA;AACA;AACA;AAFA,IAGaC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA;EAU9B;AACF;AACA;AACA;AACA;EACE,SAAAA,oBAAYE,IAAY,EAAEC,WAAwB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAL,mBAAA;IAAA,IAAAM,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAV9B;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA;IAWpB,IAAI,CAACH,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACK,WAAW,GAAGJ,WAAW,CAACI,WAAW;IAC1C,IAAI,CAACC,UAAU,GAAGL,WAAW,CAACM,GAAG,CAACC,MAAM;IACxC,IAAI,CAACC,UAAU,GAAGR,WAAW,CAACS,GAAG,CAACF,MAAM;IAExC,IAAI,CAACG,EAAE,GAAG,IAAI,CAACC,oBAAoB,CAACX,WAAW,CAAC;IAEhD,IAAI,CAACY,KAAK,GAAG,IAAIC,aAAK,CAAC,CAAC;IACxB,IAAI,CAACC,MAAM,GAAG;MACZR,GAAG,EAAE;QACHQ,MAAM,EAAE;MACV,CAAC;MACDL,GAAG,EAAE;QACHK,MAAM,EAAE;MACV,CAAC;MACDC,IAAI,EAAE;QACJD,MAAM,EAAE;MACV;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;EAHE,IAAAE,aAAA,CAAAd,OAAA,EAAAL,mBAAA;IAAAoB,GAAA;IAAAC,KAAA,EAIA,SAAAC,eAAA,EAAyB;MACvB,OAAOC,IAAI,CAACC,KAAK,CAACC,WAAW,CAACC,GAAG,CAAC,CAAC,GAAG,IAAI,CAACC,cAAc,CAAC;IAC5D;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAP,GAAA;IAAAC,KAAA,EAKA,SAAAO,0BAAkCC,OAAoB,EAAoB;MACxE,IAAMC,aAAa,GAAGD,OAAO,CAACpB,GAAG,CAACsB,GAAG,CAAC,UAACC,GAAG;QAAA,OAAM;UAC9CC,QAAQ,EAAE,EAAE;UACZC,UAAU,EAAE,EAAE;UACdC,IAAI,EAAE,CAACH,GAAG;QACZ,CAAC;MAAA,CAAC,CAAC;;MAEH;MACA;MACA;MACA,IAAMI,aAAa,GAAGP,OAAO,CAACjB,GAAG,CAACmB,GAAG,CAAC,UAACM,SAAiB,EAAK;QAC3D,OAAO;UACLJ,QAAQ,EAAE,oBAAoB;UAC9BC,UAAU,EAAE,mBAAmB;UAC/BC,IAAI,EAAE,CAAC,IAAAG,0BAAoB,EAACD,SAAS,EAAE,KAAK,CAAC;QAC/C,CAAC;MACH,CAAC,CAAC;MAEF,OAAO;QACLE,UAAU,KAAAC,MAAA,KAAAC,mBAAA,CAAApC,OAAA,EAAMyB,aAAa,OAAAW,mBAAA,CAAApC,OAAA,EAAK+B,aAAa,EAAC;QAChDM,oBAAoB,EAAE,CAAC;QACvBC,kBAAkB,EAAE;MACtB,CAAC;IACH;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAvB,GAAA;IAAAC,KAAA,EAKA,SAAAP,qBAA6BX,WAAwB,EAAE;MACrD,IAAI;QACF,IAAMyC,MAAM,GAAG,IAAI,CAAChB,yBAAyB,CAACzB,WAAW,CAAC;QAE1D,IAAM0C,cAAc,GAAG,IAAIC,iBAAiB,CAACF,MAAM,CAAC;QAEpD,OAAOC,cAAc;MACvB,CAAC,CAAC,OAAOE,mBAAmB,EAAE;QAC5BC,oBAAW,CAACC,MAAM,CAACC,IAAI,+EAErBH,mBACF,CAAC;QAED,OAAOI,SAAS;MAClB;IACF;;IAEA;AACF;AACA;EAFE;IAAA/B,GAAA;IAAAC,KAAA,EAGA,SAAA+B,UAAA,EAAY;MACV,OAAO,IAAI,CAACnC,MAAM;IACpB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAG,GAAA;IAAAC,KAAA,EAKA,SAAAgC,oBAAA,EAA8B;MAC5B,IAAI,IAAI,CAACxC,EAAE,EAAE;QACX,IAAI,CAACA,EAAE,CAACyC,cAAc,GAAG,IAAI;QAC7B,IAAI,CAACzC,EAAE,CAAC0C,yBAAyB,GAAG,IAAI;QACxC,IAAI,CAAC1C,EAAE,CAAC2C,KAAK,CAAC,CAAC;MACjB;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAApC,GAAA;IAAAC,KAAA,EAKA,SAAAoC,wBAAA,EAAkC;MAChC,IAAI,CAAC1C,KAAK,CAAC2C,OAAO,CAAC,CAAC;IACtB;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAtC,GAAA;IAAAC,KAAA,EAMA,SAAAsC,YAAoBC,QAAuB,EAAEC,QAAwB,EAAE;MACrE,IAAM5C,MAAM,GAAG,IAAI,CAACA,MAAM,CAAC2C,QAAQ,CAAC;MAEpC,IAAIC,QAAQ,EAAE;QACZ,IAAI5C,MAAM,CAAC6C,cAAc,EAAE;UACzB,IAAI,CAAC7C,MAAM,CAAC6C,cAAc,CAACC,QAAQ,CAACF,QAAQ,CAAC,EAAE;YAC7C5C,MAAM,CAAC6C,cAAc,CAACE,IAAI,CAACH,QAAQ,CAAC;UACtC;QACF,CAAC,MAAM;UACL5C,MAAM,CAAC6C,cAAc,GAAG,CAACD,QAAQ,CAAC;QACpC;MACF;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAzC,GAAA;IAAAC,KAAA,EAKA,SAAA4C,wCAAA,EAAkD;MAAA,IAAAC,KAAA;MAChD,IAAI,CAACrD,EAAE,CAAC0C,yBAAyB,GAAG,YAAM;QACxC,IAAOY,QAAQ,GAAIC,8BAAmB,CAA/BD,QAAQ;QAEf,IAAID,KAAI,CAACrD,EAAE,CAACwD,kBAAkB,KAAKF,QAAQ,EAAE;UAC3CD,KAAI,CAACb,mBAAmB,CAAC,CAAC;UAC1Ba,KAAI,CAACT,uBAAuB,CAAC,CAAC;QAChC;MACF,CAAC;IACH;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAArC,GAAA;IAAAC,KAAA,EAKA,SAAAiD,oBAAA,EAAuC;MAAA,IAAAC,MAAA;MACrC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAACC,KAAK,CACzB,UAACZ,QAAQ;QAAA,OACPW,MAAI,CAACtD,MAAM,CAAC2C,QAAQ,CAAC,CAAC3C,MAAM,KAAK,WAAW,IAAIsD,MAAI,CAACtD,MAAM,CAAC2C,QAAQ,CAAC,CAAC3C,MAAM,KAAK,UAAU;MAAA,CAC/F,CAAC;IACH;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;EANE;IAAAG,GAAA;IAAAC,KAAA,EAOA,SAAAoD,mBAA2Bb,QAAuB,EAAEc,OAAe,EAAE;MACnE,IAAMzD,MAAM,GAAG,IAAI,CAACA,MAAM,CAAC2C,QAAQ,CAAC;MAEpC,IAAI3C,MAAM,CAAC0D,qBAAqB,KAAKxB,SAAS,EAAE;QAC9CH,oBAAW,CAACC,MAAM,CAAC2B,GAAG,EACpB;QAAA,kEAAApC,MAAA,CACkE,IAAI,CAACtC,IAAI,YAAAsC,MAAA,CAASoB,QAAQ,QAAApB,MAAA,CAAKkC,OAAO,OAC1G,CAAC;QACDzD,MAAM,CAAC0D,qBAAqB,GAAGD,OAAO;QACtCzD,MAAM,CAACA,MAAM,GAAG,WAAW;MAC7B;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAG,GAAA;IAAAC,KAAA,EAKA,SAAAwD,6BAAA,EAAuC;MAAA,IAAAC,MAAA;MACrC,IAAI,CAACjE,EAAE,CAACyC,cAAc,GAAG,UAACyB,CAAC,EAAK;QAC9B,IAAMC,eAAe,GAAG;UACtBC,gBAAgB,EAAE,OAAO;UACzBC,KAAK,EAAE;QACT,CAAC;QAED,IAAIH,CAAC,CAACI,SAAS,EAAE;UACf,IAAIJ,CAAC,CAACI,SAAS,CAACC,IAAI,KAAKJ,eAAe,CAACC,gBAAgB,EAAE;YACzDH,MAAI,CAACL,kBAAkB,CAAC,KAAK,EAAEK,MAAI,CAACxD,cAAc,CAAC,CAAC,CAAC;YACrDwD,MAAI,CAACnB,WAAW,CAAC,KAAK,EAAEoB,CAAC,CAACI,SAAS,CAACE,OAAO,CAAC;UAC9C;UAEA,IAAIN,CAAC,CAACI,SAAS,CAACC,IAAI,KAAKJ,eAAe,CAACE,KAAK,EAAE;YAC9CJ,MAAI,CAACL,kBAAkB,CAAC,KAAK,EAAEK,MAAI,CAACxD,cAAc,CAAC,CAAC,CAAC;YACrD;YACA;UACF;;UAEA,IAAIwD,MAAI,CAACR,mBAAmB,CAAC,CAAC,EAAE;YAC9BQ,MAAI,CAACzB,mBAAmB,CAAC,CAAC;YAC1ByB,MAAI,CAACrB,uBAAuB,CAAC,CAAC;UAChC;QACF;MACF,CAAC;IACH;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAArC,GAAA;IAAAC,KAAA;MAAA,IAAAiE,MAAA,OAAAC,kBAAA,CAAAlF,OAAA,gBAAAmF,YAAA,CAAAnF,OAAA,CAAAoF,IAAA,CAMA,SAAAC,QAAA;QAAA,IAAAC,KAAA;QAAA,OAAAH,YAAA,CAAAnF,OAAA,CAAAuF,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAA,IACO,IAAI,CAACnF,EAAE;gBAAAiF,QAAA,CAAAE,IAAA;gBAAA;cAAA;cACVhD,oBAAW,CAACC,MAAM,CAACC,IAAI,gFAEvB,CAAC;cAAC,OAAA4C,QAAA,CAAAG,MAAA,WAEK,IAAI,CAAChF,MAAM;YAAA;cAGpB;cACA;cACA,IAAI,CAACA,MAAM,CAACR,GAAG,GAAG;gBAChBQ,MAAM,EAAE,IAAI,CAACT,UAAU,GAAG,CAAC,GAAG,aAAa,GAAG;cAChD,CAAC;cACD,IAAI,CAACS,MAAM,CAACL,GAAG,GAAG;gBAChBK,MAAM,EAAE,IAAI,CAACN,UAAU,GAAG,CAAC,GAAG,aAAa,GAAG;cAChD,CAAC;cAACmF,QAAA,CAAAC,IAAA;cAAAD,QAAA,CAAAE,IAAA;cAAA,OAGoB,IAAI,CAACnF,EAAE,CAACqF,WAAW,CAAC;gBAACC,mBAAmB,EAAE;cAAI,CAAC,CAAC;YAAA;cAA9DR,KAAK,GAAAG,QAAA,CAAAM,IAAA;cAEX,IAAI,CAACzE,cAAc,GAAGF,WAAW,CAACC,GAAG,CAAC,CAAC;;cAEvC;cACA;cACA,IAAI,CAACb,EAAE,CAACwF,mBAAmB,CAACV,KAAK,CAAC;cAACG,QAAA,CAAAE,IAAA;cAAA,OAE7B,IAAI,CAACM,mBAAmB,CAAC,CAAC;YAAA;cAAAR,QAAA,CAAAE,IAAA;cAAA;YAAA;cAAAF,QAAA,CAAAC,IAAA;cAAAD,QAAA,CAAAS,EAAA,GAAAT,QAAA;cAEhC9C,oBAAW,CAACC,MAAM,CAACC,IAAI,uDAAA4C,QAAA,CAAAS,EAA4D,CAAC;YAAC;cAAA,OAAAT,QAAA,CAAAG,MAAA,WAGhF,IAAI,CAAChF,MAAM;YAAA;YAAA;cAAA,OAAA6E,QAAA,CAAAU,IAAA;UAAA;QAAA,GAAAd,OAAA;MAAA,CACnB;MAAA,SAAAe,MAAA;QAAA,OAAAnB,MAAA,CAAAoB,KAAA,OAAAC,SAAA;MAAA;MAAA,OAAAF,KAAA;IAAA;IAED;AACF;AACA;AACA;AACA;IAJE;EAAA;IAAArF,GAAA;IAAAC,KAAA,EAKA,SAAAiF,oBAAA,EAA8B;MAAA,IAAAM,MAAA;MAC5B,IAAMC,OAAO,GAAG,IAAI,CAACtG,WAAW,GAAGR,kBAAkB,GAAGD,eAAe;MAEvE,IAAI,CAACmE,uCAAuC,CAAC,CAAC;MAC9C,IAAI,CAACY,4BAA4B,CAAC,CAAC;;MAEnC;MACAiC,UAAU,CAAC,YAAM;QACf,IAAOC,MAAM,GAAIC,2BAAgB,CAA1BD,MAAM;;QAEb;QACA,IAAIH,MAAI,CAAC/F,EAAE,CAACoG,eAAe,KAAKF,MAAM,EAAE;UACtCH,MAAI,CAACvD,mBAAmB,CAAC,CAAC;UAC1BuD,MAAI,CAACnD,uBAAuB,CAAC,CAAC;QAChC;MACF,CAAC,EAAEoD,OAAO,CAAC;MAEX,OAAO,IAAI,CAAC9F,KAAK,CAACmG,OAAO;IAC3B;EAAC;EAAA,OAAAlH,mBAAA;AAAA"}
@@ -1,14 +1,48 @@
1
1
  /*!
2
2
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
3
  */
4
+ import ReachabilityRequest from './request';
5
+ import { ClusterReachability, ClusterReachabilityResult } from './clusterReachability';
6
+ export type ReachabilityMetrics = {
7
+ reachability_public_udp_success: number;
8
+ reachability_public_udp_failed: number;
9
+ reachability_public_tcp_success: number;
10
+ reachability_public_tcp_failed: number;
11
+ reachability_vmn_udp_success: number;
12
+ reachability_vmn_udp_failed: number;
13
+ reachability_vmn_tcp_success: number;
14
+ reachability_vmn_tcp_failed: number;
15
+ };
16
+ /**
17
+ * This is the type that matches what backend expects us to send to them. It is a bit weird, because
18
+ * it uses strings instead of booleans and numbers, but that's what they require.
19
+ */
20
+ export type TransportResultForBackend = {
21
+ reachable?: 'true' | 'false';
22
+ latencyInMilliseconds?: string;
23
+ clientMediaIPs?: string[];
24
+ untested?: 'true';
25
+ };
26
+ export type ReachabilityResultForBackend = {
27
+ udp: TransportResultForBackend;
28
+ tcp: TransportResultForBackend;
29
+ xtls: TransportResultForBackend;
30
+ };
31
+ export type ReachabilityResultsForBackend = Record<string, ReachabilityResultForBackend>;
32
+ export type ReachabilityResults = Record<string, ClusterReachabilityResult & {
33
+ isVideoMesh?: boolean;
34
+ }>;
4
35
  /**
5
36
  * @class Reachability
6
37
  * @export
7
38
  */
8
39
  export default class Reachability {
40
+ namespace: string;
9
41
  webex: object;
10
- reachabilityRequest: any;
11
- clusterLatencyResults: any;
42
+ reachabilityRequest: ReachabilityRequest;
43
+ clusterReachability: {
44
+ [key: string]: ClusterReachability;
45
+ };
12
46
  /**
13
47
  * Creates an instance of Reachability.
14
48
  * @param {object} webex
@@ -16,87 +50,45 @@ export default class Reachability {
16
50
  */
17
51
  constructor(webex: object);
18
52
  /**
19
- * fetches reachability data
20
- * @returns {Object} reachability data
21
- * @public
22
- * @async
23
- * @memberof Reachability
24
- */
25
- gatherReachability(): Promise<unknown>;
26
- /**
27
- * fetches reachability data and checks for cluster reachability
28
- * @returns {boolean}
53
+ * Gets a list of media clusters from the backend and performs reachability checks on all the clusters
54
+ * @returns {Promise<ReachabilityResults>} reachability results
29
55
  * @public
30
56
  * @memberof Reachability
31
57
  */
32
- isAnyClusterReachable(): boolean;
58
+ gatherReachability(): Promise<ReachabilityResults>;
33
59
  /**
34
- * Generate peerConnection config settings
35
- * @param {object} cluster
36
- * @returns {object} peerConnectionConfig
37
- * @private
38
- * @memberof Reachability
60
+ * Returns statistics about last reachability results. The returned value is an object
61
+ * with a flat list of properties so that it can be easily sent with metrics
62
+ *
63
+ * @returns {Promise} Promise with metrics values, it never rejects/throws.
39
64
  */
40
- private buildPeerConnectionConfig;
65
+ getReachabilityMetrics(): Promise<ReachabilityMetrics>;
41
66
  /**
42
- * Creates an RTCPeerConnection
43
- * @param {object} cluster
44
- * @returns {RTCPeerConnection} peerConnection
45
- * @private
46
- * @memberof Reachability
67
+ * Maps our internal transport result to the format that backend expects
68
+ * @param {TransportResult} transportResult
69
+ * @returns {TransportResultForBackend}
47
70
  */
48
- private createPeerConnection;
71
+ private mapTransportResultToBackendDataFormat;
49
72
  /**
50
- * Gets total elapsed time
51
- * @param {RTCPeerConnection} peerConnection
52
- * @returns {Number} Milliseconds
53
- * @private
54
- * @memberof Reachability
73
+ * Reachability results as an object in the format that backend expects
74
+ *
75
+ * @returns {any} reachability results that need to be sent to the backend
55
76
  */
56
- private getElapsedTime;
77
+ getReachabilityResults(): Promise<ReachabilityResultsForBackend | undefined>;
57
78
  /**
58
- * creates offer and generates localSDP
59
- * @param {object} clusterList cluster List
60
- * @returns {Promise} Reachability latency results
61
- * @private
79
+ * fetches reachability data and checks for cluster reachability
80
+ * @returns {boolean}
81
+ * @public
62
82
  * @memberof Reachability
63
83
  */
64
- private getLocalSDPForClusters;
84
+ isAnyPublicClusterReachable(): Promise<boolean>;
65
85
  /**
66
86
  * Get list of all unreachable clusters
67
87
  * @returns {array} Unreachable clusters
68
88
  * @private
69
89
  * @memberof Reachability
70
90
  */
71
- private getUnreachablClusters;
72
- /**
73
- * Attach an event handler for the icegatheringstatechange
74
- * event and measure latency.
75
- * @param {RTCPeerConnection} peerConnection
76
- * @returns {undefined}
77
- * @private
78
- * @memberof Reachability
79
- */
80
- private handleIceGatheringStateChange;
81
- /**
82
- * Attach an event handler for the icecandidate
83
- * event and measure latency.
84
- * @param {RTCPeerConnection} peerConnection
85
- * @returns {undefined}
86
- * @private
87
- * @memberof Reachability
88
- */
89
- private handleOnIceCandidate;
90
- /**
91
- * An event handler on an RTCPeerConnection when the state of the ICE
92
- * candidate gathering process changes. Used to measure connection
93
- * speed.
94
- * @private
95
- * @param {RTCPeerConnection} peerConnection
96
- * @param {number} timeout
97
- * @returns {Promise}
98
- */
99
- private iceGatheringState;
91
+ private getUnreachableClusters;
100
92
  /**
101
93
  * Make a log of unreachable clusters.
102
94
  * @returns {undefined}
@@ -105,35 +97,9 @@ export default class Reachability {
105
97
  */
106
98
  private logUnreachableClusters;
107
99
  /**
108
- * Calculates time to establish connection
109
- * @param {array} iceResults iceResults
110
- * @returns {object} reachabilityMap
111
- * @private
112
- * @memberof Reachability
113
- */
114
- private parseIceResultsToReachabilityResults;
115
- /**
116
- * fetches reachability data
117
- * @param {object} clusterList
118
- * @returns {Promise<localSDPData>} reachability check results
119
- * @private
120
- * @memberof Reachability
121
- */
122
- private performReachabilityCheck;
123
- /**
124
- * Records latency and closes the peerConnection
125
- * @param {RTCPeerConnection} peerConnection
126
- * @param {number} elapsed Latency in milliseconds
127
- * @returns {undefined}
128
- * @private
129
- * @memberof Reachability
130
- */
131
- private setLatencyAndClose;
132
- /**
133
- * utility function
134
- * @returns {undefined}
135
- * @private
136
- * @memberof Reachability
100
+ * Performs reachability checks for all clusters
101
+ * @param {ClusterList} clusterList
102
+ * @returns {Promise<ReachabilityResults>} reachability check results
137
103
  */
138
- private setup;
104
+ private performReachabilityChecks;
139
105
  }