@webex/plugin-meetings 3.8.0 → 3.8.1-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (360) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +70 -6
  3. package/dist/breakouts/index.js.map +1 -1
  4. package/dist/common/errors/webex-errors.js +12 -2
  5. package/dist/common/errors/webex-errors.js.map +1 -1
  6. package/dist/config.js +5 -1
  7. package/dist/config.js.map +1 -1
  8. package/dist/constants.js +23 -123
  9. package/dist/constants.js.map +1 -1
  10. package/dist/controls-options-manager/enums.js +2 -0
  11. package/dist/controls-options-manager/enums.js.map +1 -1
  12. package/dist/controls-options-manager/types.js.map +1 -1
  13. package/dist/controls-options-manager/util.js +52 -0
  14. package/dist/controls-options-manager/util.js.map +1 -1
  15. package/dist/interpretation/index.js +4 -4
  16. package/dist/interpretation/index.js.map +1 -1
  17. package/dist/interpretation/siLanguage.js +1 -1
  18. package/dist/locus-info/controlsUtils.js +31 -11
  19. package/dist/locus-info/controlsUtils.js.map +1 -1
  20. package/dist/locus-info/index.js +83 -12
  21. package/dist/locus-info/index.js.map +1 -1
  22. package/dist/locus-info/selfUtils.js +432 -418
  23. package/dist/locus-info/selfUtils.js.map +1 -1
  24. package/dist/media/index.js +17 -17
  25. package/dist/media/index.js.map +1 -1
  26. package/dist/media/properties.js +94 -6
  27. package/dist/media/properties.js.map +1 -1
  28. package/dist/meeting/brbState.js +9 -2
  29. package/dist/meeting/brbState.js.map +1 -1
  30. package/dist/meeting/in-meeting-actions.js +17 -1
  31. package/dist/meeting/in-meeting-actions.js.map +1 -1
  32. package/dist/meeting/index.js +661 -334
  33. package/dist/meeting/index.js.map +1 -1
  34. package/dist/meeting/locusMediaRequest.js +21 -22
  35. package/dist/meeting/locusMediaRequest.js.map +1 -1
  36. package/dist/meeting/muteState.js +4 -4
  37. package/dist/meeting/muteState.js.map +1 -1
  38. package/dist/meeting/request.js +30 -0
  39. package/dist/meeting/request.js.map +1 -1
  40. package/dist/meeting/request.type.js.map +1 -1
  41. package/dist/meeting/util.js +13 -2
  42. package/dist/meeting/util.js.map +1 -1
  43. package/dist/meeting-info/meeting-info-v2.js +373 -68
  44. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  45. package/dist/meeting-info/utilv2.js +5 -1
  46. package/dist/meeting-info/utilv2.js.map +1 -1
  47. package/dist/meetings/index.js +136 -1
  48. package/dist/meetings/index.js.map +1 -1
  49. package/dist/meetings/util.js +14 -0
  50. package/dist/meetings/util.js.map +1 -1
  51. package/dist/member/index.js +55 -9
  52. package/dist/member/index.js.map +1 -1
  53. package/dist/member/types.js +3 -0
  54. package/dist/member/types.js.map +1 -1
  55. package/dist/member/util.js +335 -353
  56. package/dist/member/util.js.map +1 -1
  57. package/dist/members/collection.js.map +1 -1
  58. package/dist/members/index.js +137 -29
  59. package/dist/members/index.js.map +1 -1
  60. package/dist/members/request.js +38 -0
  61. package/dist/members/request.js.map +1 -1
  62. package/dist/members/util.js +36 -1
  63. package/dist/members/util.js.map +1 -1
  64. package/dist/metrics/constants.js +10 -0
  65. package/dist/metrics/constants.js.map +1 -1
  66. package/dist/multistream/remoteMediaManager.js +40 -8
  67. package/dist/multistream/remoteMediaManager.js.map +1 -1
  68. package/dist/reachability/clusterReachability.js +63 -27
  69. package/dist/reachability/clusterReachability.js.map +1 -1
  70. package/dist/reachability/index.js +112 -47
  71. package/dist/reachability/index.js.map +1 -1
  72. package/dist/reachability/reachability.types.js +14 -0
  73. package/dist/reachability/reachability.types.js.map +1 -1
  74. package/dist/reachability/request.js +19 -3
  75. package/dist/reachability/request.js.map +1 -1
  76. package/dist/reconnection-manager/index.js +2 -2
  77. package/dist/reconnection-manager/index.js.map +1 -1
  78. package/dist/recording-controller/util.js +5 -5
  79. package/dist/recording-controller/util.js.map +1 -1
  80. package/dist/roap/index.js.map +1 -1
  81. package/dist/roap/turnDiscovery.js +45 -27
  82. package/dist/roap/turnDiscovery.js.map +1 -1
  83. package/dist/roap/types.js +17 -0
  84. package/dist/roap/types.js.map +1 -0
  85. package/dist/types/common/errors/webex-errors.d.ts +7 -1
  86. package/dist/types/config.d.ts +3 -0
  87. package/dist/types/constants.d.ts +16 -85
  88. package/dist/types/controls-options-manager/enums.d.ts +3 -1
  89. package/dist/types/controls-options-manager/types.d.ts +7 -1
  90. package/dist/types/locus-info/index.d.ts +3 -3
  91. package/dist/types/locus-info/selfUtils.d.ts +216 -1
  92. package/dist/types/media/properties.d.ts +15 -0
  93. package/dist/types/meeting/in-meeting-actions.d.ts +16 -0
  94. package/dist/types/meeting/index.d.ts +65 -1
  95. package/dist/types/meeting/muteState.d.ts +0 -1
  96. package/dist/types/meeting/request.d.ts +12 -1
  97. package/dist/types/meeting/request.type.d.ts +6 -0
  98. package/dist/types/meeting/util.d.ts +3 -1
  99. package/dist/types/meeting-info/meeting-info-v2.d.ts +82 -1
  100. package/dist/types/meetings/index.d.ts +57 -0
  101. package/dist/types/member/index.d.ts +21 -6
  102. package/dist/types/member/types.d.ts +73 -14
  103. package/dist/types/member/util.d.ts +156 -1
  104. package/dist/types/members/collection.d.ts +6 -5
  105. package/dist/types/members/index.d.ts +32 -43
  106. package/dist/types/members/request.d.ts +26 -0
  107. package/dist/types/members/util.d.ts +27 -0
  108. package/dist/types/metrics/constants.d.ts +10 -0
  109. package/dist/types/multistream/remoteMediaManager.d.ts +10 -1
  110. package/dist/types/reachability/clusterReachability.d.ts +15 -7
  111. package/dist/types/reachability/index.d.ts +10 -1
  112. package/dist/types/reachability/reachability.types.d.ts +5 -0
  113. package/dist/types/roap/index.d.ts +3 -2
  114. package/dist/types/roap/turnDiscovery.d.ts +5 -17
  115. package/dist/types/roap/types.d.ts +16 -0
  116. package/dist/webinar/index.js +2 -2
  117. package/dist/webinar/index.js.map +1 -1
  118. package/package.json +24 -23
  119. package/src/breakouts/index.ts +69 -0
  120. package/src/common/errors/webex-errors.ts +8 -1
  121. package/src/config.ts +3 -0
  122. package/src/constants.ts +24 -90
  123. package/src/controls-options-manager/enums.ts +2 -0
  124. package/src/controls-options-manager/types.ts +11 -1
  125. package/src/controls-options-manager/util.ts +62 -0
  126. package/src/interpretation/index.ts +3 -3
  127. package/src/locus-info/controlsUtils.ts +50 -14
  128. package/src/locus-info/index.ts +88 -13
  129. package/src/locus-info/selfUtils.ts +496 -442
  130. package/src/media/index.ts +23 -21
  131. package/src/media/properties.ts +96 -0
  132. package/src/meeting/brbState.ts +11 -2
  133. package/src/meeting/in-meeting-actions.ts +32 -0
  134. package/src/meeting/index.ts +449 -95
  135. package/src/meeting/locusMediaRequest.ts +27 -22
  136. package/src/meeting/muteState.ts +4 -4
  137. package/src/meeting/request.ts +36 -1
  138. package/src/meeting/request.type.ts +7 -0
  139. package/src/meeting/util.ts +11 -2
  140. package/src/meeting-info/meeting-info-v2.ts +254 -8
  141. package/src/meeting-info/utilv2.ts +5 -0
  142. package/src/meetings/index.ts +148 -1
  143. package/src/meetings/util.ts +18 -0
  144. package/src/member/index.ts +68 -22
  145. package/src/member/types.ts +82 -16
  146. package/src/member/util.ts +357 -350
  147. package/src/members/collection.ts +4 -3
  148. package/src/members/index.ts +137 -18
  149. package/src/members/request.ts +44 -0
  150. package/src/members/util.ts +43 -1
  151. package/src/metrics/constants.ts +10 -0
  152. package/src/multistream/remoteMediaManager.ts +32 -10
  153. package/src/reachability/clusterReachability.ts +73 -26
  154. package/src/reachability/index.ts +70 -1
  155. package/src/reachability/reachability.types.ts +6 -0
  156. package/src/reachability/request.ts +7 -0
  157. package/src/reconnection-manager/index.ts +2 -2
  158. package/src/recording-controller/util.ts +17 -13
  159. package/src/roap/index.ts +3 -7
  160. package/src/roap/turnDiscovery.ts +34 -39
  161. package/src/roap/types.ts +23 -0
  162. package/src/webinar/index.ts +1 -1
  163. package/test/unit/spec/breakouts/index.ts +167 -95
  164. package/test/unit/spec/controls-options-manager/util.js +120 -0
  165. package/test/unit/spec/interpretation/index.ts +39 -1
  166. package/test/unit/spec/locus-info/controlsUtils.js +139 -9
  167. package/test/unit/spec/locus-info/index.js +195 -73
  168. package/test/unit/spec/locus-info/selfUtils.js +98 -24
  169. package/test/unit/spec/media/index.ts +150 -18
  170. package/test/unit/spec/media/properties.ts +130 -0
  171. package/test/unit/spec/meeting/brbState.ts +40 -2
  172. package/test/unit/spec/meeting/in-meeting-actions.ts +19 -4
  173. package/test/unit/spec/meeting/index.js +754 -139
  174. package/test/unit/spec/meeting/locusMediaRequest.ts +95 -87
  175. package/test/unit/spec/meeting/muteState.js +73 -2
  176. package/test/unit/spec/meeting/request.js +32 -1
  177. package/test/unit/spec/meeting/utils.js +119 -18
  178. package/test/unit/spec/meeting-info/meetinginfov2.js +484 -114
  179. package/test/unit/spec/meeting-info/utilv2.js +19 -0
  180. package/test/unit/spec/meetings/index.js +146 -2
  181. package/test/unit/spec/member/index.js +7 -0
  182. package/test/unit/spec/member/util.js +24 -0
  183. package/test/unit/spec/members/index.js +304 -78
  184. package/test/unit/spec/members/request.js +68 -22
  185. package/test/unit/spec/members/utils.js +75 -0
  186. package/test/unit/spec/multistream/remoteMediaManager.ts +397 -118
  187. package/test/unit/spec/reachability/clusterReachability.ts +88 -56
  188. package/test/unit/spec/reachability/index.ts +101 -0
  189. package/test/unit/spec/reachability/request.js +47 -2
  190. package/test/unit/spec/reconnection-manager/index.js +4 -4
  191. package/test/unit/spec/roap/turnDiscovery.ts +110 -28
  192. package/test/unit/spec/webinar/index.ts +5 -0
  193. package/dist/annotation/annotation.types.d.ts +0 -42
  194. package/dist/annotation/constants.d.ts +0 -31
  195. package/dist/annotation/index.d.ts +0 -117
  196. package/dist/breakouts/breakout.d.ts +0 -8
  197. package/dist/breakouts/collection.d.ts +0 -5
  198. package/dist/breakouts/edit-lock-error.d.ts +0 -15
  199. package/dist/breakouts/events.d.ts +0 -8
  200. package/dist/breakouts/index.d.ts +0 -5
  201. package/dist/breakouts/request.d.ts +0 -22
  202. package/dist/breakouts/utils.d.ts +0 -15
  203. package/dist/common/browser-detection.d.ts +0 -9
  204. package/dist/common/collection.d.ts +0 -48
  205. package/dist/common/config.d.ts +0 -2
  206. package/dist/common/errors/captcha-error.d.ts +0 -15
  207. package/dist/common/errors/intent-to-join.d.ts +0 -16
  208. package/dist/common/errors/join-meeting.d.ts +0 -17
  209. package/dist/common/errors/media.d.ts +0 -15
  210. package/dist/common/errors/no-meeting-info.d.ts +0 -14
  211. package/dist/common/errors/parameter.d.ts +0 -15
  212. package/dist/common/errors/password-error.d.ts +0 -15
  213. package/dist/common/errors/permission.d.ts +0 -14
  214. package/dist/common/errors/reclaim-host-role-error.js +0 -149
  215. package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
  216. package/dist/common/errors/reclaim-host-role-errors.d.ts +0 -60
  217. package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
  218. package/dist/common/errors/reconnection-in-progress.js +0 -33
  219. package/dist/common/errors/reconnection-in-progress.js.map +0 -1
  220. package/dist/common/errors/reconnection.d.ts +0 -15
  221. package/dist/common/errors/stats.d.ts +0 -15
  222. package/dist/common/errors/webex-errors.d.ts +0 -93
  223. package/dist/common/errors/webex-meetings-error.d.ts +0 -20
  224. package/dist/common/events/events-scope.d.ts +0 -17
  225. package/dist/common/events/events.d.ts +0 -12
  226. package/dist/common/events/trigger-proxy.d.ts +0 -2
  227. package/dist/common/events/util.d.ts +0 -2
  228. package/dist/common/logs/logger-config.d.ts +0 -2
  229. package/dist/common/logs/logger-proxy.d.ts +0 -2
  230. package/dist/common/logs/request.d.ts +0 -36
  231. package/dist/common/queue.d.ts +0 -34
  232. package/dist/config.d.ts +0 -72
  233. package/dist/constants.d.ts +0 -1088
  234. package/dist/controls-options-manager/constants.d.ts +0 -4
  235. package/dist/controls-options-manager/enums.d.ts +0 -15
  236. package/dist/controls-options-manager/index.d.ts +0 -136
  237. package/dist/controls-options-manager/types.d.ts +0 -43
  238. package/dist/controls-options-manager/util.d.ts +0 -1
  239. package/dist/index.d.ts +0 -7
  240. package/dist/interceptors/index.d.ts +0 -2
  241. package/dist/interceptors/locusRetry.d.ts +0 -27
  242. package/dist/interpretation/collection.d.ts +0 -5
  243. package/dist/interpretation/index.d.ts +0 -5
  244. package/dist/interpretation/siLanguage.d.ts +0 -5
  245. package/dist/locus-info/controlsUtils.d.ts +0 -2
  246. package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
  247. package/dist/locus-info/fullState.d.ts +0 -2
  248. package/dist/locus-info/hostUtils.d.ts +0 -2
  249. package/dist/locus-info/index.d.ts +0 -322
  250. package/dist/locus-info/infoUtils.d.ts +0 -2
  251. package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
  252. package/dist/locus-info/parser.d.ts +0 -272
  253. package/dist/locus-info/selfUtils.d.ts +0 -2
  254. package/dist/media/index.d.ts +0 -34
  255. package/dist/media/properties.d.ts +0 -93
  256. package/dist/media/util.d.ts +0 -2
  257. package/dist/mediaQualityMetrics/config.d.ts +0 -241
  258. package/dist/mediaQualityMetrics/config.js +0 -502
  259. package/dist/mediaQualityMetrics/config.js.map +0 -1
  260. package/dist/meeting/effectsState.js +0 -260
  261. package/dist/meeting/effectsState.js.map +0 -1
  262. package/dist/meeting/in-meeting-actions.d.ts +0 -167
  263. package/dist/meeting/index.d.ts +0 -1825
  264. package/dist/meeting/locusMediaRequest.d.ts +0 -74
  265. package/dist/meeting/muteState.d.ts +0 -178
  266. package/dist/meeting/request.d.ts +0 -295
  267. package/dist/meeting/request.type.d.ts +0 -11
  268. package/dist/meeting/state.d.ts +0 -9
  269. package/dist/meeting/util.d.ts +0 -119
  270. package/dist/meeting/voicea-meeting.d.ts +0 -16
  271. package/dist/meeting-info/collection.d.ts +0 -20
  272. package/dist/meeting-info/index.d.ts +0 -69
  273. package/dist/meeting-info/meeting-info-v2.d.ts +0 -123
  274. package/dist/meeting-info/request.d.ts +0 -22
  275. package/dist/meeting-info/util.d.ts +0 -2
  276. package/dist/meeting-info/utilv2.d.ts +0 -2
  277. package/dist/meetings/collection.d.ts +0 -40
  278. package/dist/meetings/index.d.ts +0 -390
  279. package/dist/meetings/meetings.types.d.ts +0 -4
  280. package/dist/meetings/request.d.ts +0 -27
  281. package/dist/meetings/util.d.ts +0 -18
  282. package/dist/member/index.d.ts +0 -160
  283. package/dist/member/member.types.js +0 -17
  284. package/dist/member/member.types.js.map +0 -1
  285. package/dist/member/types.d.ts +0 -32
  286. package/dist/member/util.d.ts +0 -2
  287. package/dist/members/collection.d.ts +0 -29
  288. package/dist/members/index.d.ts +0 -353
  289. package/dist/members/request.d.ts +0 -114
  290. package/dist/members/types.d.ts +0 -25
  291. package/dist/members/util.d.ts +0 -215
  292. package/dist/metrics/config.js +0 -276
  293. package/dist/metrics/config.js.map +0 -1
  294. package/dist/metrics/constants.d.ts +0 -70
  295. package/dist/metrics/index.d.ts +0 -45
  296. package/dist/multistream/mediaRequestManager.d.ts +0 -119
  297. package/dist/multistream/receiveSlot.d.ts +0 -68
  298. package/dist/multistream/receiveSlotManager.d.ts +0 -56
  299. package/dist/multistream/remoteMedia.d.ts +0 -72
  300. package/dist/multistream/remoteMediaGroup.d.ts +0 -49
  301. package/dist/multistream/remoteMediaManager.d.ts +0 -300
  302. package/dist/multistream/sendSlotManager.d.ts +0 -69
  303. package/dist/networkQualityMonitor/index.d.ts +0 -70
  304. package/dist/networkQualityMonitor/index.js +0 -221
  305. package/dist/networkQualityMonitor/index.js.map +0 -1
  306. package/dist/peer-connection-manager/index.js +0 -671
  307. package/dist/peer-connection-manager/index.js.map +0 -1
  308. package/dist/peer-connection-manager/util.js +0 -109
  309. package/dist/peer-connection-manager/util.js.map +0 -1
  310. package/dist/personal-meeting-room/index.d.ts +0 -47
  311. package/dist/personal-meeting-room/request.d.ts +0 -14
  312. package/dist/personal-meeting-room/util.d.ts +0 -2
  313. package/dist/reachability/clusterReachability.d.ts +0 -109
  314. package/dist/reachability/index.d.ts +0 -105
  315. package/dist/reachability/request.d.ts +0 -39
  316. package/dist/reachability/util.d.ts +0 -8
  317. package/dist/reactions/constants.d.ts +0 -3
  318. package/dist/reactions/reactions.d.ts +0 -4
  319. package/dist/reactions/reactions.type.d.ts +0 -52
  320. package/dist/reconnection-manager/index.d.ts +0 -136
  321. package/dist/recording-controller/enums.d.ts +0 -7
  322. package/dist/recording-controller/index.d.ts +0 -207
  323. package/dist/recording-controller/util.d.ts +0 -14
  324. package/dist/roap/collection.js +0 -62
  325. package/dist/roap/collection.js.map +0 -1
  326. package/dist/roap/handler.js +0 -275
  327. package/dist/roap/handler.js.map +0 -1
  328. package/dist/roap/index.d.ts +0 -86
  329. package/dist/roap/request.d.ts +0 -39
  330. package/dist/roap/state.js +0 -126
  331. package/dist/roap/state.js.map +0 -1
  332. package/dist/roap/turnDiscovery.d.ts +0 -155
  333. package/dist/roap/util.js +0 -75
  334. package/dist/roap/util.js.map +0 -1
  335. package/dist/rtcMetrics/constants.d.ts +0 -4
  336. package/dist/rtcMetrics/constants.js +0 -11
  337. package/dist/rtcMetrics/constants.js.map +0 -1
  338. package/dist/rtcMetrics/index.d.ts +0 -61
  339. package/dist/rtcMetrics/index.js +0 -197
  340. package/dist/rtcMetrics/index.js.map +0 -1
  341. package/dist/statsAnalyzer/global.d.ts +0 -36
  342. package/dist/statsAnalyzer/global.js +0 -126
  343. package/dist/statsAnalyzer/global.js.map +0 -1
  344. package/dist/statsAnalyzer/index.d.ts +0 -217
  345. package/dist/statsAnalyzer/index.js +0 -1013
  346. package/dist/statsAnalyzer/index.js.map +0 -1
  347. package/dist/statsAnalyzer/mqaUtil.d.ts +0 -48
  348. package/dist/statsAnalyzer/mqaUtil.js +0 -179
  349. package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
  350. package/dist/transcription/index.d.ts +0 -64
  351. package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
  352. package/dist/types/mediaQualityMetrics/config.d.ts +0 -241
  353. package/dist/types/networkQualityMonitor/index.d.ts +0 -70
  354. package/dist/types/rtcMetrics/constants.d.ts +0 -4
  355. package/dist/types/rtcMetrics/index.d.ts +0 -71
  356. package/dist/types/statsAnalyzer/global.d.ts +0 -36
  357. package/dist/types/statsAnalyzer/index.d.ts +0 -217
  358. package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
  359. package/dist/webinar/collection.d.ts +0 -16
  360. package/dist/webinar/index.d.ts +0 -5
@@ -1,2 +1,157 @@
1
- declare const MemberUtil: any;
1
+ import { IExternalRoles, ServerRoles, ServerRoleShape, IMediaStatus, Participant, ParticipantUrl } from './types';
2
+ declare const MemberUtil: {
3
+ /**
4
+ * @param {Object} participant - The locus participant object.
5
+ * @returns {Boolean}
6
+ */
7
+ canReclaimHost: (participant: any) => any;
8
+ /**
9
+ * @param {Object} participant - The locus participant object.
10
+ * @returns {[ServerRoleShape]}
11
+ */
12
+ getControlsRoles: (participant: Participant) => Array<ServerRoleShape>;
13
+ /**
14
+ * Checks if the participant has the brb status enabled.
15
+ *
16
+ * @param {Participant} participant - The locus participant object.
17
+ * @returns {boolean} - True if the participant has brb enabled, false otherwise.
18
+ */
19
+ isBrb: (participant: Participant) => boolean;
20
+ /**
21
+ * @param {Object} participant - The locus participant object.
22
+ * @param {ServerRoles} controlRole the search role
23
+ * @returns {Boolean}
24
+ */
25
+ hasRole: (participant: Participant, controlRole: ServerRoles) => boolean;
26
+ /**
27
+ * @param {Object} participant - The locus participant object.
28
+ * @returns {Boolean}
29
+ */
30
+ hasCohost: (participant: Participant) => boolean;
31
+ /**
32
+ * @param {Object} participant - The locus participant object.
33
+ * @returns {Boolean}
34
+ */
35
+ hasModerator: (participant: Participant) => boolean;
36
+ /**
37
+ * @param {Object} participant - The locus participant object.
38
+ * @returns {Boolean}
39
+ */
40
+ hasPresenter: (participant: Participant) => boolean;
41
+ /**
42
+ * @param {Object} participant - The locus participant object.
43
+ * @returns {IExternalRoles}
44
+ */
45
+ extractControlRoles: (participant: Participant) => IExternalRoles;
46
+ /**
47
+ * @param {Object} participant - The locus participant object.
48
+ * @returns {Boolean}
49
+ */
50
+ isUser: (participant: Participant) => boolean;
51
+ isModerator: (participant: Participant) => boolean;
52
+ /**
53
+ * @param {Object} participant - The locus participant object.
54
+ * @returns {Boolean}
55
+ */
56
+ isGuest: (participant: Participant) => boolean;
57
+ /**
58
+ * @param {Object} participant - The locus participant object.
59
+ * @returns {Boolean}
60
+ */
61
+ isDevice: (participant: Participant) => boolean;
62
+ isModeratorAssignmentProhibited: (participant: Participant) => boolean;
63
+ isPresenterAssignmentProhibited: (participant: Participant) => boolean;
64
+ /**
65
+ * checks to see if the participant id is the same as the passed id
66
+ * there are multiple ids that can be used
67
+ * @param {Object} participant - The locus participant object.
68
+ * @param {String} id
69
+ * @returns {Boolean}
70
+ */
71
+ isSame: (participant: Participant, id: string) => boolean;
72
+ /**
73
+ * @param {Object} participant - The locus participant object.
74
+ * @param {Boolean} isGuest
75
+ * @param {String} status
76
+ * @returns {Boolean}
77
+ */
78
+ isNotAdmitted: (participant: Participant, isGuest: boolean, status: string) => boolean;
79
+ /**
80
+ * @param {Object} participant - The locus participant object.
81
+ * @returns {Boolean}
82
+ */
83
+ isAudioMuted: (participant: Participant) => any;
84
+ /**
85
+ * @param {Object} participant - The locus participant object.
86
+ * @returns {Boolean}
87
+ */
88
+ isVideoMuted: (participant: Participant) => boolean;
89
+ /**
90
+ * @param {Object} participant - The locus participant object.
91
+ * @returns {Boolean}
92
+ */
93
+ isHandRaised: (participant: Participant) => boolean;
94
+ /**
95
+ * @param {Object} participant - The locus participant object.
96
+ * @returns {Boolean}
97
+ */
98
+ isBreakoutsSupported: (participant: any) => boolean;
99
+ /**
100
+ * @param {Object} participant - The locus participant object.
101
+ * @returns {Boolean}
102
+ */
103
+ isInterpretationSupported: (participant: any) => boolean;
104
+ /**
105
+ * @param {Object} participant - The locus participant object.
106
+ * @returns {Boolean}
107
+ */
108
+ isLiveAnnotationSupported: (participant: any) => boolean;
109
+ /**
110
+ * utility method for audio/video muted status
111
+ * @param {any} participant
112
+ * @param {String} statusAccessor
113
+ * @param {String} controlsAccessor
114
+ * @returns {Boolean | undefined}
115
+ */
116
+ isMuted: (participant: Participant, statusAccessor: string, controlsAccessor: string) => any;
117
+ /**
118
+ * utility method for getting the recording member for later comparison
119
+ * @param {Object} controls
120
+ * @returns {String|null}
121
+ */
122
+ getRecordingMember: (controls: any) => any;
123
+ /**
124
+ * @param {Object} participant - The locus participant object.
125
+ * @returns {Boolean}
126
+ */
127
+ isRecording: (participant: Participant) => boolean;
128
+ isRemovable: (isSelf: any, isGuest: any, isInMeeting: any, type: any) => boolean;
129
+ isMutable: (isSelf: any, isDevice: any, isInMeeting: any, isMuted: any, type: any) => boolean;
130
+ /**
131
+ * @param {Object} participant - The locus participant object.
132
+ * @returns {String}
133
+ */
134
+ extractStatus: (participant: Participant) => "IN_LOBBY" | "IN_MEETING" | "NOT_IN_MEETING";
135
+ /**
136
+ * @param {Object} participant - The locus participant object.
137
+ * @returns {String}
138
+ */
139
+ extractId: (participant: Participant) => string;
140
+ /**
141
+ * extracts the media status from nested participant object
142
+ * @param {Object} participant - The locus participant object.
143
+ * @returns {Object}
144
+ */
145
+ extractMediaStatus: (participant: Participant) => IMediaStatus;
146
+ /**
147
+ * @param {Object} participant - The locus participant object.
148
+ * @returns {String}
149
+ */
150
+ extractName: (participant: Participant) => string;
151
+ /**
152
+ * @param {Object} participant - The locus participant object.
153
+ * @returns {String}
154
+ */
155
+ extractPairedWithParticipantUrl: (participant: Participant) => ParticipantUrl | undefined;
156
+ };
2
157
  export default MemberUtil;
@@ -1,26 +1,27 @@
1
+ import Member from '../member';
1
2
  /**
2
3
  * @class MembersCollection
3
4
  */
4
5
  export default class MembersCollection {
5
- members: any;
6
+ members: Record<string, Member>;
6
7
  namespace: string;
7
8
  /**
8
9
  * @param {Object} locus
9
10
  * @memberof Members
10
11
  */
11
12
  constructor();
12
- set(id: any, member: any): void;
13
- setAll(members: any): void;
13
+ set(id: string, member: Member): void;
14
+ setAll(members: Record<string, Member>): void;
14
15
  /**
15
16
  * @param {String} id
16
17
  * @returns {Member}
17
18
  */
18
- get(id: string): any;
19
+ get(id: string): Member;
19
20
  /**
20
21
  * @returns {Object} returns an object map of Member instances
21
22
  * @memberof MembersCollection
22
23
  */
23
- getAll(): any;
24
+ getAll(): Record<string, Member>;
24
25
  /**
25
26
  * @returns {void}
26
27
  * reset members
@@ -1,45 +1,9 @@
1
1
  import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import Member from '../member';
3
+ import MembersCollection from './collection';
2
4
  import { ReceiveSlotManager } from '../multistream/receiveSlotManager';
3
5
  import { MediaRequestManager } from '../multistream/mediaRequestManager';
4
6
  import { ServerRoleShape } from './types';
5
- /**
6
- * Members Update Event
7
- * Emitted when something in the roster list needs to be updated
8
- * @event members:update
9
- * @instance
10
- * @property {Object} delta the changes to the members list
11
- * @property {Array} delta.updated array only the updates, includes removals, as they will have updated status and member properties
12
- * @property {Array} delta.added array added members to the meeting
13
- * @property {Array} full array the full members collection
14
- * @memberof Members
15
- */
16
- /**
17
- * Members Content Update Event
18
- * Emitted when who is sharing changes
19
- * @event members:content:update
20
- * @instance
21
- * @property {String} activeContentSharingId
22
- * @property {String} endedContentSharingId
23
- * @memberof Members
24
- */
25
- /**
26
- * Members Host Update Event
27
- * Emitted when who is the host changes
28
- * @event members:host:update
29
- * @instance
30
- * @property {String} activeHostId
31
- * @property {String} endedHostId
32
- * @memberof Members
33
- */
34
- /**
35
- * Members Self Update Event
36
- * Emitted when who is the self changes
37
- * @event members:self:update
38
- * @instance
39
- * @property {String} activeSelfId
40
- * @property {String} endedSelfId
41
- * @memberof Members
42
- */
43
7
  /**
44
8
  * @class Members
45
9
  */
@@ -48,7 +12,7 @@ export default class Members extends StatelessWebexPlugin {
48
12
  locusUrl: any;
49
13
  mediaShareContentId: any;
50
14
  mediaShareWhiteboardId: any;
51
- membersCollection: any;
15
+ membersCollection: MembersCollection;
52
16
  membersRequest: any;
53
17
  receiveSlotManager: ReceiveSlotManager;
54
18
  mediaRequestManagers: {
@@ -99,6 +63,15 @@ export default class Members extends StatelessWebexPlugin {
99
63
  * @memberof Members
100
64
  */
101
65
  clearMembers(): void;
66
+ /**
67
+ * Updates properties on members that rely on information from other members.
68
+ * This function MUST be called only after the membersCollection has been fully updated
69
+ * @param {UpdatedMembers} membersUpdate
70
+ * @returns {Object} membersCollection
71
+ * @private
72
+ * @memberof Members
73
+ */
74
+ private updateRelationsBetweenMembers;
102
75
  /**
103
76
  * when new participant updates come in, both delta and full participants, update them in members collection
104
77
  * delta object in the event will have {updated, added} and full will be the full membersCollection
@@ -147,7 +120,7 @@ export default class Members extends StatelessWebexPlugin {
147
120
  }): void;
148
121
  /**
149
122
  * sets values in the members collection for updated and added properties from delta
150
- * @param {Object} membersUpdate {updated: [], added: []}
123
+ * @param {UpdatedMembers} membersUpdate
151
124
  * @returns {Object} membersCollection
152
125
  * @private
153
126
  * @memberof Members
@@ -156,6 +129,7 @@ export default class Members extends StatelessWebexPlugin {
156
129
  /**
157
130
  * set members to the member collection from each updated/added lists as passed in
158
131
  * @param {Array} list
132
+ * @param {boolean} isUpdate
159
133
  * @returns {undefined}
160
134
  * @private
161
135
  * @memberof Members
@@ -164,7 +138,7 @@ export default class Members extends StatelessWebexPlugin {
164
138
  /**
165
139
  * Internal update the participants value
166
140
  * @param {Object} payload
167
- * @returns {Object}
141
+ * @returns {UpdatedMembers}
168
142
  * @private
169
143
  * @memberof Members
170
144
  */
@@ -231,7 +205,7 @@ export default class Members extends StatelessWebexPlugin {
231
205
  * Removed/left members will end up in updates
232
206
  * Each array contains only members
233
207
  * @param {Array} participants the locus participants
234
- * @returns {Object} {added: {Array}, updated: {Array}}
208
+ * @returns {UpdatedMembers} {added: {Array}, updated: {Array}}
235
209
  * @private
236
210
  * @memberof Members
237
211
  */
@@ -251,6 +225,13 @@ export default class Members extends StatelessWebexPlugin {
251
225
  * @memberof Members
252
226
  */
253
227
  cancelPhoneInvite(invitee: any): any;
228
+ /**
229
+ * Cancels an SIP call to the associated meeting
230
+ * @param {String} invitee
231
+ * @returns {Promise}
232
+ * @memberof Members
233
+ */
234
+ cancelSIPInvite(invitee: any): any;
254
235
  /**
255
236
  * Admits waiting members (invited guests to meeting)
256
237
  * @param {Array} memberIds
@@ -290,6 +271,14 @@ export default class Members extends StatelessWebexPlugin {
290
271
  * @memberof Members
291
272
  */
292
273
  assignRoles(memberId: string, roles: Array<ServerRoleShape>): any;
274
+ /**
275
+ * Moves a meeting member into the lobby.
276
+ * @param {String} memberId -- The ID of the member to move.
277
+ * @returns {Promise} -- Resolves with the lobby‐move response.
278
+ * @public
279
+ * @memberof Members
280
+ */
281
+ moveToLobby(memberId: string): any;
293
282
  /**
294
283
  * Raise or lower the hand of a member in a meeting
295
284
  * @param {String} memberId
@@ -331,7 +320,7 @@ export default class Members extends StatelessWebexPlugin {
331
320
  * @param {number} csi
332
321
  * @returns {Member}
333
322
  */
334
- findMemberByCsi(csi: any): unknown;
323
+ findMemberByCsi(csi: any): Member;
335
324
  /**
336
325
  * Returns an array of a member's CSIs matching the mediaType and mediaContent
337
326
  *
@@ -53,6 +53,25 @@ export default class MembersRequest extends StatelessWebexPlugin {
53
53
  * @returns {Promise}
54
54
  */
55
55
  assignRolesMember(options: any): Promise<any>;
56
+ /**
57
+ * Sends a request to move a meeting member into the lobby.
58
+ * *
59
+ * @param {Object} options - Request options.
60
+ * @param {string} options.locusUrl - The locus URL for the meeting.
61
+ * @param {string} options.memberId - The ID of the member to move.
62
+ * @param {Object} body - The request payload.
63
+ * @param {Object} body.moveToLobby - Container for move‐to‐lobby data.
64
+ * @param {string[]} body.moveToLobby.participantIds - Array of participant IDs to move.
65
+ * @returns {Promise} - Resolves with the locus‐delta response.
66
+ */
67
+ moveToLobbyMember(options: {
68
+ locusUrl: string;
69
+ memberId: string;
70
+ }, body: {
71
+ moveToLobby: {
72
+ participantIds: string[];
73
+ };
74
+ }): Promise<any>;
56
75
  /**
57
76
  * Sends a request to raise or lower a member's hand
58
77
  * @param {Object} options
@@ -111,4 +130,11 @@ export default class MembersRequest extends StatelessWebexPlugin {
111
130
  * @memberof MembersRequest
112
131
  */
113
132
  cancelPhoneInvite(options: any): Promise<any>;
133
+ /**
134
+ * @param {Object} options with format of {invitee: object, locusUrl: string}
135
+ * @returns {Promise}
136
+ * @throws {Error} if the options are not valid and complete, must have invitee with memberId AND locusUrl
137
+ * @memberof MembersRequest
138
+ */
139
+ cancelSIPInvite(options: any): Promise<any>;
114
140
  }
@@ -124,6 +124,19 @@ declare const MembersUtil: {
124
124
  };
125
125
  };
126
126
  };
127
+ getMoveMemberToLobbyRequestBody: (memberId: string) => {
128
+ moveToLobby: {
129
+ participantIds: string[];
130
+ };
131
+ };
132
+ getMoveMemberToLobbyRequestParams: (options: {
133
+ memberId: string;
134
+ locusUrl: string;
135
+ }, body: any) => {
136
+ method: string;
137
+ uri: string;
138
+ body: any;
139
+ };
127
140
  /**
128
141
  * @param {ServerRoleShape} role
129
142
  * @returns {ServerRoleShape} the role shape to be added to the body
@@ -215,5 +228,19 @@ declare const MembersUtil: {
215
228
  }[];
216
229
  };
217
230
  };
231
+ cancelSIPInviteOptions: (invitee: any, locusUrl: any) => {
232
+ invitee: any;
233
+ locusUrl: any;
234
+ };
235
+ generateCancelSIPInviteRequestParams: (options: any) => {
236
+ method: string;
237
+ uri: any;
238
+ body: {
239
+ actionType: string;
240
+ invitees: {
241
+ address: any;
242
+ }[];
243
+ };
244
+ };
218
245
  };
219
246
  export default MembersUtil;
@@ -45,10 +45,19 @@ declare const BEHAVIORAL_METRICS: {
45
45
  UPLOAD_LOGS_FAILURE: string;
46
46
  UPLOAD_LOGS_SUCCESS: string;
47
47
  RECEIVE_TRANSCRIPTION_FAILURE: string;
48
+ MEETING_IS_IN_PROGRESS_ERROR: string;
49
+ STATIC_MEETING_LINK_ALREADY_EXISTS_ERROR: string;
48
50
  FETCH_MEETING_INFO_V1_SUCCESS: string;
49
51
  FETCH_MEETING_INFO_V1_FAILURE: string;
52
+ ENABLE_STATIC_METTING_LINK_SUCCESS: string;
53
+ ENABLE_STATIC_METTING_LINK_FAILURE: string;
54
+ DISABLE_STATIC_MEETING_LINK_SUCCESS: string;
55
+ DISABLE_STATIC_MEETING_LINK_FAILURE: string;
50
56
  ADHOC_MEETING_SUCCESS: string;
51
57
  ADHOC_MEETING_FAILURE: string;
58
+ FETCH_STATIC_MEETING_LINK_SUCCESS: string;
59
+ FETCH_STATIC_MEETING_LINK_FAILURE: string;
60
+ MEETING_LINK_DOES_NOT_EXIST_ERROR: string;
52
61
  VERIFY_PASSWORD_SUCCESS: string;
53
62
  VERIFY_PASSWORD_ERROR: string;
54
63
  VERIFY_CAPTCHA_ERROR: string;
@@ -60,6 +69,7 @@ declare const BEHAVIORAL_METRICS: {
60
69
  MEETING_INFO_POLICY_ERROR: string;
61
70
  LOCUS_DELTA_SYNC_FAILED: string;
62
71
  LOCUS_DELTA_OUT_OF_ORDER: string;
72
+ LOCUS_SYNC_HANDLING_FAILED: string;
63
73
  PERMISSION_TOKEN_REFRESH: string;
64
74
  PERMISSION_TOKEN_REFRESH_ERROR: string;
65
75
  TURN_DISCOVERY_LATENCY: string;
@@ -249,13 +249,22 @@ export declare class RemoteMediaManager extends EventsScope {
249
249
  private invalidateCurrentRemoteMedia;
250
250
  /** emits Event.VideoLayoutChanged */
251
251
  private emitVideoLayoutChangedEvent;
252
+ /**
253
+ * Set multiple remote video CSIs at once
254
+ * @param remoteMediaCsis The remote medias and CSIs to set them to
255
+ * @returns {void}
256
+ */
257
+ setRemoteVideoCsis(remoteMediaCsis: {
258
+ remoteMedia: RemoteMedia;
259
+ csi?: CSI | null;
260
+ }[]): void;
252
261
  /**
253
262
  * Sets a new CSI on a given remote media object
254
263
  *
255
264
  * @param {RemoteMedia} remoteMedia remote Media object to modify
256
265
  * @param {CSI} csi new CSI value, can be null if we want to stop receiving media
257
266
  */
258
- setRemoteVideoCsi(remoteMedia: RemoteMedia, csi: CSI | null): void;
267
+ setRemoteVideoCsi(remoteMedia: RemoteMedia, csi?: CSI | null): void;
259
268
  /**
260
269
  * Adds a new member video pane to the currently selected layout.
261
270
  *
@@ -1,7 +1,7 @@
1
1
  import { ClusterNode } from './request';
2
2
  import EventsScope from '../common/events/events-scope';
3
3
  import { Enum } from '../constants';
4
- import { ClusterReachabilityResult } from './reachability.types';
4
+ import { ClusterReachabilityResult, NatType } from './reachability.types';
5
5
  export type ResultEventData = {
6
6
  protocol: 'udp' | 'tcp' | 'xtls';
7
7
  result: 'reachable' | 'unreachable' | 'untested';
@@ -12,9 +12,13 @@ export type ClientMediaIpsUpdatedEventData = {
12
12
  protocol: 'udp' | 'tcp' | 'xtls';
13
13
  clientMediaIPs: string[];
14
14
  };
15
+ export type NatTypeUpdatedEventData = {
16
+ natType: NatType;
17
+ };
15
18
  export declare const Events: {
16
19
  readonly resultReady: "resultReady";
17
20
  readonly clientMediaIpsUpdated: "clientMediaIpsUpdated";
21
+ readonly natTypeUpdated: "natTypeUpdated";
18
22
  };
19
23
  export type Events = Enum<typeof Events>;
20
24
  /**
@@ -29,8 +33,10 @@ export declare class ClusterReachability extends EventsScope {
29
33
  private pc?;
30
34
  private defer;
31
35
  private startTimestamp;
36
+ private srflxIceCandidates;
32
37
  readonly isVideoMesh: boolean;
33
38
  readonly name: any;
39
+ readonly reachedSubnets: Set<string>;
34
40
  /**
35
41
  * Constructor for ClusterReachability
36
42
  * @param {string} name cluster name
@@ -89,12 +95,6 @@ export declare class ClusterReachability extends EventsScope {
89
95
  * @returns {void}
90
96
  */
91
97
  private registerIceGatheringStateChangeListener;
92
- /**
93
- * Checks if we have the results for all the protocols (UDP and TCP)
94
- *
95
- * @returns {boolean} true if we have all results, false otherwise
96
- */
97
- private haveWeGotAllResults;
98
98
  /**
99
99
  * Saves the latency in the result for the given protocol and marks it as reachable,
100
100
  * emits the "resultReady" event if this is the first result for that protocol,
@@ -104,9 +104,17 @@ export declare class ClusterReachability extends EventsScope {
104
104
  * @param {string} protocol
105
105
  * @param {number} latency
106
106
  * @param {string|null} [publicIp]
107
+ * @param {string|null} [serverIp]
107
108
  * @returns {void}
108
109
  */
109
110
  private saveResult;
111
+ /**
112
+ * Determines NAT Type.
113
+ *
114
+ * @param {RTCIceCandidate} candidate
115
+ * @returns {void}
116
+ */
117
+ private determineNatType;
110
118
  /**
111
119
  * Registers a listener for the icecandidate event
112
120
  *
@@ -4,7 +4,7 @@
4
4
  import { Defer } from '@webex/common';
5
5
  import { IP_VERSION } from '../constants';
6
6
  import ReachabilityRequest, { ClusterList } from './request';
7
- import { ClusterReachabilityResult, ClientMediaPreferences, ReachabilityMetrics, ReachabilityReportV0, ReachabilityReportV1, ReachabilityResults, ReachabilityResultsForBackend, GetClustersTrigger } from './reachability.types';
7
+ import { ClusterReachabilityResult, ClientMediaPreferences, ReachabilityMetrics, ReachabilityReportV0, ReachabilityReportV1, ReachabilityResults, ReachabilityResultsForBackend, GetClustersTrigger, NatType } from './reachability.types';
8
8
  import { ClusterReachability } from './clusterReachability';
9
9
  import EventsScope from '../common/events/events-scope';
10
10
  /**
@@ -46,6 +46,7 @@ export default class Reachability extends EventsScope {
46
46
  };
47
47
  startTime: any;
48
48
  totalDuration: any;
49
+ natType: NatType;
49
50
  protected lastTrigger?: string;
50
51
  /**
51
52
  * Creates an instance of Reachability.
@@ -65,6 +66,14 @@ export default class Reachability extends EventsScope {
65
66
  clusters: ClusterList;
66
67
  joinCookie: any;
67
68
  }>;
69
+ /**
70
+ * Checks if the given subnet is reachable
71
+ * @param {string} mediaServerIp - media server ip
72
+ * @returns {boolean | null} true if reachable, false if not reachable, null if mediaServerIp is not provided
73
+ * @public
74
+ * @memberof Reachability
75
+ */
76
+ isSubnetReachable(mediaServerIp?: string): boolean | null;
68
77
  /**
69
78
  * Gets a list of media clusters from the backend and performs reachability checks on all the clusters
70
79
  * @param {string} trigger - explains the reason for starting reachability
@@ -4,6 +4,10 @@ export type TransportResult = {
4
4
  latencyInMilliseconds?: number;
5
5
  clientMediaIPs?: string[];
6
6
  };
7
+ export declare enum NatType {
8
+ Unknown = "unknown",
9
+ SymmetricNat = "symmetric-nat"
10
+ }
7
11
  export type ClusterReachabilityResult = {
8
12
  udp: TransportResult;
9
13
  tcp: TransportResult;
@@ -22,6 +26,7 @@ export type ReachabilityMetrics = {
22
26
  reachability_vmn_tcp_failed: number;
23
27
  reachability_vmn_xtls_success: number;
24
28
  reachability_vmn_xtls_failed: number;
29
+ natType: NatType;
25
30
  };
26
31
  /**
27
32
  * This is the type that matches what backend expects us to send to them. It is a bit weird, because
@@ -1,7 +1,8 @@
1
1
  import { StatelessWebexPlugin } from '@webex/webex-core';
2
- import TurnDiscovery, { TurnDiscoveryResult } from './turnDiscovery';
2
+ import TurnDiscovery from './turnDiscovery';
3
+ import { TurnDiscoveryResult } from './types';
3
4
  import Meeting from '../meeting';
4
- export { type TurnDiscoveryResult, type TurnServerInfo, type TurnDiscoverySkipReason, } from './turnDiscovery';
5
+ export { type TurnDiscoveryResult, type TurnServerInfo, type TurnDiscoverySkipReason } from './types';
5
6
  /**
6
7
  * Roap options
7
8
  * @typedef {Object} RoapOptions
@@ -1,21 +1,6 @@
1
- import { Enum } from '../constants';
2
1
  import RoapRequest from './request';
3
2
  import Meeting from '../meeting';
4
- declare const TurnDiscoverySkipReason: {
5
- readonly missingHttpResponse: "missing http response";
6
- readonly reachability: "reachability";
7
- readonly alreadyInProgress: "already in progress";
8
- };
9
- export type TurnDiscoverySkipReason = Enum<typeof TurnDiscoverySkipReason> | string | undefined;
10
- export type TurnServerInfo = {
11
- url: string;
12
- username: string;
13
- password: string;
14
- };
15
- export type TurnDiscoveryResult = {
16
- turnServerInfo?: TurnServerInfo;
17
- turnDiscoverySkippedReason: TurnDiscoverySkipReason;
18
- };
3
+ import { TurnDiscoverySkipReason, TurnDiscoveryResult } from './types';
19
4
  /**
20
5
  * Handles the process of finding out TURN server information from Linus.
21
6
  * This is achieved by sending a TURN_DISCOVERY_REQUEST.
@@ -25,6 +10,10 @@ export default class TurnDiscovery {
25
10
  private defer?;
26
11
  private turnInfo;
27
12
  private responseTimer?;
13
+ /** Resets the turnInfo structure to the defaults
14
+ * @returns {void}
15
+ */
16
+ private resetTurnInfo;
28
17
  /**
29
18
  * Constructor
30
19
  *
@@ -152,4 +141,3 @@ export default class TurnDiscovery {
152
141
  */
153
142
  doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean, isForced?: boolean): Promise<TurnDiscoveryResult>;
154
143
  }
155
- export {};
@@ -0,0 +1,16 @@
1
+ import { Enum } from '../constants';
2
+ export declare const TurnDiscoverySkipReason: {
3
+ readonly missingHttpResponse: "missing http response";
4
+ readonly reachability: "reachability";
5
+ readonly alreadyInProgress: "already in progress";
6
+ };
7
+ export type TurnDiscoverySkipReason = Enum<typeof TurnDiscoverySkipReason> | string | undefined;
8
+ export type TurnServerInfo = {
9
+ urls: string[];
10
+ username: string;
11
+ password: string;
12
+ };
13
+ export type TurnDiscoveryResult = {
14
+ turnServerInfo?: TurnServerInfo;
15
+ turnDiscoverySkippedReason: TurnDiscoverySkipReason;
16
+ };
@@ -142,7 +142,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
142
142
  * @returns {void}
143
143
  */
144
144
  updatePracticeSessionStatus: function updatePracticeSessionStatus(payload) {
145
- this.set('practiceSessionEnabled', payload.enabled);
145
+ this.set('practiceSessionEnabled', !!(payload !== null && payload !== void 0 && payload.enabled));
146
146
  },
147
147
  /**
148
148
  * start webcast mode for webinar
@@ -458,7 +458,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
458
458
  }, _callee7);
459
459
  }))();
460
460
  },
461
- version: "3.8.0"
461
+ version: "3.8.1-next.1"
462
462
  });
463
463
  var _default = exports.default = Webinar;
464
464
  //# sourceMappingURL=index.js.map