@webex/plugin-meetings 3.0.0-beta.2 → 3.0.0-beta.200

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 (576) hide show
  1. package/README.md +45 -7
  2. package/UPGRADING.md +9 -9
  3. package/browsers.js +19 -24
  4. package/dist/annotation/annotation.types.js +7 -0
  5. package/dist/annotation/annotation.types.js.map +1 -0
  6. package/dist/annotation/constants.js +49 -0
  7. package/dist/annotation/constants.js.map +1 -0
  8. package/dist/annotation/index.js +342 -0
  9. package/dist/annotation/index.js.map +1 -0
  10. package/dist/breakouts/breakout.js +216 -0
  11. package/dist/breakouts/breakout.js.map +1 -0
  12. package/dist/breakouts/collection.js +23 -0
  13. package/dist/breakouts/collection.js.map +1 -0
  14. package/dist/breakouts/edit-lock-error.js +52 -0
  15. package/dist/breakouts/edit-lock-error.js.map +1 -0
  16. package/dist/breakouts/events.js +45 -0
  17. package/dist/breakouts/events.js.map +1 -0
  18. package/dist/breakouts/index.js +1048 -0
  19. package/dist/breakouts/index.js.map +1 -0
  20. package/dist/breakouts/request.js +78 -0
  21. package/dist/breakouts/request.js.map +1 -0
  22. package/dist/breakouts/utils.js +67 -0
  23. package/dist/breakouts/utils.js.map +1 -0
  24. package/dist/common/browser-detection.js +1 -20
  25. package/dist/common/browser-detection.js.map +1 -1
  26. package/dist/common/collection.js +5 -20
  27. package/dist/common/collection.js.map +1 -1
  28. package/dist/common/config.js +0 -7
  29. package/dist/common/config.js.map +1 -1
  30. package/dist/common/errors/captcha-error.js +10 -24
  31. package/dist/common/errors/captcha-error.js.map +1 -1
  32. package/dist/common/errors/intent-to-join.js +11 -24
  33. package/dist/common/errors/intent-to-join.js.map +1 -1
  34. package/dist/common/errors/join-meeting.js +12 -25
  35. package/dist/common/errors/join-meeting.js.map +1 -1
  36. package/dist/common/errors/media.js +10 -24
  37. package/dist/common/errors/media.js.map +1 -1
  38. package/dist/common/errors/parameter.js +5 -33
  39. package/dist/common/errors/parameter.js.map +1 -1
  40. package/dist/common/errors/password-error.js +10 -24
  41. package/dist/common/errors/password-error.js.map +1 -1
  42. package/dist/common/errors/permission.js +9 -23
  43. package/dist/common/errors/permission.js.map +1 -1
  44. package/dist/common/errors/reconnection-in-progress.js +0 -17
  45. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  46. package/dist/common/errors/reconnection.js +10 -24
  47. package/dist/common/errors/reconnection.js.map +1 -1
  48. package/dist/common/errors/stats.js +10 -24
  49. package/dist/common/errors/stats.js.map +1 -1
  50. package/dist/common/errors/webex-errors.js +9 -43
  51. package/dist/common/errors/webex-errors.js.map +1 -1
  52. package/dist/common/errors/webex-meetings-error.js +5 -25
  53. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  54. package/dist/common/events/events-scope.js +0 -22
  55. package/dist/common/events/events-scope.js.map +1 -1
  56. package/dist/common/events/events.js +0 -23
  57. package/dist/common/events/events.js.map +1 -1
  58. package/dist/common/events/trigger-proxy.js +0 -12
  59. package/dist/common/events/trigger-proxy.js.map +1 -1
  60. package/dist/common/events/util.js +0 -15
  61. package/dist/common/events/util.js.map +1 -1
  62. package/dist/common/logs/logger-config.js +0 -4
  63. package/dist/common/logs/logger-config.js.map +1 -1
  64. package/dist/common/logs/logger-proxy.js +1 -8
  65. package/dist/common/logs/logger-proxy.js.map +1 -1
  66. package/dist/common/logs/request.js +37 -60
  67. package/dist/common/logs/request.js.map +1 -1
  68. package/dist/common/queue.js +28 -23
  69. package/dist/common/queue.js.map +1 -1
  70. package/dist/config.js +8 -13
  71. package/dist/config.js.map +1 -1
  72. package/dist/constants.js +250 -66
  73. package/dist/constants.js.map +1 -1
  74. package/dist/controls-options-manager/constants.js +14 -0
  75. package/dist/controls-options-manager/constants.js.map +1 -0
  76. package/dist/controls-options-manager/enums.js +27 -0
  77. package/dist/controls-options-manager/enums.js.map +1 -0
  78. package/dist/controls-options-manager/index.js +297 -0
  79. package/dist/controls-options-manager/index.js.map +1 -0
  80. package/dist/controls-options-manager/types.js +7 -0
  81. package/dist/controls-options-manager/types.js.map +1 -0
  82. package/dist/controls-options-manager/util.js +319 -0
  83. package/dist/controls-options-manager/util.js.map +1 -0
  84. package/dist/index.js +108 -17
  85. package/dist/index.js.map +1 -1
  86. package/dist/interpretation/collection.js +23 -0
  87. package/dist/interpretation/collection.js.map +1 -0
  88. package/dist/interpretation/index.js +366 -0
  89. package/dist/interpretation/index.js.map +1 -0
  90. package/dist/interpretation/siLanguage.js +25 -0
  91. package/dist/interpretation/siLanguage.js.map +1 -0
  92. package/dist/locus-info/controlsUtils.js +101 -29
  93. package/dist/locus-info/controlsUtils.js.map +1 -1
  94. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  95. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  96. package/dist/locus-info/fullState.js +0 -15
  97. package/dist/locus-info/fullState.js.map +1 -1
  98. package/dist/locus-info/hostUtils.js +4 -12
  99. package/dist/locus-info/hostUtils.js.map +1 -1
  100. package/dist/locus-info/index.js +532 -240
  101. package/dist/locus-info/index.js.map +1 -1
  102. package/dist/locus-info/infoUtils.js +3 -37
  103. package/dist/locus-info/infoUtils.js.map +1 -1
  104. package/dist/locus-info/mediaSharesUtils.js +54 -38
  105. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  106. package/dist/locus-info/parser.js +284 -154
  107. package/dist/locus-info/parser.js.map +1 -1
  108. package/dist/locus-info/selfUtils.js +110 -92
  109. package/dist/locus-info/selfUtils.js.map +1 -1
  110. package/dist/media/index.js +95 -226
  111. package/dist/media/index.js.map +1 -1
  112. package/dist/media/properties.js +99 -194
  113. package/dist/media/properties.js.map +1 -1
  114. package/dist/media/util.js +2 -9
  115. package/dist/media/util.js.map +1 -1
  116. package/dist/mediaQualityMetrics/config.js +505 -495
  117. package/dist/mediaQualityMetrics/config.js.map +1 -1
  118. package/dist/meeting/in-meeting-actions.js +83 -14
  119. package/dist/meeting/in-meeting-actions.js.map +1 -1
  120. package/dist/meeting/index.js +3478 -3563
  121. package/dist/meeting/index.js.map +1 -1
  122. package/dist/meeting/locusMediaRequest.js +291 -0
  123. package/dist/meeting/locusMediaRequest.js.map +1 -0
  124. package/dist/meeting/muteState.js +247 -183
  125. package/dist/meeting/muteState.js.map +1 -1
  126. package/dist/meeting/request.js +344 -344
  127. package/dist/meeting/request.js.map +1 -1
  128. package/dist/meeting/request.type.js +7 -0
  129. package/dist/meeting/request.type.js.map +1 -0
  130. package/dist/meeting/state.js +21 -31
  131. package/dist/meeting/state.js.map +1 -1
  132. package/dist/meeting/util.js +529 -588
  133. package/dist/meeting/util.js.map +1 -1
  134. package/dist/meeting-info/collection.js +6 -25
  135. package/dist/meeting-info/collection.js.map +1 -1
  136. package/dist/meeting-info/index.js +62 -39
  137. package/dist/meeting-info/index.js.map +1 -1
  138. package/dist/meeting-info/meeting-info-v2.js +328 -283
  139. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  140. package/dist/meeting-info/request.js +3 -15
  141. package/dist/meeting-info/request.js.map +1 -1
  142. package/dist/meeting-info/util.js +98 -183
  143. package/dist/meeting-info/util.js.map +1 -1
  144. package/dist/meeting-info/utilv2.js +156 -232
  145. package/dist/meeting-info/utilv2.js.map +1 -1
  146. package/dist/meetings/collection.js +26 -19
  147. package/dist/meetings/collection.js.map +1 -1
  148. package/dist/meetings/index.js +795 -574
  149. package/dist/meetings/index.js.map +1 -1
  150. package/dist/meetings/meetings.types.js +7 -0
  151. package/dist/meetings/meetings.types.js.map +1 -0
  152. package/dist/meetings/request.js +26 -41
  153. package/dist/meetings/request.js.map +1 -1
  154. package/dist/meetings/util.js +186 -155
  155. package/dist/meetings/util.js.map +1 -1
  156. package/dist/member/index.js +126 -85
  157. package/dist/member/index.js.map +1 -1
  158. package/dist/member/types.js +25 -0
  159. package/dist/member/types.js.map +1 -0
  160. package/dist/member/util.js +147 -88
  161. package/dist/member/util.js.map +1 -1
  162. package/dist/members/collection.js +13 -12
  163. package/dist/members/collection.js.map +1 -1
  164. package/dist/members/index.js +178 -204
  165. package/dist/members/index.js.map +1 -1
  166. package/dist/members/request.js +113 -68
  167. package/dist/members/request.js.map +1 -1
  168. package/dist/members/types.js +15 -0
  169. package/dist/members/types.js.map +1 -0
  170. package/dist/members/util.js +314 -260
  171. package/dist/members/util.js.map +1 -1
  172. package/dist/metrics/constants.js +4 -7
  173. package/dist/metrics/constants.js.map +1 -1
  174. package/dist/metrics/index.js +11 -558
  175. package/dist/metrics/index.js.map +1 -1
  176. package/dist/multistream/mediaRequestManager.js +264 -50
  177. package/dist/multistream/mediaRequestManager.js.map +1 -1
  178. package/dist/multistream/receiveSlot.js +58 -65
  179. package/dist/multistream/receiveSlot.js.map +1 -1
  180. package/dist/multistream/receiveSlotManager.js +76 -95
  181. package/dist/multistream/receiveSlotManager.js.map +1 -1
  182. package/dist/multistream/remoteMedia.js +62 -76
  183. package/dist/multistream/remoteMedia.js.map +1 -1
  184. package/dist/multistream/remoteMediaGroup.js +66 -43
  185. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  186. package/dist/multistream/remoteMediaManager.js +502 -442
  187. package/dist/multistream/remoteMediaManager.js.map +1 -1
  188. package/dist/networkQualityMonitor/index.js +40 -59
  189. package/dist/networkQualityMonitor/index.js.map +1 -1
  190. package/dist/personal-meeting-room/index.js +21 -45
  191. package/dist/personal-meeting-room/index.js.map +1 -1
  192. package/dist/personal-meeting-room/request.js +1 -31
  193. package/dist/personal-meeting-room/request.js.map +1 -1
  194. package/dist/personal-meeting-room/util.js +0 -13
  195. package/dist/personal-meeting-room/util.js.map +1 -1
  196. package/dist/reachability/index.js +192 -191
  197. package/dist/reachability/index.js.map +1 -1
  198. package/dist/reachability/request.js +15 -23
  199. package/dist/reachability/request.js.map +1 -1
  200. package/dist/reactions/constants.js +13 -0
  201. package/dist/reactions/constants.js.map +1 -0
  202. package/dist/reactions/reactions.js +109 -0
  203. package/dist/reactions/reactions.js.map +1 -0
  204. package/dist/reactions/reactions.type.js +36 -0
  205. package/dist/reactions/reactions.type.js.map +1 -0
  206. package/dist/reconnection-manager/index.js +384 -476
  207. package/dist/reconnection-manager/index.js.map +1 -1
  208. package/dist/recording-controller/enums.js +17 -0
  209. package/dist/recording-controller/enums.js.map +1 -0
  210. package/dist/recording-controller/index.js +363 -0
  211. package/dist/recording-controller/index.js.map +1 -0
  212. package/dist/recording-controller/util.js +64 -0
  213. package/dist/recording-controller/util.js.map +1 -0
  214. package/dist/roap/index.js +58 -91
  215. package/dist/roap/index.js.map +1 -1
  216. package/dist/roap/request.js +137 -135
  217. package/dist/roap/request.js.map +1 -1
  218. package/dist/roap/turnDiscovery.js +148 -100
  219. package/dist/roap/turnDiscovery.js.map +1 -1
  220. package/dist/rtcMetrics/constants.js +12 -0
  221. package/dist/rtcMetrics/constants.js.map +1 -0
  222. package/dist/rtcMetrics/index.js +115 -0
  223. package/dist/rtcMetrics/index.js.map +1 -0
  224. package/dist/statsAnalyzer/global.js +1 -95
  225. package/dist/statsAnalyzer/global.js.map +1 -1
  226. package/dist/statsAnalyzer/index.js +385 -460
  227. package/dist/statsAnalyzer/index.js.map +1 -1
  228. package/dist/statsAnalyzer/mqaUtil.js +143 -87
  229. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  230. package/dist/transcription/index.js +22 -47
  231. package/dist/transcription/index.js.map +1 -1
  232. package/dist/types/annotation/annotation.types.d.ts +42 -0
  233. package/dist/types/annotation/constants.d.ts +31 -0
  234. package/dist/types/annotation/index.d.ts +117 -0
  235. package/dist/types/breakouts/breakout.d.ts +8 -0
  236. package/dist/types/breakouts/collection.d.ts +5 -0
  237. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  238. package/dist/types/breakouts/events.d.ts +8 -0
  239. package/dist/types/breakouts/index.d.ts +5 -0
  240. package/dist/types/breakouts/request.d.ts +22 -0
  241. package/dist/types/breakouts/utils.d.ts +15 -0
  242. package/dist/types/common/browser-detection.d.ts +9 -0
  243. package/dist/types/common/collection.d.ts +48 -0
  244. package/dist/types/common/config.d.ts +2 -0
  245. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  246. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  247. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  248. package/dist/types/common/errors/media.d.ts +15 -0
  249. package/dist/types/common/errors/parameter.d.ts +15 -0
  250. package/dist/types/common/errors/password-error.d.ts +15 -0
  251. package/dist/types/common/errors/permission.d.ts +14 -0
  252. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  253. package/dist/types/common/errors/reconnection.d.ts +15 -0
  254. package/dist/types/common/errors/stats.d.ts +15 -0
  255. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  256. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  257. package/dist/types/common/events/events-scope.d.ts +17 -0
  258. package/dist/types/common/events/events.d.ts +12 -0
  259. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  260. package/dist/types/common/events/util.d.ts +2 -0
  261. package/dist/types/common/logs/logger-config.d.ts +2 -0
  262. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  263. package/dist/types/common/logs/request.d.ts +34 -0
  264. package/dist/types/common/queue.d.ts +34 -0
  265. package/dist/types/config.d.ts +72 -0
  266. package/dist/types/constants.d.ts +1016 -0
  267. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  268. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  269. package/dist/types/controls-options-manager/index.d.ts +136 -0
  270. package/dist/types/controls-options-manager/types.d.ts +43 -0
  271. package/dist/types/controls-options-manager/util.d.ts +1 -0
  272. package/dist/types/index.d.ts +7 -0
  273. package/dist/types/interpretation/collection.d.ts +5 -0
  274. package/dist/types/interpretation/index.d.ts +5 -0
  275. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  276. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  277. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  278. package/dist/types/locus-info/fullState.d.ts +2 -0
  279. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  280. package/dist/types/locus-info/index.d.ts +322 -0
  281. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  282. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  283. package/dist/types/locus-info/parser.d.ts +271 -0
  284. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  285. package/dist/types/media/index.d.ts +34 -0
  286. package/dist/types/media/properties.d.ts +93 -0
  287. package/dist/types/media/util.d.ts +2 -0
  288. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  289. package/dist/types/meeting/in-meeting-actions.d.ts +153 -0
  290. package/dist/types/meeting/index.d.ts +1471 -0
  291. package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
  292. package/dist/types/meeting/muteState.d.ts +184 -0
  293. package/dist/types/meeting/request.d.ts +257 -0
  294. package/dist/types/meeting/request.type.d.ts +11 -0
  295. package/dist/types/meeting/state.d.ts +9 -0
  296. package/dist/types/meeting/util.d.ts +78 -0
  297. package/dist/types/meeting-info/collection.d.ts +20 -0
  298. package/dist/types/meeting-info/index.d.ts +62 -0
  299. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  300. package/dist/types/meeting-info/request.d.ts +22 -0
  301. package/dist/types/meeting-info/util.d.ts +2 -0
  302. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  303. package/dist/types/meetings/collection.d.ts +31 -0
  304. package/dist/types/meetings/index.d.ts +367 -0
  305. package/dist/types/meetings/meetings.types.d.ts +4 -0
  306. package/dist/types/meetings/request.d.ts +27 -0
  307. package/dist/types/meetings/util.d.ts +18 -0
  308. package/dist/types/member/index.d.ts +159 -0
  309. package/dist/types/member/types.d.ts +32 -0
  310. package/dist/types/member/util.d.ts +2 -0
  311. package/dist/types/members/collection.d.ts +29 -0
  312. package/dist/types/members/index.d.ts +353 -0
  313. package/dist/types/members/request.d.ts +114 -0
  314. package/dist/types/members/types.d.ts +24 -0
  315. package/dist/types/members/util.d.ts +210 -0
  316. package/dist/types/metrics/constants.d.ts +55 -0
  317. package/dist/types/metrics/index.d.ts +45 -0
  318. package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
  319. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  320. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  321. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  322. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  323. package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
  324. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  325. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  326. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  327. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  328. package/dist/types/reachability/index.d.ts +152 -0
  329. package/dist/types/reachability/request.d.ts +37 -0
  330. package/dist/types/reactions/constants.d.ts +3 -0
  331. package/dist/types/reactions/reactions.d.ts +4 -0
  332. package/dist/types/reactions/reactions.type.d.ts +52 -0
  333. package/dist/types/reconnection-manager/index.d.ts +126 -0
  334. package/dist/types/recording-controller/enums.d.ts +7 -0
  335. package/dist/types/recording-controller/index.d.ts +208 -0
  336. package/dist/types/recording-controller/util.d.ts +14 -0
  337. package/dist/types/roap/index.d.ts +77 -0
  338. package/dist/types/roap/request.d.ts +36 -0
  339. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  340. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  341. package/dist/types/rtcMetrics/index.d.ts +46 -0
  342. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  343. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  344. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  345. package/dist/types/transcription/index.d.ts +64 -0
  346. package/internal-README.md +7 -6
  347. package/package.json +29 -21
  348. package/src/annotation/annotation.types.ts +50 -0
  349. package/src/annotation/constants.ts +36 -0
  350. package/src/annotation/index.ts +328 -0
  351. package/src/breakouts/README.md +220 -0
  352. package/src/breakouts/breakout.ts +188 -0
  353. package/src/breakouts/collection.ts +19 -0
  354. package/src/breakouts/edit-lock-error.ts +25 -0
  355. package/src/breakouts/events.ts +56 -0
  356. package/src/breakouts/index.ts +925 -0
  357. package/src/breakouts/request.ts +55 -0
  358. package/src/breakouts/utils.ts +57 -0
  359. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  360. package/src/common/collection.ts +9 -7
  361. package/src/common/{config.js → config.ts} +1 -1
  362. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  363. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  364. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  365. package/src/common/errors/{media.js → media.ts} +11 -7
  366. package/src/common/errors/parameter.ts +11 -7
  367. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  368. package/src/common/errors/{permission.js → permission.ts} +10 -6
  369. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  370. package/src/common/errors/{stats.js → stats.ts} +11 -7
  371. package/src/common/errors/{webex-errors.js → webex-errors.ts} +14 -9
  372. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  373. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  374. package/src/common/events/{events.js → events.ts} +5 -1
  375. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  376. package/src/common/events/{util.js → util.ts} +2 -3
  377. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  378. package/src/common/logs/logger-proxy.ts +44 -0
  379. package/src/common/logs/{request.js → request.ts} +22 -9
  380. package/src/common/queue.ts +22 -9
  381. package/src/{config.js → config.ts} +17 -17
  382. package/src/constants.ts +197 -22
  383. package/src/controls-options-manager/constants.ts +5 -0
  384. package/src/controls-options-manager/enums.ts +18 -0
  385. package/src/controls-options-manager/index.ts +278 -0
  386. package/src/controls-options-manager/types.ts +59 -0
  387. package/src/controls-options-manager/util.ts +300 -0
  388. package/src/index.ts +39 -0
  389. package/src/interpretation/README.md +60 -0
  390. package/src/interpretation/collection.ts +19 -0
  391. package/src/interpretation/index.ts +332 -0
  392. package/src/interpretation/siLanguage.ts +18 -0
  393. package/src/locus-info/controlsUtils.ts +222 -0
  394. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  395. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  396. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  397. package/src/locus-info/{index.js → index.ts} +518 -111
  398. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  399. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +65 -17
  400. package/src/locus-info/{parser.js → parser.ts} +271 -98
  401. package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
  402. package/src/media/index.ts +456 -0
  403. package/src/media/{properties.js → properties.ts} +80 -102
  404. package/src/media/{util.js → util.ts} +2 -2
  405. package/src/mediaQualityMetrics/config.ts +384 -0
  406. package/src/meeting/in-meeting-actions.ts +171 -3
  407. package/src/meeting/index.ts +7070 -0
  408. package/src/meeting/locusMediaRequest.ts +309 -0
  409. package/src/meeting/muteState.ts +450 -0
  410. package/src/meeting/{request.js → request.ts} +354 -214
  411. package/src/meeting/request.type.ts +13 -0
  412. package/src/meeting/{state.js → state.ts} +50 -35
  413. package/src/meeting/util.ts +615 -0
  414. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  415. package/src/meeting-info/index.ts +183 -0
  416. package/src/meeting-info/meeting-info-v2.ts +407 -0
  417. package/src/meeting-info/{request.js → request.ts} +14 -4
  418. package/src/meeting-info/{util.js → util.ts} +60 -51
  419. package/src/meeting-info/{utilv2.js → utilv2.ts} +77 -60
  420. package/src/meetings/{collection.js → collection.ts} +26 -3
  421. package/src/meetings/index.ts +1467 -0
  422. package/src/meetings/meetings.types.ts +12 -0
  423. package/src/meetings/{request.js → request.ts} +34 -25
  424. package/src/meetings/{util.js → util.ts} +137 -36
  425. package/src/member/{index.js → index.ts} +151 -56
  426. package/src/member/types.ts +38 -0
  427. package/src/member/util.ts +383 -0
  428. package/src/members/{collection.js → collection.ts} +10 -2
  429. package/src/members/{index.js → index.ts} +323 -145
  430. package/src/members/request.ts +255 -0
  431. package/src/members/types.ts +28 -0
  432. package/src/members/util.ts +339 -0
  433. package/src/metrics/{constants.js → constants.ts} +2 -6
  434. package/src/metrics/index.ts +73 -0
  435. package/src/multistream/mediaRequestManager.ts +337 -61
  436. package/src/multistream/receiveSlot.ts +69 -26
  437. package/src/multistream/receiveSlotManager.ts +66 -42
  438. package/src/multistream/remoteMedia.ts +40 -5
  439. package/src/multistream/remoteMediaGroup.ts +63 -3
  440. package/src/multistream/remoteMediaManager.ts +263 -66
  441. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  442. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  443. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  444. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  445. package/src/reachability/{index.js → index.ts} +157 -94
  446. package/src/reachability/request.ts +46 -35
  447. package/src/reactions/constants.ts +4 -0
  448. package/src/reactions/reactions.ts +104 -0
  449. package/src/reactions/reactions.type.ts +62 -0
  450. package/src/reconnection-manager/{index.js → index.ts} +254 -136
  451. package/src/recording-controller/enums.ts +8 -0
  452. package/src/recording-controller/index.ts +333 -0
  453. package/src/recording-controller/util.ts +75 -0
  454. package/src/roap/{index.js → index.ts} +86 -78
  455. package/src/roap/request.ts +163 -0
  456. package/src/roap/turnDiscovery.ts +111 -49
  457. package/src/rtcMetrics/constants.ts +3 -0
  458. package/src/rtcMetrics/index.ts +96 -0
  459. package/src/statsAnalyzer/global.ts +37 -0
  460. package/src/statsAnalyzer/index.ts +1272 -0
  461. package/src/statsAnalyzer/mqaUtil.ts +291 -0
  462. package/src/transcription/{index.js → index.ts} +46 -39
  463. package/test/integration/spec/converged-space-meetings.js +233 -0
  464. package/test/integration/spec/journey.js +804 -526
  465. package/test/integration/spec/space-meeting.js +391 -204
  466. package/test/integration/spec/transcription.js +7 -8
  467. package/test/unit/spec/annotation/index.ts +418 -0
  468. package/test/unit/spec/breakouts/breakout.ts +237 -0
  469. package/test/unit/spec/breakouts/collection.ts +15 -0
  470. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  471. package/test/unit/spec/breakouts/events.ts +89 -0
  472. package/test/unit/spec/breakouts/index.ts +1790 -0
  473. package/test/unit/spec/breakouts/request.ts +104 -0
  474. package/test/unit/spec/breakouts/utils.js +72 -0
  475. package/test/unit/spec/common/browser-detection.js +9 -28
  476. package/test/unit/spec/common/queue.js +31 -2
  477. package/test/unit/spec/controls-options-manager/index.js +287 -0
  478. package/test/unit/spec/controls-options-manager/util.js +582 -0
  479. package/test/unit/spec/fixture/locus.js +93 -90
  480. package/test/unit/spec/interpretation/collection.ts +15 -0
  481. package/test/unit/spec/interpretation/index.ts +589 -0
  482. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  483. package/test/unit/spec/locus-info/controlsUtils.js +325 -32
  484. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  485. package/test/unit/spec/locus-info/index.js +1176 -18
  486. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  487. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  488. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  489. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  490. package/test/unit/spec/locus-info/parser.js +65 -31
  491. package/test/unit/spec/locus-info/selfConstant.js +120 -103
  492. package/test/unit/spec/locus-info/selfUtils.js +296 -12
  493. package/test/unit/spec/media/index.ts +162 -68
  494. package/test/unit/spec/media/properties.ts +9 -9
  495. package/test/unit/spec/meeting/in-meeting-actions.ts +82 -3
  496. package/test/unit/spec/meeting/index.js +4569 -1773
  497. package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
  498. package/test/unit/spec/meeting/muteState.js +382 -211
  499. package/test/unit/spec/meeting/request.js +444 -78
  500. package/test/unit/spec/meeting/utils.js +517 -192
  501. package/test/unit/spec/meeting-info/index.js +181 -0
  502. package/test/unit/spec/meeting-info/meetinginfov2.js +481 -76
  503. package/test/unit/spec/meeting-info/request.js +7 -9
  504. package/test/unit/spec/meeting-info/util.js +11 -12
  505. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  506. package/test/unit/spec/meetings/collection.js +15 -1
  507. package/test/unit/spec/meetings/index.js +1254 -330
  508. package/test/unit/spec/meetings/utils.js +220 -14
  509. package/test/unit/spec/member/index.js +58 -5
  510. package/test/unit/spec/member/util.js +494 -26
  511. package/test/unit/spec/members/index.js +423 -55
  512. package/test/unit/spec/members/request.js +228 -40
  513. package/test/unit/spec/members/utils.js +191 -4
  514. package/test/unit/spec/metrics/index.js +12 -66
  515. package/test/unit/spec/multistream/mediaRequestManager.ts +1013 -106
  516. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  517. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  518. package/test/unit/spec/multistream/remoteMedia.ts +40 -2
  519. package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
  520. package/test/unit/spec/multistream/remoteMediaManager.ts +730 -65
  521. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  522. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  523. package/test/unit/spec/reachability/index.ts +176 -27
  524. package/test/unit/spec/reachability/request.js +66 -0
  525. package/test/unit/spec/reconnection-manager/index.js +155 -9
  526. package/test/unit/spec/recording-controller/index.js +307 -0
  527. package/test/unit/spec/recording-controller/util.js +229 -0
  528. package/test/unit/spec/roap/index.ts +28 -52
  529. package/test/unit/spec/roap/request.ts +225 -0
  530. package/test/unit/spec/roap/turnDiscovery.ts +92 -50
  531. package/test/unit/spec/rtcMetrics/index.ts +60 -0
  532. package/test/unit/spec/stats-analyzer/index.js +116 -60
  533. package/test/utils/cmr.js +44 -42
  534. package/test/utils/constants.js +9 -0
  535. package/test/utils/integrationTestUtils.js +46 -0
  536. package/test/utils/testUtils.js +63 -99
  537. package/test/utils/webex-config.js +22 -18
  538. package/test/utils/webex-test-users.js +57 -50
  539. package/tsconfig.json +6 -0
  540. package/dist/media/internal-media-core-wrapper.js +0 -22
  541. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  542. package/dist/meeting/effectsState.js +0 -327
  543. package/dist/meeting/effectsState.js.map +0 -1
  544. package/dist/metrics/config.js +0 -301
  545. package/dist/metrics/config.js.map +0 -1
  546. package/dist/multistream/multistreamMedia.js +0 -116
  547. package/dist/multistream/multistreamMedia.js.map +0 -1
  548. package/dist/peer-connection-manager/util.js +0 -124
  549. package/dist/peer-connection-manager/util.js.map +0 -1
  550. package/src/common/logs/logger-proxy.js +0 -33
  551. package/src/index.js +0 -15
  552. package/src/locus-info/controlsUtils.js +0 -102
  553. package/src/media/index.js +0 -459
  554. package/src/media/internal-media-core-wrapper.ts +0 -9
  555. package/src/mediaQualityMetrics/config.js +0 -382
  556. package/src/meeting/effectsState.js +0 -205
  557. package/src/meeting/index.js +0 -6284
  558. package/src/meeting/muteState.js +0 -318
  559. package/src/meeting/util.js +0 -506
  560. package/src/meeting-info/index.js +0 -131
  561. package/src/meeting-info/meeting-info-v2.js +0 -255
  562. package/src/meetings/index.js +0 -1015
  563. package/src/member/util.js +0 -254
  564. package/src/members/request.js +0 -131
  565. package/src/members/util.js +0 -258
  566. package/src/metrics/config.js +0 -324
  567. package/src/metrics/index.js +0 -530
  568. package/src/multistream/multistreamMedia.ts +0 -92
  569. package/src/peer-connection-manager/util.ts +0 -117
  570. package/src/roap/request.js +0 -127
  571. package/src/statsAnalyzer/global.js +0 -133
  572. package/src/statsAnalyzer/index.js +0 -1006
  573. package/src/statsAnalyzer/mqaUtil.js +0 -173
  574. package/test/unit/spec/meeting/effectsState.js +0 -291
  575. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  576. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -0,0 +1,126 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ import Meeting from '../meeting';
5
+ /**
6
+ * @export
7
+ * @class ReconnectionManager
8
+ */
9
+ export default class ReconnectionManager {
10
+ autoRejoinEnabled: any;
11
+ iceState: any;
12
+ maxRejoinAttempts: any;
13
+ meeting: any;
14
+ rejoinAttempts: any;
15
+ shareStatus: any;
16
+ status: any;
17
+ tryCount: any;
18
+ webex: any;
19
+ /**
20
+ * @param {Meeting} meeting
21
+ */
22
+ constructor(meeting: Meeting);
23
+ /**
24
+ * @public
25
+ * @memberof ReconnectionManager
26
+ * @returns {void}
27
+ */
28
+ resetReconnectionTimer(): void;
29
+ /**
30
+ * Sets the iceState to connected and clears any disconnect timeouts and
31
+ * related timeout data within the iceState.
32
+ *
33
+ * @returns {undefined}
34
+ * @public
35
+ * @memberof ReconnectionManager
36
+ */
37
+ iceReconnected(): void;
38
+ /**
39
+ * Set the iceState to disconnected and generates a timeout that waits for the
40
+ * iceState to reconnect and then resolves. If the ice state is already
41
+ * processing a reconnect, it immediately resolves. Rejects if the timeout
42
+ * duration is reached.
43
+ *
44
+ * @returns {Promise<undefined>}
45
+ * @public
46
+ * @memberof ReconnectionManager
47
+ */
48
+ waitForIceReconnect(): Promise<void>;
49
+ /**
50
+ * @returns {undefined}
51
+ * @public
52
+ * @memberof ReconnectionManager
53
+ */
54
+ reset(): void;
55
+ /**
56
+ * @returns {undefined}
57
+ * @public
58
+ * @memberof ReconnectionManager
59
+ */
60
+ cleanUp(): void;
61
+ /**
62
+ * Stop the local share track.
63
+ *
64
+ * @param {string} reason a {@link SHARE_STOPPED_REASON}
65
+ * @returns {undefined}
66
+ * @private
67
+ * @memberof ReconnectionManager
68
+ */
69
+ private stopLocalShareTrack;
70
+ /**
71
+ * @public
72
+ * @memberof ReconnectionManager
73
+ * @returns {Boolean} true if reconnection operation is in progress
74
+ */
75
+ isReconnectInProgress(): boolean;
76
+ /**
77
+ * @returns {Boolean}
78
+ * @throws {ReconnectionError}
79
+ * @private
80
+ * @memberof ReconnectionManager
81
+ */
82
+ private validate;
83
+ /**
84
+ * Initiates a media reconnect for the active meeting
85
+ * @param {Object} reconnectOptions
86
+ * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
87
+ * @param {boolean} [reconnectOptions.networkRetry=false] indicates if we are retrying the reconnect
88
+ * @returns {Promise}
89
+ * @public
90
+ * @memberof ReconnectionManager
91
+ */
92
+ reconnect({ networkDisconnect, networkRetry, }?: {
93
+ networkDisconnect?: boolean;
94
+ networkRetry?: boolean;
95
+ }): any;
96
+ /**
97
+ * @param {Object} reconnectOptions
98
+ * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
99
+ * @returns {Promise}
100
+ * @throws {NeedsRetryError}
101
+ * @private
102
+ * @memberof ReconnectionManager
103
+ */
104
+ private executeReconnection;
105
+ /**
106
+ * Rejoins a meeting after detecting the member was in a LEFT state
107
+ *
108
+ * @async
109
+ * @param {boolean} wasSharing
110
+ * @returns {Promise}
111
+ */
112
+ rejoinMeeting(wasSharing?: boolean): Promise<void>;
113
+ /**
114
+ * @returns {Promise}
115
+ * @private
116
+ * @memberof ReconnectionManager
117
+ */
118
+ reconnectMedia(): Promise<void>;
119
+ /**
120
+ * Attempt to Reconnect Mercury Websocket
121
+ * @returns {Promise}
122
+ * @private
123
+ * @memberof ReconnectionManager
124
+ */
125
+ private reconnectMercuryWebSocket;
126
+ }
@@ -0,0 +1,7 @@
1
+ declare enum RecordingAction {
2
+ Start = "Start",
3
+ Stop = "Stop",
4
+ Pause = "Pause",
5
+ Resume = "Resume"
6
+ }
7
+ export default RecordingAction;
@@ -0,0 +1,208 @@
1
+ import { SELF_POLICY } from '../constants';
2
+ import MeetingRequest from '../meeting/request';
3
+ /**
4
+ * @description Recording manages the recording functionality of the meeting object, there should only be one instantation of recording per meeting
5
+ * @export
6
+ * @private
7
+ * @class Recording
8
+ */
9
+ export default class RecordingController {
10
+ /**
11
+ * @instance
12
+ * @type {MeetingRequest}
13
+ * @private
14
+ * @memberof RecordingController
15
+ */
16
+ private request;
17
+ /**
18
+ * @instance
19
+ * @type {Array}
20
+ * @private
21
+ * @memberof RecordingInfo
22
+ */
23
+ private displayHints;
24
+ /**
25
+ * @instance
26
+ * @type {Object}
27
+ * @private
28
+ * @memberof RecordingInfo
29
+ */
30
+ private selfUserPolicies;
31
+ /**
32
+ * @instance
33
+ * @type {string}
34
+ * @private
35
+ * @memberof RecordingInfo
36
+ */
37
+ private serviceUrl;
38
+ /**
39
+ * @instance
40
+ * @type {string}
41
+ * @private
42
+ * @memberof RecordingInfo
43
+ */
44
+ private sessionId;
45
+ /**
46
+ * @instance
47
+ * @type {string}
48
+ * @private
49
+ * @memberof RecordingInfo
50
+ */
51
+ private locusUrl;
52
+ /**
53
+ * @instance
54
+ * @type {string}
55
+ * @private
56
+ * @memberof RecordingInfo
57
+ */
58
+ private locusId;
59
+ /**
60
+ * @param {MeetingRequest} request
61
+ * @param {Object} options
62
+ * @constructor
63
+ * @memberof RecordingController
64
+ */
65
+ constructor(request: MeetingRequest, options?: {
66
+ serviceUrl?: string;
67
+ sessionId: string;
68
+ locusUrl: string;
69
+ displayHints?: Array<string>;
70
+ });
71
+ /**
72
+ * @param {MeetingRequest} request
73
+ * @param {LocusInfo} info
74
+ * @returns {void}
75
+ * @private
76
+ * @memberof RecordingController
77
+ */
78
+ private initialize;
79
+ /**
80
+ * @param {Object} options
81
+ * @returns {void}
82
+ * @public
83
+ * @memberof RecordingController
84
+ */
85
+ set(options?: {
86
+ serviceUrl?: string;
87
+ sessionId: string;
88
+ locusUrl: string;
89
+ displayHints?: Array<string>;
90
+ }): void;
91
+ /**
92
+ * @param {string} url
93
+ * @returns {void}
94
+ * @public
95
+ * @memberof RecordingController
96
+ */
97
+ setLocusUrl(url: string): void;
98
+ /**
99
+ * @param {Array} hints
100
+ * @returns {void}
101
+ * @public
102
+ * @memberof RecordingController
103
+ */
104
+ setDisplayHints(hints: Array<string>): void;
105
+ /**
106
+ * @param {Object} selfUserPolicies
107
+ * @returns {void}
108
+ * @public
109
+ * @memberof RecordingController
110
+ */
111
+ setUserPolicy(selfUserPolicies: Record<SELF_POLICY, boolean>): void;
112
+ /**
113
+ * @param {string} id
114
+ * @returns {void}
115
+ * @public
116
+ * @memberof RecordingController
117
+ */
118
+ setSessionId(id: string): void;
119
+ /**
120
+ * @param {string} url
121
+ * @returns {void}
122
+ * @public
123
+ * @memberof RecordingController
124
+ */
125
+ setServiceUrl(url: string): void;
126
+ /**
127
+ * @returns {string}
128
+ * @public
129
+ * @memberof RecordingController
130
+ */
131
+ getLocusUrl(): string;
132
+ /**
133
+ * @returns {string}
134
+ * @public
135
+ * @memberof RecordingController
136
+ */
137
+ getLocusId(): string;
138
+ /**
139
+ * @returns {string}
140
+ * @public
141
+ * @memberof RecordingController
142
+ */
143
+ getSessionId(): string;
144
+ /**
145
+ * @returns {string}
146
+ * @public
147
+ * @memberof RecordingController
148
+ */
149
+ getServiceUrl(): string;
150
+ /**
151
+ * @returns {Array}
152
+ * @public
153
+ * @memberof RecordingController
154
+ */
155
+ getDisplayHints(): string[];
156
+ /**
157
+ * @param {Object} options
158
+ * @returns {void}
159
+ * @private
160
+ * @memberof RecordingController
161
+ */
162
+ private extract;
163
+ /**
164
+ * @param {RecordingAction} action
165
+ * @private
166
+ * @memberof RecordingController
167
+ * @returns {Promise}
168
+ */
169
+ private recordingService;
170
+ /**
171
+ * @param {RecordingAction} action
172
+ * @private
173
+ * @memberof RecordingController
174
+ * @returns {Promise}
175
+ */
176
+ private recordingControls;
177
+ /**
178
+ * @param {RecordingAction} action
179
+ * @private
180
+ * @memberof RecordingController
181
+ * @returns {Promise}
182
+ */
183
+ private recordingFacade;
184
+ /**
185
+ * @private
186
+ * @memberof RecordingController
187
+ * @returns {Promise}
188
+ */
189
+ startRecording(): Promise<any>;
190
+ /**
191
+ * @private
192
+ * @memberof RecordingController
193
+ * @returns {Promise}
194
+ */
195
+ stopRecording(): Promise<any>;
196
+ /**
197
+ * @private
198
+ * @memberof RecordingController
199
+ * @returns {Promise}
200
+ */
201
+ pauseRecording(): Promise<any>;
202
+ /**
203
+ * @private
204
+ * @memberof RecordingController
205
+ * @returns {Promise}
206
+ */
207
+ resumeRecording(): Promise<any>;
208
+ }
@@ -0,0 +1,14 @@
1
+ import { SELF_POLICY } from '../constants';
2
+ import RecordingAction from './enums';
3
+ declare const _default: {
4
+ canUserStart: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
5
+ canUserPause: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
6
+ canUserResume: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
7
+ canUserStop: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
8
+ deriveRecordingStates: (action: RecordingAction) => {
9
+ recording: boolean;
10
+ paused: boolean;
11
+ };
12
+ extractLocusId: (url: string) => string;
13
+ };
14
+ export default _default;
@@ -0,0 +1,77 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import Meeting from '../meeting';
3
+ /**
4
+ * Roap options
5
+ * @typedef {Object} RoapOptions
6
+ * @property {String} sdp
7
+ * @property {Meeting} meeting
8
+ * @property {Number} seq
9
+ * @property {Number} tieBreaker
10
+ * @property {Boolean} reconnect
11
+ */
12
+ /**
13
+ * @typedef {Object} SeqOptions
14
+ * @property {String} correlationId
15
+ * @property {String} mediaId
16
+ * @property {Number} seq
17
+ */
18
+ /**
19
+ * @class Roap
20
+ * @export
21
+ * @private
22
+ */
23
+ export default class Roap extends StatelessWebexPlugin {
24
+ attrs: any;
25
+ lastRoapOffer: any;
26
+ options: any;
27
+ roapHandler: any;
28
+ roapRequest: any;
29
+ turnDiscovery: any;
30
+ /**
31
+ *
32
+ * @param {Object} attrs
33
+ * @param {Object} options
34
+ */
35
+ constructor(attrs: any, options: any);
36
+ /**
37
+ *
38
+ * @param {SeqOptions} options
39
+ * @returns {null}
40
+ * @memberof Roap
41
+ */
42
+ sendRoapOK(options: any): Promise<any>;
43
+ /**
44
+ * Sends a ROAP answer...
45
+ * @param {SeqOptions} options
46
+ * @param {Boolean} options.audioMuted
47
+ * @param {Boolean} options.videoMuted
48
+ * @returns {Promise}
49
+ * @memberof Roap
50
+ */
51
+ sendRoapAnswer(options: any): any;
52
+ /**
53
+ * Sends a ROAP error...
54
+ * @param {Object} options
55
+ * @returns {Promise}
56
+ * @memberof Roap
57
+ */
58
+ sendRoapError(options: any): any;
59
+ /**
60
+ * sends a roap media request
61
+ * @param {RoapOptions} options
62
+ * @returns {Promise}
63
+ * @memberof Roap
64
+ */
65
+ sendRoapMediaRequest(options: any): any;
66
+ /**
67
+ * Performs a TURN server discovery procedure, which involves exchanging
68
+ * some roap messages with the server. This exchange has to be done before
69
+ * any other roap messages are sent
70
+ *
71
+ * @param {Meeting} meeting
72
+ * @param {Boolean} isReconnecting should be set to true if this is a new
73
+ * media connection just after a reconnection
74
+ * @returns {Promise}
75
+ */
76
+ doTurnDiscovery(meeting: Meeting, isReconnecting: boolean): any;
77
+ }
@@ -0,0 +1,36 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import { LocusMediaRequest } from '../meeting/locusMediaRequest';
3
+ /**
4
+ * @class RoapRequest
5
+ */
6
+ export default class RoapRequest extends StatelessWebexPlugin {
7
+ /**
8
+ * Returns reachability data.
9
+ * @param {Object} localSdp
10
+ * @returns {Object}
11
+ */
12
+ attachReachabilityData(localSdp: any): Promise<{
13
+ localSdp: any;
14
+ joinCookie: any;
15
+ }>;
16
+ /**
17
+ * Sends a ROAP message
18
+ * @param {Object} options
19
+ * @param {Object} options.roapMessage
20
+ * @param {String} options.locusSelfUrl
21
+ * @param {String} options.mediaId
22
+ * @param {String} options.correlationId
23
+ * @param {String} options.meetingId
24
+ * @returns {Promise} returns the response/failure of the request
25
+ */
26
+ sendRoap(options: {
27
+ roapMessage: any;
28
+ locusSelfUrl: string;
29
+ mediaId: string;
30
+ meetingId: string;
31
+ locusMediaRequest?: LocusMediaRequest;
32
+ }): Promise<{
33
+ mediaConnections: any;
34
+ locus: any;
35
+ }>;
36
+ }
@@ -0,0 +1,91 @@
1
+ import RoapRequest from './request';
2
+ import Meeting from '../meeting';
3
+ /**
4
+ * Handles the process of finding out TURN server information from Linus.
5
+ * This is achieved by sending a TURN_DISCOVERY_REQUEST.
6
+ */
7
+ export default class TurnDiscovery {
8
+ private roapRequest;
9
+ private defer?;
10
+ private turnInfo;
11
+ private responseTimer?;
12
+ /**
13
+ * Constructor
14
+ *
15
+ * @param {RoapRequest} roapRequest
16
+ */
17
+ constructor(roapRequest: RoapRequest);
18
+ /**
19
+ * waits for TURN_DISCOVERY_RESPONSE message to arrive
20
+ *
21
+ * @returns {Promise}
22
+ * @private
23
+ * @memberof Roap
24
+ */
25
+ private waitForTurnDiscoveryResponse;
26
+ /**
27
+ * handles TURN_DISCOVERY_RESPONSE roap message
28
+ *
29
+ * @param {Object} roapMessage
30
+ * @returns {void}
31
+ * @public
32
+ * @memberof Roap
33
+ */
34
+ handleTurnDiscoveryResponse(roapMessage: object): void;
35
+ /**
36
+ * sends the TURN_DISCOVERY_REQUEST roap request
37
+ *
38
+ * @param {Meeting} meeting
39
+ * @param {Boolean} isReconnecting
40
+ * @returns {Promise}
41
+ * @private
42
+ * @memberof Roap
43
+ */
44
+ sendRoapTurnDiscoveryRequest(meeting: Meeting, isReconnecting: boolean): Promise<void>;
45
+ /**
46
+ * Sends the OK message that server expects to receive
47
+ * after it sends us TURN_DISCOVERY_RESPONSE
48
+ *
49
+ * @param {Meeting} meeting
50
+ * @returns {Promise}
51
+ */
52
+ sendRoapOK(meeting: Meeting): Promise<{
53
+ mediaConnections: any;
54
+ locus: any;
55
+ }>;
56
+ /**
57
+ * Gets the reason why reachability is skipped.
58
+ *
59
+ * @param {Meeting} meeting
60
+ * @returns {Promise<string>} Promise with empty string if reachability is not skipped or a reason if it is skipped
61
+ */
62
+ private getSkipReason;
63
+ /**
64
+ * Checks if TURN discovery is skipped.
65
+ *
66
+ * @param {Meeting} meeting
67
+ * @returns {Boolean} true if TURN discovery is being skipped, false if it is being done
68
+ */
69
+ isSkipped(meeting: any): Promise<boolean>;
70
+ /**
71
+ * Retrieves TURN server information from the backend by doing
72
+ * a roap message exchange:
73
+ * client server
74
+ * | -----TURN_DISCOVERY_REQUEST-----> |
75
+ * | <----TURN_DISCOVERY_RESPONSE----- |
76
+ * | --------------OK----------------> |
77
+ *
78
+ * This TURN discovery roap exchange is always done with seq=0.
79
+ * The RoapMediaConnection SDP exchange always starts with seq=1,
80
+ * so it works fine no matter if TURN discovery is done or not.
81
+ *
82
+ * @param {Meeting} meeting
83
+ * @param {Boolean} isReconnecting should be set to true if this is a new
84
+ * media connection just after a reconnection
85
+ * @returns {Promise}
86
+ */
87
+ doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean): Promise<{
88
+ turnServerInfo: any;
89
+ turnDiscoverySkippedReason: any;
90
+ }>;
91
+ }
@@ -0,0 +1,4 @@
1
+ declare const RTC_METRICS: {
2
+ APP_ID: string;
3
+ };
4
+ export { RTC_METRICS as default };
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Rtc Metrics
3
+ */
4
+ export default class RtcMetrics {
5
+ /**
6
+ * Array of MetricData items to be sent to the metrics service.
7
+ */
8
+ metricsQueue: any[];
9
+ intervalId: number;
10
+ webex: any;
11
+ meetingId: string;
12
+ correlationId: string;
13
+ /**
14
+ * Initialize the interval.
15
+ *
16
+ * @param {object} webex - The main `webex` object.
17
+ * @param {string} meetingId - The meeting id.
18
+ */
19
+ constructor(webex: any, meetingId: any);
20
+ /**
21
+ * Check to see if the metrics queue has any items.
22
+ *
23
+ * @returns {void}
24
+ */
25
+ private checkMetrics;
26
+ /**
27
+ * Add metrics items to the metrics queue.
28
+ *
29
+ * @param {object} data - An object with a payload array of metrics items.
30
+ *
31
+ * @returns {void}
32
+ */
33
+ addMetrics(data: any): void;
34
+ /**
35
+ * Clear the metrics interval.
36
+ *
37
+ * @returns {void}
38
+ */
39
+ closeMetrics(): void;
40
+ /**
41
+ * Send metrics to the metrics service.
42
+ *
43
+ * @returns {void}
44
+ */
45
+ private sendMetrics;
46
+ }
@@ -0,0 +1,36 @@
1
+ declare const STATS_DEFAULT: {
2
+ encryption: string;
3
+ bandwidth: {
4
+ systemBandwidth: number;
5
+ sentPerSecond: number;
6
+ encodedPerSecond: number;
7
+ helper: {
8
+ audioBytesSent: number;
9
+ videoBytestSent: number;
10
+ };
11
+ speed: number;
12
+ };
13
+ results: {};
14
+ connectionType: {
15
+ systemNetworkType: string;
16
+ systemIpAddress: string;
17
+ local: {
18
+ candidateType: any[];
19
+ transport: any[];
20
+ ipAddress: any[];
21
+ networkType: any[];
22
+ };
23
+ remote: {
24
+ candidateType: any[];
25
+ transport: any[];
26
+ ipAddress: any[];
27
+ networkType: any[];
28
+ };
29
+ };
30
+ resolutions: {};
31
+ internal: {
32
+ remote: {};
33
+ candidates: {};
34
+ };
35
+ };
36
+ export default STATS_DEFAULT;