@webex/plugin-meetings 3.0.0 → 3.1.0-next.10

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 (272) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/common/errors/{reconnection-in-progress.js → reconnection-not-started.js} +27 -15
  4. package/dist/common/errors/reconnection-not-started.js.map +1 -0
  5. package/dist/config.js +2 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/constants.js +18 -6
  8. package/dist/constants.js.map +1 -1
  9. package/dist/index.js +86 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/interpretation/index.js +16 -2
  12. package/dist/interpretation/index.js.map +1 -1
  13. package/dist/interpretation/siLanguage.js +1 -1
  14. package/dist/locus-info/controlsUtils.js +7 -1
  15. package/dist/locus-info/controlsUtils.js.map +1 -1
  16. package/dist/locus-info/index.js +10 -0
  17. package/dist/locus-info/index.js.map +1 -1
  18. package/dist/locus-info/mediaSharesUtils.js +15 -1
  19. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  20. package/dist/locus-info/selfUtils.js +5 -0
  21. package/dist/locus-info/selfUtils.js.map +1 -1
  22. package/dist/media/MediaConnectionAwaiter.js +163 -0
  23. package/dist/media/MediaConnectionAwaiter.js.map +1 -0
  24. package/dist/media/index.js +4 -1
  25. package/dist/media/index.js.map +1 -1
  26. package/dist/media/properties.js +106 -81
  27. package/dist/media/properties.js.map +1 -1
  28. package/dist/meeting/in-meeting-actions.js +6 -0
  29. package/dist/meeting/in-meeting-actions.js.map +1 -1
  30. package/dist/meeting/index.js +1010 -753
  31. package/dist/meeting/index.js.map +1 -1
  32. package/dist/meeting/muteState.js +37 -25
  33. package/dist/meeting/muteState.js.map +1 -1
  34. package/dist/meeting/request.js +32 -23
  35. package/dist/meeting/request.js.map +1 -1
  36. package/dist/meeting/util.js +10 -0
  37. package/dist/meeting/util.js.map +1 -1
  38. package/dist/meeting-info/util.js +304 -267
  39. package/dist/meeting-info/util.js.map +1 -1
  40. package/dist/meeting-info/utilv2.js +334 -295
  41. package/dist/meeting-info/utilv2.js.map +1 -1
  42. package/dist/meetings/index.js +21 -23
  43. package/dist/meetings/index.js.map +1 -1
  44. package/dist/multistream/mediaRequestManager.js +1 -1
  45. package/dist/multistream/mediaRequestManager.js.map +1 -1
  46. package/dist/multistream/remoteMediaGroup.js +16 -2
  47. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  48. package/dist/multistream/remoteMediaManager.js +179 -65
  49. package/dist/multistream/remoteMediaManager.js.map +1 -1
  50. package/dist/multistream/sendSlotManager.js +22 -0
  51. package/dist/multistream/sendSlotManager.js.map +1 -1
  52. package/dist/reachability/clusterReachability.js +29 -15
  53. package/dist/reachability/clusterReachability.js.map +1 -1
  54. package/dist/reachability/index.js +18 -2
  55. package/dist/reachability/index.js.map +1 -1
  56. package/dist/reachability/request.js +12 -10
  57. package/dist/reachability/request.js.map +1 -1
  58. package/dist/reachability/util.js +19 -0
  59. package/dist/reachability/util.js.map +1 -1
  60. package/dist/reconnection-manager/index.js +140 -110
  61. package/dist/reconnection-manager/index.js.map +1 -1
  62. package/dist/roap/index.js +15 -0
  63. package/dist/roap/index.js.map +1 -1
  64. package/dist/roap/request.js +3 -3
  65. package/dist/roap/request.js.map +1 -1
  66. package/dist/roap/turnDiscovery.js +307 -126
  67. package/dist/roap/turnDiscovery.js.map +1 -1
  68. package/dist/statsAnalyzer/index.js +57 -30
  69. package/dist/statsAnalyzer/index.js.map +1 -1
  70. package/dist/statsAnalyzer/mqaUtil.js +3 -0
  71. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  72. package/dist/types/common/errors/reconnection-not-started.d.ts +13 -0
  73. package/dist/{config.d.ts → types/config.d.ts} +1 -0
  74. package/dist/{constants.d.ts → types/constants.d.ts} +15 -6
  75. package/dist/types/index.d.ts +19 -0
  76. package/dist/types/media/MediaConnectionAwaiter.d.ts +61 -0
  77. package/dist/{media → types/media}/properties.d.ts +26 -2
  78. package/dist/{meeting → types/meeting}/in-meeting-actions.d.ts +6 -0
  79. package/dist/{meeting → types/meeting}/index.d.ts +29 -12
  80. package/dist/{meeting → types/meeting}/muteState.d.ts +2 -8
  81. package/dist/{meeting → types/meeting}/request.d.ts +3 -0
  82. package/dist/{meeting → types/meeting}/util.d.ts +3 -0
  83. package/dist/{meeting-info → types/meeting-info}/index.d.ts +1 -1
  84. package/dist/{meeting-info → types/meeting-info}/meeting-info-v2.d.ts +1 -1
  85. package/dist/types/meeting-info/util.d.ts +49 -0
  86. package/dist/types/meeting-info/utilv2.d.ts +65 -0
  87. package/dist/{meetings → types/meetings}/index.d.ts +9 -16
  88. package/dist/{multistream → types/multistream}/mediaRequestManager.d.ts +2 -1
  89. package/dist/{multistream → types/multistream}/remoteMediaGroup.d.ts +2 -0
  90. package/dist/{multistream → types/multistream}/remoteMediaManager.d.ts +15 -0
  91. package/dist/{multistream → types/multistream}/sendSlotManager.d.ts +9 -1
  92. package/dist/{reachability → types/reachability}/clusterReachability.d.ts +1 -0
  93. package/dist/{reachability → types/reachability}/index.d.ts +4 -0
  94. package/dist/{reachability → types/reachability}/util.d.ts +7 -0
  95. package/dist/{reconnection-manager → types/reconnection-manager}/index.d.ts +4 -14
  96. package/dist/{roap → types/roap}/index.d.ts +10 -2
  97. package/dist/{roap → types/roap}/turnDiscovery.d.ts +64 -17
  98. package/dist/webinar/index.js +1 -1
  99. package/package.json +23 -23
  100. package/src/common/errors/reconnection-not-started.ts +25 -0
  101. package/src/config.ts +1 -0
  102. package/src/constants.ts +18 -6
  103. package/src/index.ts +31 -0
  104. package/src/interpretation/index.ts +18 -1
  105. package/src/locus-info/controlsUtils.ts +11 -0
  106. package/src/locus-info/index.ts +16 -0
  107. package/src/locus-info/mediaSharesUtils.ts +16 -0
  108. package/src/locus-info/selfUtils.ts +5 -0
  109. package/src/media/MediaConnectionAwaiter.ts +174 -0
  110. package/src/media/index.ts +3 -1
  111. package/src/media/properties.ts +73 -46
  112. package/src/meeting/in-meeting-actions.ts +12 -0
  113. package/src/meeting/index.ts +389 -180
  114. package/src/meeting/muteState.ts +34 -20
  115. package/src/meeting/request.ts +18 -2
  116. package/src/meeting/util.ts +9 -0
  117. package/src/meeting-info/util.ts +241 -233
  118. package/src/meeting-info/utilv2.ts +250 -243
  119. package/src/meetings/index.ts +20 -24
  120. package/src/multistream/mediaRequestManager.ts +4 -1
  121. package/src/multistream/remoteMediaGroup.ts +19 -0
  122. package/src/multistream/remoteMediaManager.ts +101 -16
  123. package/src/multistream/sendSlotManager.ts +28 -0
  124. package/src/reachability/clusterReachability.ts +20 -5
  125. package/src/reachability/index.ts +24 -1
  126. package/src/reachability/request.ts +15 -11
  127. package/src/reachability/util.ts +21 -0
  128. package/src/reconnection-manager/index.ts +129 -106
  129. package/src/roap/index.ts +25 -3
  130. package/src/roap/request.ts +3 -3
  131. package/src/roap/turnDiscovery.ts +244 -78
  132. package/src/statsAnalyzer/index.ts +67 -27
  133. package/src/statsAnalyzer/mqaUtil.ts +5 -0
  134. package/test/integration/spec/journey.js +14 -14
  135. package/test/integration/spec/space-meeting.js +1 -1
  136. package/test/unit/spec/interpretation/index.ts +39 -3
  137. package/test/unit/spec/locus-info/controlsUtils.js +20 -0
  138. package/test/unit/spec/locus-info/index.js +49 -19
  139. package/test/unit/spec/locus-info/mediaSharesUtils.ts +9 -0
  140. package/test/unit/spec/locus-info/selfUtils.js +42 -12
  141. package/test/unit/spec/media/MediaConnectionAwaiter.ts +344 -0
  142. package/test/unit/spec/media/index.ts +89 -78
  143. package/test/unit/spec/media/properties.ts +160 -209
  144. package/test/unit/spec/meeting/in-meeting-actions.ts +6 -0
  145. package/test/unit/spec/meeting/index.js +833 -205
  146. package/test/unit/spec/meeting/muteState.js +219 -67
  147. package/test/unit/spec/meeting/request.js +21 -0
  148. package/test/unit/spec/meeting/utils.js +9 -1
  149. package/test/unit/spec/meeting-info/utilv2.js +6 -0
  150. package/test/unit/spec/meetings/index.js +41 -26
  151. package/test/unit/spec/multistream/mediaRequestManager.ts +20 -2
  152. package/test/unit/spec/multistream/remoteMediaGroup.ts +79 -1
  153. package/test/unit/spec/multistream/remoteMediaManager.ts +199 -1
  154. package/test/unit/spec/multistream/sendSlotManager.ts +50 -18
  155. package/test/unit/spec/reachability/clusterReachability.ts +86 -22
  156. package/test/unit/spec/reachability/index.ts +197 -60
  157. package/test/unit/spec/reachability/request.js +15 -7
  158. package/test/unit/spec/reachability/util.ts +32 -2
  159. package/test/unit/spec/reconnection-manager/index.js +155 -39
  160. package/test/unit/spec/roap/index.ts +61 -6
  161. package/test/unit/spec/roap/turnDiscovery.ts +298 -16
  162. package/test/unit/spec/stats-analyzer/index.js +190 -0
  163. package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
  164. package/dist/common/errors/reconnection-in-progress.js.map +0 -1
  165. package/dist/index.d.ts +0 -7
  166. package/dist/meeting-info/util.d.ts +0 -2
  167. package/dist/meeting-info/utilv2.d.ts +0 -2
  168. package/dist/member/member.types.d.ts +0 -11
  169. package/dist/member/member.types.js +0 -17
  170. package/dist/member/member.types.js.map +0 -1
  171. package/src/common/errors/reconnection-in-progress.ts +0 -8
  172. package/src/member/member.types.ts +0 -13
  173. /package/dist/{annotation → types/annotation}/annotation.types.d.ts +0 -0
  174. /package/dist/{annotation → types/annotation}/constants.d.ts +0 -0
  175. /package/dist/{annotation → types/annotation}/index.d.ts +0 -0
  176. /package/dist/{breakouts → types/breakouts}/breakout.d.ts +0 -0
  177. /package/dist/{breakouts → types/breakouts}/collection.d.ts +0 -0
  178. /package/dist/{breakouts → types/breakouts}/edit-lock-error.d.ts +0 -0
  179. /package/dist/{breakouts → types/breakouts}/events.d.ts +0 -0
  180. /package/dist/{breakouts → types/breakouts}/index.d.ts +0 -0
  181. /package/dist/{breakouts → types/breakouts}/request.d.ts +0 -0
  182. /package/dist/{breakouts → types/breakouts}/utils.d.ts +0 -0
  183. /package/dist/{common → types/common}/browser-detection.d.ts +0 -0
  184. /package/dist/{common → types/common}/collection.d.ts +0 -0
  185. /package/dist/{common → types/common}/config.d.ts +0 -0
  186. /package/dist/{common → types/common}/errors/captcha-error.d.ts +0 -0
  187. /package/dist/{common → types/common}/errors/intent-to-join.d.ts +0 -0
  188. /package/dist/{common → types/common}/errors/join-meeting.d.ts +0 -0
  189. /package/dist/{common → types/common}/errors/media.d.ts +0 -0
  190. /package/dist/{common → types/common}/errors/no-meeting-info.d.ts +0 -0
  191. /package/dist/{common → types/common}/errors/parameter.d.ts +0 -0
  192. /package/dist/{common → types/common}/errors/password-error.d.ts +0 -0
  193. /package/dist/{common → types/common}/errors/permission.d.ts +0 -0
  194. /package/dist/{common → types/common}/errors/reclaim-host-role-errors.d.ts +0 -0
  195. /package/dist/{common → types/common}/errors/reconnection.d.ts +0 -0
  196. /package/dist/{common → types/common}/errors/stats.d.ts +0 -0
  197. /package/dist/{common → types/common}/errors/webex-errors.d.ts +0 -0
  198. /package/dist/{common → types/common}/errors/webex-meetings-error.d.ts +0 -0
  199. /package/dist/{common → types/common}/events/events-scope.d.ts +0 -0
  200. /package/dist/{common → types/common}/events/events.d.ts +0 -0
  201. /package/dist/{common → types/common}/events/trigger-proxy.d.ts +0 -0
  202. /package/dist/{common → types/common}/events/util.d.ts +0 -0
  203. /package/dist/{common → types/common}/logs/logger-config.d.ts +0 -0
  204. /package/dist/{common → types/common}/logs/logger-proxy.d.ts +0 -0
  205. /package/dist/{common → types/common}/logs/request.d.ts +0 -0
  206. /package/dist/{common → types/common}/queue.d.ts +0 -0
  207. /package/dist/{controls-options-manager → types/controls-options-manager}/constants.d.ts +0 -0
  208. /package/dist/{controls-options-manager → types/controls-options-manager}/enums.d.ts +0 -0
  209. /package/dist/{controls-options-manager → types/controls-options-manager}/index.d.ts +0 -0
  210. /package/dist/{controls-options-manager → types/controls-options-manager}/types.d.ts +0 -0
  211. /package/dist/{controls-options-manager → types/controls-options-manager}/util.d.ts +0 -0
  212. /package/dist/{interceptors → types/interceptors}/index.d.ts +0 -0
  213. /package/dist/{interceptors → types/interceptors}/locusRetry.d.ts +0 -0
  214. /package/dist/{interpretation → types/interpretation}/collection.d.ts +0 -0
  215. /package/dist/{interpretation → types/interpretation}/index.d.ts +0 -0
  216. /package/dist/{interpretation → types/interpretation}/siLanguage.d.ts +0 -0
  217. /package/dist/{locus-info → types/locus-info}/controlsUtils.d.ts +0 -0
  218. /package/dist/{locus-info → types/locus-info}/embeddedAppsUtils.d.ts +0 -0
  219. /package/dist/{locus-info → types/locus-info}/fullState.d.ts +0 -0
  220. /package/dist/{locus-info → types/locus-info}/hostUtils.d.ts +0 -0
  221. /package/dist/{locus-info → types/locus-info}/index.d.ts +0 -0
  222. /package/dist/{locus-info → types/locus-info}/infoUtils.d.ts +0 -0
  223. /package/dist/{locus-info → types/locus-info}/mediaSharesUtils.d.ts +0 -0
  224. /package/dist/{locus-info → types/locus-info}/parser.d.ts +0 -0
  225. /package/dist/{locus-info → types/locus-info}/selfUtils.d.ts +0 -0
  226. /package/dist/{media → types/media}/index.d.ts +0 -0
  227. /package/dist/{media → types/media}/util.d.ts +0 -0
  228. /package/dist/{mediaQualityMetrics → types/mediaQualityMetrics}/config.d.ts +0 -0
  229. /package/dist/{meeting → types/meeting}/locusMediaRequest.d.ts +0 -0
  230. /package/dist/{meeting → types/meeting}/request.type.d.ts +0 -0
  231. /package/dist/{meeting → types/meeting}/state.d.ts +0 -0
  232. /package/dist/{meeting → types/meeting}/voicea-meeting.d.ts +0 -0
  233. /package/dist/{meeting-info → types/meeting-info}/collection.d.ts +0 -0
  234. /package/dist/{meeting-info → types/meeting-info}/request.d.ts +0 -0
  235. /package/dist/{meetings → types/meetings}/collection.d.ts +0 -0
  236. /package/dist/{meetings → types/meetings}/meetings.types.d.ts +0 -0
  237. /package/dist/{meetings → types/meetings}/request.d.ts +0 -0
  238. /package/dist/{meetings → types/meetings}/util.d.ts +0 -0
  239. /package/dist/{member → types/member}/index.d.ts +0 -0
  240. /package/dist/{member → types/member}/types.d.ts +0 -0
  241. /package/dist/{member → types/member}/util.d.ts +0 -0
  242. /package/dist/{members → types/members}/collection.d.ts +0 -0
  243. /package/dist/{members → types/members}/index.d.ts +0 -0
  244. /package/dist/{members → types/members}/request.d.ts +0 -0
  245. /package/dist/{members → types/members}/types.d.ts +0 -0
  246. /package/dist/{members → types/members}/util.d.ts +0 -0
  247. /package/dist/{metrics → types/metrics}/constants.d.ts +0 -0
  248. /package/dist/{metrics → types/metrics}/index.d.ts +0 -0
  249. /package/dist/{multistream → types/multistream}/receiveSlot.d.ts +0 -0
  250. /package/dist/{multistream → types/multistream}/receiveSlotManager.d.ts +0 -0
  251. /package/dist/{multistream → types/multistream}/remoteMedia.d.ts +0 -0
  252. /package/dist/{networkQualityMonitor → types/networkQualityMonitor}/index.d.ts +0 -0
  253. /package/dist/{personal-meeting-room → types/personal-meeting-room}/index.d.ts +0 -0
  254. /package/dist/{personal-meeting-room → types/personal-meeting-room}/request.d.ts +0 -0
  255. /package/dist/{personal-meeting-room → types/personal-meeting-room}/util.d.ts +0 -0
  256. /package/dist/{reachability → types/reachability}/request.d.ts +0 -0
  257. /package/dist/{reactions → types/reactions}/constants.d.ts +0 -0
  258. /package/dist/{reactions → types/reactions}/reactions.d.ts +0 -0
  259. /package/dist/{reactions → types/reactions}/reactions.type.d.ts +0 -0
  260. /package/dist/{recording-controller → types/recording-controller}/enums.d.ts +0 -0
  261. /package/dist/{recording-controller → types/recording-controller}/index.d.ts +0 -0
  262. /package/dist/{recording-controller → types/recording-controller}/util.d.ts +0 -0
  263. /package/dist/{roap → types/roap}/request.d.ts +0 -0
  264. /package/dist/{rtcMetrics → types/rtcMetrics}/constants.d.ts +0 -0
  265. /package/dist/{rtcMetrics → types/rtcMetrics}/index.d.ts +0 -0
  266. /package/dist/{statsAnalyzer → types/statsAnalyzer}/global.d.ts +0 -0
  267. /package/dist/{statsAnalyzer → types/statsAnalyzer}/index.d.ts +0 -0
  268. /package/dist/{statsAnalyzer → types/statsAnalyzer}/mqaUtil.d.ts +0 -0
  269. /package/dist/{transcription → types/transcription}/index.d.ts +0 -0
  270. /package/dist/{webinar → types/webinar}/collection.d.ts +0 -0
  271. /package/dist/{webinar → types/webinar}/index.d.ts +0 -0
  272. /package/test/unit/spec/locus-info/{lib/selfConstant.js → selfConstant.js} +0 -0
@@ -70,6 +70,9 @@ declare const MeetingUtil: {
70
70
  canStartTranscribing: (displayHints: any) => any;
71
71
  canStopTranscribing: (displayHints: any) => any;
72
72
  isClosedCaptionActive: (displayHints: any) => any;
73
+ canStartManualCaption: (displayHints: any) => any;
74
+ canStopManualCaption: (displayHints: any) => any;
75
+ isManualCaptionActive: (displayHints: any) => any;
73
76
  isWebexAssistantActive: (displayHints: any) => any;
74
77
  canViewCaptionPanel: (displayHints: any) => any;
75
78
  isRealTimeTranslationEnabled: (displayHints: any) => any;
@@ -65,5 +65,5 @@ export default class MeetingInfo {
65
65
  }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
66
66
  meetingId?: string;
67
67
  sendCAevents?: boolean;
68
- }): any;
68
+ }): Promise<any>;
69
69
  }
@@ -81,7 +81,7 @@ export default class MeetingInfoV2 {
81
81
  * @public
82
82
  * @memberof MeetingInfo
83
83
  */
84
- fetchInfoOptions(destination: string, type?: string): any;
84
+ fetchInfoOptions(destination: string, type?: string): Promise<any>;
85
85
  /**
86
86
  * Raises a MeetingInfoV2PolicyError for policy error codes
87
87
  * @param {any} err the error from the request
@@ -0,0 +1,49 @@
1
+ /// <reference types="node" />
2
+ import url from 'url';
3
+ /**
4
+ * @class MeetingInfoUtil
5
+ */
6
+ export default class MeetingInfoUtil {
7
+ static extractDestination(destination: any, type: any): any;
8
+ static getParsedUrl(link: any): false | url.UrlWithStringQuery;
9
+ /**
10
+ * Helper function to check if a string matches a known meeting link pattern
11
+ * @param {String} value string to parse and see if it matches a meeting link
12
+ * @returns {Boolean}
13
+ */
14
+ static isMeetingLink(value: string): any;
15
+ static isConversationUrl(value: any, webex: any): any;
16
+ static convertLinkToSip(value: any): string;
17
+ static isSipUri(sipString: any): RegExpExecArray;
18
+ static isPhoneNumber(phoneNumber: any): boolean;
19
+ static getHydraId(destination: any): {
20
+ room: boolean;
21
+ destination: any;
22
+ cluster: any;
23
+ people?: undefined;
24
+ } | {
25
+ people: boolean;
26
+ destination: any;
27
+ cluster: any;
28
+ room?: undefined;
29
+ } | {
30
+ room?: undefined;
31
+ destination?: undefined;
32
+ cluster?: undefined;
33
+ people?: undefined;
34
+ };
35
+ static getSipUriFromHydraPersonId(destination: any, webex: any): any;
36
+ static generateOptions(from: any): Promise<any>;
37
+ /**
38
+ * Helper function to build up a correct locus url depending on the value passed
39
+ * @param {String} type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
40
+ * @param {Object} value ?? value.value
41
+ * @returns {Object} returns an object with {resource, method}
42
+ */
43
+ static getResourceUrl(type: string, value: any): {
44
+ uri: any;
45
+ resource: string;
46
+ method: string;
47
+ };
48
+ static getRequestParams(resourceOptions: any, type: any, value: any, api: any): any;
49
+ }
@@ -0,0 +1,65 @@
1
+ /// <reference types="node" />
2
+ import url from 'url';
3
+ /**
4
+ * @class MeetingInfoUtil
5
+ */
6
+ export default class MeetingInfoUtil {
7
+ static meetingInfoError: string;
8
+ static getParsedUrl(link: any): false | url.UrlWithStringQuery;
9
+ /**
10
+ * Helper function to check if a string matches a known meeting link pattern
11
+ * @param {String} value string to parse and see if it matches a meeting link
12
+ * @returns {Boolean}
13
+ */
14
+ static isMeetingLink(value: string): any;
15
+ static isConversationUrl(value: any, webex: any): any;
16
+ static isSipUri(sipString: any): RegExpExecArray;
17
+ static isPhoneNumber(phoneNumber: any): boolean;
18
+ static getHydraId(destination: any): {
19
+ room: boolean;
20
+ destination: any;
21
+ cluster: any;
22
+ people?: undefined;
23
+ } | {
24
+ people: boolean;
25
+ destination: any;
26
+ cluster: any;
27
+ room?: undefined;
28
+ } | {
29
+ room?: undefined;
30
+ destination?: undefined;
31
+ cluster?: undefined;
32
+ people?: undefined;
33
+ };
34
+ static getSipUriFromHydraPersonId(destination: any, webex: any): any;
35
+ static getDestinationType(from: any): Promise<any>;
36
+ /**
37
+ * Helper function to build up a correct locus url depending on the value passed
38
+ * @param {Object} options type and value to fetch meeting info
39
+ * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
40
+ * @param {String} options.installedOrgID org ID of user's machine
41
+ * @param {Object} options.destination ?? value.value
42
+ * @returns {Object} returns an object with {resource, method}
43
+ */
44
+ static getRequestBody(options: {
45
+ type: string;
46
+ destination: object;
47
+ } | any): any;
48
+ /**
49
+ * Helper function to parse the webex site/host from a URI string.
50
+ * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')
51
+ * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')
52
+ */
53
+ static getWebexSite(uri: string): string;
54
+ /**
55
+ * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).
56
+ * @param {Object} options type and value to fetch meeting info
57
+ * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
58
+ * @param {Object} options.destination ?? value.value
59
+ * @returns {String} returns a URI string or null of there is no direct URI
60
+ */
61
+ static getDirectMeetingInfoURI(options: {
62
+ type: string;
63
+ destination: any;
64
+ }): string;
65
+ }
@@ -176,6 +176,14 @@ export default class Meetings extends WebexPlugin {
176
176
  * @returns {undefined}
177
177
  */
178
178
  private _toggleTcpReachability;
179
+ /**
180
+ * API to toggle TLS reachability, needs to be called before webex.meetings.register()
181
+ * @param {Boolean} newValue
182
+ * @private
183
+ * @memberof Meetings
184
+ * @returns {undefined}
185
+ */
186
+ private _toggleTlsReachability;
179
187
  /**
180
188
  * Explicitly sets up the meetings plugin by registering
181
189
  * the device, connecting to mercury, and listening for locus events.
@@ -328,17 +336,11 @@ export default class Meetings extends WebexPlugin {
328
336
  getMeetingByType(type: string, value: object): any;
329
337
  /**
330
338
  * Get all meetings.
331
- * @param {object} options
332
- * @param {object} options.startDate - get meetings after this start date
333
- * @param {object} options.endDate - get meetings before this end date
334
339
  * @returns {Object} All currently active meetings.
335
340
  * @public
336
341
  * @memberof Meetings
337
342
  */
338
- getAllMeetings(options?: {
339
- startDate: object;
340
- endDate: object;
341
- }): any;
343
+ getAllMeetings(): any;
342
344
  /**
343
345
  * Syncs all the meetings from server. Does nothing and returns immediately if unverified guest.
344
346
  * @param {boolean} keepOnlyLocusMeetings - whether the sync should keep only locus meetings or any other meeting in meetingCollection
@@ -365,15 +367,6 @@ export default class Meetings extends WebexPlugin {
365
367
  * @memberof Meetings
366
368
  */
367
369
  checkHandleBreakoutLocus(newCreatedLocus: any): void;
368
- /**
369
- * Get all scheduled meetings.
370
- * @param {object} options
371
- * @param {object} options.startDate - get meetings after this start date
372
- * @param {object} options.endDate - get meetings before this end date
373
- * @returns {Object} All scheduled meetings.
374
- * @memberof Meetings
375
- */
376
- getScheduledMeetings(): any;
377
370
  /**
378
371
  * Get the logger instance for plugin-meetings
379
372
  * @returns {Logger}
@@ -1,4 +1,4 @@
1
- import { StreamRequest } from '@webex/internal-media-core';
1
+ import { StreamRequest, NamedMediaGroup } from '@webex/internal-media-core';
2
2
  import { ReceiveSlot } from './receiveSlot';
3
3
  export interface ActiveSpeakerPolicyInfo {
4
4
  policy: 'active-speaker';
@@ -6,6 +6,7 @@ export interface ActiveSpeakerPolicyInfo {
6
6
  crossPriorityDuplication: boolean;
7
7
  crossPolicyDuplication: boolean;
8
8
  preferLiveVideo: boolean;
9
+ namedMediaGroups?: NamedMediaGroup[];
9
10
  }
10
11
  export interface ReceiverSelectedPolicyInfo {
11
12
  policy: 'receiver-selected';
@@ -1,9 +1,11 @@
1
+ import { NamedMediaGroup } from '@webex/internal-media-core';
1
2
  import { RemoteMedia, RemoteVideoResolution } from './remoteMedia';
2
3
  import { MediaRequestManager } from './mediaRequestManager';
3
4
  import { CSI, ReceiveSlot } from './receiveSlot';
4
5
  type Options = {
5
6
  resolution?: RemoteVideoResolution;
6
7
  preferLiveVideo?: boolean;
8
+ namedMediaGroup?: NamedMediaGroup;
7
9
  };
8
10
  export declare class RemoteMediaGroup {
9
11
  private mediaRequestManager;
@@ -1,4 +1,5 @@
1
1
  import { EventMap } from 'typed-emitter';
2
+ import { MediaType, NamedMediaGroup } from '@webex/internal-media-core';
2
3
  import EventsScope from '../common/events/events-scope';
3
4
  import { RemoteMedia, RemoteVideoResolution } from './remoteMedia';
4
5
  import { CSI } from './receiveSlot';
@@ -39,6 +40,7 @@ export interface Configuration {
39
40
  [key: LayoutId]: VideoLayout;
40
41
  };
41
42
  };
43
+ namedMediaGroup?: NamedMediaGroup;
42
44
  }
43
45
  /**
44
46
  * Default configuration:
@@ -49,6 +51,7 @@ export interface Configuration {
49
51
  export declare const DefaultConfiguration: Configuration;
50
52
  export declare enum Event {
51
53
  AudioCreated = "AudioCreated",
54
+ InterpretationAudioCreated = "InterpretationAudioCreated",
52
55
  ScreenShareAudioCreated = "ScreenShareAudioCreated",
53
56
  VideoLayoutChanged = "VideoLayoutChanged"
54
57
  }
@@ -153,10 +156,22 @@ export declare class RemoteMediaManager extends EventsScope {
153
156
  remoteMedia: RemoteMedia;
154
157
  csi?: number;
155
158
  }[]): void;
159
+ /**
160
+ * Sets which named media group need receiving
161
+ * @param {MediaType} mediaType of the stream
162
+ * @param {number} languageCode of the stream. If the languageId is 0, the named media group request will be canceled,
163
+ * and only receive the main audio stream.
164
+ * @returns {void}
165
+ */
166
+ setReceiveNamedMediaGroup(mediaType: MediaType, languageId: number): Promise<void>;
156
167
  /**
157
168
  * Creates the audio slots
158
169
  */
159
170
  private createAudioMedia;
171
+ /**
172
+ * Creates the audio slots for named media
173
+ */
174
+ private createInterpretationAudioMedia;
160
175
  /**
161
176
  * Creates receive slots required for receiving screen share audio and video
162
177
  */
@@ -1,4 +1,4 @@
1
- import { SendSlot, MediaType, LocalStream, MultistreamRoapMediaConnection } from '@webex/internal-media-core';
1
+ import { SendSlot, MediaType, LocalStream, MultistreamRoapMediaConnection, NamedMediaGroup } from '@webex/internal-media-core';
2
2
  export default class SendSlotManager {
3
3
  private readonly slots;
4
4
  private readonly LoggerProxy;
@@ -17,6 +17,14 @@ export default class SendSlotManager {
17
17
  * @returns {SendSlot}
18
18
  */
19
19
  getSlot(mediaType: MediaType): SendSlot;
20
+ /**
21
+ * Allow users to specify 'namedMediaGroups' to indicate which named media group its audio should be sent to.
22
+ * @param {MediaType} mediaType MediaType of the sendSlot to which the audio stream needs to be send to the media group
23
+ * @param {[]}namedMediaGroups - Allow users to specify 'namedMediaGroups'.If the value of 'namedMediaGroups' is zero,
24
+ * named media group will be canceled and the audio stream will be sent to the floor.
25
+ * @returns {void}
26
+ */
27
+ setNamedMediaGroups(mediaType: MediaType, namedMediaGroups: NamedMediaGroup[]): void;
20
28
  /**
21
29
  * This method publishes the given stream to the sendSlot for the given mediaType
22
30
  * @param {MediaType} mediaType MediaType of the sendSlot to which a stream needs to be published (AUDIO_MAIN/VIDEO_MAIN/AUDIO_SLIDES/VIDEO_SLIDES)
@@ -15,6 +15,7 @@ export type ClusterReachabilityResult = {
15
15
  export declare class ClusterReachability {
16
16
  private numUdpUrls;
17
17
  private numTcpUrls;
18
+ private numXTlsUrls;
18
19
  private result;
19
20
  private pc?;
20
21
  private defer;
@@ -8,10 +8,14 @@ export type ReachabilityMetrics = {
8
8
  reachability_public_udp_failed: number;
9
9
  reachability_public_tcp_success: number;
10
10
  reachability_public_tcp_failed: number;
11
+ reachability_public_xtls_success: number;
12
+ reachability_public_xtls_failed: number;
11
13
  reachability_vmn_udp_success: number;
12
14
  reachability_vmn_udp_failed: number;
13
15
  reachability_vmn_tcp_success: number;
14
16
  reachability_vmn_tcp_failed: number;
17
+ reachability_vmn_xtls_success: number;
18
+ reachability_vmn_xtls_failed: number;
15
19
  };
16
20
  /**
17
21
  * This is the type that matches what backend expects us to send to them. It is a bit weird, because
@@ -6,3 +6,10 @@
6
6
  * @returns {string} url of a turn server
7
7
  */
8
8
  export declare function convertStunUrlToTurn(stunUrl: string, protocol: 'udp' | 'tcp'): string;
9
+ /**
10
+ * Converts a stun url to a turns url
11
+ *
12
+ * @param {string} stunUrl url of a stun server
13
+ * @returns {string} url of a turns server
14
+ */
15
+ export declare function convertStunUrlToTurnTls(stunUrl: string): string;
@@ -1,7 +1,6 @@
1
1
  /*!
2
2
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
3
  */
4
- import { RECONNECTION_STATE } from '../constants';
5
4
  import Meeting from '../meeting';
6
5
  /**
7
6
  * @export
@@ -15,7 +14,6 @@ export default class ReconnectionManager {
15
14
  rejoinAttempts: any;
16
15
  shareStatus: any;
17
16
  status: any;
18
- tryCount: any;
19
17
  webex: any;
20
18
  /**
21
19
  * @param {Meeting} meeting
@@ -74,27 +72,19 @@ export default class ReconnectionManager {
74
72
  * @returns {Boolean} true if reconnection operation is in progress
75
73
  */
76
74
  isReconnectInProgress(): boolean;
77
- /**
78
- * Sets the reconnection status
79
- *
80
- * @public
81
- * @param {RECONNECTION_STATE} status
82
- * @memberof ReconnectionManager
83
- * @returns {undefined}
84
- */
85
- setStatus(status: RECONNECTION_STATE): void;
86
75
  /**
87
76
  * @returns {Boolean}
88
- * @throws {ReconnectionError}
77
+ * @throws {ReconnectInProgress, ReconnectionDisabled}
89
78
  * @private
90
79
  * @memberof ReconnectionManager
91
80
  */
92
- private validate;
81
+ private canStartReconnection;
93
82
  /**
94
83
  * Initiates a media reconnect for the active meeting
95
84
  * @param {Object} reconnectOptions
96
85
  * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
97
86
  * @param {boolean} [reconnectOptions.networkRetry=false] indicates if we are retrying the reconnect
87
+ * @param {Function} [completionCallback] callback that gets called when reconnection is started successfully
98
88
  * @returns {Promise}
99
89
  * @public
100
90
  * @memberof ReconnectionManager
@@ -102,7 +92,7 @@ export default class ReconnectionManager {
102
92
  reconnect({ networkDisconnect, networkRetry, }?: {
103
93
  networkDisconnect?: boolean;
104
94
  networkRetry?: boolean;
105
- }): any;
95
+ }, completionCallback?: (() => Promise<void>) | undefined): Promise<void>;
106
96
  /**
107
97
  * @param {Object} reconnectOptions
108
98
  * @param {boolean} [reconnectOptions.networkDisconnect=false] indicates if a network disconnect event happened
@@ -1,5 +1,7 @@
1
1
  import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import TurnDiscovery, { TurnDiscoveryResult } from './turnDiscovery';
2
3
  import Meeting from '../meeting';
4
+ export { type TurnDiscoveryResult, type TurnServerInfo, type TurnDiscoverySkipReason, } from './turnDiscovery';
3
5
  /**
4
6
  * Roap options
5
7
  * @typedef {Object} RoapOptions
@@ -26,7 +28,7 @@ export default class Roap extends StatelessWebexPlugin {
26
28
  options: any;
27
29
  roapHandler: any;
28
30
  roapRequest: any;
29
- turnDiscovery: any;
31
+ turnDiscovery: TurnDiscovery;
30
32
  /**
31
33
  *
32
34
  * @param {Object} attrs
@@ -74,5 +76,11 @@ export default class Roap extends StatelessWebexPlugin {
74
76
  * @param {Boolean} [isForced]
75
77
  * @returns {Promise}
76
78
  */
77
- doTurnDiscovery(meeting: Meeting, isReconnecting: boolean, isForced?: boolean): any;
79
+ doTurnDiscovery(meeting: Meeting, isReconnecting: boolean, isForced?: boolean): Promise<TurnDiscoveryResult>;
80
+ generateTurnDiscoveryRequestMessage(meeting: Meeting, isForced: boolean): Promise<{
81
+ roapMessage?: object;
82
+ turnDiscoverySkippedReason: string;
83
+ }>;
84
+ handleTurnDiscoveryHttpResponse(meeting: Meeting, httpResponse: object): Promise<TurnDiscoveryResult>;
85
+ abortTurnDiscovery(): void;
78
86
  }
@@ -1,5 +1,21 @@
1
+ import { Enum } from '../constants';
1
2
  import RoapRequest from './request';
2
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
+ };
3
19
  /**
4
20
  * Handles the process of finding out TURN server information from Linus.
5
21
  * This is achieved by sending a TURN_DISCOVERY_REQUEST.
@@ -24,7 +40,8 @@ export default class TurnDiscovery {
24
40
  */
25
41
  private waitForTurnDiscoveryResponse;
26
42
  /**
27
- * handles TURN_DISCOVERY_RESPONSE roap message
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.
28
45
  *
29
46
  * @param {Object} roapMessage
30
47
  * @param {string} from string to indicate how we got the response (used just for logging)
@@ -34,13 +51,52 @@ export default class TurnDiscovery {
34
51
  */
35
52
  handleTurnDiscoveryResponse(roapMessage: any, from: string): void;
36
53
  /**
37
- * handles TURN_DISCOVERY_RESPONSE roap message that came in http response
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().
38
57
  *
39
- * @param {Object} roapMessage
40
- * @returns {Promise}
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>}
41
82
  * @memberof Roap
42
83
  */
43
- private handleTurnDiscoveryResponseInHttpResponse;
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;
44
100
  /**
45
101
  * sends the TURN_DISCOVERY_REQUEST roap request
46
102
  *
@@ -50,7 +106,7 @@ export default class TurnDiscovery {
50
106
  * @private
51
107
  * @memberof Roap
52
108
  */
53
- sendRoapTurnDiscoveryRequest(meeting: Meeting, isReconnecting: boolean): Promise<any>;
109
+ private sendRoapTurnDiscoveryRequest;
54
110
  /**
55
111
  * Sends the OK message that server expects to receive
56
112
  * after it sends us TURN_DISCOVERY_RESPONSE
@@ -94,15 +150,6 @@ export default class TurnDiscovery {
94
150
  * @param {Boolean} [isForced]
95
151
  * @returns {Promise}
96
152
  */
97
- doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean, isForced?: boolean): Promise<{
98
- turnServerInfo: any;
99
- turnDiscoverySkippedReason: string;
100
- } | {
101
- turnServerInfo: {
102
- url: string;
103
- username: string;
104
- password: string;
105
- };
106
- turnDiscoverySkippedReason: any;
107
- }>;
153
+ doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean, isForced?: boolean): Promise<TurnDiscoveryResult>;
108
154
  }
155
+ export {};
@@ -62,7 +62,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
62
62
  updateCanManageWebcast: function updateCanManageWebcast(canManageWebcast) {
63
63
  this.set('canManageWebcast', canManageWebcast);
64
64
  },
65
- version: "3.0.0"
65
+ version: "3.1.0-next.10"
66
66
  });
67
67
  var _default = exports.default = Webinar;
68
68
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -28,7 +28,7 @@
28
28
  ]
29
29
  },
30
30
  "scripts": {
31
- "build": "yarn run -T tsc --declaration true --declarationDir ./dist",
31
+ "build": "yarn run -T tsc --declaration true --declarationDir ./dist/types",
32
32
  "build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps && yarn build",
33
33
  "deploy:npm": "yarn npm publish",
34
34
  "test:broken": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
@@ -43,13 +43,13 @@
43
43
  "@webex/eslint-config-legacy": "0.0.0",
44
44
  "@webex/jest-config-legacy": "0.0.0",
45
45
  "@webex/legacy-tools": "0.0.0",
46
- "@webex/plugin-meetings": "3.0.0",
47
- "@webex/plugin-rooms": "3.0.0",
48
- "@webex/test-helper-chai": "3.0.0",
49
- "@webex/test-helper-mocha": "3.0.0",
50
- "@webex/test-helper-mock-webex": "3.0.0",
51
- "@webex/test-helper-retry": "3.0.0",
52
- "@webex/test-helper-test-users": "3.0.0",
46
+ "@webex/plugin-meetings": "3.1.0-next.10",
47
+ "@webex/plugin-rooms": "3.1.0-next.1",
48
+ "@webex/test-helper-chai": "3.1.0-next.1",
49
+ "@webex/test-helper-mocha": "3.1.0-next.1",
50
+ "@webex/test-helper-mock-webex": "3.1.0-next.1",
51
+ "@webex/test-helper-retry": "3.1.0-next.1",
52
+ "@webex/test-helper-test-users": "3.1.0-next.1",
53
53
  "chai": "^4.3.4",
54
54
  "chai-as-promised": "^7.1.1",
55
55
  "eslint": "^8.24.0",
@@ -61,20 +61,20 @@
61
61
  "typescript": "^4.7.4"
62
62
  },
63
63
  "dependencies": {
64
- "@webex/common": "3.0.0",
65
- "@webex/internal-media-core": "2.2.9",
66
- "@webex/internal-plugin-conversation": "3.0.0",
67
- "@webex/internal-plugin-device": "3.0.0",
68
- "@webex/internal-plugin-llm": "3.0.0",
69
- "@webex/internal-plugin-mercury": "3.0.0",
70
- "@webex/internal-plugin-metrics": "3.0.0",
71
- "@webex/internal-plugin-support": "3.0.0",
72
- "@webex/internal-plugin-user": "3.0.0",
73
- "@webex/internal-plugin-voicea": "3.0.0",
74
- "@webex/media-helpers": "3.0.1",
75
- "@webex/plugin-people": "3.0.0",
76
- "@webex/plugin-rooms": "3.0.0",
77
- "@webex/webex-core": "3.0.0",
64
+ "@webex/common": "3.1.0-next.1",
65
+ "@webex/internal-media-core": "2.5.0",
66
+ "@webex/internal-plugin-conversation": "3.1.0-next.1",
67
+ "@webex/internal-plugin-device": "3.1.0-next.1",
68
+ "@webex/internal-plugin-llm": "3.1.0-next.1",
69
+ "@webex/internal-plugin-mercury": "3.1.0-next.1",
70
+ "@webex/internal-plugin-metrics": "3.1.0-next.1",
71
+ "@webex/internal-plugin-support": "3.1.0-next.1",
72
+ "@webex/internal-plugin-user": "3.1.0-next.1",
73
+ "@webex/internal-plugin-voicea": "3.1.0-next.10",
74
+ "@webex/media-helpers": "3.1.0-next.1",
75
+ "@webex/plugin-people": "3.1.0-next.1",
76
+ "@webex/plugin-rooms": "3.1.0-next.1",
77
+ "@webex/webex-core": "3.1.0-next.1",
78
78
  "ampersand-collection": "^2.0.2",
79
79
  "bowser": "^2.11.0",
80
80
  "btoa": "^1.2.1",
@@ -91,5 +91,5 @@
91
91
  "//": [
92
92
  "TODO: upgrade jwt-decode when moving to node 18"
93
93
  ],
94
- "version": "3.0.0"
94
+ "version": "3.1.0-next.10"
95
95
  }
@@ -0,0 +1,25 @@
1
+ import {ERROR_DICTIONARY} from '../../constants';
2
+ import ReconnectionError from './reconnection';
3
+
4
+ /**
5
+ * Error object for cases when new reconnection cannot be started
6
+ */
7
+ export default class ReconnectionNotStartedError extends ReconnectionError {
8
+ /**
9
+ *
10
+ * @constructor
11
+ * @param {String} [message]
12
+ * @param {Object} [error]
13
+ */
14
+ constructor(
15
+ message: string = ERROR_DICTIONARY.RECONNECTION_NOT_STARTED.MESSAGE,
16
+ error: any = null
17
+ ) {
18
+ super(message, error);
19
+ this.name = ERROR_DICTIONARY.RECONNECTION_NOT_STARTED.NAME;
20
+ this.sdkMessage = ERROR_DICTIONARY.RECONNECTION_NOT_STARTED.MESSAGE;
21
+ this.error = error;
22
+ this.stack = error ? error.stack : new Error().stack;
23
+ this.code = ERROR_DICTIONARY.RECONNECTION_NOT_STARTED.CODE;
24
+ }
25
+ }
package/src/config.ts CHANGED
@@ -87,6 +87,7 @@ export default {
87
87
  enableUnifiedMeetings: true,
88
88
  enableAdhocMeetings: true,
89
89
  enableTcpReachability: false,
90
+ enableTlsReachability: false,
90
91
  },
91
92
  degradationPreferences: {
92
93
  maxMacroblocksLimit: 8192,