@webex/plugin-meetings 2.59.3-next.1 → 2.59.4-next.1

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 (420) hide show
  1. package/.eslintrc.js +6 -6
  2. package/LICENSE +1 -1
  3. package/README.md +1204 -1204
  4. package/UPGRADING.md +287 -287
  5. package/babel.config.js +3 -3
  6. package/browsers.js +108 -108
  7. package/dist/common/browser-detection.js +2 -2
  8. package/dist/common/browser-detection.js.map +1 -1
  9. package/dist/common/collection.js +45 -45
  10. package/dist/common/collection.js.map +1 -1
  11. package/dist/common/config.js.map +1 -1
  12. package/dist/common/errors/captcha-error.js +7 -7
  13. package/dist/common/errors/captcha-error.js.map +1 -1
  14. package/dist/common/errors/intent-to-join.js +7 -7
  15. package/dist/common/errors/intent-to-join.js.map +1 -1
  16. package/dist/common/errors/join-meeting.js +8 -8
  17. package/dist/common/errors/join-meeting.js.map +1 -1
  18. package/dist/common/errors/media.js +7 -7
  19. package/dist/common/errors/media.js.map +1 -1
  20. package/dist/common/errors/parameter.js +7 -7
  21. package/dist/common/errors/parameter.js.map +1 -1
  22. package/dist/common/errors/password-error.js +7 -7
  23. package/dist/common/errors/password-error.js.map +1 -1
  24. package/dist/common/errors/permission.js +6 -6
  25. package/dist/common/errors/permission.js.map +1 -1
  26. package/dist/common/errors/reconnection-in-progress.js +6 -6
  27. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  28. package/dist/common/errors/reconnection.js +7 -7
  29. package/dist/common/errors/reconnection.js.map +1 -1
  30. package/dist/common/errors/stats.js +7 -7
  31. package/dist/common/errors/stats.js.map +1 -1
  32. package/dist/common/errors/webex-errors.js +42 -42
  33. package/dist/common/errors/webex-errors.js.map +1 -1
  34. package/dist/common/errors/webex-meetings-error.js +12 -12
  35. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  36. package/dist/common/events/events-scope.js +10 -10
  37. package/dist/common/events/events-scope.js.map +1 -1
  38. package/dist/common/events/events.js +4 -4
  39. package/dist/common/events/events.js.map +1 -1
  40. package/dist/common/events/trigger-proxy.js.map +1 -1
  41. package/dist/common/events/util.js.map +1 -1
  42. package/dist/common/logs/logger-config.js.map +1 -1
  43. package/dist/common/logs/logger-proxy.js.map +1 -1
  44. package/dist/common/logs/request.js +18 -18
  45. package/dist/common/logs/request.js.map +1 -1
  46. package/dist/common/queue.js +18 -18
  47. package/dist/common/queue.js.map +1 -1
  48. package/dist/config.js.map +1 -1
  49. package/dist/constants.js +9 -9
  50. package/dist/constants.js.map +1 -1
  51. package/dist/controls-options-manager/constants.js.map +1 -1
  52. package/dist/controls-options-manager/enums.js.map +1 -1
  53. package/dist/controls-options-manager/index.js +83 -83
  54. package/dist/controls-options-manager/index.js.map +1 -1
  55. package/dist/controls-options-manager/util.js.map +1 -1
  56. package/dist/index.js.map +1 -1
  57. package/dist/locus-info/controlsUtils.js +27 -27
  58. package/dist/locus-info/controlsUtils.js.map +1 -1
  59. package/dist/locus-info/embeddedAppsUtils.js +14 -14
  60. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  61. package/dist/locus-info/fullState.js.map +1 -1
  62. package/dist/locus-info/hostUtils.js +19 -19
  63. package/dist/locus-info/hostUtils.js.map +1 -1
  64. package/dist/locus-info/index.js +198 -198
  65. package/dist/locus-info/index.js.map +1 -1
  66. package/dist/locus-info/infoUtils.js.map +1 -1
  67. package/dist/locus-info/mediaSharesUtils.js +50 -50
  68. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  69. package/dist/locus-info/parser.js +138 -138
  70. package/dist/locus-info/parser.js.map +1 -1
  71. package/dist/locus-info/selfUtils.js +52 -52
  72. package/dist/locus-info/selfUtils.js.map +1 -1
  73. package/dist/media/index.js +145 -145
  74. package/dist/media/index.js.map +1 -1
  75. package/dist/media/properties.js +49 -49
  76. package/dist/media/properties.js.map +1 -1
  77. package/dist/media/util.js.map +1 -1
  78. package/dist/mediaQualityMetrics/config.js.map +1 -1
  79. package/dist/meeting/effectsState.js +24 -24
  80. package/dist/meeting/effectsState.js.map +1 -1
  81. package/dist/meeting/in-meeting-actions.js +11 -11
  82. package/dist/meeting/in-meeting-actions.js.map +1 -1
  83. package/dist/meeting/index.js +1505 -1508
  84. package/dist/meeting/index.js.map +1 -1
  85. package/dist/meeting/muteState.js +85 -85
  86. package/dist/meeting/muteState.js.map +1 -1
  87. package/dist/meeting/request.js +143 -143
  88. package/dist/meeting/request.js.map +1 -1
  89. package/dist/meeting/state.js +30 -30
  90. package/dist/meeting/state.js.map +1 -1
  91. package/dist/meeting/util.js +4 -4
  92. package/dist/meeting/util.js.map +1 -1
  93. package/dist/meeting-info/collection.js +13 -13
  94. package/dist/meeting-info/collection.js.map +1 -1
  95. package/dist/meeting-info/index.js +50 -50
  96. package/dist/meeting-info/index.js.map +1 -1
  97. package/dist/meeting-info/meeting-info-v2.js +52 -52
  98. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  99. package/dist/meeting-info/request.js +14 -14
  100. package/dist/meeting-info/request.js.map +1 -1
  101. package/dist/meeting-info/util.js +9 -9
  102. package/dist/meeting-info/util.js.map +1 -1
  103. package/dist/meeting-info/utilv2.js +20 -20
  104. package/dist/meeting-info/utilv2.js.map +1 -1
  105. package/dist/meetings/collection.js +16 -16
  106. package/dist/meetings/collection.js.map +1 -1
  107. package/dist/meetings/index.js +259 -259
  108. package/dist/meetings/index.js.map +1 -1
  109. package/dist/meetings/request.js +15 -15
  110. package/dist/meetings/request.js.map +1 -1
  111. package/dist/meetings/util.js +29 -29
  112. package/dist/meetings/util.js.map +1 -1
  113. package/dist/member/index.js +214 -214
  114. package/dist/member/index.js.map +1 -1
  115. package/dist/member/member.types.js.map +1 -1
  116. package/dist/member/util.js +60 -60
  117. package/dist/member/util.js.map +1 -1
  118. package/dist/members/collection.js +11 -11
  119. package/dist/members/collection.js.map +1 -1
  120. package/dist/members/index.js +277 -277
  121. package/dist/members/index.js.map +1 -1
  122. package/dist/members/request.js +27 -27
  123. package/dist/members/request.js.map +1 -1
  124. package/dist/members/util.js +21 -21
  125. package/dist/members/util.js.map +1 -1
  126. package/dist/metrics/config.js.map +1 -1
  127. package/dist/metrics/constants.js.map +1 -1
  128. package/dist/metrics/index.js +92 -92
  129. package/dist/metrics/index.js.map +1 -1
  130. package/dist/networkQualityMonitor/index.js +65 -65
  131. package/dist/networkQualityMonitor/index.js.map +1 -1
  132. package/dist/peer-connection-manager/index.js +87 -87
  133. package/dist/peer-connection-manager/index.js.map +1 -1
  134. package/dist/peer-connection-manager/util.js +9 -9
  135. package/dist/peer-connection-manager/util.js.map +1 -1
  136. package/dist/personal-meeting-room/index.js +67 -67
  137. package/dist/personal-meeting-room/index.js.map +1 -1
  138. package/dist/personal-meeting-room/request.js +7 -7
  139. package/dist/personal-meeting-room/request.js.map +1 -1
  140. package/dist/personal-meeting-room/util.js.map +1 -1
  141. package/dist/reachability/index.js +119 -112
  142. package/dist/reachability/index.js.map +1 -1
  143. package/dist/reachability/request.js +15 -15
  144. package/dist/reachability/request.js.map +1 -1
  145. package/dist/reactions/reactions.js.map +1 -1
  146. package/dist/reactions/reactions.type.js.map +1 -1
  147. package/dist/reconnection-manager/index.js +112 -112
  148. package/dist/reconnection-manager/index.js.map +1 -1
  149. package/dist/recording-controller/enums.js.map +1 -1
  150. package/dist/recording-controller/index.js +127 -127
  151. package/dist/recording-controller/index.js.map +1 -1
  152. package/dist/recording-controller/util.js.map +1 -1
  153. package/dist/roap/collection.js.map +1 -1
  154. package/dist/roap/handler.js +27 -27
  155. package/dist/roap/handler.js.map +1 -1
  156. package/dist/roap/index.js +111 -111
  157. package/dist/roap/index.js.map +1 -1
  158. package/dist/roap/request.js +17 -17
  159. package/dist/roap/request.js.map +1 -1
  160. package/dist/roap/state.js +14 -14
  161. package/dist/roap/state.js.map +1 -1
  162. package/dist/roap/turnDiscovery.js +46 -46
  163. package/dist/roap/turnDiscovery.js.map +1 -1
  164. package/dist/roap/util.js.map +1 -1
  165. package/dist/statsAnalyzer/global.js.map +1 -1
  166. package/dist/statsAnalyzer/index.js +130 -130
  167. package/dist/statsAnalyzer/index.js.map +1 -1
  168. package/dist/statsAnalyzer/mqaUtil.js +15 -15
  169. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  170. package/dist/transcription/index.js +42 -42
  171. package/dist/transcription/index.js.map +1 -1
  172. package/internal-README.md +172 -172
  173. package/jest.config.js +3 -3
  174. package/package.json +15 -15
  175. package/process +1 -1
  176. package/src/common/browser-detection.ts +39 -39
  177. package/src/common/collection.ts +94 -94
  178. package/src/common/config.ts +9 -9
  179. package/src/common/errors/captcha-error.ts +25 -25
  180. package/src/common/errors/intent-to-join.ts +27 -27
  181. package/src/common/errors/join-meeting.ts +32 -32
  182. package/src/common/errors/media.ts +25 -25
  183. package/src/common/errors/parameter.ts +33 -33
  184. package/src/common/errors/password-error.ts +25 -25
  185. package/src/common/errors/permission.ts +24 -24
  186. package/src/common/errors/reconnection-in-progress.ts +8 -8
  187. package/src/common/errors/reconnection.ts +25 -25
  188. package/src/common/errors/stats.ts +25 -25
  189. package/src/common/errors/webex-errors.ts +140 -140
  190. package/src/common/errors/webex-meetings-error.ts +35 -35
  191. package/src/common/events/events-scope.ts +30 -30
  192. package/src/common/events/events.ts +25 -25
  193. package/src/common/events/trigger-proxy.ts +25 -25
  194. package/src/common/events/util.ts +39 -39
  195. package/src/common/logs/logger-config.ts +8 -8
  196. package/src/common/logs/logger-proxy.ts +44 -44
  197. package/src/common/logs/request.ts +65 -65
  198. package/src/common/queue.ts +50 -50
  199. package/src/config.ts +96 -96
  200. package/src/constants.ts +1121 -1121
  201. package/src/controls-options-manager/constants.ts +5 -5
  202. package/src/controls-options-manager/enums.ts +6 -6
  203. package/src/controls-options-manager/index.ts +183 -183
  204. package/src/controls-options-manager/util.ts +20 -20
  205. package/src/index.js +15 -15
  206. package/src/locus-info/controlsUtils.ts +112 -112
  207. package/src/locus-info/embeddedAppsUtils.ts +57 -57
  208. package/src/locus-info/fullState.ts +69 -69
  209. package/src/locus-info/hostUtils.ts +60 -60
  210. package/src/locus-info/index.ts +1303 -1303
  211. package/src/locus-info/infoUtils.ts +101 -101
  212. package/src/locus-info/mediaSharesUtils.ts +173 -173
  213. package/src/locus-info/parser.ts +680 -680
  214. package/src/locus-info/selfUtils.ts +428 -428
  215. package/src/media/index.ts +675 -675
  216. package/src/media/properties.ts +313 -313
  217. package/src/media/util.ts +37 -37
  218. package/src/mediaQualityMetrics/config.ts +382 -382
  219. package/src/meeting/effectsState.ts +209 -209
  220. package/src/meeting/in-meeting-actions.ts +153 -153
  221. package/src/meeting/index.ts +6537 -6537
  222. package/src/meeting/muteState.ts +365 -365
  223. package/src/meeting/request.ts +810 -810
  224. package/src/meeting/state.ts +194 -194
  225. package/src/meeting/util.ts +530 -530
  226. package/src/meeting-info/collection.ts +41 -41
  227. package/src/meeting-info/index.ts +137 -137
  228. package/src/meeting-info/meeting-info-v2.ts +273 -273
  229. package/src/meeting-info/request.ts +46 -46
  230. package/src/meeting-info/util.ts +314 -314
  231. package/src/meeting-info/utilv2.ts +324 -324
  232. package/src/meetings/collection.ts +43 -43
  233. package/src/meetings/index.ts +1128 -1128
  234. package/src/meetings/request.ts +81 -81
  235. package/src/meetings/util.ts +181 -181
  236. package/src/member/index.ts +446 -446
  237. package/src/member/member.types.ts +13 -13
  238. package/src/member/util.ts +286 -286
  239. package/src/members/collection.ts +40 -40
  240. package/src/members/index.ts +900 -900
  241. package/src/members/request.ts +175 -175
  242. package/src/members/util.ts +260 -260
  243. package/src/metrics/config.ts +485 -485
  244. package/src/metrics/constants.ts +61 -61
  245. package/src/metrics/index.ts +543 -543
  246. package/src/networkQualityMonitor/index.ts +211 -211
  247. package/src/peer-connection-manager/index.ts +847 -847
  248. package/src/peer-connection-manager/util.ts +119 -119
  249. package/src/personal-meeting-room/index.ts +157 -157
  250. package/src/personal-meeting-room/request.ts +48 -48
  251. package/src/personal-meeting-room/util.ts +49 -49
  252. package/src/reachability/index.ts +478 -478
  253. package/src/reachability/request.ts +81 -81
  254. package/src/reactions/reactions.ts +104 -104
  255. package/src/reactions/reactions.type.ts +36 -36
  256. package/src/reconnection-manager/index.ts +622 -622
  257. package/src/recording-controller/enums.ts +8 -8
  258. package/src/recording-controller/index.ts +315 -315
  259. package/src/recording-controller/util.ts +58 -58
  260. package/src/roap/collection.ts +62 -62
  261. package/src/roap/handler.ts +294 -294
  262. package/src/roap/index.ts +413 -413
  263. package/src/roap/request.ts +229 -229
  264. package/src/roap/state.ts +156 -156
  265. package/src/roap/turnDiscovery.ts +283 -283
  266. package/src/roap/util.ts +100 -100
  267. package/src/statsAnalyzer/global.ts +128 -128
  268. package/src/statsAnalyzer/index.ts +1266 -1266
  269. package/src/statsAnalyzer/mqaUtil.ts +290 -290
  270. package/src/transcription/index.ts +154 -154
  271. package/test/integration/spec/journey.js +941 -941
  272. package/test/integration/spec/space-meeting.js +457 -457
  273. package/test/integration/spec/transcription.js +55 -55
  274. package/test/unit/spec/common/browser-detection.js +119 -119
  275. package/test/unit/spec/common/queue.js +69 -69
  276. package/test/unit/spec/controls-options-manager/index.js +123 -123
  277. package/test/unit/spec/controls-options-manager/util.js +65 -65
  278. package/test/unit/spec/fixture/locus.js +406 -406
  279. package/test/unit/spec/locus-info/controlsUtils.js +82 -82
  280. package/test/unit/spec/locus-info/embeddedAppsUtils.js +104 -104
  281. package/test/unit/spec/locus-info/index.js +1272 -1272
  282. package/test/unit/spec/locus-info/infoUtils.js +138 -138
  283. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +975 -975
  284. package/test/unit/spec/locus-info/lib/SeqCmp.json +522 -522
  285. package/test/unit/spec/locus-info/lib/selfConstant.js +286 -286
  286. package/test/unit/spec/locus-info/parser.js +298 -298
  287. package/test/unit/spec/locus-info/selfUtils.js +185 -185
  288. package/test/unit/spec/media/properties.ts +305 -305
  289. package/test/unit/spec/meeting/effectsState.js +281 -281
  290. package/test/unit/spec/meeting/in-meeting-actions.ts +90 -90
  291. package/test/unit/spec/meeting/index.js +5227 -5227
  292. package/test/unit/spec/meeting/muteState.js +430 -430
  293. package/test/unit/spec/meeting/request.js +317 -317
  294. package/test/unit/spec/meeting/utils.js +319 -319
  295. package/test/unit/spec/meeting-info/meetinginfov2.js +376 -376
  296. package/test/unit/spec/meeting-info/request.js +64 -64
  297. package/test/unit/spec/meeting-info/util.js +37 -37
  298. package/test/unit/spec/meeting-info/utilv2.js +330 -330
  299. package/test/unit/spec/meetings/collection.js +52 -52
  300. package/test/unit/spec/meetings/index.js +1375 -1375
  301. package/test/unit/spec/meetings/utils.js +66 -66
  302. package/test/unit/spec/member/index.js +47 -47
  303. package/test/unit/spec/member/util.js +80 -80
  304. package/test/unit/spec/members/index.js +364 -364
  305. package/test/unit/spec/members/request.js +200 -200
  306. package/test/unit/spec/members/utils.js +42 -42
  307. package/test/unit/spec/metrics/index.js +111 -111
  308. package/test/unit/spec/networkQualityMonitor/index.js +99 -99
  309. package/test/unit/spec/peerconnection-manager/index.js +218 -218
  310. package/test/unit/spec/peerconnection-manager/utils.js +49 -49
  311. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +388 -388
  312. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +29 -29
  313. package/test/unit/spec/reachability/index.ts +50 -50
  314. package/test/unit/spec/reconnection-manager/index.js +206 -206
  315. package/test/unit/spec/recording-controller/index.js +230 -230
  316. package/test/unit/spec/recording-controller/util.js +101 -101
  317. package/test/unit/spec/roap/index.ts +128 -128
  318. package/test/unit/spec/roap/turnDiscovery.ts +372 -372
  319. package/test/unit/spec/roap/util.js +30 -30
  320. package/test/unit/spec/stats-analyzer/index.js +287 -287
  321. package/test/utils/cmr.js +104 -104
  322. package/test/utils/testUtils.js +287 -287
  323. package/test/utils/webex-config.js +77 -77
  324. package/test/utils/webex-test-users.js +82 -82
  325. package/tsconfig.json +5 -5
  326. package/dist/common/browser-detection.d.ts +0 -9
  327. package/dist/common/collection.d.ts +0 -48
  328. package/dist/common/config.d.ts +0 -2
  329. package/dist/common/errors/captcha-error.d.ts +0 -15
  330. package/dist/common/errors/intent-to-join.d.ts +0 -16
  331. package/dist/common/errors/join-meeting.d.ts +0 -17
  332. package/dist/common/errors/media.d.ts +0 -15
  333. package/dist/common/errors/parameter.d.ts +0 -15
  334. package/dist/common/errors/password-error.d.ts +0 -15
  335. package/dist/common/errors/permission.d.ts +0 -14
  336. package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
  337. package/dist/common/errors/reconnection.d.ts +0 -15
  338. package/dist/common/errors/stats.d.ts +0 -15
  339. package/dist/common/errors/webex-errors.d.ts +0 -81
  340. package/dist/common/errors/webex-meetings-error.d.ts +0 -20
  341. package/dist/common/events/events-scope.d.ts +0 -17
  342. package/dist/common/events/events.d.ts +0 -12
  343. package/dist/common/events/trigger-proxy.d.ts +0 -2
  344. package/dist/common/events/util.d.ts +0 -2
  345. package/dist/common/logs/logger-config.d.ts +0 -2
  346. package/dist/common/logs/logger-proxy.d.ts +0 -2
  347. package/dist/common/logs/request.d.ts +0 -34
  348. package/dist/common/queue.d.ts +0 -32
  349. package/dist/config.d.ts +0 -73
  350. package/dist/constants.d.ts +0 -924
  351. package/dist/controls-options-manager/constants.d.ts +0 -4
  352. package/dist/controls-options-manager/enums.d.ts +0 -5
  353. package/dist/controls-options-manager/index.d.ts +0 -120
  354. package/dist/controls-options-manager/util.d.ts +0 -7
  355. package/dist/index.d.ts +0 -4
  356. package/dist/locus-info/controlsUtils.d.ts +0 -2
  357. package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
  358. package/dist/locus-info/fullState.d.ts +0 -2
  359. package/dist/locus-info/hostUtils.d.ts +0 -2
  360. package/dist/locus-info/index.d.ts +0 -269
  361. package/dist/locus-info/infoUtils.d.ts +0 -2
  362. package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
  363. package/dist/locus-info/parser.d.ts +0 -212
  364. package/dist/locus-info/selfUtils.d.ts +0 -2
  365. package/dist/media/index.d.ts +0 -32
  366. package/dist/media/properties.d.ts +0 -108
  367. package/dist/media/util.d.ts +0 -2
  368. package/dist/mediaQualityMetrics/config.d.ts +0 -233
  369. package/dist/meeting/effectsState.d.ts +0 -42
  370. package/dist/meeting/in-meeting-actions.d.ts +0 -79
  371. package/dist/meeting/index.d.ts +0 -1621
  372. package/dist/meeting/muteState.d.ts +0 -116
  373. package/dist/meeting/request.d.ts +0 -255
  374. package/dist/meeting/state.d.ts +0 -9
  375. package/dist/meeting/util.d.ts +0 -2
  376. package/dist/meeting-info/collection.d.ts +0 -20
  377. package/dist/meeting-info/index.d.ts +0 -57
  378. package/dist/meeting-info/meeting-info-v2.d.ts +0 -93
  379. package/dist/meeting-info/request.d.ts +0 -22
  380. package/dist/meeting-info/util.d.ts +0 -2
  381. package/dist/meeting-info/utilv2.d.ts +0 -2
  382. package/dist/meetings/collection.d.ts +0 -23
  383. package/dist/meetings/index.d.ts +0 -296
  384. package/dist/meetings/request.d.ts +0 -27
  385. package/dist/meetings/util.d.ts +0 -18
  386. package/dist/member/index.d.ts +0 -147
  387. package/dist/member/member.types.d.ts +0 -11
  388. package/dist/member/util.d.ts +0 -2
  389. package/dist/members/collection.d.ts +0 -24
  390. package/dist/members/index.d.ts +0 -298
  391. package/dist/members/request.d.ts +0 -50
  392. package/dist/members/util.d.ts +0 -2
  393. package/dist/metrics/config.d.ts +0 -169
  394. package/dist/metrics/constants.d.ts +0 -57
  395. package/dist/metrics/index.d.ts +0 -152
  396. package/dist/networkQualityMonitor/index.d.ts +0 -70
  397. package/dist/peer-connection-manager/index.d.ts +0 -6
  398. package/dist/peer-connection-manager/util.d.ts +0 -6
  399. package/dist/personal-meeting-room/index.d.ts +0 -47
  400. package/dist/personal-meeting-room/request.d.ts +0 -14
  401. package/dist/personal-meeting-room/util.d.ts +0 -2
  402. package/dist/reachability/index.d.ts +0 -139
  403. package/dist/reachability/request.d.ts +0 -35
  404. package/dist/reactions/reactions.d.ts +0 -4
  405. package/dist/reactions/reactions.type.d.ts +0 -32
  406. package/dist/reconnection-manager/index.d.ts +0 -112
  407. package/dist/recording-controller/enums.d.ts +0 -7
  408. package/dist/recording-controller/index.d.ts +0 -193
  409. package/dist/recording-controller/util.d.ts +0 -13
  410. package/dist/roap/collection.d.ts +0 -10
  411. package/dist/roap/handler.d.ts +0 -47
  412. package/dist/roap/index.d.ts +0 -116
  413. package/dist/roap/request.d.ts +0 -35
  414. package/dist/roap/state.d.ts +0 -9
  415. package/dist/roap/turnDiscovery.d.ts +0 -67
  416. package/dist/roap/util.d.ts +0 -2
  417. package/dist/statsAnalyzer/global.d.ts +0 -126
  418. package/dist/statsAnalyzer/index.d.ts +0 -190
  419. package/dist/statsAnalyzer/mqaUtil.d.ts +0 -22
  420. package/dist/transcription/index.d.ts +0 -64
@@ -1 +1 @@
1
- {"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","_metrics","_constants2","_util","_collection","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","checkForAndHandleErrors","action","meeting","correlationId","type","msg","messageType","errorType","RoapUtil","findError","handleError","mediaProperties","peerConnection","then","res","RoapCollection","deleteSessionSequence","seq","catch","err","LoggerProxy","logger","warn","concat","ensureMeeting","compareWithLastRoapMessage","lastRoapMessage","currentRoapMessage","_lastRoapMessage$msg","_lastRoapMessage$msg2","handleSessionStep","_ref","roap","session","locusUrl","_roap$msg","sequenceId","OFFER","_OFFER_","GLARE_OFFER","remote","metricName","BEHAVIORAL_METRICS","ROAP_GLARE_CONDITION","data","correlation_id","locus_id","split","pop","sequence","Metrics","sendBehavioralMetric","info","_stringify","state","RoapHandler","_StatelessWebexPlugin","_inherits2","_super","attrs","options","roapOk","roapAnswer","roapFinished","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","perform","_this2","ROAP","ROAP_STATE","INIT","WAIT_TX_ANSWER","shouldHandleMedia","updatePeerConnection","answerSdps","mediaId","sdps","audioMuted","isAudioMuted","videoMuted","isVideoMuted","error","ROAP_ANSWER_FAILURE","reason","message","stack","metadata","name","WAIT_TX_OK","setRemoteDescription","ERROR","GLARE","tieBreaker","log","step","ROAP_SIGNAL","GLARE_RESOLVED","execute","signal","prefix","handleAction","RECEIVE_ROAP_MSG","RX_","SEND_ROAP_MSG","local","TX_","SEND_ROAP_MSG_SUCCESS","RECEIVE_CALL_LEAVE","deleteSession","RESET_ROAP_STATE","submit","getSessionSequence","webex","meetings","meetingCollection","getByKey","StatelessWebexPlugin","exports"],"sources":["handler.ts"],"sourcesContent":["/* no-param-reassign */\r\n// @ts-ignore\r\nimport {StatelessWebexPlugin} from '@webex/webex-core';\r\n\r\nimport LoggerProxy from '../common/logs/logger-proxy';\r\nimport {ROAP, _OFFER_} from '../constants';\r\nimport Metrics from '../metrics';\r\nimport BEHAVIORAL_METRICS from '../metrics/constants';\r\n\r\nimport RoapUtil from './util';\r\nimport RoapCollection from './collection';\r\nimport Meeting from '../meeting';\r\n\r\nconst checkForAndHandleErrors = (action, meeting, correlationId) => {\r\n if (action && action.type) {\r\n if (action.msg && action.msg.messageType && action.msg.errorType) {\r\n if (RoapUtil.findError(action.msg.messageType, action.msg.errorType, action.type)) {\r\n RoapUtil.handleError(meeting.mediaProperties.peerConnection)\r\n .then((res) => {\r\n if (res) {\r\n RoapCollection.deleteSessionSequence(correlationId, action.msg.seq);\r\n }\r\n })\r\n .catch((err) => {\r\n LoggerProxy.logger.warn(\r\n `Roap:handler#checkForAndHandleErrors --> Cannot reset the peer connection with error: ${err}`\r\n );\r\n });\r\n\r\n return true;\r\n }\r\n }\r\n if (!RoapUtil.ensureMeeting(meeting, action.type)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst compareWithLastRoapMessage = (lastRoapMessage, currentRoapMessage) =>\r\n lastRoapMessage?.msg?.seq === currentRoapMessage.msg.seq &&\r\n lastRoapMessage?.msg?.messageType === currentRoapMessage.msg.messageType;\r\n\r\nconst handleSessionStep = ({roap, session, locusUrl, correlationId}) => {\r\n const {seq: sequenceId, messageType} = roap.msg;\r\n\r\n if (session.OFFER && messageType === _OFFER_) {\r\n session.GLARE_OFFER = roap.msg;\r\n session.GLARE_OFFER.remote = !!roap.remote;\r\n const metricName = BEHAVIORAL_METRICS.ROAP_GLARE_CONDITION;\r\n const data = {\r\n correlation_id: correlationId,\r\n locus_id: locusUrl.split('/').pop(),\r\n sequence: sequenceId,\r\n };\r\n\r\n Metrics.sendBehavioralMetric(metricName, data);\r\n\r\n LoggerProxy.logger.warn(\r\n `Roap:handler#handleSessionStep --> Glare condition occurred with new mercury event, sequenceId: ${sequenceId}`\r\n );\r\n } else {\r\n LoggerProxy.logger.info(\r\n `Roap:handler#handleSessionStep --> Save OFFER/ANSWER seq:${sequenceId} new mercury event ${messageType}local state: ${JSON.stringify(\r\n session.state.state,\r\n null,\r\n 2\r\n )}`\r\n );\r\n session[messageType] = roap.msg;\r\n session[messageType].remote = !!roap.remote;\r\n }\r\n};\r\n\r\n/**\r\n * @class RoapHandler\r\n */\r\nexport default class RoapHandler extends StatelessWebexPlugin {\r\n attrs: any;\r\n lastRoapMessage: any;\r\n options: any;\r\n roapAnswer: any;\r\n roapFinished: any;\r\n roapOk: any;\r\n\r\n constructor(attrs, options, roapOk, roapAnswer, roapFinished) {\r\n super({}, options);\r\n this.attrs = attrs;\r\n this.options = options;\r\n this.roapOk = roapOk;\r\n this.roapFinished = roapFinished;\r\n this.roapAnswer = roapAnswer;\r\n this.lastRoapMessage = null;\r\n }\r\n\r\n /**\r\n *\r\n * @param {Object} session\r\n * @param {Meeting} meeting\r\n * @param {Object} action\r\n * @returns {null}\r\n */\r\n perform(session: any, meeting: any, action: any) {\r\n switch (session.state.state) {\r\n case ROAP.ROAP_STATE.INIT:\r\n this.roapFinished(meeting.correlationId, action.msg.seq);\r\n break;\r\n\r\n // TODO: (important )handle roap state for sending offers as well\r\n // case ROAP.ROAP_STATE.WAIT_RX_OFFER:\r\n // case ROAP.ROAP_STATE.WAIT_RX_ANSWER:\r\n // case ROAP.ROAP_STATE.WAIT_RX_OK:\r\n case ROAP.ROAP_STATE.WAIT_TX_ANSWER:\r\n // eslint-disable-next-line no-warning-comments\r\n // TODO: sometime the you get an answer while you are creating an offer so SKIP\r\n // Server will send the mercury event comes back\r\n if (RoapUtil.shouldHandleMedia(meeting)) {\r\n RoapUtil.updatePeerConnection(meeting, session)\r\n .then((answerSdps) => {\r\n this.roapAnswer({\r\n mediaId: meeting.mediaId,\r\n sdps: answerSdps,\r\n seq: session.OFFER.seq,\r\n correlationId: meeting.correlationId,\r\n audioMuted: meeting.isAudioMuted(),\r\n videoMuted: meeting.isVideoMuted(),\r\n });\r\n })\r\n .catch((error) => {\r\n const metricName = BEHAVIORAL_METRICS.ROAP_ANSWER_FAILURE;\r\n const data = {\r\n correlation_id: meeting.correlationId,\r\n locus_id: meeting.locusUrl.split('/').pop(),\r\n reason: error.message,\r\n stack: error.stack,\r\n };\r\n const metadata = {\r\n type: error.name,\r\n };\r\n\r\n Metrics.sendBehavioralMetric(metricName, data, metadata);\r\n LoggerProxy.logger.error(\r\n `Roap:handler#perform --> Error occured during wait receive answer, continuing, ${error}`\r\n );\r\n });\r\n }\r\n break;\r\n case ROAP.ROAP_STATE.WAIT_TX_OK:\r\n if (!RoapUtil.shouldHandleMedia(meeting)) {\r\n RoapUtil.setRemoteDescription(meeting, session).then((res) => {\r\n this.roapOk(res);\r\n });\r\n }\r\n break;\r\n // case ROAP.ROAP_STATE.IDLE_LOCAL_OFFER:\r\n case ROAP.ROAP_STATE.ERROR:\r\n LoggerProxy.logger.error(\r\n `Roap:handler#perform --> Roap State ERROR for session: ${session}`\r\n );\r\n break;\r\n case ROAP.ROAP_STATE.GLARE:\r\n session.GLARE_OFFER.tieBreaker = session.GLARE_OFFER.tieBreaker || 0;\r\n session.OFFER.tieBreaker = session.OFFER.tieBreaker || 0;\r\n LoggerProxy.logger.warn(\r\n 'Roap:handler#perform --> Roap State resolved the GLARE condition.'\r\n );\r\n if (session.GLARE_OFFER.tieBreaker < session.OFFER.tieBreaker) {\r\n // 2\r\n LoggerProxy.logger.log(\r\n 'Roap:handler#perform --> Roap State local offer won after GLARE.'\r\n );\r\n } else {\r\n LoggerProxy.logger.log(\r\n 'Roap:handler#perform --> Roap State remote offer won after GLARE.'\r\n );\r\n }\r\n session.state.step(ROAP.ROAP_SIGNAL.GLARE_RESOLVED, meeting, action);\r\n // @ts-ignore\r\n this.perform(session, meeting);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {String} signal\r\n * @param {Object} session\r\n * @param {Object} action\r\n * @param {Meeting} meeting\r\n * @param {String} prefix\r\n * @returns {null}\r\n */\r\n execute(signal: string, session: any, action: any, meeting: Meeting, prefix: string) {\r\n if (session && session.state) {\r\n handleSessionStep({\r\n roap: action,\r\n locusUrl: meeting.locusUrl,\r\n correlationId: meeting.correlationId,\r\n session,\r\n });\r\n signal = ROAP.ROAP_SIGNAL[`${prefix}${action.msg.messageType}`];\r\n session.state.step(signal, meeting, action);\r\n this.perform(session, meeting, action);\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {Object} session\r\n * @param {Object} action\r\n * @param {Meeting} meeting\r\n * @param {String} correlationId\r\n * @returns {Boolean}\r\n */\r\n handleAction(session: object, action: any, meeting: Meeting, correlationId: string) {\r\n let signal;\r\n\r\n switch (action.type) {\r\n case ROAP.RECEIVE_ROAP_MSG:\r\n LoggerProxy.logger.log(\r\n `Roap:handler#handleAction --> RECEIVE_ROAP_MSG event captured, reciving a roap message : ${JSON.stringify(\r\n action\r\n )}`\r\n );\r\n if (compareWithLastRoapMessage(this.lastRoapMessage, action)) {\r\n LoggerProxy.logger.warn(\r\n `Roap:handler#handleAction --> duplicate roap offer from server: ${action.msg.seq}`\r\n );\r\n } else {\r\n this.lastRoapMessage = action;\r\n action.remote = true;\r\n this.execute(signal, session, action, meeting, ROAP.RX_);\r\n }\r\n break;\r\n case ROAP.SEND_ROAP_MSG:\r\n LoggerProxy.logger.log(\r\n `Roap:handler#handleAction --> SEND_ROAP_MSG event captured, sending roap message ${JSON.stringify(\r\n action\r\n )}`\r\n );\r\n\r\n action.local = true;\r\n this.execute(signal, session, action, meeting, ROAP.TX_);\r\n break;\r\n case ROAP.SEND_ROAP_MSG_SUCCESS:\r\n // NOTE: When server send back an answer via mercury the\r\n // remote SDP is already saved sent and ok message is sent back\r\n // We dont have to indicate the roapHandler about the RX_ANSWER via SEND_ROAP_MSG_SUCCESS\r\n break;\r\n case ROAP.RECEIVE_CALL_LEAVE:\r\n RoapCollection.deleteSession(correlationId);\r\n LoggerProxy.logger.log(\r\n `Roap:handler#handleAction --> RECEIVE_CALL_LEAVE event captured, cleaning up the RoapHandler for correlationId: ${correlationId}`\r\n );\r\n break;\r\n case ROAP.RESET_ROAP_STATE:\r\n RoapCollection.deleteSessionSequence(correlationId, action.msg.seq);\r\n LoggerProxy.logger.log(\r\n `Roap:handler#handleAction --> RESET_ROAP_STATE event captured, resetting the RoapHandler state based on sequenceId: ${action.msg.seq}`\r\n );\r\n break;\r\n default:\r\n return true;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n *\r\n * @param {Object} action\r\n * @returns {Boolean}\r\n */\r\n submit(action: any) {\r\n const {correlationId} = action;\r\n let {seq} = action;\r\n\r\n if (!seq && action.msg) {\r\n seq = action.msg.seq;\r\n }\r\n const session = RoapCollection.getSessionSequence(correlationId, seq);\r\n // @ts-ignore\r\n const meeting = this.webex.meetings.meetingCollection.getByKey('correlationId', correlationId);\r\n\r\n if (checkForAndHandleErrors(action, meeting, correlationId)) {\r\n return true;\r\n }\r\n\r\n return this.handleAction(session, action, meeting, correlationId);\r\n }\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","_metrics","_constants2","_util","_collection","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","checkForAndHandleErrors","action","meeting","correlationId","type","msg","messageType","errorType","RoapUtil","findError","handleError","mediaProperties","peerConnection","then","res","RoapCollection","deleteSessionSequence","seq","catch","err","LoggerProxy","logger","warn","concat","ensureMeeting","compareWithLastRoapMessage","lastRoapMessage","currentRoapMessage","_lastRoapMessage$msg","_lastRoapMessage$msg2","handleSessionStep","_ref","roap","session","locusUrl","_roap$msg","sequenceId","OFFER","_OFFER_","GLARE_OFFER","remote","metricName","BEHAVIORAL_METRICS","ROAP_GLARE_CONDITION","data","correlation_id","locus_id","split","pop","sequence","Metrics","sendBehavioralMetric","info","_stringify","state","RoapHandler","_StatelessWebexPlugin","_inherits2","_super","attrs","options","roapOk","roapAnswer","roapFinished","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_createClass2","key","value","perform","_this2","ROAP","ROAP_STATE","INIT","WAIT_TX_ANSWER","shouldHandleMedia","updatePeerConnection","answerSdps","mediaId","sdps","audioMuted","isAudioMuted","videoMuted","isVideoMuted","error","ROAP_ANSWER_FAILURE","reason","message","stack","metadata","name","WAIT_TX_OK","setRemoteDescription","ERROR","GLARE","tieBreaker","log","step","ROAP_SIGNAL","GLARE_RESOLVED","execute","signal","prefix","handleAction","RECEIVE_ROAP_MSG","RX_","SEND_ROAP_MSG","local","TX_","SEND_ROAP_MSG_SUCCESS","RECEIVE_CALL_LEAVE","deleteSession","RESET_ROAP_STATE","submit","getSessionSequence","webex","meetings","meetingCollection","getByKey","StatelessWebexPlugin","exports"],"sources":["handler.ts"],"sourcesContent":["/* no-param-reassign */\n// @ts-ignore\nimport {StatelessWebexPlugin} from '@webex/webex-core';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {ROAP, _OFFER_} from '../constants';\nimport Metrics from '../metrics';\nimport BEHAVIORAL_METRICS from '../metrics/constants';\n\nimport RoapUtil from './util';\nimport RoapCollection from './collection';\nimport Meeting from '../meeting';\n\nconst checkForAndHandleErrors = (action, meeting, correlationId) => {\n if (action && action.type) {\n if (action.msg && action.msg.messageType && action.msg.errorType) {\n if (RoapUtil.findError(action.msg.messageType, action.msg.errorType, action.type)) {\n RoapUtil.handleError(meeting.mediaProperties.peerConnection)\n .then((res) => {\n if (res) {\n RoapCollection.deleteSessionSequence(correlationId, action.msg.seq);\n }\n })\n .catch((err) => {\n LoggerProxy.logger.warn(\n `Roap:handler#checkForAndHandleErrors --> Cannot reset the peer connection with error: ${err}`\n );\n });\n\n return true;\n }\n }\n if (!RoapUtil.ensureMeeting(meeting, action.type)) {\n return true;\n }\n }\n\n return false;\n};\n\nconst compareWithLastRoapMessage = (lastRoapMessage, currentRoapMessage) =>\n lastRoapMessage?.msg?.seq === currentRoapMessage.msg.seq &&\n lastRoapMessage?.msg?.messageType === currentRoapMessage.msg.messageType;\n\nconst handleSessionStep = ({roap, session, locusUrl, correlationId}) => {\n const {seq: sequenceId, messageType} = roap.msg;\n\n if (session.OFFER && messageType === _OFFER_) {\n session.GLARE_OFFER = roap.msg;\n session.GLARE_OFFER.remote = !!roap.remote;\n const metricName = BEHAVIORAL_METRICS.ROAP_GLARE_CONDITION;\n const data = {\n correlation_id: correlationId,\n locus_id: locusUrl.split('/').pop(),\n sequence: sequenceId,\n };\n\n Metrics.sendBehavioralMetric(metricName, data);\n\n LoggerProxy.logger.warn(\n `Roap:handler#handleSessionStep --> Glare condition occurred with new mercury event, sequenceId: ${sequenceId}`\n );\n } else {\n LoggerProxy.logger.info(\n `Roap:handler#handleSessionStep --> Save OFFER/ANSWER seq:${sequenceId} new mercury event ${messageType}local state: ${JSON.stringify(\n session.state.state,\n null,\n 2\n )}`\n );\n session[messageType] = roap.msg;\n session[messageType].remote = !!roap.remote;\n }\n};\n\n/**\n * @class RoapHandler\n */\nexport default class RoapHandler extends StatelessWebexPlugin {\n attrs: any;\n lastRoapMessage: any;\n options: any;\n roapAnswer: any;\n roapFinished: any;\n roapOk: any;\n\n constructor(attrs, options, roapOk, roapAnswer, roapFinished) {\n super({}, options);\n this.attrs = attrs;\n this.options = options;\n this.roapOk = roapOk;\n this.roapFinished = roapFinished;\n this.roapAnswer = roapAnswer;\n this.lastRoapMessage = null;\n }\n\n /**\n *\n * @param {Object} session\n * @param {Meeting} meeting\n * @param {Object} action\n * @returns {null}\n */\n perform(session: any, meeting: any, action: any) {\n switch (session.state.state) {\n case ROAP.ROAP_STATE.INIT:\n this.roapFinished(meeting.correlationId, action.msg.seq);\n break;\n\n // TODO: (important )handle roap state for sending offers as well\n // case ROAP.ROAP_STATE.WAIT_RX_OFFER:\n // case ROAP.ROAP_STATE.WAIT_RX_ANSWER:\n // case ROAP.ROAP_STATE.WAIT_RX_OK:\n case ROAP.ROAP_STATE.WAIT_TX_ANSWER:\n // eslint-disable-next-line no-warning-comments\n // TODO: sometime the you get an answer while you are creating an offer so SKIP\n // Server will send the mercury event comes back\n if (RoapUtil.shouldHandleMedia(meeting)) {\n RoapUtil.updatePeerConnection(meeting, session)\n .then((answerSdps) => {\n this.roapAnswer({\n mediaId: meeting.mediaId,\n sdps: answerSdps,\n seq: session.OFFER.seq,\n correlationId: meeting.correlationId,\n audioMuted: meeting.isAudioMuted(),\n videoMuted: meeting.isVideoMuted(),\n });\n })\n .catch((error) => {\n const metricName = BEHAVIORAL_METRICS.ROAP_ANSWER_FAILURE;\n const data = {\n correlation_id: meeting.correlationId,\n locus_id: meeting.locusUrl.split('/').pop(),\n reason: error.message,\n stack: error.stack,\n };\n const metadata = {\n type: error.name,\n };\n\n Metrics.sendBehavioralMetric(metricName, data, metadata);\n LoggerProxy.logger.error(\n `Roap:handler#perform --> Error occured during wait receive answer, continuing, ${error}`\n );\n });\n }\n break;\n case ROAP.ROAP_STATE.WAIT_TX_OK:\n if (!RoapUtil.shouldHandleMedia(meeting)) {\n RoapUtil.setRemoteDescription(meeting, session).then((res) => {\n this.roapOk(res);\n });\n }\n break;\n // case ROAP.ROAP_STATE.IDLE_LOCAL_OFFER:\n case ROAP.ROAP_STATE.ERROR:\n LoggerProxy.logger.error(\n `Roap:handler#perform --> Roap State ERROR for session: ${session}`\n );\n break;\n case ROAP.ROAP_STATE.GLARE:\n session.GLARE_OFFER.tieBreaker = session.GLARE_OFFER.tieBreaker || 0;\n session.OFFER.tieBreaker = session.OFFER.tieBreaker || 0;\n LoggerProxy.logger.warn(\n 'Roap:handler#perform --> Roap State resolved the GLARE condition.'\n );\n if (session.GLARE_OFFER.tieBreaker < session.OFFER.tieBreaker) {\n // 2\n LoggerProxy.logger.log(\n 'Roap:handler#perform --> Roap State local offer won after GLARE.'\n );\n } else {\n LoggerProxy.logger.log(\n 'Roap:handler#perform --> Roap State remote offer won after GLARE.'\n );\n }\n session.state.step(ROAP.ROAP_SIGNAL.GLARE_RESOLVED, meeting, action);\n // @ts-ignore\n this.perform(session, meeting);\n break;\n default:\n break;\n }\n }\n\n /**\n *\n * @param {String} signal\n * @param {Object} session\n * @param {Object} action\n * @param {Meeting} meeting\n * @param {String} prefix\n * @returns {null}\n */\n execute(signal: string, session: any, action: any, meeting: Meeting, prefix: string) {\n if (session && session.state) {\n handleSessionStep({\n roap: action,\n locusUrl: meeting.locusUrl,\n correlationId: meeting.correlationId,\n session,\n });\n signal = ROAP.ROAP_SIGNAL[`${prefix}${action.msg.messageType}`];\n session.state.step(signal, meeting, action);\n this.perform(session, meeting, action);\n }\n }\n\n /**\n *\n * @param {Object} session\n * @param {Object} action\n * @param {Meeting} meeting\n * @param {String} correlationId\n * @returns {Boolean}\n */\n handleAction(session: object, action: any, meeting: Meeting, correlationId: string) {\n let signal;\n\n switch (action.type) {\n case ROAP.RECEIVE_ROAP_MSG:\n LoggerProxy.logger.log(\n `Roap:handler#handleAction --> RECEIVE_ROAP_MSG event captured, reciving a roap message : ${JSON.stringify(\n action\n )}`\n );\n if (compareWithLastRoapMessage(this.lastRoapMessage, action)) {\n LoggerProxy.logger.warn(\n `Roap:handler#handleAction --> duplicate roap offer from server: ${action.msg.seq}`\n );\n } else {\n this.lastRoapMessage = action;\n action.remote = true;\n this.execute(signal, session, action, meeting, ROAP.RX_);\n }\n break;\n case ROAP.SEND_ROAP_MSG:\n LoggerProxy.logger.log(\n `Roap:handler#handleAction --> SEND_ROAP_MSG event captured, sending roap message ${JSON.stringify(\n action\n )}`\n );\n\n action.local = true;\n this.execute(signal, session, action, meeting, ROAP.TX_);\n break;\n case ROAP.SEND_ROAP_MSG_SUCCESS:\n // NOTE: When server send back an answer via mercury the\n // remote SDP is already saved sent and ok message is sent back\n // We dont have to indicate the roapHandler about the RX_ANSWER via SEND_ROAP_MSG_SUCCESS\n break;\n case ROAP.RECEIVE_CALL_LEAVE:\n RoapCollection.deleteSession(correlationId);\n LoggerProxy.logger.log(\n `Roap:handler#handleAction --> RECEIVE_CALL_LEAVE event captured, cleaning up the RoapHandler for correlationId: ${correlationId}`\n );\n break;\n case ROAP.RESET_ROAP_STATE:\n RoapCollection.deleteSessionSequence(correlationId, action.msg.seq);\n LoggerProxy.logger.log(\n `Roap:handler#handleAction --> RESET_ROAP_STATE event captured, resetting the RoapHandler state based on sequenceId: ${action.msg.seq}`\n );\n break;\n default:\n return true;\n }\n\n return true;\n }\n\n /**\n *\n * @param {Object} action\n * @returns {Boolean}\n */\n submit(action: any) {\n const {correlationId} = action;\n let {seq} = action;\n\n if (!seq && action.msg) {\n seq = action.msg.seq;\n }\n const session = RoapCollection.getSessionSequence(correlationId, seq);\n // @ts-ignore\n const meeting = this.webex.meetings.meetingCollection.getByKey('correlationId', correlationId);\n\n if (checkForAndHandleErrors(action, meeting, correlationId)) {\n return true;\n }\n\n return this.handleAction(session, action, meeting, correlationId);\n }\n}\n"],"mappings":"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"}
@@ -28,42 +28,42 @@ var _collection = _interopRequireDefault(require("./collection"));
28
28
  var _turnDiscovery = _interopRequireDefault(require("./turnDiscovery"));
29
29
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
30
30
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
- /**
32
- * Roap options
33
- * @typedef {Object} RoapOptions
34
- * @property {String} sdp
35
- * @property {Meeting} meeting
36
- * @property {Number} roapSeq
37
- * @property {Boolean} reconnect
31
+ /**
32
+ * Roap options
33
+ * @typedef {Object} RoapOptions
34
+ * @property {String} sdp
35
+ * @property {Meeting} meeting
36
+ * @property {Number} roapSeq
37
+ * @property {Boolean} reconnect
38
38
  */
39
- /**
40
- * @typedef {Object} SeqOptions
41
- * @property {String} correlationId
42
- * @property {String} mediaId
43
- * @property {Number} seq
39
+ /**
40
+ * @typedef {Object} SeqOptions
41
+ * @property {String} correlationId
42
+ * @property {String} mediaId
43
+ * @property {Number} seq
44
44
  */
45
- /**
46
- * @class Roap
47
- * @export
48
- * @private
45
+ /**
46
+ * @class Roap
47
+ * @export
48
+ * @private
49
49
  */
50
50
  var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
51
51
  (0, _inherits2.default)(Roap, _StatelessWebexPlugin);
52
52
  var _super = _createSuper(Roap);
53
- /**
54
- *
55
- * @param {Object} attrs
56
- * @param {Object} options
53
+ /**
54
+ *
55
+ * @param {Object} attrs
56
+ * @param {Object} options
57
57
  */
58
58
  function Roap(attrs, _options) {
59
59
  var _this;
60
60
  (0, _classCallCheck2.default)(this, Roap);
61
61
  _this = _super.call(this, {}, _options);
62
- /**
63
- * @instance
64
- * @type {Object}
65
- * @private
66
- * @memberof Roap
62
+ /**
63
+ * @instance
64
+ * @type {Object}
65
+ * @private
66
+ * @memberof Roap
67
67
  */
68
68
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "attrs", void 0);
69
69
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "lastRoapOffer", void 0);
@@ -71,12 +71,12 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
71
71
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "roapHandler", void 0);
72
72
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "roapRequest", void 0);
73
73
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "turnDiscovery", void 0);
74
- /**
75
- * sends a roap media request
76
- * @param {RoapOptions} options
77
- * @returns {Promise}
78
- * @private
79
- * @memberof Roap
74
+ /**
75
+ * sends a roap media request
76
+ * @param {RoapOptions} options
77
+ * @returns {Promise}
78
+ * @private
79
+ * @memberof Roap
80
80
  */
81
81
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sendRoapCallRequest", function (options) {
82
82
  var _meeting$audio, _meeting$video;
@@ -125,48 +125,48 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
125
125
  });
126
126
  });
127
127
  _this.attrs = attrs;
128
- /**
129
- * @instance
130
- * @type {Object}
131
- * @private
132
- * @memberof Roap
128
+ /**
129
+ * @instance
130
+ * @type {Object}
131
+ * @private
132
+ * @memberof Roap
133
133
  */
134
134
  _this.options = _options;
135
- /**
136
- * The Roap Process State Handler
137
- * @instance
138
- * @type {RoapHandler}
139
- * @private
140
- * @memberof Roap
135
+ /**
136
+ * The Roap Process State Handler
137
+ * @instance
138
+ * @type {RoapHandler}
139
+ * @private
140
+ * @memberof Roap
141
141
  */
142
142
  _this.roapHandler = new _handler.default(_this.attrs, _this.options, _this.sendRoapOK.bind((0, _assertThisInitialized2.default)(_this)), _this.sendRoapAnswer.bind((0, _assertThisInitialized2.default)(_this)), _this.roapFinished.bind((0, _assertThisInitialized2.default)(_this)));
143
- /**
144
- * The Roap Request Server Proxy Object
145
- * @instance
146
- * @type {RoapRequest}
147
- * @private
148
- * @memberof Roap
143
+ /**
144
+ * The Roap Request Server Proxy Object
145
+ * @instance
146
+ * @type {RoapRequest}
147
+ * @private
148
+ * @memberof Roap
149
149
  */
150
150
  // @ts-ignore
151
151
  _this.roapRequest = new _request.default({}, _options);
152
- /**
153
- * The last roap offer sent to server and acked
154
- * @instance
155
- * @type {Object}
156
- * @private
157
- * @memberof Roap
152
+ /**
153
+ * The last roap offer sent to server and acked
154
+ * @instance
155
+ * @type {Object}
156
+ * @private
157
+ * @memberof Roap
158
158
  */
159
159
  _this.lastRoapOffer = {};
160
160
  _this.turnDiscovery = new _turnDiscovery.default(_this.roapRequest);
161
161
  return _this;
162
162
  }
163
163
 
164
- /**
165
- * Starts listening to mercury events for Roap messages
166
- * @param {object} data event object
167
- * @returns {Promise}
168
- * @private
169
- * @memberof Roap
164
+ /**
165
+ * Starts listening to mercury events for Roap messages
166
+ * @param {object} data event object
167
+ * @returns {Promise}
168
+ * @private
169
+ * @memberof Roap
170
170
  */
171
171
  (0, _createClass2.default)(Roap, [{
172
172
  key: "roapEvent",
@@ -187,13 +187,13 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
187
187
  }
188
188
  }
189
189
 
190
- /**
191
- *
192
- * @param {String} correlationId correlation id of a meeting
193
- * @param {Number} seq ROAP sequence number
194
- * @returns {Promise}
195
- * @private
196
- * @memberof Roap
190
+ /**
191
+ *
192
+ * @param {String} correlationId correlation id of a meeting
193
+ * @param {Number} seq ROAP sequence number
194
+ * @returns {Promise}
195
+ * @private
196
+ * @memberof Roap
197
197
  */
198
198
  }, {
199
199
  key: "stop",
@@ -206,12 +206,12 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
206
206
  return _promise.default.resolve();
207
207
  }
208
208
 
209
- /**
210
- *
211
- * @param {SeqOptions} options
212
- * @returns {null}
213
- * @private
214
- * @memberof Roap
209
+ /**
210
+ *
211
+ * @param {SeqOptions} options
212
+ * @returns {null}
213
+ * @private
214
+ * @memberof Roap
215
215
  */
216
216
  }, {
217
217
  key: "sendRoapOK",
@@ -249,14 +249,14 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
249
249
 
250
250
  // eslint-disable-next-line no-warning-comments
251
251
  // TODO: try to merge sendRoapOk and roapAnswer
252
- /**
253
- * Sends a ROAP answer...
254
- * @param {SeqOptions} options
255
- * @param {Boolean} options.audioMuted
256
- * @param {Boolean} options.videoMuted
257
- * @returns {Promise}
258
- * @private
259
- * @memberof Roap
252
+ /**
253
+ * Sends a ROAP answer...
254
+ * @param {SeqOptions} options
255
+ * @param {Boolean} options.audioMuted
256
+ * @param {Boolean} options.videoMuted
257
+ * @returns {Promise}
258
+ * @private
259
+ * @memberof Roap
260
260
  */
261
261
  }, {
262
262
  key: "sendRoapAnswer",
@@ -295,14 +295,14 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
295
295
  });
296
296
  }
297
297
 
298
- /**
299
- * Sends a ROAP error...
300
- * @param {Object} session
301
- * @param {Object} locus
302
- * @param {String} errorType
303
- * @returns {Promise}
304
- * @private
305
- * @memberof Roap
298
+ /**
299
+ * Sends a ROAP error...
300
+ * @param {Object} session
301
+ * @param {Object} locus
302
+ * @param {String} errorType
303
+ * @returns {Promise}
304
+ * @private
305
+ * @memberof Roap
306
306
  */
307
307
  }, {
308
308
  key: "sendRoapError",
@@ -316,12 +316,12 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
316
316
  return this.roapRequest.sendRoap(msg, locus);
317
317
  }
318
318
 
319
- /**
320
- * sends a roap media request
321
- * @param {RoapOptions} options
322
- * @returns {Promise}
323
- * @private
324
- * @memberof Roap
319
+ /**
320
+ * sends a roap media request
321
+ * @param {RoapOptions} options
322
+ * @returns {Promise}
323
+ * @private
324
+ * @memberof Roap
325
325
  */
326
326
  }, {
327
327
  key: "sendRoapMediaRequest",
@@ -381,13 +381,13 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
381
381
  }, {
382
382
  key: "roapFinished",
383
383
  value:
384
- /**
385
- * Called when the roap sequence is finished (completed successfully or failed)
386
- * @param {String} correlationId id of the meeting affected
387
- * @param {String} sequenceId the id of the finished sequence
388
- * @returns {undefined}
389
- * @private
390
- * @memberof Roap
384
+ /**
385
+ * Called when the roap sequence is finished (completed successfully or failed)
386
+ * @param {String} correlationId id of the meeting affected
387
+ * @param {String} sequenceId the id of the finished sequence
388
+ * @returns {undefined}
389
+ * @private
390
+ * @memberof Roap
391
391
  */
392
392
  function roapFinished(correlationId, sequenceId) {
393
393
  _collection.default.onSessionSequenceFinish(correlationId, sequenceId);
@@ -399,15 +399,15 @@ var Roap = /*#__PURE__*/function (_StatelessWebexPlugin) {
399
399
  }
400
400
  }
401
401
 
402
- /**
403
- * Performs a TURN server discovery procedure, which involves exchanging
404
- * some roap messages with the server. This exchange has to be done before
405
- * any other roap messages are sent
406
- *
407
- * @param {Meeting} meeting
408
- * @param {Boolean} isReconnecting should be set to true if this is a new
409
- * media connection just after a reconnection
410
- * @returns {Promise}
402
+ /**
403
+ * Performs a TURN server discovery procedure, which involves exchanging
404
+ * some roap messages with the server. This exchange has to be done before
405
+ * any other roap messages are sent
406
+ *
407
+ * @param {Meeting} meeting
408
+ * @param {Boolean} isReconnecting should be set to true if this is a new
409
+ * media connection just after a reconnection
410
+ * @returns {Promise}
411
411
  */
412
412
  }, {
413
413
  key: "doTurnDiscovery",
@@ -1 +1 @@
1
- {"version":3,"names":["_webexCore","require","_constants","_loggerProxy","_interopRequireDefault","_util","_handler","_request","_collection","_turnDiscovery","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","Roap","_StatelessWebexPlugin","_inherits2","_super","attrs","options","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_meeting$audio","_meeting$video","meeting","roapMessage","messageType","ROAP","ROAP_TYPES","OFFER","sdps","sdp","version","ROAP_VERSION","seq","roapSeq","_isNan","_parseFloat2","tieBreaker","roapHandler","submit","type","SEND_ROAP_MSG","msg","correlationId","roapBody","localMedias","localSdp","_stringify","roapRequest","attachRechabilityData","audioMuted","audio","isLocallyMuted","videoMuted","video","MeetingUtil","joinMeetingOptions","then","locus","SEND_ROAP_MSG_SUCCESS","setRoapSeq","RoapHandler","sendRoapOK","bind","sendRoapAnswer","roapFinished","RoapRequest","lastRoapOffer","turnDiscovery","TurnDiscovery","_createClass2","key","value","roapEvent","data","message","LoggerProxy","logger","log","concat","TURN_DISCOVERY_RESPONSE","handleTurnDiscoveryResponse","RECEIVE_ROAP_MSG","stop","RECEIVE_CALL_LEAVE","_promise","resolve","_this2","_meeting$audio2","_meeting$video2","webex","meetings","meetingCollection","getByKey","OK","sendRoap","locusSelfUrl","selfUrl","mediaId","meetingId","id","_meeting$audio3","_meeting$video3","_this3","ANSWER","sendRoapError","session","errorType","ERROR","sendRoapMediaRequest","_meeting$audio4","_meeting$video4","_this4","reconnect","sendEmptyMediaId","config","experimental","enableTurnDiscovery","_ref","mediaConnections","updateMediaConnections","sequenceId","RoapCollection","onSessionSequenceFinish","mediaNegotiatedEvent","isBusy","processNextQueuedMediaUpdate","doTurnDiscovery","isReconnecting","StatelessWebexPlugin","exports"],"sources":["index.ts"],"sourcesContent":["// @ts-ignore\r\nimport {StatelessWebexPlugin} from '@webex/webex-core';\r\n\r\nimport {ROAP} from '../constants';\r\nimport LoggerProxy from '../common/logs/logger-proxy';\r\nimport MeetingUtil from '../meeting/util';\r\n\r\nimport RoapHandler from './handler';\r\nimport RoapRequest from './request';\r\nimport RoapCollection from './collection';\r\nimport TurnDiscovery from './turnDiscovery';\r\nimport Meeting from '../meeting';\r\n\r\n/**\r\n * Roap options\r\n * @typedef {Object} RoapOptions\r\n * @property {String} sdp\r\n * @property {Meeting} meeting\r\n * @property {Number} roapSeq\r\n * @property {Boolean} reconnect\r\n */\r\n\r\n/**\r\n * @typedef {Object} SeqOptions\r\n * @property {String} correlationId\r\n * @property {String} mediaId\r\n * @property {Number} seq\r\n */\r\n\r\n/**\r\n * @class Roap\r\n * @export\r\n * @private\r\n */\r\nexport default class Roap extends StatelessWebexPlugin {\r\n attrs: any;\r\n lastRoapOffer: any;\r\n options: any;\r\n roapHandler: any;\r\n roapRequest: any;\r\n turnDiscovery: any;\r\n\r\n /**\r\n *\r\n * @param {Object} attrs\r\n * @param {Object} options\r\n */\r\n constructor(attrs: any, options: any) {\r\n super({}, options);\r\n /**\r\n * @instance\r\n * @type {Object}\r\n * @private\r\n * @memberof Roap\r\n */\r\n this.attrs = attrs;\r\n /**\r\n * @instance\r\n * @type {Object}\r\n * @private\r\n * @memberof Roap\r\n */\r\n this.options = options;\r\n /**\r\n * The Roap Process State Handler\r\n * @instance\r\n * @type {RoapHandler}\r\n * @private\r\n * @memberof Roap\r\n */\r\n this.roapHandler = new RoapHandler(\r\n this.attrs,\r\n this.options,\r\n this.sendRoapOK.bind(this),\r\n this.sendRoapAnswer.bind(this),\r\n this.roapFinished.bind(this)\r\n );\r\n /**\r\n * The Roap Request Server Proxy Object\r\n * @instance\r\n * @type {RoapRequest}\r\n * @private\r\n * @memberof Roap\r\n */\r\n // @ts-ignore\r\n this.roapRequest = new RoapRequest({}, options);\r\n /**\r\n * The last roap offer sent to server and acked\r\n * @instance\r\n * @type {Object}\r\n * @private\r\n * @memberof Roap\r\n */\r\n this.lastRoapOffer = {};\r\n\r\n this.turnDiscovery = new TurnDiscovery(this.roapRequest);\r\n }\r\n\r\n /**\r\n * Starts listening to mercury events for Roap messages\r\n * @param {object} data event object\r\n * @returns {Promise}\r\n * @private\r\n * @memberof Roap\r\n */\r\n private roapEvent(data: any) {\r\n const msg = data.message;\r\n const {correlationId} = data;\r\n\r\n LoggerProxy.logger.log(\r\n `Roap:index#roapEvent --> Received Roap Message [${JSON.stringify(msg, null, 2)}]`\r\n );\r\n\r\n if (msg.messageType === ROAP.ROAP_TYPES.TURN_DISCOVERY_RESPONSE) {\r\n // turn discovery is not part of normal roap protocol and so we are not handling it\r\n // through the usual roap state machine\r\n this.turnDiscovery.handleTurnDiscoveryResponse(msg);\r\n } else {\r\n this.roapHandler.submit({\r\n type: ROAP.RECEIVE_ROAP_MSG,\r\n msg,\r\n correlationId,\r\n });\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {String} correlationId correlation id of a meeting\r\n * @param {Number} seq ROAP sequence number\r\n * @returns {Promise}\r\n * @private\r\n * @memberof Roap\r\n */\r\n private stop(correlationId: string, seq: number) {\r\n this.roapHandler.submit({\r\n type: ROAP.RECEIVE_CALL_LEAVE,\r\n seq,\r\n correlationId,\r\n });\r\n\r\n return Promise.resolve();\r\n }\r\n\r\n /**\r\n *\r\n * @param {SeqOptions} options\r\n * @returns {null}\r\n * @private\r\n * @memberof Roap\r\n */\r\n private sendRoapOK(options: any) {\r\n return Promise.resolve().then(() => {\r\n // @ts-ignore\r\n const meeting = this.webex.meetings.meetingCollection.getByKey(\r\n 'correlationId',\r\n options.correlationId\r\n );\r\n const roapMessage = {\r\n messageType: ROAP.ROAP_TYPES.OK,\r\n version: ROAP.ROAP_VERSION,\r\n seq: options.seq,\r\n };\r\n\r\n LoggerProxy.logger.log(`Roap:index#sendRoapOK --> ROAP OK sending with seq ${options.seq}`);\r\n\r\n return this.roapRequest\r\n .sendRoap({\r\n roapMessage,\r\n locusSelfUrl: meeting.selfUrl,\r\n mediaId: options.mediaId,\r\n correlationId: options.correlationId,\r\n audioMuted: meeting.audio?.isLocallyMuted(),\r\n videoMuted: meeting.video?.isLocallyMuted(),\r\n meetingId: meeting.id,\r\n })\r\n .then(() => {\r\n this.roapHandler.submit({\r\n type: ROAP.SEND_ROAP_MSG,\r\n msg: roapMessage,\r\n correlationId: options.correlationId,\r\n });\r\n LoggerProxy.logger.log(`Roap:index#sendRoapOK --> ROAP OK sent with seq ${options.seq}`);\r\n meeting.setRoapSeq(options.seq);\r\n });\r\n });\r\n }\r\n\r\n // eslint-disable-next-line no-warning-comments\r\n // TODO: try to merge sendRoapOk and roapAnswer\r\n /**\r\n * Sends a ROAP answer...\r\n * @param {SeqOptions} options\r\n * @param {Boolean} options.audioMuted\r\n * @param {Boolean} options.videoMuted\r\n * @returns {Promise}\r\n * @private\r\n * @memberof Roap\r\n */\r\n private sendRoapAnswer(options: any) {\r\n // @ts-ignore\r\n const meeting = this.webex.meetings.meetingCollection.getByKey(\r\n 'correlationId',\r\n options.correlationId\r\n );\r\n const roapMessage = {\r\n messageType: ROAP.ROAP_TYPES.ANSWER,\r\n sdps: options.sdps,\r\n version: ROAP.ROAP_VERSION,\r\n seq: options.seq,\r\n };\r\n\r\n this.roapHandler.submit({\r\n type: ROAP.SEND_ROAP_MSG,\r\n msg: roapMessage,\r\n correlationId: options.correlationId,\r\n });\r\n\r\n return this.roapRequest\r\n .sendRoap({\r\n roapMessage,\r\n locusSelfUrl: meeting.selfUrl,\r\n mediaId: options.mediaId,\r\n correlationId: options.correlationId,\r\n audioMuted: meeting.audio?.isLocallyMuted(),\r\n videoMuted: meeting.video?.isLocallyMuted(),\r\n meetingId: meeting.id,\r\n })\r\n .then(() => {\r\n meeting.setRoapSeq(options.seq);\r\n\r\n this.roapHandler.submit({\r\n type: ROAP.SEND_ROAP_MSG_SUCCESS,\r\n seq: roapMessage.seq,\r\n correlationId: meeting.correlationId,\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Sends a ROAP error...\r\n * @param {Object} session\r\n * @param {Object} locus\r\n * @param {String} errorType\r\n * @returns {Promise}\r\n * @private\r\n * @memberof Roap\r\n */\r\n private sendRoapError(session: any, locus: object, errorType: string) {\r\n const msg = {\r\n messageType: ROAP.ROAP_TYPES.ERROR,\r\n version: ROAP.ROAP_VERSION,\r\n errorType,\r\n seq: session.OFFER.seq,\r\n };\r\n\r\n return this.roapRequest.sendRoap(msg, locus);\r\n }\r\n\r\n /**\r\n * sends a roap media request\r\n * @param {RoapOptions} options\r\n * @returns {Promise}\r\n * @private\r\n * @memberof Roap\r\n */\r\n sendRoapMediaRequest(options: any) {\r\n const {meeting, reconnect} = options;\r\n const roapMessage = {\r\n messageType: ROAP.ROAP_TYPES.OFFER,\r\n sdps: [options.sdp],\r\n // sdps: [options.sdp],\r\n version: ROAP.ROAP_VERSION,\r\n seq:\r\n typeof options.roapSeq !== 'number' && Number.isNaN(parseFloat(options.roapSeq))\r\n ? 0\r\n : options.roapSeq + 1,\r\n tieBreaker: 4294967294, // Math.floor(Math.random() * (2 ** 32) - 1) // TODO: Handle the roap conflict scenario\r\n };\r\n\r\n this.roapHandler.submit({\r\n type: ROAP.SEND_ROAP_MSG,\r\n msg: roapMessage,\r\n correlationId: meeting.correlationId,\r\n });\r\n\r\n // When reconnecting, it's important that the first roap message being sent out has empty media id.\r\n // Normally this is the roap offer, but when TURN discovery is enabled,\r\n // then this is the TURN discovery request message\r\n const sendEmptyMediaId = reconnect && !meeting.config.experimental.enableTurnDiscovery;\r\n\r\n return this.roapRequest\r\n .sendRoap({\r\n roapMessage,\r\n correlationId: meeting.correlationId,\r\n locusSelfUrl: meeting.selfUrl,\r\n mediaId: sendEmptyMediaId ? '' : meeting.mediaId,\r\n audioMuted: meeting.audio?.isLocallyMuted(),\r\n videoMuted: meeting.video?.isLocallyMuted(),\r\n meetingId: meeting.id,\r\n })\r\n .then(({locus, mediaConnections}) => {\r\n this.roapHandler.submit({\r\n type: ROAP.SEND_ROAP_MSG_SUCCESS,\r\n seq: roapMessage.seq,\r\n correlationId: meeting.correlationId,\r\n });\r\n meeting.setRoapSeq(roapMessage.seq);\r\n\r\n if (mediaConnections) {\r\n meeting.updateMediaConnections(mediaConnections);\r\n }\r\n\r\n // eslint-disable-next-line no-warning-comments\r\n // TODO: we need to attach peerconenction to locus not sure if we need to pass everything here\r\n return locus;\r\n // eslint-disable-next-line no-warning-comments\r\n // TODO: check where to update the sequence number\r\n });\r\n }\r\n\r\n /**\r\n * sends a roap media request\r\n * @param {RoapOptions} options\r\n * @returns {Promise}\r\n * @private\r\n * @memberof Roap\r\n */\r\n sendRoapCallRequest = (options: any) => {\r\n const {meeting} = options;\r\n const roapMessage = {\r\n messageType: ROAP.ROAP_TYPES.OFFER,\r\n sdps: [options.sdp],\r\n version: ROAP.ROAP_VERSION,\r\n seq:\r\n typeof options.roapSeq !== 'number' && Number.isNaN(parseFloat(options.roapSeq))\r\n ? 0\r\n : options.roapSeq + 1,\r\n tieBreaker: 4294967294, // Math.floor(Math.random() * (2 ** 32) - 1) // TODO: Handle the roap conflict scenario\r\n };\r\n\r\n this.roapHandler.submit({\r\n type: ROAP.SEND_ROAP_MSG,\r\n msg: roapMessage,\r\n correlationId: meeting.correlationId,\r\n });\r\n\r\n const roapBody = {\r\n localMedias: [\r\n {\r\n localSdp: JSON.stringify(\r\n this.roapRequest.attachRechabilityData({\r\n roapMessage,\r\n // eslint-disable-next-line no-warning-comments\r\n // TODO: check whats the need for video and audiomute\r\n audioMuted: meeting.audio?.isLocallyMuted(),\r\n videoMuted: meeting.video?.isLocallyMuted(),\r\n })\r\n ),\r\n // mediaId: meeting.mediaId\r\n },\r\n ],\r\n };\r\n\r\n return MeetingUtil.joinMeetingOptions(meeting, {roapMessage: roapBody}).then((locus) => {\r\n this.roapHandler.submit({\r\n type: ROAP.SEND_ROAP_MSG_SUCCESS,\r\n seq: roapMessage.seq,\r\n correlationId: meeting.correlationId,\r\n });\r\n meeting.setRoapSeq(roapMessage.seq);\r\n\r\n // eslint-disable-next-line no-warning-comments\r\n // TODO: we need to attach peerconenction to locus not sure if we need to pass everything here\r\n return locus;\r\n // eslint-disable-next-line no-warning-comments\r\n // TODO: check where to update the sequence number\r\n });\r\n };\r\n\r\n /**\r\n * Called when the roap sequence is finished (completed successfully or failed)\r\n * @param {String} correlationId id of the meeting affected\r\n * @param {String} sequenceId the id of the finished sequence\r\n * @returns {undefined}\r\n * @private\r\n * @memberof Roap\r\n */\r\n private roapFinished(correlationId: string, sequenceId: string) {\r\n RoapCollection.onSessionSequenceFinish(correlationId, sequenceId);\r\n // @ts-ignore\r\n const meeting = this.webex.meetings.meetingCollection.getByKey('correlationId', correlationId);\r\n\r\n meeting.mediaNegotiatedEvent();\r\n if (!RoapCollection.isBusy(correlationId)) {\r\n meeting.processNextQueuedMediaUpdate();\r\n }\r\n }\r\n\r\n /**\r\n * Performs a TURN server discovery procedure, which involves exchanging\r\n * some roap messages with the server. This exchange has to be done before\r\n * any other roap messages are sent\r\n *\r\n * @param {Meeting} meeting\r\n * @param {Boolean} isReconnecting should be set to true if this is a new\r\n * media connection just after a reconnection\r\n * @returns {Promise}\r\n */\r\n doTurnDiscovery(meeting: Meeting, isReconnecting: boolean) {\r\n return this.turnDiscovery.doTurnDiscovery(meeting, isReconnecting);\r\n }\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"names":["_webexCore","require","_constants","_loggerProxy","_interopRequireDefault","_util","_handler","_request","_collection","_turnDiscovery","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","Roap","_StatelessWebexPlugin","_inherits2","_super","attrs","options","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","_meeting$audio","_meeting$video","meeting","roapMessage","messageType","ROAP","ROAP_TYPES","OFFER","sdps","sdp","version","ROAP_VERSION","seq","roapSeq","_isNan","_parseFloat2","tieBreaker","roapHandler","submit","type","SEND_ROAP_MSG","msg","correlationId","roapBody","localMedias","localSdp","_stringify","roapRequest","attachRechabilityData","audioMuted","audio","isLocallyMuted","videoMuted","video","MeetingUtil","joinMeetingOptions","then","locus","SEND_ROAP_MSG_SUCCESS","setRoapSeq","RoapHandler","sendRoapOK","bind","sendRoapAnswer","roapFinished","RoapRequest","lastRoapOffer","turnDiscovery","TurnDiscovery","_createClass2","key","value","roapEvent","data","message","LoggerProxy","logger","log","concat","TURN_DISCOVERY_RESPONSE","handleTurnDiscoveryResponse","RECEIVE_ROAP_MSG","stop","RECEIVE_CALL_LEAVE","_promise","resolve","_this2","_meeting$audio2","_meeting$video2","webex","meetings","meetingCollection","getByKey","OK","sendRoap","locusSelfUrl","selfUrl","mediaId","meetingId","id","_meeting$audio3","_meeting$video3","_this3","ANSWER","sendRoapError","session","errorType","ERROR","sendRoapMediaRequest","_meeting$audio4","_meeting$video4","_this4","reconnect","sendEmptyMediaId","config","experimental","enableTurnDiscovery","_ref","mediaConnections","updateMediaConnections","sequenceId","RoapCollection","onSessionSequenceFinish","mediaNegotiatedEvent","isBusy","processNextQueuedMediaUpdate","doTurnDiscovery","isReconnecting","StatelessWebexPlugin","exports"],"sources":["index.ts"],"sourcesContent":["// @ts-ignore\nimport {StatelessWebexPlugin} from '@webex/webex-core';\n\nimport {ROAP} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport MeetingUtil from '../meeting/util';\n\nimport RoapHandler from './handler';\nimport RoapRequest from './request';\nimport RoapCollection from './collection';\nimport TurnDiscovery from './turnDiscovery';\nimport Meeting from '../meeting';\n\n/**\n * Roap options\n * @typedef {Object} RoapOptions\n * @property {String} sdp\n * @property {Meeting} meeting\n * @property {Number} roapSeq\n * @property {Boolean} reconnect\n */\n\n/**\n * @typedef {Object} SeqOptions\n * @property {String} correlationId\n * @property {String} mediaId\n * @property {Number} seq\n */\n\n/**\n * @class Roap\n * @export\n * @private\n */\nexport default class Roap extends StatelessWebexPlugin {\n attrs: any;\n lastRoapOffer: any;\n options: any;\n roapHandler: any;\n roapRequest: any;\n turnDiscovery: any;\n\n /**\n *\n * @param {Object} attrs\n * @param {Object} options\n */\n constructor(attrs: any, options: any) {\n super({}, options);\n /**\n * @instance\n * @type {Object}\n * @private\n * @memberof Roap\n */\n this.attrs = attrs;\n /**\n * @instance\n * @type {Object}\n * @private\n * @memberof Roap\n */\n this.options = options;\n /**\n * The Roap Process State Handler\n * @instance\n * @type {RoapHandler}\n * @private\n * @memberof Roap\n */\n this.roapHandler = new RoapHandler(\n this.attrs,\n this.options,\n this.sendRoapOK.bind(this),\n this.sendRoapAnswer.bind(this),\n this.roapFinished.bind(this)\n );\n /**\n * The Roap Request Server Proxy Object\n * @instance\n * @type {RoapRequest}\n * @private\n * @memberof Roap\n */\n // @ts-ignore\n this.roapRequest = new RoapRequest({}, options);\n /**\n * The last roap offer sent to server and acked\n * @instance\n * @type {Object}\n * @private\n * @memberof Roap\n */\n this.lastRoapOffer = {};\n\n this.turnDiscovery = new TurnDiscovery(this.roapRequest);\n }\n\n /**\n * Starts listening to mercury events for Roap messages\n * @param {object} data event object\n * @returns {Promise}\n * @private\n * @memberof Roap\n */\n private roapEvent(data: any) {\n const msg = data.message;\n const {correlationId} = data;\n\n LoggerProxy.logger.log(\n `Roap:index#roapEvent --> Received Roap Message [${JSON.stringify(msg, null, 2)}]`\n );\n\n if (msg.messageType === ROAP.ROAP_TYPES.TURN_DISCOVERY_RESPONSE) {\n // turn discovery is not part of normal roap protocol and so we are not handling it\n // through the usual roap state machine\n this.turnDiscovery.handleTurnDiscoveryResponse(msg);\n } else {\n this.roapHandler.submit({\n type: ROAP.RECEIVE_ROAP_MSG,\n msg,\n correlationId,\n });\n }\n }\n\n /**\n *\n * @param {String} correlationId correlation id of a meeting\n * @param {Number} seq ROAP sequence number\n * @returns {Promise}\n * @private\n * @memberof Roap\n */\n private stop(correlationId: string, seq: number) {\n this.roapHandler.submit({\n type: ROAP.RECEIVE_CALL_LEAVE,\n seq,\n correlationId,\n });\n\n return Promise.resolve();\n }\n\n /**\n *\n * @param {SeqOptions} options\n * @returns {null}\n * @private\n * @memberof Roap\n */\n private sendRoapOK(options: any) {\n return Promise.resolve().then(() => {\n // @ts-ignore\n const meeting = this.webex.meetings.meetingCollection.getByKey(\n 'correlationId',\n options.correlationId\n );\n const roapMessage = {\n messageType: ROAP.ROAP_TYPES.OK,\n version: ROAP.ROAP_VERSION,\n seq: options.seq,\n };\n\n LoggerProxy.logger.log(`Roap:index#sendRoapOK --> ROAP OK sending with seq ${options.seq}`);\n\n return this.roapRequest\n .sendRoap({\n roapMessage,\n locusSelfUrl: meeting.selfUrl,\n mediaId: options.mediaId,\n correlationId: options.correlationId,\n audioMuted: meeting.audio?.isLocallyMuted(),\n videoMuted: meeting.video?.isLocallyMuted(),\n meetingId: meeting.id,\n })\n .then(() => {\n this.roapHandler.submit({\n type: ROAP.SEND_ROAP_MSG,\n msg: roapMessage,\n correlationId: options.correlationId,\n });\n LoggerProxy.logger.log(`Roap:index#sendRoapOK --> ROAP OK sent with seq ${options.seq}`);\n meeting.setRoapSeq(options.seq);\n });\n });\n }\n\n // eslint-disable-next-line no-warning-comments\n // TODO: try to merge sendRoapOk and roapAnswer\n /**\n * Sends a ROAP answer...\n * @param {SeqOptions} options\n * @param {Boolean} options.audioMuted\n * @param {Boolean} options.videoMuted\n * @returns {Promise}\n * @private\n * @memberof Roap\n */\n private sendRoapAnswer(options: any) {\n // @ts-ignore\n const meeting = this.webex.meetings.meetingCollection.getByKey(\n 'correlationId',\n options.correlationId\n );\n const roapMessage = {\n messageType: ROAP.ROAP_TYPES.ANSWER,\n sdps: options.sdps,\n version: ROAP.ROAP_VERSION,\n seq: options.seq,\n };\n\n this.roapHandler.submit({\n type: ROAP.SEND_ROAP_MSG,\n msg: roapMessage,\n correlationId: options.correlationId,\n });\n\n return this.roapRequest\n .sendRoap({\n roapMessage,\n locusSelfUrl: meeting.selfUrl,\n mediaId: options.mediaId,\n correlationId: options.correlationId,\n audioMuted: meeting.audio?.isLocallyMuted(),\n videoMuted: meeting.video?.isLocallyMuted(),\n meetingId: meeting.id,\n })\n .then(() => {\n meeting.setRoapSeq(options.seq);\n\n this.roapHandler.submit({\n type: ROAP.SEND_ROAP_MSG_SUCCESS,\n seq: roapMessage.seq,\n correlationId: meeting.correlationId,\n });\n });\n }\n\n /**\n * Sends a ROAP error...\n * @param {Object} session\n * @param {Object} locus\n * @param {String} errorType\n * @returns {Promise}\n * @private\n * @memberof Roap\n */\n private sendRoapError(session: any, locus: object, errorType: string) {\n const msg = {\n messageType: ROAP.ROAP_TYPES.ERROR,\n version: ROAP.ROAP_VERSION,\n errorType,\n seq: session.OFFER.seq,\n };\n\n return this.roapRequest.sendRoap(msg, locus);\n }\n\n /**\n * sends a roap media request\n * @param {RoapOptions} options\n * @returns {Promise}\n * @private\n * @memberof Roap\n */\n sendRoapMediaRequest(options: any) {\n const {meeting, reconnect} = options;\n const roapMessage = {\n messageType: ROAP.ROAP_TYPES.OFFER,\n sdps: [options.sdp],\n // sdps: [options.sdp],\n version: ROAP.ROAP_VERSION,\n seq:\n typeof options.roapSeq !== 'number' && Number.isNaN(parseFloat(options.roapSeq))\n ? 0\n : options.roapSeq + 1,\n tieBreaker: 4294967294, // Math.floor(Math.random() * (2 ** 32) - 1) // TODO: Handle the roap conflict scenario\n };\n\n this.roapHandler.submit({\n type: ROAP.SEND_ROAP_MSG,\n msg: roapMessage,\n correlationId: meeting.correlationId,\n });\n\n // When reconnecting, it's important that the first roap message being sent out has empty media id.\n // Normally this is the roap offer, but when TURN discovery is enabled,\n // then this is the TURN discovery request message\n const sendEmptyMediaId = reconnect && !meeting.config.experimental.enableTurnDiscovery;\n\n return this.roapRequest\n .sendRoap({\n roapMessage,\n correlationId: meeting.correlationId,\n locusSelfUrl: meeting.selfUrl,\n mediaId: sendEmptyMediaId ? '' : meeting.mediaId,\n audioMuted: meeting.audio?.isLocallyMuted(),\n videoMuted: meeting.video?.isLocallyMuted(),\n meetingId: meeting.id,\n })\n .then(({locus, mediaConnections}) => {\n this.roapHandler.submit({\n type: ROAP.SEND_ROAP_MSG_SUCCESS,\n seq: roapMessage.seq,\n correlationId: meeting.correlationId,\n });\n meeting.setRoapSeq(roapMessage.seq);\n\n if (mediaConnections) {\n meeting.updateMediaConnections(mediaConnections);\n }\n\n // eslint-disable-next-line no-warning-comments\n // TODO: we need to attach peerconenction to locus not sure if we need to pass everything here\n return locus;\n // eslint-disable-next-line no-warning-comments\n // TODO: check where to update the sequence number\n });\n }\n\n /**\n * sends a roap media request\n * @param {RoapOptions} options\n * @returns {Promise}\n * @private\n * @memberof Roap\n */\n sendRoapCallRequest = (options: any) => {\n const {meeting} = options;\n const roapMessage = {\n messageType: ROAP.ROAP_TYPES.OFFER,\n sdps: [options.sdp],\n version: ROAP.ROAP_VERSION,\n seq:\n typeof options.roapSeq !== 'number' && Number.isNaN(parseFloat(options.roapSeq))\n ? 0\n : options.roapSeq + 1,\n tieBreaker: 4294967294, // Math.floor(Math.random() * (2 ** 32) - 1) // TODO: Handle the roap conflict scenario\n };\n\n this.roapHandler.submit({\n type: ROAP.SEND_ROAP_MSG,\n msg: roapMessage,\n correlationId: meeting.correlationId,\n });\n\n const roapBody = {\n localMedias: [\n {\n localSdp: JSON.stringify(\n this.roapRequest.attachRechabilityData({\n roapMessage,\n // eslint-disable-next-line no-warning-comments\n // TODO: check whats the need for video and audiomute\n audioMuted: meeting.audio?.isLocallyMuted(),\n videoMuted: meeting.video?.isLocallyMuted(),\n })\n ),\n // mediaId: meeting.mediaId\n },\n ],\n };\n\n return MeetingUtil.joinMeetingOptions(meeting, {roapMessage: roapBody}).then((locus) => {\n this.roapHandler.submit({\n type: ROAP.SEND_ROAP_MSG_SUCCESS,\n seq: roapMessage.seq,\n correlationId: meeting.correlationId,\n });\n meeting.setRoapSeq(roapMessage.seq);\n\n // eslint-disable-next-line no-warning-comments\n // TODO: we need to attach peerconenction to locus not sure if we need to pass everything here\n return locus;\n // eslint-disable-next-line no-warning-comments\n // TODO: check where to update the sequence number\n });\n };\n\n /**\n * Called when the roap sequence is finished (completed successfully or failed)\n * @param {String} correlationId id of the meeting affected\n * @param {String} sequenceId the id of the finished sequence\n * @returns {undefined}\n * @private\n * @memberof Roap\n */\n private roapFinished(correlationId: string, sequenceId: string) {\n RoapCollection.onSessionSequenceFinish(correlationId, sequenceId);\n // @ts-ignore\n const meeting = this.webex.meetings.meetingCollection.getByKey('correlationId', correlationId);\n\n meeting.mediaNegotiatedEvent();\n if (!RoapCollection.isBusy(correlationId)) {\n meeting.processNextQueuedMediaUpdate();\n }\n }\n\n /**\n * Performs a TURN server discovery procedure, which involves exchanging\n * some roap messages with the server. This exchange has to be done before\n * any other roap messages are sent\n *\n * @param {Meeting} meeting\n * @param {Boolean} isReconnecting should be set to true if this is a new\n * media connection just after a reconnection\n * @returns {Promise}\n */\n doTurnDiscovery(meeting: Meeting, isReconnecting: boolean) {\n return this.turnDiscovery.doTurnDiscovery(meeting, isReconnecting);\n }\n}\n"],"mappings":"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"}
@@ -33,8 +33,8 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(object); if
33
33
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
34
34
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
35
35
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
36
- /**
37
- * @class RoapRequest
36
+ /**
37
+ * @class RoapRequest
38
38
  */
39
39
  var RoapRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
40
40
  (0, _inherits2.default)(RoapRequest, _StatelessWebexPlugin);
@@ -46,10 +46,10 @@ var RoapRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
46
46
  (0, _createClass2.default)(RoapRequest, [{
47
47
  key: "attachRechabilityData",
48
48
  value:
49
- /**
50
- * Joins a meeting via ROAP
51
- * @param {Object} options
52
- * @returns {Promise} returns a promise that resolves/rejects whatever the request does
49
+ /**
50
+ * Joins a meeting via ROAP
51
+ * @param {Object} options
52
+ * @returns {Promise} returns a promise that resolves/rejects whatever the request does
53
53
  */
54
54
 
55
55
  function attachRechabilityData(localSdp) {
@@ -154,17 +154,17 @@ var RoapRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
154
154
  })));
155
155
  }
156
156
 
157
- /**
158
- * Sends a ROAP message
159
- * @param {Object} options
160
- * @param {Object} options.roapMessage
161
- * @param {String} options.locusSelfUrl
162
- * @param {String} options.mediaId
163
- * @param {String} options.correlationId
164
- * @param {Boolean} options.audioMuted
165
- * @param {Boolean} options.videoMuted
166
- * @param {String} options.meetingId
167
- * @returns {Promise} returns the response/failure of the request
157
+ /**
158
+ * Sends a ROAP message
159
+ * @param {Object} options
160
+ * @param {Object} options.roapMessage
161
+ * @param {String} options.locusSelfUrl
162
+ * @param {String} options.mediaId
163
+ * @param {String} options.correlationId
164
+ * @param {Boolean} options.audioMuted
165
+ * @param {Boolean} options.videoMuted
166
+ * @param {String} options.meetingId
167
+ * @returns {Promise} returns the response/failure of the request
168
168
  */
169
169
  }, {
170
170
  key: "sendRoap",