@webex/plugin-meetings 3.7.0 → 3.8.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 (351) hide show
  1. package/dist/annotation/annotation.types.d.ts +42 -0
  2. package/dist/annotation/constants.d.ts +31 -0
  3. package/dist/annotation/index.d.ts +117 -0
  4. package/dist/annotation/index.js +17 -0
  5. package/dist/annotation/index.js.map +1 -1
  6. package/dist/breakouts/breakout.d.ts +8 -0
  7. package/dist/breakouts/breakout.js +1 -1
  8. package/dist/breakouts/collection.d.ts +5 -0
  9. package/dist/breakouts/edit-lock-error.d.ts +15 -0
  10. package/dist/breakouts/events.d.ts +8 -0
  11. package/dist/breakouts/index.d.ts +5 -0
  12. package/dist/breakouts/index.js +1 -1
  13. package/dist/breakouts/request.d.ts +22 -0
  14. package/dist/breakouts/utils.d.ts +15 -0
  15. package/dist/common/browser-detection.d.ts +9 -0
  16. package/dist/common/collection.d.ts +48 -0
  17. package/dist/common/config.d.ts +2 -0
  18. package/dist/common/errors/captcha-error.d.ts +15 -0
  19. package/dist/common/errors/intent-to-join.d.ts +16 -0
  20. package/dist/common/errors/join-forbidden-error.js +52 -0
  21. package/dist/common/errors/join-forbidden-error.js.map +1 -0
  22. package/dist/common/errors/join-meeting.d.ts +17 -0
  23. package/dist/common/errors/{webinar-registration-error.js → join-webinar-error.js} +12 -12
  24. package/dist/common/errors/join-webinar-error.js.map +1 -0
  25. package/dist/common/errors/media.d.ts +15 -0
  26. package/dist/common/errors/multistream-not-supported-error.js +53 -0
  27. package/dist/common/errors/multistream-not-supported-error.js.map +1 -0
  28. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  29. package/dist/common/errors/parameter.d.ts +15 -0
  30. package/dist/common/errors/password-error.d.ts +15 -0
  31. package/dist/common/errors/permission.d.ts +14 -0
  32. package/dist/common/errors/reclaim-host-role-error.js +149 -0
  33. package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
  34. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  35. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  36. package/dist/common/errors/reconnection-in-progress.js +33 -0
  37. package/dist/common/errors/reconnection-in-progress.js.map +1 -0
  38. package/dist/common/errors/reconnection.d.ts +15 -0
  39. package/dist/common/errors/stats.d.ts +15 -0
  40. package/dist/common/errors/webex-errors.d.ts +93 -0
  41. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  42. package/dist/common/events/events-scope.d.ts +17 -0
  43. package/dist/common/events/events.d.ts +12 -0
  44. package/dist/common/events/trigger-proxy.d.ts +2 -0
  45. package/dist/common/events/util.d.ts +2 -0
  46. package/dist/common/logs/logger-config.d.ts +2 -0
  47. package/dist/common/logs/logger-proxy.d.ts +2 -0
  48. package/dist/common/logs/request.d.ts +36 -0
  49. package/dist/common/queue.d.ts +34 -0
  50. package/dist/config.d.ts +72 -0
  51. package/dist/config.js +2 -1
  52. package/dist/config.js.map +1 -1
  53. package/dist/constants.d.ts +1088 -0
  54. package/dist/constants.js +68 -6
  55. package/dist/constants.js.map +1 -1
  56. package/dist/controls-options-manager/constants.d.ts +4 -0
  57. package/dist/controls-options-manager/enums.d.ts +15 -0
  58. package/dist/controls-options-manager/index.d.ts +136 -0
  59. package/dist/controls-options-manager/types.d.ts +43 -0
  60. package/dist/controls-options-manager/util.d.ts +1 -0
  61. package/dist/index.d.ts +7 -0
  62. package/dist/index.js +16 -11
  63. package/dist/index.js.map +1 -1
  64. package/dist/interceptors/index.d.ts +2 -0
  65. package/dist/interceptors/locusRetry.d.ts +27 -0
  66. package/dist/interpretation/collection.d.ts +5 -0
  67. package/dist/interpretation/index.d.ts +5 -0
  68. package/dist/interpretation/index.js +1 -1
  69. package/dist/interpretation/siLanguage.d.ts +5 -0
  70. package/dist/interpretation/siLanguage.js +1 -1
  71. package/dist/locus-info/controlsUtils.d.ts +2 -0
  72. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  73. package/dist/locus-info/fullState.d.ts +2 -0
  74. package/dist/locus-info/hostUtils.d.ts +2 -0
  75. package/dist/locus-info/index.d.ts +322 -0
  76. package/dist/locus-info/index.js +14 -3
  77. package/dist/locus-info/index.js.map +1 -1
  78. package/dist/locus-info/infoUtils.d.ts +2 -0
  79. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  80. package/dist/locus-info/parser.d.ts +272 -0
  81. package/dist/locus-info/selfUtils.d.ts +2 -0
  82. package/dist/locus-info/selfUtils.js +35 -17
  83. package/dist/locus-info/selfUtils.js.map +1 -1
  84. package/dist/media/MediaConnectionAwaiter.js +1 -0
  85. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  86. package/dist/media/index.d.ts +34 -0
  87. package/dist/media/properties.d.ts +93 -0
  88. package/dist/media/properties.js +30 -16
  89. package/dist/media/properties.js.map +1 -1
  90. package/dist/media/util.d.ts +2 -0
  91. package/dist/mediaQualityMetrics/config.d.ts +241 -0
  92. package/dist/mediaQualityMetrics/config.js +502 -0
  93. package/dist/mediaQualityMetrics/config.js.map +1 -0
  94. package/dist/meeting/brbState.js +167 -0
  95. package/dist/meeting/brbState.js.map +1 -0
  96. package/dist/meeting/effectsState.js +260 -0
  97. package/dist/meeting/effectsState.js.map +1 -0
  98. package/dist/meeting/in-meeting-actions.d.ts +167 -0
  99. package/dist/meeting/in-meeting-actions.js +13 -1
  100. package/dist/meeting/in-meeting-actions.js.map +1 -1
  101. package/dist/meeting/index.d.ts +1825 -0
  102. package/dist/meeting/index.js +1331 -1051
  103. package/dist/meeting/index.js.map +1 -1
  104. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  105. package/dist/meeting/locusMediaRequest.js +11 -6
  106. package/dist/meeting/locusMediaRequest.js.map +1 -1
  107. package/dist/meeting/muteState.d.ts +178 -0
  108. package/dist/meeting/muteState.js +1 -6
  109. package/dist/meeting/muteState.js.map +1 -1
  110. package/dist/meeting/request.d.ts +295 -0
  111. package/dist/meeting/request.js +51 -29
  112. package/dist/meeting/request.js.map +1 -1
  113. package/dist/meeting/request.type.d.ts +11 -0
  114. package/dist/meeting/request.type.js.map +1 -1
  115. package/dist/meeting/state.d.ts +9 -0
  116. package/dist/meeting/util.d.ts +119 -0
  117. package/dist/meeting/util.js +103 -67
  118. package/dist/meeting/util.js.map +1 -1
  119. package/dist/meeting/voicea-meeting.d.ts +16 -0
  120. package/dist/meeting-info/collection.d.ts +20 -0
  121. package/dist/meeting-info/index.d.ts +69 -0
  122. package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
  123. package/dist/meeting-info/meeting-info-v2.js +115 -45
  124. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  125. package/dist/meeting-info/request.d.ts +22 -0
  126. package/dist/meeting-info/util.d.ts +2 -0
  127. package/dist/meeting-info/utilv2.d.ts +2 -0
  128. package/dist/meeting-info/utilv2.js +6 -2
  129. package/dist/meeting-info/utilv2.js.map +1 -1
  130. package/dist/meetings/collection.d.ts +40 -0
  131. package/dist/meetings/index.d.ts +390 -0
  132. package/dist/meetings/index.js +107 -55
  133. package/dist/meetings/index.js.map +1 -1
  134. package/dist/meetings/meetings.types.d.ts +4 -0
  135. package/dist/meetings/meetings.types.js +2 -0
  136. package/dist/meetings/meetings.types.js.map +1 -1
  137. package/dist/meetings/request.d.ts +27 -0
  138. package/dist/meetings/util.d.ts +18 -0
  139. package/dist/meetings/util.js +1 -1
  140. package/dist/meetings/util.js.map +1 -1
  141. package/dist/member/index.d.ts +160 -0
  142. package/dist/member/index.js +9 -0
  143. package/dist/member/index.js.map +1 -1
  144. package/dist/member/member.types.js +17 -0
  145. package/dist/member/member.types.js.map +1 -0
  146. package/dist/member/types.d.ts +32 -0
  147. package/dist/member/types.js.map +1 -1
  148. package/dist/member/util.d.ts +2 -0
  149. package/dist/member/util.js +39 -28
  150. package/dist/member/util.js.map +1 -1
  151. package/dist/members/collection.d.ts +29 -0
  152. package/dist/members/index.d.ts +353 -0
  153. package/dist/members/request.d.ts +114 -0
  154. package/dist/members/types.d.ts +25 -0
  155. package/dist/members/util.d.ts +215 -0
  156. package/dist/members/util.js +4 -2
  157. package/dist/members/util.js.map +1 -1
  158. package/dist/metrics/config.js +276 -0
  159. package/dist/metrics/config.js.map +1 -0
  160. package/dist/metrics/constants.d.ts +70 -0
  161. package/dist/metrics/constants.js +6 -1
  162. package/dist/metrics/constants.js.map +1 -1
  163. package/dist/metrics/index.d.ts +45 -0
  164. package/dist/multistream/mediaRequestManager.d.ts +119 -0
  165. package/dist/multistream/receiveSlot.d.ts +68 -0
  166. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  167. package/dist/multistream/remoteMedia.d.ts +72 -0
  168. package/dist/multistream/remoteMedia.js +30 -15
  169. package/dist/multistream/remoteMedia.js.map +1 -1
  170. package/dist/multistream/remoteMediaGroup.d.ts +49 -0
  171. package/dist/multistream/remoteMediaManager.d.ts +300 -0
  172. package/dist/multistream/sendSlotManager.d.ts +69 -0
  173. package/dist/multistream/sendSlotManager.js +24 -0
  174. package/dist/multistream/sendSlotManager.js.map +1 -1
  175. package/dist/networkQualityMonitor/index.d.ts +70 -0
  176. package/dist/networkQualityMonitor/index.js +13 -19
  177. package/dist/networkQualityMonitor/index.js.map +1 -1
  178. package/dist/peer-connection-manager/index.js +671 -0
  179. package/dist/peer-connection-manager/index.js.map +1 -0
  180. package/dist/peer-connection-manager/util.js +109 -0
  181. package/dist/peer-connection-manager/util.js.map +1 -0
  182. package/dist/personal-meeting-room/index.d.ts +47 -0
  183. package/dist/personal-meeting-room/request.d.ts +14 -0
  184. package/dist/personal-meeting-room/util.d.ts +2 -0
  185. package/dist/reachability/clusterReachability.d.ts +109 -0
  186. package/dist/reachability/clusterReachability.js +12 -15
  187. package/dist/reachability/clusterReachability.js.map +1 -1
  188. package/dist/reachability/index.d.ts +105 -0
  189. package/dist/reachability/index.js +461 -136
  190. package/dist/reachability/index.js.map +1 -1
  191. package/dist/reachability/reachability.types.js +7 -0
  192. package/dist/reachability/reachability.types.js.map +1 -0
  193. package/dist/reachability/request.d.ts +39 -0
  194. package/dist/reachability/request.js +21 -8
  195. package/dist/reachability/request.js.map +1 -1
  196. package/dist/reachability/util.d.ts +8 -0
  197. package/dist/reactions/constants.d.ts +3 -0
  198. package/dist/reactions/reactions.d.ts +4 -0
  199. package/dist/reactions/reactions.type.d.ts +52 -0
  200. package/dist/reconnection-manager/index.d.ts +136 -0
  201. package/dist/recording-controller/enums.d.ts +7 -0
  202. package/dist/recording-controller/enums.js +8 -4
  203. package/dist/recording-controller/enums.js.map +1 -1
  204. package/dist/recording-controller/index.d.ts +207 -0
  205. package/dist/recording-controller/index.js +18 -9
  206. package/dist/recording-controller/index.js.map +1 -1
  207. package/dist/recording-controller/util.d.ts +14 -0
  208. package/dist/recording-controller/util.js +13 -9
  209. package/dist/recording-controller/util.js.map +1 -1
  210. package/dist/roap/collection.js +62 -0
  211. package/dist/roap/collection.js.map +1 -0
  212. package/dist/roap/handler.js +275 -0
  213. package/dist/roap/handler.js.map +1 -0
  214. package/dist/roap/index.d.ts +86 -0
  215. package/dist/roap/index.js +15 -15
  216. package/dist/roap/index.js.map +1 -1
  217. package/dist/roap/request.d.ts +39 -0
  218. package/dist/roap/request.js +45 -79
  219. package/dist/roap/request.js.map +1 -1
  220. package/dist/roap/state.js +126 -0
  221. package/dist/roap/state.js.map +1 -0
  222. package/dist/roap/turnDiscovery.d.ts +155 -0
  223. package/dist/roap/turnDiscovery.js +3 -6
  224. package/dist/roap/turnDiscovery.js.map +1 -1
  225. package/dist/roap/util.js +75 -0
  226. package/dist/roap/util.js.map +1 -0
  227. package/dist/rtcMetrics/constants.d.ts +4 -0
  228. package/dist/rtcMetrics/index.d.ts +61 -0
  229. package/dist/statsAnalyzer/global.d.ts +36 -0
  230. package/dist/statsAnalyzer/global.js +126 -0
  231. package/dist/statsAnalyzer/global.js.map +1 -0
  232. package/dist/statsAnalyzer/index.d.ts +217 -0
  233. package/dist/statsAnalyzer/index.js +1013 -0
  234. package/dist/statsAnalyzer/index.js.map +1 -0
  235. package/dist/statsAnalyzer/mqaUtil.d.ts +48 -0
  236. package/dist/statsAnalyzer/mqaUtil.js +179 -0
  237. package/dist/statsAnalyzer/mqaUtil.js.map +1 -0
  238. package/dist/transcription/index.d.ts +64 -0
  239. package/dist/types/annotation/index.d.ts +5 -0
  240. package/dist/types/common/errors/join-forbidden-error.d.ts +15 -0
  241. package/dist/types/common/errors/{webinar-registration-error.d.ts → join-webinar-error.d.ts} +2 -2
  242. package/dist/types/common/errors/multistream-not-supported-error.d.ts +17 -0
  243. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  244. package/dist/types/config.d.ts +1 -0
  245. package/dist/types/constants.d.ts +53 -1
  246. package/dist/types/index.d.ts +3 -3
  247. package/dist/types/locus-info/index.d.ts +2 -1
  248. package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
  249. package/dist/types/meeting/brbState.d.ts +54 -0
  250. package/dist/types/meeting/in-meeting-actions.d.ts +12 -0
  251. package/dist/types/meeting/index.d.ts +64 -14
  252. package/dist/types/meeting/locusMediaRequest.d.ts +6 -3
  253. package/dist/types/meeting/request.d.ts +14 -3
  254. package/dist/types/meeting/request.type.d.ts +6 -0
  255. package/dist/types/meeting/util.d.ts +3 -3
  256. package/dist/types/meeting-info/meeting-info-v2.d.ts +30 -5
  257. package/dist/types/meetings/index.d.ts +20 -2
  258. package/dist/types/meetings/meetings.types.d.ts +8 -0
  259. package/dist/types/member/index.d.ts +1 -0
  260. package/dist/types/member/types.d.ts +7 -0
  261. package/dist/types/members/util.d.ts +2 -0
  262. package/dist/types/metrics/constants.d.ts +6 -1
  263. package/dist/types/multistream/sendSlotManager.d.ts +8 -1
  264. package/dist/types/reachability/clusterReachability.d.ts +1 -10
  265. package/dist/types/reachability/index.d.ts +83 -36
  266. package/dist/types/reachability/reachability.types.d.ts +64 -0
  267. package/dist/types/reachability/request.d.ts +5 -1
  268. package/dist/types/recording-controller/enums.d.ts +5 -2
  269. package/dist/types/recording-controller/index.d.ts +1 -0
  270. package/dist/types/recording-controller/util.d.ts +2 -1
  271. package/dist/types/roap/request.d.ts +1 -13
  272. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  273. package/dist/types/statsAnalyzer/index.d.ts +217 -0
  274. package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
  275. package/dist/webinar/collection.d.ts +16 -0
  276. package/dist/webinar/index.d.ts +5 -0
  277. package/dist/webinar/index.js +390 -7
  278. package/dist/webinar/index.js.map +1 -1
  279. package/package.json +23 -22
  280. package/src/annotation/index.ts +16 -0
  281. package/src/common/errors/join-forbidden-error.ts +26 -0
  282. package/src/common/errors/join-webinar-error.ts +24 -0
  283. package/src/common/errors/multistream-not-supported-error.ts +30 -0
  284. package/src/config.ts +1 -0
  285. package/src/constants.ts +61 -3
  286. package/src/index.ts +5 -3
  287. package/src/locus-info/index.ts +20 -3
  288. package/src/locus-info/selfUtils.ts +24 -6
  289. package/src/media/MediaConnectionAwaiter.ts +2 -0
  290. package/src/media/properties.ts +34 -13
  291. package/src/meeting/brbState.ts +169 -0
  292. package/src/meeting/in-meeting-actions.ts +25 -0
  293. package/src/meeting/index.ts +443 -87
  294. package/src/meeting/locusMediaRequest.ts +11 -8
  295. package/src/meeting/muteState.ts +1 -6
  296. package/src/meeting/request.ts +30 -12
  297. package/src/meeting/request.type.ts +7 -0
  298. package/src/meeting/util.ts +32 -13
  299. package/src/meeting-info/meeting-info-v2.ts +83 -12
  300. package/src/meeting-info/utilv2.ts +17 -3
  301. package/src/meetings/index.ts +79 -20
  302. package/src/meetings/meetings.types.ts +10 -0
  303. package/src/meetings/util.ts +2 -1
  304. package/src/member/index.ts +9 -0
  305. package/src/member/types.ts +8 -0
  306. package/src/member/util.ts +34 -24
  307. package/src/members/util.ts +1 -0
  308. package/src/metrics/constants.ts +6 -1
  309. package/src/multistream/remoteMedia.ts +28 -15
  310. package/src/multistream/sendSlotManager.ts +31 -0
  311. package/src/reachability/clusterReachability.ts +5 -15
  312. package/src/reachability/index.ts +311 -75
  313. package/src/reachability/reachability.types.ts +85 -0
  314. package/src/reachability/request.ts +55 -31
  315. package/src/recording-controller/enums.ts +5 -2
  316. package/src/recording-controller/index.ts +17 -4
  317. package/src/recording-controller/util.ts +20 -5
  318. package/src/roap/index.ts +14 -13
  319. package/src/roap/request.ts +30 -44
  320. package/src/roap/turnDiscovery.ts +2 -4
  321. package/src/webinar/index.ts +235 -9
  322. package/test/unit/spec/annotation/index.ts +46 -1
  323. package/test/unit/spec/locus-info/index.js +292 -60
  324. package/test/unit/spec/locus-info/selfConstant.js +7 -0
  325. package/test/unit/spec/locus-info/selfUtils.js +101 -1
  326. package/test/unit/spec/media/properties.ts +15 -0
  327. package/test/unit/spec/meeting/brbState.ts +114 -0
  328. package/test/unit/spec/meeting/in-meeting-actions.ts +15 -1
  329. package/test/unit/spec/meeting/index.js +851 -107
  330. package/test/unit/spec/meeting/locusMediaRequest.ts +18 -11
  331. package/test/unit/spec/meeting/muteState.js +0 -24
  332. package/test/unit/spec/meeting/request.js +3 -26
  333. package/test/unit/spec/meeting/utils.js +73 -28
  334. package/test/unit/spec/meeting-info/meetinginfov2.js +46 -4
  335. package/test/unit/spec/meeting-info/utilv2.js +26 -0
  336. package/test/unit/spec/meetings/index.js +159 -18
  337. package/test/unit/spec/meetings/utils.js +10 -0
  338. package/test/unit/spec/member/util.js +52 -11
  339. package/test/unit/spec/members/utils.js +95 -0
  340. package/test/unit/spec/multistream/remoteMedia.ts +11 -7
  341. package/test/unit/spec/reachability/clusterReachability.ts +7 -0
  342. package/test/unit/spec/reachability/index.ts +383 -9
  343. package/test/unit/spec/reachability/request.js +48 -12
  344. package/test/unit/spec/recording-controller/index.js +61 -5
  345. package/test/unit/spec/recording-controller/util.js +39 -3
  346. package/test/unit/spec/roap/index.ts +48 -1
  347. package/test/unit/spec/roap/request.ts +51 -109
  348. package/test/unit/spec/roap/turnDiscovery.ts +202 -147
  349. package/test/unit/spec/webinar/index.ts +504 -0
  350. package/dist/common/errors/webinar-registration-error.js.map +0 -1
  351. package/src/common/errors/webinar-registration-error.ts +0 -27
@@ -0,0 +1,39 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import { IP_VERSION } from '../constants';
3
+ import { LocusMediaRequest } from '../meeting/locusMediaRequest';
4
+ /**
5
+ * @class RoapRequest
6
+ */
7
+ export default class RoapRequest extends StatelessWebexPlugin {
8
+ /**
9
+ * Returns reachability data.
10
+ * @param {Object} localSdp
11
+ * @returns {Object}
12
+ */
13
+ attachReachabilityData(localSdp: any): Promise<{
14
+ localSdp: any;
15
+ joinCookie: any;
16
+ }>;
17
+ /**
18
+ * Sends a ROAP message
19
+ * @param {Object} options
20
+ * @param {Object} options.roapMessage
21
+ * @param {String} options.locusSelfUrl
22
+ * @param {String} options.mediaId
23
+ * @param {String} options.correlationId
24
+ * @param {String} options.meetingId
25
+ * @param {IP_VERSION} options.ipVersion only required for offers
26
+ * @returns {Promise} returns the response/failure of the request
27
+ */
28
+ sendRoap(options: {
29
+ roapMessage: any;
30
+ locusSelfUrl: string;
31
+ mediaId: string;
32
+ meetingId: string;
33
+ ipVersion?: IP_VERSION;
34
+ locusMediaRequest?: LocusMediaRequest;
35
+ }): Promise<{
36
+ mediaConnections: any;
37
+ locus: any;
38
+ }>;
39
+ }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
- var _Object$keys2 = require("@babel/runtime-corejs2/core-js/object/keys");
4
+ var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
5
5
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
6
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
7
7
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
@@ -13,7 +13,6 @@ _Object$defineProperty(exports, "__esModule", {
13
13
  });
14
14
  exports.default = void 0;
15
15
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
16
- var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
17
16
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
18
17
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
19
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
@@ -26,7 +25,8 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
26
25
  var _webexCore = require("@webex/webex-core");
27
26
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
28
27
  var _constants = require("../constants");
29
- function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
28
+ var _util = _interopRequireDefault(require("../meeting/util"));
29
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30
30
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
31
31
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
32
32
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } // @ts-ignore
@@ -41,54 +41,8 @@ var RoapRequest = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin
41
41
  return _super.apply(this, arguments);
42
42
  }
43
43
  (0, _createClass2.default)(RoapRequest, [{
44
- key: "attachReachabilityData",
44
+ key: "sendRoap",
45
45
  value: (
46
- /**
47
- * Returns reachability data.
48
- * @param {Object} localSdp
49
- * @returns {Object}
50
- */
51
- function () {
52
- var _attachReachabilityData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(localSdp) {
53
- var joinCookie, reachabilityResult, joinCookieRaw;
54
- return _regenerator.default.wrap(function _callee$(_context) {
55
- while (1) switch (_context.prev = _context.next) {
56
- case 0:
57
- _context.next = 2;
58
- return this.webex.meetings.reachability.getReachabilityResults();
59
- case 2:
60
- reachabilityResult = _context.sent;
61
- if (reachabilityResult && (0, _keys.default)(reachabilityResult).length) {
62
- localSdp.reachability = reachabilityResult;
63
- }
64
-
65
- // @ts-ignore
66
- _context.next = 6;
67
- return this.webex.boundedStorage.get(_constants.REACHABILITY.namespace, _constants.REACHABILITY.localStorageJoinCookie).catch(function () {});
68
- case 6:
69
- joinCookieRaw = _context.sent;
70
- if (joinCookieRaw) {
71
- try {
72
- joinCookie = JSON.parse(joinCookieRaw);
73
- } catch (e) {
74
- _loggerProxy.default.logger.error("MeetingRequest#constructor --> Error in parsing join cookie data: ".concat(e));
75
- }
76
- }
77
- return _context.abrupt("return", {
78
- localSdp: localSdp,
79
- joinCookie: joinCookie
80
- });
81
- case 9:
82
- case "end":
83
- return _context.stop();
84
- }
85
- }, _callee, this);
86
- }));
87
- function attachReachabilityData(_x) {
88
- return _attachReachabilityData.apply(this, arguments);
89
- }
90
- return attachReachabilityData;
91
- }()
92
46
  /**
93
47
  * Sends a ROAP message
94
48
  * @param {Object} options
@@ -97,46 +51,58 @@ var RoapRequest = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin
97
51
  * @param {String} options.mediaId
98
52
  * @param {String} options.correlationId
99
53
  * @param {String} options.meetingId
100
- * @param {IP_VERSION} options.ipVersion only required for offers
101
54
  * @returns {Promise} returns the response/failure of the request
102
55
  */
103
- )
104
- }, {
105
- key: "sendRoap",
106
- value: (function () {
107
- var _sendRoap = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
108
- var roapMessage, locusSelfUrl, mediaId, locusMediaRequest, ipVersion, _yield$this$attachRea, localSdpWithReachabilityData, joinCookie;
109
- return _regenerator.default.wrap(function _callee2$(_context2) {
110
- while (1) switch (_context2.prev = _context2.next) {
56
+ function () {
57
+ var _sendRoap = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
58
+ var _clientMediaPreferenc, _clientMediaPreferenc2;
59
+ var roapMessage, locusSelfUrl, isMultistream, mediaId, locusMediaRequest, reachability, clientMediaPreferences;
60
+ return _regenerator.default.wrap(function _callee$(_context) {
61
+ while (1) switch (_context.prev = _context.next) {
111
62
  case 0:
112
- roapMessage = options.roapMessage, locusSelfUrl = options.locusSelfUrl, mediaId = options.mediaId, locusMediaRequest = options.locusMediaRequest, ipVersion = options.ipVersion;
63
+ roapMessage = options.roapMessage, locusSelfUrl = options.locusSelfUrl, isMultistream = options.isMultistream, mediaId = options.mediaId, locusMediaRequest = options.locusMediaRequest;
113
64
  if (!mediaId) {
114
65
  _loggerProxy.default.logger.info('Roap:request#sendRoap --> sending empty mediaID');
115
66
  }
116
67
  if (locusMediaRequest) {
117
- _context2.next = 5;
68
+ _context.next = 5;
118
69
  break;
119
70
  }
120
71
  _loggerProxy.default.logger.warn('Roap:request#sendRoap --> locusMediaRequest unavailable, not sending roap');
121
- return _context2.abrupt("return", _promise.default.reject(new Error('sendRoap called when locusMediaRequest is undefined')));
72
+ return _context.abrupt("return", _promise.default.reject(new Error('sendRoap called when locusMediaRequest is undefined')));
122
73
  case 5:
123
- _context2.next = 7;
124
- return this.attachReachabilityData({
125
- roapMessage: roapMessage
126
- });
127
- case 7:
128
- _yield$this$attachRea = _context2.sent;
129
- localSdpWithReachabilityData = _yield$this$attachRea.localSdp;
130
- joinCookie = _yield$this$attachRea.joinCookie;
131
- _loggerProxy.default.logger.info("Roap:request#sendRoap --> ".concat(roapMessage.messageType, " seq:").concat(roapMessage.seq, " ").concat(ipVersion ? "ipver=".concat(ipVersion, " ") : '', " ").concat(locusSelfUrl));
132
- return _context2.abrupt("return", locusMediaRequest.send({
74
+ clientMediaPreferences = {
75
+ // bare minimum fallback value that should allow us to join;
76
+ joinCookie: undefined,
77
+ ipver: _constants.IP_VERSION.unknown,
78
+ preferTranscoding: !isMultistream
79
+ };
80
+ _context.prev = 6;
81
+ _context.next = 9;
82
+ return this.webex.meetings.reachability.getClientMediaPreferences(isMultistream,
83
+ // @ts-ignore
84
+ _util.default.getIpVersion(this.webex));
85
+ case 9:
86
+ clientMediaPreferences = _context.sent;
87
+ _context.next = 12;
88
+ return this.webex.meetings.reachability.getReachabilityReportToAttachToRoap();
89
+ case 12:
90
+ reachability = _context.sent;
91
+ _context.next = 18;
92
+ break;
93
+ case 15:
94
+ _context.prev = 15;
95
+ _context.t0 = _context["catch"](6);
96
+ _loggerProxy.default.logger.error('Roap:request#sendRoap --> reachability error:', _context.t0);
97
+ case 18:
98
+ _loggerProxy.default.logger.info("Roap:request#sendRoap --> ".concat(roapMessage.messageType, " seq:").concat(roapMessage.seq, " ").concat((_clientMediaPreferenc = clientMediaPreferences) !== null && _clientMediaPreferenc !== void 0 && _clientMediaPreferenc.ipver ? "ipver=".concat((_clientMediaPreferenc2 = clientMediaPreferences) === null || _clientMediaPreferenc2 === void 0 ? void 0 : _clientMediaPreferenc2.ipver, " ") : '', " ").concat(locusSelfUrl));
99
+ return _context.abrupt("return", locusMediaRequest.send({
133
100
  type: 'RoapMessage',
134
101
  selfUrl: locusSelfUrl,
135
- joinCookie: joinCookie,
136
102
  mediaId: mediaId,
137
103
  roapMessage: roapMessage,
138
- reachability: localSdpWithReachabilityData.reachability,
139
- ipVersion: ipVersion
104
+ reachability: reachability,
105
+ clientMediaPreferences: clientMediaPreferences
140
106
  }).then(function (res) {
141
107
  // always it will be the first mediaConnection Object
142
108
  var mediaConnections = res.body.mediaConnections && res.body.mediaConnections.length > 0 && res.body.mediaConnections[0];
@@ -153,13 +119,13 @@ var RoapRequest = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin
153
119
  _loggerProxy.default.logger.error("Roap:request#sendRoapRequest --> roapMessage that caused error:".concat((0, _stringify.default)(roapMessage, null, 2), " + '\\n mediaId:'").concat(options.mediaId));
154
120
  throw err;
155
121
  }));
156
- case 12:
122
+ case 20:
157
123
  case "end":
158
- return _context2.stop();
124
+ return _context.stop();
159
125
  }
160
- }, _callee2, this);
126
+ }, _callee, this, [[6, 15]]);
161
127
  }));
162
- function sendRoap(_x2) {
128
+ function sendRoap(_x) {
163
129
  return _sendRoap.apply(this, arguments);
164
130
  }
165
131
  return sendRoap;
@@ -1 +1 @@
1
- {"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","RoapRequest","exports","_StatelessWebexPlugin","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_attachReachabilityData","_asyncToGenerator2","_regenerator","mark","_callee","localSdp","joinCookie","reachabilityResult","joinCookieRaw","wrap","_callee$","_context","prev","next","webex","meetings","reachability","getReachabilityResults","sent","_keys","boundedStorage","get","REACHABILITY","namespace","localStorageJoinCookie","catch","JSON","parse","LoggerProxy","logger","error","concat","abrupt","stop","attachReachabilityData","_x","_sendRoap","_callee2","options","roapMessage","locusSelfUrl","mediaId","locusMediaRequest","ipVersion","_yield$this$attachRea","localSdpWithReachabilityData","_callee2$","_context2","info","warn","_promise","reject","Error","messageType","seq","send","type","selfUrl","then","res","mediaConnections","body","debug","_stringify","statusCode","locus","roapSeq","err","sendRoap","_x2","StatelessWebexPlugin"],"sources":["request.ts"],"sourcesContent":["// @ts-ignore\nimport {StatelessWebexPlugin} from '@webex/webex-core';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {IP_VERSION, REACHABILITY} from '../constants';\nimport {LocusMediaRequest} from '../meeting/locusMediaRequest';\n\n/**\n * @class RoapRequest\n */\nexport default class RoapRequest extends StatelessWebexPlugin {\n /**\n * Returns reachability data.\n * @param {Object} localSdp\n * @returns {Object}\n */\n async attachReachabilityData(localSdp) {\n let joinCookie;\n\n // @ts-ignore\n const reachabilityResult = await this.webex.meetings.reachability.getReachabilityResults();\n\n if (reachabilityResult && Object.keys(reachabilityResult).length) {\n localSdp.reachability = reachabilityResult;\n }\n\n // @ts-ignore\n const joinCookieRaw = await this.webex.boundedStorage\n .get(REACHABILITY.namespace, REACHABILITY.localStorageJoinCookie)\n .catch(() => {});\n\n if (joinCookieRaw) {\n try {\n joinCookie = JSON.parse(joinCookieRaw);\n } catch (e) {\n LoggerProxy.logger.error(\n `MeetingRequest#constructor --> Error in parsing join cookie data: ${e}`\n );\n }\n }\n\n return {localSdp, joinCookie};\n }\n\n /**\n * Sends a ROAP message\n * @param {Object} options\n * @param {Object} options.roapMessage\n * @param {String} options.locusSelfUrl\n * @param {String} options.mediaId\n * @param {String} options.correlationId\n * @param {String} options.meetingId\n * @param {IP_VERSION} options.ipVersion only required for offers\n * @returns {Promise} returns the response/failure of the request\n */\n async sendRoap(options: {\n roapMessage: any;\n locusSelfUrl: string;\n mediaId: string;\n meetingId: string;\n ipVersion?: IP_VERSION;\n locusMediaRequest?: LocusMediaRequest;\n }) {\n const {roapMessage, locusSelfUrl, mediaId, locusMediaRequest, ipVersion} = options;\n\n if (!mediaId) {\n LoggerProxy.logger.info('Roap:request#sendRoap --> sending empty mediaID');\n }\n\n if (!locusMediaRequest) {\n LoggerProxy.logger.warn(\n 'Roap:request#sendRoap --> locusMediaRequest unavailable, not sending roap'\n );\n\n return Promise.reject(new Error('sendRoap called when locusMediaRequest is undefined'));\n }\n const {localSdp: localSdpWithReachabilityData, joinCookie} = await this.attachReachabilityData({\n roapMessage,\n });\n\n LoggerProxy.logger.info(\n `Roap:request#sendRoap --> ${roapMessage.messageType} seq:${roapMessage.seq} ${\n ipVersion ? `ipver=${ipVersion} ` : ''\n } ${locusSelfUrl}`\n );\n\n return locusMediaRequest\n .send({\n type: 'RoapMessage',\n selfUrl: locusSelfUrl,\n joinCookie,\n mediaId,\n roapMessage,\n reachability: localSdpWithReachabilityData.reachability,\n ipVersion,\n })\n .then((res) => {\n // always it will be the first mediaConnection Object\n const mediaConnections =\n res.body.mediaConnections &&\n res.body.mediaConnections.length > 0 &&\n res.body.mediaConnections[0];\n\n LoggerProxy.logger.debug(\n `Roap:request#sendRoap --> response:${JSON.stringify(\n mediaConnections,\n null,\n 2\n )}'\\n StatusCode:'${res.statusCode}`\n );\n const {locus} = res.body;\n\n locus.roapSeq = options.roapMessage.seq;\n\n return {\n locus,\n ...(mediaConnections && {mediaConnections: res.body.mediaConnections}),\n };\n })\n .catch((err) => {\n LoggerProxy.logger.error(`Roap:request#sendRoap --> Error:`, err);\n LoggerProxy.logger.error(\n `Roap:request#sendRoapRequest --> roapMessage that caused error:${JSON.stringify(\n roapMessage,\n null,\n 2\n )} + '\\\\n mediaId:'${options.mediaId}`\n );\n throw err;\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","_util","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","RoapRequest","exports","_StatelessWebexPlugin","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_sendRoap","_asyncToGenerator2","_regenerator","mark","_callee","options","_clientMediaPreferenc","_clientMediaPreferenc2","roapMessage","locusSelfUrl","isMultistream","mediaId","locusMediaRequest","reachability","clientMediaPreferences","wrap","_callee$","_context","prev","next","LoggerProxy","logger","info","warn","abrupt","_promise","reject","Error","joinCookie","undefined","ipver","IP_VERSION","unknown","preferTranscoding","webex","meetings","getClientMediaPreferences","MeetingUtil","getIpVersion","sent","getReachabilityReportToAttachToRoap","t0","error","concat","messageType","seq","send","type","selfUrl","then","res","mediaConnections","body","debug","_stringify","statusCode","locus","roapSeq","catch","err","stop","sendRoap","_x","StatelessWebexPlugin"],"sources":["request.ts"],"sourcesContent":["// @ts-ignore\nimport {StatelessWebexPlugin} from '@webex/webex-core';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {IP_VERSION, REACHABILITY} from '../constants';\nimport {LocusMediaRequest} from '../meeting/locusMediaRequest';\nimport MeetingUtil from '../meeting/util';\nimport {ClientMediaPreferences} from '../reachability/reachability.types';\n\n/**\n * @class RoapRequest\n */\nexport default class RoapRequest extends StatelessWebexPlugin {\n /**\n * Sends a ROAP message\n * @param {Object} options\n * @param {Object} options.roapMessage\n * @param {String} options.locusSelfUrl\n * @param {String} options.mediaId\n * @param {String} options.correlationId\n * @param {String} options.meetingId\n * @returns {Promise} returns the response/failure of the request\n */\n async sendRoap(options: {\n roapMessage: any;\n locusSelfUrl: string;\n mediaId: string;\n isMultistream: boolean;\n locusMediaRequest?: LocusMediaRequest;\n }) {\n const {roapMessage, locusSelfUrl, isMultistream, mediaId, locusMediaRequest} = options;\n\n if (!mediaId) {\n LoggerProxy.logger.info('Roap:request#sendRoap --> sending empty mediaID');\n }\n\n if (!locusMediaRequest) {\n LoggerProxy.logger.warn(\n 'Roap:request#sendRoap --> locusMediaRequest unavailable, not sending roap'\n );\n\n return Promise.reject(new Error('sendRoap called when locusMediaRequest is undefined'));\n }\n\n let reachability;\n let clientMediaPreferences: ClientMediaPreferences = {\n // bare minimum fallback value that should allow us to join;\n joinCookie: undefined,\n ipver: IP_VERSION.unknown,\n preferTranscoding: !isMultistream,\n };\n\n try {\n clientMediaPreferences =\n // @ts-ignore\n await this.webex.meetings.reachability.getClientMediaPreferences(\n isMultistream,\n // @ts-ignore\n MeetingUtil.getIpVersion(this.webex)\n );\n reachability =\n // @ts-ignore\n await this.webex.meetings.reachability.getReachabilityReportToAttachToRoap();\n } catch (error) {\n LoggerProxy.logger.error('Roap:request#sendRoap --> reachability error:', error);\n }\n\n LoggerProxy.logger.info(\n `Roap:request#sendRoap --> ${roapMessage.messageType} seq:${roapMessage.seq} ${\n clientMediaPreferences?.ipver ? `ipver=${clientMediaPreferences?.ipver} ` : ''\n } ${locusSelfUrl}`\n );\n\n return locusMediaRequest\n .send({\n type: 'RoapMessage',\n selfUrl: locusSelfUrl,\n mediaId,\n roapMessage,\n reachability,\n clientMediaPreferences,\n })\n .then((res) => {\n // always it will be the first mediaConnection Object\n const mediaConnections =\n res.body.mediaConnections &&\n res.body.mediaConnections.length > 0 &&\n res.body.mediaConnections[0];\n\n LoggerProxy.logger.debug(\n `Roap:request#sendRoap --> response:${JSON.stringify(\n mediaConnections,\n null,\n 2\n )}'\\n StatusCode:'${res.statusCode}`\n );\n const {locus} = res.body;\n\n locus.roapSeq = options.roapMessage.seq;\n\n return {\n locus,\n ...(mediaConnections && {mediaConnections: res.body.mediaConnections}),\n };\n })\n .catch((err) => {\n LoggerProxy.logger.error(`Roap:request#sendRoap --> Error:`, err);\n LoggerProxy.logger.error(\n `Roap:request#sendRoapRequest --> roapMessage that caused error:${JSON.stringify(\n roapMessage,\n null,\n 2\n )} + '\\\\n mediaId:'${options.mediaId}`\n );\n throw err;\n });\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
5
+ _Object$defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _javascriptStateMachine = _interopRequireDefault(require("javascript-state-machine"));
10
+ var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
11
+ var _constants = require("../constants");
12
+ var shouldStep = function shouldStep(roap, meeting) {
13
+ var messageType = roap.msg.messageType;
14
+ if (meeting) {
15
+ if (messageType === _constants._OFFER_ && roap.remote && meeting.shareStatus === _constants._REQUESTED_) {
16
+ // The peer-connection is waiting for answer but got an offer Reset. Try to
17
+ // send the offer later after you accept the answer
18
+ return false;
19
+ }
20
+ // Assuming the mercury event has come first before the response for the event
21
+ // we have to wait for the response and trigger the ROAP request later on
22
+ if (!meeting.mediaProperties.peerConnection && messageType === _constants._ANSWER_) {
23
+ return false;
24
+ }
25
+ }
26
+ _loggerProxy.default.logger.log('Roap:state#shouldStep --> RoapStateMachine: PeerConnectionState, ', meeting.mediaProperties.peerConnection.signalingState);
27
+ _loggerProxy.default.logger.log('Roap:state#shouldStep --> RoapStateMachine: success save proceeding with transition, ', roap.msg);
28
+ return true;
29
+ };
30
+ var handleTransition = function handleTransition(value, signal, meeting) {
31
+ _loggerProxy.default.logger.log("Roap:state#handleTransition --> current ".concat(value, " to ").concat(signal));
32
+ switch (value) {
33
+ case _constants.ROAP.ROAP_STATE.INIT:
34
+ if (signal === _constants.ROAP.ROAP_SIGNAL.RX_OFFER) {
35
+ return _constants.ROAP.ROAP_STATE.WAIT_TX_ANSWER;
36
+ }
37
+ if (signal === _constants.ROAP.ROAP_SIGNAL.TX_OFFER) {
38
+ return _constants.ROAP.ROAP_STATE.WAIT_RX_ANSWER;
39
+ }
40
+ return value;
41
+ case _constants.ROAP.ROAP_STATE.WAIT_RX_OFFER:
42
+ return value;
43
+ case _constants.ROAP.ROAP_STATE.WAIT_RX_ANSWER:
44
+ if (signal === _constants.ROAP.ROAP_SIGNAL.RX_ANSWER) {
45
+ // There is a race condition where the /call response comes after mercury event from the server
46
+ // As mercury sends roap event if it didnt get back a response. We can send the roap ok after that
47
+ if (meeting.mediaId) {
48
+ return _constants.ROAP.ROAP_STATE.WAIT_TX_OK;
49
+ }
50
+ _loggerProxy.default.logger.error('Roap:state#handleTransition --> Race Condition no mediaId, continuing.');
51
+ return value;
52
+ }
53
+ if (signal === _constants.ROAP.ROAP_SIGNAL.RX_OFFER) {
54
+ return _constants.ROAP.ROAP_STATE.GLARE;
55
+ }
56
+ return value;
57
+ case _constants.ROAP.ROAP_STATE.WAIT_TX_OFFER:
58
+ return value;
59
+ case _constants.ROAP.ROAP_STATE.WAIT_TX_ANSWER:
60
+ if (signal === _constants.ROAP.ROAP_SIGNAL.TX_ANSWER) {
61
+ return _constants.ROAP.ROAP_STATE.WAIT_RX_OK;
62
+ }
63
+ return value;
64
+ case _constants.ROAP.ROAP_STATE.WAIT_TX_OK:
65
+ if (signal === _constants.ROAP.ROAP_SIGNAL.TX_OK) {
66
+ return _constants.ROAP.ROAP_STATE.INIT;
67
+ }
68
+ return value;
69
+ case _constants.ROAP.ROAP_STATE.WAIT_RX_OK:
70
+ if (signal === _constants.ROAP.ROAP_SIGNAL.RX_OK) {
71
+ return _constants.ROAP.ROAP_STATE.INIT;
72
+ }
73
+ return value;
74
+ case _constants.ROAP.ROAP_STATE.ERROR:
75
+ // eslint-disable-next-line no-warning-comments
76
+ // TODO: resolve error state. Add a signal constant and handle the cleanup
77
+ return _constants.ROAP.ROAP_STATE.INIT;
78
+ case _constants.ROAP.ROAP_STATE.GLARE:
79
+ return _constants.ROAP.ROAP_STATE.WAIT_RX_ANSWER;
80
+ default:
81
+ return value;
82
+ }
83
+ };
84
+ var RoapStateMachine = {
85
+ /**
86
+ * @param {Roap} roapRef
87
+ * initializes the state machine
88
+ * @returns {StateMachine} an instance of a state machine
89
+ */
90
+ createState: function createState() {
91
+ var RoapState = _javascriptStateMachine.default.factory({
92
+ init: _constants.ROAP.ROAP_STATE.INIT,
93
+ transitions: [{
94
+ name: _constants.ROAP.ROAP_TRANSITIONS.STEP,
95
+ from: '*',
96
+ /**
97
+ * Method to handle the transitions between states
98
+ * @param {String} signal
99
+ * @param {Meeting} meeting instance of a Meeting
100
+ * @param {Object} roap
101
+ * @returns {String} new state value
102
+ */
103
+ to: function to(signal, meeting, roap) {
104
+ var value = this.state;
105
+ if (!shouldStep(roap, meeting)) {
106
+ return value;
107
+ }
108
+ return handleTransition(value, signal, meeting);
109
+ }
110
+ }],
111
+ methods: {
112
+ /**
113
+ * Event that fires after we've transitioned to a new state
114
+ * @param {Object} transition
115
+ * @returns {null}
116
+ */
117
+ onAfterStep: function onAfterStep(transition) {
118
+ _loggerProxy.default.logger.log("Roap:state#onAfterStep --> RoapStateMachine->onAfterStep#fired! State changed from '".concat(transition.from, "' to '").concat(transition.to, "' with transition '").concat(transition.transition, "''."));
119
+ }
120
+ }
121
+ });
122
+ return new RoapState();
123
+ }
124
+ };
125
+ var _default = exports.default = RoapStateMachine;
126
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_javascriptStateMachine","_interopRequireDefault","require","_loggerProxy","_constants","shouldStep","roap","meeting","messageType","msg","_OFFER_","remote","shareStatus","_REQUESTED_","mediaProperties","peerConnection","_ANSWER_","LoggerProxy","logger","log","signalingState","handleTransition","value","signal","concat","ROAP","ROAP_STATE","INIT","ROAP_SIGNAL","RX_OFFER","WAIT_TX_ANSWER","TX_OFFER","WAIT_RX_ANSWER","WAIT_RX_OFFER","RX_ANSWER","mediaId","WAIT_TX_OK","error","GLARE","WAIT_TX_OFFER","TX_ANSWER","WAIT_RX_OK","TX_OK","RX_OK","ERROR","RoapStateMachine","createState","RoapState","StateMachine","factory","init","transitions","name","ROAP_TRANSITIONS","STEP","from","to","state","methods","onAfterStep","transition","_default","exports","default"],"sources":["state.ts"],"sourcesContent":["import StateMachine from 'javascript-state-machine';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {ROAP, _OFFER_, _ANSWER_, _REQUESTED_} from '../constants';\nimport Meeting from '../meeting';\n\nconst shouldStep = (roap, meeting) => {\n const {messageType} = roap.msg;\n\n if (meeting) {\n if (messageType === _OFFER_ && roap.remote && meeting.shareStatus === _REQUESTED_) {\n // The peer-connection is waiting for answer but got an offer Reset. Try to\n // send the offer later after you accept the answer\n return false;\n }\n // Assuming the mercury event has come first before the response for the event\n // we have to wait for the response and trigger the ROAP request later on\n if (!meeting.mediaProperties.peerConnection && messageType === _ANSWER_) {\n return false;\n }\n }\n LoggerProxy.logger.log(\n 'Roap:state#shouldStep --> RoapStateMachine: PeerConnectionState, ',\n meeting.mediaProperties.peerConnection.signalingState\n );\n LoggerProxy.logger.log(\n 'Roap:state#shouldStep --> RoapStateMachine: success save proceeding with transition, ',\n roap.msg\n );\n\n return true;\n};\n\nconst handleTransition = (value, signal, meeting) => {\n LoggerProxy.logger.log(`Roap:state#handleTransition --> current ${value} to ${signal}`);\n\n switch (value) {\n case ROAP.ROAP_STATE.INIT:\n if (signal === ROAP.ROAP_SIGNAL.RX_OFFER) {\n return ROAP.ROAP_STATE.WAIT_TX_ANSWER;\n }\n if (signal === ROAP.ROAP_SIGNAL.TX_OFFER) {\n return ROAP.ROAP_STATE.WAIT_RX_ANSWER;\n }\n\n return value;\n\n case ROAP.ROAP_STATE.WAIT_RX_OFFER:\n return value;\n\n case ROAP.ROAP_STATE.WAIT_RX_ANSWER:\n if (signal === ROAP.ROAP_SIGNAL.RX_ANSWER) {\n // There is a race condition where the /call response comes after mercury event from the server\n // As mercury sends roap event if it didnt get back a response. We can send the roap ok after that\n if (meeting.mediaId) {\n return ROAP.ROAP_STATE.WAIT_TX_OK;\n }\n LoggerProxy.logger.error(\n 'Roap:state#handleTransition --> Race Condition no mediaId, continuing.'\n );\n\n return value;\n }\n\n if (signal === ROAP.ROAP_SIGNAL.RX_OFFER) {\n return ROAP.ROAP_STATE.GLARE;\n }\n\n return value;\n\n case ROAP.ROAP_STATE.WAIT_TX_OFFER:\n return value;\n\n case ROAP.ROAP_STATE.WAIT_TX_ANSWER:\n if (signal === ROAP.ROAP_SIGNAL.TX_ANSWER) {\n return ROAP.ROAP_STATE.WAIT_RX_OK;\n }\n\n return value;\n\n case ROAP.ROAP_STATE.WAIT_TX_OK:\n if (signal === ROAP.ROAP_SIGNAL.TX_OK) {\n return ROAP.ROAP_STATE.INIT;\n }\n\n return value;\n\n case ROAP.ROAP_STATE.WAIT_RX_OK:\n if (signal === ROAP.ROAP_SIGNAL.RX_OK) {\n return ROAP.ROAP_STATE.INIT;\n }\n\n return value;\n\n case ROAP.ROAP_STATE.ERROR:\n // eslint-disable-next-line no-warning-comments\n // TODO: resolve error state. Add a signal constant and handle the cleanup\n return ROAP.ROAP_STATE.INIT;\n\n case ROAP.ROAP_STATE.GLARE:\n return ROAP.ROAP_STATE.WAIT_RX_ANSWER;\n default:\n return value;\n }\n};\n\nconst RoapStateMachine = {\n /**\n * @param {Roap} roapRef\n * initializes the state machine\n * @returns {StateMachine} an instance of a state machine\n */\n createState() {\n const RoapState = StateMachine.factory({\n init: ROAP.ROAP_STATE.INIT,\n transitions: [\n {\n name: ROAP.ROAP_TRANSITIONS.STEP,\n from: '*',\n /**\n * Method to handle the transitions between states\n * @param {String} signal\n * @param {Meeting} meeting instance of a Meeting\n * @param {Object} roap\n * @returns {String} new state value\n */\n to(signal: string, meeting: Meeting, roap: object) {\n const value = this.state;\n\n if (!shouldStep(roap, meeting)) {\n return value;\n }\n\n return handleTransition(value, signal, meeting);\n },\n },\n ],\n methods: {\n /**\n * Event that fires after we've transitioned to a new state\n * @param {Object} transition\n * @returns {null}\n */\n onAfterStep(transition: any) {\n LoggerProxy.logger.log(\n `Roap:state#onAfterStep --> RoapStateMachine->onAfterStep#fired! State changed from '${transition.from}' to '${transition.to}' with transition '${transition.transition}''.`\n );\n },\n },\n });\n\n return new RoapState();\n },\n};\n\nexport default RoapStateMachine;\n"],"mappings":";;;;;;;;AAAA,IAAAA,uBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAGA,IAAMG,UAAU,GAAG,SAAbA,UAAUA,CAAIC,IAAI,EAAEC,OAAO,EAAK;EACpC,IAAOC,WAAW,GAAIF,IAAI,CAACG,GAAG,CAAvBD,WAAW;EAElB,IAAID,OAAO,EAAE;IACX,IAAIC,WAAW,KAAKE,kBAAO,IAAIJ,IAAI,CAACK,MAAM,IAAIJ,OAAO,CAACK,WAAW,KAAKC,sBAAW,EAAE;MACjF;MACA;MACA,OAAO,KAAK;IACd;IACA;IACA;IACA,IAAI,CAACN,OAAO,CAACO,eAAe,CAACC,cAAc,IAAIP,WAAW,KAAKQ,mBAAQ,EAAE;MACvE,OAAO,KAAK;IACd;EACF;EACAC,oBAAW,CAACC,MAAM,CAACC,GAAG,CACpB,mEAAmE,EACnEZ,OAAO,CAACO,eAAe,CAACC,cAAc,CAACK,cACzC,CAAC;EACDH,oBAAW,CAACC,MAAM,CAACC,GAAG,CACpB,uFAAuF,EACvFb,IAAI,CAACG,GACP,CAAC;EAED,OAAO,IAAI;AACb,CAAC;AAED,IAAMY,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAAK,EAAEC,MAAM,EAAEhB,OAAO,EAAK;EACnDU,oBAAW,CAACC,MAAM,CAACC,GAAG,4CAAAK,MAAA,CAA4CF,KAAK,UAAAE,MAAA,CAAOD,MAAM,CAAE,CAAC;EAEvF,QAAQD,KAAK;IACX,KAAKG,eAAI,CAACC,UAAU,CAACC,IAAI;MACvB,IAAIJ,MAAM,KAAKE,eAAI,CAACG,WAAW,CAACC,QAAQ,EAAE;QACxC,OAAOJ,eAAI,CAACC,UAAU,CAACI,cAAc;MACvC;MACA,IAAIP,MAAM,KAAKE,eAAI,CAACG,WAAW,CAACG,QAAQ,EAAE;QACxC,OAAON,eAAI,CAACC,UAAU,CAACM,cAAc;MACvC;MAEA,OAAOV,KAAK;IAEd,KAAKG,eAAI,CAACC,UAAU,CAACO,aAAa;MAChC,OAAOX,KAAK;IAEd,KAAKG,eAAI,CAACC,UAAU,CAACM,cAAc;MACjC,IAAIT,MAAM,KAAKE,eAAI,CAACG,WAAW,CAACM,SAAS,EAAE;QACzC;QACA;QACA,IAAI3B,OAAO,CAAC4B,OAAO,EAAE;UACnB,OAAOV,eAAI,CAACC,UAAU,CAACU,UAAU;QACnC;QACAnB,oBAAW,CAACC,MAAM,CAACmB,KAAK,CACtB,wEACF,CAAC;QAED,OAAOf,KAAK;MACd;MAEA,IAAIC,MAAM,KAAKE,eAAI,CAACG,WAAW,CAACC,QAAQ,EAAE;QACxC,OAAOJ,eAAI,CAACC,UAAU,CAACY,KAAK;MAC9B;MAEA,OAAOhB,KAAK;IAEd,KAAKG,eAAI,CAACC,UAAU,CAACa,aAAa;MAChC,OAAOjB,KAAK;IAEd,KAAKG,eAAI,CAACC,UAAU,CAACI,cAAc;MACjC,IAAIP,MAAM,KAAKE,eAAI,CAACG,WAAW,CAACY,SAAS,EAAE;QACzC,OAAOf,eAAI,CAACC,UAAU,CAACe,UAAU;MACnC;MAEA,OAAOnB,KAAK;IAEd,KAAKG,eAAI,CAACC,UAAU,CAACU,UAAU;MAC7B,IAAIb,MAAM,KAAKE,eAAI,CAACG,WAAW,CAACc,KAAK,EAAE;QACrC,OAAOjB,eAAI,CAACC,UAAU,CAACC,IAAI;MAC7B;MAEA,OAAOL,KAAK;IAEd,KAAKG,eAAI,CAACC,UAAU,CAACe,UAAU;MAC7B,IAAIlB,MAAM,KAAKE,eAAI,CAACG,WAAW,CAACe,KAAK,EAAE;QACrC,OAAOlB,eAAI,CAACC,UAAU,CAACC,IAAI;MAC7B;MAEA,OAAOL,KAAK;IAEd,KAAKG,eAAI,CAACC,UAAU,CAACkB,KAAK;MACxB;MACA;MACA,OAAOnB,eAAI,CAACC,UAAU,CAACC,IAAI;IAE7B,KAAKF,eAAI,CAACC,UAAU,CAACY,KAAK;MACxB,OAAOb,eAAI,CAACC,UAAU,CAACM,cAAc;IACvC;MACE,OAAOV,KAAK;EAChB;AACF,CAAC;AAED,IAAMuB,gBAAgB,GAAG;EACvB;AACF;AACA;AACA;AACA;EACEC,WAAW,WAAXA,WAAWA,CAAA,EAAG;IACZ,IAAMC,SAAS,GAAGC,+BAAY,CAACC,OAAO,CAAC;MACrCC,IAAI,EAAEzB,eAAI,CAACC,UAAU,CAACC,IAAI;MAC1BwB,WAAW,EAAE,CACX;QACEC,IAAI,EAAE3B,eAAI,CAAC4B,gBAAgB,CAACC,IAAI;QAChCC,IAAI,EAAE,GAAG;QACT;AACV;AACA;AACA;AACA;AACA;AACA;QACUC,EAAE,WAAFA,EAAEA,CAACjC,MAAc,EAAEhB,OAAgB,EAAED,IAAY,EAAE;UACjD,IAAMgB,KAAK,GAAG,IAAI,CAACmC,KAAK;UAExB,IAAI,CAACpD,UAAU,CAACC,IAAI,EAAEC,OAAO,CAAC,EAAE;YAC9B,OAAOe,KAAK;UACd;UAEA,OAAOD,gBAAgB,CAACC,KAAK,EAAEC,MAAM,EAAEhB,OAAO,CAAC;QACjD;MACF,CAAC,CACF;MACDmD,OAAO,EAAE;QACP;AACR;AACA;AACA;AACA;QACQC,WAAW,WAAXA,WAAWA,CAACC,UAAe,EAAE;UAC3B3C,oBAAW,CAACC,MAAM,CAACC,GAAG,wFAAAK,MAAA,CACmEoC,UAAU,CAACL,IAAI,YAAA/B,MAAA,CAASoC,UAAU,CAACJ,EAAE,yBAAAhC,MAAA,CAAsBoC,UAAU,CAACA,UAAU,QACzK,CAAC;QACH;MACF;IACF,CAAC,CAAC;IAEF,OAAO,IAAIb,SAAS,CAAC,CAAC;EACxB;AACF,CAAC;AAAC,IAAAc,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEalB,gBAAgB","ignoreList":[]}
@@ -0,0 +1,155 @@
1
+ import { Enum } from '../constants';
2
+ import RoapRequest from './request';
3
+ 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
+ };
19
+ /**
20
+ * Handles the process of finding out TURN server information from Linus.
21
+ * This is achieved by sending a TURN_DISCOVERY_REQUEST.
22
+ */
23
+ export default class TurnDiscovery {
24
+ private roapRequest;
25
+ private defer?;
26
+ private turnInfo;
27
+ private responseTimer?;
28
+ /**
29
+ * Constructor
30
+ *
31
+ * @param {RoapRequest} roapRequest
32
+ */
33
+ constructor(roapRequest: RoapRequest);
34
+ /**
35
+ * waits for TURN_DISCOVERY_RESPONSE message to arrive
36
+ *
37
+ * @returns {Promise}
38
+ * @private
39
+ * @memberof Roap
40
+ */
41
+ private waitForTurnDiscoveryResponse;
42
+ /**
43
+ * Handles TURN_DISCOVERY_RESPONSE roap message. Use it if the roap message comes over the websocket,
44
+ * otherwise use handleTurnDiscoveryHttpResponse() if it comes in the http response.
45
+ *
46
+ * @param {Object} roapMessage
47
+ * @param {string} from string to indicate how we got the response (used just for logging)
48
+ * @returns {void}
49
+ * @public
50
+ * @memberof Roap
51
+ */
52
+ handleTurnDiscoveryResponse(roapMessage: any, from: string): void;
53
+ /**
54
+ * Generates TURN_DISCOVERY_REQUEST roap message. When this method returns a roapMessage, it means that a TURN discovery process has started.
55
+ * It needs be ended by calling handleTurnDiscoveryHttpResponse() once you get a response from the backend. If you don't get any response
56
+ * or want to abort, you need to call abort().
57
+ *
58
+ * @param {Meeting} meeting
59
+ * @param {boolean} isForced
60
+ * @returns {Object}
61
+ */
62
+ generateTurnDiscoveryRequestMessage(meeting: Meeting, isForced: boolean): Promise<{
63
+ roapMessage?: object;
64
+ turnDiscoverySkippedReason: TurnDiscoverySkipReason;
65
+ }>;
66
+ /**
67
+ * Handles any errors that occur during TURN discovery without re-throwing them.
68
+ *
69
+ * @param {Meeting} meeting
70
+ * @param {Error} error
71
+ * @returns {TurnDiscoveryResult}
72
+ */
73
+ private handleTurnDiscoveryFailure;
74
+ /**
75
+ * Handles TURN_DISCOVERY_RESPONSE roap message that came in http response. If the response is not valid,
76
+ * it returns an object with turnServerInfo set to undefined. In that case you need to call abort()
77
+ * to end the TURN discovery process.
78
+ *
79
+ * @param {Meeting} meeting
80
+ * @param {Object|undefined} httpResponse can be undefined to indicate that we didn't get the response
81
+ * @returns {Promise<TurnDiscoveryResult>}
82
+ * @memberof Roap
83
+ */
84
+ handleTurnDiscoveryHttpResponse(meeting: Meeting, httpResponse?: object): Promise<TurnDiscoveryResult>;
85
+ /**
86
+ * Aborts current TURN discovery. This method needs to be called if you called generateTurnDiscoveryRequestMessage(),
87
+ * but then never got any response from the server.
88
+ * @returns {void}
89
+ */
90
+ abort(): void;
91
+ /**
92
+ * Parses the TURN_DISCOVERY_RESPONSE roap message out of the http response
93
+ * and returns it.
94
+ *
95
+ * @param {Meeting} meeting
96
+ * @param {any} httpResponse
97
+ * @returns {any}
98
+ */
99
+ private parseHttpTurnDiscoveryResponse;
100
+ /**
101
+ * sends the TURN_DISCOVERY_REQUEST roap request
102
+ *
103
+ * @param {Meeting} meeting
104
+ * @param {Boolean} isReconnecting
105
+ * @returns {Promise}
106
+ * @private
107
+ * @memberof Roap
108
+ */
109
+ private sendRoapTurnDiscoveryRequest;
110
+ /**
111
+ * Sends the OK message that server expects to receive
112
+ * after it sends us TURN_DISCOVERY_RESPONSE
113
+ *
114
+ * @param {Meeting} meeting
115
+ * @returns {Promise}
116
+ */
117
+ sendRoapOK(meeting: Meeting): Promise<{
118
+ mediaConnections: any;
119
+ locus: any;
120
+ }>;
121
+ /**
122
+ * Gets the reason why reachability is skipped.
123
+ *
124
+ * @param {Meeting} meeting
125
+ * @returns {Promise<string>} Promise with empty string if reachability is not skipped or a reason if it is skipped
126
+ */
127
+ private getSkipReason;
128
+ /**
129
+ * Checks if TURN discovery is skipped.
130
+ *
131
+ * @param {Meeting} meeting
132
+ * @returns {Boolean} true if TURN discovery is being skipped, false if it is being done
133
+ */
134
+ isSkipped(meeting: any): Promise<boolean>;
135
+ /**
136
+ * Retrieves TURN server information from the backend by doing
137
+ * a roap message exchange:
138
+ * client server
139
+ * | -----TURN_DISCOVERY_REQUEST-----> |
140
+ * | <----TURN_DISCOVERY_RESPONSE----- |
141
+ * | --------------OK----------------> |
142
+ *
143
+ * This TURN discovery roap exchange is always done with seq=0.
144
+ * The RoapMediaConnection SDP exchange always starts with seq=1,
145
+ * so it works fine no matter if TURN discovery is done or not.
146
+ *
147
+ * @param {Meeting} meeting
148
+ * @param {Boolean} [isReconnecting] should be set to true if this is a new
149
+ * media connection just after a reconnection
150
+ * @param {Boolean} [isForced]
151
+ * @returns {Promise}
152
+ */
153
+ doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean, isForced?: boolean): Promise<TurnDiscoveryResult>;
154
+ }
155
+ export {};
@@ -18,7 +18,6 @@ var _metrics = _interopRequireDefault(require("../metrics"));
18
18
  var _constants = _interopRequireDefault(require("../metrics/constants"));
19
19
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
20
20
  var _constants2 = require("../constants");
21
- var _util = _interopRequireDefault(require("../meeting/util"));
22
21
  // @ts-ignore - Types not available for @webex/common
23
22
 
24
23
  var TURN_DISCOVERY_TIMEOUT = 10; // in seconds
@@ -404,10 +403,8 @@ var TurnDiscovery = exports.default = /*#__PURE__*/function () {
404
403
  locusSelfUrl: meeting.selfUrl,
405
404
  // @ts-ignore - Fix missing type
406
405
  mediaId: isReconnecting ? '' : meeting.mediaId,
407
- meetingId: meeting.id,
408
- locusMediaRequest: meeting.locusMediaRequest,
409
- // @ts-ignore - because of meeting.webex
410
- ipVersion: _util.default.getIpVersion(meeting.webex)
406
+ isMultistream: meeting.isMultistream,
407
+ locusMediaRequest: meeting.locusMediaRequest
411
408
  }).then( /*#__PURE__*/function () {
412
409
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(response) {
413
410
  var mediaConnections;
@@ -456,7 +453,7 @@ var TurnDiscovery = exports.default = /*#__PURE__*/function () {
456
453
  locusSelfUrl: meeting.selfUrl,
457
454
  // @ts-ignore - fix type
458
455
  mediaId: meeting.mediaId,
459
- meetingId: meeting.id,
456
+ isMultistream: meeting.isMultistream,
460
457
  locusMediaRequest: meeting.locusMediaRequest
461
458
  });
462
459
  }