@webex/plugin-meetings 3.0.0-beta.31 → 3.0.0-beta.310

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 (378) hide show
  1. package/README.md +46 -8
  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 +94 -15
  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 +709 -35
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/utils.js +45 -1
  17. package/dist/breakouts/utils.js.map +1 -1
  18. package/dist/common/errors/no-meeting-info.js +51 -0
  19. package/dist/common/errors/no-meeting-info.js.map +1 -0
  20. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  21. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  22. package/dist/common/errors/webex-errors.js +48 -7
  23. package/dist/common/errors/webex-errors.js.map +1 -1
  24. package/dist/common/logs/logger-proxy.js +1 -1
  25. package/dist/common/logs/logger-proxy.js.map +1 -1
  26. package/dist/common/logs/request.js +5 -1
  27. package/dist/common/logs/request.js.map +1 -1
  28. package/dist/common/queue.js +24 -9
  29. package/dist/common/queue.js.map +1 -1
  30. package/dist/config.js +5 -11
  31. package/dist/config.js.map +1 -1
  32. package/dist/constants.js +233 -29
  33. package/dist/constants.js.map +1 -1
  34. package/dist/controls-options-manager/enums.js +14 -2
  35. package/dist/controls-options-manager/enums.js.map +1 -1
  36. package/dist/controls-options-manager/index.js +109 -15
  37. package/dist/controls-options-manager/index.js.map +1 -1
  38. package/dist/controls-options-manager/types.js +7 -0
  39. package/dist/controls-options-manager/types.js.map +1 -0
  40. package/dist/controls-options-manager/util.js +309 -18
  41. package/dist/controls-options-manager/util.js.map +1 -1
  42. package/dist/index.js +112 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/interpretation/collection.js +23 -0
  45. package/dist/interpretation/collection.js.map +1 -0
  46. package/dist/interpretation/index.js +366 -0
  47. package/dist/interpretation/index.js.map +1 -0
  48. package/dist/interpretation/siLanguage.js +25 -0
  49. package/dist/interpretation/siLanguage.js.map +1 -0
  50. package/dist/locus-info/controlsUtils.js +91 -2
  51. package/dist/locus-info/controlsUtils.js.map +1 -1
  52. package/dist/locus-info/index.js +383 -62
  53. package/dist/locus-info/index.js.map +1 -1
  54. package/dist/locus-info/infoUtils.js +7 -1
  55. package/dist/locus-info/infoUtils.js.map +1 -1
  56. package/dist/locus-info/mediaSharesUtils.js +57 -1
  57. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  58. package/dist/locus-info/parser.js +249 -72
  59. package/dist/locus-info/parser.js.map +1 -1
  60. package/dist/locus-info/selfUtils.js +89 -14
  61. package/dist/locus-info/selfUtils.js.map +1 -1
  62. package/dist/media/index.js +61 -116
  63. package/dist/media/index.js.map +1 -1
  64. package/dist/media/properties.js +73 -124
  65. package/dist/media/properties.js.map +1 -1
  66. package/dist/meeting/in-meeting-actions.js +82 -2
  67. package/dist/meeting/in-meeting-actions.js.map +1 -1
  68. package/dist/meeting/index.js +3777 -2929
  69. package/dist/meeting/index.js.map +1 -1
  70. package/dist/meeting/locusMediaRequest.js +292 -0
  71. package/dist/meeting/locusMediaRequest.js.map +1 -0
  72. package/dist/meeting/muteState.js +230 -124
  73. package/dist/meeting/muteState.js.map +1 -1
  74. package/dist/meeting/request.js +260 -196
  75. package/dist/meeting/request.js.map +1 -1
  76. package/dist/meeting/util.js +601 -417
  77. package/dist/meeting/util.js.map +1 -1
  78. package/dist/meeting-info/index.js +73 -7
  79. package/dist/meeting-info/index.js.map +1 -1
  80. package/dist/meeting-info/meeting-info-v2.js +192 -51
  81. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  82. package/dist/meeting-info/util.js +1 -1
  83. package/dist/meeting-info/util.js.map +1 -1
  84. package/dist/meeting-info/utilv2.js +36 -36
  85. package/dist/meeting-info/utilv2.js.map +1 -1
  86. package/dist/meetings/collection.js +39 -0
  87. package/dist/meetings/collection.js.map +1 -1
  88. package/dist/meetings/index.js +415 -115
  89. package/dist/meetings/index.js.map +1 -1
  90. package/dist/meetings/meetings.types.js +7 -0
  91. package/dist/meetings/meetings.types.js.map +1 -0
  92. package/dist/meetings/request.js +2 -0
  93. package/dist/meetings/request.js.map +1 -1
  94. package/dist/meetings/util.js +72 -6
  95. package/dist/meetings/util.js.map +1 -1
  96. package/dist/member/index.js +58 -0
  97. package/dist/member/index.js.map +1 -1
  98. package/dist/member/types.js +25 -0
  99. package/dist/member/types.js.map +1 -0
  100. package/dist/member/util.js +132 -25
  101. package/dist/member/util.js.map +1 -1
  102. package/dist/members/collection.js +10 -0
  103. package/dist/members/collection.js.map +1 -1
  104. package/dist/members/index.js +102 -6
  105. package/dist/members/index.js.map +1 -1
  106. package/dist/members/request.js +106 -38
  107. package/dist/members/request.js.map +1 -1
  108. package/dist/members/types.js +15 -0
  109. package/dist/members/types.js.map +1 -0
  110. package/dist/members/util.js +326 -232
  111. package/dist/members/util.js.map +1 -1
  112. package/dist/metrics/constants.js +13 -5
  113. package/dist/metrics/constants.js.map +1 -1
  114. package/dist/metrics/index.js +1 -468
  115. package/dist/metrics/index.js.map +1 -1
  116. package/dist/multistream/mediaRequestManager.js +238 -49
  117. package/dist/multistream/mediaRequestManager.js.map +1 -1
  118. package/dist/multistream/receiveSlot.js +29 -16
  119. package/dist/multistream/receiveSlot.js.map +1 -1
  120. package/dist/multistream/receiveSlotManager.js +39 -36
  121. package/dist/multistream/receiveSlotManager.js.map +1 -1
  122. package/dist/multistream/remoteMedia.js +44 -18
  123. package/dist/multistream/remoteMedia.js.map +1 -1
  124. package/dist/multistream/remoteMediaGroup.js +60 -3
  125. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  126. package/dist/multistream/remoteMediaManager.js +209 -59
  127. package/dist/multistream/remoteMediaManager.js.map +1 -1
  128. package/dist/multistream/sendSlotManager.js +233 -0
  129. package/dist/multistream/sendSlotManager.js.map +1 -0
  130. package/dist/reachability/index.js +225 -59
  131. package/dist/reachability/index.js.map +1 -1
  132. package/dist/reachability/request.js +17 -8
  133. package/dist/reachability/request.js.map +1 -1
  134. package/dist/reconnection-manager/index.js +201 -156
  135. package/dist/reconnection-manager/index.js.map +1 -1
  136. package/dist/recording-controller/index.js +21 -2
  137. package/dist/recording-controller/index.js.map +1 -1
  138. package/dist/recording-controller/util.js +9 -8
  139. package/dist/recording-controller/util.js.map +1 -1
  140. package/dist/roap/index.js +62 -32
  141. package/dist/roap/index.js.map +1 -1
  142. package/dist/roap/request.js +112 -97
  143. package/dist/roap/request.js.map +1 -1
  144. package/dist/roap/turnDiscovery.js +95 -36
  145. package/dist/roap/turnDiscovery.js.map +1 -1
  146. package/dist/rtcMetrics/constants.js +12 -0
  147. package/dist/rtcMetrics/constants.js.map +1 -0
  148. package/dist/rtcMetrics/index.js +117 -0
  149. package/dist/rtcMetrics/index.js.map +1 -0
  150. package/dist/statsAnalyzer/index.js +86 -78
  151. package/dist/statsAnalyzer/index.js.map +1 -1
  152. package/dist/statsAnalyzer/mqaUtil.js +11 -10
  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/edit-lock-error.d.ts +15 -0
  158. package/dist/types/breakouts/events.d.ts +8 -0
  159. package/dist/types/breakouts/utils.d.ts +14 -0
  160. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  161. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  162. package/dist/types/common/errors/webex-errors.d.ts +25 -1
  163. package/dist/types/common/logs/request.d.ts +2 -0
  164. package/dist/types/common/queue.d.ts +9 -7
  165. package/dist/types/config.d.ts +1 -7
  166. package/dist/types/constants.d.ts +194 -24
  167. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  168. package/dist/types/controls-options-manager/index.d.ts +17 -1
  169. package/dist/types/controls-options-manager/types.d.ts +43 -0
  170. package/dist/types/controls-options-manager/util.d.ts +1 -7
  171. package/dist/types/index.d.ts +6 -4
  172. package/dist/types/interpretation/collection.d.ts +5 -0
  173. package/dist/types/interpretation/index.d.ts +5 -0
  174. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  175. package/dist/types/locus-info/index.d.ts +57 -4
  176. package/dist/types/locus-info/parser.d.ts +67 -6
  177. package/dist/types/media/index.d.ts +2 -0
  178. package/dist/types/media/properties.d.ts +34 -48
  179. package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
  180. package/dist/types/meeting/index.d.ts +463 -510
  181. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  182. package/dist/types/meeting/muteState.d.ts +99 -23
  183. package/dist/types/meeting/request.d.ts +72 -43
  184. package/dist/types/meeting/util.d.ts +101 -1
  185. package/dist/types/meeting-info/index.d.ts +13 -1
  186. package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
  187. package/dist/types/meetings/collection.d.ts +17 -0
  188. package/dist/types/meetings/index.d.ts +98 -20
  189. package/dist/types/meetings/meetings.types.d.ts +4 -0
  190. package/dist/types/member/index.d.ts +14 -0
  191. package/dist/types/member/types.d.ts +32 -0
  192. package/dist/types/members/collection.d.ts +5 -0
  193. package/dist/types/members/index.d.ts +35 -2
  194. package/dist/types/members/request.d.ts +73 -9
  195. package/dist/types/members/types.d.ts +25 -0
  196. package/dist/types/members/util.d.ts +214 -1
  197. package/dist/types/metrics/constants.d.ts +12 -4
  198. package/dist/types/metrics/index.d.ts +4 -119
  199. package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
  200. package/dist/types/multistream/receiveSlot.d.ts +13 -11
  201. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  202. package/dist/types/multistream/remoteMedia.d.ts +8 -29
  203. package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
  204. package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
  205. package/dist/types/multistream/sendSlotManager.d.ts +61 -0
  206. package/dist/types/reachability/index.d.ts +61 -7
  207. package/dist/types/reachability/request.d.ts +7 -3
  208. package/dist/types/reconnection-manager/index.d.ts +9 -0
  209. package/dist/types/recording-controller/index.d.ts +15 -1
  210. package/dist/types/recording-controller/util.d.ts +5 -4
  211. package/dist/types/roap/index.d.ts +2 -1
  212. package/dist/types/roap/request.d.ts +15 -11
  213. package/dist/types/roap/turnDiscovery.d.ts +21 -3
  214. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  215. package/dist/types/rtcMetrics/index.d.ts +47 -0
  216. package/dist/types/statsAnalyzer/index.d.ts +7 -1
  217. package/dist/types/webinar/collection.d.ts +16 -0
  218. package/dist/types/webinar/index.d.ts +5 -0
  219. package/dist/webinar/collection.js +44 -0
  220. package/dist/webinar/collection.js.map +1 -0
  221. package/dist/webinar/index.js +69 -0
  222. package/dist/webinar/index.js.map +1 -0
  223. package/package.json +23 -20
  224. package/src/annotation/annotation.types.ts +50 -0
  225. package/src/annotation/constants.ts +36 -0
  226. package/src/annotation/index.ts +328 -0
  227. package/src/breakouts/README.md +42 -12
  228. package/src/breakouts/breakout.ts +67 -9
  229. package/src/breakouts/edit-lock-error.ts +25 -0
  230. package/src/breakouts/events.ts +56 -0
  231. package/src/breakouts/index.ts +592 -20
  232. package/src/breakouts/utils.ts +42 -0
  233. package/src/common/errors/no-meeting-info.ts +24 -0
  234. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  235. package/src/common/errors/webex-errors.ts +44 -2
  236. package/src/common/logs/logger-proxy.ts +1 -1
  237. package/src/common/logs/request.ts +5 -1
  238. package/src/common/queue.ts +22 -8
  239. package/src/config.ts +4 -10
  240. package/src/constants.ts +221 -19
  241. package/src/controls-options-manager/enums.ts +12 -0
  242. package/src/controls-options-manager/index.ts +116 -21
  243. package/src/controls-options-manager/types.ts +59 -0
  244. package/src/controls-options-manager/util.ts +294 -14
  245. package/src/index.ts +40 -0
  246. package/src/interpretation/README.md +60 -0
  247. package/src/interpretation/collection.ts +19 -0
  248. package/src/interpretation/index.ts +332 -0
  249. package/src/interpretation/siLanguage.ts +18 -0
  250. package/src/locus-info/controlsUtils.ts +108 -0
  251. package/src/locus-info/index.ts +413 -59
  252. package/src/locus-info/infoUtils.ts +10 -2
  253. package/src/locus-info/mediaSharesUtils.ts +64 -0
  254. package/src/locus-info/parser.ts +258 -47
  255. package/src/locus-info/selfUtils.ts +81 -5
  256. package/src/media/index.ts +102 -122
  257. package/src/media/properties.ts +87 -110
  258. package/src/meeting/in-meeting-actions.ts +163 -3
  259. package/src/meeting/index.ts +3132 -2541
  260. package/src/meeting/locusMediaRequest.ts +313 -0
  261. package/src/meeting/muteState.ts +229 -131
  262. package/src/meeting/request.ts +177 -121
  263. package/src/meeting/util.ts +588 -394
  264. package/src/meeting-info/index.ts +81 -8
  265. package/src/meeting-info/meeting-info-v2.ts +170 -14
  266. package/src/meeting-info/util.ts +1 -1
  267. package/src/meeting-info/utilv2.ts +23 -23
  268. package/src/meetings/collection.ts +33 -0
  269. package/src/meetings/index.ts +445 -123
  270. package/src/meetings/meetings.types.ts +12 -0
  271. package/src/meetings/request.ts +2 -0
  272. package/src/meetings/util.ts +80 -11
  273. package/src/member/index.ts +58 -0
  274. package/src/member/types.ts +38 -0
  275. package/src/member/util.ts +141 -25
  276. package/src/members/collection.ts +8 -0
  277. package/src/members/index.ts +134 -8
  278. package/src/members/request.ts +97 -17
  279. package/src/members/types.ts +29 -0
  280. package/src/members/util.ts +333 -240
  281. package/src/metrics/constants.ts +12 -4
  282. package/src/metrics/index.ts +1 -490
  283. package/src/multistream/mediaRequestManager.ts +289 -79
  284. package/src/multistream/receiveSlot.ts +31 -17
  285. package/src/multistream/receiveSlotManager.ts +34 -24
  286. package/src/multistream/remoteMedia.ts +27 -2
  287. package/src/multistream/remoteMediaGroup.ts +59 -0
  288. package/src/multistream/remoteMediaManager.ts +148 -30
  289. package/src/multistream/sendSlotManager.ts +170 -0
  290. package/src/reachability/index.ts +228 -37
  291. package/src/reachability/request.ts +17 -8
  292. package/src/reconnection-manager/index.ts +83 -56
  293. package/src/recording-controller/index.ts +20 -3
  294. package/src/recording-controller/util.ts +26 -9
  295. package/src/roap/index.ts +63 -32
  296. package/src/roap/request.ts +100 -104
  297. package/src/roap/turnDiscovery.ts +48 -26
  298. package/src/rtcMetrics/constants.ts +3 -0
  299. package/src/rtcMetrics/index.ts +100 -0
  300. package/src/statsAnalyzer/index.ts +105 -91
  301. package/src/statsAnalyzer/mqaUtil.ts +13 -14
  302. package/src/webinar/collection.ts +31 -0
  303. package/src/webinar/index.ts +62 -0
  304. package/test/integration/spec/converged-space-meetings.js +60 -3
  305. package/test/integration/spec/journey.js +320 -261
  306. package/test/integration/spec/space-meeting.js +76 -3
  307. package/test/unit/spec/annotation/index.ts +418 -0
  308. package/test/unit/spec/breakouts/breakout.ts +118 -28
  309. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  310. package/test/unit/spec/breakouts/events.ts +89 -0
  311. package/test/unit/spec/breakouts/index.ts +1395 -69
  312. package/test/unit/spec/breakouts/utils.js +52 -1
  313. package/test/unit/spec/common/queue.js +31 -2
  314. package/test/unit/spec/controls-options-manager/index.js +163 -0
  315. package/test/unit/spec/controls-options-manager/util.js +576 -60
  316. package/test/unit/spec/fixture/locus.js +1 -0
  317. package/test/unit/spec/interpretation/collection.ts +15 -0
  318. package/test/unit/spec/interpretation/index.ts +589 -0
  319. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  320. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  321. package/test/unit/spec/locus-info/index.js +1304 -33
  322. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  323. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  324. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  325. package/test/unit/spec/locus-info/parser.js +116 -35
  326. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  327. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  328. package/test/unit/spec/media/index.ts +104 -37
  329. package/test/unit/spec/media/properties.ts +2 -2
  330. package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
  331. package/test/unit/spec/meeting/index.js +5216 -1956
  332. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  333. package/test/unit/spec/meeting/muteState.js +408 -208
  334. package/test/unit/spec/meeting/request.js +483 -49
  335. package/test/unit/spec/meeting/utils.js +679 -64
  336. package/test/unit/spec/meeting-info/index.js +300 -0
  337. package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
  338. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  339. package/test/unit/spec/meetings/collection.js +26 -0
  340. package/test/unit/spec/meetings/index.js +1011 -205
  341. package/test/unit/spec/meetings/utils.js +202 -2
  342. package/test/unit/spec/member/index.js +61 -6
  343. package/test/unit/spec/member/util.js +510 -34
  344. package/test/unit/spec/members/index.js +432 -1
  345. package/test/unit/spec/members/request.js +206 -27
  346. package/test/unit/spec/members/utils.js +210 -0
  347. package/test/unit/spec/metrics/index.js +1 -50
  348. package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
  349. package/test/unit/spec/multistream/receiveSlot.ts +28 -20
  350. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  351. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  352. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  353. package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
  354. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  355. package/test/unit/spec/reachability/index.ts +549 -9
  356. package/test/unit/spec/reachability/request.js +68 -0
  357. package/test/unit/spec/reconnection-manager/index.js +85 -9
  358. package/test/unit/spec/recording-controller/index.js +294 -218
  359. package/test/unit/spec/recording-controller/util.js +223 -96
  360. package/test/unit/spec/roap/index.ts +178 -64
  361. package/test/unit/spec/roap/request.ts +203 -85
  362. package/test/unit/spec/roap/turnDiscovery.ts +82 -36
  363. package/test/unit/spec/rtcMetrics/index.ts +73 -0
  364. package/test/unit/spec/stats-analyzer/index.js +136 -2
  365. package/test/unit/spec/webinar/collection.ts +13 -0
  366. package/test/unit/spec/webinar/index.ts +60 -0
  367. package/test/utils/integrationTestUtils.js +46 -0
  368. package/test/utils/testUtils.js +0 -52
  369. package/dist/meeting/effectsState.js +0 -262
  370. package/dist/meeting/effectsState.js.map +0 -1
  371. package/dist/metrics/config.js +0 -299
  372. package/dist/metrics/config.js.map +0 -1
  373. package/dist/types/meeting/effectsState.d.ts +0 -42
  374. package/dist/types/metrics/config.d.ts +0 -178
  375. package/src/index.js +0 -16
  376. package/src/meeting/effectsState.ts +0 -211
  377. package/src/metrics/config.ts +0 -495
  378. 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';