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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/README.md +45 -7
  2. package/dist/annotation/annotation.types.js +7 -0
  3. package/dist/annotation/annotation.types.js.map +1 -0
  4. package/dist/annotation/constants.js +49 -0
  5. package/dist/annotation/constants.js.map +1 -0
  6. package/dist/annotation/index.js +342 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +114 -14
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/edit-lock-error.js +52 -0
  11. package/dist/breakouts/edit-lock-error.js.map +1 -0
  12. package/dist/breakouts/events.js +45 -0
  13. package/dist/breakouts/events.js.map +1 -0
  14. package/dist/breakouts/index.js +841 -19
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/request.js +78 -0
  17. package/dist/breakouts/request.js.map +1 -0
  18. package/dist/breakouts/utils.js +67 -0
  19. package/dist/breakouts/utils.js.map +1 -0
  20. package/dist/common/errors/webex-errors.js +3 -2
  21. package/dist/common/errors/webex-errors.js.map +1 -1
  22. package/dist/common/logs/logger-proxy.js +1 -1
  23. package/dist/common/logs/logger-proxy.js.map +1 -1
  24. package/dist/common/queue.js +24 -9
  25. package/dist/common/queue.js.map +1 -1
  26. package/dist/config.js +3 -8
  27. package/dist/config.js.map +1 -1
  28. package/dist/constants.js +179 -30
  29. package/dist/constants.js.map +1 -1
  30. package/dist/controls-options-manager/constants.js +14 -0
  31. package/dist/controls-options-manager/constants.js.map +1 -0
  32. package/dist/controls-options-manager/enums.js +27 -0
  33. package/dist/controls-options-manager/enums.js.map +1 -0
  34. package/dist/controls-options-manager/index.js +297 -0
  35. package/dist/controls-options-manager/index.js.map +1 -0
  36. package/dist/controls-options-manager/types.js +7 -0
  37. package/dist/controls-options-manager/types.js.map +1 -0
  38. package/dist/controls-options-manager/util.js +319 -0
  39. package/dist/controls-options-manager/util.js.map +1 -0
  40. package/dist/index.js +106 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/interpretation/collection.js +23 -0
  43. package/dist/interpretation/collection.js.map +1 -0
  44. package/dist/interpretation/index.js +366 -0
  45. package/dist/interpretation/index.js.map +1 -0
  46. package/dist/interpretation/siLanguage.js +25 -0
  47. package/dist/interpretation/siLanguage.js.map +1 -0
  48. package/dist/locus-info/controlsUtils.js +91 -2
  49. package/dist/locus-info/controlsUtils.js.map +1 -1
  50. package/dist/locus-info/index.js +359 -64
  51. package/dist/locus-info/index.js.map +1 -1
  52. package/dist/locus-info/infoUtils.js +7 -1
  53. package/dist/locus-info/infoUtils.js.map +1 -1
  54. package/dist/locus-info/mediaSharesUtils.js +43 -1
  55. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  56. package/dist/locus-info/parser.js +219 -63
  57. package/dist/locus-info/parser.js.map +1 -1
  58. package/dist/locus-info/selfUtils.js +89 -14
  59. package/dist/locus-info/selfUtils.js.map +1 -1
  60. package/dist/media/index.js +48 -135
  61. package/dist/media/index.js.map +1 -1
  62. package/dist/media/properties.js +29 -90
  63. package/dist/media/properties.js.map +1 -1
  64. package/dist/mediaQualityMetrics/config.js +505 -493
  65. package/dist/mediaQualityMetrics/config.js.map +1 -1
  66. package/dist/meeting/in-meeting-actions.js +90 -2
  67. package/dist/meeting/in-meeting-actions.js.map +1 -1
  68. package/dist/meeting/index.js +2770 -2547
  69. package/dist/meeting/index.js.map +1 -1
  70. package/dist/meeting/locusMediaRequest.js +291 -0
  71. package/dist/meeting/locusMediaRequest.js.map +1 -0
  72. package/dist/meeting/muteState.js +229 -124
  73. package/dist/meeting/muteState.js.map +1 -1
  74. package/dist/meeting/request.js +199 -193
  75. package/dist/meeting/request.js.map +1 -1
  76. package/dist/meeting/util.js +532 -414
  77. package/dist/meeting/util.js.map +1 -1
  78. package/dist/meeting-info/index.js +48 -7
  79. package/dist/meeting-info/index.js.map +1 -1
  80. package/dist/meeting-info/meeting-info-v2.js +171 -51
  81. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  82. package/dist/meeting-info/utilv2.js +20 -5
  83. package/dist/meeting-info/utilv2.js.map +1 -1
  84. package/dist/meetings/collection.js +22 -0
  85. package/dist/meetings/collection.js.map +1 -1
  86. package/dist/meetings/index.js +357 -66
  87. package/dist/meetings/index.js.map +1 -1
  88. package/dist/meetings/meetings.types.js +7 -0
  89. package/dist/meetings/meetings.types.js.map +1 -0
  90. package/dist/meetings/request.js +2 -0
  91. package/dist/meetings/request.js.map +1 -1
  92. package/dist/meetings/util.js +88 -1
  93. package/dist/meetings/util.js.map +1 -1
  94. package/dist/member/index.js +49 -0
  95. package/dist/member/index.js.map +1 -1
  96. package/dist/member/types.js +25 -0
  97. package/dist/member/types.js.map +1 -0
  98. package/dist/member/util.js +121 -25
  99. package/dist/member/util.js.map +1 -1
  100. package/dist/members/collection.js +10 -0
  101. package/dist/members/collection.js.map +1 -1
  102. package/dist/members/index.js +86 -5
  103. package/dist/members/index.js.map +1 -1
  104. package/dist/members/request.js +106 -38
  105. package/dist/members/request.js.map +1 -1
  106. package/dist/members/types.js +15 -0
  107. package/dist/members/types.js.map +1 -0
  108. package/dist/members/util.js +316 -233
  109. package/dist/members/util.js.map +1 -1
  110. package/dist/metrics/constants.js +3 -5
  111. package/dist/metrics/constants.js.map +1 -1
  112. package/dist/metrics/index.js +1 -468
  113. package/dist/metrics/index.js.map +1 -1
  114. package/dist/multistream/mediaRequestManager.js +238 -49
  115. package/dist/multistream/mediaRequestManager.js.map +1 -1
  116. package/dist/multistream/receiveSlot.js +49 -16
  117. package/dist/multistream/receiveSlot.js.map +1 -1
  118. package/dist/multistream/receiveSlotManager.js +52 -34
  119. package/dist/multistream/receiveSlotManager.js.map +1 -1
  120. package/dist/multistream/remoteMedia.js +44 -18
  121. package/dist/multistream/remoteMedia.js.map +1 -1
  122. package/dist/multistream/remoteMediaGroup.js +60 -3
  123. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  124. package/dist/multistream/remoteMediaManager.js +173 -59
  125. package/dist/multistream/remoteMediaManager.js.map +1 -1
  126. package/dist/networkQualityMonitor/index.js +4 -2
  127. package/dist/networkQualityMonitor/index.js.map +1 -1
  128. package/dist/reachability/index.js +72 -27
  129. package/dist/reachability/index.js.map +1 -1
  130. package/dist/reachability/request.js +12 -5
  131. package/dist/reachability/request.js.map +1 -1
  132. package/dist/reconnection-manager/index.js +196 -155
  133. package/dist/reconnection-manager/index.js.map +1 -1
  134. package/dist/recording-controller/index.js +21 -2
  135. package/dist/recording-controller/index.js.map +1 -1
  136. package/dist/recording-controller/util.js +9 -8
  137. package/dist/recording-controller/util.js.map +1 -1
  138. package/dist/roap/index.js +21 -29
  139. package/dist/roap/index.js.map +1 -1
  140. package/dist/roap/request.js +110 -89
  141. package/dist/roap/request.js.map +1 -1
  142. package/dist/roap/turnDiscovery.js +93 -36
  143. package/dist/roap/turnDiscovery.js.map +1 -1
  144. package/dist/rtcMetrics/constants.js +12 -0
  145. package/dist/rtcMetrics/constants.js.map +1 -0
  146. package/dist/rtcMetrics/index.js +117 -0
  147. package/dist/rtcMetrics/index.js.map +1 -0
  148. package/dist/statsAnalyzer/global.js +1 -93
  149. package/dist/statsAnalyzer/global.js.map +1 -1
  150. package/dist/statsAnalyzer/index.js +326 -311
  151. package/dist/statsAnalyzer/index.js.map +1 -1
  152. package/dist/statsAnalyzer/mqaUtil.js +90 -53
  153. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  154. package/dist/types/annotation/annotation.types.d.ts +42 -0
  155. package/dist/types/annotation/constants.d.ts +31 -0
  156. package/dist/types/annotation/index.d.ts +117 -0
  157. package/dist/types/breakouts/breakout.d.ts +8 -0
  158. package/dist/types/breakouts/collection.d.ts +5 -0
  159. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  160. package/dist/types/breakouts/events.d.ts +8 -0
  161. package/dist/types/breakouts/index.d.ts +5 -0
  162. package/dist/types/breakouts/request.d.ts +22 -0
  163. package/dist/types/breakouts/utils.d.ts +15 -0
  164. package/dist/types/common/browser-detection.d.ts +9 -0
  165. package/dist/types/common/collection.d.ts +48 -0
  166. package/dist/types/common/config.d.ts +2 -0
  167. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  168. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  169. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  170. package/dist/types/common/errors/media.d.ts +15 -0
  171. package/dist/types/common/errors/parameter.d.ts +15 -0
  172. package/dist/types/common/errors/password-error.d.ts +15 -0
  173. package/dist/types/common/errors/permission.d.ts +14 -0
  174. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  175. package/dist/types/common/errors/reconnection.d.ts +15 -0
  176. package/dist/types/common/errors/stats.d.ts +15 -0
  177. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  178. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  179. package/dist/types/common/events/events-scope.d.ts +17 -0
  180. package/dist/types/common/events/events.d.ts +12 -0
  181. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  182. package/dist/types/common/events/util.d.ts +2 -0
  183. package/dist/types/common/logs/logger-config.d.ts +2 -0
  184. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  185. package/dist/types/common/logs/request.d.ts +34 -0
  186. package/dist/types/common/queue.d.ts +34 -0
  187. package/dist/types/config.d.ts +72 -0
  188. package/dist/types/constants.d.ts +1020 -0
  189. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  190. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  191. package/dist/types/controls-options-manager/index.d.ts +136 -0
  192. package/dist/types/controls-options-manager/types.d.ts +43 -0
  193. package/dist/types/controls-options-manager/util.d.ts +1 -0
  194. package/dist/types/index.d.ts +7 -0
  195. package/dist/types/interpretation/collection.d.ts +5 -0
  196. package/dist/types/interpretation/index.d.ts +5 -0
  197. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  198. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  199. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  200. package/dist/types/locus-info/fullState.d.ts +2 -0
  201. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  202. package/dist/types/locus-info/index.d.ts +322 -0
  203. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  204. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  205. package/dist/types/locus-info/parser.d.ts +271 -0
  206. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  207. package/dist/types/media/index.d.ts +34 -0
  208. package/dist/types/media/properties.d.ts +93 -0
  209. package/dist/types/media/util.d.ts +2 -0
  210. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  211. package/dist/types/meeting/in-meeting-actions.d.ts +163 -0
  212. package/dist/types/meeting/index.d.ts +1482 -0
  213. package/dist/types/meeting/locusMediaRequest.d.ts +72 -0
  214. package/dist/types/meeting/muteState.d.ts +184 -0
  215. package/dist/types/meeting/request.d.ts +257 -0
  216. package/dist/types/meeting/request.type.d.ts +11 -0
  217. package/dist/types/meeting/state.d.ts +9 -0
  218. package/dist/types/meeting/util.d.ts +79 -0
  219. package/dist/types/meeting-info/collection.d.ts +20 -0
  220. package/dist/types/meeting-info/index.d.ts +62 -0
  221. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  222. package/dist/types/meeting-info/request.d.ts +22 -0
  223. package/dist/types/meeting-info/util.d.ts +2 -0
  224. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  225. package/dist/types/meetings/collection.d.ts +31 -0
  226. package/dist/types/meetings/index.d.ts +367 -0
  227. package/dist/types/meetings/meetings.types.d.ts +4 -0
  228. package/dist/types/meetings/request.d.ts +27 -0
  229. package/dist/types/meetings/util.d.ts +18 -0
  230. package/dist/types/member/index.d.ts +159 -0
  231. package/dist/types/member/types.d.ts +32 -0
  232. package/dist/types/member/util.d.ts +2 -0
  233. package/dist/types/members/collection.d.ts +29 -0
  234. package/dist/types/members/index.d.ts +353 -0
  235. package/dist/types/members/request.d.ts +114 -0
  236. package/dist/types/members/types.d.ts +24 -0
  237. package/dist/types/members/util.d.ts +210 -0
  238. package/dist/types/metrics/constants.d.ts +55 -0
  239. package/dist/types/metrics/index.d.ts +45 -0
  240. package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
  241. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  242. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  243. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  244. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  245. package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
  246. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  247. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  248. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  249. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  250. package/dist/types/reachability/index.d.ts +152 -0
  251. package/dist/types/reachability/request.d.ts +37 -0
  252. package/dist/types/reactions/constants.d.ts +3 -0
  253. package/dist/types/reactions/reactions.d.ts +4 -0
  254. package/dist/types/reactions/reactions.type.d.ts +52 -0
  255. package/dist/types/reconnection-manager/index.d.ts +126 -0
  256. package/dist/types/recording-controller/enums.d.ts +7 -0
  257. package/dist/types/recording-controller/index.d.ts +207 -0
  258. package/dist/types/recording-controller/util.d.ts +14 -0
  259. package/dist/types/roap/index.d.ts +77 -0
  260. package/dist/types/roap/request.d.ts +36 -0
  261. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  262. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  263. package/dist/types/rtcMetrics/index.d.ts +46 -0
  264. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  265. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  266. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  267. package/dist/types/transcription/index.d.ts +64 -0
  268. package/package.json +23 -20
  269. package/src/annotation/annotation.types.ts +50 -0
  270. package/src/annotation/constants.ts +36 -0
  271. package/src/annotation/index.ts +328 -0
  272. package/src/breakouts/README.md +44 -14
  273. package/src/breakouts/breakout.ts +87 -9
  274. package/src/breakouts/edit-lock-error.ts +25 -0
  275. package/src/breakouts/events.ts +56 -0
  276. package/src/breakouts/index.ts +710 -10
  277. package/src/breakouts/request.ts +55 -0
  278. package/src/breakouts/utils.ts +57 -0
  279. package/src/common/errors/webex-errors.ts +6 -2
  280. package/src/common/logs/logger-proxy.ts +1 -1
  281. package/src/common/queue.ts +22 -8
  282. package/src/config.ts +2 -7
  283. package/src/constants.ts +165 -21
  284. package/src/controls-options-manager/constants.ts +5 -0
  285. package/src/controls-options-manager/enums.ts +18 -0
  286. package/src/controls-options-manager/index.ts +278 -0
  287. package/src/controls-options-manager/types.ts +59 -0
  288. package/src/controls-options-manager/util.ts +300 -0
  289. package/src/index.ts +39 -0
  290. package/src/interpretation/README.md +60 -0
  291. package/src/interpretation/collection.ts +19 -0
  292. package/src/interpretation/index.ts +332 -0
  293. package/src/interpretation/siLanguage.ts +18 -0
  294. package/src/locus-info/controlsUtils.ts +108 -0
  295. package/src/locus-info/index.ts +383 -61
  296. package/src/locus-info/infoUtils.ts +10 -2
  297. package/src/locus-info/mediaSharesUtils.ts +48 -0
  298. package/src/locus-info/parser.ts +224 -39
  299. package/src/locus-info/selfUtils.ts +81 -5
  300. package/src/media/index.ts +87 -140
  301. package/src/media/properties.ts +49 -90
  302. package/src/mediaQualityMetrics/config.ts +379 -377
  303. package/src/meeting/in-meeting-actions.ts +179 -3
  304. package/src/meeting/index.ts +2099 -2083
  305. package/src/meeting/locusMediaRequest.ts +311 -0
  306. package/src/meeting/muteState.ts +228 -132
  307. package/src/meeting/request.ts +105 -115
  308. package/src/meeting/util.ts +511 -397
  309. package/src/meeting-info/index.ts +54 -8
  310. package/src/meeting-info/meeting-info-v2.ts +148 -14
  311. package/src/meeting-info/utilv2.ts +13 -3
  312. package/src/meetings/collection.ts +20 -0
  313. package/src/meetings/index.ts +392 -84
  314. package/src/meetings/meetings.types.ts +12 -0
  315. package/src/meetings/request.ts +2 -0
  316. package/src/meetings/util.ts +103 -4
  317. package/src/member/index.ts +49 -0
  318. package/src/member/types.ts +38 -0
  319. package/src/member/util.ts +127 -25
  320. package/src/members/collection.ts +8 -0
  321. package/src/members/index.ts +107 -6
  322. package/src/members/request.ts +97 -17
  323. package/src/members/types.ts +28 -0
  324. package/src/members/util.ts +319 -240
  325. package/src/metrics/constants.ts +2 -4
  326. package/src/metrics/index.ts +1 -490
  327. package/src/multistream/mediaRequestManager.ts +289 -79
  328. package/src/multistream/receiveSlot.ts +55 -18
  329. package/src/multistream/receiveSlotManager.ts +46 -24
  330. package/src/multistream/remoteMedia.ts +27 -2
  331. package/src/multistream/remoteMediaGroup.ts +59 -0
  332. package/src/multistream/remoteMediaManager.ts +113 -32
  333. package/src/networkQualityMonitor/index.ts +6 -6
  334. package/src/reachability/index.ts +62 -15
  335. package/src/reachability/request.ts +10 -5
  336. package/src/reconnection-manager/index.ts +68 -43
  337. package/src/recording-controller/index.ts +20 -3
  338. package/src/recording-controller/util.ts +26 -9
  339. package/src/roap/index.ts +21 -30
  340. package/src/roap/request.ts +101 -95
  341. package/src/roap/turnDiscovery.ts +47 -25
  342. package/src/rtcMetrics/constants.ts +3 -0
  343. package/src/rtcMetrics/index.ts +100 -0
  344. package/src/statsAnalyzer/global.ts +1 -94
  345. package/src/statsAnalyzer/index.ts +376 -386
  346. package/src/statsAnalyzer/mqaUtil.ts +100 -99
  347. package/test/integration/spec/converged-space-meetings.js +233 -0
  348. package/test/integration/spec/journey.js +336 -259
  349. package/test/integration/spec/space-meeting.js +77 -4
  350. package/test/unit/spec/annotation/index.ts +418 -0
  351. package/test/unit/spec/breakouts/breakout.ts +142 -24
  352. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  353. package/test/unit/spec/breakouts/events.ts +89 -0
  354. package/test/unit/spec/breakouts/index.ts +1545 -48
  355. package/test/unit/spec/breakouts/request.ts +104 -0
  356. package/test/unit/spec/breakouts/utils.js +72 -0
  357. package/test/unit/spec/common/queue.js +31 -2
  358. package/test/unit/spec/controls-options-manager/index.js +287 -0
  359. package/test/unit/spec/controls-options-manager/util.js +582 -0
  360. package/test/unit/spec/fixture/locus.js +1 -0
  361. package/test/unit/spec/interpretation/collection.ts +15 -0
  362. package/test/unit/spec/interpretation/index.ts +589 -0
  363. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  364. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  365. package/test/unit/spec/locus-info/index.js +1169 -36
  366. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  367. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  368. package/test/unit/spec/locus-info/parser.js +62 -22
  369. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  370. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  371. package/test/unit/spec/media/index.ts +138 -28
  372. package/test/unit/spec/meeting/in-meeting-actions.ts +89 -3
  373. package/test/unit/spec/meeting/index.js +3573 -1663
  374. package/test/unit/spec/meeting/locusMediaRequest.ts +438 -0
  375. package/test/unit/spec/meeting/muteState.js +370 -208
  376. package/test/unit/spec/meeting/request.js +339 -44
  377. package/test/unit/spec/meeting/utils.js +456 -53
  378. package/test/unit/spec/meeting-info/index.js +181 -0
  379. package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
  380. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  381. package/test/unit/spec/meetings/collection.js +14 -0
  382. package/test/unit/spec/meetings/index.js +867 -125
  383. package/test/unit/spec/meetings/utils.js +206 -2
  384. package/test/unit/spec/member/index.js +58 -4
  385. package/test/unit/spec/member/util.js +479 -35
  386. package/test/unit/spec/members/index.js +319 -1
  387. package/test/unit/spec/members/request.js +206 -27
  388. package/test/unit/spec/members/utils.js +184 -0
  389. package/test/unit/spec/metrics/index.js +1 -50
  390. package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
  391. package/test/unit/spec/multistream/receiveSlot.ts +72 -13
  392. package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
  393. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  394. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  395. package/test/unit/spec/multistream/remoteMediaManager.ts +318 -0
  396. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  397. package/test/unit/spec/reachability/index.ts +125 -8
  398. package/test/unit/spec/reachability/request.js +66 -0
  399. package/test/unit/spec/reconnection-manager/index.js +59 -6
  400. package/test/unit/spec/recording-controller/index.js +294 -218
  401. package/test/unit/spec/recording-controller/util.js +223 -96
  402. package/test/unit/spec/roap/index.ts +26 -51
  403. package/test/unit/spec/roap/request.ts +196 -85
  404. package/test/unit/spec/roap/turnDiscovery.ts +30 -7
  405. package/test/unit/spec/rtcMetrics/index.ts +60 -0
  406. package/test/unit/spec/stats-analyzer/index.js +92 -41
  407. package/test/utils/constants.js +9 -0
  408. package/test/utils/integrationTestUtils.js +46 -0
  409. package/test/utils/testUtils.js +0 -45
  410. package/test/utils/webex-config.js +4 -0
  411. package/test/utils/webex-test-users.js +6 -3
  412. package/dist/meeting/effectsState.js +0 -262
  413. package/dist/meeting/effectsState.js.map +0 -1
  414. package/dist/metrics/config.js +0 -299
  415. package/dist/metrics/config.js.map +0 -1
  416. package/dist/multistream/multistreamMedia.js +0 -110
  417. package/dist/multistream/multistreamMedia.js.map +0 -1
  418. package/src/index.js +0 -16
  419. package/src/meeting/effectsState.ts +0 -211
  420. package/src/metrics/config.ts +0 -495
  421. package/src/multistream/multistreamMedia.ts +0 -97
  422. package/test/unit/spec/meeting/effectsState.js +0 -285
@@ -1,211 +0,0 @@
1
- /* eslint-disable no-param-reassign */
2
- import {Media as WebRTCMedia} from '@webex/internal-media-core';
3
-
4
- import BEHAVIORAL_METRICS from '../metrics/constants';
5
- import Metrics from '../metrics';
6
- import MediaUtil from '../media/util';
7
- import LoggerProxy from '../common/logs/logger-proxy';
8
- import {BNR_STATUS} from '../constants';
9
-
10
- const createEffectsState = (type: any) => {
11
- LoggerProxy.logger.info(
12
- `Meeting:effectState#createEffectsState --> creating effectsState for effect ${type}`
13
- );
14
-
15
- return new EffectsState(type);
16
- };
17
-
18
- /* The purpose of this class is to manage the effects state(for eg., BNR).
19
- */
20
- class EffectsState {
21
- effectType: any;
22
- pendingPromiseReject: any;
23
- pendingPromiseResolve: any;
24
- state: any;
25
-
26
- constructor(type: any) {
27
- this.effectType = type;
28
- this.state = {
29
- bnr: {
30
- enabled: BNR_STATUS.NOT_ENABLED,
31
- },
32
- callToWebrtcBNRInProgress: false,
33
- };
34
- // these 2 hold the resolve, reject methods for the promise we returned to the client in last handleClientRequest() call
35
- this.pendingPromiseResolve = null;
36
- this.pendingPromiseReject = null;
37
- }
38
-
39
- /**
40
- * @memberof EffectsState
41
- * @param {Boolean} [isEnable] true for enableBNR, false for disableBNR request
42
- * @param {Object} [meeting] the meeting object
43
- * @returns {Promise}
44
- */
45
- async handleClientRequest(isEnable?: boolean, meeting?: object) {
46
- return new Promise((resolve, reject) => {
47
- if (this.pendingPromiseResolve) {
48
- // resolve the last promise we returned to the client as the client has issued a new request that has superseded the previous one
49
- this.pendingPromiseResolve();
50
- }
51
- this.pendingPromiseResolve = resolve;
52
- this.pendingPromiseReject = reject;
53
-
54
- if (isEnable) this.enableBNR(meeting);
55
- else this.disableBNR(meeting);
56
- });
57
- }
58
-
59
- /**
60
- * Internal API to return status of BNR
61
- * @memberof EffectsState
62
- * @returns {Boolean}
63
- * @public
64
- * @memberof Meeting
65
- */
66
- public isBnrEnabled() {
67
- return this.state.bnr.enabled === BNR_STATUS.ENABLED;
68
- }
69
-
70
- resolvePromise() {
71
- if (this.pendingPromiseResolve) {
72
- this.pendingPromiseResolve(true);
73
- }
74
- this.pendingPromiseResolve = null;
75
- this.pendingPromiseReject = null;
76
- }
77
-
78
- rejectPromise(e) {
79
- if (this.pendingPromiseReject) {
80
- this.pendingPromiseReject(e);
81
- }
82
- this.pendingPromiseResolve = null;
83
- this.pendingPromiseReject = null;
84
- }
85
-
86
- /**
87
- * enableBNR API
88
- * @param {Object} meeting the meeting object
89
- * @returns {Promise<Boolean>}
90
- * @public
91
- * @memberof EffectsState
92
- */
93
- public async enableBNR(meeting: any) {
94
- LoggerProxy.logger.info('Meeting:effectState#enableBNR. Enable BNR called');
95
-
96
- if (this.isBnrEnabled()) {
97
- LoggerProxy.logger.warn('Meeting:index#enableBNR. BNR is already enabled');
98
-
99
- return this.resolvePromise();
100
- }
101
-
102
- if (this.state.callToWebrtcBNRInProgress) {
103
- LoggerProxy.logger.warn(
104
- 'Meeting:effectState#enableBNR. Call to WebRTC in progress, we need to wait for it to complete'
105
- );
106
-
107
- return this.resolvePromise();
108
- }
109
-
110
- const {bnr} = this.state;
111
-
112
- try {
113
- bnr.enabled = BNR_STATUS.SHOULD_ENABLE;
114
- this.state.callToWebrtcBNRInProgress = true;
115
- const audioStream = MediaUtil.createMediaStream([meeting.mediaProperties.audioTrack]);
116
-
117
- LoggerProxy.logger.info(
118
- 'Meeting:effectState#enableBNR. MediaStream created from meeting & sent to updateAudio'
119
- );
120
- await meeting.updateAudio({
121
- sendAudio: true,
122
- receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
123
- stream: audioStream,
124
- });
125
-
126
- LoggerProxy.logger.info(
127
- 'Meeting:effectState#enableBNR. Updated meeting audio with bnr enabled track'
128
- );
129
- bnr.enabled = BNR_STATUS.ENABLED;
130
- this.state.callToWebrtcBNRInProgress = false;
131
- Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_BNR_SUCCESS);
132
- } catch (error) {
133
- bnr.enabled = BNR_STATUS.NOT_ENABLED;
134
- this.state.callToWebrtcBNRInProgress = false;
135
- LoggerProxy.logger.error('Meeting:index#enableBNR.', error);
136
-
137
- Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ENABLE_BNR_FAILURE, {
138
- reason: error.message,
139
- stack: error.stack,
140
- });
141
- this.rejectPromise(error);
142
-
143
- throw error;
144
- }
145
-
146
- return this.resolvePromise();
147
- }
148
-
149
- /**
150
- * disableBNR API
151
- * @param {Object} meeting the meeting object
152
- * @returns {Promise<Boolean>}
153
- * @public
154
- * @memberof EffectsState
155
- */
156
- public async disableBNR(meeting: any) {
157
- LoggerProxy.logger.info('Meeting:effectState#disableBNR. Disable BNR called');
158
-
159
- const {bnr} = this.state;
160
-
161
- try {
162
- if (this.state.callToWebrtcBNRInProgress) {
163
- LoggerProxy.logger.info(
164
- 'Meeting:effectState#disableBNR. Call to WebRTC in progress, we need to wait for it to complete'
165
- );
166
-
167
- return this.resolvePromise();
168
- }
169
-
170
- bnr.enabled = BNR_STATUS.SHOULD_DISABLE;
171
- this.state.callToWebrtcBNRInProgress = true;
172
-
173
- // @ts-ignore - disableBNR does not expect an argument
174
- const audioTrack = WebRTCMedia.Effects.BNR.disableBNR(meeting.mediaProperties.audioTrack);
175
-
176
- const audioStream = MediaUtil.createMediaStream([audioTrack]);
177
-
178
- LoggerProxy.logger.info(
179
- 'Meeting:effectState#disableBNR. Raw media track obtained from WebRTC & sent to updateAudio'
180
- );
181
-
182
- await meeting.updateAudio({
183
- sendAudio: true,
184
- receiveAudio: meeting.mediaProperties.mediaDirection.receiveAudio,
185
- stream: audioStream,
186
- });
187
-
188
- bnr.enabled = BNR_STATUS.NOT_ENABLED;
189
-
190
- this.state.callToWebrtcBNRInProgress = false;
191
-
192
- Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_BNR_SUCCESS);
193
- } catch (error) {
194
- bnr.enabled = BNR_STATUS.ENABLED;
195
- this.state.callToWebrtcBNRInProgress = false;
196
- LoggerProxy.logger.error(`Meeting:index#disableBNR. ${error}`);
197
-
198
- Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.DISABLE_BNR_FAILURE, {
199
- reason: error.message,
200
- stack: error.stack,
201
- });
202
- this.rejectPromise(error);
203
-
204
- throw error;
205
- }
206
-
207
- return this.resolvePromise();
208
- }
209
- }
210
-
211
- export default createEffectsState;
@@ -1,495 +0,0 @@
1
- const errorDescription = {
2
- UNKNOWN_CALL_FAILURE: 'UnknownCallFailure',
3
- LOCUS_RATE_LIMITED_INCOMING: 'LocusRateLimitedIncoming',
4
- LOCUS_RATE_LIMITED_OUTGOING: 'LocusRateLimitedOutgoing',
5
- LOCUS_UNAVAILABLE: 'LocusUnavailable',
6
- LOCUS_CONFLICT: 'LocusConflict',
7
- TIMEOUT: 'Timeout',
8
- LOCUS_INVALID_SEQUENCE_HASH: 'LocusInvalidSequenceHash',
9
- UPDATE_MEDIA_FAILED: 'UpdateMediaFailed',
10
- FAILED_TO_CONNECT_MEDIA: 'FailedToConnectMedia',
11
- MEDIA_ENGINE_LOST: 'MediaEngineLost',
12
- MEDIA_CONNECTION_LOST: 'MediaConnectionLost',
13
- ICE_FAILURE: 'IceFailure',
14
- MEDIA_ENGINE_HANG: 'MediaEngineHang',
15
- ICE_SERVER_REJECTED: 'IceServerRejected',
16
- CALL_FULL: 'CallFull',
17
- ROOM_TOO_LARGE: 'RoomTooLarge',
18
- GUEST_ALREADY_ADDED: 'GuestAlreadyAdded',
19
- LOCUS_USER_NOT_AUTHORISED: 'LocusUserNotAuthorised',
20
- CLOUDBERRY_UNAVAILABLE: 'CloudberryUnavailable',
21
- ROOM_TOO_LARGE_FREE_ACCOUNT: 'RoomTooLarge_FreeAccount',
22
- MEETING_INACTIVE: 'MeetingInactive',
23
- MEETING_LOCKED: 'MeetingLocked',
24
- MEETING_TERMINATING: 'MeetingTerminating',
25
- MODERATOR_PIN_OR_GUEST_REQUIRED: 'Moderator_Pin_Or_Guest_Required',
26
- MODERATOR_PIN_OR_GUEST_PIN_REQUIRED: 'Moderator_Pin_Or_Guest_PIN_Required',
27
- MODERATOR_REQUIRED: 'Moderator_Required',
28
- USER_NOT_MEMBER_OF_ROOM: 'UserNotMemberOfRoom',
29
- NEW_LOCUS_ERROR: 'NewLocusError',
30
- NET_WORK_UNAVAILABLE: 'NetworkUnavailable',
31
- MEETING_UNAVAILABLE: 'MeetingUnavailable',
32
- MEETING_ID_INVALID: 'MeetingIDInvalid',
33
- MEETING_SITE_INVALID: 'MeetingSiteInvalid',
34
- LOCUS_INVALID_JOINTIME: 'LocusInvalidJoinTime',
35
- LOBBY_EXPIRED: 'LobbyExpired',
36
- MEDIA_CONNECTION_LOST_PAIRED: 'MediaConnectionLostPaired',
37
- PHONE_NUMBER_NOT_A_NUMBER: 'PhoneNumberNotANumber',
38
- PHONE_NUMBER_TOO_LONG: 'PhoneNumberTooLong',
39
- INVALID_DIALABLE_KEY: 'InvalidDialableKey',
40
- ONE_ON_ONE_TO_SELF_NOT_ALLOWED: 'OneOnOneToSelfNotAllowed',
41
- REMOVED_PARTICIPANT: 'RemovedParticipant',
42
- MEETING_LINK_NOT_FOUND: 'MeetingLinkNotFound',
43
- PHONE_NUMBER_TOO_SHORT_AFTER_IDD: 'PhoneNumberTooShortAfterIdd',
44
- INVALID_INVITEE_ADDRESS: 'InvalidInviteeAddress',
45
- PMR_USER_ACCOUNT_LOCKED_OUT: 'PMRUserAccountLockedOut',
46
- GUEST_FORBIDDEN: 'GuestForbidden',
47
- PMR_ACCOUNT_SUSPENDED: 'PMRAccountSuspended',
48
- EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE: 'EmptyPhoneNumberOrCountryCode',
49
- CONVERSATION_NOT_FOUND: 'ConversationNotFound',
50
- SIP_CALLEE_BUSY: 'SIPCalleeBusy',
51
- SIP_CALLEE_NOT_FOUND: 'SIPCalleeNotFound',
52
- START_RECORDING_FAILED: 'StartRecordingFailed',
53
- RECORDING_IN_PROGRESS_FAILED: 'RecordingInProgressFailed',
54
- };
55
-
56
- const errorCategory = {
57
- SIGNALING: 'signaling',
58
- MEDIA: 'media',
59
- OTHER: 'other',
60
- EXPECTED: 'expected',
61
- };
62
-
63
- const errorFailureType = {
64
- CALL_INITIATION_FAILURE: 'CallInitiationFailure',
65
- MEDIA_CONNECTION_FAILURE: 'MediaConnectionFailure',
66
- EXPECTED_FAILURE: 'ExpectedFailure',
67
- ACCESS_RIGHTS: 'AccessRights',
68
- };
69
-
70
- export const eventType = {
71
- // media quality events every 60 seconds
72
- MEDIA_QUALITY: 'client.mediaquality.event',
73
- CALL_INITIATED: 'client.call.initiated',
74
- MERCURY_CONNECTION_LOST: 'client.mercury.connection.lost',
75
- MERCURY_CONNECTION_RESTORED: 'client.mercury.connection.restored',
76
- MOVE_MEDIA: 'client.call.move-media',
77
- LOCAL_SDP_GENERATED: 'client.media-engine.local-sdp-generated',
78
- REMOTE_SDP_RECEIVED: 'client.media-engine.remote-sdp-received',
79
- LOCUS_JOIN_REQUEST: 'client.locus.join.request',
80
- LOCUS_JOIN_RESPONSE: 'client.locus.join.response',
81
- ALERT_DISPLAYED: 'client.alert.displayed',
82
- // when ICE negotiation starts
83
- ICE_START: 'client.ice.start',
84
- ICE_END: 'client.ice.end',
85
- ICE_DISCONNECT: 'client.ice.disconnect',
86
- // Fired when the media engine reports receiving a new media stream. Media events MUST have the mediaType property.
87
- RECEIVING_MEDIA_START: 'client.media.rx.start',
88
- // Fired when the media engine reports the end of receiving a media stream.
89
- // Media events MUST have the mediaType property.
90
- RECEIVING_MEDIA_STOP: 'client.media.rx.stop',
91
- // Fired when the media engine reports sending a new media stream. Media events MUST have the mediaType property.
92
- SENDING_MEDIA_START: 'client.media.tx.start',
93
- // Fired when the media engine reports it stopped sending a media stream.
94
- // Media events MUST have the mediaType property.
95
- SENDING_MEDIA_STOP: 'client.media.tx.stop',
96
- MEDIA_RENDER_START: 'client.media.render.start',
97
- MEDIA_RENDER_STOP: 'client.media.render.stop',
98
- // static media event when outside of the normal scenario
99
- // call-analyzer assumes that a client is capable of receiving audio, video, and share
100
- // fired on change, or at beginning of a call
101
- // every media type is required, so must be indicated with boolean
102
- MEDIA_CAPABILITIES: 'client.media.capabilities',
103
- // Sent when the client notices that a media session has been lost
104
- MEDIA_RECONNECTING: 'client.media.reconnecting',
105
- // Sent when the client recovers a media session that was lost
106
- MEDIA_RECOVERED: 'client.media.recovered',
107
- CALL_ABORTED: 'client.call.aborted',
108
- // Fired when the "please enter your PIN" or similar prompt is displayed
109
- // to the user, to authenticate them into the meeting
110
- PIN_PROMPT: 'client.pin.prompt',
111
- // Fired when PIN entry has been completed
112
- PIN_COLLECTED: 'client.pin.collected',
113
- // Fired when the client displays the native lobby
114
- LOBBY_ENTERED: 'client.lobby.entered',
115
- // Fired when the client leaves the native lobby
116
- LOBBY_EXITED: 'client.lobby.exited',
117
- // Fired when the user of the client starts a share (e.g. click 'Share' button).
118
- // This should be sent from all clients that support sending a share.
119
- SHARE_INITIATED: 'client.share.initiated',
120
- // Fired when the user stops sharing (usually when they click the 'Stop' button for share)
121
- SHARE_STOPPED: 'client.share.stopped',
122
- // When the client receives a successful response from locus indicating that it has the floor for content sharing.
123
- LOCAL_SHARE_FLOOR_GRANTED: 'client.share.floor-granted.local',
124
- // Fired when the client changes its local UI/layout to a content sharing view,
125
- // because it is expecting to display share media.
126
- SHARE_LAYOUT_DISPLAYED: 'client.share.layout.displayed',
127
- // Fired when the user of the client starts a whiteboard share (e.g. click 'Share Live' button).
128
- WHITEBOARD_SHARE_INITIATED: 'client.whiteboard.share.initiated',
129
- // Fired when the meeting floor is released for whiteboard share
130
- WHITEBOARD_SHARE_STOPPED: 'client.whiteboard.share.stopped',
131
- // When the client receives a successful response from locus indicating that it has the floor for whiteboard sharing.
132
- WHITEBOARD_SHARE_FLOOR_GRANTED: 'client.whiteboard.share.floor-granted',
133
- MUTED: 'client.muted',
134
- UNMUTED: 'client.unmuted',
135
- LEAVE: 'client.call.leave',
136
- REMOTE_ENDED: 'client.call.remote-ended',
137
- REMOTE_STARTED: 'client.call.remote-started',
138
- MEDIA_REQUEST: 'client.locus.media.request',
139
- MEDIA_RESPONSE: 'client.locus.media.response',
140
- PSTN_AUDIO_ATTEMPT_START: 'client.pstnaudio.attempt.start',
141
- PSTN_AUDIO_ATTEMPT_FINISH: 'client.pstnaudio.attempt.finish',
142
- PSTN_AUDIO_ATTEMPT_SKIP: 'client.pstnaudio.attempt.skip',
143
- };
144
-
145
- export const error = {
146
- name: {
147
- MEDIA_ENGINE: 'media-engine',
148
- ICE_FAILED: 'ice.failed',
149
- LOCUS_RESPONSE: 'locus.response',
150
- LOCUS_LEAVE: 'locus.leave',
151
- OTHER: 'other',
152
- },
153
-
154
- notFatalErrorList: [3003, 3004, 4004, 4005, 4006, 4015],
155
- errors: {
156
- // https://sqbu-github.cisco.com/WebExSquared/event-dictionary/wiki/Error-codes-for-metric-events
157
- // [errorDescription, errorFailureType, errorCategory]
158
- 1000: [
159
- errorDescription.UNKNOWN_CALL_FAILURE,
160
- errorFailureType.CALL_INITIATION_FAILURE,
161
- errorCategory.SIGNALING,
162
- ],
163
- 1001: [
164
- errorDescription.LOCUS_RATE_LIMITED_INCOMING,
165
- errorFailureType.CALL_INITIATION_FAILURE,
166
- errorCategory.SIGNALING,
167
- ],
168
- 1002: [
169
- errorDescription.LOCUS_RATE_LIMITED_OUTGOING,
170
- errorFailureType.CALL_INITIATION_FAILURE,
171
- errorCategory.SIGNALING,
172
- ],
173
- 1003: [
174
- errorDescription.LOCUS_UNAVAILABLE,
175
- errorFailureType.CALL_INITIATION_FAILURE,
176
- errorCategory.SIGNALING,
177
- ],
178
- 1004: [
179
- errorDescription.LOCUS_CONFLICT,
180
- errorFailureType.CALL_INITIATION_FAILURE,
181
- errorCategory.SIGNALING,
182
- ],
183
- 1005: [
184
- errorDescription.TIMEOUT,
185
- errorFailureType.CALL_INITIATION_FAILURE,
186
- errorCategory.SIGNALING,
187
- ],
188
- 1006: [
189
- errorDescription.LOCUS_INVALID_SEQUENCE_HASH,
190
- errorFailureType.CALL_INITIATION_FAILURE,
191
- errorCategory.SIGNALING,
192
- ],
193
- 1007: [
194
- errorDescription.UPDATE_MEDIA_FAILED,
195
- errorFailureType.CALL_INITIATION_FAILURE,
196
- errorCategory.SIGNALING,
197
- ],
198
- 2001: [
199
- errorDescription.FAILED_TO_CONNECT_MEDIA,
200
- errorFailureType.MEDIA_CONNECTION_FAILURE,
201
- errorCategory.SIGNALING,
202
- ],
203
- 2002: [
204
- errorDescription.MEDIA_ENGINE_LOST,
205
- errorFailureType.MEDIA_CONNECTION_FAILURE,
206
- errorCategory.SIGNALING,
207
- ],
208
- 2003: [
209
- errorDescription.MEDIA_CONNECTION_LOST,
210
- errorFailureType.MEDIA_CONNECTION_FAILURE,
211
- errorCategory.SIGNALING,
212
- ],
213
- 2004: [
214
- errorDescription.ICE_FAILURE,
215
- errorFailureType.MEDIA_CONNECTION_FAILURE,
216
- errorCategory.SIGNALING,
217
- ],
218
- 2005: [
219
- errorDescription.MEDIA_ENGINE_HANG,
220
- errorFailureType.MEDIA_CONNECTION_FAILURE,
221
- errorCategory.SIGNALING,
222
- ],
223
- 2006: [
224
- errorDescription.ICE_SERVER_REJECTED,
225
- errorFailureType.MEDIA_CONNECTION_FAILURE,
226
- errorCategory.SIGNALING,
227
- ],
228
- 3001: [errorDescription.CALL_FULL, errorFailureType.EXPECTED_FAILURE, errorCategory.EXPECTED],
229
- 3002: [
230
- errorDescription.ROOM_TOO_LARGE,
231
- errorFailureType.EXPECTED_FAILURE,
232
- errorCategory.EXPECTED,
233
- ],
234
- 3004: [
235
- errorDescription.GUEST_ALREADY_ADDED,
236
- errorFailureType.EXPECTED_FAILURE,
237
- errorCategory.EXPECTED,
238
- ],
239
- 3005: [
240
- errorDescription.LOCUS_USER_NOT_AUTHORISED,
241
- errorFailureType.EXPECTED_FAILURE,
242
- errorCategory.EXPECTED,
243
- ],
244
- 3006: [
245
- errorDescription.CLOUDBERRY_UNAVAILABLE,
246
- errorFailureType.EXPECTED_FAILURE,
247
- errorCategory.EXPECTED,
248
- ],
249
- 3007: [
250
- errorDescription.ROOM_TOO_LARGE_FREE_ACCOUNT,
251
- errorFailureType.EXPECTED_FAILURE,
252
- errorCategory.EXPECTED,
253
- ],
254
- 4001: [
255
- errorDescription.MEETING_INACTIVE,
256
- errorFailureType.CALL_INITIATION_FAILURE,
257
- errorCategory.EXPECTED,
258
- ],
259
- 4002: [
260
- errorDescription.MEETING_LOCKED,
261
- errorFailureType.CALL_INITIATION_FAILURE,
262
- errorCategory.EXPECTED,
263
- ],
264
- 4003: [
265
- errorDescription.MEETING_TERMINATING,
266
- errorFailureType.CALL_INITIATION_FAILURE,
267
- errorCategory.EXPECTED,
268
- ],
269
- 4004: [
270
- errorDescription.MODERATOR_PIN_OR_GUEST_REQUIRED,
271
- errorFailureType.ACCESS_RIGHTS,
272
- errorCategory.EXPECTED,
273
- ],
274
- 4005: [
275
- errorDescription.MODERATOR_PIN_OR_GUEST_PIN_REQUIRED,
276
- errorFailureType.ACCESS_RIGHTS,
277
- errorCategory.EXPECTED,
278
- ],
279
- 4006: [
280
- errorDescription.MODERATOR_REQUIRED,
281
- errorFailureType.ACCESS_RIGHTS,
282
- errorCategory.EXPECTED,
283
- ],
284
- 4007: [
285
- errorDescription.USER_NOT_MEMBER_OF_ROOM,
286
- errorFailureType.ACCESS_RIGHTS,
287
- errorCategory.EXPECTED,
288
- ],
289
- 4008: [
290
- errorDescription.NEW_LOCUS_ERROR,
291
- errorFailureType.CALL_INITIATION_FAILURE,
292
- errorCategory.EXPECTED,
293
- ],
294
- 4009: [
295
- errorDescription.NET_WORK_UNAVAILABLE,
296
- errorFailureType.CALL_INITIATION_FAILURE,
297
- errorCategory.EXPECTED,
298
- ],
299
- 4010: [
300
- errorDescription.MEETING_UNAVAILABLE,
301
- errorFailureType.CALL_INITIATION_FAILURE,
302
- errorCategory.EXPECTED,
303
- ],
304
- 4011: [
305
- errorDescription.MEETING_ID_INVALID,
306
- errorFailureType.EXPECTED_FAILURE,
307
- errorCategory.EXPECTED,
308
- ],
309
- 4012: [
310
- errorDescription.MEETING_SITE_INVALID,
311
- errorFailureType.EXPECTED_FAILURE,
312
- errorCategory.EXPECTED,
313
- ],
314
- 4013: [
315
- errorDescription.LOCUS_INVALID_JOINTIME,
316
- errorFailureType.EXPECTED_FAILURE,
317
- errorCategory.EXPECTED,
318
- ],
319
- 4014: [
320
- errorDescription.LOBBY_EXPIRED,
321
- errorFailureType.EXPECTED_FAILURE,
322
- errorCategory.EXPECTED,
323
- ],
324
- 4015: [
325
- errorDescription.MEDIA_CONNECTION_LOST_PAIRED,
326
- errorFailureType.MEDIA_CONNECTION_FAILURE,
327
- errorCategory.EXPECTED,
328
- ],
329
- 4016: [
330
- errorDescription.PHONE_NUMBER_NOT_A_NUMBER,
331
- errorFailureType.EXPECTED_FAILURE,
332
- errorCategory.EXPECTED,
333
- ],
334
- 4017: [
335
- errorDescription.PHONE_NUMBER_TOO_LONG,
336
- errorFailureType.EXPECTED_FAILURE,
337
- errorCategory.EXPECTED,
338
- ],
339
- 4018: [
340
- errorDescription.INVALID_DIALABLE_KEY,
341
- errorFailureType.EXPECTED_FAILURE,
342
- errorCategory.EXPECTED,
343
- ],
344
- 4019: [
345
- errorDescription.ONE_ON_ONE_TO_SELF_NOT_ALLOWED,
346
- errorFailureType.EXPECTED_FAILURE,
347
- errorCategory.EXPECTED,
348
- ],
349
- 4020: [
350
- errorDescription.REMOVED_PARTICIPANT,
351
- errorFailureType.EXPECTED_FAILURE,
352
- errorCategory.EXPECTED,
353
- ],
354
- 4021: [
355
- errorDescription.MEETING_LINK_NOT_FOUND,
356
- errorFailureType.EXPECTED_FAILURE,
357
- errorCategory.EXPECTED,
358
- ],
359
- 4022: [
360
- errorDescription.PHONE_NUMBER_TOO_SHORT_AFTER_IDD,
361
- errorFailureType.EXPECTED_FAILURE,
362
- errorCategory.EXPECTED,
363
- ],
364
- 4023: [
365
- errorDescription.INVALID_INVITEE_ADDRESS,
366
- errorFailureType.EXPECTED_FAILURE,
367
- errorCategory.EXPECTED,
368
- ],
369
- 4024: [
370
- errorDescription.PMR_USER_ACCOUNT_LOCKED_OUT,
371
- errorFailureType.EXPECTED_FAILURE,
372
- errorCategory.EXPECTED,
373
- ],
374
- 4025: [
375
- errorDescription.GUEST_FORBIDDEN,
376
- errorFailureType.EXPECTED_FAILURE,
377
- errorCategory.EXPECTED,
378
- ],
379
- 4026: [
380
- errorDescription.PMR_ACCOUNT_SUSPENDED,
381
- errorFailureType.EXPECTED_FAILURE,
382
- errorCategory.EXPECTED,
383
- ],
384
- 4027: [
385
- errorDescription.EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE,
386
- errorFailureType.EXPECTED_FAILURE,
387
- errorCategory.EXPECTED,
388
- ],
389
- 4028: [
390
- errorDescription.CONVERSATION_NOT_FOUND,
391
- errorFailureType.EXPECTED_FAILURE,
392
- errorCategory.EXPECTED,
393
- ],
394
- 4029: [
395
- errorDescription.START_RECORDING_FAILED,
396
- errorFailureType.EXPECTED_FAILURE,
397
- errorCategory.EXPECTED,
398
- ],
399
- 4030: [
400
- errorDescription.RECORDING_IN_PROGRESS_FAILED,
401
- errorFailureType.EXPECTED_FAILURE,
402
- errorCategory.EXPECTED,
403
- ],
404
- 5000: [
405
- errorDescription.SIP_CALLEE_BUSY,
406
- errorFailureType.EXPECTED_FAILURE,
407
- errorCategory.EXPECTED,
408
- ],
409
- 5001: [
410
- errorDescription.SIP_CALLEE_NOT_FOUND,
411
- errorFailureType.EXPECTED_FAILURE,
412
- errorCategory.EXPECTED,
413
- ],
414
- },
415
- };
416
-
417
- export const trigger = {
418
- USER_INTERACTION: 'user-interaction',
419
- MERCURY_EVENT: 'mercury-event',
420
- LOCI_UPDATE: 'loci-update',
421
- MEDIA_ENGINE_EVENT: 'media-engine-event',
422
- TIMEOUT: 'timeout',
423
- SIGNALING: 'signaling',
424
- OTHER: 'other',
425
- };
426
-
427
- export const pstnAudioType = {
428
- DIAL_IN: 'dial-in',
429
- DIAL_OUT: 'dial-out',
430
- };
431
-
432
- export const displayLocation = {
433
- TOAST: 'toast',
434
- ROOM_LIST: 'room-list',
435
- CALL_PANE: 'call-pane',
436
- CALL_VIEW: 'call-view',
437
- OTHER: 'other',
438
- };
439
-
440
- export const mediaType = {
441
- AUDIO: 'audio',
442
- VIDEO: 'video',
443
- SHARE: 'share',
444
- WHITEBOARD: 'whiteboard',
445
- };
446
-
447
- export const reconnection = {
448
- RECOVERED_BY_NEW: 'new', // always set to new due to /media request, no retries with ice restart
449
- RECOVERED_BY_RETRY: 'retry',
450
- };
451
-
452
- export const errorCodes = {
453
- // ordered by error code values
454
- USER_CREATE_FAILED: 1400006,
455
- USER_ALREADY_PARTICIPANT: 1403001,
456
- CONVO_ALREADY_EXISTS: 1403010,
457
- ALREADY_ANNOUNCEMENT_SPACE: 1403014,
458
- NOT_ANNOUNCEMENT_SPACE: 1403015,
459
- USER_NOT_MODERATOR_IN_ANNOUNCEMENT_SPACE: 1403016,
460
- TEMP_ID_ALREADY_EXISTS: 1409001,
461
- PARENT_ACTIVITY_ID_NOT_FOUND_OR_INVALID: 14000015,
462
- };
463
- export const statusCodes = {
464
- // ordered by status codes
465
- NETWORK_OR_CORS: 0,
466
- BAD_REQUEST: 400,
467
- FORBIDDEN: 403,
468
- NOT_FOUND: 404,
469
- CONFLICT: 409,
470
- };
471
-
472
- export const errorObjects = {
473
- category: {
474
- media: 'media',
475
- expected: 'expected',
476
- },
477
- name: {
478
- mediaEngine: 'media-engine',
479
- },
480
- };
481
-
482
- export const UNKNOWN = 'unknown';
483
-
484
- export const OS_NAME = {
485
- WINDOWS: 'windows',
486
- MAC: 'mac',
487
- IOS: 'ios',
488
- ANDROID: 'android',
489
- CHROME: 'chrome',
490
- LINUX: 'linux',
491
- OTHERS: 'other',
492
- };
493
-
494
- export const CLIENT_NAME = 'webex-js-sdk';
495
- export const PLATFORM = 'Web';