@webex/plugin-meetings 2.60.1-next.9 → 2.60.2

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 (539) hide show
  1. package/README.md +8 -58
  2. package/dist/common/browser-detection.js +3 -2
  3. package/dist/common/browser-detection.js.map +1 -1
  4. package/dist/common/collection.js +4 -3
  5. package/dist/common/collection.js.map +1 -1
  6. package/dist/common/config.js +2 -1
  7. package/dist/common/config.js.map +1 -1
  8. package/dist/common/errors/captcha-error.js +2 -1
  9. package/dist/common/errors/captcha-error.js.map +1 -1
  10. package/dist/common/errors/intent-to-join.js +2 -1
  11. package/dist/common/errors/intent-to-join.js.map +1 -1
  12. package/dist/common/errors/join-meeting.js +2 -1
  13. package/dist/common/errors/join-meeting.js.map +1 -1
  14. package/dist/common/errors/media.js +2 -1
  15. package/dist/common/errors/media.js.map +1 -1
  16. package/dist/common/errors/parameter.js +4 -3
  17. package/dist/common/errors/parameter.js.map +1 -1
  18. package/dist/common/errors/password-error.js +2 -1
  19. package/dist/common/errors/password-error.js.map +1 -1
  20. package/dist/common/errors/permission.js +2 -1
  21. package/dist/common/errors/permission.js.map +1 -1
  22. package/dist/common/errors/{reclaim-host-role-errors.js → reclaim-host-role-error.js} +11 -7
  23. package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
  24. package/dist/common/errors/reconnection-in-progress.js +2 -1
  25. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  26. package/dist/common/errors/reconnection.js +2 -1
  27. package/dist/common/errors/reconnection.js.map +1 -1
  28. package/dist/common/errors/stats.js +2 -1
  29. package/dist/common/errors/stats.js.map +1 -1
  30. package/dist/common/errors/webex-errors.d.ts +8 -20
  31. package/dist/common/errors/webex-errors.js +28 -48
  32. package/dist/common/errors/webex-errors.js.map +1 -1
  33. package/dist/common/errors/webex-meetings-error.js +2 -1
  34. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  35. package/dist/common/events/events-scope.js +2 -1
  36. package/dist/common/events/events-scope.js.map +1 -1
  37. package/dist/common/events/events.js +2 -1
  38. package/dist/common/events/events.js.map +1 -1
  39. package/dist/common/events/trigger-proxy.js +2 -1
  40. package/dist/common/events/trigger-proxy.js.map +1 -1
  41. package/dist/common/events/util.js +2 -1
  42. package/dist/common/events/util.js.map +1 -1
  43. package/dist/common/logs/logger-config.js +2 -1
  44. package/dist/common/logs/logger-config.js.map +1 -1
  45. package/dist/common/logs/logger-proxy.js +3 -2
  46. package/dist/common/logs/logger-proxy.js.map +1 -1
  47. package/dist/common/logs/request.d.ts +1 -3
  48. package/dist/common/logs/request.js +5 -8
  49. package/dist/common/logs/request.js.map +1 -1
  50. package/dist/common/queue.d.ts +7 -9
  51. package/dist/common/queue.js +9 -22
  52. package/dist/common/queue.js.map +1 -1
  53. package/dist/config.d.ts +7 -6
  54. package/dist/config.js +10 -8
  55. package/dist/config.js.map +1 -1
  56. package/dist/constants.d.ts +100 -234
  57. package/dist/constants.js +444 -433
  58. package/dist/constants.js.map +1 -1
  59. package/dist/controls-options-manager/constants.js +6 -3
  60. package/dist/controls-options-manager/constants.js.map +1 -1
  61. package/dist/controls-options-manager/enums.d.ts +1 -11
  62. package/dist/controls-options-manager/enums.js +6 -15
  63. package/dist/controls-options-manager/enums.js.map +1 -1
  64. package/dist/controls-options-manager/index.d.ts +1 -17
  65. package/dist/controls-options-manager/index.js +38 -127
  66. package/dist/controls-options-manager/index.js.map +1 -1
  67. package/dist/controls-options-manager/util.d.ts +7 -1
  68. package/dist/controls-options-manager/util.js +19 -309
  69. package/dist/controls-options-manager/util.js.map +1 -1
  70. package/dist/index.d.ts +3 -6
  71. package/dist/index.js +5 -121
  72. package/dist/index.js.map +1 -1
  73. package/dist/locus-info/controlsUtils.js +11 -100
  74. package/dist/locus-info/controlsUtils.js.map +1 -1
  75. package/dist/locus-info/embeddedAppsUtils.js +4 -3
  76. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  77. package/dist/locus-info/fullState.js +2 -1
  78. package/dist/locus-info/fullState.js.map +1 -1
  79. package/dist/locus-info/hostUtils.js +2 -1
  80. package/dist/locus-info/hostUtils.js.map +1 -1
  81. package/dist/locus-info/index.d.ts +4 -57
  82. package/dist/locus-info/index.js +84 -425
  83. package/dist/locus-info/index.js.map +1 -1
  84. package/dist/locus-info/infoUtils.js +5 -13
  85. package/dist/locus-info/infoUtils.js.map +1 -1
  86. package/dist/locus-info/mediaSharesUtils.js +3 -58
  87. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  88. package/dist/locus-info/parser.d.ts +6 -66
  89. package/dist/locus-info/parser.js +80 -253
  90. package/dist/locus-info/parser.js.map +1 -1
  91. package/dist/locus-info/selfUtils.js +13 -97
  92. package/dist/locus-info/selfUtils.js.map +1 -1
  93. package/dist/media/index.d.ts +0 -2
  94. package/dist/media/index.js +319 -107
  95. package/dist/media/index.js.map +1 -1
  96. package/dist/media/properties.d.ts +53 -38
  97. package/dist/media/properties.js +153 -96
  98. package/dist/media/properties.js.map +1 -1
  99. package/dist/media/util.js +22 -1
  100. package/dist/media/util.js.map +1 -1
  101. package/dist/mediaQualityMetrics/config.d.ts +230 -234
  102. package/dist/mediaQualityMetrics/config.js +498 -302
  103. package/dist/mediaQualityMetrics/config.js.map +1 -1
  104. package/dist/meeting/effectsState.d.ts +42 -0
  105. package/dist/meeting/effectsState.js +260 -0
  106. package/dist/meeting/effectsState.js.map +1 -0
  107. package/dist/meeting/in-meeting-actions.d.ts +0 -88
  108. package/dist/meeting/in-meeting-actions.js +3 -94
  109. package/dist/meeting/in-meeting-actions.js.map +1 -1
  110. package/dist/meeting/index.d.ts +520 -705
  111. package/dist/meeting/index.js +3083 -5041
  112. package/dist/meeting/index.js.map +1 -1
  113. package/dist/meeting/muteState.d.ts +25 -93
  114. package/dist/meeting/muteState.js +133 -224
  115. package/dist/meeting/muteState.js.map +1 -1
  116. package/dist/meeting/request.d.ts +47 -82
  117. package/dist/meeting/request.js +199 -304
  118. package/dist/meeting/request.js.map +1 -1
  119. package/dist/meeting/state.js +2 -1
  120. package/dist/meeting/state.js.map +1 -1
  121. package/dist/meeting/util.d.ts +1 -118
  122. package/dist/meeting/util.js +435 -676
  123. package/dist/meeting/util.js.map +1 -1
  124. package/dist/meeting-info/collection.js +4 -3
  125. package/dist/meeting-info/collection.js.map +1 -1
  126. package/dist/meeting-info/index.d.ts +1 -13
  127. package/dist/meeting-info/index.js +7 -74
  128. package/dist/meeting-info/index.js.map +1 -1
  129. package/dist/meeting-info/meeting-info-v2.d.ts +1 -31
  130. package/dist/meeting-info/meeting-info-v2.js +63 -200
  131. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  132. package/dist/meeting-info/request.js +2 -1
  133. package/dist/meeting-info/request.js.map +1 -1
  134. package/dist/meeting-info/util.js +3 -2
  135. package/dist/meeting-info/util.js.map +1 -1
  136. package/dist/meeting-info/utilv2.js +41 -39
  137. package/dist/meeting-info/utilv2.js.map +1 -1
  138. package/dist/meetings/collection.d.ts +0 -17
  139. package/dist/meetings/collection.js +4 -42
  140. package/dist/meetings/collection.js.map +1 -1
  141. package/dist/meetings/index.d.ts +20 -114
  142. package/dist/meetings/index.js +133 -540
  143. package/dist/meetings/index.js.map +1 -1
  144. package/dist/meetings/request.js +3 -4
  145. package/dist/meetings/request.js.map +1 -1
  146. package/dist/meetings/util.js +6 -107
  147. package/dist/meetings/util.js.map +1 -1
  148. package/dist/member/index.d.ts +1 -13
  149. package/dist/member/index.js +2 -45
  150. package/dist/member/index.js.map +1 -1
  151. package/dist/member/member.types.js +4 -3
  152. package/dist/member/member.types.js.map +1 -1
  153. package/dist/member/util.js +29 -120
  154. package/dist/member/util.js.map +1 -1
  155. package/dist/members/collection.d.ts +0 -5
  156. package/dist/members/collection.js +2 -11
  157. package/dist/members/collection.js.map +1 -1
  158. package/dist/members/index.d.ts +11 -56
  159. package/dist/members/index.js +47 -174
  160. package/dist/members/index.js.map +1 -1
  161. package/dist/members/request.d.ts +11 -67
  162. package/dist/members/request.js +54 -102
  163. package/dist/members/request.js.map +1 -1
  164. package/dist/members/types.js +4 -3
  165. package/dist/members/types.js.map +1 -1
  166. package/dist/members/util.d.ts +1 -214
  167. package/dist/members/util.js +284 -327
  168. package/dist/members/util.js.map +1 -1
  169. package/dist/metrics/config.d.ts +169 -0
  170. package/dist/metrics/config.js +289 -0
  171. package/dist/metrics/config.js.map +1 -0
  172. package/dist/metrics/constants.d.ts +6 -15
  173. package/dist/metrics/constants.js +9 -17
  174. package/dist/metrics/constants.js.map +1 -1
  175. package/dist/metrics/index.d.ts +111 -4
  176. package/dist/metrics/index.js +452 -4
  177. package/dist/metrics/index.js.map +1 -1
  178. package/dist/networkQualityMonitor/index.js +4 -5
  179. package/dist/networkQualityMonitor/index.js.map +1 -1
  180. package/dist/peer-connection-manager/index.d.ts +6 -0
  181. package/dist/peer-connection-manager/index.js +671 -0
  182. package/dist/peer-connection-manager/index.js.map +1 -0
  183. package/dist/peer-connection-manager/util.d.ts +6 -0
  184. package/dist/peer-connection-manager/util.js +110 -0
  185. package/dist/peer-connection-manager/util.js.map +1 -0
  186. package/dist/personal-meeting-room/index.js +3 -2
  187. package/dist/personal-meeting-room/index.js.map +1 -1
  188. package/dist/personal-meeting-room/request.js +3 -2
  189. package/dist/personal-meeting-room/request.js.map +1 -1
  190. package/dist/personal-meeting-room/util.js +2 -1
  191. package/dist/personal-meeting-room/util.js.map +1 -1
  192. package/dist/reachability/index.d.ts +95 -61
  193. package/dist/reachability/index.js +392 -304
  194. package/dist/reachability/index.js.map +1 -1
  195. package/dist/reachability/request.d.ts +3 -7
  196. package/dist/reachability/request.js +10 -18
  197. package/dist/reachability/request.js.map +1 -1
  198. package/dist/reactions/reactions.d.ts +2 -2
  199. package/dist/reactions/reactions.js +6 -4
  200. package/dist/reactions/reactions.js.map +1 -1
  201. package/dist/reactions/reactions.type.d.ts +3 -23
  202. package/dist/reactions/reactions.type.js +23 -21
  203. package/dist/reactions/reactions.type.js.map +1 -1
  204. package/dist/reconnection-manager/index.d.ts +8 -32
  205. package/dist/reconnection-manager/index.js +232 -285
  206. package/dist/reconnection-manager/index.js.map +1 -1
  207. package/dist/recording-controller/enums.js +5 -4
  208. package/dist/recording-controller/enums.js.map +1 -1
  209. package/dist/recording-controller/index.d.ts +1 -15
  210. package/dist/recording-controller/index.js +46 -57
  211. package/dist/recording-controller/index.js.map +1 -1
  212. package/dist/recording-controller/util.d.ts +4 -5
  213. package/dist/recording-controller/util.js +10 -10
  214. package/dist/recording-controller/util.js.map +1 -1
  215. package/dist/roap/collection.d.ts +10 -0
  216. package/dist/roap/collection.js +63 -0
  217. package/dist/roap/collection.js.map +1 -0
  218. package/dist/roap/handler.d.ts +47 -0
  219. package/dist/roap/handler.js +279 -0
  220. package/dist/roap/handler.js.map +1 -0
  221. package/dist/roap/index.d.ts +47 -9
  222. package/dist/roap/index.js +238 -100
  223. package/dist/roap/index.js.map +1 -1
  224. package/dist/roap/request.d.ts +12 -18
  225. package/dist/roap/request.js +180 -126
  226. package/dist/roap/request.js.map +1 -1
  227. package/dist/roap/state.d.ts +9 -0
  228. package/dist/roap/state.js +127 -0
  229. package/dist/roap/state.js.map +1 -0
  230. package/dist/roap/turnDiscovery.d.ts +16 -27
  231. package/dist/roap/turnDiscovery.js +105 -115
  232. package/dist/roap/turnDiscovery.js.map +1 -1
  233. package/dist/roap/util.d.ts +2 -0
  234. package/dist/roap/util.js +76 -0
  235. package/dist/roap/util.js.map +1 -0
  236. package/dist/statsAnalyzer/global.d.ts +83 -1
  237. package/dist/statsAnalyzer/global.js +85 -2
  238. package/dist/statsAnalyzer/global.js.map +1 -1
  239. package/dist/statsAnalyzer/index.d.ts +30 -50
  240. package/dist/statsAnalyzer/index.js +511 -436
  241. package/dist/statsAnalyzer/index.js.map +1 -1
  242. package/dist/statsAnalyzer/mqaUtil.d.ts +6 -8
  243. package/dist/statsAnalyzer/mqaUtil.js +90 -130
  244. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  245. package/dist/transcription/index.js +2 -1
  246. package/dist/transcription/index.js.map +1 -1
  247. package/package.json +26 -39
  248. package/src/common/errors/webex-errors.ts +12 -36
  249. package/src/common/logs/logger-proxy.ts +1 -1
  250. package/src/common/logs/request.ts +1 -5
  251. package/src/common/queue.ts +8 -22
  252. package/src/config.ts +7 -6
  253. package/src/constants.ts +100 -265
  254. package/src/controls-options-manager/enums.ts +0 -12
  255. package/src/controls-options-manager/index.ts +21 -116
  256. package/src/controls-options-manager/util.ts +14 -294
  257. package/src/index.js +15 -0
  258. package/src/locus-info/controlsUtils.ts +0 -110
  259. package/src/locus-info/index.ts +61 -450
  260. package/src/locus-info/infoUtils.ts +2 -14
  261. package/src/locus-info/mediaSharesUtils.ts +0 -64
  262. package/src/locus-info/parser.ts +47 -258
  263. package/src/locus-info/selfUtils.ts +2 -85
  264. package/src/media/index.ts +370 -153
  265. package/src/media/properties.ts +136 -106
  266. package/src/media/util.ts +21 -0
  267. package/src/mediaQualityMetrics/config.ts +377 -244
  268. package/src/meeting/effectsState.ts +209 -0
  269. package/src/meeting/in-meeting-actions.ts +0 -176
  270. package/src/meeting/index.ts +2581 -4306
  271. package/src/meeting/muteState.ts +138 -224
  272. package/src/meeting/request.ts +127 -214
  273. package/src/meeting/util.ts +423 -687
  274. package/src/meeting-info/index.ts +8 -81
  275. package/src/meeting-info/meeting-info-v2.ts +13 -163
  276. package/src/meeting-info/util.ts +1 -1
  277. package/src/meeting-info/utilv2.ts +28 -28
  278. package/src/meetings/collection.ts +0 -33
  279. package/src/meetings/index.ts +136 -531
  280. package/src/meetings/request.ts +0 -2
  281. package/src/meetings/util.ts +5 -116
  282. package/src/member/index.ts +1 -43
  283. package/src/member/util.ts +28 -125
  284. package/src/members/collection.ts +0 -8
  285. package/src/members/index.ts +52 -187
  286. package/src/members/request.ts +27 -87
  287. package/src/members/util.ts +291 -332
  288. package/src/metrics/config.ts +485 -0
  289. package/src/metrics/constants.ts +6 -15
  290. package/src/metrics/index.ts +471 -1
  291. package/src/networkQualityMonitor/index.ts +6 -6
  292. package/src/peer-connection-manager/index.ts +847 -0
  293. package/src/peer-connection-manager/util.ts +119 -0
  294. package/src/reachability/index.ts +347 -246
  295. package/src/reachability/request.ts +8 -17
  296. package/src/reactions/reactions.ts +4 -4
  297. package/src/reactions/reactions.type.ts +4 -30
  298. package/src/reconnection-manager/index.ts +156 -168
  299. package/src/recording-controller/index.ts +3 -20
  300. package/src/recording-controller/util.ts +9 -26
  301. package/src/roap/collection.ts +62 -0
  302. package/src/roap/handler.ts +294 -0
  303. package/src/roap/index.ts +241 -96
  304. package/src/roap/request.ts +148 -74
  305. package/src/roap/state.ts +156 -0
  306. package/src/roap/turnDiscovery.ts +56 -62
  307. package/src/roap/util.ts +100 -0
  308. package/src/statsAnalyzer/global.ts +84 -1
  309. package/src/statsAnalyzer/index.ts +645 -479
  310. package/src/statsAnalyzer/mqaUtil.ts +126 -128
  311. package/test/integration/spec/journey.js +264 -320
  312. package/test/integration/spec/space-meeting.js +4 -77
  313. package/test/unit/spec/common/queue.js +2 -31
  314. package/test/unit/spec/controls-options-manager/index.js +0 -163
  315. package/test/unit/spec/controls-options-manager/util.js +60 -576
  316. package/test/unit/spec/fixture/locus.js +0 -1
  317. package/test/unit/spec/locus-info/controlsUtils.js +30 -323
  318. package/test/unit/spec/locus-info/index.js +15 -1437
  319. package/test/unit/spec/locus-info/infoUtils.js +16 -54
  320. package/test/unit/spec/locus-info/lib/SeqCmp.json +0 -16
  321. package/test/unit/spec/locus-info/lib/selfConstant.js +0 -48
  322. package/test/unit/spec/locus-info/parser.js +35 -116
  323. package/test/unit/spec/locus-info/selfUtils.js +0 -275
  324. package/test/unit/spec/media/properties.ts +84 -75
  325. package/test/unit/spec/meeting/effectsState.js +281 -0
  326. package/test/unit/spec/meeting/in-meeting-actions.ts +0 -86
  327. package/test/unit/spec/meeting/index.js +2313 -8384
  328. package/test/unit/spec/meeting/muteState.js +213 -409
  329. package/test/unit/spec/meeting/request.js +43 -523
  330. package/test/unit/spec/meeting/utils.js +24 -834
  331. package/test/unit/spec/meeting-info/meetinginfov2.js +5 -527
  332. package/test/unit/spec/meeting-info/utilv2.js +0 -21
  333. package/test/unit/spec/meetings/collection.js +0 -26
  334. package/test/unit/spec/meetings/index.js +232 -1445
  335. package/test/unit/spec/meetings/utils.js +2 -202
  336. package/test/unit/spec/member/index.js +9 -32
  337. package/test/unit/spec/member/util.js +61 -499
  338. package/test/unit/spec/members/index.js +5 -394
  339. package/test/unit/spec/members/request.js +27 -206
  340. package/test/unit/spec/members/utils.js +38 -173
  341. package/test/unit/spec/metrics/index.js +50 -1
  342. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  343. package/test/unit/spec/peerconnection-manager/index.js +218 -0
  344. package/test/unit/spec/peerconnection-manager/utils.js +49 -0
  345. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +388 -0
  346. package/test/unit/spec/reachability/index.ts +24 -532
  347. package/test/unit/spec/reconnection-manager/index.js +24 -163
  348. package/test/unit/spec/recording-controller/index.js +218 -293
  349. package/test/unit/spec/recording-controller/util.js +96 -223
  350. package/test/unit/spec/roap/index.ts +77 -187
  351. package/test/unit/spec/roap/turnDiscovery.ts +48 -86
  352. package/test/unit/spec/roap/util.js +30 -0
  353. package/test/unit/spec/stats-analyzer/index.js +165 -644
  354. package/test/utils/testUtils.js +45 -0
  355. package/test/utils/webex-config.js +0 -4
  356. package/test/utils/webex-test-users.js +3 -7
  357. package/dist/annotation/annotation.types.d.ts +0 -42
  358. package/dist/annotation/annotation.types.js +0 -7
  359. package/dist/annotation/annotation.types.js.map +0 -1
  360. package/dist/annotation/constants.d.ts +0 -31
  361. package/dist/annotation/constants.js +0 -41
  362. package/dist/annotation/constants.js.map +0 -1
  363. package/dist/annotation/index.d.ts +0 -117
  364. package/dist/annotation/index.js +0 -357
  365. package/dist/annotation/index.js.map +0 -1
  366. package/dist/breakouts/breakout.d.ts +0 -8
  367. package/dist/breakouts/breakout.js +0 -215
  368. package/dist/breakouts/breakout.js.map +0 -1
  369. package/dist/breakouts/collection.d.ts +0 -5
  370. package/dist/breakouts/collection.js +0 -22
  371. package/dist/breakouts/collection.js.map +0 -1
  372. package/dist/breakouts/edit-lock-error.d.ts +0 -15
  373. package/dist/breakouts/edit-lock-error.js +0 -51
  374. package/dist/breakouts/edit-lock-error.js.map +0 -1
  375. package/dist/breakouts/events.d.ts +0 -8
  376. package/dist/breakouts/events.js +0 -44
  377. package/dist/breakouts/events.js.map +0 -1
  378. package/dist/breakouts/index.d.ts +0 -5
  379. package/dist/breakouts/index.js +0 -1047
  380. package/dist/breakouts/index.js.map +0 -1
  381. package/dist/breakouts/request.d.ts +0 -22
  382. package/dist/breakouts/request.js +0 -77
  383. package/dist/breakouts/request.js.map +0 -1
  384. package/dist/breakouts/utils.d.ts +0 -15
  385. package/dist/breakouts/utils.js +0 -64
  386. package/dist/breakouts/utils.js.map +0 -1
  387. package/dist/common/errors/no-meeting-info.d.ts +0 -14
  388. package/dist/common/errors/no-meeting-info.js +0 -50
  389. package/dist/common/errors/no-meeting-info.js.map +0 -1
  390. package/dist/common/errors/reclaim-host-role-errors.js.map +0 -1
  391. package/dist/controls-options-manager/types.d.ts +0 -43
  392. package/dist/controls-options-manager/types.js +0 -7
  393. package/dist/controls-options-manager/types.js.map +0 -1
  394. package/dist/interceptors/index.d.ts +0 -2
  395. package/dist/interceptors/index.js +0 -15
  396. package/dist/interceptors/index.js.map +0 -1
  397. package/dist/interceptors/locusRetry.d.ts +0 -27
  398. package/dist/interceptors/locusRetry.js +0 -94
  399. package/dist/interceptors/locusRetry.js.map +0 -1
  400. package/dist/interpretation/collection.d.ts +0 -5
  401. package/dist/interpretation/collection.js +0 -22
  402. package/dist/interpretation/collection.js.map +0 -1
  403. package/dist/interpretation/index.d.ts +0 -5
  404. package/dist/interpretation/index.js +0 -365
  405. package/dist/interpretation/index.js.map +0 -1
  406. package/dist/interpretation/siLanguage.d.ts +0 -5
  407. package/dist/interpretation/siLanguage.js +0 -24
  408. package/dist/interpretation/siLanguage.js.map +0 -1
  409. package/dist/meeting/locusMediaRequest.d.ts +0 -74
  410. package/dist/meeting/locusMediaRequest.js +0 -291
  411. package/dist/meeting/locusMediaRequest.js.map +0 -1
  412. package/dist/meeting/request.type.d.ts +0 -11
  413. package/dist/meeting/request.type.js +0 -7
  414. package/dist/meeting/request.type.js.map +0 -1
  415. package/dist/meeting/voicea-meeting.d.ts +0 -20
  416. package/dist/meeting/voicea-meeting.js +0 -201
  417. package/dist/meeting/voicea-meeting.js.map +0 -1
  418. package/dist/meetings/meetings.types.d.ts +0 -4
  419. package/dist/meetings/meetings.types.js +0 -7
  420. package/dist/meetings/meetings.types.js.map +0 -1
  421. package/dist/member/types.d.ts +0 -32
  422. package/dist/member/types.js +0 -23
  423. package/dist/member/types.js.map +0 -1
  424. package/dist/multistream/mediaRequestManager.d.ts +0 -118
  425. package/dist/multistream/mediaRequestManager.js +0 -344
  426. package/dist/multistream/mediaRequestManager.js.map +0 -1
  427. package/dist/multistream/receiveSlot.d.ts +0 -68
  428. package/dist/multistream/receiveSlot.js +0 -200
  429. package/dist/multistream/receiveSlot.js.map +0 -1
  430. package/dist/multistream/receiveSlotManager.d.ts +0 -56
  431. package/dist/multistream/receiveSlotManager.js +0 -174
  432. package/dist/multistream/receiveSlotManager.js.map +0 -1
  433. package/dist/multistream/remoteMedia.d.ts +0 -72
  434. package/dist/multistream/remoteMedia.js +0 -268
  435. package/dist/multistream/remoteMedia.js.map +0 -1
  436. package/dist/multistream/remoteMediaGroup.d.ts +0 -47
  437. package/dist/multistream/remoteMediaGroup.js +0 -267
  438. package/dist/multistream/remoteMediaGroup.js.map +0 -1
  439. package/dist/multistream/remoteMediaManager.d.ts +0 -285
  440. package/dist/multistream/remoteMediaManager.js +0 -1211
  441. package/dist/multistream/remoteMediaManager.js.map +0 -1
  442. package/dist/multistream/sendSlotManager.d.ts +0 -61
  443. package/dist/multistream/sendSlotManager.js +0 -236
  444. package/dist/multistream/sendSlotManager.js.map +0 -1
  445. package/dist/reachability/clusterReachability.d.ts +0 -109
  446. package/dist/reachability/clusterReachability.js +0 -357
  447. package/dist/reachability/clusterReachability.js.map +0 -1
  448. package/dist/reachability/util.d.ts +0 -8
  449. package/dist/reachability/util.js +0 -29
  450. package/dist/reachability/util.js.map +0 -1
  451. package/dist/reactions/constants.d.ts +0 -3
  452. package/dist/reactions/constants.js +0 -12
  453. package/dist/reactions/constants.js.map +0 -1
  454. package/dist/rtcMetrics/constants.d.ts +0 -4
  455. package/dist/rtcMetrics/constants.js +0 -11
  456. package/dist/rtcMetrics/constants.js.map +0 -1
  457. package/dist/rtcMetrics/index.d.ts +0 -54
  458. package/dist/rtcMetrics/index.js +0 -140
  459. package/dist/rtcMetrics/index.js.map +0 -1
  460. package/dist/webinar/collection.d.ts +0 -16
  461. package/dist/webinar/collection.js +0 -43
  462. package/dist/webinar/collection.js.map +0 -1
  463. package/dist/webinar/index.d.ts +0 -5
  464. package/dist/webinar/index.js +0 -68
  465. package/dist/webinar/index.js.map +0 -1
  466. package/src/annotation/annotation.types.ts +0 -50
  467. package/src/annotation/constants.ts +0 -36
  468. package/src/annotation/index.ts +0 -328
  469. package/src/breakouts/README.md +0 -220
  470. package/src/breakouts/breakout.ts +0 -188
  471. package/src/breakouts/collection.ts +0 -19
  472. package/src/breakouts/edit-lock-error.ts +0 -25
  473. package/src/breakouts/events.ts +0 -56
  474. package/src/breakouts/index.ts +0 -925
  475. package/src/breakouts/request.ts +0 -55
  476. package/src/breakouts/utils.ts +0 -57
  477. package/src/common/errors/no-meeting-info.ts +0 -24
  478. package/src/controls-options-manager/types.ts +0 -59
  479. package/src/index.ts +0 -44
  480. package/src/interceptors/index.ts +0 -3
  481. package/src/interceptors/locusRetry.ts +0 -67
  482. package/src/interpretation/README.md +0 -60
  483. package/src/interpretation/collection.ts +0 -19
  484. package/src/interpretation/index.ts +0 -332
  485. package/src/interpretation/siLanguage.ts +0 -18
  486. package/src/meeting/locusMediaRequest.ts +0 -313
  487. package/src/meeting/request.type.ts +0 -13
  488. package/src/meeting/voicea-meeting.ts +0 -161
  489. package/src/meetings/meetings.types.ts +0 -12
  490. package/src/member/types.ts +0 -38
  491. package/src/multistream/mediaRequestManager.ts +0 -440
  492. package/src/multistream/receiveSlot.ts +0 -184
  493. package/src/multistream/receiveSlotManager.ts +0 -166
  494. package/src/multistream/remoteMedia.ts +0 -254
  495. package/src/multistream/remoteMediaGroup.ts +0 -284
  496. package/src/multistream/remoteMediaManager.ts +0 -1145
  497. package/src/multistream/sendSlotManager.ts +0 -170
  498. package/src/reachability/clusterReachability.ts +0 -320
  499. package/src/reachability/util.ts +0 -24
  500. package/src/reactions/constants.ts +0 -4
  501. package/src/rtcMetrics/constants.ts +0 -3
  502. package/src/rtcMetrics/index.ts +0 -124
  503. package/src/webinar/collection.ts +0 -31
  504. package/src/webinar/index.ts +0 -62
  505. package/test/integration/spec/converged-space-meetings.js +0 -233
  506. package/test/unit/spec/annotation/index.ts +0 -418
  507. package/test/unit/spec/breakouts/breakout.ts +0 -237
  508. package/test/unit/spec/breakouts/collection.ts +0 -15
  509. package/test/unit/spec/breakouts/edit-lock-error.ts +0 -30
  510. package/test/unit/spec/breakouts/events.ts +0 -89
  511. package/test/unit/spec/breakouts/index.ts +0 -1790
  512. package/test/unit/spec/breakouts/request.ts +0 -104
  513. package/test/unit/spec/breakouts/utils.js +0 -72
  514. package/test/unit/spec/interceptors/locusRetry.ts +0 -131
  515. package/test/unit/spec/interpretation/collection.ts +0 -15
  516. package/test/unit/spec/interpretation/index.ts +0 -589
  517. package/test/unit/spec/interpretation/siLanguage.ts +0 -28
  518. package/test/unit/spec/locus-info/mediaSharesUtils.ts +0 -32
  519. package/test/unit/spec/media/index.ts +0 -290
  520. package/test/unit/spec/meeting/locusMediaRequest.ts +0 -442
  521. package/test/unit/spec/meeting-info/index.js +0 -300
  522. package/test/unit/spec/multistream/mediaRequestManager.ts +0 -1418
  523. package/test/unit/spec/multistream/receiveSlot.ts +0 -163
  524. package/test/unit/spec/multistream/receiveSlotManager.ts +0 -203
  525. package/test/unit/spec/multistream/remoteMedia.ts +0 -255
  526. package/test/unit/spec/multistream/remoteMediaGroup.ts +0 -662
  527. package/test/unit/spec/multistream/remoteMediaManager.ts +0 -1924
  528. package/test/unit/spec/multistream/sendSlotManager.ts +0 -242
  529. package/test/unit/spec/reachability/clusterReachability.ts +0 -279
  530. package/test/unit/spec/reachability/request.js +0 -68
  531. package/test/unit/spec/reachability/util.ts +0 -40
  532. package/test/unit/spec/roap/request.ts +0 -255
  533. package/test/unit/spec/rtcMetrics/index.ts +0 -93
  534. package/test/unit/spec/webinar/collection.ts +0 -13
  535. package/test/unit/spec/webinar/index.ts +0 -60
  536. package/test/utils/constants.js +0 -9
  537. package/test/utils/integrationTestUtils.js +0 -46
  538. /package/dist/common/errors/{reclaim-host-role-errors.d.ts → reclaim-host-role-error.d.ts} +0 -0
  539. /package/src/common/errors/{reclaim-host-role-errors.ts → reclaim-host-role-error.ts} +0 -0
package/src/roap/index.ts CHANGED
@@ -3,22 +3,21 @@ import {StatelessWebexPlugin} from '@webex/webex-core';
3
3
 
4
4
  import {ROAP} from '../constants';
5
5
  import LoggerProxy from '../common/logs/logger-proxy';
6
+ import MeetingUtil from '../meeting/util';
6
7
 
8
+ import RoapHandler from './handler';
7
9
  import RoapRequest from './request';
10
+ import RoapCollection from './collection';
8
11
  import TurnDiscovery from './turnDiscovery';
9
12
  import Meeting from '../meeting';
10
- import MeetingUtil from '../meeting/util';
11
- import Metrics from '../metrics';
12
- import BEHAVIORAL_METRICS from '../metrics/constants';
13
13
 
14
14
  /**
15
15
  * Roap options
16
16
  * @typedef {Object} RoapOptions
17
17
  * @property {String} sdp
18
18
  * @property {Meeting} meeting
19
- * @property {Number} seq
20
- * @property {Number} tieBreaker
21
- * @property {Boolean} reconnect
19
+ * @property {Number} roapSeq
20
+ * @property {Boolean} reconnect
22
21
  */
23
22
 
24
23
  /**
@@ -62,6 +61,20 @@ export default class Roap extends StatelessWebexPlugin {
62
61
  * @memberof Roap
63
62
  */
64
63
  this.options = options;
64
+ /**
65
+ * The Roap Process State Handler
66
+ * @instance
67
+ * @type {RoapHandler}
68
+ * @private
69
+ * @memberof Roap
70
+ */
71
+ this.roapHandler = new RoapHandler(
72
+ this.attrs,
73
+ this.options,
74
+ this.sendRoapOK.bind(this),
75
+ this.sendRoapAnswer.bind(this),
76
+ this.roapFinished.bind(this)
77
+ );
65
78
  /**
66
79
  * The Roap Request Server Proxy Object
67
80
  * @instance
@@ -71,17 +84,72 @@ export default class Roap extends StatelessWebexPlugin {
71
84
  */
72
85
  // @ts-ignore
73
86
  this.roapRequest = new RoapRequest({}, options);
87
+ /**
88
+ * The last roap offer sent to server and acked
89
+ * @instance
90
+ * @type {Object}
91
+ * @private
92
+ * @memberof Roap
93
+ */
94
+ this.lastRoapOffer = {};
74
95
 
75
96
  this.turnDiscovery = new TurnDiscovery(this.roapRequest);
76
97
  }
77
98
 
99
+ /**
100
+ * Starts listening to mercury events for Roap messages
101
+ * @param {object} data event object
102
+ * @returns {Promise}
103
+ * @private
104
+ * @memberof Roap
105
+ */
106
+ private roapEvent(data: any) {
107
+ const msg = data.message;
108
+ const {correlationId} = data;
109
+
110
+ LoggerProxy.logger.log(
111
+ `Roap:index#roapEvent --> Received Roap Message [${JSON.stringify(msg, null, 2)}]`
112
+ );
113
+
114
+ if (msg.messageType === ROAP.ROAP_TYPES.TURN_DISCOVERY_RESPONSE) {
115
+ // turn discovery is not part of normal roap protocol and so we are not handling it
116
+ // through the usual roap state machine
117
+ this.turnDiscovery.handleTurnDiscoveryResponse(msg);
118
+ } else {
119
+ this.roapHandler.submit({
120
+ type: ROAP.RECEIVE_ROAP_MSG,
121
+ msg,
122
+ correlationId,
123
+ });
124
+ }
125
+ }
126
+
127
+ /**
128
+ *
129
+ * @param {String} correlationId correlation id of a meeting
130
+ * @param {Number} seq ROAP sequence number
131
+ * @returns {Promise}
132
+ * @private
133
+ * @memberof Roap
134
+ */
135
+ private stop(correlationId: string, seq: number) {
136
+ this.roapHandler.submit({
137
+ type: ROAP.RECEIVE_CALL_LEAVE,
138
+ seq,
139
+ correlationId,
140
+ });
141
+
142
+ return Promise.resolve();
143
+ }
144
+
78
145
  /**
79
146
  *
80
147
  * @param {SeqOptions} options
81
148
  * @returns {null}
149
+ * @private
82
150
  * @memberof Roap
83
151
  */
84
- public sendRoapOK(options: any) {
152
+ private sendRoapOK(options: any) {
85
153
  return Promise.resolve().then(() => {
86
154
  // @ts-ignore
87
155
  const meeting = this.webex.meetings.meetingCollection.getByKey(
@@ -101,26 +169,35 @@ export default class Roap extends StatelessWebexPlugin {
101
169
  roapMessage,
102
170
  locusSelfUrl: meeting.selfUrl,
103
171
  mediaId: options.mediaId,
172
+ correlationId: options.correlationId,
104
173
  audioMuted: meeting.audio?.isLocallyMuted(),
105
174
  videoMuted: meeting.video?.isLocallyMuted(),
106
175
  meetingId: meeting.id,
107
- locusMediaRequest: meeting.locusMediaRequest,
108
176
  })
109
177
  .then(() => {
178
+ this.roapHandler.submit({
179
+ type: ROAP.SEND_ROAP_MSG,
180
+ msg: roapMessage,
181
+ correlationId: options.correlationId,
182
+ });
110
183
  LoggerProxy.logger.log(`Roap:index#sendRoapOK --> ROAP OK sent with seq ${options.seq}`);
184
+ meeting.setRoapSeq(options.seq);
111
185
  });
112
186
  });
113
187
  }
114
188
 
189
+ // eslint-disable-next-line no-warning-comments
190
+ // TODO: try to merge sendRoapOk and roapAnswer
115
191
  /**
116
192
  * Sends a ROAP answer...
117
193
  * @param {SeqOptions} options
118
194
  * @param {Boolean} options.audioMuted
119
195
  * @param {Boolean} options.videoMuted
120
196
  * @returns {Promise}
197
+ * @private
121
198
  * @memberof Roap
122
199
  */
123
- public sendRoapAnswer(options: any) {
200
+ private sendRoapAnswer(options: any) {
124
201
  // @ts-ignore
125
202
  const meeting = this.webex.meetings.meetingCollection.getByKey(
126
203
  'correlationId',
@@ -128,131 +205,200 @@ export default class Roap extends StatelessWebexPlugin {
128
205
  );
129
206
  const roapMessage = {
130
207
  messageType: ROAP.ROAP_TYPES.ANSWER,
131
- sdps: [options.sdp],
208
+ sdps: options.sdps,
132
209
  version: ROAP.ROAP_VERSION,
133
210
  seq: options.seq,
134
211
  };
135
212
 
136
- return this.roapRequest.sendRoap({
137
- roapMessage,
138
- locusSelfUrl: meeting.selfUrl,
139
- mediaId: options.mediaId,
140
- meetingId: meeting.id,
141
- audioMuted: meeting.audio?.isLocallyMuted(),
142
- videoMuted: meeting.video?.isLocallyMuted(),
143
- locusMediaRequest: meeting.locusMediaRequest,
213
+ this.roapHandler.submit({
214
+ type: ROAP.SEND_ROAP_MSG,
215
+ msg: roapMessage,
216
+ correlationId: options.correlationId,
144
217
  });
145
- }
146
-
147
- /**
148
- * Sends a ROAP error...
149
- * @param {Object} options
150
- * @returns {Promise}
151
- * @memberof Roap
152
- */
153
- sendRoapError(options) {
154
- // @ts-ignore
155
- const meeting = this.webex.meetings.meetingCollection.getByKey(
156
- 'correlationId',
157
- options.correlationId
158
- );
159
- const roapMessage = {
160
- messageType: ROAP.ROAP_TYPES.ERROR,
161
- version: ROAP.ROAP_VERSION,
162
- errorType: options.errorType,
163
- seq: options.seq,
164
- };
165
218
 
166
219
  return this.roapRequest
167
220
  .sendRoap({
168
221
  roapMessage,
169
222
  locusSelfUrl: meeting.selfUrl,
170
223
  mediaId: options.mediaId,
224
+ correlationId: options.correlationId,
171
225
  audioMuted: meeting.audio?.isLocallyMuted(),
172
226
  videoMuted: meeting.video?.isLocallyMuted(),
173
227
  meetingId: meeting.id,
174
- locusMediaRequest: meeting.locusMediaRequest,
175
228
  })
176
229
  .then(() => {
177
- LoggerProxy.logger.log(
178
- `Roap:index#sendRoapError --> ROAP ERROR sent with seq ${options.seq}`
179
- );
230
+ meeting.setRoapSeq(options.seq);
231
+
232
+ this.roapHandler.submit({
233
+ type: ROAP.SEND_ROAP_MSG_SUCCESS,
234
+ seq: roapMessage.seq,
235
+ correlationId: meeting.correlationId,
236
+ });
180
237
  });
181
238
  }
182
239
 
240
+ /**
241
+ * Sends a ROAP error...
242
+ * @param {Object} session
243
+ * @param {Object} locus
244
+ * @param {String} errorType
245
+ * @returns {Promise}
246
+ * @private
247
+ * @memberof Roap
248
+ */
249
+ private sendRoapError(session: any, locus: object, errorType: string) {
250
+ const msg = {
251
+ messageType: ROAP.ROAP_TYPES.ERROR,
252
+ version: ROAP.ROAP_VERSION,
253
+ errorType,
254
+ seq: session.OFFER.seq,
255
+ };
256
+
257
+ return this.roapRequest.sendRoap(msg, locus);
258
+ }
259
+
183
260
  /**
184
261
  * sends a roap media request
185
262
  * @param {RoapOptions} options
186
263
  * @returns {Promise}
264
+ * @private
187
265
  * @memberof Roap
188
266
  */
189
267
  sendRoapMediaRequest(options: any) {
190
- const {meeting, seq, sdp, tieBreaker} = options;
268
+ const {meeting, reconnect} = options;
191
269
  const roapMessage = {
192
270
  messageType: ROAP.ROAP_TYPES.OFFER,
193
- sdps: [sdp],
271
+ sdps: [options.sdp],
272
+ // sdps: [options.sdp],
194
273
  version: ROAP.ROAP_VERSION,
195
- seq,
196
- tieBreaker,
197
- headers: ['includeAnswerInHttpResponse', 'noOkInTransaction'],
274
+ seq:
275
+ typeof options.roapSeq !== 'number' && Number.isNaN(parseFloat(options.roapSeq))
276
+ ? 0
277
+ : options.roapSeq + 1,
278
+ tieBreaker: 4294967294, // Math.floor(Math.random() * (2 ** 32) - 1) // TODO: Handle the roap conflict scenario
198
279
  };
199
280
 
200
- // The only time we want to send an empty media id is when we are reconnecting, because this way we tell Locus
201
- // that it needs to create a new confluence, but when reconnecting we always send TURN_DISCOVERY_REQUEST first,
202
- // so we don't need to ever send an empty media id here
203
- const sendEmptyMediaId = false;
281
+ this.roapHandler.submit({
282
+ type: ROAP.SEND_ROAP_MSG,
283
+ msg: roapMessage,
284
+ correlationId: meeting.correlationId,
285
+ });
204
286
 
205
- return this.roapRequest
206
- .sendRoap({
207
- roapMessage,
208
- locusSelfUrl: meeting.selfUrl,
209
- mediaId: sendEmptyMediaId ? '' : meeting.mediaId,
210
- meetingId: meeting.id,
211
- preferTranscoding: !meeting.isMultistream,
212
- locusMediaRequest: meeting.locusMediaRequest,
213
- ipVersion: MeetingUtil.getIpVersion(meeting.webex),
287
+ // When reconnecting, it's important that the first roap message being sent out has empty media id.
288
+ // Normally this is the roap offer, but when TURN discovery is enabled,
289
+ // then this is the TURN discovery request message
290
+ return this.turnDiscovery
291
+ .isSkipped(meeting)
292
+ .then((isTurnDiscoverySkipped) => {
293
+ const sendEmptyMediaId = reconnect && isTurnDiscoverySkipped;
294
+
295
+ return this.roapRequest.sendRoap({
296
+ roapMessage,
297
+ correlationId: meeting.correlationId,
298
+ locusSelfUrl: meeting.selfUrl,
299
+ mediaId: sendEmptyMediaId ? '' : meeting.mediaId,
300
+ audioMuted: meeting.audio?.isLocallyMuted(),
301
+ videoMuted: meeting.video?.isLocallyMuted(),
302
+ meetingId: meeting.id,
303
+ });
214
304
  })
305
+
215
306
  .then(({locus, mediaConnections}) => {
307
+ this.roapHandler.submit({
308
+ type: ROAP.SEND_ROAP_MSG_SUCCESS,
309
+ seq: roapMessage.seq,
310
+ correlationId: meeting.correlationId,
311
+ });
312
+ meeting.setRoapSeq(roapMessage.seq);
313
+
216
314
  if (mediaConnections) {
217
315
  meeting.updateMediaConnections(mediaConnections);
218
316
  }
219
317
 
220
- let roapAnswer;
221
-
222
- if (mediaConnections?.[0]?.remoteSdp) {
223
- const remoteSdp = JSON.parse(mediaConnections[0].remoteSdp);
224
-
225
- if (remoteSdp.roapMessage) {
226
- const {
227
- seq: answerSeq,
228
- messageType,
229
- sdps,
230
- errorType,
231
- errorCause,
232
- headers,
233
- } = remoteSdp.roapMessage;
234
-
235
- roapAnswer = {
236
- seq: answerSeq,
237
- messageType,
238
- sdp: sdps[0],
239
- errorType,
240
- errorCause,
241
- headers,
242
- };
243
- }
244
- }
318
+ // eslint-disable-next-line no-warning-comments
319
+ // TODO: we need to attach peerconenction to locus not sure if we need to pass everything here
320
+ return locus;
321
+ // eslint-disable-next-line no-warning-comments
322
+ // TODO: check where to update the sequence number
323
+ });
324
+ }
245
325
 
246
- if (!roapAnswer) {
247
- Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.ROAP_HTTP_RESPONSE_MISSING, {
248
- correlationId: meeting.correlationId,
249
- messageType: 'ANSWER',
250
- isMultistream: meeting.isMultistream,
251
- });
252
- }
326
+ /**
327
+ * sends a roap media request
328
+ * @param {RoapOptions} options
329
+ * @returns {Promise}
330
+ * @private
331
+ * @memberof Roap
332
+ */
333
+ sendRoapCallRequest = (options: any) => {
334
+ const {meeting} = options;
335
+ const roapMessage = {
336
+ messageType: ROAP.ROAP_TYPES.OFFER,
337
+ sdps: [options.sdp],
338
+ version: ROAP.ROAP_VERSION,
339
+ seq:
340
+ typeof options.roapSeq !== 'number' && Number.isNaN(parseFloat(options.roapSeq))
341
+ ? 0
342
+ : options.roapSeq + 1,
343
+ tieBreaker: 4294967294, // Math.floor(Math.random() * (2 ** 32) - 1) // TODO: Handle the roap conflict scenario
344
+ };
345
+
346
+ this.roapHandler.submit({
347
+ type: ROAP.SEND_ROAP_MSG,
348
+ msg: roapMessage,
349
+ correlationId: meeting.correlationId,
350
+ });
253
351
 
254
- return {locus, roapAnswer};
352
+ const roapBody = {
353
+ localMedias: [
354
+ {
355
+ localSdp: JSON.stringify(
356
+ this.roapRequest.attachRechabilityData({
357
+ roapMessage,
358
+ // eslint-disable-next-line no-warning-comments
359
+ // TODO: check whats the need for video and audiomute
360
+ audioMuted: meeting.audio?.isLocallyMuted(),
361
+ videoMuted: meeting.video?.isLocallyMuted(),
362
+ })
363
+ ),
364
+ // mediaId: meeting.mediaId
365
+ },
366
+ ],
367
+ };
368
+
369
+ return MeetingUtil.joinMeetingOptions(meeting, {roapMessage: roapBody}).then((locus) => {
370
+ this.roapHandler.submit({
371
+ type: ROAP.SEND_ROAP_MSG_SUCCESS,
372
+ seq: roapMessage.seq,
373
+ correlationId: meeting.correlationId,
255
374
  });
375
+ meeting.setRoapSeq(roapMessage.seq);
376
+
377
+ // eslint-disable-next-line no-warning-comments
378
+ // TODO: we need to attach peerconenction to locus not sure if we need to pass everything here
379
+ return locus;
380
+ // eslint-disable-next-line no-warning-comments
381
+ // TODO: check where to update the sequence number
382
+ });
383
+ };
384
+
385
+ /**
386
+ * Called when the roap sequence is finished (completed successfully or failed)
387
+ * @param {String} correlationId id of the meeting affected
388
+ * @param {String} sequenceId the id of the finished sequence
389
+ * @returns {undefined}
390
+ * @private
391
+ * @memberof Roap
392
+ */
393
+ private roapFinished(correlationId: string, sequenceId: string) {
394
+ RoapCollection.onSessionSequenceFinish(correlationId, sequenceId);
395
+ // @ts-ignore
396
+ const meeting = this.webex.meetings.meetingCollection.getByKey('correlationId', correlationId);
397
+
398
+ meeting.mediaNegotiatedEvent();
399
+ if (!RoapCollection.isBusy(correlationId)) {
400
+ meeting.processNextQueuedMediaUpdate();
401
+ }
256
402
  }
257
403
 
258
404
  /**
@@ -263,10 +409,9 @@ export default class Roap extends StatelessWebexPlugin {
263
409
  * @param {Meeting} meeting
264
410
  * @param {Boolean} isReconnecting should be set to true if this is a new
265
411
  * media connection just after a reconnection
266
- * @param {Boolean} [isForced]
267
412
  * @returns {Promise}
268
413
  */
269
- doTurnDiscovery(meeting: Meeting, isReconnecting: boolean, isForced?: boolean) {
270
- return this.turnDiscovery.doTurnDiscovery(meeting, isReconnecting, isForced);
414
+ doTurnDiscovery(meeting: Meeting, isReconnecting: boolean) {
415
+ return this.turnDiscovery.doTurnDiscovery(meeting, isReconnecting);
271
416
  }
272
417
  }