@webex/plugin-meetings 3.0.0-stream-classes.4 → 3.0.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 (469) hide show
  1. package/.eslintrc.js +6 -0
  2. package/README.md +12 -0
  3. package/babel.config.js +3 -0
  4. package/dist/annotation/constants.js +12 -20
  5. package/dist/annotation/constants.js.map +1 -1
  6. package/dist/annotation/index.js +25 -10
  7. package/dist/annotation/index.js.map +1 -1
  8. package/dist/breakouts/breakout.js +2 -3
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/collection.js +1 -2
  11. package/dist/breakouts/collection.js.map +1 -1
  12. package/dist/breakouts/edit-lock-error.js +1 -2
  13. package/dist/breakouts/edit-lock-error.js.map +1 -1
  14. package/dist/breakouts/events.js +1 -2
  15. package/dist/breakouts/events.js.map +1 -1
  16. package/dist/breakouts/index.js +13 -14
  17. package/dist/breakouts/index.js.map +1 -1
  18. package/dist/breakouts/request.js +1 -2
  19. package/dist/breakouts/request.js.map +1 -1
  20. package/dist/breakouts/utils.js +3 -6
  21. package/dist/breakouts/utils.js.map +1 -1
  22. package/dist/common/browser-detection.js +2 -3
  23. package/dist/common/browser-detection.js.map +1 -1
  24. package/dist/common/collection.js +3 -4
  25. package/dist/common/collection.js.map +1 -1
  26. package/dist/common/config.js +1 -2
  27. package/dist/common/config.js.map +1 -1
  28. package/dist/common/errors/captcha-error.js +1 -2
  29. package/dist/common/errors/captcha-error.js.map +1 -1
  30. package/dist/common/errors/intent-to-join.js +1 -2
  31. package/dist/common/errors/intent-to-join.js.map +1 -1
  32. package/dist/common/errors/join-meeting.js +1 -2
  33. package/dist/common/errors/join-meeting.js.map +1 -1
  34. package/dist/common/errors/media.js +1 -2
  35. package/dist/common/errors/media.js.map +1 -1
  36. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  37. package/dist/common/errors/no-meeting-info.js +50 -0
  38. package/dist/common/errors/no-meeting-info.js.map +1 -0
  39. package/dist/common/errors/parameter.js +3 -4
  40. package/dist/common/errors/parameter.js.map +1 -1
  41. package/dist/common/errors/password-error.js +1 -2
  42. package/dist/common/errors/password-error.js.map +1 -1
  43. package/dist/common/errors/permission.js +1 -2
  44. package/dist/common/errors/permission.js.map +1 -1
  45. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  46. package/dist/common/errors/reclaim-host-role-errors.js +154 -0
  47. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  48. package/dist/common/errors/reconnection-in-progress.js +1 -2
  49. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  50. package/dist/common/errors/reconnection.js +1 -2
  51. package/dist/common/errors/reconnection.js.map +1 -1
  52. package/dist/common/errors/stats.js +1 -2
  53. package/dist/common/errors/stats.js.map +1 -1
  54. package/dist/{types/common → common}/errors/webex-errors.d.ts +13 -1
  55. package/dist/common/errors/webex-errors.js +35 -16
  56. package/dist/common/errors/webex-errors.js.map +1 -1
  57. package/dist/common/errors/webex-meetings-error.js +1 -2
  58. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  59. package/dist/common/events/events-scope.js +1 -2
  60. package/dist/common/events/events-scope.js.map +1 -1
  61. package/dist/common/events/events.js +1 -2
  62. package/dist/common/events/events.js.map +1 -1
  63. package/dist/common/events/trigger-proxy.js +1 -2
  64. package/dist/common/events/trigger-proxy.js.map +1 -1
  65. package/dist/common/events/util.js +1 -2
  66. package/dist/common/events/util.js.map +1 -1
  67. package/dist/common/logs/logger-config.js +1 -2
  68. package/dist/common/logs/logger-config.js.map +1 -1
  69. package/dist/common/logs/logger-proxy.js +1 -2
  70. package/dist/common/logs/logger-proxy.js.map +1 -1
  71. package/dist/{types/common → common}/logs/request.d.ts +3 -1
  72. package/dist/common/logs/request.js +8 -5
  73. package/dist/common/logs/request.js.map +1 -1
  74. package/dist/common/queue.js +2 -4
  75. package/dist/common/queue.js.map +1 -1
  76. package/dist/{types/config.d.ts → config.d.ts} +1 -1
  77. package/dist/config.js +3 -3
  78. package/dist/config.js.map +1 -1
  79. package/dist/{types/constants.d.ts → constants.d.ts} +72 -15
  80. package/dist/constants.js +254 -371
  81. package/dist/constants.js.map +1 -1
  82. package/dist/controls-options-manager/constants.js +3 -6
  83. package/dist/controls-options-manager/constants.js.map +1 -1
  84. package/dist/controls-options-manager/enums.js +7 -10
  85. package/dist/controls-options-manager/enums.js.map +1 -1
  86. package/dist/controls-options-manager/index.js +27 -32
  87. package/dist/controls-options-manager/index.js.map +1 -1
  88. package/dist/controls-options-manager/util.js +1 -2
  89. package/dist/controls-options-manager/util.js.map +1 -1
  90. package/dist/index.js +8 -5
  91. package/dist/index.js.map +1 -1
  92. package/dist/interceptors/index.d.ts +2 -0
  93. package/dist/interceptors/index.js +15 -0
  94. package/dist/interceptors/index.js.map +1 -0
  95. package/dist/interceptors/locusRetry.d.ts +27 -0
  96. package/dist/interceptors/locusRetry.js +94 -0
  97. package/dist/interceptors/locusRetry.js.map +1 -0
  98. package/dist/interpretation/collection.js +1 -2
  99. package/dist/interpretation/collection.js.map +1 -1
  100. package/dist/interpretation/index.js +2 -3
  101. package/dist/interpretation/index.js.map +1 -1
  102. package/dist/interpretation/siLanguage.js +2 -3
  103. package/dist/interpretation/siLanguage.js.map +1 -1
  104. package/dist/locus-info/controlsUtils.js +12 -13
  105. package/dist/locus-info/controlsUtils.js.map +1 -1
  106. package/dist/locus-info/embeddedAppsUtils.js +3 -4
  107. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  108. package/dist/locus-info/fullState.js +1 -2
  109. package/dist/locus-info/fullState.js.map +1 -1
  110. package/dist/locus-info/hostUtils.js +1 -2
  111. package/dist/locus-info/hostUtils.js.map +1 -1
  112. package/dist/{types/locus-info → locus-info}/index.d.ts +1 -1
  113. package/dist/locus-info/index.js +63 -38
  114. package/dist/locus-info/index.js.map +1 -1
  115. package/dist/locus-info/infoUtils.js +3 -4
  116. package/dist/locus-info/infoUtils.js.map +1 -1
  117. package/dist/locus-info/mediaSharesUtils.js +16 -3
  118. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  119. package/dist/{types/locus-info → locus-info}/parser.d.ts +3 -2
  120. package/dist/locus-info/parser.js +48 -31
  121. package/dist/locus-info/parser.js.map +1 -1
  122. package/dist/locus-info/selfUtils.js +7 -6
  123. package/dist/locus-info/selfUtils.js.map +1 -1
  124. package/dist/media/index.js +15 -10
  125. package/dist/media/index.js.map +1 -1
  126. package/dist/media/properties.js +16 -7
  127. package/dist/media/properties.js.map +1 -1
  128. package/dist/media/util.js +1 -2
  129. package/dist/media/util.js.map +1 -1
  130. package/dist/mediaQualityMetrics/config.d.ts +241 -0
  131. package/dist/mediaQualityMetrics/config.js +135 -339
  132. package/dist/mediaQualityMetrics/config.js.map +1 -1
  133. package/dist/{types/meeting → meeting}/in-meeting-actions.d.ts +4 -0
  134. package/dist/meeting/in-meeting-actions.js +18 -2
  135. package/dist/meeting/in-meeting-actions.js.map +1 -1
  136. package/dist/{types/meeting → meeting}/index.d.ts +331 -44
  137. package/dist/meeting/index.js +2639 -1367
  138. package/dist/meeting/index.js.map +1 -1
  139. package/dist/{types/meeting → meeting}/locusMediaRequest.d.ts +1 -2
  140. package/dist/meeting/locusMediaRequest.js +4 -5
  141. package/dist/meeting/locusMediaRequest.js.map +1 -1
  142. package/dist/meeting/muteState.js +2 -4
  143. package/dist/meeting/muteState.js.map +1 -1
  144. package/dist/{types/meeting → meeting}/request.d.ts +4 -1
  145. package/dist/meeting/request.js +47 -32
  146. package/dist/meeting/request.js.map +1 -1
  147. package/dist/meeting/state.js +1 -2
  148. package/dist/meeting/state.js.map +1 -1
  149. package/dist/{types/meeting → meeting}/util.d.ts +26 -1
  150. package/dist/meeting/util.js +83 -10
  151. package/dist/meeting/util.js.map +1 -1
  152. package/dist/meeting/voicea-meeting.d.ts +16 -0
  153. package/dist/meeting/voicea-meeting.js +169 -0
  154. package/dist/meeting/voicea-meeting.js.map +1 -0
  155. package/dist/meeting-info/collection.js +3 -4
  156. package/dist/meeting-info/collection.js.map +1 -1
  157. package/dist/{types/meeting-info → meeting-info}/index.d.ts +7 -0
  158. package/dist/meeting-info/index.js +53 -27
  159. package/dist/meeting-info/index.js.map +1 -1
  160. package/dist/{types/meeting-info → meeting-info}/meeting-info-v2.d.ts +1 -0
  161. package/dist/meeting-info/meeting-info-v2.js +52 -33
  162. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  163. package/dist/meeting-info/request.js +1 -2
  164. package/dist/meeting-info/request.js.map +1 -1
  165. package/dist/meeting-info/util.js +8 -8
  166. package/dist/meeting-info/util.js.map +1 -1
  167. package/dist/meeting-info/utilv2.js +12 -9
  168. package/dist/meeting-info/utilv2.js.map +1 -1
  169. package/dist/{types/meetings → meetings}/collection.d.ts +9 -0
  170. package/dist/meetings/collection.js +21 -5
  171. package/dist/meetings/collection.js.map +1 -1
  172. package/dist/{types/meetings → meetings}/index.d.ts +45 -16
  173. package/dist/meetings/index.js +166 -74
  174. package/dist/meetings/index.js.map +1 -1
  175. package/dist/meetings/request.js +2 -3
  176. package/dist/meetings/request.js.map +1 -1
  177. package/dist/meetings/util.js +3 -10
  178. package/dist/meetings/util.js.map +1 -1
  179. package/dist/{types/member → member}/index.d.ts +1 -0
  180. package/dist/member/index.js +10 -3
  181. package/dist/member/index.js.map +1 -1
  182. package/dist/member/member.types.d.ts +11 -0
  183. package/dist/member/member.types.js +17 -0
  184. package/dist/member/member.types.js.map +1 -0
  185. package/dist/member/types.js +6 -8
  186. package/dist/member/types.js.map +1 -1
  187. package/dist/member/util.js +12 -2
  188. package/dist/member/util.js.map +1 -1
  189. package/dist/members/collection.js +1 -2
  190. package/dist/members/collection.js.map +1 -1
  191. package/dist/members/index.js +25 -8
  192. package/dist/members/index.js.map +1 -1
  193. package/dist/members/request.js +2 -3
  194. package/dist/members/request.js.map +1 -1
  195. package/dist/{types/members → members}/types.d.ts +1 -0
  196. package/dist/members/types.js +3 -4
  197. package/dist/members/types.js.map +1 -1
  198. package/dist/{types/members → members}/util.d.ts +6 -1
  199. package/dist/members/util.js +18 -8
  200. package/dist/members/util.js.map +1 -1
  201. package/dist/{types/metrics → metrics}/constants.d.ts +15 -0
  202. package/dist/metrics/constants.js +16 -3
  203. package/dist/metrics/constants.js.map +1 -1
  204. package/dist/metrics/index.js +3 -2
  205. package/dist/metrics/index.js.map +1 -1
  206. package/dist/multistream/mediaRequestManager.js +9 -11
  207. package/dist/multistream/mediaRequestManager.js.map +1 -1
  208. package/dist/multistream/receiveSlot.js +3 -5
  209. package/dist/multistream/receiveSlot.js.map +1 -1
  210. package/dist/multistream/receiveSlotManager.js +7 -9
  211. package/dist/multistream/receiveSlotManager.js.map +1 -1
  212. package/dist/multistream/remoteMedia.js +3 -5
  213. package/dist/multistream/remoteMedia.js.map +1 -1
  214. package/dist/multistream/remoteMediaGroup.js +7 -6
  215. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  216. package/dist/{types/multistream → multistream}/remoteMediaManager.d.ts +9 -1
  217. package/dist/multistream/remoteMediaManager.js +74 -36
  218. package/dist/multistream/remoteMediaManager.js.map +1 -1
  219. package/dist/multistream/sendSlotManager.js +9 -6
  220. package/dist/multistream/sendSlotManager.js.map +1 -1
  221. package/dist/networkQualityMonitor/index.js +1 -2
  222. package/dist/networkQualityMonitor/index.js.map +1 -1
  223. package/dist/personal-meeting-room/index.js +2 -3
  224. package/dist/personal-meeting-room/index.js.map +1 -1
  225. package/dist/personal-meeting-room/request.js +2 -3
  226. package/dist/personal-meeting-room/request.js.map +1 -1
  227. package/dist/personal-meeting-room/util.js +1 -2
  228. package/dist/personal-meeting-room/util.js.map +1 -1
  229. package/dist/reachability/clusterReachability.d.ts +109 -0
  230. package/dist/reachability/clusterReachability.js +357 -0
  231. package/dist/reachability/clusterReachability.js.map +1 -0
  232. package/dist/reachability/index.d.ts +105 -0
  233. package/dist/reachability/index.js +279 -436
  234. package/dist/reachability/index.js.map +1 -1
  235. package/dist/{types/reachability → reachability}/request.d.ts +1 -1
  236. package/dist/reachability/request.js +14 -11
  237. package/dist/reachability/request.js.map +1 -1
  238. package/dist/reachability/util.d.ts +8 -0
  239. package/dist/reachability/util.js +29 -0
  240. package/dist/reachability/util.js.map +1 -0
  241. package/dist/reactions/constants.js +1 -2
  242. package/dist/reactions/constants.js.map +1 -1
  243. package/dist/reactions/reactions.js +2 -4
  244. package/dist/reactions/reactions.js.map +1 -1
  245. package/dist/reactions/reactions.type.js +6 -8
  246. package/dist/reactions/reactions.type.js.map +1 -1
  247. package/dist/{types/reconnection-manager → reconnection-manager}/index.d.ts +10 -0
  248. package/dist/reconnection-manager/index.js +129 -106
  249. package/dist/reconnection-manager/index.js.map +1 -1
  250. package/dist/recording-controller/enums.js +4 -5
  251. package/dist/recording-controller/enums.js.map +1 -1
  252. package/dist/recording-controller/index.js +43 -51
  253. package/dist/recording-controller/index.js.map +1 -1
  254. package/dist/recording-controller/util.js +1 -2
  255. package/dist/recording-controller/util.js.map +1 -1
  256. package/dist/{types/roap → roap}/index.d.ts +2 -1
  257. package/dist/roap/index.js +59 -28
  258. package/dist/roap/index.js.map +1 -1
  259. package/dist/{types/roap → roap}/request.d.ts +2 -1
  260. package/dist/roap/request.js +14 -22
  261. package/dist/roap/request.js.map +1 -1
  262. package/dist/{types/roap → roap}/turnDiscovery.d.ts +21 -4
  263. package/dist/roap/turnDiscovery.js +182 -89
  264. package/dist/roap/turnDiscovery.js.map +1 -1
  265. package/dist/rtcMetrics/constants.js +1 -2
  266. package/dist/rtcMetrics/constants.js.map +1 -1
  267. package/dist/{types/rtcMetrics → rtcMetrics}/index.d.ts +15 -1
  268. package/dist/rtcMetrics/index.js +72 -12
  269. package/dist/rtcMetrics/index.js.map +1 -1
  270. package/dist/statsAnalyzer/global.js +1 -2
  271. package/dist/statsAnalyzer/global.js.map +1 -1
  272. package/dist/{types/statsAnalyzer → statsAnalyzer}/index.d.ts +28 -11
  273. package/dist/statsAnalyzer/index.js +371 -318
  274. package/dist/statsAnalyzer/index.js.map +1 -1
  275. package/dist/statsAnalyzer/mqaUtil.d.ts +48 -0
  276. package/dist/statsAnalyzer/mqaUtil.js +295 -162
  277. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  278. package/dist/transcription/index.js +1 -2
  279. package/dist/transcription/index.js.map +1 -1
  280. package/dist/webinar/collection.d.ts +16 -0
  281. package/dist/webinar/collection.js +43 -0
  282. package/dist/webinar/collection.js.map +1 -0
  283. package/dist/webinar/index.d.ts +5 -0
  284. package/dist/webinar/index.js +68 -0
  285. package/dist/webinar/index.js.map +1 -0
  286. package/jest.config.js +3 -0
  287. package/package.json +44 -24
  288. package/process +1 -0
  289. package/src/common/errors/no-meeting-info.ts +24 -0
  290. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  291. package/src/common/errors/webex-errors.ts +19 -2
  292. package/src/common/logs/request.ts +5 -1
  293. package/src/config.ts +3 -5
  294. package/src/constants.ts +78 -8
  295. package/src/index.ts +4 -0
  296. package/src/interceptors/index.ts +3 -0
  297. package/src/interceptors/locusRetry.ts +67 -0
  298. package/src/locus-info/index.ts +52 -16
  299. package/src/locus-info/mediaSharesUtils.ts +16 -0
  300. package/src/locus-info/parser.ts +47 -21
  301. package/src/media/index.ts +8 -6
  302. package/src/media/properties.ts +17 -2
  303. package/src/mediaQualityMetrics/config.ts +103 -238
  304. package/src/meeting/in-meeting-actions.ts +8 -0
  305. package/src/meeting/index.ts +1692 -627
  306. package/src/meeting/request.ts +19 -1
  307. package/src/meeting/util.ts +102 -1
  308. package/src/meeting/voicea-meeting.ts +122 -0
  309. package/src/meeting-info/index.ts +47 -20
  310. package/src/meeting-info/meeting-info-v2.ts +32 -16
  311. package/src/meeting-info/util.ts +12 -9
  312. package/src/meeting-info/utilv2.ts +25 -15
  313. package/src/meetings/collection.ts +13 -0
  314. package/src/meetings/index.ts +112 -31
  315. package/src/meetings/util.ts +2 -8
  316. package/src/member/index.ts +9 -1
  317. package/src/member/member.types.ts +13 -0
  318. package/src/member/util.ts +14 -0
  319. package/src/members/index.ts +29 -2
  320. package/src/members/types.ts +1 -0
  321. package/src/members/util.ts +15 -1
  322. package/src/metrics/constants.ts +14 -0
  323. package/src/multistream/remoteMediaManager.ts +41 -4
  324. package/src/reachability/clusterReachability.ts +320 -0
  325. package/src/reachability/index.ts +221 -382
  326. package/src/reachability/request.ts +1 -1
  327. package/src/reachability/util.ts +24 -0
  328. package/src/reconnection-manager/index.ts +87 -83
  329. package/src/roap/index.ts +60 -24
  330. package/src/roap/request.ts +4 -17
  331. package/src/roap/turnDiscovery.ts +112 -39
  332. package/src/rtcMetrics/index.ts +71 -5
  333. package/src/statsAnalyzer/index.ts +430 -427
  334. package/src/statsAnalyzer/mqaUtil.ts +317 -168
  335. package/src/webinar/collection.ts +31 -0
  336. package/src/webinar/index.ts +62 -0
  337. package/test/integration/spec/converged-space-meetings.js +7 -7
  338. package/test/integration/spec/journey.js +88 -106
  339. package/test/integration/spec/space-meeting.js +10 -10
  340. package/test/unit/spec/breakouts/breakout.ts +2 -1
  341. package/test/unit/spec/breakouts/index.ts +7 -4
  342. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  343. package/test/unit/spec/locus-info/index.js +206 -13
  344. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  345. package/test/unit/spec/locus-info/mediaSharesUtils.ts +10 -0
  346. package/test/unit/spec/locus-info/parser.js +54 -13
  347. package/test/unit/spec/locus-info/selfUtils.js +1 -1
  348. package/test/unit/spec/media/index.ts +25 -4
  349. package/test/unit/spec/media/properties.ts +2 -2
  350. package/test/unit/spec/meeting/in-meeting-actions.ts +4 -0
  351. package/test/unit/spec/meeting/index.js +4354 -1285
  352. package/test/unit/spec/meeting/request.js +63 -12
  353. package/test/unit/spec/meeting/utils.js +145 -10
  354. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  355. package/test/unit/spec/meeting-info/index.js +180 -61
  356. package/test/unit/spec/meeting-info/meetinginfov2.js +216 -68
  357. package/test/unit/spec/meetings/collection.js +12 -0
  358. package/test/unit/spec/meetings/index.js +676 -195
  359. package/test/unit/spec/meetings/utils.js +35 -12
  360. package/test/unit/spec/member/index.js +8 -7
  361. package/test/unit/spec/member/util.js +32 -0
  362. package/test/unit/spec/members/index.js +130 -17
  363. package/test/unit/spec/members/utils.js +26 -0
  364. package/test/unit/spec/metrics/index.js +1 -2
  365. package/test/unit/spec/multistream/mediaRequestManager.ts +1 -0
  366. package/test/unit/spec/multistream/remoteMediaManager.ts +10 -2
  367. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  368. package/test/unit/spec/reachability/index.ts +505 -135
  369. package/test/unit/spec/reachability/util.ts +40 -0
  370. package/test/unit/spec/reconnection-manager/index.js +74 -17
  371. package/test/unit/spec/recording-controller/index.js +0 -1
  372. package/test/unit/spec/roap/index.ts +181 -61
  373. package/test/unit/spec/roap/request.ts +27 -3
  374. package/test/unit/spec/roap/turnDiscovery.ts +363 -102
  375. package/test/unit/spec/rtcMetrics/index.ts +57 -3
  376. package/test/unit/spec/stats-analyzer/index.js +1225 -12
  377. package/test/unit/spec/webinar/collection.ts +13 -0
  378. package/test/unit/spec/webinar/index.ts +60 -0
  379. package/test/utils/integrationTestUtils.js +4 -4
  380. package/test/utils/webex-test-users.js +12 -4
  381. package/dist/types/mediaQualityMetrics/config.d.ts +0 -365
  382. package/dist/types/reachability/index.d.ts +0 -158
  383. package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -24
  384. /package/dist/{types/annotation → annotation}/annotation.types.d.ts +0 -0
  385. /package/dist/{types/annotation → annotation}/constants.d.ts +0 -0
  386. /package/dist/{types/annotation → annotation}/index.d.ts +0 -0
  387. /package/dist/{types/breakouts → breakouts}/breakout.d.ts +0 -0
  388. /package/dist/{types/breakouts → breakouts}/collection.d.ts +0 -0
  389. /package/dist/{types/breakouts → breakouts}/edit-lock-error.d.ts +0 -0
  390. /package/dist/{types/breakouts → breakouts}/events.d.ts +0 -0
  391. /package/dist/{types/breakouts → breakouts}/index.d.ts +0 -0
  392. /package/dist/{types/breakouts → breakouts}/request.d.ts +0 -0
  393. /package/dist/{types/breakouts → breakouts}/utils.d.ts +0 -0
  394. /package/dist/{types/common → common}/browser-detection.d.ts +0 -0
  395. /package/dist/{types/common → common}/collection.d.ts +0 -0
  396. /package/dist/{types/common → common}/config.d.ts +0 -0
  397. /package/dist/{types/common → common}/errors/captcha-error.d.ts +0 -0
  398. /package/dist/{types/common → common}/errors/intent-to-join.d.ts +0 -0
  399. /package/dist/{types/common → common}/errors/join-meeting.d.ts +0 -0
  400. /package/dist/{types/common → common}/errors/media.d.ts +0 -0
  401. /package/dist/{types/common → common}/errors/parameter.d.ts +0 -0
  402. /package/dist/{types/common → common}/errors/password-error.d.ts +0 -0
  403. /package/dist/{types/common → common}/errors/permission.d.ts +0 -0
  404. /package/dist/{types/common → common}/errors/reconnection-in-progress.d.ts +0 -0
  405. /package/dist/{types/common → common}/errors/reconnection.d.ts +0 -0
  406. /package/dist/{types/common → common}/errors/stats.d.ts +0 -0
  407. /package/dist/{types/common → common}/errors/webex-meetings-error.d.ts +0 -0
  408. /package/dist/{types/common → common}/events/events-scope.d.ts +0 -0
  409. /package/dist/{types/common → common}/events/events.d.ts +0 -0
  410. /package/dist/{types/common → common}/events/trigger-proxy.d.ts +0 -0
  411. /package/dist/{types/common → common}/events/util.d.ts +0 -0
  412. /package/dist/{types/common → common}/logs/logger-config.d.ts +0 -0
  413. /package/dist/{types/common → common}/logs/logger-proxy.d.ts +0 -0
  414. /package/dist/{types/common → common}/queue.d.ts +0 -0
  415. /package/dist/{types/controls-options-manager → controls-options-manager}/constants.d.ts +0 -0
  416. /package/dist/{types/controls-options-manager → controls-options-manager}/enums.d.ts +0 -0
  417. /package/dist/{types/controls-options-manager → controls-options-manager}/index.d.ts +0 -0
  418. /package/dist/{types/controls-options-manager → controls-options-manager}/types.d.ts +0 -0
  419. /package/dist/{types/controls-options-manager → controls-options-manager}/util.d.ts +0 -0
  420. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  421. /package/dist/{types/interpretation → interpretation}/collection.d.ts +0 -0
  422. /package/dist/{types/interpretation → interpretation}/index.d.ts +0 -0
  423. /package/dist/{types/interpretation → interpretation}/siLanguage.d.ts +0 -0
  424. /package/dist/{types/locus-info → locus-info}/controlsUtils.d.ts +0 -0
  425. /package/dist/{types/locus-info → locus-info}/embeddedAppsUtils.d.ts +0 -0
  426. /package/dist/{types/locus-info → locus-info}/fullState.d.ts +0 -0
  427. /package/dist/{types/locus-info → locus-info}/hostUtils.d.ts +0 -0
  428. /package/dist/{types/locus-info → locus-info}/infoUtils.d.ts +0 -0
  429. /package/dist/{types/locus-info → locus-info}/mediaSharesUtils.d.ts +0 -0
  430. /package/dist/{types/locus-info → locus-info}/selfUtils.d.ts +0 -0
  431. /package/dist/{types/media → media}/index.d.ts +0 -0
  432. /package/dist/{types/media → media}/properties.d.ts +0 -0
  433. /package/dist/{types/media → media}/util.d.ts +0 -0
  434. /package/dist/{types/meeting → meeting}/muteState.d.ts +0 -0
  435. /package/dist/{types/meeting → meeting}/request.type.d.ts +0 -0
  436. /package/dist/{types/meeting → meeting}/state.d.ts +0 -0
  437. /package/dist/{types/meeting-info → meeting-info}/collection.d.ts +0 -0
  438. /package/dist/{types/meeting-info → meeting-info}/request.d.ts +0 -0
  439. /package/dist/{types/meeting-info → meeting-info}/util.d.ts +0 -0
  440. /package/dist/{types/meeting-info → meeting-info}/utilv2.d.ts +0 -0
  441. /package/dist/{types/meetings → meetings}/meetings.types.d.ts +0 -0
  442. /package/dist/{types/meetings → meetings}/request.d.ts +0 -0
  443. /package/dist/{types/meetings → meetings}/util.d.ts +0 -0
  444. /package/dist/{types/member → member}/types.d.ts +0 -0
  445. /package/dist/{types/member → member}/util.d.ts +0 -0
  446. /package/dist/{types/members → members}/collection.d.ts +0 -0
  447. /package/dist/{types/members → members}/index.d.ts +0 -0
  448. /package/dist/{types/members → members}/request.d.ts +0 -0
  449. /package/dist/{types/metrics → metrics}/index.d.ts +0 -0
  450. /package/dist/{types/multistream → multistream}/mediaRequestManager.d.ts +0 -0
  451. /package/dist/{types/multistream → multistream}/receiveSlot.d.ts +0 -0
  452. /package/dist/{types/multistream → multistream}/receiveSlotManager.d.ts +0 -0
  453. /package/dist/{types/multistream → multistream}/remoteMedia.d.ts +0 -0
  454. /package/dist/{types/multistream → multistream}/remoteMediaGroup.d.ts +0 -0
  455. /package/dist/{types/multistream → multistream}/sendSlotManager.d.ts +0 -0
  456. /package/dist/{types/networkQualityMonitor → networkQualityMonitor}/index.d.ts +0 -0
  457. /package/dist/{types/personal-meeting-room → personal-meeting-room}/index.d.ts +0 -0
  458. /package/dist/{types/personal-meeting-room → personal-meeting-room}/request.d.ts +0 -0
  459. /package/dist/{types/personal-meeting-room → personal-meeting-room}/util.d.ts +0 -0
  460. /package/dist/{types/reactions → reactions}/constants.d.ts +0 -0
  461. /package/dist/{types/reactions → reactions}/reactions.d.ts +0 -0
  462. /package/dist/{types/reactions → reactions}/reactions.type.d.ts +0 -0
  463. /package/dist/{types/recording-controller → recording-controller}/enums.d.ts +0 -0
  464. /package/dist/{types/recording-controller → recording-controller}/index.d.ts +0 -0
  465. /package/dist/{types/recording-controller → recording-controller}/util.d.ts +0 -0
  466. /package/dist/{types/rtcMetrics → rtcMetrics}/constants.d.ts +0 -0
  467. /package/dist/{types/statsAnalyzer → statsAnalyzer}/global.d.ts +0 -0
  468. /package/dist/{types/transcription → transcription}/index.d.ts +0 -0
  469. /package/test/unit/spec/locus-info/{selfConstant.js → lib/selfConstant.js} +0 -0
@@ -10,7 +10,7 @@ import MediaProperties from '../media/properties';
10
10
  import ReconnectionManager from '../reconnection-manager';
11
11
  import MeetingRequest from './request';
12
12
  import Members from '../members/index';
13
- import Transcription from '../transcription';
13
+ import { NETWORK_STATUS } from '../constants';
14
14
  import { ReceiveSlotManager } from '../multistream/receiveSlotManager';
15
15
  import { MediaRequestManager } from '../multistream/mediaRequestManager';
16
16
  import { Configuration as RemoteMediaManagerConfiguration, RemoteMediaManager } from '../multistream/remoteMediaManager';
@@ -19,6 +19,34 @@ import InMeetingActions from './in-meeting-actions';
19
19
  import RecordingController from '../recording-controller';
20
20
  import ControlsOptionsManager from '../controls-options-manager';
21
21
  import { LocusMediaRequest } from './locusMediaRequest';
22
+ export type CaptionData = {
23
+ id: string;
24
+ isFinal: boolean;
25
+ translations: Array<string>;
26
+ text: string;
27
+ currentCaptionLanguage: string;
28
+ timestamp: string;
29
+ speaker: string;
30
+ };
31
+ export type Transcription = {
32
+ languageOptions: {
33
+ captionLanguages?: string;
34
+ maxLanguages?: number;
35
+ spokenLanguages?: Array<string>;
36
+ currentCaptionLanguage?: string;
37
+ requestedCaptionLanguage?: string;
38
+ currentSpokenLanguage?: string;
39
+ };
40
+ status: string;
41
+ isListening: boolean;
42
+ commandText: string;
43
+ captions: Array<CaptionData>;
44
+ showCaptionBox: boolean;
45
+ transcribingRequestStatus: string;
46
+ isCaptioning: boolean;
47
+ speakerProxy: Map<string, any>;
48
+ interimCaptions: Map<string, CaptionData>;
49
+ };
22
50
  export type LocalStreams = {
23
51
  microphone?: LocalMicrophoneStream;
24
52
  camera?: LocalCameraStream;
@@ -37,6 +65,11 @@ export type AddMediaOptions = {
37
65
  bundlePolicy?: BundlePolicy;
38
66
  allowMediaInLobby?: boolean;
39
67
  };
68
+ export type CallStateForMetrics = {
69
+ correlationId?: string;
70
+ joinTrigger?: string;
71
+ loginType?: string;
72
+ };
40
73
  export declare const MEDIA_UPDATE_TYPE: {
41
74
  TRANSCODED_MEDIA_CONNECTION: string;
42
75
  SHARE_FLOOR_REQUEST: string;
@@ -47,6 +80,12 @@ export declare enum ScreenShareFloorStatus {
47
80
  GRANTED = "floor_request_granted",
48
81
  RELEASED = "floor_released"
49
82
  }
83
+ type FetchMeetingInfoParams = {
84
+ password?: string;
85
+ captchaCode?: string;
86
+ extraParams?: Record<string, any>;
87
+ sendCAevents?: boolean;
88
+ };
50
89
  /**
51
90
  * MediaDirection
52
91
  * @typedef {Object} MediaDirection
@@ -299,8 +338,9 @@ export default class Meeting extends StatelessWebexPlugin {
299
338
  breakouts: any;
300
339
  simultaneousInterpretation: any;
301
340
  annotation: any;
341
+ webinar: any;
302
342
  conversationUrl: string;
303
- correlationId: string;
343
+ callStateForMetrics: CallStateForMetrics;
304
344
  destination: string;
305
345
  destinationType: string;
306
346
  deviceUrl: string;
@@ -355,8 +395,9 @@ export default class Meeting extends StatelessWebexPlugin {
355
395
  };
356
396
  meetingInfoFailureReason: string;
357
397
  meetingInfoFailureCode?: number;
398
+ meetingInfoExtraParams?: Record<string, any>;
358
399
  networkQualityMonitor: NetworkQualityMonitor;
359
- networkStatus: string;
400
+ networkStatus?: NETWORK_STATUS;
360
401
  passwordStatus: string;
361
402
  queuedMediaUpdates: any[];
362
403
  recording: any;
@@ -366,6 +407,7 @@ export default class Meeting extends StatelessWebexPlugin {
366
407
  requiredCaptcha: any;
367
408
  receiveSlotManager: ReceiveSlotManager;
368
409
  selfUserPolicies: any;
410
+ enforceVBGImagesURL: string;
369
411
  shareStatus: string;
370
412
  screenShareFloorState: ScreenShareFloorStatus;
371
413
  statsAnalyzer: StatsAnalyzer;
@@ -385,7 +427,9 @@ export default class Meeting extends StatelessWebexPlugin {
385
427
  meetingJoinUrl: any;
386
428
  meetingNumber: any;
387
429
  meetingState: any;
388
- permissionToken: any;
430
+ permissionToken: string;
431
+ permissionTokenPayload: any;
432
+ permissionTokenReceivedLocalTime: number;
389
433
  resourceId: any;
390
434
  resourceUrl: string;
391
435
  selfId: string;
@@ -397,7 +441,17 @@ export default class Meeting extends StatelessWebexPlugin {
397
441
  environment: string;
398
442
  namespace: string;
399
443
  allowMediaInLobby: boolean;
444
+ localShareInstanceId: string;
445
+ remoteShareInstanceId: string;
446
+ turnDiscoverySkippedReason: string;
447
+ turnServerUsed: boolean;
448
+ areVoiceaEventsSetup: boolean;
449
+ voiceaListenerCallbacks: object;
450
+ private retriedWithTurnServer;
400
451
  private sendSlotManager;
452
+ private deferSDPAnswer?;
453
+ private sdpResponseTimer?;
454
+ private hasMediaConnectionConnectedAtLeastOnce;
401
455
  /**
402
456
  * @param {Object} attrs
403
457
  * @param {Object} options
@@ -417,30 +471,79 @@ export default class Meeting extends StatelessWebexPlugin {
417
471
  * @returns {Boolean}
418
472
  */
419
473
  isLocusCall(): boolean;
474
+ /**
475
+ * Getter - Returns callStateForMetrics.correlationId
476
+ * @returns {string}
477
+ */
478
+ get correlationId(): string;
479
+ /**
480
+ * Setter - sets callStateForMetrics.correlationId
481
+ * @param {string} correlationId
482
+ */
483
+ set correlationId(correlationId: string);
484
+ /**
485
+ * Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
486
+ * @param {any} info
487
+ * @param {string} [meetingLookupUrl] Lookup url, defined when the meeting info fetched
488
+ * @returns {void}
489
+ */
490
+ private setMeetingInfo;
491
+ /**
492
+ * Add pre-fetched meeting info
493
+ *
494
+ * The passed meeting info should be be complete, e.g.: fetched after password or captcha provided
495
+ *
496
+ * @param {Object} meetingInfo - Complete meeting info
497
+ * @param {FetchMeetingInfoParams} fetchParams - Fetch parameters for validation
498
+ * @param {String|undefined} meetingLookupUrl - Lookup url, defined when the meeting info fetched
499
+ * @returns {Promise<void>}
500
+ */
501
+ injectMeetingInfo(meetingInfo: any, fetchParams: FetchMeetingInfoParams, meetingLookupUrl: string | undefined): Promise<void>;
502
+ /**
503
+ * Validate fetch parameters and clear the fetchMeetingInfoTimeout timeout
504
+ *
505
+ * @param {FetchMeetingInfoParams} fetchParams - fetch parameters for validation
506
+ * @param {String} caller - Name of the caller for logging
507
+ *
508
+ * @returns {Promise<void>}
509
+ * @private
510
+ */
511
+ private prepForFetchMeetingInfo;
512
+ /**
513
+ * Internal method for fetching meeting info
514
+ *
515
+ * @returns {Promise}
516
+ */
517
+ private fetchMeetingInfoInternal;
518
+ /**
519
+ * Refreshes the meeting info permission token (it's required for joining meetings)
520
+ *
521
+ * @param {string} [reason] used for metrics and logging purposes (optional)
522
+ * @returns {Promise}
523
+ */
524
+ refreshPermissionToken(reason?: string): Promise<void>;
420
525
  /**
421
526
  * Fetches meeting information.
422
527
  * @param {Object} options
423
528
  * @param {String} [options.password] optional
424
529
  * @param {String} [options.captchaCode] optional
530
+ * @param {Boolean} [options.sendCAevents] optional - Whether to submit Call Analyzer events or not. Default: false.
425
531
  * @public
426
532
  * @memberof Meeting
427
533
  * @returns {Promise}
428
534
  */
429
- fetchMeetingInfo({ password, captchaCode, extraParams, }: {
430
- password?: string;
431
- captchaCode?: string;
432
- extraParams?: Record<string, any>;
433
- }): Promise<void>;
535
+ fetchMeetingInfo(options: FetchMeetingInfoParams): Promise<void>;
434
536
  /**
435
537
  * Checks if the supplied password/host key is correct. It returns a promise with information whether the
436
538
  * password and captcha code were correct or not.
437
539
  * @param {String} password - this can be either a password or a host key, can be undefined if only captcha was required
438
540
  * @param {String} captchaCode - can be undefined if captcha was not required by the server
541
+ * @param {Boolean} sendCAevents - whether Call Analyzer events should be sent when fetching meeting information
439
542
  * @public
440
543
  * @memberof Meeting
441
544
  * @returns {Promise<{isPasswordValid: boolean, requiredCaptcha: boolean, failureReason: MEETING_INFO_FAILURE_REASON}>}
442
545
  */
443
- verifyPassword(password: string, captchaCode: string): Promise<{
546
+ verifyPassword(password: string, captchaCode: string, sendCAevents?: boolean): Promise<{
444
547
  isPasswordValid: boolean;
445
548
  requiredCaptcha: any;
446
549
  failureReason: string;
@@ -486,6 +589,13 @@ export default class Meeting extends StatelessWebexPlugin {
486
589
  * @memberof Meeting
487
590
  */
488
591
  private setUpInterpretationListener;
592
+ /**
593
+ * Set up the listeners for captions
594
+ * @returns {undefined}
595
+ * @private
596
+ * @memberof Meeting
597
+ */
598
+ private setUpVoiceaListeners;
489
599
  /**
490
600
  * Set up the locus info listener for meetings disconnected due to inactivity
491
601
  * @returns {undefined}
@@ -509,7 +619,7 @@ export default class Meeting extends StatelessWebexPlugin {
509
619
  private setUpLocusFullStateListener;
510
620
  /**
511
621
  * sets the network status on meeting object
512
- * @param {String} networkStatus
622
+ * @param {NETWORK_STATUS} networkStatus
513
623
  * @private
514
624
  * @returns {undefined}
515
625
  * @memberof Meeting
@@ -727,24 +837,36 @@ export default class Meeting extends StatelessWebexPlugin {
727
837
  /**
728
838
  * Sets the meeting info on the class instance
729
839
  * @param {Object} meetingInfo
730
- * @param {Object} meetingInfo.body
731
- * @param {String} meetingInfo.body.conversationUrl
732
- * @param {String} meetingInfo.body.locusUrl
733
- * @param {String} meetingInfo.body.sipUri
734
- * @param {Object} meetingInfo.body.owner
840
+ * @param {String} meetingInfo.conversationUrl
841
+ * @param {String} meetingInfo.locusUrl
842
+ * @param {String} meetingInfo.sipUri
843
+ * @param {String} [meetingInfo.sipUrl]
844
+ * @param {String} [meetingInfo.sipMeetingUri]
845
+ * @param {String} [meetingInfo.meetingNumber]
846
+ * @param {String} [meetingInfo.meetingJoinUrl]
847
+ * @param {String} [meetingInfo.hostId]
848
+ * @param {String} [meetingInfo.permissionToken]
849
+ * @param {String} [meetingInfo.channel]
850
+ * @param {Object} meetingInfo.owner
735
851
  * @param {Object | String} destination locus object with meeting data or destination string (sip url, meeting link, etc)
852
+ * @param {Object | String} errors Meeting info request error
736
853
  * @returns {undefined}
737
854
  * @private
738
855
  * @memberof Meeting
739
856
  */
740
857
  parseMeetingInfo(meetingInfo: {
741
- body: {
742
- conversationUrl: string;
743
- locusUrl: string;
744
- sipUri: string;
745
- owner: object;
746
- };
747
- } | any, destination?: object | string | null): void;
858
+ conversationUrl: string;
859
+ locusUrl: string;
860
+ sipUri: string;
861
+ owner: object;
862
+ sipUrl?: string;
863
+ sipMeetingUri?: string;
864
+ meetingNumber?: string;
865
+ meetingJoinUrl?: string;
866
+ hostId?: string;
867
+ permissionToken?: string;
868
+ channel?: string;
869
+ }, destination?: object | string | null, errors?: any): void;
748
870
  /**
749
871
  * Indicates whether policy can be applied
750
872
  * @returns {boolean}
@@ -759,10 +881,16 @@ export default class Meeting extends StatelessWebexPlugin {
759
881
  private updateMeetingActions;
760
882
  /**
761
883
  * Sets the self user policies based on the contents of the permission token
884
+ * @returns {void}
885
+ */
886
+ setSelfUserPolicies(): void;
887
+ /**
888
+ * Sets the permission token payload on the class instance
889
+ *
762
890
  * @param {String} permissionToken
763
891
  * @returns {void}
764
892
  */
765
- setSelfUserPolicies(permissionToken: string): void;
893
+ setPermissionTokenPayload(permissionToken: string): void;
766
894
  /**
767
895
  * Sets the sip uri on the class instance
768
896
  * uses meeting info as precedence
@@ -820,7 +948,7 @@ export default class Meeting extends StatelessWebexPlugin {
820
948
  * @returns {undefined}
821
949
  * @memberof Meeting
822
950
  */
823
- closeRemoteStreams(): Promise<[any, any, any, any]>;
951
+ closeRemoteStreams(): Promise<[any, any, any]>;
824
952
  /**
825
953
  * Stores the reference to a new microphone stream, sets up the required event listeners
826
954
  * on it, cleans up previous stream, etc.
@@ -879,13 +1007,21 @@ export default class Meeting extends StatelessWebexPlugin {
879
1007
  */
880
1008
  unsetPeerConnections(): void;
881
1009
  /**
882
- * Convenience method to set the correlation id for the Meeting
883
- * @param {String} id correlation id to set on the class
1010
+ * Convenience method to set the correlation id for the callStateForMetrics
1011
+ * @param {String} id correlation id to set on the callStateForMetrics
884
1012
  * @returns {undefined}
885
- * @private
1013
+ * @public
886
1014
  * @memberof Meeting
887
1015
  */
888
- private setCorrelationId;
1016
+ setCorrelationId(id: string): void;
1017
+ /**
1018
+ * Update the callStateForMetrics
1019
+ * @param {CallStateForMetrics} callStateForMetrics updated values for callStateForMetrics
1020
+ * @returns {undefined}
1021
+ * @public
1022
+ * @memberof Meeting
1023
+ */
1024
+ updateCallStateForMetrics(callStateForMetrics: CallStateForMetrics): void;
889
1025
  /**
890
1026
  * Enqueue request for screenshare floor and set the status to pending
891
1027
  * @returns {Promise}
@@ -940,7 +1076,10 @@ export default class Meeting extends StatelessWebexPlugin {
940
1076
  joinWithMedia(options?: {
941
1077
  joinOptions?: any;
942
1078
  mediaOptions?: AddMediaOptions;
943
- }): any;
1079
+ }): Promise<{
1080
+ join: any;
1081
+ media: void;
1082
+ }>;
944
1083
  /**
945
1084
  * Initiates the reconnection of the media in the meeting
946
1085
  *
@@ -962,17 +1101,26 @@ export default class Meeting extends StatelessWebexPlugin {
962
1101
  */
963
1102
  isReactionsSupported(): boolean;
964
1103
  /**
965
- * Monitor the Low-Latency Mercury (LLM) web socket connection on `onError` and `onClose` states
966
- * @private
967
- * @returns {void}
1104
+ * sets Caption language for the meeting
1105
+ * @param {string} language
1106
+ * @returns {Promise}
968
1107
  */
969
- private monitorTranscriptionSocketConnection;
1108
+ setCaptionLanguage(language: string): Promise<unknown>;
970
1109
  /**
971
- * Request for a WebSocket Url, open and monitor the WebSocket connection
972
- * @private
1110
+ * sets Spoken language for the meeting
1111
+ * @param {string} language
1112
+ * @returns {Promise}
1113
+ */
1114
+ setSpokenLanguage(language: string): Promise<unknown>;
1115
+ /**
1116
+ * This method will enable the transcription for the current meeting if the meeting has enabled/supports Webex Assistant
1117
+ * @param {Object} options object with spokenlanguage setting
1118
+ * @public
973
1119
  * @returns {Promise<void>} a promise to open the WebSocket connection
974
1120
  */
975
- private receiveTranscription;
1121
+ startTranscription(options?: {
1122
+ spokenLanguage?: string;
1123
+ }): Promise<void>;
976
1124
  /**
977
1125
  * Callback called when a relay event is received from meeting LLM Connection
978
1126
  * @param {RelayEvent} e Event object coming from LLM Connection
@@ -981,11 +1129,10 @@ export default class Meeting extends StatelessWebexPlugin {
981
1129
  */
982
1130
  private processRelayEvent;
983
1131
  /**
984
- * stop recieving Transcription by closing
985
- * the web socket connection properly
1132
+ * This method stops receiving transcription for the current meeting
986
1133
  * @returns {void}
987
1134
  */
988
- stopReceivingTranscription(): void;
1135
+ stopTranscription(): void;
989
1136
  /**
990
1137
  * triggers an event to notify that the user
991
1138
  * will not receive any more transcription
@@ -1005,7 +1152,7 @@ export default class Meeting extends StatelessWebexPlugin {
1005
1152
  * if joining as host on second loop, pass pin and pass moderator if joining as guest on second loop
1006
1153
  * Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
1007
1154
  */
1008
- join(options?: any): any;
1155
+ join(options?: any): Promise<any>;
1009
1156
  /**
1010
1157
  * Connects to low latency mercury and reconnects if the address has changed
1011
1158
  * It will also disconnect if called when the meeting has ended
@@ -1075,6 +1222,12 @@ export default class Meeting extends StatelessWebexPlugin {
1075
1222
  * @returns {void}
1076
1223
  */
1077
1224
  handleRoapFailure: (error: any) => void;
1225
+ /**
1226
+ * This function makes sure we send the right metrics when local and remote SDPs are processed/generated
1227
+ *
1228
+ * @returns {undefined}
1229
+ */
1230
+ setupSdpListeners: () => void;
1078
1231
  setupMediaConnectionListeners: () => void;
1079
1232
  /**
1080
1233
  * Registers for all required StatsAnalyzer events
@@ -1103,20 +1256,122 @@ export default class Meeting extends StatelessWebexPlugin {
1103
1256
  * @returns {void}
1104
1257
  */
1105
1258
  forwardEvent(eventEmitter: any, eventTypeToForward: any, meetingEventType: any): void;
1259
+ /**
1260
+ * Sets up all the references to local streams in this.mediaProperties before creating media connection
1261
+ * and before TURN discovery, so that the correct mute state is sent with TURN discovery roap messages.
1262
+ *
1263
+ * @private
1264
+ * @param {LocalStreams} localStreams
1265
+ * @returns {Promise<void>}
1266
+ */
1267
+ private setUpLocalStreamReferences;
1268
+ /**
1269
+ * Calls mediaProperties.waitForMediaConnectionConnected() and sends CA client.ice.end metric on failure
1270
+ *
1271
+ * @private
1272
+ * @returns {Promise<void>}
1273
+ */
1274
+ private waitForMediaConnectionConnected;
1275
+ /**
1276
+ * Enables statsAnalyser if config allows it
1277
+ *
1278
+ * @private
1279
+ * @returns {void}
1280
+ */
1281
+ private createStatsAnalyzer;
1282
+ /**
1283
+ * Handles device logging
1284
+ *
1285
+ * @private
1286
+ * @static
1287
+ * @returns {Promise<void>}
1288
+ */
1289
+ private static handleDeviceLogging;
1290
+ /**
1291
+ * Returns a promise. This promise is created once the local sdp offer has been successfully created and is resolved
1292
+ * once the remote sdp answer has been received.
1293
+ *
1294
+ * @private
1295
+ * @returns {Promise<void>}
1296
+ */
1297
+ private waitForRemoteSDPAnswer;
1298
+ /**
1299
+ * Calls establishMediaConnection with isForced = true to force turn discovery to happen
1300
+ *
1301
+ * @private
1302
+ * @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
1303
+ * @param {BundlePolicy} [bundlePolicy]
1304
+ * @returns {Promise<void>}
1305
+ */
1306
+ private retryEstablishMediaConnectionWithForcedTurnDiscovery;
1307
+ /**
1308
+ * Does relevant clean up before retrying to establish media connection
1309
+ * and performs the retry with forced turn discovery
1310
+ *
1311
+ * @private
1312
+ * @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
1313
+ * @param {BundlePolicy} [bundlePolicy]
1314
+ * @returns {Promise<void>}
1315
+ */
1316
+ private retryWithForcedTurnDiscovery;
1317
+ /**
1318
+ * If waitForMediaConnectionConnected() fails when we haven't done turn discovery then we
1319
+ * attempt to establish a media connection again, but this time using turn discovery. If we
1320
+ * used turn discovery on the first pass we do not attempt connection again.
1321
+ *
1322
+ * @private
1323
+ * @param {Error} error
1324
+ * @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
1325
+ * @param {BundlePolicy} [bundlePolicy]
1326
+ * @returns {Promise<void>}
1327
+ */
1328
+ private handleWaitForMediaConnectionConnectedError;
1329
+ /**
1330
+ * Does TURN discovery, SDP offer/answer exhange, establishes ICE connection and DTLS handshake.
1331
+ *
1332
+ * @private
1333
+ * @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
1334
+ * @param {BundlePolicy} [bundlePolicy]
1335
+ * @param {boolean} [isForced] - let isForced be true to do turn discovery regardless of reachability results
1336
+ * @returns {Promise<void>}
1337
+ */
1338
+ private establishMediaConnection;
1339
+ /**
1340
+ * Cleans up stats analyzer, peer connection, and turns off listeners
1341
+ *
1342
+ * @private
1343
+ * @returns {Promise<void>}
1344
+ */
1345
+ private cleanUpOnAddMediaFailure;
1346
+ /**
1347
+ * Sends stats report, closes peer connection and cleans up any media connection
1348
+ * related things before trying to establish media connection again with turn server
1349
+ *
1350
+ * @private
1351
+ * @returns {Promise<void>}
1352
+ */
1353
+ private cleanUpBeforeRetryWithTurnServer;
1106
1354
  /**
1107
1355
  * Creates a media connection to the server. Media connection is required for sending or receiving any audio/video.
1108
1356
  *
1109
1357
  * @param {AddMediaOptions} options
1110
- * @returns {Promise}
1358
+ * @returns {Promise<void>}
1111
1359
  * @public
1112
1360
  * @memberof Meeting
1113
1361
  */
1114
- addMedia(options?: AddMediaOptions): Promise<any>;
1362
+ addMedia(options?: AddMediaOptions): Promise<void>;
1115
1363
  /**
1116
1364
  * Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
1117
1365
  * @returns {Boolean}
1118
1366
  */
1119
1367
  canUpdateMedia(): boolean;
1368
+ /**
1369
+ * media failed, so collect a stats report from webrtc using the wcme connection to grab the rtc stats report
1370
+ * send a webrtc telemetry dump to the configured server using the internal media core check metrics configured callback
1371
+ * @param {String} callFrom - the function calling this function, optional.
1372
+ * @returns {Promise<void>}
1373
+ */
1374
+ private forceSendStatsReport;
1120
1375
  /**
1121
1376
  * Enqueues a media update operation.
1122
1377
  * @param {String} mediaUpdateType one of MEDIA_UPDATE_TYPE values
@@ -1383,6 +1638,14 @@ export default class Meeting extends StatelessWebexPlugin {
1383
1638
  * @returns {undefined}
1384
1639
  */
1385
1640
  private handleShareAudioStreamEnded;
1641
+ /**
1642
+ * Functionality for when a share video is muted or unmuted.
1643
+ * @private
1644
+ * @memberof Meeting
1645
+ * @param {boolean} muted
1646
+ * @returns {undefined}
1647
+ */
1648
+ private handleShareVideoStreamMuteStateChange;
1386
1649
  /**
1387
1650
  * Functionality for when a share video is ended.
1388
1651
  * @private
@@ -1420,7 +1683,7 @@ export default class Meeting extends StatelessWebexPlugin {
1420
1683
  *
1421
1684
  * @returns {string} one of 'attendee','host','cohost', returns the user type of the current user
1422
1685
  */
1423
- getCurUserType(): "host" | "cohost" | "attendee";
1686
+ getCurUserType(): "host" | "cohost" | "presenter" | "attendee";
1424
1687
  /**
1425
1688
  * End the current meeting for all
1426
1689
  * @returns {Promise}
@@ -1516,4 +1779,28 @@ export default class Meeting extends StatelessWebexPlugin {
1516
1779
  * @returns {Promise}
1517
1780
  */
1518
1781
  unpublishStreams(streams: LocalStream[]): Promise<void>;
1782
+ /**
1783
+ * Gets permission token expiry information including timeLeft, expiryTime, currentTime
1784
+ * (from the time the function has been fired)
1785
+ *
1786
+ * @returns {object} permissionTokenExpiryInfo
1787
+ * @returns {number} permissionTokenExpiryInfo.timeLeft The time left for token to expire
1788
+ * @returns {number} permissionTokenExpiryInfo.expiryTime The expiry time of permission token from the server
1789
+ * @returns {number} permissionTokenExpiryInfo.currentTime The current time of the local machine
1790
+ */
1791
+ getPermissionTokenExpiryInfo(): {
1792
+ timeLeft: number;
1793
+ expiryTime: number;
1794
+ currentTime: number;
1795
+ };
1796
+ /**
1797
+ * Check if there is enough time left till the permission token expires
1798
+ * If not - refresh the permission token
1799
+ *
1800
+ * @param {number} threshold - time in seconds
1801
+ * @param {string} reason - reason for refreshing the permission token
1802
+ * @returns {Promise<void>}
1803
+ */
1804
+ checkAndRefreshPermissionToken(threshold: number, reason: string): Promise<void>;
1519
1805
  }
1806
+ export {};