@webex/plugin-meetings 3.7.0-wxcc.1 → 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 (220) 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/breakouts/breakout.d.ts +8 -0
  5. package/dist/breakouts/breakout.js +1 -1
  6. package/dist/breakouts/collection.d.ts +5 -0
  7. package/dist/breakouts/edit-lock-error.d.ts +15 -0
  8. package/dist/breakouts/events.d.ts +8 -0
  9. package/dist/breakouts/index.d.ts +5 -0
  10. package/dist/breakouts/index.js +1 -1
  11. package/dist/breakouts/request.d.ts +22 -0
  12. package/dist/breakouts/utils.d.ts +15 -0
  13. package/dist/common/browser-detection.d.ts +9 -0
  14. package/dist/common/collection.d.ts +48 -0
  15. package/dist/common/config.d.ts +2 -0
  16. package/dist/common/errors/captcha-error.d.ts +15 -0
  17. package/dist/common/errors/intent-to-join.d.ts +16 -0
  18. package/dist/common/errors/join-meeting.d.ts +17 -0
  19. package/dist/common/errors/media.d.ts +15 -0
  20. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  21. package/dist/common/errors/parameter.d.ts +15 -0
  22. package/dist/common/errors/password-error.d.ts +15 -0
  23. package/dist/common/errors/permission.d.ts +14 -0
  24. package/dist/common/errors/reclaim-host-role-error.js +149 -0
  25. package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
  26. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  27. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  28. package/dist/common/errors/reconnection-in-progress.js +33 -0
  29. package/dist/common/errors/reconnection-in-progress.js.map +1 -0
  30. package/dist/common/errors/reconnection.d.ts +15 -0
  31. package/dist/common/errors/stats.d.ts +15 -0
  32. package/dist/common/errors/webex-errors.d.ts +93 -0
  33. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  34. package/dist/common/events/events-scope.d.ts +17 -0
  35. package/dist/common/events/events.d.ts +12 -0
  36. package/dist/common/events/trigger-proxy.d.ts +2 -0
  37. package/dist/common/events/util.d.ts +2 -0
  38. package/dist/common/logs/logger-config.d.ts +2 -0
  39. package/dist/common/logs/logger-proxy.d.ts +2 -0
  40. package/dist/common/logs/request.d.ts +36 -0
  41. package/dist/common/queue.d.ts +34 -0
  42. package/dist/config.d.ts +72 -0
  43. package/dist/constants.d.ts +1088 -0
  44. package/dist/constants.js +15 -3
  45. package/dist/constants.js.map +1 -1
  46. package/dist/controls-options-manager/constants.d.ts +4 -0
  47. package/dist/controls-options-manager/enums.d.ts +15 -0
  48. package/dist/controls-options-manager/index.d.ts +136 -0
  49. package/dist/controls-options-manager/types.d.ts +43 -0
  50. package/dist/controls-options-manager/util.d.ts +1 -0
  51. package/dist/index.d.ts +7 -0
  52. package/dist/interceptors/index.d.ts +2 -0
  53. package/dist/interceptors/locusRetry.d.ts +27 -0
  54. package/dist/interpretation/collection.d.ts +5 -0
  55. package/dist/interpretation/index.d.ts +5 -0
  56. package/dist/interpretation/index.js +1 -1
  57. package/dist/interpretation/siLanguage.d.ts +5 -0
  58. package/dist/interpretation/siLanguage.js +1 -1
  59. package/dist/locus-info/controlsUtils.d.ts +2 -0
  60. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  61. package/dist/locus-info/fullState.d.ts +2 -0
  62. package/dist/locus-info/hostUtils.d.ts +2 -0
  63. package/dist/locus-info/index.d.ts +322 -0
  64. package/dist/locus-info/infoUtils.d.ts +2 -0
  65. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  66. package/dist/locus-info/parser.d.ts +272 -0
  67. package/dist/locus-info/selfUtils.d.ts +2 -0
  68. package/dist/locus-info/selfUtils.js +5 -0
  69. package/dist/locus-info/selfUtils.js.map +1 -1
  70. package/dist/media/MediaConnectionAwaiter.js +1 -0
  71. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  72. package/dist/media/index.d.ts +34 -0
  73. package/dist/media/properties.d.ts +93 -0
  74. package/dist/media/properties.js +30 -16
  75. package/dist/media/properties.js.map +1 -1
  76. package/dist/media/util.d.ts +2 -0
  77. package/dist/mediaQualityMetrics/config.d.ts +241 -0
  78. package/dist/mediaQualityMetrics/config.js +502 -0
  79. package/dist/mediaQualityMetrics/config.js.map +1 -0
  80. package/dist/meeting/brbState.js +167 -0
  81. package/dist/meeting/brbState.js.map +1 -0
  82. package/dist/meeting/effectsState.js +260 -0
  83. package/dist/meeting/effectsState.js.map +1 -0
  84. package/dist/meeting/in-meeting-actions.d.ts +167 -0
  85. package/dist/meeting/index.d.ts +1825 -0
  86. package/dist/meeting/index.js +363 -295
  87. package/dist/meeting/index.js.map +1 -1
  88. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  89. package/dist/meeting/muteState.d.ts +178 -0
  90. package/dist/meeting/muteState.js +1 -6
  91. package/dist/meeting/muteState.js.map +1 -1
  92. package/dist/meeting/request.d.ts +295 -0
  93. package/dist/meeting/request.type.d.ts +11 -0
  94. package/dist/meeting/state.d.ts +9 -0
  95. package/dist/meeting/util.d.ts +119 -0
  96. package/dist/meeting/voicea-meeting.d.ts +16 -0
  97. package/dist/meeting-info/collection.d.ts +20 -0
  98. package/dist/meeting-info/index.d.ts +69 -0
  99. package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
  100. package/dist/meeting-info/meeting-info-v2.js +19 -12
  101. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  102. package/dist/meeting-info/request.d.ts +22 -0
  103. package/dist/meeting-info/util.d.ts +2 -0
  104. package/dist/meeting-info/utilv2.d.ts +2 -0
  105. package/dist/meeting-info/utilv2.js +5 -1
  106. package/dist/meeting-info/utilv2.js.map +1 -1
  107. package/dist/meetings/collection.d.ts +40 -0
  108. package/dist/meetings/index.d.ts +390 -0
  109. package/dist/meetings/meetings.types.d.ts +4 -0
  110. package/dist/meetings/request.d.ts +27 -0
  111. package/dist/meetings/util.d.ts +18 -0
  112. package/dist/member/index.d.ts +160 -0
  113. package/dist/member/member.types.js +17 -0
  114. package/dist/member/member.types.js.map +1 -0
  115. package/dist/member/types.d.ts +32 -0
  116. package/dist/member/util.d.ts +2 -0
  117. package/dist/members/collection.d.ts +29 -0
  118. package/dist/members/index.d.ts +353 -0
  119. package/dist/members/request.d.ts +114 -0
  120. package/dist/members/types.d.ts +25 -0
  121. package/dist/members/util.d.ts +215 -0
  122. package/dist/metrics/config.js +276 -0
  123. package/dist/metrics/config.js.map +1 -0
  124. package/dist/metrics/constants.d.ts +70 -0
  125. package/dist/metrics/constants.js +2 -0
  126. package/dist/metrics/constants.js.map +1 -1
  127. package/dist/metrics/index.d.ts +45 -0
  128. package/dist/multistream/mediaRequestManager.d.ts +119 -0
  129. package/dist/multistream/receiveSlot.d.ts +68 -0
  130. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  131. package/dist/multistream/remoteMedia.d.ts +72 -0
  132. package/dist/multistream/remoteMediaGroup.d.ts +49 -0
  133. package/dist/multistream/remoteMediaManager.d.ts +300 -0
  134. package/dist/multistream/sendSlotManager.d.ts +69 -0
  135. package/dist/networkQualityMonitor/index.d.ts +70 -0
  136. package/dist/networkQualityMonitor/index.js +221 -0
  137. package/dist/networkQualityMonitor/index.js.map +1 -0
  138. package/dist/peer-connection-manager/index.js +671 -0
  139. package/dist/peer-connection-manager/index.js.map +1 -0
  140. package/dist/peer-connection-manager/util.js +109 -0
  141. package/dist/peer-connection-manager/util.js.map +1 -0
  142. package/dist/personal-meeting-room/index.d.ts +47 -0
  143. package/dist/personal-meeting-room/request.d.ts +14 -0
  144. package/dist/personal-meeting-room/util.d.ts +2 -0
  145. package/dist/reachability/clusterReachability.d.ts +109 -0
  146. package/dist/reachability/index.d.ts +105 -0
  147. package/dist/reachability/index.js +31 -3
  148. package/dist/reachability/index.js.map +1 -1
  149. package/dist/reachability/request.d.ts +39 -0
  150. package/dist/reachability/util.d.ts +8 -0
  151. package/dist/reactions/constants.d.ts +3 -0
  152. package/dist/reactions/reactions.d.ts +4 -0
  153. package/dist/reactions/reactions.type.d.ts +52 -0
  154. package/dist/reconnection-manager/index.d.ts +136 -0
  155. package/dist/recording-controller/enums.d.ts +7 -0
  156. package/dist/recording-controller/index.d.ts +207 -0
  157. package/dist/recording-controller/util.d.ts +14 -0
  158. package/dist/roap/collection.js +62 -0
  159. package/dist/roap/collection.js.map +1 -0
  160. package/dist/roap/handler.js +275 -0
  161. package/dist/roap/handler.js.map +1 -0
  162. package/dist/roap/index.d.ts +86 -0
  163. package/dist/roap/request.d.ts +39 -0
  164. package/dist/roap/state.js +126 -0
  165. package/dist/roap/state.js.map +1 -0
  166. package/dist/roap/turnDiscovery.d.ts +155 -0
  167. package/dist/roap/util.js +75 -0
  168. package/dist/roap/util.js.map +1 -0
  169. package/dist/rtcMetrics/constants.d.ts +4 -0
  170. package/dist/rtcMetrics/constants.js +11 -0
  171. package/dist/rtcMetrics/constants.js.map +1 -0
  172. package/dist/rtcMetrics/index.d.ts +61 -0
  173. package/dist/rtcMetrics/index.js +197 -0
  174. package/dist/rtcMetrics/index.js.map +1 -0
  175. package/dist/statsAnalyzer/global.d.ts +36 -0
  176. package/dist/statsAnalyzer/global.js +126 -0
  177. package/dist/statsAnalyzer/global.js.map +1 -0
  178. package/dist/statsAnalyzer/index.d.ts +217 -0
  179. package/dist/statsAnalyzer/index.js +1013 -0
  180. package/dist/statsAnalyzer/index.js.map +1 -0
  181. package/dist/statsAnalyzer/mqaUtil.d.ts +48 -0
  182. package/dist/statsAnalyzer/mqaUtil.js +179 -0
  183. package/dist/statsAnalyzer/mqaUtil.js.map +1 -0
  184. package/dist/transcription/index.d.ts +64 -0
  185. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  186. package/dist/types/constants.d.ts +9 -2
  187. package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
  188. package/dist/types/meeting/brbState.d.ts +54 -0
  189. package/dist/types/meeting/index.d.ts +23 -0
  190. package/dist/types/meeting-info/meeting-info-v2.d.ts +3 -1
  191. package/dist/types/metrics/constants.d.ts +2 -0
  192. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  193. package/dist/types/reachability/index.d.ts +9 -1
  194. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  195. package/dist/types/rtcMetrics/index.d.ts +71 -0
  196. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  197. package/dist/types/statsAnalyzer/index.d.ts +217 -0
  198. package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
  199. package/dist/webinar/collection.d.ts +16 -0
  200. package/dist/webinar/index.d.ts +5 -0
  201. package/dist/webinar/index.js +1 -1
  202. package/package.json +23 -23
  203. package/src/constants.ts +10 -2
  204. package/src/locus-info/selfUtils.ts +5 -0
  205. package/src/media/MediaConnectionAwaiter.ts +2 -0
  206. package/src/media/properties.ts +34 -13
  207. package/src/meeting/brbState.ts +169 -0
  208. package/src/meeting/index.ts +112 -26
  209. package/src/meeting/muteState.ts +1 -6
  210. package/src/meeting-info/meeting-info-v2.ts +9 -1
  211. package/src/meeting-info/utilv2.ts +14 -2
  212. package/src/metrics/constants.ts +2 -0
  213. package/src/reachability/index.ts +29 -1
  214. package/test/unit/spec/locus-info/selfUtils.js +10 -0
  215. package/test/unit/spec/media/properties.ts +15 -0
  216. package/test/unit/spec/meeting/brbState.ts +114 -0
  217. package/test/unit/spec/meeting/index.js +92 -30
  218. package/test/unit/spec/meeting/muteState.js +0 -24
  219. package/test/unit/spec/meeting-info/utilv2.js +9 -0
  220. package/test/unit/spec/reachability/index.ts +120 -10
@@ -139,7 +139,7 @@ export declare const RETRY_TIMEOUT = 3000;
139
139
  export declare const ICE_AND_DTLS_CONNECTION_TIMEOUT = 20000;
140
140
  export declare const ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT = 35000;
141
141
  export declare const WEBINAR_ERROR_WEBCAST: number[];
142
- export declare const WEBINAR_ERROR_REGISTRATIONID: number[];
142
+ export declare const WEBINAR_ERROR_REGISTRATION_ID: number[];
143
143
  export declare const JOIN_BEFORE_HOST = 403003;
144
144
  export declare const DIALER_REGEX: {
145
145
  SIP_ADDRESS: RegExp;
@@ -1110,14 +1110,21 @@ export declare const PASSWORD_STATUS: {
1110
1110
  UNKNOWN: string;
1111
1111
  VERIFIED: string;
1112
1112
  };
1113
+ export declare const REGISTRATION_ID_STATUS: {
1114
+ NOT_REQUIRED: string;
1115
+ REQUIRED: string;
1116
+ UNKNOWN: string;
1117
+ VERIFIED: string;
1118
+ };
1113
1119
  export declare const MEETING_INFO_FAILURE_REASON: {
1114
1120
  NONE: string;
1115
1121
  WRONG_PASSWORD: string;
1116
1122
  WRONG_CAPTCHA: string;
1123
+ WRONG_REGISTRATION_ID: string;
1117
1124
  POLICY: string;
1118
1125
  WEBINAR_REGISTRATION: string;
1119
1126
  NEED_JOIN_WITH_WEBCAST: string;
1120
- WEBINAR_NEED_REGISTRATIONID: string;
1127
+ WEBINAR_NEED_REGISTRATION_ID: string;
1121
1128
  NOT_REACH_JBH: string;
1122
1129
  JOIN_FORBIDDEN: string;
1123
1130
  OTHER: string;
@@ -0,0 +1,241 @@
1
+ export declare const emptyMqaInterval: {
2
+ audioReceive: any[];
3
+ audioTransmit: any[];
4
+ intervalMetadata: {
5
+ peerReflexiveIP: string;
6
+ peripherals: any[];
7
+ processAverageCPU: number;
8
+ processMaximumCPU: number;
9
+ systemAverageCPU: number;
10
+ systemMaximumCPU: number;
11
+ };
12
+ networkType: string;
13
+ intervalNumber: number;
14
+ videoReceive: any[];
15
+ videoTransmit: any[];
16
+ };
17
+ export declare const emptyAudioReceive: {
18
+ common: {
19
+ common: {
20
+ direction: string;
21
+ isMain: boolean;
22
+ mariFecEnabled: boolean;
23
+ mariQosEnabled: boolean;
24
+ multistreamEnabled: boolean;
25
+ };
26
+ dtlsBitrate: number;
27
+ dtlsPackets: number;
28
+ fecBitrate: number;
29
+ fecPackets: number;
30
+ maxBitrate: number;
31
+ mediaHopByHopLost: number;
32
+ rtcpBitrate: number;
33
+ rtcpPackets: number;
34
+ rtpBitrate: number;
35
+ rtpHopByHopLost: number;
36
+ rtpPackets: number;
37
+ rtpRecovered: number;
38
+ rtxBitrate: number;
39
+ rtxPackets: number;
40
+ srtcpUnprotectErrors: number;
41
+ srtpUnprotectErrors: number;
42
+ stunBitrate: number;
43
+ stunPackets: number;
44
+ transportType: string;
45
+ };
46
+ streams: any[];
47
+ };
48
+ export declare const emptyAudioReceiveStream: {
49
+ common: {
50
+ codec: string;
51
+ concealedFrames: number;
52
+ csi: any[];
53
+ maxConcealRunLength: number;
54
+ optimalBitrate: number;
55
+ optimalFrameRate: number;
56
+ receivedBitrate: number;
57
+ receivedFrameRate: number;
58
+ renderedFrameRate: number;
59
+ requestedBitrate: number;
60
+ requestedFrameRate: number;
61
+ rtpEndToEndLost: number;
62
+ maxRtpJitter: number;
63
+ meanRtpJitter: number;
64
+ rtpPackets: number;
65
+ ssci: number;
66
+ };
67
+ };
68
+ export declare const emptyAudioTransmit: {
69
+ common: {
70
+ availableBitrate: number;
71
+ common: {
72
+ direction: string;
73
+ isMain: boolean;
74
+ mariFecEnabled: boolean;
75
+ mariQosEnabled: boolean;
76
+ multistreamEnabled: boolean;
77
+ };
78
+ dtlsBitrate: number;
79
+ dtlsPackets: number;
80
+ fecBitrate: number;
81
+ fecPackets: number;
82
+ maxBitrate: number;
83
+ queueDelay: number;
84
+ remoteJitter: number;
85
+ remoteLossRate: number;
86
+ remoteReceiveRate: number;
87
+ roundTripTime: number;
88
+ rtcpBitrate: number;
89
+ rtcpPackets: number;
90
+ rtpBitrate: number;
91
+ rtpPackets: number;
92
+ rtxBitrate: number;
93
+ rtxPackets: number;
94
+ stunBitrate: number;
95
+ stunPackets: number;
96
+ transportType: string;
97
+ };
98
+ streams: any[];
99
+ };
100
+ export declare const emptyAudioTransmitStream: {
101
+ common: {
102
+ codec: string;
103
+ csi: any[];
104
+ requestedBitrate: number;
105
+ requestedFrames: number;
106
+ rtpPackets: number;
107
+ ssci: number;
108
+ transmittedBitrate: number;
109
+ transmittedFrameRate: number;
110
+ };
111
+ };
112
+ export declare const emptyVideoReceive: {
113
+ common: {
114
+ common: {
115
+ direction: string;
116
+ isMain: boolean;
117
+ mariFecEnabled: boolean;
118
+ mariQosEnabled: boolean;
119
+ multistreamEnabled: boolean;
120
+ };
121
+ dtlsBitrate: number;
122
+ dtlsPackets: number;
123
+ fecBitrate: number;
124
+ fecPackets: number;
125
+ maxBitrate: number;
126
+ mediaHopByHopLost: number;
127
+ rtcpBitrate: number;
128
+ rtcpPackets: number;
129
+ rtpBitrate: number;
130
+ rtpHopByHopLost: number;
131
+ rtpPackets: number;
132
+ rtpRecovered: number;
133
+ rtxBitrate: number;
134
+ rtxPackets: number;
135
+ srtcpUnprotectErrors: number;
136
+ srtpUnprotectErrors: number;
137
+ stunBitrate: number;
138
+ stunPackets: number;
139
+ transportType: string;
140
+ };
141
+ streams: any[];
142
+ };
143
+ export declare const emptyVideoReceiveStream: {
144
+ common: {
145
+ codec: string;
146
+ concealedFrames: number;
147
+ csi: any[];
148
+ maxConcealRunLength: number;
149
+ optimalBitrate: number;
150
+ optimalFrameRate: number;
151
+ receivedBitrate: number;
152
+ receivedFrameRate: number;
153
+ renderedFrameRate: number;
154
+ requestedBitrate: number;
155
+ requestedFrameRate: number;
156
+ rtpEndToEndLost: number;
157
+ rtpJitter: number;
158
+ rtpPackets: number;
159
+ ssci: number;
160
+ };
161
+ h264CodecProfile: string;
162
+ isActiveSpeaker: boolean;
163
+ optimalFrameSize: number;
164
+ receivedFrameSize: number;
165
+ receivedHeight: number;
166
+ receivedKeyFrames: number;
167
+ receivedKeyFramesForRequest: number;
168
+ receivedKeyFramesSourceChange: number;
169
+ receivedKeyFramesUnknown: number;
170
+ receivedWidth: number;
171
+ requestedFrameSize: number;
172
+ requestedKeyFrames: number;
173
+ };
174
+ export declare const emptyVideoTransmit: {
175
+ common: {
176
+ availableBitrate: number;
177
+ common: {
178
+ direction: string;
179
+ isMain: boolean;
180
+ mariFecEnabled: boolean;
181
+ mariQosEnabled: boolean;
182
+ multistreamEnabled: boolean;
183
+ };
184
+ dtlsBitrate: number;
185
+ dtlsPackets: number;
186
+ fecBitrate: number;
187
+ fecPackets: number;
188
+ maxBitrate: number;
189
+ queueDelay: number;
190
+ remoteJitter: number;
191
+ remoteLossRate: number;
192
+ remoteReceiveRate: number;
193
+ roundTripTime: number;
194
+ rtcpBitrate: number;
195
+ rtcpPackets: number;
196
+ rtpBitrate: number;
197
+ rtpPackets: number;
198
+ rtxBitrate: number;
199
+ rtxPackets: number;
200
+ stunBitrate: number;
201
+ stunPackets: number;
202
+ transportType: string;
203
+ };
204
+ streams: any[];
205
+ };
206
+ export declare const emptyVideoTransmitStream: {
207
+ common: {
208
+ codec: string;
209
+ csi: any[];
210
+ duplicateSsci: number;
211
+ requestedBitrate: number;
212
+ requestedFrames: number;
213
+ rtpPackets: number;
214
+ ssci: number;
215
+ transmittedBitrate: number;
216
+ transmittedFrameRate: number;
217
+ };
218
+ h264CodecProfile: string;
219
+ isAvatar: boolean;
220
+ isHardwareEncoded: boolean;
221
+ localConfigurationChanges: number;
222
+ maxFrameQp: number;
223
+ maxNoiseLevel: number;
224
+ minRegionQp: number;
225
+ remoteConfigurationChanges: number;
226
+ requestedFrameSize: number;
227
+ requestedKeyFrames: number;
228
+ transmittedFrameSize: number;
229
+ transmittedHeight: number;
230
+ transmittedKeyFrames: number;
231
+ transmittedKeyFramesClient: number;
232
+ transmittedKeyFramesConfigurationChange: number;
233
+ transmittedKeyFramesFeedback: number;
234
+ transmittedKeyFramesLocalDrop: number;
235
+ transmittedKeyFramesOtherLayer: number;
236
+ transmittedKeyFramesPeriodic: number;
237
+ transmittedKeyFramesSceneChange: number;
238
+ transmittedKeyFramesStartup: number;
239
+ transmittedKeyFramesUnknown: number;
240
+ transmittedWidth: number;
241
+ };
@@ -0,0 +1,54 @@
1
+ import type Meeting from '.';
2
+ import SendSlotManager from '../multistream/sendSlotManager';
3
+ export declare const createBrbState: (meeting: Meeting, enabled: boolean) => BrbState;
4
+ /** The purpose of this class is to manage the local and remote brb state
5
+ * and make sure that the server state always matches the last requested state by the client.
6
+ */
7
+ export declare class BrbState {
8
+ state: {
9
+ client: {
10
+ enabled: boolean;
11
+ };
12
+ server: {
13
+ enabled: boolean;
14
+ };
15
+ syncToServerInProgress: boolean;
16
+ };
17
+ meeting: Meeting;
18
+ /**
19
+ * Constructor
20
+ *
21
+ * @param {Meeting} meeting - the meeting object
22
+ * @param {boolean} enabled - whether the client audio/video is enabled at all
23
+ */
24
+ constructor(meeting: Meeting, enabled: boolean);
25
+ /**
26
+ * Enables/disables brb
27
+ *
28
+ * @param {boolean} enabled
29
+ * @param {SendSlotManager} sendSlotManager
30
+ * @returns {Promise}
31
+ */
32
+ enable(enabled: boolean, sendSlotManager: SendSlotManager): Promise<void>;
33
+ /**
34
+ * Updates the server local and remote brb values so that they match the current client desired state.
35
+ *
36
+ * @param {SendSlotManager} sendSlotManager
37
+ * @returns {Promise}
38
+ */
39
+ private applyClientStateToServer;
40
+ /**
41
+ * Send the local brb state to the server
42
+ *
43
+ * @param {SendSlotManager} sendSlotManager
44
+ * @returns {Promise}
45
+ */
46
+ private sendLocalBrbStateToServer;
47
+ /**
48
+ * This method should be called whenever the server brb state is changed
49
+ *
50
+ * @param {Boolean} [enabled] true if user has brb enabled, false otherwise
51
+ * @returns {undefined}
52
+ */
53
+ handleServerBrbUpdate(enabled?: boolean): void;
54
+ }
@@ -19,6 +19,7 @@ import InMeetingActions from './in-meeting-actions';
19
19
  import RecordingController from '../recording-controller';
20
20
  import ControlsOptionsManager from '../controls-options-manager';
21
21
  import { LocusMediaRequest } from './locusMediaRequest';
22
+ import { BrbState } from './brbState';
22
23
  export type CaptionData = {
23
24
  id: string;
24
25
  isFinal: boolean;
@@ -83,6 +84,7 @@ export declare enum ScreenShareFloorStatus {
83
84
  }
84
85
  type FetchMeetingInfoParams = {
85
86
  password?: string;
87
+ registrationId?: string;
86
88
  captchaCode?: string;
87
89
  extraParams?: Record<string, any>;
88
90
  sendCAevents?: boolean;
@@ -449,6 +451,8 @@ export default class Meeting extends StatelessWebexPlugin {
449
451
  turnServerUsed: boolean;
450
452
  areVoiceaEventsSetup: boolean;
451
453
  isMoveToInProgress: boolean;
454
+ registrationIdStatus: string;
455
+ brbState: BrbState;
452
456
  voiceaListenerCallbacks: object;
453
457
  private addMediaData;
454
458
  private sendSlotManager;
@@ -578,6 +582,25 @@ export default class Meeting extends StatelessWebexPlugin {
578
582
  requiredCaptcha: any;
579
583
  failureReason: string;
580
584
  }>;
585
+ /**
586
+ * Checks if the supplied registrationId is correct. It returns a promise with information whether the
587
+ * registrationId and captcha code were correct or not.
588
+ * @param {String | undefined} registrationId - can be undefined if only captcha was required
589
+ * @param {String | undefined} captchaCode - can be undefined if captcha was not required by the server
590
+ * @param {Boolean} sendCAevents - whether Call Analyzer events should be sent when fetching meeting information
591
+ * @public
592
+ * @memberof Meeting
593
+ * @returns {Promise<{isRegistrationIdValid: boolean, requiredCaptcha: boolean, failureReason: MEETING_INFO_FAILURE_REASON}>}
594
+ */
595
+ verifyRegistrationId(registrationId: string, captchaCode: string, sendCAevents?: boolean): Promise<{
596
+ isRegistrationIdValid: boolean;
597
+ requiredCaptcha: any;
598
+ failureReason: string;
599
+ } | {
600
+ isRegistrationIdValid: boolean;
601
+ requiredCaptcha: any;
602
+ failureReason: string;
603
+ }>;
581
604
  /**
582
605
  * Refreshes the captcha. As a result the meeting will have new captcha id, image and audio.
583
606
  * If the refresh operation fails, meeting remains with the old captcha properties.
@@ -52,6 +52,7 @@ export declare class MeetingInfoV2PolicyError extends Error {
52
52
  export declare class MeetingInfoV2CaptchaError extends Error {
53
53
  captchaInfo: any;
54
54
  isPasswordRequired: any;
55
+ isRegistrationIdRequired: any;
55
56
  sdkMessage: any;
56
57
  wbxAppApiCode: any;
57
58
  body: any;
@@ -156,6 +157,7 @@ export default class MeetingInfoV2 {
156
157
  * @param {String} locusId
157
158
  * @param {Object} extraParams
158
159
  * @param {Object} options
160
+ * @param {String} registrationId
159
161
  * @returns {Promise} returns a meeting info object
160
162
  * @public
161
163
  * @memberof MeetingInfo
@@ -166,5 +168,5 @@ export default class MeetingInfoV2 {
166
168
  }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
167
169
  meetingId?: string;
168
170
  sendCAevents?: boolean;
169
- }): Promise<any>;
171
+ }, registrationId?: string): Promise<any>;
170
172
  }
@@ -70,6 +70,8 @@ declare const BEHAVIORAL_METRICS: {
70
70
  JOIN_WEBINAR_ERROR: string;
71
71
  GUEST_ENTERED_LOBBY: string;
72
72
  GUEST_EXITED_LOBBY: string;
73
+ VERIFY_REGISTRATION_ID_SUCCESS: string;
74
+ VERIFY_REGISTRATION_ID_ERROR: string;
73
75
  JOIN_FORBIDDEN_ERROR: string;
74
76
  };
75
77
  export { BEHAVIORAL_METRICS as default };
@@ -0,0 +1,70 @@
1
+ import EventsScope from '../common/events/events-scope';
2
+ /**
3
+ * Meeting - network quality event
4
+ * Emitted on each interval of retrieving stats Analyzer data
5
+ * @event network:quality
6
+ * @type {Object}
7
+ * @property {string} mediaType {video|audio}
8
+ * @property {number} networkQualityScore - value determined in determineUplinkNetworkQuality
9
+ * @memberof NetworkQualityMonitor
10
+ */
11
+ /**
12
+ * NetworkQualityMonitor class that will emit events based on detected quality
13
+ *
14
+ * @class NetworkQualityMonitor
15
+ * @extends {EventsScope}
16
+ */
17
+ export default class NetworkQualityMonitor extends EventsScope {
18
+ config: any;
19
+ frequencyTypes: any;
20
+ indicatorTypes: any;
21
+ mediaType: any;
22
+ networkQualityScore: any;
23
+ networkQualityStatus: any;
24
+ /**
25
+ * Creates a new instance of NetworkQualityMonitor
26
+ * @constructor
27
+ * @public
28
+ * @param {Object} config
29
+ * @property {Object} indicatorTypes - network properties used to evaluate network quality used as constants
30
+ * @property {Object} frequencyTypes - frequency properties used as constants {uplink|send} {downlink|receive}
31
+ * @property {number} networkQualityScore - 0|1 1 is acceptable 0 is bad/unknown
32
+ * @property {Object} networkQualityStatus - hash object based on indicatorTypes and frequencyTypes
33
+ * @property {string} mediaType - audio|video
34
+ */
35
+ constructor(config: any);
36
+ /**
37
+ * emits NETWORK_QUALITY event on meeting with payload of media type and uplinkNetworkQuality score
38
+ *
39
+ * @memberof NetworkQualityMonitor
40
+ * @returns {void}
41
+ */
42
+ emitNetworkQuality(): void;
43
+ /**
44
+ * invokes emitNetworkQuality method resets values back to default
45
+ * @returns {void}
46
+ * @memberof NetworkQualityMonitor
47
+ */
48
+ updateNetworkQualityStatus(): void;
49
+ /**
50
+ * filter data to determine uplink network quality, invoked on same interval as stats analyzer remote-inbout-rtp
51
+ * @param {Object} configObj
52
+ * @param {string} configObj.mediaType {audio|video}
53
+ * @param {RTCStats} configObj.remoteRtpResults RTC stats remote obj
54
+ * @param {Object} configObj.statsAnalyzerCurrentStats statsResults
55
+ * @returns {void}
56
+ * @public
57
+ * @memberof NetworkQualityMonitor
58
+ */
59
+ determineUplinkNetworkQuality({ mediaType, remoteRtpResults, statsAnalyzerCurrentStats, }: {
60
+ mediaType: string;
61
+ remoteRtpResults: any;
62
+ statsAnalyzerCurrentStats: object;
63
+ }): void;
64
+ /**
65
+ * Get the current status of network quaility object - networkQualityStatus
66
+ * @returns {Object}
67
+ * @public
68
+ */
69
+ get networkQualityStats(): any;
70
+ }
@@ -99,6 +99,13 @@ export default class Reachability extends EventsScope {
99
99
  * @memberof Reachability
100
100
  */
101
101
  gatherReachabilityFallback(): Promise<void>;
102
+ /**
103
+ * Stops all reachability checks that are in progress
104
+ * @public
105
+ * @memberof Reachability
106
+ * @returns {void}
107
+ */
108
+ stopReachability(): void;
102
109
  /**
103
110
  * Returns statistics about last reachability results. The returned value is an object
104
111
  * with a flat list of properties so that it can be easily sent with metrics
@@ -201,9 +208,10 @@ export default class Reachability extends EventsScope {
201
208
  /**
202
209
  * Sends a metric with all the statistics about how long reachability took
203
210
  *
211
+ * @param {boolean} aborted true if the reachability checks were aborted
204
212
  * @returns {void}
205
213
  */
206
- protected sendMetric(): Promise<void>;
214
+ protected sendMetric(aborted?: boolean): Promise<void>;
207
215
  /**
208
216
  * Starts all the timers used for various timeouts
209
217
  *
@@ -0,0 +1,4 @@
1
+ declare const RTC_METRICS: {
2
+ APP_ID: string;
3
+ };
4
+ export { RTC_METRICS as default };
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Rtc Metrics
3
+ */
4
+ export default class RtcMetrics {
5
+ /**
6
+ * Array of MetricData items to be sent to the metrics service.
7
+ */
8
+ metricsQueue: any[];
9
+ intervalId: number;
10
+ webex: any;
11
+ meetingId: string;
12
+ correlationId: string;
13
+ connectionId: string;
14
+ shouldSendMetricsOnNextStatsReport: boolean;
15
+ /**
16
+ * Initialize the interval.
17
+ *
18
+ * @param {object} webex - The main `webex` object.
19
+ * @param {string} meetingId - The meeting id.
20
+ * @param {string} correlationId - The correlation id.
21
+ */
22
+ constructor(webex: any, meetingId: any, correlationId: any);
23
+ /**
24
+ * Check to see if the metrics queue has any items.
25
+ *
26
+ * @returns {void}
27
+ */
28
+ sendMetricsInQueue(): void;
29
+ /**
30
+ * Forces sending metrics when we get the next stats-report
31
+ *
32
+ * This is useful for cases when something important happens that affects the media connection,
33
+ * for example when we move from lobby into the meeting.
34
+ *
35
+ * @returns {void}
36
+ */
37
+ sendNextMetrics(): void;
38
+ /**
39
+ * Add metrics items to the metrics queue.
40
+ *
41
+ * @param {object} data - An object with a payload array of metrics items.
42
+ *
43
+ * @returns {void}
44
+ */
45
+ addMetrics(data: any): void;
46
+ /**
47
+ * Clear the metrics interval.
48
+ *
49
+ * @returns {void}
50
+ */
51
+ closeMetrics(): void;
52
+ /**
53
+ * Anonymize IP addresses.
54
+ *
55
+ * @param {array} stats - An RTCStatsReport organized into an array of strings.
56
+ * @returns {string}
57
+ */
58
+ anonymizeIp(stats: string): string;
59
+ /**
60
+ * Set a new connection id.
61
+ *
62
+ * @returns {void}
63
+ */
64
+ private resetConnection;
65
+ /**
66
+ * Send metrics to the metrics service.
67
+ *
68
+ * @returns {void}
69
+ */
70
+ private sendMetrics;
71
+ }
@@ -0,0 +1,36 @@
1
+ declare const STATS_DEFAULT: {
2
+ encryption: string;
3
+ bandwidth: {
4
+ systemBandwidth: number;
5
+ sentPerSecond: number;
6
+ encodedPerSecond: number;
7
+ helper: {
8
+ audioBytesSent: number;
9
+ videoBytestSent: number;
10
+ };
11
+ speed: number;
12
+ };
13
+ results: {};
14
+ connectionType: {
15
+ systemNetworkType: string;
16
+ systemIpAddress: string;
17
+ local: {
18
+ candidateType: any[];
19
+ transport: any[];
20
+ ipAddress: any[];
21
+ networkType: any[];
22
+ };
23
+ remote: {
24
+ candidateType: any[];
25
+ transport: any[];
26
+ ipAddress: any[];
27
+ networkType: any[];
28
+ };
29
+ };
30
+ resolutions: {};
31
+ internal: {
32
+ remote: {};
33
+ candidates: {};
34
+ };
35
+ };
36
+ export default STATS_DEFAULT;