@webex/plugin-meetings 3.0.0-beta.1 → 3.0.0-beta.104

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 (548) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/annotation/annotation.types.js +7 -0
  4. package/dist/annotation/annotation.types.js.map +1 -0
  5. package/dist/annotation/constants.js +48 -0
  6. package/dist/annotation/constants.js.map +1 -0
  7. package/dist/annotation/index.js +357 -0
  8. package/dist/annotation/index.js.map +1 -0
  9. package/dist/breakouts/breakout.js +176 -0
  10. package/dist/breakouts/breakout.js.map +1 -0
  11. package/dist/breakouts/collection.js +23 -0
  12. package/dist/breakouts/collection.js.map +1 -0
  13. package/dist/breakouts/edit-lock-error.js +52 -0
  14. package/dist/breakouts/edit-lock-error.js.map +1 -0
  15. package/dist/breakouts/events.js +43 -0
  16. package/dist/breakouts/events.js.map +1 -0
  17. package/dist/breakouts/index.js +919 -0
  18. package/dist/breakouts/index.js.map +1 -0
  19. package/dist/breakouts/request.js +78 -0
  20. package/dist/breakouts/request.js.map +1 -0
  21. package/dist/breakouts/utils.js +67 -0
  22. package/dist/breakouts/utils.js.map +1 -0
  23. package/dist/common/browser-detection.js +1 -20
  24. package/dist/common/browser-detection.js.map +1 -1
  25. package/dist/common/collection.js +5 -20
  26. package/dist/common/collection.js.map +1 -1
  27. package/dist/common/config.js +0 -7
  28. package/dist/common/config.js.map +1 -1
  29. package/dist/common/errors/captcha-error.js +10 -24
  30. package/dist/common/errors/captcha-error.js.map +1 -1
  31. package/dist/common/errors/intent-to-join.js +11 -24
  32. package/dist/common/errors/intent-to-join.js.map +1 -1
  33. package/dist/common/errors/join-meeting.js +12 -25
  34. package/dist/common/errors/join-meeting.js.map +1 -1
  35. package/dist/common/errors/media.js +10 -24
  36. package/dist/common/errors/media.js.map +1 -1
  37. package/dist/common/errors/parameter.js +5 -33
  38. package/dist/common/errors/parameter.js.map +1 -1
  39. package/dist/common/errors/password-error.js +10 -24
  40. package/dist/common/errors/password-error.js.map +1 -1
  41. package/dist/common/errors/permission.js +9 -23
  42. package/dist/common/errors/permission.js.map +1 -1
  43. package/dist/common/errors/reconnection-in-progress.js +0 -17
  44. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  45. package/dist/common/errors/reconnection.js +10 -24
  46. package/dist/common/errors/reconnection.js.map +1 -1
  47. package/dist/common/errors/stats.js +10 -24
  48. package/dist/common/errors/stats.js.map +1 -1
  49. package/dist/common/errors/webex-errors.js +10 -69
  50. package/dist/common/errors/webex-errors.js.map +1 -1
  51. package/dist/common/errors/webex-meetings-error.js +5 -25
  52. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  53. package/dist/common/events/events-scope.js +0 -22
  54. package/dist/common/events/events-scope.js.map +1 -1
  55. package/dist/common/events/events.js +0 -23
  56. package/dist/common/events/events.js.map +1 -1
  57. package/dist/common/events/trigger-proxy.js +0 -12
  58. package/dist/common/events/trigger-proxy.js.map +1 -1
  59. package/dist/common/events/util.js +0 -15
  60. package/dist/common/events/util.js.map +1 -1
  61. package/dist/common/logs/logger-config.js +0 -4
  62. package/dist/common/logs/logger-config.js.map +1 -1
  63. package/dist/common/logs/logger-proxy.js +1 -8
  64. package/dist/common/logs/logger-proxy.js.map +1 -1
  65. package/dist/common/logs/request.js +37 -60
  66. package/dist/common/logs/request.js.map +1 -1
  67. package/dist/common/queue.js +4 -14
  68. package/dist/common/queue.js.map +1 -1
  69. package/dist/config.js +7 -6
  70. package/dist/config.js.map +1 -1
  71. package/dist/constants.js +184 -122
  72. package/dist/constants.js.map +1 -1
  73. package/dist/controls-options-manager/constants.js +14 -0
  74. package/dist/controls-options-manager/constants.js.map +1 -0
  75. package/dist/controls-options-manager/enums.js +25 -0
  76. package/dist/controls-options-manager/enums.js.map +1 -0
  77. package/dist/controls-options-manager/index.js +297 -0
  78. package/dist/controls-options-manager/index.js.map +1 -0
  79. package/dist/controls-options-manager/types.js +7 -0
  80. package/dist/controls-options-manager/types.js.map +1 -0
  81. package/dist/controls-options-manager/util.js +250 -0
  82. package/dist/controls-options-manager/util.js.map +1 -0
  83. package/dist/index.js +72 -17
  84. package/dist/index.js.map +1 -1
  85. package/dist/locus-info/controlsUtils.js +56 -29
  86. package/dist/locus-info/controlsUtils.js.map +1 -1
  87. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  88. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  89. package/dist/locus-info/fullState.js +0 -15
  90. package/dist/locus-info/fullState.js.map +1 -1
  91. package/dist/locus-info/hostUtils.js +4 -12
  92. package/dist/locus-info/hostUtils.js.map +1 -1
  93. package/dist/locus-info/index.js +362 -208
  94. package/dist/locus-info/index.js.map +1 -1
  95. package/dist/locus-info/infoUtils.js +3 -37
  96. package/dist/locus-info/infoUtils.js.map +1 -1
  97. package/dist/locus-info/mediaSharesUtils.js +12 -38
  98. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  99. package/dist/locus-info/parser.js +92 -118
  100. package/dist/locus-info/parser.js.map +1 -1
  101. package/dist/locus-info/selfUtils.js +99 -91
  102. package/dist/locus-info/selfUtils.js.map +1 -1
  103. package/dist/media/index.js +113 -337
  104. package/dist/media/index.js.map +1 -1
  105. package/dist/media/properties.js +96 -135
  106. package/dist/media/properties.js.map +1 -1
  107. package/dist/media/util.js +1 -35
  108. package/dist/media/util.js.map +1 -1
  109. package/dist/mediaQualityMetrics/config.js +505 -495
  110. package/dist/mediaQualityMetrics/config.js.map +1 -1
  111. package/dist/meeting/in-meeting-actions.js +59 -14
  112. package/dist/meeting/in-meeting-actions.js.map +1 -1
  113. package/dist/meeting/index.js +2909 -2398
  114. package/dist/meeting/index.js.map +1 -1
  115. package/dist/meeting/muteState.js +257 -112
  116. package/dist/meeting/muteState.js.map +1 -1
  117. package/dist/meeting/request.js +330 -264
  118. package/dist/meeting/request.js.map +1 -1
  119. package/dist/meeting/request.type.js +7 -0
  120. package/dist/meeting/request.type.js.map +1 -0
  121. package/dist/meeting/state.js +21 -31
  122. package/dist/meeting/state.js.map +1 -1
  123. package/dist/meeting/util.js +63 -261
  124. package/dist/meeting/util.js.map +1 -1
  125. package/dist/meeting-info/collection.js +6 -25
  126. package/dist/meeting-info/collection.js.map +1 -1
  127. package/dist/meeting-info/index.js +14 -32
  128. package/dist/meeting-info/index.js.map +1 -1
  129. package/dist/meeting-info/meeting-info-v2.js +273 -280
  130. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  131. package/dist/meeting-info/request.js +3 -15
  132. package/dist/meeting-info/request.js.map +1 -1
  133. package/dist/meeting-info/util.js +98 -183
  134. package/dist/meeting-info/util.js.map +1 -1
  135. package/dist/meeting-info/utilv2.js +155 -232
  136. package/dist/meeting-info/utilv2.js.map +1 -1
  137. package/dist/meetings/collection.js +26 -19
  138. package/dist/meetings/collection.js.map +1 -1
  139. package/dist/meetings/index.js +741 -548
  140. package/dist/meetings/index.js.map +1 -1
  141. package/dist/meetings/request.js +26 -41
  142. package/dist/meetings/request.js.map +1 -1
  143. package/dist/meetings/util.js +194 -149
  144. package/dist/meetings/util.js.map +1 -1
  145. package/dist/member/index.js +100 -85
  146. package/dist/member/index.js.map +1 -1
  147. package/dist/member/types.js +15 -0
  148. package/dist/member/types.js.map +1 -0
  149. package/dist/member/util.js +90 -68
  150. package/dist/member/util.js.map +1 -1
  151. package/dist/members/collection.js +13 -12
  152. package/dist/members/collection.js.map +1 -1
  153. package/dist/members/index.js +227 -188
  154. package/dist/members/index.js.map +1 -1
  155. package/dist/members/request.js +54 -39
  156. package/dist/members/request.js.map +1 -1
  157. package/dist/members/types.js +15 -0
  158. package/dist/members/types.js.map +1 -0
  159. package/dist/members/util.js +107 -44
  160. package/dist/members/util.js.map +1 -1
  161. package/dist/metrics/config.js +5 -14
  162. package/dist/metrics/config.js.map +1 -1
  163. package/dist/metrics/constants.js +3 -7
  164. package/dist/metrics/constants.js.map +1 -1
  165. package/dist/metrics/index.js +67 -159
  166. package/dist/metrics/index.js.map +1 -1
  167. package/dist/multistream/mediaRequestManager.js +250 -0
  168. package/dist/multistream/mediaRequestManager.js.map +1 -0
  169. package/dist/multistream/receiveSlot.js +202 -0
  170. package/dist/multistream/receiveSlot.js.map +1 -0
  171. package/dist/multistream/receiveSlotManager.js +176 -0
  172. package/dist/multistream/receiveSlotManager.js.map +1 -0
  173. package/dist/multistream/remoteMedia.js +270 -0
  174. package/dist/multistream/remoteMedia.js.map +1 -0
  175. package/dist/multistream/remoteMediaGroup.js +209 -0
  176. package/dist/multistream/remoteMediaGroup.js.map +1 -0
  177. package/dist/multistream/remoteMediaManager.js +1137 -0
  178. package/dist/multistream/remoteMediaManager.js.map +1 -0
  179. package/dist/networkQualityMonitor/index.js +40 -59
  180. package/dist/networkQualityMonitor/index.js.map +1 -1
  181. package/dist/personal-meeting-room/index.js +21 -45
  182. package/dist/personal-meeting-room/index.js.map +1 -1
  183. package/dist/personal-meeting-room/request.js +1 -31
  184. package/dist/personal-meeting-room/request.js.map +1 -1
  185. package/dist/personal-meeting-room/util.js +0 -13
  186. package/dist/personal-meeting-room/util.js.map +1 -1
  187. package/dist/reachability/index.js +192 -191
  188. package/dist/reachability/index.js.map +1 -1
  189. package/dist/reachability/request.js +15 -23
  190. package/dist/reachability/request.js.map +1 -1
  191. package/dist/reactions/constants.js +13 -0
  192. package/dist/reactions/constants.js.map +1 -0
  193. package/dist/reactions/reactions.js +109 -0
  194. package/dist/reactions/reactions.js.map +1 -0
  195. package/dist/reactions/reactions.type.js +36 -0
  196. package/dist/reactions/reactions.type.js.map +1 -0
  197. package/dist/reconnection-manager/index.js +386 -527
  198. package/dist/reconnection-manager/index.js.map +1 -1
  199. package/dist/recording-controller/enums.js +17 -0
  200. package/dist/recording-controller/enums.js.map +1 -0
  201. package/dist/recording-controller/index.js +343 -0
  202. package/dist/recording-controller/index.js.map +1 -0
  203. package/dist/recording-controller/util.js +63 -0
  204. package/dist/recording-controller/util.js.map +1 -0
  205. package/dist/roap/index.js +84 -286
  206. package/dist/roap/index.js.map +1 -1
  207. package/dist/roap/request.js +138 -238
  208. package/dist/roap/request.js.map +1 -1
  209. package/dist/roap/turnDiscovery.js +164 -102
  210. package/dist/roap/turnDiscovery.js.map +1 -1
  211. package/dist/statsAnalyzer/global.js +1 -93
  212. package/dist/statsAnalyzer/global.js.map +1 -1
  213. package/dist/statsAnalyzer/index.js +399 -470
  214. package/dist/statsAnalyzer/index.js.map +1 -1
  215. package/dist/statsAnalyzer/mqaUtil.js +143 -87
  216. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  217. package/dist/transcription/index.js +22 -47
  218. package/dist/transcription/index.js.map +1 -1
  219. package/dist/types/annotation/annotation.types.d.ts +34 -0
  220. package/dist/types/annotation/constants.d.ts +31 -0
  221. package/dist/types/annotation/index.d.ts +124 -0
  222. package/dist/types/breakouts/breakout.d.ts +8 -0
  223. package/dist/types/breakouts/collection.d.ts +5 -0
  224. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  225. package/dist/types/breakouts/events.d.ts +2 -0
  226. package/dist/types/breakouts/index.d.ts +5 -0
  227. package/dist/types/breakouts/request.d.ts +22 -0
  228. package/dist/types/breakouts/utils.d.ts +15 -0
  229. package/dist/types/common/browser-detection.d.ts +9 -0
  230. package/dist/types/common/collection.d.ts +48 -0
  231. package/dist/types/common/config.d.ts +2 -0
  232. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  233. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  234. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  235. package/dist/types/common/errors/media.d.ts +15 -0
  236. package/dist/types/common/errors/parameter.d.ts +15 -0
  237. package/dist/types/common/errors/password-error.d.ts +15 -0
  238. package/dist/types/common/errors/permission.d.ts +14 -0
  239. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  240. package/dist/types/common/errors/reconnection.d.ts +15 -0
  241. package/dist/types/common/errors/stats.d.ts +15 -0
  242. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  243. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  244. package/dist/types/common/events/events-scope.d.ts +17 -0
  245. package/dist/types/common/events/events.d.ts +12 -0
  246. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  247. package/dist/types/common/events/util.d.ts +2 -0
  248. package/dist/types/common/logs/logger-config.d.ts +2 -0
  249. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  250. package/dist/types/common/logs/request.d.ts +34 -0
  251. package/dist/types/common/queue.d.ts +32 -0
  252. package/dist/types/config.d.ts +78 -0
  253. package/dist/types/constants.d.ts +968 -0
  254. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  255. package/dist/types/controls-options-manager/enums.d.ts +13 -0
  256. package/dist/types/controls-options-manager/index.d.ts +136 -0
  257. package/dist/types/controls-options-manager/types.d.ts +37 -0
  258. package/dist/types/controls-options-manager/util.d.ts +1 -0
  259. package/dist/types/index.d.ts +7 -0
  260. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  261. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  262. package/dist/types/locus-info/fullState.d.ts +2 -0
  263. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  264. package/dist/types/locus-info/index.d.ts +315 -0
  265. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  266. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  267. package/dist/types/locus-info/parser.d.ts +212 -0
  268. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  269. package/dist/types/media/index.d.ts +34 -0
  270. package/dist/types/media/properties.d.ts +108 -0
  271. package/dist/types/media/util.d.ts +2 -0
  272. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  273. package/dist/types/meeting/in-meeting-actions.d.ts +129 -0
  274. package/dist/types/meeting/index.d.ts +1748 -0
  275. package/dist/types/meeting/muteState.d.ts +185 -0
  276. package/dist/types/meeting/request.d.ts +275 -0
  277. package/dist/types/meeting/request.type.d.ts +11 -0
  278. package/dist/types/meeting/state.d.ts +9 -0
  279. package/dist/types/meeting/util.d.ts +2 -0
  280. package/dist/types/meeting-info/collection.d.ts +20 -0
  281. package/dist/types/meeting-info/index.d.ts +57 -0
  282. package/dist/types/meeting-info/meeting-info-v2.d.ts +112 -0
  283. package/dist/types/meeting-info/request.d.ts +22 -0
  284. package/dist/types/meeting-info/util.d.ts +2 -0
  285. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  286. package/dist/types/meetings/collection.d.ts +31 -0
  287. package/dist/types/meetings/index.d.ts +345 -0
  288. package/dist/types/meetings/request.d.ts +27 -0
  289. package/dist/types/meetings/util.d.ts +18 -0
  290. package/dist/types/member/index.d.ts +156 -0
  291. package/dist/types/member/types.d.ts +21 -0
  292. package/dist/types/member/util.d.ts +2 -0
  293. package/dist/types/members/collection.d.ts +29 -0
  294. package/dist/types/members/index.d.ts +353 -0
  295. package/dist/types/members/request.d.ts +69 -0
  296. package/dist/types/members/types.d.ts +24 -0
  297. package/dist/types/members/util.d.ts +2 -0
  298. package/dist/types/metrics/config.d.ts +172 -0
  299. package/dist/types/metrics/constants.d.ts +54 -0
  300. package/dist/types/metrics/index.d.ts +152 -0
  301. package/dist/types/multistream/mediaRequestManager.d.ts +101 -0
  302. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  303. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  304. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  305. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  306. package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
  307. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  308. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  309. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  310. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  311. package/dist/types/reachability/index.d.ts +152 -0
  312. package/dist/types/reachability/request.d.ts +37 -0
  313. package/dist/types/reactions/constants.d.ts +3 -0
  314. package/dist/types/reactions/reactions.d.ts +4 -0
  315. package/dist/types/reactions/reactions.type.d.ts +52 -0
  316. package/dist/types/reconnection-manager/index.d.ts +126 -0
  317. package/dist/types/recording-controller/enums.d.ts +7 -0
  318. package/dist/types/recording-controller/index.d.ts +193 -0
  319. package/dist/types/recording-controller/util.d.ts +13 -0
  320. package/dist/types/roap/index.d.ts +77 -0
  321. package/dist/types/roap/request.d.ts +38 -0
  322. package/dist/types/roap/turnDiscovery.d.ts +88 -0
  323. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  324. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  325. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  326. package/dist/types/transcription/index.d.ts +64 -0
  327. package/internal-README.md +7 -6
  328. package/package.json +29 -21
  329. package/src/annotation/annotation.types.ts +41 -0
  330. package/src/annotation/constants.ts +36 -0
  331. package/src/annotation/index.ts +339 -0
  332. package/src/breakouts/README.md +219 -0
  333. package/src/breakouts/breakout.ts +141 -0
  334. package/src/breakouts/collection.ts +19 -0
  335. package/src/breakouts/edit-lock-error.ts +25 -0
  336. package/src/breakouts/events.ts +37 -0
  337. package/src/breakouts/index.ts +823 -0
  338. package/src/breakouts/request.ts +55 -0
  339. package/src/breakouts/utils.ts +57 -0
  340. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  341. package/src/common/collection.ts +9 -7
  342. package/src/common/{config.js → config.ts} +1 -1
  343. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  344. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  345. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  346. package/src/common/errors/{media.js → media.ts} +11 -7
  347. package/src/common/errors/parameter.ts +11 -7
  348. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  349. package/src/common/errors/{permission.js → permission.ts} +10 -6
  350. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  351. package/src/common/errors/{stats.js → stats.ts} +11 -7
  352. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -25
  353. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  354. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  355. package/src/common/events/{events.js → events.ts} +5 -1
  356. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  357. package/src/common/events/{util.js → util.ts} +2 -3
  358. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  359. package/src/common/logs/logger-proxy.ts +44 -0
  360. package/src/common/logs/{request.js → request.ts} +22 -9
  361. package/src/common/queue.ts +1 -2
  362. package/src/{config.js → config.ts} +18 -12
  363. package/src/constants.ts +256 -183
  364. package/src/controls-options-manager/constants.ts +5 -0
  365. package/src/controls-options-manager/enums.ts +16 -0
  366. package/src/controls-options-manager/index.ts +278 -0
  367. package/src/controls-options-manager/types.ts +49 -0
  368. package/src/controls-options-manager/util.ts +229 -0
  369. package/src/index.ts +33 -0
  370. package/src/locus-info/controlsUtils.ts +169 -0
  371. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  372. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  373. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  374. package/src/locus-info/{index.js → index.ts} +331 -80
  375. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  376. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  377. package/src/locus-info/{parser.js → parser.ts} +67 -79
  378. package/src/locus-info/{selfUtils.js → selfUtils.ts} +196 -67
  379. package/src/media/index.ts +488 -0
  380. package/src/media/{properties.js → properties.ts} +67 -54
  381. package/src/media/util.ts +16 -0
  382. package/src/mediaQualityMetrics/config.ts +384 -0
  383. package/src/meeting/in-meeting-actions.ts +123 -3
  384. package/src/meeting/{index.js → index.ts} +3334 -1775
  385. package/src/meeting/muteState.ts +526 -0
  386. package/src/meeting/{request.js → request.ts} +350 -142
  387. package/src/meeting/request.type.ts +13 -0
  388. package/src/meeting/{state.js → state.ts} +50 -35
  389. package/src/meeting/{util.js → util.ts} +126 -159
  390. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  391. package/src/meeting-info/{index.js → index.ts} +42 -36
  392. package/src/meeting-info/meeting-info-v2.ts +345 -0
  393. package/src/meeting-info/{request.js → request.ts} +14 -4
  394. package/src/meeting-info/{util.js → util.ts} +60 -51
  395. package/src/meeting-info/{utilv2.js → utilv2.ts} +76 -60
  396. package/src/meetings/{collection.js → collection.ts} +26 -3
  397. package/src/meetings/index.ts +1394 -0
  398. package/src/meetings/{request.js → request.ts} +34 -25
  399. package/src/meetings/util.ts +288 -0
  400. package/src/member/{index.js → index.ts} +124 -56
  401. package/src/member/types.ts +24 -0
  402. package/src/member/{util.js → util.ts} +105 -25
  403. package/src/members/{collection.js → collection.ts} +10 -2
  404. package/src/members/{index.js → index.ts} +359 -139
  405. package/src/members/request.ts +215 -0
  406. package/src/members/types.ts +28 -0
  407. package/src/members/{util.js → util.ts} +145 -54
  408. package/src/metrics/{config.js → config.ts} +256 -92
  409. package/src/metrics/{constants.js → constants.ts} +1 -6
  410. package/src/metrics/{index.js → index.ts} +116 -97
  411. package/src/multistream/mediaRequestManager.ts +324 -0
  412. package/src/multistream/receiveSlot.ts +184 -0
  413. package/src/multistream/receiveSlotManager.ts +166 -0
  414. package/src/multistream/remoteMedia.ts +254 -0
  415. package/src/multistream/remoteMediaGroup.ts +225 -0
  416. package/src/multistream/remoteMediaManager.ts +1075 -0
  417. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  418. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  419. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  420. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  421. package/src/reachability/{index.js → index.ts} +157 -94
  422. package/src/reachability/request.ts +46 -35
  423. package/src/reactions/constants.ts +4 -0
  424. package/src/reactions/reactions.ts +104 -0
  425. package/src/reactions/reactions.type.ts +62 -0
  426. package/src/reconnection-manager/{index.js → index.ts} +261 -163
  427. package/src/recording-controller/enums.ts +8 -0
  428. package/src/recording-controller/index.ts +315 -0
  429. package/src/recording-controller/util.ts +58 -0
  430. package/src/roap/index.ts +241 -0
  431. package/src/roap/request.ts +172 -0
  432. package/src/roap/turnDiscovery.ts +127 -53
  433. package/src/statsAnalyzer/global.ts +37 -0
  434. package/src/statsAnalyzer/index.ts +1273 -0
  435. package/src/statsAnalyzer/mqaUtil.ts +291 -0
  436. package/src/transcription/{index.js → index.ts} +46 -39
  437. package/test/integration/spec/converged-space-meetings.js +177 -0
  438. package/test/integration/spec/journey.js +666 -464
  439. package/test/integration/spec/space-meeting.js +321 -206
  440. package/test/integration/spec/transcription.js +7 -8
  441. package/test/unit/spec/annotation/index.ts +435 -0
  442. package/test/unit/spec/breakouts/breakout.ts +184 -0
  443. package/test/unit/spec/breakouts/collection.ts +15 -0
  444. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  445. package/test/unit/spec/breakouts/events.ts +77 -0
  446. package/test/unit/spec/breakouts/index.ts +1504 -0
  447. package/test/unit/spec/breakouts/request.ts +104 -0
  448. package/test/unit/spec/breakouts/utils.js +72 -0
  449. package/test/unit/spec/common/browser-detection.js +9 -28
  450. package/test/unit/spec/controls-options-manager/index.js +287 -0
  451. package/test/unit/spec/controls-options-manager/util.js +403 -0
  452. package/test/unit/spec/fixture/locus.js +92 -90
  453. package/test/unit/spec/locus-info/controlsUtils.js +177 -32
  454. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  455. package/test/unit/spec/locus-info/index.js +493 -3
  456. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  457. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  458. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  459. package/test/unit/spec/locus-info/parser.js +3 -9
  460. package/test/unit/spec/locus-info/selfConstant.js +110 -103
  461. package/test/unit/spec/locus-info/selfUtils.js +236 -12
  462. package/test/unit/spec/media/index.ts +303 -0
  463. package/test/unit/spec/media/properties.ts +73 -82
  464. package/test/unit/spec/meeting/in-meeting-actions.ts +58 -3
  465. package/test/unit/spec/meeting/index.js +3127 -975
  466. package/test/unit/spec/meeting/muteState.js +375 -70
  467. package/test/unit/spec/meeting/request.js +217 -43
  468. package/test/unit/spec/meeting/utils.js +205 -163
  469. package/test/unit/spec/meeting-info/meetinginfov2.js +268 -74
  470. package/test/unit/spec/meeting-info/request.js +7 -9
  471. package/test/unit/spec/meeting-info/util.js +11 -12
  472. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  473. package/test/unit/spec/meetings/collection.js +15 -1
  474. package/test/unit/spec/meetings/index.js +1052 -333
  475. package/test/unit/spec/meetings/utils.js +163 -14
  476. package/test/unit/spec/member/index.js +24 -1
  477. package/test/unit/spec/member/util.js +359 -32
  478. package/test/unit/spec/members/index.js +547 -37
  479. package/test/unit/spec/members/request.js +76 -20
  480. package/test/unit/spec/members/utils.js +191 -4
  481. package/test/unit/spec/metrics/index.js +46 -20
  482. package/test/unit/spec/multistream/mediaRequestManager.ts +1060 -0
  483. package/test/unit/spec/multistream/receiveSlot.ts +163 -0
  484. package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
  485. package/test/unit/spec/multistream/remoteMedia.ts +255 -0
  486. package/test/unit/spec/multistream/remoteMediaGroup.ts +396 -0
  487. package/test/unit/spec/multistream/remoteMediaManager.ts +1793 -0
  488. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  489. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  490. package/test/unit/spec/reachability/index.ts +176 -27
  491. package/test/unit/spec/reachability/request.js +66 -0
  492. package/test/unit/spec/reconnection-manager/index.js +106 -9
  493. package/test/unit/spec/recording-controller/index.js +231 -0
  494. package/test/unit/spec/recording-controller/util.js +102 -0
  495. package/test/unit/spec/roap/index.ts +78 -45
  496. package/test/unit/spec/roap/request.ts +217 -0
  497. package/test/unit/spec/roap/turnDiscovery.ts +93 -49
  498. package/test/unit/spec/stats-analyzer/index.js +118 -65
  499. package/test/utils/cmr.js +44 -42
  500. package/test/utils/constants.js +9 -0
  501. package/test/utils/integrationTestUtils.js +64 -0
  502. package/test/utils/testUtils.js +63 -99
  503. package/test/utils/webex-config.js +22 -18
  504. package/test/utils/webex-test-users.js +57 -50
  505. package/tsconfig.json +6 -0
  506. package/dist/meeting/effectsState.js +0 -327
  507. package/dist/meeting/effectsState.js.map +0 -1
  508. package/dist/peer-connection-manager/index.js +0 -794
  509. package/dist/peer-connection-manager/index.js.map +0 -1
  510. package/dist/peer-connection-manager/util.js +0 -124
  511. package/dist/peer-connection-manager/util.js.map +0 -1
  512. package/dist/roap/collection.js +0 -73
  513. package/dist/roap/collection.js.map +0 -1
  514. package/dist/roap/handler.js +0 -337
  515. package/dist/roap/handler.js.map +0 -1
  516. package/dist/roap/state.js +0 -164
  517. package/dist/roap/state.js.map +0 -1
  518. package/dist/roap/util.js +0 -102
  519. package/dist/roap/util.js.map +0 -1
  520. package/src/common/logs/logger-proxy.js +0 -33
  521. package/src/index.js +0 -15
  522. package/src/locus-info/controlsUtils.js +0 -102
  523. package/src/media/index.js +0 -593
  524. package/src/media/util.js +0 -38
  525. package/src/mediaQualityMetrics/config.js +0 -382
  526. package/src/meeting/effectsState.js +0 -205
  527. package/src/meeting/muteState.js +0 -318
  528. package/src/meeting-info/meeting-info-v2.js +0 -255
  529. package/src/meetings/index.js +0 -986
  530. package/src/meetings/util.js +0 -176
  531. package/src/members/request.js +0 -131
  532. package/src/peer-connection-manager/index.js +0 -723
  533. package/src/peer-connection-manager/util.ts +0 -117
  534. package/src/roap/collection.js +0 -63
  535. package/src/roap/handler.js +0 -252
  536. package/src/roap/index.js +0 -380
  537. package/src/roap/request.js +0 -198
  538. package/src/roap/state.js +0 -149
  539. package/src/roap/util.js +0 -93
  540. package/src/statsAnalyzer/global.js +0 -131
  541. package/src/statsAnalyzer/index.js +0 -1020
  542. package/src/statsAnalyzer/mqaUtil.js +0 -173
  543. package/test/unit/spec/meeting/effectsState.js +0 -293
  544. package/test/unit/spec/peerconnection-manager/index.js +0 -188
  545. package/test/unit/spec/peerconnection-manager/utils.js +0 -48
  546. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  547. package/test/unit/spec/roap/util.js +0 -30
  548. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
package/src/constants.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { hydraTypes } from '@webex/common';
1
+ // @ts-ignore
2
+ import {hydraTypes} from '@webex/common';
2
3
 
3
4
  // *********** LOWERCASE / CAMELCASE STRINGS ************
4
5
 
@@ -6,10 +7,12 @@ export const AUDIO = 'audio';
6
7
  export const AUDIO_INPUT = 'audioinput';
7
8
  export const AUDIO_STATUS = 'audioStatus';
8
9
  export const ALERT = 'alert';
10
+ export const ALIAS = 'alias';
9
11
  export const ANSWER = 'answer';
10
12
 
11
13
  export const CALL = 'call';
12
14
  export const CORRELATION_ID = 'correlationId';
15
+ export const MEETINGNUMBER = 'meetingNumber';
13
16
  export const CONVERSATION_URL = 'conversationUrl';
14
17
  export const CALENDAR = 'calendar';
15
18
  export const CALENDAR_EVENTS_API = 'calendarEvents';
@@ -26,8 +29,6 @@ export const DECLINE = 'decline';
26
29
  export const ERROR = 'error';
27
30
  export const ENDED = 'ended';
28
31
 
29
- export const OFFER = 'offer';
30
-
31
32
  export const HECATE = 'hecate';
32
33
 
33
34
  export const HOST = 'host';
@@ -94,6 +95,7 @@ export const _JOINED_ = 'JOINED';
94
95
 
95
96
  export const _LOCUS_ID_ = 'LOCUS_ID';
96
97
  export const _LEFT_ = 'LEFT';
98
+ export const _MOVED_ = 'MOVED';
97
99
 
98
100
  export const _MEETING_LINK_ = 'MEETING_LINK';
99
101
  export const _MEETING_UUID_ = 'MEETING_UUID';
@@ -104,7 +106,6 @@ export const _MEETING_ID_ = 'MEETING_ID';
104
106
  export const _NOT_IN_MEETING_ = 'NOT_IN_MEETING';
105
107
  export const _NONE_ = 'NONE';
106
108
 
107
- export const _OFFER_ = 'OFFER';
108
109
  export const _OBSERVE_ = 'OBSERVE';
109
110
 
110
111
  export const _PERSONAL_ROOM_ = 'PERSONAL_ROOM';
@@ -135,14 +136,14 @@ export const _MOVE_MEDIA_ = 'MOVE_MEDIA';
135
136
  export const PARTICIPANT_DELTAS = {
136
137
  TARGETS: {
137
138
  AUDIO: 'audio',
138
- VIDEO: 'video'
139
+ VIDEO: 'video',
139
140
  },
140
141
  STATES: {
141
142
  DISABLED: 'disabled',
142
143
  MUTED: 'muted',
143
144
  UNKNOWN: 'unknown',
144
- UNMUTED: 'unmuted'
145
- }
145
+ UNMUTED: 'unmuted',
146
+ },
146
147
  };
147
148
 
148
149
  // *********** STRING HELPERS ***********
@@ -190,7 +191,6 @@ export const ICE_TIMEOUT = 2000;
190
191
  export const ICE_FAIL_TIMEOUT = 3000;
191
192
 
192
193
  export const RETRY_TIMEOUT = 3000;
193
- export const ROAP_SEQ_PRE = -1;
194
194
 
195
195
  export const PC_BAIL_TIMEOUT = 8000;
196
196
 
@@ -200,21 +200,26 @@ export const DIALER_REGEX = {
200
200
  // modified from https://github.com/kirm/sip.js base
201
201
  // and with https://tools.ietf.org/html/rfc3261
202
202
  // requires the @ symbol
203
- SIP_ADDRESS: /^(sips?)?:?(?:([^\s>:@]+)(?::([^\s@>]+))?@)([\w\-.]+)(?::(\d+))?((?:;[^\s=?>;]+(?:=[^\s?;]+)?)*)(?:\?(([^\s&=>]+=[^\s&=>]+)(&[^\s&=>]+=[^\s&=>]+)*))?$/,
203
+ SIP_ADDRESS:
204
+ /^(sips?)?:?(?:([^\s>:@]+)(?::([^\s@>]+))?@)([\w\-.]+)(?::(\d+))?((?:;[^\s=?>;]+(?:=[^\s?;]+)?)*)(?:\?(([^\s&=>]+=[^\s&=>]+)(&[^\s&=>]+=[^\s&=>]+)*))?$/,
204
205
  // standard telephony num regex
205
- PHONE_NUMBER: /^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/,
206
- E164_FORMAT: /^\+[1-9]\d{1,14}$/
206
+ PHONE_NUMBER:
207
+ /^(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?$/,
208
+ E164_FORMAT: /^\+[1-9]\d{1,14}$/,
207
209
  };
208
210
 
209
211
  // eslint-disable-next-line max-len
210
212
  export const IPV4_REGEX = /^(?:[0-9]{1,3}\.){3}[0-9]{1,3}|.local/g;
211
213
 
212
- export const VALID_EMAIL_ADDRESS = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
213
- export const VALID_PMR_ADDRESS = /([a-z0-9][-a-z0-9, '.']{0,62})@([a-z0-9][-a-z0-9, '.']{0,62})\.webex\.com/i;
214
- export const VALID_PMR_LINK = /(https:\/\/)?([a-z0-9][-a-z0-9, '.']{0,62})\.webex\.com\/(meet|join)\/([a-z0-9][-a-z0-9, '.']{0,62})\/?/i;
214
+ export const VALID_EMAIL_ADDRESS =
215
+ /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
216
+ export const VALID_PMR_ADDRESS =
217
+ /([a-z0-9][-a-z0-9, '.']{0,62})@([a-z0-9][-a-z0-9, '.']{0,62})\.webex\.com/i;
218
+ export const VALID_PMR_LINK =
219
+ /(https:\/\/)?([a-z0-9][-a-z0-9, '.']{0,62})\.webex\.com\/(meet|join)\/([a-z0-9][-a-z0-9, '.']{0,62})\/?/i;
215
220
  export const VALID_PIN = /([0-9]{4,6})/;
216
- export const UUID_REG = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
217
-
221
+ export const UUID_REG =
222
+ /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
218
223
 
219
224
  // ******************** OBJECTS ********************
220
225
  // Please alphabetize, and keep objects organized
@@ -222,7 +227,7 @@ export const UUID_REG = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f
222
227
  // TODO: move all api params to API section
223
228
  export const API = {
224
229
  CALLIOPEDISCOVERY: 'calliopeDiscovery',
225
- LOCUS: 'locus'
230
+ LOCUS: 'locus',
226
231
  };
227
232
 
228
233
  export const CALENDAR_EVENTS = {
@@ -230,26 +235,38 @@ export const CALENDAR_EVENTS = {
230
235
  UPDATE: 'event:calendar.meeting.update',
231
236
  CREATE_MINIMAL: 'event:calendar.meeting.create.minimal',
232
237
  UPDATE_MINIMAL: 'event:calendar.meeting.update.minimal',
233
- DELETE: 'event:calendar.meeting.delete'
238
+ DELETE: 'event:calendar.meeting.delete',
234
239
  };
235
240
 
236
241
  export const DEFAULT_GET_STATS_FILTER = {
237
- types: ['track', 'transport', 'candidate-pair', 'outbound-rtp', 'outboundrtp', 'inbound-rtp', 'inboundrtp', 'remote-inbound-rtp', 'remote-outbound-rtp', 'remote-candidate', 'local-candidate', 'media-source']
242
+ types: [
243
+ 'track',
244
+ 'transport',
245
+ 'candidate-pair',
246
+ 'outbound-rtp',
247
+ 'outboundrtp',
248
+ 'inbound-rtp',
249
+ 'inboundrtp',
250
+ 'remote-inbound-rtp',
251
+ 'remote-outbound-rtp',
252
+ 'remote-candidate',
253
+ 'local-candidate',
254
+ 'media-source',
255
+ ],
238
256
  };
239
257
 
240
-
241
258
  export const RECORDING_STATE = {
242
259
  RECORDING: 'recording',
243
260
  IDLE: 'idle',
244
261
  PAUSED: 'paused',
245
- RESUMED: 'resumed'
262
+ RESUMED: 'resumed',
246
263
  };
247
264
 
248
265
  export const SHARE_STATUS = {
249
266
  NO_SHARE: 'no_share',
250
267
  REMOTE_SHARE_ACTIVE: 'remote_share_active',
251
268
  LOCAL_SHARE_ACTIVE: 'local_share_active',
252
- WHITEBOARD_SHARE_ACTIVE: 'whiteboard_share_active'
269
+ WHITEBOARD_SHARE_ACTIVE: 'whiteboard_share_active',
253
270
  };
254
271
 
255
272
  // TODO: do we want to scope by meeting, members when they come off those objects themselves?
@@ -274,6 +291,7 @@ export const EVENT_TRIGGERS = {
274
291
  MEETING_STOPPED_RECORDING: 'meeting:recording:stopped',
275
292
  MEETING_STARTED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:started',
276
293
  MEETING_STOPPED_RECEIVING_TRANSCRIPTION: 'meeting:receiveTranscription:stopped',
294
+ MEETING_RECEIVE_REACTIONS: 'meeting:receiveReactions',
277
295
  MEETING_PAUSED_RECORDING: 'meeting:recording:paused',
278
296
  MEETING_RESUMED_RECORDING: 'meeting:recording:resumed',
279
297
  MEETING_ADDED: 'meeting:added',
@@ -282,6 +300,8 @@ export const EVENT_TRIGGERS = {
282
300
  MEETING_RINGING_STOP: 'meeting:ringingStop',
283
301
  MEETING_SELF_LOBBY_WAITING: 'meeting:self:lobbyWaiting',
284
302
  MEETING_SELF_GUEST_ADMITTED: 'meeting:self:guestAdmitted',
303
+ MEETING_SELF_VIDEO_MUTED_BY_OTHERS: 'meeting:self:videoMutedByOthers',
304
+ MEETING_SELF_VIDEO_UNMUTED_BY_OTHERS: 'meeting:self:videoUnmutedByOthers',
285
305
  MEETING_SELF_MUTED_BY_OTHERS: 'meeting:self:mutedByOthers',
286
306
  MEETING_SELF_UNMUTED_BY_OTHERS: 'meeting:self:unmutedByOthers',
287
307
  MEETING_SELF_REQUESTED_TO_UNMUTE: 'meeting:self:requestedToUnmute',
@@ -290,7 +310,14 @@ export const EVENT_TRIGGERS = {
290
310
  MEETING_SELF_IS_SHARING_BLOCKED: 'meeting:self:isSharingBlocked',
291
311
  MEETING_CONTROLS_LAYOUT_UPDATE: 'meeting:layout:update',
292
312
  MEETING_ENTRY_EXIT_TONE_UPDATE: 'meeting:entryExitTone:update',
313
+ MEETING_BREAKOUTS_UPDATE: 'meeting:breakouts:update',
314
+ MEETING_BREAKOUTS_CLOSING: 'meeting:breakouts:closing',
315
+ MEETING_BREAKOUTS_MESSAGE: 'meeting:breakouts:message',
316
+ MEETING_BREAKOUTS_ASK_RETURN_TO_MAIN: 'meeting:breakouts:askReturnToMain',
317
+ MEETING_BREAKOUTS_LEAVE: 'meeting:breakouts:leave',
318
+ MEETING_BREAKOUTS_ASK_FOR_HELP: 'meeting:breakouts:askForHelp',
293
319
  MEMBERS_UPDATE: 'members:update',
320
+ MEMBERS_CLEAR: 'members:clear',
294
321
  MEMBERS_CONTENT_UPDATE: 'members:content:update',
295
322
  MEMBERS_HOST_UPDATE: 'members:host:update',
296
323
  MEMBERS_SELF_UPDATE: 'members:self:update',
@@ -311,7 +338,14 @@ export const EVENT_TRIGGERS = {
311
338
  MEETINGS_NETWORK_CONNECTED: 'network:connected',
312
339
  MEETING_SELF_LEFT: 'meeting:self:left',
313
340
  NETWORK_QUALITY: 'network:quality',
314
- MEDIA_NEGOTIATED: 'media:negotiated'
341
+ MEDIA_NEGOTIATED: 'media:negotiated',
342
+ // the following events apply only to multistream media connections
343
+ ACTIVE_SPEAKER_CHANGED: 'media:activeSpeakerChanged',
344
+ REMOTE_VIDEO_SOURCE_COUNT_CHANGED: 'media:remoteVideoSourceCountChanged',
345
+ REMOTE_AUDIO_SOURCE_COUNT_CHANGED: 'media:remoteAudioSourceCountChanged',
346
+ REMOTE_MEDIA_AUDIO_CREATED: 'media:remoteAudio:created',
347
+ REMOTE_MEDIA_SCREEN_SHARE_AUDIO_CREATED: 'media:remoteScreenShareAudio:created',
348
+ REMOTE_MEDIA_VIDEO_LAYOUT_CHANGED: 'media:remoteVideo:layoutChanged',
315
349
  };
316
350
 
317
351
  export const EVENT_TYPES = {
@@ -323,7 +357,7 @@ export const EVENT_TYPES = {
323
357
  REMOTE_VIDEO: 'remoteVideo',
324
358
  REMOTE_SHARE: 'remoteShare',
325
359
  LOCAL_SHARE: 'localShare',
326
- ERROR: 'error'
360
+ ERROR: 'error',
327
361
  };
328
362
 
329
363
  // Handles the reason when meeting gets destroyed
@@ -335,9 +369,10 @@ export const MEETING_REMOVED_REASON = {
335
369
  FULLSTATE_REMOVED: 'FULLSTATE_REMOVED', // meeting got dropped ? not sure
336
370
  MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING', // Meeting got ended or everyone left the meeting
337
371
  CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST', // You triggered leave meeting
372
+ CLIENT_LEAVE_REQUEST_TAB_CLOSED: 'CLIENT_LEAVE_REQUEST_TAB_CLOSED', // You triggered leave meeting, such as closing the browser tab directly
338
373
  USER_ENDED_SHARE_STREAMS: 'USER_ENDED_SHARE_STREAMS', // user triggered stop share
339
374
  NO_MEETINGS_TO_SYNC: 'NO_MEETINGS_TO_SYNC', // After the syncMeeting no meeting exists
340
- MEETING_CONNECTION_FAILED: 'MEETING_CONNECTION_FAILED' // meeting failed to connect due to ice failures or firewall issue
375
+ MEETING_CONNECTION_FAILED: 'MEETING_CONNECTION_FAILED', // meeting failed to connect due to ice failures or firewall issue
341
376
  };
342
377
 
343
378
  // One one one calls ends for the following reasons
@@ -346,17 +381,16 @@ export const MEETING_REMOVED_REASON = {
346
381
  export const CALL_REMOVED_REASON = {
347
382
  CALL_INACTIVE: 'CALL_INACTIVE', // partner and you leave the call
348
383
  PARTNER_LEFT: 'PARTNER_LEFT', // partner left the call
349
- SELF_LEFT: 'SELF_LEFT'// you left/declined the call
384
+ SELF_LEFT: 'SELF_LEFT', // you left/declined the call
350
385
  };
351
386
 
352
387
  export const SHARE_STOPPED_REASON = {
353
388
  SELF_STOPPED: 'SELF_STOPPED',
354
- MEETING_REJOIN: 'MEETING_REJOIN'
389
+ MEETING_REJOIN: 'MEETING_REJOIN',
390
+ MEDIA_RECONNECTION: 'MEDIA_RECONNECTION',
355
391
  };
356
392
 
357
393
  export const EVENTS = {
358
- ROAP_OK: 'ROAP_OK',
359
- ROAP_ANSWER: 'ROAP_ANSWER',
360
394
  SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
361
395
  SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
362
396
  MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
@@ -371,66 +405,75 @@ export const EVENTS = {
371
405
  LOCUS_INFO_UPDATE_SELF: 'LOCUS_INFO_UPDATE_SELF',
372
406
  LOCUS_INFO_UPDATE_URL: 'LOCUS_INFO_UPDATE_URL',
373
407
  LOCUS_INFO_CAN_ASSIGN_HOST: 'LOCUS_INFO_CAN_ASSIGN_HOST',
374
- DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY'
408
+ DISCONNECT_DUE_TO_INACTIVITY: 'DISCONNECT_DUE_TO_INACTIVITY',
375
409
  };
376
410
 
377
411
  export const MEDIA_STATE = {
378
412
  active: 'active',
379
- inactive: 'inactive'
413
+ inactive: 'inactive',
380
414
  };
381
415
 
382
416
  export const ERROR_DICTIONARY = {
383
417
  PARAMETER: {
384
418
  NAME: 'ParameterError',
385
- MESSAGE: 'The parameters passed to the function, or object properties needed in the function were null, missing where required, or otherwise incorrect.',
386
- CODE: 0
419
+ MESSAGE:
420
+ 'The parameters passed to the function, or object properties needed in the function were null, missing where required, or otherwise incorrect.',
421
+ CODE: 0,
387
422
  },
388
423
  INTENT_TO_JOIN: {
389
424
  NAME: 'IntentToJoinError',
390
- MESSAGE: 'The meeting is locked. This is expected behavior. Call #join again with pin and/or moderator option',
391
- CODE: 1
425
+ MESSAGE:
426
+ 'The meeting is locked. This is expected behavior. Call #join again with pin and/or moderator option',
427
+ CODE: 1,
392
428
  },
393
429
  JOIN_MEETING: {
394
430
  NAME: 'JoinMeetingError',
395
431
  MESSAGE: 'There was an issue joining the meeting, meeting could be in a bad state.',
396
- CODE: 2
432
+ CODE: 2,
397
433
  },
398
434
  RECONNECTION: {
399
435
  NAME: 'ReconnectionError',
400
- MESSAGE: 'There was an error in the reconnection flow, the meeting may not reconnect, disconnect and dial again.',
401
- CODE: 3
436
+ MESSAGE:
437
+ 'There was an error in the reconnection flow, the meeting may not reconnect, disconnect and dial again.',
438
+ CODE: 3,
402
439
  },
403
440
  MEDIA: {
404
441
  NAME: 'MediaError',
405
442
  MESSAGE: 'There was an error with media, the meeting may not have live audio, video or share.',
406
- CODE: 4
443
+ CODE: 4,
407
444
  },
408
445
  PERMISSION: {
409
446
  NAME: 'PermissionError',
410
- MESSAGE: 'Not allowed to execute the function, some properties on server, or local client state do not allow you to complete this action.',
411
- CODE: 5
447
+ MESSAGE:
448
+ 'Not allowed to execute the function, some properties on server, or local client state do not allow you to complete this action.',
449
+ CODE: 5,
412
450
  },
413
451
  STATS: {
414
452
  NAME: 'StatsError',
415
453
  MESSAGE: 'An error occurred with getStats, stats may not continue for this data stream.',
416
- CODE: 6
454
+ CODE: 6,
417
455
  },
418
456
  PASSWORD: {
419
457
  NAME: 'PasswordError',
420
458
  MESSAGE: 'Password is required, please use verifyPassword()',
421
- CODE: 7
459
+ CODE: 7,
422
460
  },
423
461
  CAPTCHA: {
424
462
  NAME: 'CaptchaError',
425
463
  MESSAGE: 'Captcha is required.',
426
- CODE: 8
427
- }
464
+ CODE: 8,
465
+ },
466
+ BREAKOUT_EDIT: {
467
+ NAME: 'BreakoutEditLockedError',
468
+ MESSAGE: 'Edit lock token mismatch',
469
+ CODE: 9,
470
+ },
428
471
  };
429
472
 
430
473
  export const FLOOR_ACTION = {
431
474
  GRANTED: 'GRANTED',
432
475
  RELEASED: 'RELEASED',
433
- ACCEPTED: 'ACCEPTED'
476
+ ACCEPTED: 'ACCEPTED',
434
477
  };
435
478
 
436
479
  export const FULL_STATE = {
@@ -438,21 +481,22 @@ export const FULL_STATE = {
438
481
  INACTIVE: 'INACTIVE',
439
482
  ACTIVE: 'ACTIVE',
440
483
  TERMINATING: 'TERMINATING',
441
- UNKNOWN: 'UNKNOWN'
484
+ UNKNOWN: 'UNKNOWN',
442
485
  };
443
486
 
444
487
  export const HTTP_VERBS = {
445
488
  PUT: 'PUT',
446
489
  POST: 'POST',
447
490
  GET: 'GET',
448
- PATCH: 'PATCH'
491
+ PATCH: 'PATCH',
492
+ DELETE: 'DELETE',
449
493
  };
450
494
 
451
495
  // https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceGatheringState
452
496
  export const ICE_GATHERING_STATE = {
453
497
  NEW: 'new',
454
498
  GATHERING: 'gathering',
455
- COMPLETE: 'complete'
499
+ COMPLETE: 'complete',
456
500
  };
457
501
 
458
502
  // https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/iceConnectionState
@@ -462,7 +506,7 @@ export const ICE_STATE = {
462
506
  CLOSED: 'closed',
463
507
  COMPLETED: 'completed',
464
508
  FAILED: 'failed',
465
- DISCONNECTED: 'disconnected'
509
+ DISCONNECTED: 'disconnected',
466
510
  };
467
511
 
468
512
  export const CONNECTION_STATE = {
@@ -471,14 +515,14 @@ export const CONNECTION_STATE = {
471
515
  CONNECTED: 'connected',
472
516
  CLOSED: 'closed',
473
517
  FAILED: 'failed',
474
- DISCONNECTED: 'disconnected'
518
+ DISCONNECTED: 'disconnected',
475
519
  };
476
520
 
477
521
  export const LOCUS = {
478
522
  STATE: {
479
523
  INACTIVE: 'INACTIVE',
480
524
  ENDED: 'ENDED',
481
- INITIALIZING: 'INITIALIZING'
525
+ INITIALIZING: 'INITIALIZING',
482
526
  },
483
527
  SEQUENCE: {
484
528
  UN_DEF: 'undef',
@@ -486,9 +530,57 @@ export const LOCUS = {
486
530
  DEF: 'def',
487
531
  NA: 'na',
488
532
  RANGE_START: 'rangeStart',
489
- RANGE_END: 'rangeEnd'
533
+ RANGE_END: 'rangeEnd',
490
534
  },
491
- SYNCDEBUG: 'sync_debug'
535
+ SYNCDEBUG: 'sync_debug',
536
+ };
537
+
538
+ export const ANNOTATION = {
539
+ ANNOTATION_ON_SHARE_SUPPORTED: 'ANNOTATION_ON_SHARE_SUPPORTED',
540
+ };
541
+ export const BREAKOUTS = {
542
+ STATUS: {
543
+ CLOSING: 'CLOSING',
544
+ CLOSED: 'CLOSED',
545
+ PENDING: 'PENDING',
546
+ OPEN: 'OPEN',
547
+ },
548
+ EVENTS: {
549
+ BREAKOUTS_CLOSING: 'BREAKOUTS_CLOSING',
550
+ MESSAGE: 'MESSAGE',
551
+ MEMBERS_UPDATE: 'MEMBERS_UPDATE',
552
+ ASK_RETURN_TO_MAIN: 'ASK_RETURN_TO_MAIN',
553
+ LEAVE_BREAKOUT: 'LEAVE_BREAKOUT',
554
+ ASK_FOR_HELP: 'ASK_FOR_HELP',
555
+ },
556
+ SESSION_TYPES: {
557
+ MAIN: 'MAIN',
558
+ BREAKOUT: 'BREAKOUT',
559
+ },
560
+ SESSION_STATES: {
561
+ ACTIVE: 'active',
562
+ ASSIGNED: 'assigned',
563
+ ALLOWED: 'allowed',
564
+ ASSIGNED_CURRENT: 'assignedCurrent',
565
+ REQUESTED: 'requested',
566
+ },
567
+ BREAKOUTS_SUPPORTED: 'BREAKOUTS_SUPPORTED',
568
+ ACTION: {
569
+ START: 'START',
570
+ CLOSE: 'CLOSE',
571
+ DELETE: 'DELETE',
572
+ },
573
+ ERROR_CODE: {
574
+ EDIT_LOCK_TOKEN_MISMATCH: 201409024,
575
+ EDIT_NOT_AUTHORIZED: 201403007,
576
+ },
577
+ DEFAULT_DURATION: 60000,
578
+ EDIT_LOCK_STATUS: {
579
+ LOCKED: 'LOCKED',
580
+ NOT_LOCKED: 'NOT_LOCKED',
581
+ UNKNOWN: 'UNKNOWN',
582
+ },
583
+ DEFAULT_TTL: 30,
492
584
  };
493
585
 
494
586
  export const LOCUSINFO = {
@@ -496,10 +588,13 @@ export const LOCUSINFO = {
496
588
  CONTROLS_MEETING_LAYOUT_UPDATED: 'CONTROLS_MEETING_LAYOUT_UPDATED',
497
589
  CONTROLS_RECORDING_UPDATED: 'CONTROLS_RECORDING_UPDATED',
498
590
  CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
591
+ CONTROLS_MEETING_BREAKOUT_UPDATED: 'CONTROLS_MEETING_BREAKOUT_UPDATED',
499
592
  CONTROLS_MEETING_CONTAINER_UPDATED: 'CONTROLS_MEETING_CONTAINER_UPDATED',
500
593
  CONTROLS_ENTRY_EXIT_TONE_UPDATED: 'CONTROLS_ENTRY_EXIT_TONE_UPDATED',
594
+ CONTROLS_JOIN_BREAKOUT_FROM_MAIN: 'CONTROLS_JOIN_BREAKOUT_FROM_MAIN',
501
595
  SELF_UNADMITTED_GUEST: 'SELF_UNADMITTED_GUEST',
502
596
  SELF_ADMITTED_GUEST: 'SELF_ADMITTED_GUEST',
597
+ SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED: 'SELF_REMOTE_VIDEO_MUTE_STATUS_UPDATED',
503
598
  SELF_REMOTE_MUTE_STATUS_UPDATED: 'SELF_REMOTE_MUTE_STATUS_UPDATED',
504
599
  LOCAL_UNMUTE_REQUESTED: 'LOCAL_UNMUTE_REQUESTED',
505
600
  LOCAL_UNMUTE_REQUIRED: 'LOCAL_UNMUTE_REQUIRED',
@@ -517,7 +612,11 @@ export const LOCUSINFO = {
517
612
  EMBEDDED_APPS_UPDATED: 'EMBEDDED_APPS_UPDATED',
518
613
  SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE: 'SELF_CANNOT_VIEW_PARTICIPANT_LIST_CHANGE',
519
614
  SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',
520
- }
615
+ SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',
616
+ MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
617
+ LINKS_SERVICES: 'LINKS_SERVICES',
618
+ SELF_MODERATOR_OR_COHOST_UPGRADE: 'SELF_MODERATOR_OR_COHOST_UPGRADE',
619
+ },
521
620
  };
522
621
 
523
622
  export const LOCUSEVENT = {
@@ -529,6 +628,9 @@ export const LOCUSEVENT = {
529
628
  // delta events
530
629
  DIFFERENCE: 'locus.difference',
531
630
 
631
+ // Breakout sessions
632
+ BREAKOUT_ROSTER: 'breakout.roster',
633
+
532
634
  // screen sharing
533
635
  FLOOR_GRANTED: 'locus.floor_granted',
534
636
  FLOOR_RELEASED: 'locus.floor_released',
@@ -552,7 +654,7 @@ export const LOCUSEVENT = {
552
654
  RECORDING_START_FAILED: 'locus.recording_start_failed',
553
655
  RECORDING_STOPPED: 'locus.recording_stopped',
554
656
 
555
- SELF_CHANGED: 'locus.self_changed'
657
+ SELF_CHANGED: 'locus.self_changed',
556
658
  };
557
659
 
558
660
  export const MEDIA_TRACK_CONSTRAINT = {
@@ -562,8 +664,8 @@ export const MEDIA_TRACK_CONSTRAINT = {
562
664
  // The cursor should only be visible while moving, then removed.
563
665
  MOTION: 'motion',
564
666
  // The cursor should never be visible in the generated stream.
565
- NEVER: 'never'
566
- }
667
+ NEVER: 'never',
668
+ },
567
669
  };
568
670
 
569
671
  export const MEETING_ERRORS = {
@@ -586,7 +688,8 @@ export const MEETING_ERRORS = {
586
688
  INVALID_LOCUS_ID: 'INVALID_LOCUS_ID',
587
689
  EMPTY_SCHEDULED_MEETING_START_TIME: 'EMPTY_SCHEDULED_MEETING_START_TIME',
588
690
  INVALID_SCHEDULED_MEETING_DURATION_MINUTES: 'INVALID_SCHEDULED_MEETING_DURATION_MINUTES',
589
- INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES: 'INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES',
691
+ INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES:
692
+ 'INVALID_SCHEDULED_MEETING_REMINDER_DURATION_MINUTES',
590
693
  EMPTY_SCHEDULED_MEETING_ORGANIZER: 'EMPTY_SCHEDULED_MEETING_ORGANIZER',
591
694
  INVALID_MEETING_ID_FORMAT: 'INVALID_MEETING_ID_FORMAT',
592
695
  INVALID_SIP_URL_FORMAT: 'INVALID_SIP_URL_FORMAT',
@@ -667,13 +770,12 @@ export const MEETING_ERRORS = {
667
770
  SERVICE_UNAVAILABLE: 'SERVICE_UNAVAILABLE',
668
771
 
669
772
  SOCKET_TIMEOUT: 'SOCKET_TIMEOUT',
670
- NO_HTTP_RESPONSE: 'NO_HTTP_RESPONSE'
773
+ NO_HTTP_RESPONSE: 'NO_HTTP_RESPONSE',
671
774
  };
672
775
 
673
-
674
776
  export const MEETING_END_REASON = {
675
777
  INACTIVE: 'INACTIVE',
676
- MEDIA_RELEASED: 'MEDIA_RELEASED'
778
+ MEDIA_RELEASED: 'MEDIA_RELEASED',
677
779
  };
678
780
 
679
781
  export const DISPLAY_HINTS = {
@@ -699,13 +801,42 @@ export const DISPLAY_HINTS = {
699
801
  DISPLAY_NON_ENGLISH_ASR: 'DISPLAY_NON_ENGLISH_ASR',
700
802
  TRANSCRIPTION_CONTROL_START: 'TRANSCRIPTION_CONTROL_START',
701
803
  TRANSCRIPTION_CONTROL_STOP: 'TRANSCRIPTION_CONTROL_STOP',
804
+ SAVE_TRANSCRIPTS_ENABLED: 'SAVE_TRANSCRIPTS_ENABLED',
702
805
  WEBEX_ASSISTANT_STATUS_ACTIVE: 'WEBEX_ASSISTANT_STATUS_ACTIVE',
703
806
  WAITING_FOR_OTHERS: 'WAITING_FOR_OTHERS',
807
+ ENABLE_REACTIONS: 'ENABLE_REACTIONS',
808
+ DISABLE_REACTIONS: 'DISABLE_REACTIONS',
809
+ REACTIONS_ACTIVE: 'REACTIONS_ACTIVE',
810
+ REACTIONS_INACTIVE: 'REACTIONS_INACTIVE',
811
+ SHARE_CONTROL: 'SHARE_CONTROL',
812
+ ENABLE_MUTE_ON_ENTRY: 'ENABLE_MUTE_ON_ENTRY',
813
+ ENABLE_SHOW_DISPLAY_NAME: 'ENABLE_SHOW_DISPLAY_NAME',
814
+ DISABLE_SHOW_DISPLAY_NAME: 'DISABLE_SHOW_DISPLAY_NAME',
815
+ DISABLE_MUTE_ON_ENTRY: 'DISABLE_MUTE_ON_ENTRY',
816
+ ENABLE_HARD_MUTE: 'ENABLE_HARD_MUTE',
817
+ DISABLE_HARD_MUTE: 'DISABLE_HARD_MUTE',
818
+ MUTE_ALL: 'MUTE_ALL',
819
+ UNMUTE_ALL: 'UNMUTE_ALL',
820
+ PRESENTER_CONTROL: 'PRESENTER_CONTROL',
821
+ CAN_RENAME_SELF_AND_OBSERVED: 'CAN_RENAME_SELF_AND_OBSERVED',
822
+ CAN_RENAME_OTHERS: 'CAN_RENAME_OTHERS',
823
+
824
+ // breakout session
825
+ BREAKOUT_MANAGEMENT: 'BREAKOUT_MANAGEMENT',
826
+ UCF_SUPPRESS_BREAKOUTS_SUPPORT: 'UCF_SUPPRESS_BREAKOUTS_SUPPORT',
827
+ DISABLE_ASK_FOR_HELP: 'DISABLE_ASK_FOR_HELP',
828
+ DISABLE_BREAKOUT_PREASSIGNMENTS: 'DISABLE_BREAKOUT_PREASSIGNMENTS',
829
+ DISABLE_LOBBY_TO_BREAKOUT: 'DISABLE_LOBBY_TO_BREAKOUT',
830
+
831
+ // participants list
832
+ DISABLE_VIEW_THE_PARTICIPANT_LIST: 'DISABLE_VIEW_THE_PARTICIPANT_LIST',
833
+ ENABLE_VIEW_THE_PARTICIPANT_LIST: 'ENABLE_VIEW_THE_PARTICIPANT_LIST',
704
834
  };
705
835
 
706
836
  export const SELF_ROLES = {
707
837
  COHOST: 'COHOST',
708
- MODERATOR: 'MODERATOR'
838
+ MODERATOR: 'MODERATOR',
839
+ ATTENDEE: 'ATTENDEE',
709
840
  };
710
841
 
711
842
  export const MEETING_STATE = {
@@ -720,8 +851,8 @@ export const MEETING_STATE = {
720
851
  TERMINATING: 'TERMINATING',
721
852
  LEFT: 'LEFT',
722
853
  ENDED: 'ENDED',
723
- ERROR: 'ERROR'
724
- }
854
+ ERROR: 'ERROR',
855
+ },
725
856
  };
726
857
 
727
858
  export const MEETING_STATE_MACHINE = {
@@ -733,7 +864,7 @@ export const MEETING_STATE_MACHINE = {
733
864
  DECLINE: 'decline',
734
865
  LEAVE: 'leave',
735
866
  END: 'end',
736
- RESET: 'reset'
867
+ RESET: 'reset',
737
868
  },
738
869
  STATES: {
739
870
  ERROR: 'ERROR',
@@ -742,35 +873,35 @@ export const MEETING_STATE_MACHINE = {
742
873
  DECLINED: 'DECLINED',
743
874
  RINGING: 'RINGING',
744
875
  JOINED: 'JOINED',
745
- ANSWERED: 'ANSWERED'
746
- }
876
+ ANSWERED: 'ANSWERED',
877
+ },
747
878
  };
748
879
 
749
880
  export const MEETING_AUDIO_STATE_MACHINE = {
750
881
  TRANSITIONS: {
751
882
  TOGGLE: 'toggle',
752
- INIT: 'init'
883
+ INIT: 'init',
753
884
  },
754
885
  STATES: {
755
886
  MUTE_SELF: 'SELF_AUDIO_OFF',
756
- UNMUTE_SELF: 'SELF_AUDIO_ON'
757
- }
887
+ UNMUTE_SELF: 'SELF_AUDIO_ON',
888
+ },
758
889
  };
759
890
 
760
891
  export const MEETING_VIDEO_STATE_MACHINE = {
761
892
  TRANSITIONS: {
762
893
  TOGGLE: 'toggle',
763
- INIT: 'init'
894
+ INIT: 'init',
764
895
  },
765
896
  STATES: {
766
897
  MUTE_SELF: 'SELF_VIDEO_OFF',
767
- UNMUTE_SELF: 'SELF_VIDEO_ON'
768
- }
898
+ UNMUTE_SELF: 'SELF_VIDEO_ON',
899
+ },
769
900
  };
770
901
 
771
902
  export const PEER_CONNECTION_STATE = {
772
903
  CLOSED: 'closed',
773
- FAILED: 'failed'
904
+ FAILED: 'failed',
774
905
  };
775
906
 
776
907
  export const RECONNECTION = {
@@ -779,105 +910,54 @@ export const RECONNECTION = {
779
910
  COMPLETE: 'COMPLETE',
780
911
  FAILURE: 'FAILURE',
781
912
  DEFAULT_TRY_COUNT: 0,
782
- DEFAULT_STATUS: ''
783
- }
913
+ DEFAULT_STATUS: '',
914
+ },
784
915
  };
785
916
 
786
917
  export const RESOURCE = {
787
918
  CLUSTERS: 'clusters',
788
919
  REACHABILITY: 'reachability',
789
- LOCI: 'loci'
920
+ LOCI: 'loci',
790
921
  };
791
922
 
792
923
  export const REACHABILITY = {
793
- localStorage: 'reachability.result'
924
+ localStorageResult: 'reachability.result',
925
+ localStorageJoinCookie: 'reachability.joinCookie',
926
+ namespace: 'Reachability',
794
927
  };
795
928
 
796
929
  export const ROAP = {
797
- ROAP_TRANSITIONS: {
798
- STEP: 'step'
799
- },
800
930
  ROAP_TYPES: {
801
931
  OFFER: 'OFFER',
802
932
  ANSWER: 'ANSWER',
803
933
  OK: 'OK',
804
934
  ERROR: 'ERROR',
805
- SHUTDOWN: 'SHUTDOWN',
806
- OFFER_REQUEST: 'OFFER_REQUEST',
807
935
  TURN_DISCOVERY_REQUEST: 'TURN_DISCOVERY_REQUEST',
808
936
  TURN_DISCOVERY_RESPONSE: 'TURN_DISCOVERY_RESPONSE',
809
937
  },
810
- ROAP_STATE: {
811
- INIT: 'INIT',
812
- WAIT_RX_OFFER: 'WAIT_RX_OFFER',
813
- WAIT_RX_ANSWER: 'WAIT_RX_ANSWER',
814
- WAIT_RX_OK: 'WAIT_RX_OK',
815
- WAIT_TX_OFFER: 'WAIT_TX_OFFER',
816
- WAIT_TX_ANSWER: 'WAIT_TX_ANSWER',
817
- WAIT_TX_OK: 'WAIT_TX_OK',
818
- IDLE_LOCAL_OFFER: 'IDLE_LOCAL_OFFER',
819
- IDLE_REMOTE_OFFER: 'IDLE_REMOTE_OFFER',
820
- GLARE: 'GLARE',
821
- ERROR: 'ERROR'
822
- },
823
- ROAP_SIGNAL: {
824
- RX_OFFER: 'RX_OFFER',
825
- TX_OFFER: 'TX_OFFER',
826
- RX_ANSWER: 'RX_ANSWER',
827
- TX_ANSWER: 'TX_ANSWER',
828
- RX_OK: 'RX_OK',
829
- TX_OK: 'TX_OK',
830
- GLARE_RESOLVED: 'GLARE_RESOLVED'
831
- },
832
- RECEIVE_ROAP_MSG: 'RECEIVE_ROAP_MSG',
833
- SEND_ROAP_MSG: 'SEND_ROAP_MSG',
834
- SEND_ROAP_MSG_SUCCESS: 'SEND_ROAP_MSG_SUCCESS',
835
- RESET_ROAP_STATE: 'RESET_ROAP_STATE',
836
- RECEIVE_CALL_LEAVE: 'RECEIVE_CALL_LEAVE',
837
938
  ROAP_MERCURY: 'event:locus.message.roap',
838
939
  ROAP_VERSION: '2',
839
- RX_: 'RX_',
840
- TX_: 'TX_'
841
940
  };
842
941
 
843
942
  export const MediaContent = {
844
943
  main: 'main',
845
- slides: 'slides'
846
- };
847
-
848
- export const SDP = {
849
- A_CONTENT_SLIDES: 'a=content:slides',
850
- ROLLBACK: 'rollback',
851
- HAVE_LOCAL_OFFER: 'have-local-offer',
852
- HAVE_REMOTE_OFFER: 'have-remote-offer',
853
- STABLE: 'stable',
854
- OFFER: 'offer',
855
- M_LINE: 'm=',
856
- MAX_FS: 'max-fs=',
857
- B_LINE: 'b=TIAS',
858
- // Edonus repeated key frames request
859
- PERIODIC_KEYFRAME: 'a=periodic-keyframes:20',
860
- CARRIAGE_RETURN: '\r\n',
861
- BAD_MEDIA_PORTS: [0]
944
+ slides: 'slides',
862
945
  };
863
946
 
864
947
  export const NETWORK_STATUS = {
865
948
  DISCONNECTED: 'DISCONNECTED',
866
949
  RECONNECTING: 'RECONNECTING',
867
- CONNECTED: 'CONNECTED'
950
+ CONNECTED: 'CONNECTED',
868
951
  };
869
952
 
870
953
  export const NETWORK_TYPE = {
871
954
  VPN: 'vpn',
872
955
  UNKNOWN: 'unknown',
873
956
  WIFI: 'wifi',
874
- ETHERNET: 'ethernet'
957
+ ETHERNET: 'ethernet',
875
958
  };
876
959
 
877
960
  export const STATS = {
878
- AUDIO_CORRELATE: 'audio',
879
- VIDEO_CORRELATE: 'video',
880
- SHARE_CORRELATE: 'share',
881
961
  SEND_DIRECTION: 'send',
882
962
  RECEIVE_DIRECTION: 'recv',
883
963
  REMOTE: 'remote',
@@ -895,7 +975,7 @@ export const MQA_STATS = {
895
975
  isMain: false, // always true for share sender
896
976
  mariFecEnabled: false, // unavailable
897
977
  mariQosEnabled: false, // unavailable
898
- multistreamEnabled: false // unavailable
978
+ multistreamEnabled: false, // unavailable
899
979
  },
900
980
  availableBitrate: 0,
901
981
  dtlsBitrate: 0, // unavailable
@@ -914,7 +994,7 @@ export const MQA_STATS = {
914
994
  rtpPackets: 0,
915
995
  stunBitrate: 0, // unavailable
916
996
  stunPackets: 0, // unavailable
917
- transportType: 'UDP' // TODO: parse the transport type from the SDP and save globally
997
+ transportType: 'UDP', // TODO: parse the transport type from the SDP and save globally
918
998
  },
919
999
  streams: [
920
1000
  {
@@ -926,7 +1006,7 @@ export const MQA_STATS = {
926
1006
  rtpPackets: 0,
927
1007
  ssci: 0, // unavailable
928
1008
  transmittedBitrate: 0,
929
- transmittedFrameRate: 0
1009
+ transmittedFrameRate: 0,
930
1010
  },
931
1011
  h264CodecProfile: 'BP', // TODO: parse the profile level from h264 in the SDP and save globally
932
1012
  localConfigurationChanges: 0, // unavailable
@@ -936,9 +1016,9 @@ export const MQA_STATS = {
936
1016
  transmittedFrameSize: 0, // unavailable
937
1017
  transmittedHeight: 0,
938
1018
  transmittedKeyFrames: 0,
939
- transmittedWidth: 0
940
- }
941
- ]
1019
+ transmittedWidth: 0,
1020
+ },
1021
+ ],
942
1022
  },
943
1023
  intervalMetadata: {
944
1024
  memoryUsage: {
@@ -949,18 +1029,19 @@ export const MQA_STATS = {
949
1029
  processMaximumMemoryBytes: 0,
950
1030
  processMaximumMemoryUsage: 0,
951
1031
  systemAverageMemoryUsage: 0,
952
- systemMaximumMemoryUsage: 0
1032
+ systemMaximumMemoryUsage: 0,
953
1033
  },
954
1034
  peerReflexiveIP: 'NULL', // TODO: save after ice trickling completes and use as a global variable
955
1035
  processAverageCPU: 0,
956
1036
  processMaximumCPU: 0,
957
1037
  systemAverageCPU: 0,
958
- systemMaximumCPU: 0
959
- }
1038
+ systemMaximumCPU: 0,
1039
+ },
960
1040
  };
961
1041
 
962
1042
  // ****** MEDIA QUALITY CONSTANTS ****** //
963
1043
 
1044
+ // these values must match allowed values of RemoteQualityLevel from the @webex/internal-media-core lib
964
1045
  export const QUALITY_LEVELS = {
965
1046
  LOW: 'LOW',
966
1047
  MEDIUM: 'MEDIUM',
@@ -971,56 +1052,55 @@ export const QUALITY_LEVELS = {
971
1052
  '1080p': '1080p',
972
1053
  };
973
1054
 
974
-
975
1055
  export const AVAILABLE_RESOLUTIONS = {
976
1056
  '360p': {
977
1057
  video: {
978
1058
  width: {
979
1059
  max: 640,
980
- ideal: 640
1060
+ ideal: 640,
981
1061
  },
982
1062
  height: {
983
1063
  max: 360,
984
- ideal: 360
985
- }
986
- }
1064
+ ideal: 360,
1065
+ },
1066
+ },
987
1067
  },
988
1068
  '480p': {
989
1069
  video: {
990
1070
  width: {
991
1071
  max: 640,
992
- ideal: 640
1072
+ ideal: 640,
993
1073
  },
994
1074
  height: {
995
1075
  max: 480,
996
- ideal: 480
997
- }
998
- }
1076
+ ideal: 480,
1077
+ },
1078
+ },
999
1079
  },
1000
1080
  '720p': {
1001
1081
  video: {
1002
1082
  width: {
1003
1083
  max: 1280,
1004
- ideal: 1280
1084
+ ideal: 1280,
1005
1085
  },
1006
1086
  height: {
1007
1087
  max: 720,
1008
- ideal: 720
1009
- }
1010
- }
1088
+ ideal: 720,
1089
+ },
1090
+ },
1011
1091
  },
1012
1092
  '1080p': {
1013
1093
  video: {
1014
1094
  width: {
1015
1095
  max: 1920,
1016
- ideal: 1920
1096
+ ideal: 1920,
1017
1097
  },
1018
1098
  height: {
1019
1099
  max: 1080,
1020
- ideal: 1080
1021
- }
1022
- }
1023
- }
1100
+ ideal: 1080,
1101
+ },
1102
+ },
1103
+ },
1024
1104
  };
1025
1105
 
1026
1106
  export const VIDEO_RESOLUTIONS = {
@@ -1033,29 +1113,16 @@ export const VIDEO_RESOLUTIONS = {
1033
1113
  [QUALITY_LEVELS['1080p']]: AVAILABLE_RESOLUTIONS['1080p'],
1034
1114
  };
1035
1115
 
1036
- /**
1037
- * Max frame sizes based on h264 configs
1038
- * https://en.wikipedia.org/wiki/Advanced_Video_Coding
1039
- */
1040
- export const REMOTE_VIDEO_CONSTRAINTS = {
1041
- MAX_FS: {
1042
- [QUALITY_LEVELS.LOW]: 1620,
1043
- [QUALITY_LEVELS.MEDIUM]: 3600,
1044
- [QUALITY_LEVELS.HIGH]: 8192
1045
- }
1046
- };
1047
-
1048
1116
  /*
1049
- * mqa Interval for sending stats metrics
1050
- */
1117
+ * mqa Interval for sending stats metrics
1118
+ */
1051
1119
 
1052
1120
  export const MQA_INTEVAL = 60000; // mqa analyzer interval its fixed to 60000
1053
1121
 
1054
-
1055
1122
  export const MEDIA_DEVICES = {
1056
1123
  MICROPHONE: 'microphone',
1057
1124
  SPEAKER: 'speaker',
1058
- CAMERA: 'camera'
1125
+ CAMERA: 'camera',
1059
1126
  };
1060
1127
 
1061
1128
  export const METRICS_JOIN_TIMES_MAX_DURATION = 1200000;
@@ -1066,31 +1133,37 @@ export const PSTN_STATUS = {
1066
1133
  LEFT: 'LEFT', // user has disconnected from the pstn device
1067
1134
  TRANSFERRING: 'TRANSFERRING', // usually happens in dial-out after the CONNECTED state
1068
1135
  SUCCESS: 'SUCCESS', // happens after the transfer (TRANSFERRING) is successful
1069
- UNKNOWN: '' // placeholder if we haven't been told what the status is
1136
+ UNKNOWN: '', // placeholder if we haven't been told what the status is
1070
1137
  };
1071
1138
 
1072
1139
  export const PASSWORD_STATUS = {
1073
1140
  NOT_REQUIRED: 'NOT_REQUIRED', // password is not required to join the meeting
1074
1141
  REQUIRED: 'REQUIRED', // client needs to provide the password by calling verifyPassword() before calling join()
1075
1142
  UNKNOWN: 'UNKNOWN', // we are waiting for information from the backend if password is required or not
1076
- VERIFIED: 'VERIFIED' // client has already provided the password and it has been verified, client can proceed to call join()
1143
+ VERIFIED: 'VERIFIED', // client has already provided the password and it has been verified, client can proceed to call join()
1077
1144
  };
1078
1145
 
1079
1146
  export const MEETING_INFO_FAILURE_REASON = {
1080
1147
  NONE: 'NONE', // meeting info was retrieved succesfully
1081
1148
  WRONG_PASSWORD: 'WRONG_PASSWORD', // meeting requires password and no password or wrong one was provided
1082
1149
  WRONG_CAPTCHA: 'WRONG_CAPTCHA', // wbxappapi requires a captcha code or a wrong captcha code was provided
1083
- OTHER: 'OTHER' // any other error (network, etc)
1150
+ POLICY: 'POLICY', // meeting info request violates some meeting policy
1151
+ OTHER: 'OTHER', // any other error (network, etc)
1084
1152
  };
1085
1153
 
1086
1154
  export const BNR_STATUS = {
1087
1155
  SHOULD_ENABLE: 'SHOULD_ENABLE',
1088
1156
  ENABLED: 'ENABLED',
1089
1157
  SHOULD_DISABLE: 'SHOULD_DISABLE',
1090
- NOT_ENABLED: 'NOT_ENABLED'
1158
+ NOT_ENABLED: 'NOT_ENABLED',
1091
1159
  };
1092
1160
 
1093
1161
  export const EMBEDDED_APP_TYPES = {
1094
1162
  SLIDO: 'SLIDO',
1095
- OTHER: 'OTHER'
1163
+ OTHER: 'OTHER',
1164
+ };
1165
+
1166
+ export const DEFAULT_MEETING_INFO_REQUEST_BODY = {
1167
+ supportHostKey: true,
1168
+ supportCountryList: true,
1096
1169
  };