@webex/plugin-meetings 3.0.0-test.1 → 3.1.0

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 (431) hide show
  1. package/.eslintrc.js +6 -0
  2. package/babel.config.js +3 -0
  3. package/dist/annotation/constants.js +12 -20
  4. package/dist/annotation/constants.js.map +1 -1
  5. package/dist/annotation/index.js +25 -10
  6. package/dist/annotation/index.js.map +1 -1
  7. package/dist/breakouts/breakout.js +2 -3
  8. package/dist/breakouts/breakout.js.map +1 -1
  9. package/dist/breakouts/collection.js +1 -2
  10. package/dist/breakouts/collection.js.map +1 -1
  11. package/dist/breakouts/edit-lock-error.js +1 -2
  12. package/dist/breakouts/edit-lock-error.js.map +1 -1
  13. package/dist/breakouts/events.js +1 -2
  14. package/dist/breakouts/events.js.map +1 -1
  15. package/dist/breakouts/index.js +13 -14
  16. package/dist/breakouts/index.js.map +1 -1
  17. package/dist/breakouts/request.js +1 -2
  18. package/dist/breakouts/request.js.map +1 -1
  19. package/dist/breakouts/utils.js +3 -6
  20. package/dist/breakouts/utils.js.map +1 -1
  21. package/dist/common/browser-detection.js +2 -3
  22. package/dist/common/browser-detection.js.map +1 -1
  23. package/dist/common/collection.js +3 -4
  24. package/dist/common/collection.js.map +1 -1
  25. package/dist/common/config.js +1 -2
  26. package/dist/common/config.js.map +1 -1
  27. package/dist/common/errors/captcha-error.js +1 -2
  28. package/dist/common/errors/captcha-error.js.map +1 -1
  29. package/dist/common/errors/intent-to-join.js +1 -2
  30. package/dist/common/errors/intent-to-join.js.map +1 -1
  31. package/dist/common/errors/join-meeting.js +1 -2
  32. package/dist/common/errors/join-meeting.js.map +1 -1
  33. package/dist/common/errors/media.js +1 -2
  34. package/dist/common/errors/media.js.map +1 -1
  35. package/dist/common/errors/no-meeting-info.js +1 -2
  36. package/dist/common/errors/no-meeting-info.js.map +1 -1
  37. package/dist/common/errors/parameter.js +3 -4
  38. package/dist/common/errors/parameter.js.map +1 -1
  39. package/dist/common/errors/password-error.js +1 -2
  40. package/dist/common/errors/password-error.js.map +1 -1
  41. package/dist/common/errors/permission.js +1 -2
  42. package/dist/common/errors/permission.js.map +1 -1
  43. package/dist/common/errors/reclaim-host-role-errors.js +6 -10
  44. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -1
  45. package/dist/common/errors/reconnection-in-progress.js +1 -2
  46. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  47. package/dist/common/errors/reconnection.js +1 -2
  48. package/dist/common/errors/reconnection.js.map +1 -1
  49. package/dist/common/errors/stats.js +1 -2
  50. package/dist/common/errors/stats.js.map +1 -1
  51. package/dist/common/errors/webex-errors.js +14 -15
  52. package/dist/common/errors/webex-errors.js.map +1 -1
  53. package/dist/common/errors/webex-meetings-error.js +1 -2
  54. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  55. package/dist/common/events/events-scope.js +1 -2
  56. package/dist/common/events/events-scope.js.map +1 -1
  57. package/dist/common/events/events.js +1 -2
  58. package/dist/common/events/events.js.map +1 -1
  59. package/dist/common/events/trigger-proxy.js +1 -2
  60. package/dist/common/events/trigger-proxy.js.map +1 -1
  61. package/dist/common/events/util.js +1 -2
  62. package/dist/common/events/util.js.map +1 -1
  63. package/dist/common/logs/logger-config.js +1 -2
  64. package/dist/common/logs/logger-config.js.map +1 -1
  65. package/dist/common/logs/logger-proxy.js +1 -2
  66. package/dist/common/logs/logger-proxy.js.map +1 -1
  67. package/dist/{types/common → common}/logs/request.d.ts +1 -1
  68. package/dist/common/logs/request.js +3 -4
  69. package/dist/common/logs/request.js.map +1 -1
  70. package/dist/common/queue.js +2 -4
  71. package/dist/common/queue.js.map +1 -1
  72. package/dist/{types/config.d.ts → config.d.ts} +1 -0
  73. package/dist/config.js +4 -3
  74. package/dist/config.js.map +1 -1
  75. package/dist/{types/constants.d.ts → constants.d.ts} +10 -5
  76. package/dist/constants.js +207 -380
  77. package/dist/constants.js.map +1 -1
  78. package/dist/controls-options-manager/constants.js +3 -6
  79. package/dist/controls-options-manager/constants.js.map +1 -1
  80. package/dist/controls-options-manager/enums.js +7 -10
  81. package/dist/controls-options-manager/enums.js.map +1 -1
  82. package/dist/controls-options-manager/index.js +27 -32
  83. package/dist/controls-options-manager/index.js.map +1 -1
  84. package/dist/controls-options-manager/util.js +1 -2
  85. package/dist/controls-options-manager/util.js.map +1 -1
  86. package/dist/index.js +3 -4
  87. package/dist/index.js.map +1 -1
  88. package/dist/interceptors/index.js.map +1 -1
  89. package/dist/interceptors/locusRetry.js +4 -3
  90. package/dist/interceptors/locusRetry.js.map +1 -1
  91. package/dist/interpretation/collection.js +1 -2
  92. package/dist/interpretation/collection.js.map +1 -1
  93. package/dist/interpretation/index.js +4 -5
  94. package/dist/interpretation/index.js.map +1 -1
  95. package/dist/interpretation/siLanguage.js +2 -3
  96. package/dist/interpretation/siLanguage.js.map +1 -1
  97. package/dist/locus-info/controlsUtils.js +12 -13
  98. package/dist/locus-info/controlsUtils.js.map +1 -1
  99. package/dist/locus-info/embeddedAppsUtils.js +3 -4
  100. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  101. package/dist/locus-info/fullState.js +1 -2
  102. package/dist/locus-info/fullState.js.map +1 -1
  103. package/dist/locus-info/hostUtils.js +1 -2
  104. package/dist/locus-info/hostUtils.js.map +1 -1
  105. package/dist/locus-info/index.js +23 -27
  106. package/dist/locus-info/index.js.map +1 -1
  107. package/dist/locus-info/infoUtils.js +3 -4
  108. package/dist/locus-info/infoUtils.js.map +1 -1
  109. package/dist/locus-info/mediaSharesUtils.js +16 -3
  110. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  111. package/dist/locus-info/parser.js +6 -10
  112. package/dist/locus-info/parser.js.map +1 -1
  113. package/dist/locus-info/selfUtils.js +12 -6
  114. package/dist/locus-info/selfUtils.js.map +1 -1
  115. package/dist/media/MediaConnectionAwaiter.d.ts +61 -0
  116. package/dist/media/MediaConnectionAwaiter.js +163 -0
  117. package/dist/media/MediaConnectionAwaiter.js.map +1 -0
  118. package/dist/media/index.js +9 -5
  119. package/dist/media/index.js.map +1 -1
  120. package/dist/media/properties.js +7 -28
  121. package/dist/media/properties.js.map +1 -1
  122. package/dist/media/util.js +1 -2
  123. package/dist/media/util.js.map +1 -1
  124. package/dist/mediaQualityMetrics/config.js +9 -18
  125. package/dist/mediaQualityMetrics/config.js.map +1 -1
  126. package/dist/meeting/in-meeting-actions.js +14 -2
  127. package/dist/meeting/in-meeting-actions.js.map +1 -1
  128. package/dist/{types/meeting → meeting}/index.d.ts +71 -16
  129. package/dist/meeting/index.js +1411 -1036
  130. package/dist/meeting/index.js.map +1 -1
  131. package/dist/meeting/locusMediaRequest.js +4 -5
  132. package/dist/meeting/locusMediaRequest.js.map +1 -1
  133. package/dist/meeting/muteState.js +2 -4
  134. package/dist/meeting/muteState.js.map +1 -1
  135. package/dist/{types/meeting → meeting}/request.d.ts +3 -0
  136. package/dist/meeting/request.js +45 -36
  137. package/dist/meeting/request.js.map +1 -1
  138. package/dist/meeting/state.js +1 -2
  139. package/dist/meeting/state.js.map +1 -1
  140. package/dist/{types/meeting → meeting}/util.d.ts +1 -0
  141. package/dist/meeting/util.js +13 -10
  142. package/dist/meeting/util.js.map +1 -1
  143. package/dist/meeting/voicea-meeting.d.ts +16 -0
  144. package/dist/meeting/voicea-meeting.js +169 -0
  145. package/dist/meeting/voicea-meeting.js.map +1 -0
  146. package/dist/meeting-info/collection.js +3 -4
  147. package/dist/meeting-info/collection.js.map +1 -1
  148. package/dist/meeting-info/index.js +5 -4
  149. package/dist/meeting-info/index.js.map +1 -1
  150. package/dist/meeting-info/meeting-info-v2.js +27 -29
  151. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  152. package/dist/meeting-info/request.js +1 -2
  153. package/dist/meeting-info/request.js.map +1 -1
  154. package/dist/meeting-info/util.js +8 -8
  155. package/dist/meeting-info/util.js.map +1 -1
  156. package/dist/meeting-info/utilv2.js +15 -9
  157. package/dist/meeting-info/utilv2.js.map +1 -1
  158. package/dist/meetings/collection.js +5 -6
  159. package/dist/meetings/collection.js.map +1 -1
  160. package/dist/{types/meetings → meetings}/index.d.ts +11 -2
  161. package/dist/meetings/index.js +44 -17
  162. package/dist/meetings/index.js.map +1 -1
  163. package/dist/meetings/request.js +2 -3
  164. package/dist/meetings/request.js.map +1 -1
  165. package/dist/meetings/util.js +1 -4
  166. package/dist/meetings/util.js.map +1 -1
  167. package/dist/member/index.js +1 -3
  168. package/dist/member/index.js.map +1 -1
  169. package/dist/member/types.js +6 -8
  170. package/dist/member/types.js.map +1 -1
  171. package/dist/member/util.js +1 -2
  172. package/dist/member/util.js.map +1 -1
  173. package/dist/members/collection.js +1 -2
  174. package/dist/members/collection.js.map +1 -1
  175. package/dist/members/index.js +8 -7
  176. package/dist/members/index.js.map +1 -1
  177. package/dist/members/request.js +2 -3
  178. package/dist/members/request.js.map +1 -1
  179. package/dist/members/types.js +3 -4
  180. package/dist/members/types.js.map +1 -1
  181. package/dist/{types/members → members}/util.d.ts +1 -1
  182. package/dist/members/util.js +3 -4
  183. package/dist/members/util.js.map +1 -1
  184. package/dist/metrics/constants.js +1 -2
  185. package/dist/metrics/constants.js.map +1 -1
  186. package/dist/metrics/index.js +3 -2
  187. package/dist/metrics/index.js.map +1 -1
  188. package/dist/{types/multistream → multistream}/mediaRequestManager.d.ts +1 -2
  189. package/dist/multistream/mediaRequestManager.js +9 -11
  190. package/dist/multistream/mediaRequestManager.js.map +1 -1
  191. package/dist/multistream/receiveSlot.js +3 -5
  192. package/dist/multistream/receiveSlot.js.map +1 -1
  193. package/dist/multistream/receiveSlotManager.js +7 -9
  194. package/dist/multistream/receiveSlotManager.js.map +1 -1
  195. package/dist/multistream/remoteMedia.js +3 -5
  196. package/dist/multistream/remoteMedia.js.map +1 -1
  197. package/dist/{types/multistream → multistream}/remoteMediaGroup.d.ts +1 -1
  198. package/dist/multistream/remoteMediaGroup.js +7 -6
  199. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  200. package/dist/{types/multistream → multistream}/remoteMediaManager.d.ts +1 -2
  201. package/dist/multistream/remoteMediaManager.js +32 -29
  202. package/dist/multistream/remoteMediaManager.js.map +1 -1
  203. package/dist/{types/multistream → multistream}/sendSlotManager.d.ts +1 -2
  204. package/dist/multistream/sendSlotManager.js +9 -6
  205. package/dist/multistream/sendSlotManager.js.map +1 -1
  206. package/dist/networkQualityMonitor/index.js +1 -2
  207. package/dist/networkQualityMonitor/index.js.map +1 -1
  208. package/dist/personal-meeting-room/index.js +2 -3
  209. package/dist/personal-meeting-room/index.js.map +1 -1
  210. package/dist/personal-meeting-room/request.js +2 -3
  211. package/dist/personal-meeting-room/request.js.map +1 -1
  212. package/dist/personal-meeting-room/util.js +1 -2
  213. package/dist/personal-meeting-room/util.js.map +1 -1
  214. package/dist/{types/reachability → reachability}/clusterReachability.d.ts +1 -0
  215. package/dist/reachability/clusterReachability.js +35 -20
  216. package/dist/reachability/clusterReachability.js.map +1 -1
  217. package/dist/{types/reachability → reachability}/index.d.ts +4 -0
  218. package/dist/reachability/index.js +41 -12
  219. package/dist/reachability/index.js.map +1 -1
  220. package/dist/reachability/request.js +25 -20
  221. package/dist/reachability/request.js.map +1 -1
  222. package/dist/{types/reachability → reachability}/util.d.ts +7 -0
  223. package/dist/reachability/util.js +19 -0
  224. package/dist/reachability/util.js.map +1 -1
  225. package/dist/reactions/constants.js +1 -2
  226. package/dist/reactions/constants.js.map +1 -1
  227. package/dist/reactions/reactions.js +2 -4
  228. package/dist/reactions/reactions.js.map +1 -1
  229. package/dist/reactions/reactions.type.js +6 -8
  230. package/dist/reactions/reactions.type.js.map +1 -1
  231. package/dist/reconnection-manager/index.js +18 -11
  232. package/dist/reconnection-manager/index.js.map +1 -1
  233. package/dist/recording-controller/enums.js +4 -5
  234. package/dist/recording-controller/enums.js.map +1 -1
  235. package/dist/recording-controller/index.js +43 -51
  236. package/dist/recording-controller/index.js.map +1 -1
  237. package/dist/recording-controller/util.js +1 -2
  238. package/dist/recording-controller/util.js.map +1 -1
  239. package/dist/{types/roap → roap}/index.d.ts +10 -2
  240. package/dist/roap/index.js +17 -3
  241. package/dist/roap/index.js.map +1 -1
  242. package/dist/roap/request.js +10 -10
  243. package/dist/roap/request.js.map +1 -1
  244. package/dist/{types/roap → roap}/turnDiscovery.d.ts +64 -17
  245. package/dist/roap/turnDiscovery.js +316 -134
  246. package/dist/roap/turnDiscovery.js.map +1 -1
  247. package/dist/rtcMetrics/constants.js +1 -2
  248. package/dist/rtcMetrics/constants.js.map +1 -1
  249. package/dist/rtcMetrics/index.js +4 -6
  250. package/dist/rtcMetrics/index.js.map +1 -1
  251. package/dist/statsAnalyzer/global.js +1 -2
  252. package/dist/statsAnalyzer/global.js.map +1 -1
  253. package/dist/statsAnalyzer/index.js +123 -96
  254. package/dist/statsAnalyzer/index.js.map +1 -1
  255. package/dist/statsAnalyzer/mqaUtil.js +24 -31
  256. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  257. package/dist/transcription/index.js +1 -2
  258. package/dist/transcription/index.js.map +1 -1
  259. package/dist/webinar/collection.js +1 -2
  260. package/dist/webinar/collection.js.map +1 -1
  261. package/dist/webinar/index.js +2 -3
  262. package/dist/webinar/index.js.map +1 -1
  263. package/jest.config.js +3 -0
  264. package/package.json +44 -25
  265. package/process +1 -0
  266. package/src/config.ts +3 -4
  267. package/src/constants.ts +13 -4
  268. package/src/interpretation/index.ts +2 -2
  269. package/src/locus-info/mediaSharesUtils.ts +16 -0
  270. package/src/locus-info/selfUtils.ts +5 -0
  271. package/src/media/MediaConnectionAwaiter.ts +174 -0
  272. package/src/media/index.ts +3 -1
  273. package/src/media/properties.ts +6 -31
  274. package/src/meeting/index.ts +526 -227
  275. package/src/meeting/request.ts +18 -2
  276. package/src/meeting/util.ts +6 -1
  277. package/src/meeting/voicea-meeting.ts +122 -0
  278. package/src/meeting-info/meeting-info-v2.ts +5 -11
  279. package/src/meeting-info/util.ts +12 -9
  280. package/src/meeting-info/utilv2.ts +26 -15
  281. package/src/meetings/index.ts +18 -0
  282. package/src/member/index.ts +0 -1
  283. package/src/multistream/mediaRequestManager.ts +1 -1
  284. package/src/multistream/remoteMediaGroup.ts +1 -1
  285. package/src/multistream/remoteMediaManager.ts +1 -2
  286. package/src/multistream/sendSlotManager.ts +1 -2
  287. package/src/reachability/clusterReachability.ts +20 -5
  288. package/src/reachability/index.ts +24 -1
  289. package/src/reachability/request.ts +15 -11
  290. package/src/reachability/util.ts +21 -0
  291. package/src/reconnection-manager/index.ts +1 -1
  292. package/src/roap/index.ts +25 -3
  293. package/src/roap/request.ts +2 -2
  294. package/src/roap/turnDiscovery.ts +244 -78
  295. package/src/statsAnalyzer/index.ts +63 -27
  296. package/test/integration/spec/journey.js +2 -2
  297. package/test/unit/spec/breakouts/breakout.ts +2 -1
  298. package/test/unit/spec/breakouts/index.ts +7 -4
  299. package/test/unit/spec/interpretation/index.ts +4 -1
  300. package/test/unit/spec/locus-info/index.js +27 -18
  301. package/test/unit/spec/locus-info/mediaSharesUtils.ts +9 -0
  302. package/test/unit/spec/locus-info/selfUtils.js +41 -11
  303. package/test/unit/spec/media/MediaConnectionAwaiter.ts +344 -0
  304. package/test/unit/spec/media/index.ts +94 -78
  305. package/test/unit/spec/media/properties.ts +16 -70
  306. package/test/unit/spec/meeting/index.js +757 -141
  307. package/test/unit/spec/meeting/request.js +21 -0
  308. package/test/unit/spec/meeting/utils.js +58 -11
  309. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  310. package/test/unit/spec/meeting-info/meetinginfov2.js +20 -15
  311. package/test/unit/spec/meeting-info/utilv2.js +6 -0
  312. package/test/unit/spec/meetings/index.js +101 -13
  313. package/test/unit/spec/metrics/index.js +1 -2
  314. package/test/unit/spec/multistream/mediaRequestManager.ts +1 -0
  315. package/test/unit/spec/multistream/remoteMediaGroup.ts +0 -1
  316. package/test/unit/spec/multistream/remoteMediaManager.ts +0 -1
  317. package/test/unit/spec/reachability/clusterReachability.ts +86 -22
  318. package/test/unit/spec/reachability/index.ts +197 -60
  319. package/test/unit/spec/reachability/request.js +15 -7
  320. package/test/unit/spec/reachability/util.ts +32 -2
  321. package/test/unit/spec/reconnection-manager/index.js +28 -0
  322. package/test/unit/spec/recording-controller/index.js +0 -1
  323. package/test/unit/spec/roap/index.ts +61 -6
  324. package/test/unit/spec/roap/turnDiscovery.ts +299 -17
  325. package/test/unit/spec/stats-analyzer/index.js +179 -0
  326. /package/dist/{types/annotation → annotation}/annotation.types.d.ts +0 -0
  327. /package/dist/{types/annotation → annotation}/constants.d.ts +0 -0
  328. /package/dist/{types/annotation → annotation}/index.d.ts +0 -0
  329. /package/dist/{types/breakouts → breakouts}/breakout.d.ts +0 -0
  330. /package/dist/{types/breakouts → breakouts}/collection.d.ts +0 -0
  331. /package/dist/{types/breakouts → breakouts}/edit-lock-error.d.ts +0 -0
  332. /package/dist/{types/breakouts → breakouts}/events.d.ts +0 -0
  333. /package/dist/{types/breakouts → breakouts}/index.d.ts +0 -0
  334. /package/dist/{types/breakouts → breakouts}/request.d.ts +0 -0
  335. /package/dist/{types/breakouts → breakouts}/utils.d.ts +0 -0
  336. /package/dist/{types/common → common}/browser-detection.d.ts +0 -0
  337. /package/dist/{types/common → common}/collection.d.ts +0 -0
  338. /package/dist/{types/common → common}/config.d.ts +0 -0
  339. /package/dist/{types/common → common}/errors/captcha-error.d.ts +0 -0
  340. /package/dist/{types/common → common}/errors/intent-to-join.d.ts +0 -0
  341. /package/dist/{types/common → common}/errors/join-meeting.d.ts +0 -0
  342. /package/dist/{types/common → common}/errors/media.d.ts +0 -0
  343. /package/dist/{types/common → common}/errors/no-meeting-info.d.ts +0 -0
  344. /package/dist/{types/common → common}/errors/parameter.d.ts +0 -0
  345. /package/dist/{types/common → common}/errors/password-error.d.ts +0 -0
  346. /package/dist/{types/common → common}/errors/permission.d.ts +0 -0
  347. /package/dist/{types/common → common}/errors/reclaim-host-role-errors.d.ts +0 -0
  348. /package/dist/{types/common → common}/errors/reconnection-in-progress.d.ts +0 -0
  349. /package/dist/{types/common → common}/errors/reconnection.d.ts +0 -0
  350. /package/dist/{types/common → common}/errors/stats.d.ts +0 -0
  351. /package/dist/{types/common → common}/errors/webex-errors.d.ts +0 -0
  352. /package/dist/{types/common → common}/errors/webex-meetings-error.d.ts +0 -0
  353. /package/dist/{types/common → common}/events/events-scope.d.ts +0 -0
  354. /package/dist/{types/common → common}/events/events.d.ts +0 -0
  355. /package/dist/{types/common → common}/events/trigger-proxy.d.ts +0 -0
  356. /package/dist/{types/common → common}/events/util.d.ts +0 -0
  357. /package/dist/{types/common → common}/logs/logger-config.d.ts +0 -0
  358. /package/dist/{types/common → common}/logs/logger-proxy.d.ts +0 -0
  359. /package/dist/{types/common → common}/queue.d.ts +0 -0
  360. /package/dist/{types/controls-options-manager → controls-options-manager}/constants.d.ts +0 -0
  361. /package/dist/{types/controls-options-manager → controls-options-manager}/enums.d.ts +0 -0
  362. /package/dist/{types/controls-options-manager → controls-options-manager}/index.d.ts +0 -0
  363. /package/dist/{types/controls-options-manager → controls-options-manager}/types.d.ts +0 -0
  364. /package/dist/{types/controls-options-manager → controls-options-manager}/util.d.ts +0 -0
  365. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  366. /package/dist/{types/interceptors → interceptors}/index.d.ts +0 -0
  367. /package/dist/{types/interceptors → interceptors}/locusRetry.d.ts +0 -0
  368. /package/dist/{types/interpretation → interpretation}/collection.d.ts +0 -0
  369. /package/dist/{types/interpretation → interpretation}/index.d.ts +0 -0
  370. /package/dist/{types/interpretation → interpretation}/siLanguage.d.ts +0 -0
  371. /package/dist/{types/locus-info → locus-info}/controlsUtils.d.ts +0 -0
  372. /package/dist/{types/locus-info → locus-info}/embeddedAppsUtils.d.ts +0 -0
  373. /package/dist/{types/locus-info → locus-info}/fullState.d.ts +0 -0
  374. /package/dist/{types/locus-info → locus-info}/hostUtils.d.ts +0 -0
  375. /package/dist/{types/locus-info → locus-info}/index.d.ts +0 -0
  376. /package/dist/{types/locus-info → locus-info}/infoUtils.d.ts +0 -0
  377. /package/dist/{types/locus-info → locus-info}/mediaSharesUtils.d.ts +0 -0
  378. /package/dist/{types/locus-info → locus-info}/parser.d.ts +0 -0
  379. /package/dist/{types/locus-info → locus-info}/selfUtils.d.ts +0 -0
  380. /package/dist/{types/media → media}/index.d.ts +0 -0
  381. /package/dist/{types/media → media}/properties.d.ts +0 -0
  382. /package/dist/{types/media → media}/util.d.ts +0 -0
  383. /package/dist/{types/mediaQualityMetrics → mediaQualityMetrics}/config.d.ts +0 -0
  384. /package/dist/{types/meeting → meeting}/in-meeting-actions.d.ts +0 -0
  385. /package/dist/{types/meeting → meeting}/locusMediaRequest.d.ts +0 -0
  386. /package/dist/{types/meeting → meeting}/muteState.d.ts +0 -0
  387. /package/dist/{types/meeting → meeting}/request.type.d.ts +0 -0
  388. /package/dist/{types/meeting → meeting}/state.d.ts +0 -0
  389. /package/dist/{types/meeting-info → meeting-info}/collection.d.ts +0 -0
  390. /package/dist/{types/meeting-info → meeting-info}/index.d.ts +0 -0
  391. /package/dist/{types/meeting-info → meeting-info}/meeting-info-v2.d.ts +0 -0
  392. /package/dist/{types/meeting-info → meeting-info}/request.d.ts +0 -0
  393. /package/dist/{types/meeting-info → meeting-info}/util.d.ts +0 -0
  394. /package/dist/{types/meeting-info → meeting-info}/utilv2.d.ts +0 -0
  395. /package/dist/{types/meetings → meetings}/collection.d.ts +0 -0
  396. /package/dist/{types/meetings → meetings}/meetings.types.d.ts +0 -0
  397. /package/dist/{types/meetings → meetings}/request.d.ts +0 -0
  398. /package/dist/{types/meetings → meetings}/util.d.ts +0 -0
  399. /package/dist/{types/member → member}/index.d.ts +0 -0
  400. /package/dist/{types/member → member}/types.d.ts +0 -0
  401. /package/dist/{types/member → member}/util.d.ts +0 -0
  402. /package/dist/{types/members → members}/collection.d.ts +0 -0
  403. /package/dist/{types/members → members}/index.d.ts +0 -0
  404. /package/dist/{types/members → members}/request.d.ts +0 -0
  405. /package/dist/{types/members → members}/types.d.ts +0 -0
  406. /package/dist/{types/metrics → metrics}/constants.d.ts +0 -0
  407. /package/dist/{types/metrics → metrics}/index.d.ts +0 -0
  408. /package/dist/{types/multistream → multistream}/receiveSlot.d.ts +0 -0
  409. /package/dist/{types/multistream → multistream}/receiveSlotManager.d.ts +0 -0
  410. /package/dist/{types/multistream → multistream}/remoteMedia.d.ts +0 -0
  411. /package/dist/{types/networkQualityMonitor → networkQualityMonitor}/index.d.ts +0 -0
  412. /package/dist/{types/personal-meeting-room → personal-meeting-room}/index.d.ts +0 -0
  413. /package/dist/{types/personal-meeting-room → personal-meeting-room}/request.d.ts +0 -0
  414. /package/dist/{types/personal-meeting-room → personal-meeting-room}/util.d.ts +0 -0
  415. /package/dist/{types/reachability → reachability}/request.d.ts +0 -0
  416. /package/dist/{types/reactions → reactions}/constants.d.ts +0 -0
  417. /package/dist/{types/reactions → reactions}/reactions.d.ts +0 -0
  418. /package/dist/{types/reactions → reactions}/reactions.type.d.ts +0 -0
  419. /package/dist/{types/reconnection-manager → reconnection-manager}/index.d.ts +0 -0
  420. /package/dist/{types/recording-controller → recording-controller}/enums.d.ts +0 -0
  421. /package/dist/{types/recording-controller → recording-controller}/index.d.ts +0 -0
  422. /package/dist/{types/recording-controller → recording-controller}/util.d.ts +0 -0
  423. /package/dist/{types/roap → roap}/request.d.ts +0 -0
  424. /package/dist/{types/rtcMetrics → rtcMetrics}/constants.d.ts +0 -0
  425. /package/dist/{types/rtcMetrics → rtcMetrics}/index.d.ts +0 -0
  426. /package/dist/{types/statsAnalyzer → statsAnalyzer}/global.d.ts +0 -0
  427. /package/dist/{types/statsAnalyzer → statsAnalyzer}/index.d.ts +0 -0
  428. /package/dist/{types/statsAnalyzer → statsAnalyzer}/mqaUtil.d.ts +0 -0
  429. /package/dist/{types/transcription → transcription}/index.d.ts +0 -0
  430. /package/dist/{types/webinar → webinar}/collection.d.ts +0 -0
  431. /package/dist/{types/webinar → webinar}/index.d.ts +0 -0
@@ -28,14 +28,20 @@ var TURN_DISCOVERY_TIMEOUT = 10; // in seconds
28
28
  // so we can do it with seq=0 or not do it at all and then we create the RoapMediaConnection
29
29
  // and do the SDP offer with seq=1
30
30
  var TURN_DISCOVERY_SEQ = 0;
31
+ var TurnDiscoverySkipReason = {
32
+ missingHttpResponse: 'missing http response',
33
+ // when we asked for the TURN discovery response to be in the http response, but it wasn't there
34
+ reachability: 'reachability',
35
+ // when udp reachability to public clusters is ok, so we don't need TURN (this doens't apply when joinWithMedia() is used)
36
+ alreadyInProgress: 'already in progress' // when we try to start TURN discovery while it's already in progress
37
+ };
31
38
 
39
+ // used when TURN discovery is not skipped
32
40
  /**
33
41
  * Handles the process of finding out TURN server information from Linus.
34
42
  * This is achieved by sending a TURN_DISCOVERY_REQUEST.
35
43
  */
36
- var TurnDiscovery = /*#__PURE__*/function () {
37
- // used for waiting for the response
38
-
44
+ var TurnDiscovery = exports.default = /*#__PURE__*/function () {
39
45
  /**
40
46
  * Constructor
41
47
  *
@@ -45,6 +51,7 @@ var TurnDiscovery = /*#__PURE__*/function () {
45
51
  (0, _classCallCheck2.default)(this, TurnDiscovery);
46
52
  (0, _defineProperty2.default)(this, "roapRequest", void 0);
47
53
  (0, _defineProperty2.default)(this, "defer", void 0);
54
+ // used for waiting for the response
48
55
  (0, _defineProperty2.default)(this, "turnInfo", void 0);
49
56
  (0, _defineProperty2.default)(this, "responseTimer", void 0);
50
57
  this.roapRequest = roapRequest;
@@ -79,7 +86,8 @@ var TurnDiscovery = /*#__PURE__*/function () {
79
86
  }
80
87
 
81
88
  /**
82
- * handles TURN_DISCOVERY_RESPONSE roap message
89
+ * Handles TURN_DISCOVERY_RESPONSE roap message. Use it if the roap message comes over the websocket,
90
+ * otherwise use handleTurnDiscoveryHttpResponse() if it comes in the http response.
83
91
  *
84
92
  * @param {Object} roapMessage
85
93
  * @param {string} from string to indicate how we got the response (used just for logging)
@@ -133,32 +141,235 @@ var TurnDiscovery = /*#__PURE__*/function () {
133
141
  }
134
142
 
135
143
  /**
136
- * handles TURN_DISCOVERY_RESPONSE roap message that came in http response
144
+ * Generates TURN_DISCOVERY_REQUEST roap message. When this method returns a roapMessage, it means that a TURN discovery process has started.
145
+ * It needs be ended by calling handleTurnDiscoveryHttpResponse() once you get a response from the backend. If you don't get any response
146
+ * or want to abort, you need to call abort().
137
147
  *
138
- * @param {Object} roapMessage
139
- * @returns {Promise}
140
- * @memberof Roap
148
+ * @param {Meeting} meeting
149
+ * @param {boolean} isForced
150
+ * @returns {Object}
141
151
  */
142
152
  }, {
143
- key: "handleTurnDiscoveryResponseInHttpResponse",
144
- value: function () {
145
- var _handleTurnDiscoveryResponseInHttpResponse = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(roapMessage) {
153
+ key: "generateTurnDiscoveryRequestMessage",
154
+ value: (function () {
155
+ var _generateTurnDiscoveryRequestMessage = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(meeting, isForced) {
156
+ var turnDiscoverySkippedReason, roapMessage;
146
157
  return _regenerator.default.wrap(function _callee$(_context) {
147
158
  while (1) switch (_context.prev = _context.next) {
148
159
  case 0:
149
- this.handleTurnDiscoveryResponse(roapMessage, 'in http response');
150
- return _context.abrupt("return", this.defer.promise);
151
- case 2:
160
+ if (!this.defer) {
161
+ _context.next = 3;
162
+ break;
163
+ }
164
+ _loggerProxy.default.logger.warn('Roap:turnDiscovery#generateTurnDiscoveryRequestMessage --> TURN discovery already in progress');
165
+ return _context.abrupt("return", {
166
+ roapMessage: undefined,
167
+ turnDiscoverySkippedReason: TurnDiscoverySkipReason.alreadyInProgress
168
+ });
169
+ case 3:
170
+ if (isForced) {
171
+ _context.next = 7;
172
+ break;
173
+ }
174
+ _context.next = 6;
175
+ return this.getSkipReason(meeting);
176
+ case 6:
177
+ turnDiscoverySkippedReason = _context.sent;
178
+ case 7:
179
+ if (!turnDiscoverySkippedReason) {
180
+ _context.next = 9;
181
+ break;
182
+ }
183
+ return _context.abrupt("return", {
184
+ roapMessage: undefined,
185
+ turnDiscoverySkippedReason: turnDiscoverySkippedReason
186
+ });
187
+ case 9:
188
+ this.defer = new _common.Defer();
189
+ roapMessage = {
190
+ messageType: _constants2.ROAP.ROAP_TYPES.TURN_DISCOVERY_REQUEST,
191
+ version: _constants2.ROAP.ROAP_VERSION,
192
+ seq: TURN_DISCOVERY_SEQ,
193
+ headers: ['includeAnswerInHttpResponse', 'noOkInTransaction']
194
+ };
195
+ _loggerProxy.default.logger.info('Roap:turnDiscovery#generateTurnDiscoveryRequestMessage --> generated TURN_DISCOVERY_REQUEST message');
196
+ return _context.abrupt("return", {
197
+ roapMessage: roapMessage,
198
+ turnDiscoverySkippedReason: undefined
199
+ });
200
+ case 13:
152
201
  case "end":
153
202
  return _context.stop();
154
203
  }
155
204
  }, _callee, this);
156
205
  }));
157
- function handleTurnDiscoveryResponseInHttpResponse(_x) {
158
- return _handleTurnDiscoveryResponseInHttpResponse.apply(this, arguments);
206
+ function generateTurnDiscoveryRequestMessage(_x, _x2) {
207
+ return _generateTurnDiscoveryRequestMessage.apply(this, arguments);
159
208
  }
160
- return handleTurnDiscoveryResponseInHttpResponse;
209
+ return generateTurnDiscoveryRequestMessage;
161
210
  }()
211
+ /**
212
+ * Handles any errors that occur during TURN discovery without re-throwing them.
213
+ *
214
+ * @param {Meeting} meeting
215
+ * @param {Error} error
216
+ * @returns {TurnDiscoveryResult}
217
+ */
218
+ )
219
+ }, {
220
+ key: "handleTurnDiscoveryFailure",
221
+ value: function handleTurnDiscoveryFailure(meeting, error) {
222
+ // we catch any errors and resolve with no turn information so that the normal call join flow can continue without TURN
223
+ _loggerProxy.default.logger.info("Roap:turnDiscovery#doTurnDiscovery --> TURN discovery failed, continuing without TURN: ".concat(error));
224
+ _metrics.default.sendBehavioralMetric(_constants.default.TURN_DISCOVERY_FAILURE, {
225
+ correlation_id: meeting.correlationId,
226
+ locus_id: meeting.locusUrl.split('/').pop(),
227
+ reason: error.message,
228
+ stack: error.stack
229
+ });
230
+ return {
231
+ turnServerInfo: undefined,
232
+ turnDiscoverySkippedReason: "failure: ".concat(error.message)
233
+ };
234
+ }
235
+
236
+ /**
237
+ * Handles TURN_DISCOVERY_RESPONSE roap message that came in http response. If the response is not valid,
238
+ * it returns an object with turnServerInfo set to undefined. In that case you need to call abort()
239
+ * to end the TURN discovery process.
240
+ *
241
+ * @param {Meeting} meeting
242
+ * @param {Object|undefined} httpResponse can be undefined to indicate that we didn't get the response
243
+ * @returns {Promise<TurnDiscoveryResult>}
244
+ * @memberof Roap
245
+ */
246
+ }, {
247
+ key: "handleTurnDiscoveryHttpResponse",
248
+ value: (function () {
249
+ var _handleTurnDiscoveryHttpResponse = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(meeting, httpResponse) {
250
+ var roapMessage, _yield$this$defer$pro, isOkRequired;
251
+ return _regenerator.default.wrap(function _callee2$(_context2) {
252
+ while (1) switch (_context2.prev = _context2.next) {
253
+ case 0:
254
+ if (this.defer) {
255
+ _context2.next = 3;
256
+ break;
257
+ }
258
+ _loggerProxy.default.logger.warn('Roap:turnDiscovery#handleTurnDiscoveryHttpResponse --> unexpected http response, TURN discovery is not in progress');
259
+ throw new Error('handleTurnDiscoveryHttpResponse() called before generateTurnDiscoveryRequestMessage()');
260
+ case 3:
261
+ if (!(httpResponse === undefined)) {
262
+ _context2.next = 5;
263
+ break;
264
+ }
265
+ return _context2.abrupt("return", {
266
+ turnServerInfo: undefined,
267
+ turnDiscoverySkippedReason: TurnDiscoverySkipReason.missingHttpResponse
268
+ });
269
+ case 5:
270
+ _context2.prev = 5;
271
+ roapMessage = this.parseHttpTurnDiscoveryResponse(meeting, httpResponse);
272
+ if (roapMessage) {
273
+ _context2.next = 9;
274
+ break;
275
+ }
276
+ return _context2.abrupt("return", {
277
+ turnServerInfo: undefined,
278
+ turnDiscoverySkippedReason: TurnDiscoverySkipReason.missingHttpResponse
279
+ });
280
+ case 9:
281
+ this.handleTurnDiscoveryResponse(roapMessage, 'in http response');
282
+ _context2.next = 12;
283
+ return this.defer.promise;
284
+ case 12:
285
+ _yield$this$defer$pro = _context2.sent;
286
+ isOkRequired = _yield$this$defer$pro.isOkRequired;
287
+ if (!isOkRequired) {
288
+ _context2.next = 17;
289
+ break;
290
+ }
291
+ _context2.next = 17;
292
+ return this.sendRoapOK(meeting);
293
+ case 17:
294
+ this.defer = undefined;
295
+ _loggerProxy.default.logger.info('Roap:turnDiscovery#doTurnDiscovery --> TURN discovery completed');
296
+ return _context2.abrupt("return", {
297
+ turnServerInfo: this.turnInfo,
298
+ turnDiscoverySkippedReason: undefined
299
+ });
300
+ case 22:
301
+ _context2.prev = 22;
302
+ _context2.t0 = _context2["catch"](5);
303
+ this.abort();
304
+ return _context2.abrupt("return", this.handleTurnDiscoveryFailure(meeting, _context2.t0));
305
+ case 26:
306
+ case "end":
307
+ return _context2.stop();
308
+ }
309
+ }, _callee2, this, [[5, 22]]);
310
+ }));
311
+ function handleTurnDiscoveryHttpResponse(_x3, _x4) {
312
+ return _handleTurnDiscoveryHttpResponse.apply(this, arguments);
313
+ }
314
+ return handleTurnDiscoveryHttpResponse;
315
+ }()
316
+ /**
317
+ * Aborts current TURN discovery. This method needs to be called if you called generateTurnDiscoveryRequestMessage(),
318
+ * but then never got any response from the server.
319
+ * @returns {void}
320
+ */
321
+ )
322
+ }, {
323
+ key: "abort",
324
+ value: function abort() {
325
+ if (this.defer) {
326
+ this.defer.reject(new Error('TURN discovery aborted'));
327
+ this.defer = undefined;
328
+ }
329
+ }
330
+
331
+ /**
332
+ * Parses the TURN_DISCOVERY_RESPONSE roap message out of the http response
333
+ * and returns it.
334
+ *
335
+ * @param {Meeting} meeting
336
+ * @param {any} httpResponse
337
+ * @returns {any}
338
+ */
339
+ }, {
340
+ key: "parseHttpTurnDiscoveryResponse",
341
+ value: function parseHttpTurnDiscoveryResponse(meeting, httpResponse) {
342
+ var _httpResponse$mediaCo, _httpResponse$mediaCo2;
343
+ var turnDiscoveryResponse;
344
+ if ((_httpResponse$mediaCo = httpResponse.mediaConnections) !== null && _httpResponse$mediaCo !== void 0 && (_httpResponse$mediaCo2 = _httpResponse$mediaCo[0]) !== null && _httpResponse$mediaCo2 !== void 0 && _httpResponse$mediaCo2.remoteSdp) {
345
+ var remoteSdp = JSON.parse(httpResponse.mediaConnections[0].remoteSdp);
346
+ if (remoteSdp.roapMessage) {
347
+ // yes, it's misleading that remoteSdp actually contains a TURN discovery response, but that's how the backend works...
348
+ var _remoteSdp$roapMessag = remoteSdp.roapMessage,
349
+ seq = _remoteSdp$roapMessag.seq,
350
+ messageType = _remoteSdp$roapMessag.messageType,
351
+ errorType = _remoteSdp$roapMessag.errorType,
352
+ errorCause = _remoteSdp$roapMessag.errorCause,
353
+ headers = _remoteSdp$roapMessag.headers;
354
+ turnDiscoveryResponse = {
355
+ seq: seq,
356
+ messageType: messageType,
357
+ errorType: errorType,
358
+ errorCause: errorCause,
359
+ headers: headers
360
+ };
361
+ }
362
+ }
363
+ if (!turnDiscoveryResponse) {
364
+ _metrics.default.sendBehavioralMetric(_constants.default.ROAP_HTTP_RESPONSE_MISSING, {
365
+ correlationId: meeting.correlationId,
366
+ messageType: 'TURN_DISCOVERY_RESPONSE',
367
+ isMultistream: meeting.isMultistream
368
+ });
369
+ }
370
+ return turnDiscoveryResponse;
371
+ }
372
+
162
373
  /**
163
374
  * sends the TURN_DISCOVERY_REQUEST roap request
164
375
  *
@@ -171,9 +382,13 @@ var TurnDiscovery = /*#__PURE__*/function () {
171
382
  }, {
172
383
  key: "sendRoapTurnDiscoveryRequest",
173
384
  value: function sendRoapTurnDiscoveryRequest(meeting, isReconnecting) {
385
+ var _this2 = this;
174
386
  if (this.defer) {
175
387
  _loggerProxy.default.logger.warn('Roap:turnDiscovery#sendRoapTurnDiscoveryRequest --> already in progress');
176
- return _promise.default.resolve();
388
+ return _promise.default.resolve({
389
+ turnServerInfo: undefined,
390
+ turnDiscoverySkippedReason: TurnDiscoverySkipReason.alreadyInProgress
391
+ });
177
392
  }
178
393
  this.defer = new _common.Defer();
179
394
  var roapMessage = {
@@ -193,41 +408,27 @@ var TurnDiscovery = /*#__PURE__*/function () {
193
408
  locusMediaRequest: meeting.locusMediaRequest,
194
409
  // @ts-ignore - because of meeting.webex
195
410
  ipVersion: _util.default.getIpVersion(meeting.webex)
196
- }).then(function (response) {
197
- var mediaConnections = response.mediaConnections;
198
- var turnDiscoveryResponse;
199
- if (mediaConnections) {
200
- var _mediaConnections$;
201
- meeting.updateMediaConnections(mediaConnections);
202
- if ((_mediaConnections$ = mediaConnections[0]) !== null && _mediaConnections$ !== void 0 && _mediaConnections$.remoteSdp) {
203
- var remoteSdp = JSON.parse(mediaConnections[0].remoteSdp);
204
- if (remoteSdp.roapMessage) {
205
- // yes, it's misleading that remoteSdp actually contains a TURN discovery response, but that's how the backend works...
206
- var _remoteSdp$roapMessag = remoteSdp.roapMessage,
207
- seq = _remoteSdp$roapMessag.seq,
208
- messageType = _remoteSdp$roapMessag.messageType,
209
- errorType = _remoteSdp$roapMessag.errorType,
210
- errorCause = _remoteSdp$roapMessag.errorCause,
211
- headers = _remoteSdp$roapMessag.headers;
212
- turnDiscoveryResponse = {
213
- seq: seq,
214
- messageType: messageType,
215
- errorType: errorType,
216
- errorCause: errorCause,
217
- headers: headers
218
- };
411
+ }).then( /*#__PURE__*/function () {
412
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(response) {
413
+ var mediaConnections;
414
+ return _regenerator.default.wrap(function _callee3$(_context3) {
415
+ while (1) switch (_context3.prev = _context3.next) {
416
+ case 0:
417
+ mediaConnections = response.mediaConnections;
418
+ if (mediaConnections) {
419
+ meeting.updateMediaConnections(mediaConnections);
420
+ }
421
+ return _context3.abrupt("return", _this2.handleTurnDiscoveryHttpResponse(meeting, response));
422
+ case 3:
423
+ case "end":
424
+ return _context3.stop();
219
425
  }
220
- }
221
- }
222
- if (!turnDiscoveryResponse) {
223
- _metrics.default.sendBehavioralMetric(_constants.default.ROAP_HTTP_RESPONSE_MISSING, {
224
- correlationId: meeting.correlationId,
225
- messageType: 'TURN_DISCOVERY_RESPONSE',
226
- isMultistream: meeting.isMultistream
227
- });
228
- }
229
- return turnDiscoveryResponse;
230
- });
426
+ }, _callee3);
427
+ }));
428
+ return function (_x5) {
429
+ return _ref.apply(this, arguments);
430
+ };
431
+ }());
231
432
  }
232
433
 
233
434
  /**
@@ -240,7 +441,11 @@ var TurnDiscovery = /*#__PURE__*/function () {
240
441
  }, {
241
442
  key: "sendRoapOK",
242
443
  value: function sendRoapOK(meeting) {
243
- _loggerProxy.default.logger.info('Roap:turnDiscovery#sendRoapOK --> sending OK');
444
+ _loggerProxy.default.logger.info('Roap:turnDiscovery#sendRoapOK --> TURN discovery response requires OK, sending it...');
445
+ _metrics.default.sendBehavioralMetric(_constants.default.TURN_DISCOVERY_REQUIRES_OK, {
446
+ correlation_id: meeting.correlationId,
447
+ locus_id: meeting.locusUrl.split('/').pop()
448
+ });
244
449
  return this.roapRequest.sendRoap({
245
450
  roapMessage: {
246
451
  messageType: _constants2.ROAP.ROAP_TYPES.OK,
@@ -264,31 +469,31 @@ var TurnDiscovery = /*#__PURE__*/function () {
264
469
  */
265
470
  }, {
266
471
  key: "getSkipReason",
267
- value: function () {
268
- var _getSkipReason = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(meeting) {
472
+ value: (function () {
473
+ var _getSkipReason = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(meeting) {
269
474
  var isAnyPublicClusterReachable;
270
- return _regenerator.default.wrap(function _callee2$(_context2) {
271
- while (1) switch (_context2.prev = _context2.next) {
475
+ return _regenerator.default.wrap(function _callee4$(_context4) {
476
+ while (1) switch (_context4.prev = _context4.next) {
272
477
  case 0:
273
- _context2.next = 2;
478
+ _context4.next = 2;
274
479
  return meeting.webex.meetings.reachability.isAnyPublicClusterReachable();
275
480
  case 2:
276
- isAnyPublicClusterReachable = _context2.sent;
481
+ isAnyPublicClusterReachable = _context4.sent;
277
482
  if (!isAnyPublicClusterReachable) {
278
- _context2.next = 6;
483
+ _context4.next = 6;
279
484
  break;
280
485
  }
281
486
  _loggerProxy.default.logger.info('Roap:turnDiscovery#getSkipReason --> reachability has not failed, skipping TURN discovery');
282
- return _context2.abrupt("return", 'reachability');
487
+ return _context4.abrupt("return", TurnDiscoverySkipReason.reachability);
283
488
  case 6:
284
- return _context2.abrupt("return", '');
489
+ return _context4.abrupt("return", undefined);
285
490
  case 7:
286
491
  case "end":
287
- return _context2.stop();
492
+ return _context4.stop();
288
493
  }
289
- }, _callee2);
494
+ }, _callee4);
290
495
  }));
291
- function getSkipReason(_x2) {
496
+ function getSkipReason(_x6) {
292
497
  return _getSkipReason.apply(this, arguments);
293
498
  }
294
499
  return getSkipReason;
@@ -299,26 +504,27 @@ var TurnDiscovery = /*#__PURE__*/function () {
299
504
  * @param {Meeting} meeting
300
505
  * @returns {Boolean} true if TURN discovery is being skipped, false if it is being done
301
506
  */
507
+ )
302
508
  }, {
303
509
  key: "isSkipped",
304
- value: function () {
305
- var _isSkipped = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(meeting) {
510
+ value: (function () {
511
+ var _isSkipped = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(meeting) {
306
512
  var skipReason;
307
- return _regenerator.default.wrap(function _callee3$(_context3) {
308
- while (1) switch (_context3.prev = _context3.next) {
513
+ return _regenerator.default.wrap(function _callee5$(_context5) {
514
+ while (1) switch (_context5.prev = _context5.next) {
309
515
  case 0:
310
- _context3.next = 2;
516
+ _context5.next = 2;
311
517
  return this.getSkipReason(meeting);
312
518
  case 2:
313
- skipReason = _context3.sent;
314
- return _context3.abrupt("return", !!skipReason);
519
+ skipReason = _context5.sent;
520
+ return _context5.abrupt("return", !!skipReason);
315
521
  case 4:
316
522
  case "end":
317
- return _context3.stop();
523
+ return _context5.stop();
318
524
  }
319
- }, _callee3, this);
525
+ }, _callee5, this);
320
526
  }));
321
- function isSkipped(_x3) {
527
+ function isSkipped(_x7) {
322
528
  return _isSkipped.apply(this, arguments);
323
529
  }
324
530
  return isSkipped;
@@ -341,102 +547,78 @@ var TurnDiscovery = /*#__PURE__*/function () {
341
547
  * @param {Boolean} [isForced]
342
548
  * @returns {Promise}
343
549
  */
550
+ )
344
551
  }, {
345
552
  key: "doTurnDiscovery",
346
- value: function () {
347
- var _doTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(meeting, isReconnecting, isForced) {
348
- var turnDiscoverySkippedReason, httpResponse, _ref, isOkRequired;
349
- return _regenerator.default.wrap(function _callee4$(_context4) {
350
- while (1) switch (_context4.prev = _context4.next) {
553
+ value: (function () {
554
+ var _doTurnDiscovery = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(meeting, isReconnecting, isForced) {
555
+ var turnDiscoverySkippedReason, turnDiscoveryResult, _yield$this$waitForTu, isOkRequired;
556
+ return _regenerator.default.wrap(function _callee6$(_context6) {
557
+ while (1) switch (_context6.prev = _context6.next) {
351
558
  case 0:
352
559
  if (isForced) {
353
- _context4.next = 4;
560
+ _context6.next = 4;
354
561
  break;
355
562
  }
356
- _context4.next = 3;
563
+ _context6.next = 3;
357
564
  return this.getSkipReason(meeting);
358
565
  case 3:
359
- turnDiscoverySkippedReason = _context4.sent;
566
+ turnDiscoverySkippedReason = _context6.sent;
360
567
  case 4:
361
568
  if (!turnDiscoverySkippedReason) {
362
- _context4.next = 6;
569
+ _context6.next = 6;
363
570
  break;
364
571
  }
365
- return _context4.abrupt("return", {
572
+ return _context6.abrupt("return", {
366
573
  turnServerInfo: undefined,
367
574
  turnDiscoverySkippedReason: turnDiscoverySkippedReason
368
575
  });
369
576
  case 6:
370
- _context4.prev = 6;
371
- _context4.next = 9;
577
+ _context6.prev = 6;
578
+ _context6.next = 9;
372
579
  return this.sendRoapTurnDiscoveryRequest(meeting, isReconnecting);
373
580
  case 9:
374
- httpResponse = _context4.sent;
375
- if (!httpResponse) {
376
- _context4.next = 16;
581
+ turnDiscoveryResult = _context6.sent;
582
+ if (!(turnDiscoveryResult.turnDiscoverySkippedReason !== TurnDiscoverySkipReason.missingHttpResponse)) {
583
+ _context6.next = 12;
377
584
  break;
378
585
  }
379
- _context4.next = 13;
380
- return this.handleTurnDiscoveryResponseInHttpResponse(httpResponse);
381
- case 13:
382
- _context4.t0 = _context4.sent;
383
- _context4.next = 19;
384
- break;
385
- case 16:
386
- _context4.next = 18;
586
+ return _context6.abrupt("return", turnDiscoveryResult);
587
+ case 12:
588
+ _context6.next = 14;
387
589
  return this.waitForTurnDiscoveryResponse();
388
- case 18:
389
- _context4.t0 = _context4.sent;
390
- case 19:
391
- _ref = _context4.t0;
392
- isOkRequired = _ref.isOkRequired;
590
+ case 14:
591
+ _yield$this$waitForTu = _context6.sent;
592
+ isOkRequired = _yield$this$waitForTu.isOkRequired;
393
593
  if (!isOkRequired) {
394
- _context4.next = 26;
594
+ _context6.next = 19;
395
595
  break;
396
596
  }
397
- _context4.next = 24;
597
+ _context6.next = 19;
398
598
  return this.sendRoapOK(meeting);
399
- case 24:
400
- _loggerProxy.default.logger.info('Roap:turnDiscovery#doTurnDiscovery --> TURN discovery response requires OK');
401
- _metrics.default.sendBehavioralMetric(_constants.default.TURN_DISCOVERY_REQUIRES_OK, {
402
- correlation_id: meeting.correlationId,
403
- locus_id: meeting.locusUrl.split('/').pop()
404
- });
405
- case 26:
599
+ case 19:
406
600
  this.defer = undefined;
407
601
  _loggerProxy.default.logger.info('Roap:turnDiscovery#doTurnDiscovery --> TURN discovery completed');
408
- return _context4.abrupt("return", {
602
+ return _context6.abrupt("return", {
409
603
  turnServerInfo: this.turnInfo,
410
604
  turnDiscoverySkippedReason: undefined
411
605
  });
412
- case 31:
413
- _context4.prev = 31;
414
- _context4.t1 = _context4["catch"](6);
415
- // we catch any errors and resolve with no turn information so that the normal call join flow can continue without TURN
416
- _loggerProxy.default.logger.info("Roap:turnDiscovery#doTurnDiscovery --> TURN discovery failed, continuing without TURN: ".concat(_context4.t1));
417
- _metrics.default.sendBehavioralMetric(_constants.default.TURN_DISCOVERY_FAILURE, {
418
- correlation_id: meeting.correlationId,
419
- locus_id: meeting.locusUrl.split('/').pop(),
420
- reason: _context4.t1.message,
421
- stack: _context4.t1.stack
422
- });
423
- return _context4.abrupt("return", {
424
- turnServerInfo: undefined,
425
- turnDiscoverySkippedReason: undefined
426
- });
427
- case 36:
606
+ case 24:
607
+ _context6.prev = 24;
608
+ _context6.t0 = _context6["catch"](6);
609
+ return _context6.abrupt("return", this.handleTurnDiscoveryFailure(meeting, _context6.t0));
610
+ case 27:
428
611
  case "end":
429
- return _context4.stop();
612
+ return _context6.stop();
430
613
  }
431
- }, _callee4, this, [[6, 31]]);
614
+ }, _callee6, this, [[6, 24]]);
432
615
  }));
433
- function doTurnDiscovery(_x4, _x5, _x6) {
616
+ function doTurnDiscovery(_x8, _x9, _x10) {
434
617
  return _doTurnDiscovery.apply(this, arguments);
435
618
  }
436
619
  return doTurnDiscovery;
437
- }()
620
+ }())
438
621
  }]);
439
622
  return TurnDiscovery;
440
623
  }();
441
- exports.default = TurnDiscovery;
442
624
  //# sourceMappingURL=turnDiscovery.js.map