@webex/internal-plugin-metrics 3.0.0-beta.22 → 3.0.0-beta.220

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 (67) hide show
  1. package/dist/call-diagnostic/call-diagnostic-metrics-batcher.js +56 -0
  2. package/dist/call-diagnostic/call-diagnostic-metrics-batcher.js.map +1 -0
  3. package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js +451 -0
  4. package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js.map +1 -0
  5. package/dist/call-diagnostic/call-diagnostic-metrics.js +645 -0
  6. package/dist/call-diagnostic/call-diagnostic-metrics.js.map +1 -0
  7. package/dist/call-diagnostic/call-diagnostic-metrics.util.js +276 -0
  8. package/dist/call-diagnostic/call-diagnostic-metrics.util.js.map +1 -0
  9. package/dist/call-diagnostic/config.js +580 -0
  10. package/dist/call-diagnostic/config.js.map +1 -0
  11. package/dist/call-diagnostic/generated-types-temp/ClientEvent.js +7 -0
  12. package/dist/call-diagnostic/generated-types-temp/ClientEvent.js.map +1 -0
  13. package/dist/call-diagnostic/generated-types-temp/Event.js +7 -0
  14. package/dist/call-diagnostic/generated-types-temp/Event.js.map +1 -0
  15. package/dist/call-diagnostic/generated-types-temp/MediaQualityEvent.js +7 -0
  16. package/dist/call-diagnostic/generated-types-temp/MediaQualityEvent.js.map +1 -0
  17. package/dist/config.js +20 -1
  18. package/dist/config.js.map +1 -1
  19. package/dist/index.js +25 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/metrics.js +30 -30
  22. package/dist/metrics.js.map +1 -1
  23. package/dist/metrics.types.js +7 -0
  24. package/dist/metrics.types.js.map +1 -0
  25. package/dist/new-metrics.js +249 -0
  26. package/dist/new-metrics.js.map +1 -0
  27. package/dist/types/batcher.d.ts +2 -0
  28. package/dist/types/call-diagnostic/call-diagnostic-metrics-batcher.d.ts +2 -0
  29. package/dist/types/call-diagnostic/call-diagnostic-metrics-latencies.d.ts +189 -0
  30. package/dist/types/call-diagnostic/call-diagnostic-metrics.d.ts +356 -0
  31. package/dist/types/call-diagnostic/call-diagnostic-metrics.util.d.ts +73 -0
  32. package/dist/types/call-diagnostic/config.d.ts +86 -0
  33. package/dist/types/call-diagnostic/generated-types-temp/ClientEvent.d.ts +1112 -0
  34. package/dist/types/call-diagnostic/generated-types-temp/Event.d.ts +4851 -0
  35. package/dist/types/call-diagnostic/generated-types-temp/MediaQualityEvent.d.ts +2121 -0
  36. package/dist/types/client-metrics-batcher.d.ts +2 -0
  37. package/dist/types/config.d.ts +35 -0
  38. package/dist/types/index.d.ts +11 -0
  39. package/dist/types/metrics.d.ts +3 -0
  40. package/dist/types/metrics.types.d.ts +95 -0
  41. package/dist/types/new-metrics.d.ts +119 -0
  42. package/package.json +12 -8
  43. package/src/call-diagnostic/call-diagnostic-metrics-batcher.ts +51 -0
  44. package/src/call-diagnostic/call-diagnostic-metrics-latencies.ts +408 -0
  45. package/src/call-diagnostic/call-diagnostic-metrics.ts +655 -0
  46. package/src/call-diagnostic/call-diagnostic-metrics.util.ts +280 -0
  47. package/src/call-diagnostic/config.ts +578 -0
  48. package/src/call-diagnostic/generated-types-temp/ClientEvent.ts +2395 -0
  49. package/src/call-diagnostic/generated-types-temp/Event.ts +7762 -0
  50. package/src/call-diagnostic/generated-types-temp/MediaQualityEvent.ts +2321 -0
  51. package/src/config.js +19 -0
  52. package/src/index.ts +41 -0
  53. package/src/metrics.js +25 -27
  54. package/src/metrics.types.ts +140 -0
  55. package/src/new-metrics.ts +223 -0
  56. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-batcher.ts +243 -0
  57. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-latencies.ts +474 -0
  58. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.ts +1015 -0
  59. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.util.ts +454 -0
  60. package/test/unit/spec/metrics.js +65 -97
  61. package/test/unit/spec/new-metrics.ts +155 -0
  62. package/tsconfig.json +6 -0
  63. package/dist/call-diagnostic-events-batcher.js +0 -60
  64. package/dist/call-diagnostic-events-batcher.js.map +0 -1
  65. package/src/call-diagnostic-events-batcher.js +0 -62
  66. package/src/index.js +0 -17
  67. package/test/unit/spec/call-diagnostic-events-batcher.js +0 -195
@@ -0,0 +1,1112 @@
1
+ /**
2
+ * This file was automatically generated by json-schema-to-typescript.
3
+ * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
+ * and run json-schema-to-typescript to regenerate this file.
5
+ */
6
+ /**
7
+ * Events from clients
8
+ */
9
+ export interface ClientEvent {
10
+ canProceed: boolean;
11
+ state?: string;
12
+ mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard' | 'gamestate';
13
+ csi?: number;
14
+ /**
15
+ * media capability for both transmit and receive
16
+ */
17
+ mediaCapabilities?: {
18
+ /**
19
+ * explicit indication of media capabilities. true=supported
20
+ */
21
+ tx: {
22
+ audio: boolean;
23
+ video: boolean;
24
+ share: boolean;
25
+ share_audio: boolean;
26
+ whiteboard: boolean;
27
+ gamestate?: boolean;
28
+ };
29
+ /**
30
+ * explicit indication of media capabilities. true=supported
31
+ */
32
+ rx: {
33
+ audio: boolean;
34
+ video: boolean;
35
+ share: boolean;
36
+ share_audio: boolean;
37
+ whiteboard: boolean;
38
+ gamestate?: boolean;
39
+ };
40
+ };
41
+ mediaLines?: {
42
+ mediaType: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard' | 'gamestate';
43
+ remoteIP?: string;
44
+ localIP?: string;
45
+ localNetworkPrefix?: string;
46
+ localPort?: number;
47
+ remotePort?: number;
48
+ protocol: 'udp' | 'tcp' | 'xtls' | 'unknown';
49
+ direction: 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive';
50
+ clusterName?: string;
51
+ status?: 'succeeded' | 'in-progress' | 'failed';
52
+ failureReason?: 'network' | 'transport' | 'rejected' | 'timeout' | 'notstarted' | 'succeeded';
53
+ errorCode?: number;
54
+ mediaLineData?: {};
55
+ }[];
56
+ /**
57
+ * allows client to specify media preferences
58
+ */
59
+ clientMediaPreferences?: {
60
+ preferTranscoding: boolean;
61
+ };
62
+ pstnAudioType?: 'dial-in' | 'dial-out';
63
+ success?: boolean;
64
+ isTranscoded?: boolean;
65
+ isGatewayed?: boolean;
66
+ isComposed?: boolean;
67
+ /**
68
+ * determine how the events are processed as well as how the reports are aggregated and sliced
69
+ */
70
+ registrationMode?: 'SIP' | 'Cloud' | 'CloudAware';
71
+ /**
72
+ * protocols used to help determine how the events are processed as well as how the reports are aggregated and sliced
73
+ */
74
+ protocol?: 'SIP' | 'H323' | 'Locus' | 'WebRTC';
75
+ /**
76
+ * The underlying service provider of the call.
77
+ */
78
+ meetingPlatform?: 'MsTeams' | 'GoogleMeet' | 'Zoom' | 'Webex';
79
+ labels?: string[];
80
+ webexServiceType?: 'MC' | 'EC' | 'SC' | 'TC' | 'AA' | 'RA' | 'NBR' | 'WRF' | 'HOL';
81
+ /**
82
+ * this defines the sub service type
83
+ */
84
+ webexSubServiceType?: 'PMR' | 'Event' | 'Training' | 'ScheduleMeeting' | 'ScheduledMeeting' | 'Webinar' | 'others';
85
+ ivrDialogType?: 'MEDIA_ON_HOLD' | 'ANNOUNCEMENT' | 'TONE' | 'COLLECT_PIN' | 'PROMPT' | 'MEDIA_SERVICE_AGENT' | 'COLLECT';
86
+ ivrDialogResult?: 'SUCCESS' | 'FAILURE' | 'HOST_PIN_MATCH' | 'GUEST_PIN_MATCH' | 'PANELIST_PIN_MATCH' | 'NO_MATCH' | 'INVALID_PIN';
87
+ callType?: 'VIDEO_DIALIN' | 'VIDEO_DIALOUT' | 'CASCADE' | 'HYBRID_CASCADE' | 'PSTN_SIP' | 'PSTN_DIALIN' | 'PSTN_DIALOUT' | 'PSTN_ONLY_DIALIN' | 'PSTN_ONLY_DIALOUT' | 'H323' | 'H323_IP' | 'SIP_ENTERPRISE' | 'SIP_MOBILE' | 'SIP_NATIONAL' | 'SIP_INTERNATIONAL' | 'SIP_EMERGENCY' | 'SIP_OPERATOR' | 'SIP_SHORTCODE' | 'SIP_TOLLFREE' | 'SIP_PREMIUM' | 'SIP_URI' | 'SIP_INBOUND' | 'UNKNOWN' | 'ZTM' | 'SIP_MEETING';
88
+ eventData?: {};
89
+ derivedSipClientType?: 'SIP_CE_SINGLE_SCREEN' | 'SIP_CE_MULTI_SCREEN' | 'SIP_JABBER' | 'SIP_TIP_SINGLE_SCREEN' | 'SIP_TIP_THREE_SCREEN' | 'SIP_PSTN' | 'SIP_OTHER' | 'SIP_WEBEX_CASCADE' | 'SIP_NONE';
90
+ /**
91
+ * this defines the major client types
92
+ */
93
+ derivedClientType?: 'MEETING_CENTER' | 'EVENT_CENTER' | 'TRAINING_CENTER' | 'TEAMS_CLIENT' | 'TEAMS_DEVICE' | 'TEAMS_SHARE' | 'SIP' | 'RECORDING' | 'CLOUD_AWARE_SIP' | 'TEAMS_WXC_CLIENT' | 'WXC_CLIENT' | 'WXC_DEVICE' | 'WEBEX_JS_SDK' | 'VOICEA_CLIENT' | 'CISCO_SIP_GW' | 'WEBEX_SDK' | 'CPAAS_THIRD_PARTY_SDK' | 'WXC_THIRD_PARTY';
94
+ /**
95
+ * this defines the sub types of clients
96
+ */
97
+ derivedSubClientType?: 'DESKTOP_APP' | 'DESKTOP_APP_VDI' | 'DEVICE_CURRENT' | 'DEVICE_LEGACY_2020' | 'HVDI_APP' | 'MOBILE_APP' | 'VDI_APP' | 'WEB_APP' | 'MOBILE_NETWORK' | 'HOLOGRAM_HEADSET_APP';
98
+ serverRole?: 'CONFERENCE' | 'TRANSCODER' | 'WHITEBOARD_INJECTOR' | 'MS_TEAMS_CONFERENCE' | 'RECORDING' | 'GATEWAY' | 'GATEWAY_CLIENT_SIDE' | 'UNKNOWN' | 'HOLOGRAM_RENDER';
99
+ reconnect?: boolean;
100
+ retryCount?: number;
101
+ meetSimple?: boolean;
102
+ /**
103
+ * represents media quality status report such as no media or drop out
104
+ */
105
+ mediaStatus?: {
106
+ mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';
107
+ mediaSuccess?: boolean;
108
+ shareType?: 'cb-normal-share' | 'ce-airplay-share' | 'ce-direct-share' | 'ce-gui-loopback-share' | 'ce-input-source-share' | 'ce-input-source-share-hdmi' | 'ce-input-source-share-usbc' | 'ce-jpg-share' | 'ce-miracast-share' | 'mcs-normal-share' | 'mcs-normal-audio-share' | 'mcs-hfps-share' | 'mcs-hfps-audio-share';
109
+ isTransmitter?: boolean;
110
+ audioJoinType?: 'phone-call-in' | 'phone-call-back' | 'voip' | 'device-call-back' | 'never-join-audio' | 'tried-but-never-join';
111
+ /**
112
+ * indicates transport type used
113
+ */
114
+ transportType?: 'UDP' | 'TCP' | 'xTLS' | 'TLS';
115
+ additionalData?: {};
116
+ };
117
+ shareInstanceId?: string;
118
+ hologramStreamId?: string;
119
+ /**
120
+ * represents all of the properities that could cause delay during media setup process.
121
+ */
122
+ audioSetupDelay?: {
123
+ floorReqSentReceived?: number;
124
+ floorRespSentReceived?: number;
125
+ mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';
126
+ txReqFloorGranted?: number;
127
+ txSessionCreateConfirm?: number;
128
+ txApeEnrollConfirm?: number;
129
+ txUIDelay?: number;
130
+ txScreenCaptureDelay?: number;
131
+ txScreenCaptureDelayReasonCode?: number;
132
+ txShareStartOverallDelay?: number;
133
+ rx1stPacket2RenderDelay?: number;
134
+ rxGranted2RenderDelay?: number;
135
+ rxFailFrameNumB4Success?: number;
136
+ e2eFirstFrameDelay?: number;
137
+ CBSessionRespToLocusFloorGrantDelay?: number;
138
+ CBShareReceiveToServerShareTransmitDelay?: number;
139
+ CBShareReceiveToTPGWFirstKeyFrameDelay?: number;
140
+ TPGWFirstKeyFrameToServerShareTransmitDelay?: number;
141
+ MCSSessionActivateToLocusFloorGrantDelay?: number;
142
+ ServerShareInitiateToLocusFloorGrantDelay?: number;
143
+ LocusFloorGrantToCBSessionStartDelay?: number;
144
+ ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;
145
+ LocusFloorGrantToTPGWFloorGrantDelay?: number;
146
+ LocusFloorGrantToReceiverNotificationDelay?: number;
147
+ CBShareSessionRespDelay?: number;
148
+ LocusShareFloorGrantRespDelay?: number;
149
+ ServerShareFloorGrantRespDelay?: number;
150
+ joinRespRxStart?: number;
151
+ joinRespTxStart?: number;
152
+ maxRemoteLossRate?: number;
153
+ media2SignalDelay?: number;
154
+ warholDownloadTime?: number;
155
+ contentDownloadTime?: number;
156
+ boardCreationTime?: number;
157
+ totalBoardServiceRespDelay?: number;
158
+ };
159
+ /**
160
+ * represents all of the properities that could cause delay during media setup process.
161
+ */
162
+ videoSetupDelay?: {
163
+ floorReqSentReceived?: number;
164
+ floorRespSentReceived?: number;
165
+ mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';
166
+ txReqFloorGranted?: number;
167
+ txSessionCreateConfirm?: number;
168
+ txApeEnrollConfirm?: number;
169
+ txUIDelay?: number;
170
+ txScreenCaptureDelay?: number;
171
+ txScreenCaptureDelayReasonCode?: number;
172
+ txShareStartOverallDelay?: number;
173
+ rx1stPacket2RenderDelay?: number;
174
+ rxGranted2RenderDelay?: number;
175
+ rxFailFrameNumB4Success?: number;
176
+ e2eFirstFrameDelay?: number;
177
+ CBSessionRespToLocusFloorGrantDelay?: number;
178
+ CBShareReceiveToServerShareTransmitDelay?: number;
179
+ CBShareReceiveToTPGWFirstKeyFrameDelay?: number;
180
+ TPGWFirstKeyFrameToServerShareTransmitDelay?: number;
181
+ MCSSessionActivateToLocusFloorGrantDelay?: number;
182
+ ServerShareInitiateToLocusFloorGrantDelay?: number;
183
+ LocusFloorGrantToCBSessionStartDelay?: number;
184
+ ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;
185
+ LocusFloorGrantToTPGWFloorGrantDelay?: number;
186
+ LocusFloorGrantToReceiverNotificationDelay?: number;
187
+ CBShareSessionRespDelay?: number;
188
+ LocusShareFloorGrantRespDelay?: number;
189
+ ServerShareFloorGrantRespDelay?: number;
190
+ joinRespRxStart?: number;
191
+ joinRespTxStart?: number;
192
+ maxRemoteLossRate?: number;
193
+ media2SignalDelay?: number;
194
+ warholDownloadTime?: number;
195
+ contentDownloadTime?: number;
196
+ boardCreationTime?: number;
197
+ totalBoardServiceRespDelay?: number;
198
+ };
199
+ /**
200
+ * represents all of the properities that could cause delay during media setup process.
201
+ */
202
+ shareSetupDelay?: {
203
+ floorReqSentReceived?: number;
204
+ floorRespSentReceived?: number;
205
+ mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';
206
+ txReqFloorGranted?: number;
207
+ txSessionCreateConfirm?: number;
208
+ txApeEnrollConfirm?: number;
209
+ txUIDelay?: number;
210
+ txScreenCaptureDelay?: number;
211
+ txScreenCaptureDelayReasonCode?: number;
212
+ txShareStartOverallDelay?: number;
213
+ rx1stPacket2RenderDelay?: number;
214
+ rxGranted2RenderDelay?: number;
215
+ rxFailFrameNumB4Success?: number;
216
+ e2eFirstFrameDelay?: number;
217
+ CBSessionRespToLocusFloorGrantDelay?: number;
218
+ CBShareReceiveToServerShareTransmitDelay?: number;
219
+ CBShareReceiveToTPGWFirstKeyFrameDelay?: number;
220
+ TPGWFirstKeyFrameToServerShareTransmitDelay?: number;
221
+ MCSSessionActivateToLocusFloorGrantDelay?: number;
222
+ ServerShareInitiateToLocusFloorGrantDelay?: number;
223
+ LocusFloorGrantToCBSessionStartDelay?: number;
224
+ ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;
225
+ LocusFloorGrantToTPGWFloorGrantDelay?: number;
226
+ LocusFloorGrantToReceiverNotificationDelay?: number;
227
+ CBShareSessionRespDelay?: number;
228
+ LocusShareFloorGrantRespDelay?: number;
229
+ ServerShareFloorGrantRespDelay?: number;
230
+ joinRespRxStart?: number;
231
+ joinRespTxStart?: number;
232
+ maxRemoteLossRate?: number;
233
+ media2SignalDelay?: number;
234
+ warholDownloadTime?: number;
235
+ contentDownloadTime?: number;
236
+ boardCreationTime?: number;
237
+ totalBoardServiceRespDelay?: number;
238
+ };
239
+ /**
240
+ * represents all of the properities that could cause delay during media setup process.
241
+ */
242
+ shareAudioSetupDelay?: {
243
+ floorReqSentReceived?: number;
244
+ floorRespSentReceived?: number;
245
+ mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';
246
+ txReqFloorGranted?: number;
247
+ txSessionCreateConfirm?: number;
248
+ txApeEnrollConfirm?: number;
249
+ txUIDelay?: number;
250
+ txScreenCaptureDelay?: number;
251
+ txScreenCaptureDelayReasonCode?: number;
252
+ txShareStartOverallDelay?: number;
253
+ rx1stPacket2RenderDelay?: number;
254
+ rxGranted2RenderDelay?: number;
255
+ rxFailFrameNumB4Success?: number;
256
+ e2eFirstFrameDelay?: number;
257
+ CBSessionRespToLocusFloorGrantDelay?: number;
258
+ CBShareReceiveToServerShareTransmitDelay?: number;
259
+ CBShareReceiveToTPGWFirstKeyFrameDelay?: number;
260
+ TPGWFirstKeyFrameToServerShareTransmitDelay?: number;
261
+ MCSSessionActivateToLocusFloorGrantDelay?: number;
262
+ ServerShareInitiateToLocusFloorGrantDelay?: number;
263
+ LocusFloorGrantToCBSessionStartDelay?: number;
264
+ ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;
265
+ LocusFloorGrantToTPGWFloorGrantDelay?: number;
266
+ LocusFloorGrantToReceiverNotificationDelay?: number;
267
+ CBShareSessionRespDelay?: number;
268
+ LocusShareFloorGrantRespDelay?: number;
269
+ ServerShareFloorGrantRespDelay?: number;
270
+ joinRespRxStart?: number;
271
+ joinRespTxStart?: number;
272
+ maxRemoteLossRate?: number;
273
+ media2SignalDelay?: number;
274
+ warholDownloadTime?: number;
275
+ contentDownloadTime?: number;
276
+ boardCreationTime?: number;
277
+ totalBoardServiceRespDelay?: number;
278
+ };
279
+ /**
280
+ * represents all of the properities that could cause delay during media setup process.
281
+ */
282
+ whiteboardSetupDelay?: {
283
+ floorReqSentReceived?: number;
284
+ floorRespSentReceived?: number;
285
+ mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';
286
+ txReqFloorGranted?: number;
287
+ txSessionCreateConfirm?: number;
288
+ txApeEnrollConfirm?: number;
289
+ txUIDelay?: number;
290
+ txScreenCaptureDelay?: number;
291
+ txScreenCaptureDelayReasonCode?: number;
292
+ txShareStartOverallDelay?: number;
293
+ rx1stPacket2RenderDelay?: number;
294
+ rxGranted2RenderDelay?: number;
295
+ rxFailFrameNumB4Success?: number;
296
+ e2eFirstFrameDelay?: number;
297
+ CBSessionRespToLocusFloorGrantDelay?: number;
298
+ CBShareReceiveToServerShareTransmitDelay?: number;
299
+ CBShareReceiveToTPGWFirstKeyFrameDelay?: number;
300
+ TPGWFirstKeyFrameToServerShareTransmitDelay?: number;
301
+ MCSSessionActivateToLocusFloorGrantDelay?: number;
302
+ ServerShareInitiateToLocusFloorGrantDelay?: number;
303
+ LocusFloorGrantToCBSessionStartDelay?: number;
304
+ ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;
305
+ LocusFloorGrantToTPGWFloorGrantDelay?: number;
306
+ LocusFloorGrantToReceiverNotificationDelay?: number;
307
+ CBShareSessionRespDelay?: number;
308
+ LocusShareFloorGrantRespDelay?: number;
309
+ ServerShareFloorGrantRespDelay?: number;
310
+ joinRespRxStart?: number;
311
+ joinRespTxStart?: number;
312
+ maxRemoteLossRate?: number;
313
+ media2SignalDelay?: number;
314
+ warholDownloadTime?: number;
315
+ contentDownloadTime?: number;
316
+ boardCreationTime?: number;
317
+ totalBoardServiceRespDelay?: number;
318
+ };
319
+ isFocus?: boolean;
320
+ processingDelay?: number;
321
+ shareType?: 'cb-normal-share' | 'ce-airplay-share' | 'ce-direct-share' | 'ce-gui-loopback-share' | 'ce-input-source-share' | 'ce-input-source-share-hdmi' | 'ce-input-source-share-usbc' | 'ce-jpg-share' | 'ce-miracast-share' | 'mcs-normal-share' | 'mcs-normal-audio-share' | 'mcs-hfps-share' | 'mcs-hfps-audio-share';
322
+ isShareBeingTakenOver?: boolean;
323
+ floorBeneficiaryUpdated?: boolean;
324
+ meetingJoinedTime?: string;
325
+ meetingScheduledTime?: string;
326
+ e2eeKeyEpoch?: number;
327
+ e2eeDecompressRatio?: number;
328
+ keyResponses?: {
329
+ gotKeyTime?: number;
330
+ useKeyTime?: number;
331
+ cacheKeyTime?: number;
332
+ }[];
333
+ e2eeVersion?: 'E2EEV1' | 'E2EEV2' | 'E2EEV3';
334
+ isConvergedArchitectureEnabled?: boolean;
335
+ callingServiceType?: 'CUCM' | 'WEBEXCALLING' | 'BROADWORKS' | 'LOCUS';
336
+ inLobby?: boolean;
337
+ isVIPMeeting?: boolean;
338
+ webexAppEntrypoint?: string;
339
+ firstParticipant?: boolean;
340
+ isImmersiveShare?: boolean;
341
+ /**
342
+ * Request/Response Time for Internal Services
343
+ */
344
+ registeredTimestamps?: {
345
+ locusCreateConfluenceRequestTime?: string;
346
+ locusCreateConfluenceResponseTime?: string;
347
+ locusCreateVenueRequestTime?: string;
348
+ locusCreateVenueResponseTime?: string;
349
+ };
350
+ skipInterstitialWindow?: boolean;
351
+ callDurationSecs?: number;
352
+ /**
353
+ * Details associated with a breakout move
354
+ */
355
+ breakout?: {
356
+ moveType?: 'between_breakout' | 'to_breakout' | 'to_main';
357
+ trigger?: 'assignment_changed' | 'client_initiated' | 'session_ended' | 'session_started';
358
+ startState?: 'joined' | 'lobby';
359
+ endState?: 'joined' | 'lobby';
360
+ };
361
+ /**
362
+ * Latency values associated with breakout session
363
+ */
364
+ breakoutLatency?: {
365
+ boBreakoutMoveProcessed?: number;
366
+ boBreakoutMoveResp?: number;
367
+ boLocusBreakoutMoveResp?: number;
368
+ locusBreakoutMoveResp?: number;
369
+ orpheusConfluenceMoveReqResp?: number;
370
+ };
371
+ /**
372
+ * two-way whiteboard related info
373
+ */
374
+ whiteboard?: {
375
+ action?: 'open' | 'create';
376
+ type?: 'whiteboard' | 'annotation';
377
+ capability?: 'one_way' | 'two_way';
378
+ granted?: 'one_way' | 'two_way';
379
+ };
380
+ name: 'client.alert.displayed' | 'client.alert.removed' | 'client.application.validate' | 'client.audio.noise.removal' | 'client.breakout-session.join.request' | 'client.breakout-session.join.response' | 'client.breakout-session.leave' | 'client.breakout-session.move.request' | 'client.breakout-session.move.response' | 'client.call.aborted' | 'client.call.declined' | 'client.call.displayed' | 'client.call.initiated' | 'client.call.leave' | 'client.call.move-media' | 'client.call.remote-ended' | 'client.call.remote-started' | 'client.call.skip-locus-join' | 'client.conversation.request' | 'client.conversation.response' | 'client.click.pre-join' | 'client.crash' | 'client.daemon.join.begin' | 'client.daemon.job.done' | 'client.daemon.launch-meeting-process' | 'client.daemon.pending-on-existing-upgrade-job' | 'client.daemon.query-site-info' | 'client.daemon.upgrade-and-join' | 'client.daemon.wakeup-meeting-client' | 'client.device.resource-room.joined' | 'client.e2ee.join.response' | 'client.embedded-object-info' | 'client.entering-background' | 'client.entering-foreground' | 'client.exit.app' | 'client.gesture.recognition' | 'client.hologram.initiated' | 'client.hologram.stopped' | 'client.hologram.remote.initiated' | 'client.hologram.remote.stopped' | 'client.ice.end' | 'client.ice.start' | 'client.installer.start' | 'client.installer.end' | 'client.interstitial-window.launched' | 'client.ivr.join.request' | 'client.ivr.join.response' | 'client.ivr.leave.request' | 'client.ivr.leave.response' | 'client.ivr.notify.request' | 'client.ivr.notify.response' | 'client.lobby.entered' | 'client.lobby.exited' | 'client.locus.decline.request' | 'client.locus.join.request' | 'client.locus.join.response' | 'client.locus.leave.request' | 'client.locus.leave.response' | 'client.locus.media.request' | 'client.locus.media.response' | 'client.media-engine.crash' | 'client.media-engine.lost' | 'client.media-engine.local-sdp-generated' | 'client.media-engine.ready' | 'client.media-engine.remote-sdp-received' | 'client.media-status' | 'client.media.capabilities' | 'client.media.reachability' | 'client.media.reconnecting' | 'client.media.recovered' | 'client.media.render.start' | 'client.media.render.stop' | 'client.media.rx.start' | 'client.media.rx.stop' | 'client.media.share.csi.changed' | 'client.media.tx.start' | 'client.media.tx.stop' | 'client.meetinginfo.request' | 'client.meetinginfo.response' | 'client.meetingmanagersdk.ipc.run' | 'client.meeting.app-loaded' | 'client.meeting.breakout-session.action' | 'client.meeting.breakout-session.summary' | 'client.meeting.browser-plugin.started' | 'client.meeting.click.joinbutton' | 'client.meeting.closed' | 'client.meeting.disclaimer-window.accepted' | 'client.meeting.disclaimer-window.closed' | 'client.meeting.disclaimer-window.showed' | 'client.meeting.docshow.request' | 'client.meeting.docshow.response' | 'client.meeting.e2e.u2c.response' | 'client.meeting.e2e.wca.response' | 'client.meeting.e2e.key.response' | 'client.meeting.e2ee.u2c.response' | 'client.meeting.e2ee.wca.response' | 'client.meeting.e2ee.key.response' | 'client.meeting.gpc.download' | 'client.meeting.gpcparameter.request' | 'client.meeting.gpcparameter.response' | 'client.meeting.interstitial-window.closed' | 'client.meeting.interstitial-window.showed' | 'client.meeting.join.request' | 'client.meeting.key-information' | 'client.meeting.launched' | 'client.meeting.login-window.clicked' | 'client.meeting.login-window.closed' | 'client.meeting.login-window.showed' | 'client.meeting.login.response' | 'client.meeting.people-insights.check.response' | 'client.meeting.people-insights.query.response' | 'client.meeting.ping.request' | 'client.meeting.ping.response' | 'client.meeting.plugin-extension.started' | 'client.meeting.resume' | 'client.meeting.report-log' | 'client.meeting.session.connected' | 'client.meeting.start-webexapp' | 'client.meeting.start-launch' | 'client.meeting.summary' | 'client.meeting.user-action' | 'client.meeting.validated' | 'client.meeting.VDI.detect.plugin.response' | 'client.meeting.VDI.connect.plugin.response' | 'client.mercury.connection.lost' | 'client.mercury.connection.restored' | 'client.multistream.sca.rx' | 'client.multistream.sca.tx' | 'client.multistream.scr.rx' | 'client.multistream.scr.tx' | 'client.muted' | 'client.network.changed' | 'client.notification.received' | 'client.pin.collected' | 'client.pin.prompt' | 'client.post.meeting.hook' | 'client.pstnaudio.attempt.finish' | 'client.pstnaudio.attempt.skip' | 'client.pstnaudio.attempt.start' | 'client.roap-message.received' | 'client.roap-message.sent' | 'client.share.floor-accept.notification' | 'client.share.floor-grant.cancel-request' | 'client.share.floor-grant.notification' | 'client.share.floor-grant.request' | 'client.share.floor-granted.local' | 'client.share.initiated' | 'client.share.layout.displayed' | 'client.share.paused' | 'client.share.selected-app' | 'client.share.stopped' | 'client.started-after-shutdown' | 'client.started-from-crash' | 'client.stuntrace.failed' | 'client.switch.app' | 'client.unmuted' | 'client.webexapp.launched' | 'client.login.start' | 'client.login.end' | 'client.switch.environment' | 'client.warhol.downloaded' | 'client.whiteboard.loaded' | 'meeting.initiated' | 'meeting.joined' | 'page.click.pre-join' | 'page.meeting.browser-reset' | 'page.meeting.close-browser' | 'page.meeting.extension.started' | 'page.meeting.launch-thinclient' | 'page.meeting.loading' | 'page.meeting.run-plugin' | 'page.meeting.testing-plugin' | 'page.meeting.testing-plugin.finished' | 'page.meeting.tfs.start-download' | 'page.meeting.urlprotocol.detect' | 'page.meeting.waiting.user-action';
381
+ /**
382
+ * Base type for the various identifiers used to connect the dots.
383
+ * In general, these should be populated whenever possible. Subtypes may make a particular key required.
384
+ *
385
+ */
386
+ identifiers: {
387
+ attendeeId?: string;
388
+ breakoutGroupId?: string;
389
+ breakoutMoveId?: string;
390
+ breakoutSessionId?: string;
391
+ confluenceId?: string;
392
+ /**
393
+ * Set of identifiers dedicated to CPaaS clients
394
+ * In general, these should be populated whenever possible. Subtypes may make a particular key required.
395
+ *
396
+ */
397
+ cpaasIdentifiers?: {
398
+ imiTenantId: string;
399
+ devClientId: string;
400
+ imiServiceId: string;
401
+ imiAppId: string;
402
+ sessionId: string;
403
+ sessionInstanceId: string;
404
+ };
405
+ csdmDeviceUrl?: string;
406
+ destinationBreakoutSessionId?: string;
407
+ destinationLocusSessionId?: string;
408
+ destinationLocusUrl?: string;
409
+ destinationVenueId?: string;
410
+ deviceId?: string;
411
+ ivrCallId?: string;
412
+ ivrDialogId?: string;
413
+ ivrId?: string;
414
+ locusId?: string;
415
+ locusSessionId?: string;
416
+ locusStartTime?: string;
417
+ locusUrl?: string;
418
+ mediaAgentAlias?: string;
419
+ mediaAgentGroupId?: string;
420
+ meetClusterName?: string;
421
+ meetingLookupUrl?: string;
422
+ meetingOrgId?: string;
423
+ msteamsTenantGuid?: string;
424
+ msteamsConferenceId?: string;
425
+ oauth2ClientId?: string;
426
+ orgId?: string;
427
+ roomId?: string;
428
+ sipCallId?: string;
429
+ sipSessionId?: {
430
+ local?: string;
431
+ remote?: string;
432
+ };
433
+ sipUri?: string;
434
+ subConfId?: string;
435
+ tenantId?: string;
436
+ trackingId?: string;
437
+ userId?: string;
438
+ venueId?: string;
439
+ venueUrl?: string;
440
+ whiteboardUrl?: string;
441
+ webexConferenceId?: number;
442
+ webexClusterName?: string;
443
+ webexConferenceIdStr?: string;
444
+ webexDataCenter?: string;
445
+ webexGuestId?: number;
446
+ webexMeetingId?: number;
447
+ webexNodeId?: number;
448
+ webexSiteId?: number;
449
+ webexSiteName?: string;
450
+ webexUserId?: number;
451
+ webexWebDomain?: string;
452
+ correlationId: string;
453
+ };
454
+ errors?: {
455
+ fatal: boolean;
456
+ category: 'signaling' | 'media' | 'other' | 'expected';
457
+ errorDescription?: string;
458
+ errorCode?: number;
459
+ errorCodeStr?: string;
460
+ httpCode?: number;
461
+ errorData?: {};
462
+ shownToUser: boolean;
463
+ serviceErrorCode?: number;
464
+ name: 'media-engine' | 'ice.failed' | 'locus.response' | 'locus.leave' | 'client.leave' | 'media-device' | 'media-sca' | 'other';
465
+ }[];
466
+ /**
467
+ * media quality error report such as no media or drop out
468
+ */
469
+ clientMediaError?: {
470
+ mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';
471
+ mediaFailureType?: 'noMedia' | 'mediaDrop' | 'mediaEvent';
472
+ isDropAtStart?: boolean;
473
+ isJMF?: boolean;
474
+ txError?: 'NO_ERROR' | 'DEVICE_ERROR' | 'LOAD_LIBRARY_ERROR' | 'MCS_SESSION_CONNECT_ERROR' | 'CB_SESSION_CREATE_ERROR' | 'NO_FRAME_DECODE_ERROR' | 'NO_PACKET_RECV_ERROR' | 'LOW_VOLUME_ERROR' | 'INITIAL_MEMORY_ERROR' | 'MAC_VIRTUAL_AUDIO_DRV_ERROR' | 'MMP_SESSION_CONNECT_ERROR' | 'MEDIA_PROCESS_CRASH_ERROR' | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR' | 'MEDIA_SERVER_CONNECT_ERROR' | 'LOCUS_SESSION_CONNECT_ERROR' | 'NO_PACKET_SEND_ERROR' | 'NETWORK_LOST_ERROR' | 'MEDIA_NOT_AVAILABLE';
475
+ rxError?: 'NO_ERROR' | 'DEVICE_ERROR' | 'LOAD_LIBRARY_ERROR' | 'MCS_SESSION_CONNECT_ERROR' | 'CB_SESSION_CREATE_ERROR' | 'NO_FRAME_DECODE_ERROR' | 'NO_PACKET_RECV_ERROR' | 'LOW_VOLUME_ERROR' | 'INITIAL_MEMORY_ERROR' | 'MAC_VIRTUAL_AUDIO_DRV_ERROR' | 'MMP_SESSION_CONNECT_ERROR' | 'MEDIA_PROCESS_CRASH_ERROR' | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR' | 'MEDIA_SERVER_CONNECT_ERROR' | 'LOCUS_SESSION_CONNECT_ERROR' | 'NO_PACKET_SEND_ERROR' | 'NETWORK_LOST_ERROR' | 'MEDIA_NOT_AVAILABLE';
476
+ txDeviceErrorCode?: number;
477
+ rxDeviceErrorCode?: number;
478
+ sessionConnectErrorCode?: number;
479
+ firstDropTime?: string;
480
+ totalDropCount?: number;
481
+ failureDuration?: number;
482
+ txMoreError?: string;
483
+ rxMoreError?: string;
484
+ totalUserWhenCBStartError?: number;
485
+ sessionConnectExtErrorCode?: number;
486
+ sessionConnectErrorType?: 'unknown' | 'MCC_error' | 'MCS_error' | 'Tahoe_error';
487
+ txSystemErrorCode?: number;
488
+ rxSystemErrorCode?: number;
489
+ errorDetails?: {};
490
+ };
491
+ trigger?: 'bricklet' | 'call-history' | 'companion-join' | 'contact-profile' | 'dialpad' | 'loci-update' | 'media-engine-event' | 'meetbutton-click' | 'meetings-tab' | 'message-click' | 'mercury-event' | 'obtp' | 'onboarding-page' | 'other' | 'pairing' | 'protocol' | 'search' | 'signaling' | 'space-share' | 'timeout' | 'toast' | 'user-interaction' | 'wireless-share';
492
+ leaveReason?: 'paired-leave' | 'one-to-one' | 'ended-by-locus';
493
+ displayLocation?: 'toast' | 'room-list' | 'call-pane' | 'call-view' | 'room' | 'meeting-list' | 'meeting' | 'personal-meeting-room' | 'intents' | 'external-link' | 'automation' | 'meeting-information' | 'contact-card' | 'control-center' | 'search-result' | 'other';
494
+ displayType?: 'scheduled';
495
+ dialedDomain?: string;
496
+ isScheduled?: boolean;
497
+ guestModeShare?: boolean;
498
+ highFpsModeShare?: boolean;
499
+ contentAudioShare?: boolean;
500
+ pairingState?: 'paired' | 'observing' | 'challenging';
501
+ pairedDevice?: {
502
+ deviceType?: string;
503
+ deviceId?: string;
504
+ deviceURL?: string;
505
+ modelNumber?: string;
506
+ productName?: string;
507
+ tempSipUri?: string;
508
+ };
509
+ /**
510
+ * Information about the sender of the event
511
+ */
512
+ oldOrigin?: {
513
+ name: 'antares' | 'beech' | 'breakout' | 'cb' | 'cloudproxy' | 'edonus' | 'endpoint' | 'givr' | 'hecate' | 'hedge' | 'hesiod' | 'homer' | 'superhomer' | 'l2sip' | 'linus' | 'locus' | 'mcc' | 'mcs' | 'mercury' | 'mes' | 'mjs' | 'mmp' | 'mygdon' | 'orpheus' | 'page' | 'poros' | 'rhesos' | 'terminus' | 'tpgw' | 'ucc' | 'wdm' | 'webexivr';
514
+ userAgent: string;
515
+ buildType?: 'debug' | 'test' | 'prod' | 'tap' | 'analyzer-test';
516
+ /**
517
+ * Will be used as a label for client software status
518
+ */
519
+ upgradeChannel?: string;
520
+ /**
521
+ * Identifier for a particular instance of a service, such as a particular linus
522
+ */
523
+ instanceId?: string;
524
+ networkType: 'wifi' | 'ethernet' | 'cellular' | 'unknown';
525
+ localIP?: string;
526
+ usingProxy?: boolean;
527
+ mediaEngineSoftwareVersion?: string;
528
+ environment?: string;
529
+ newEnvironment?: string;
530
+ /**
531
+ * Details of client environment
532
+ */
533
+ clientInfo?: {
534
+ os: 'windows' | 'mac' | 'linux' | 'ios' | 'android' | 'chrome' | 'uwp-arm64' | 'other';
535
+ osVersion: string;
536
+ localIP?: string;
537
+ gatewayIP?: string;
538
+ macAddress?: string;
539
+ localNetworkPrefix?: string;
540
+ publicNetworkPrefix?: string;
541
+ browserLaunchMethod?: 'activex' | 'npapi' | 'extension' | 'cwsapi' | 'java' | 'tfs' | 'webacd' | 'url-handler' | 'thinclient';
542
+ clientLaunchMethod?: 'url-handler' | 'universal-link' | 'voice-command' | 'notification' | 'manual' | 'teams-cross-launch';
543
+ browser?: string;
544
+ browserVersion?: string;
545
+ /**
546
+ * this defines the major client types
547
+ */
548
+ clientType?: 'MEETING_CENTER' | 'EVENT_CENTER' | 'TRAINING_CENTER' | 'TEAMS_CLIENT' | 'TEAMS_DEVICE' | 'TEAMS_SHARE' | 'SIP' | 'RECORDING' | 'CLOUD_AWARE_SIP' | 'TEAMS_WXC_CLIENT' | 'WXC_CLIENT' | 'WXC_DEVICE' | 'WEBEX_JS_SDK' | 'VOICEA_CLIENT' | 'CISCO_SIP_GW' | 'WEBEX_SDK' | 'CPAAS_THIRD_PARTY_SDK' | 'WXC_THIRD_PARTY';
549
+ /**
550
+ * this defines the sub types of clients
551
+ */
552
+ subClientType?: 'DESKTOP_APP' | 'DESKTOP_APP_VDI' | 'DEVICE_CURRENT' | 'DEVICE_LEGACY_2020' | 'HVDI_APP' | 'MOBILE_APP' | 'VDI_APP' | 'WEB_APP' | 'MOBILE_NETWORK' | 'HOLOGRAM_HEADSET_APP';
553
+ clientVersion?: string;
554
+ localClientVersion?: string;
555
+ modelNumber?: string;
556
+ joinFirstUpdateLater?: 'ep-enabled' | 'sp-enabled' | 'not-enabled';
557
+ standbyUsed?: boolean;
558
+ prefetchDocShowUsed?: boolean;
559
+ fastJoinUsed?: boolean;
560
+ clientDownloadSize?: number;
561
+ clientDownloadFileCount?: number;
562
+ nodeId?: number;
563
+ machineInfo?: string;
564
+ parentAppName?: string;
565
+ parentAppInPermitList?: boolean;
566
+ meetingSiteType?: 'train' | 'webex-11' | 'orion';
567
+ CDNEnabled?: boolean;
568
+ clientMajorVersion?: string;
569
+ majorVersion?: number;
570
+ minorVersion?: number;
571
+ revision?: number;
572
+ isValidClientVersion?: boolean;
573
+ /**
574
+ * This object defines the fields related to the CPU being used by the emitter of the event
575
+ */
576
+ cpuInfo?: {
577
+ description: string;
578
+ clockSpeedGigaHertz: number;
579
+ numberOfCores: number;
580
+ architecture: 'intel32' | 'intel64' | 'amd32' | 'amd64' | 'arm32' | 'arm64' | 'unknown';
581
+ staticPerformance?: string;
582
+ };
583
+ shareType?: 'cb-normal-share' | 'ce-airplay-share' | 'ce-direct-share' | 'ce-gui-loopback-share' | 'ce-input-source-share' | 'ce-input-source-share-hdmi' | 'ce-input-source-share-usbc' | 'ce-jpg-share' | 'ce-miracast-share' | 'mcs-normal-share' | 'mcs-normal-audio-share' | 'mcs-hfps-share' | 'mcs-hfps-audio-share';
584
+ /**
585
+ * Video display mode currently in use
586
+ */
587
+ videoDisplayMode?: 'grid-view' | 'active-speaker-view';
588
+ videoLayoutType?: 'stack' | 'stackWithShare' | 'sideBySide' | 'sideBySideWithShare' | 'grid' | 'floatingActive' | 'floatingThumbnail' | 'floatingGrid' | 'overlay' | 'focus' | 'prominent' | 'focusWithShare' | 'prominentWithShare' | 'equal' | 'equalWithShare';
589
+ /**
590
+ * this defines the video render type of meetings
591
+ */
592
+ videoRenderType?: 'wme' | 'client_d3d' | 'client_gdi';
593
+ vdiInfo?: unknown;
594
+ is64BitsClient?: boolean;
595
+ webexAppVersion?: string;
596
+ /**
597
+ * this defines launch 32 bits client reason
598
+ */
599
+ launch32BitsReason?: 'forcewin32' | 'disablewin64' | 'platform_win32' | 'platform_arm' | 'platform_unknown' | 'version_below_41.11';
600
+ inMeetingUpdate?: boolean;
601
+ mtaVersion?: string;
602
+ isWarholOpening?: boolean;
603
+ };
604
+ isHybridMedia?: boolean;
605
+ originData?: {};
606
+ };
607
+ reachabilityStatus?: 'none' | 'all-false' | 'partial-success' | 'all-success';
608
+ recoveredBy?: 'retry' | 'new';
609
+ joinType?: 'auto' | 'no-locus-join';
610
+ audioJoinType?: 'phone-call-in' | 'phone-call-back' | 'voip' | 'device-call-back' | 'never-join-audio';
611
+ isVideoMuted?: boolean;
612
+ /**
613
+ * phrased HTTP timing
614
+ */
615
+ joinHttpTiming?: {
616
+ connect?: number;
617
+ dnsLookup?: number;
618
+ sendRequest?: number;
619
+ compressRequest?: number;
620
+ receiveResponse?: number;
621
+ extractJson?: number;
622
+ verifyCert?: number;
623
+ refreshToken?: number;
624
+ };
625
+ icePhase?: 'JOIN_MEETING_FINAL' | 'JOIN_MEETING_RETRY' | 'IN_MEETING';
626
+ userType?: 'host' | 'attendee' | 'cohost' | 'panelist';
627
+ updateType?: 'new-user' | 'update-user' | 'return-user';
628
+ isRoapCallEnabled?: boolean;
629
+ isFirstTimeUser?: boolean;
630
+ responseCode?: number;
631
+ /**
632
+ * Join Meeting Time
633
+ */
634
+ joinTimes?: {
635
+ totalJmt?: number;
636
+ pageJmt?: number;
637
+ pluginJmt?: number;
638
+ clientJmt?: number;
639
+ cbJmt?: number;
640
+ clickToInterstitial?: number;
641
+ interstitialToJoinOK?: number;
642
+ getPCParametersTime?: number;
643
+ getGPCParametersTime?: number;
644
+ getDocShowTime?: number;
645
+ guestTokenRetrievalTime?: number;
646
+ showInterstitialTime?: number;
647
+ clientDownloadTime?: number;
648
+ clientDecompressTime?: number;
649
+ GLAJmt?: number;
650
+ pingJmt?: number;
651
+ joinConfJmt?: number;
652
+ announceJmt?: number;
653
+ launchAppJmt?: number;
654
+ networkLatency?: number;
655
+ meetingInfoReqResp?: number;
656
+ joinReqResp?: number;
657
+ callInitJoinReq?: number;
658
+ JMTDetail?: string;
659
+ localSDPGenRemoteSDPRecv?: number;
660
+ locusJoinReqResp?: number;
661
+ joinReqSentReceived?: number;
662
+ joinRespSentReceived?: number;
663
+ locusBreakoutSessionMoveReqResp?: number;
664
+ ICESetupTime?: number;
665
+ callInitMediaEngineReady?: number;
666
+ getU2CTime?: number;
667
+ getWCATime?: number;
668
+ gotKeyTime?: number;
669
+ useKeyTime?: number;
670
+ cacheKeyTime?: number;
671
+ detectVDITime?: number;
672
+ connectVDITime?: number;
673
+ mmpPreConnected?: boolean;
674
+ audioMCCJMT?: number;
675
+ audioMCSJMT?: number;
676
+ audioCBJMT?: number;
677
+ audioTAJMT?: number;
678
+ audioPstnJMT?: number;
679
+ clientPstnDialOutJMT?: number;
680
+ pstnDialInReferL2SIPJoinReq?: number;
681
+ pstnDialInReferL2SIPRoapOk?: number;
682
+ videoMCCJMT?: number;
683
+ videoMCSJMT?: number;
684
+ videoCBJMT?: number;
685
+ videoJMT?: number;
686
+ WDMRegistrationTime?: number;
687
+ audioVOIPJMT?: number;
688
+ audioCallbackJMT?: number;
689
+ deviceCallbackJMT?: number;
690
+ deviceParingJMT?: number;
691
+ exchangeCITokenJMT?: number;
692
+ registerWDMDeviceJMT?: number;
693
+ interstitialToMediaOKJMT?: number;
694
+ clickToMediaOKJMT?: number;
695
+ stayLobbyTime?: number;
696
+ totalMediaJMT?: number;
697
+ loginTime?: number;
698
+ loggedToInterstitial?: number;
699
+ audioICESetupTime?: number;
700
+ videoICESetupTime?: number;
701
+ shareICESetupTime?: number;
702
+ initializeCameraTime?: number;
703
+ installerJmt?: number;
704
+ getAppMetadataTime?: number;
705
+ downloadMsiTime?: number;
706
+ installAppTime?: number;
707
+ downloadTime?: number;
708
+ decompressTime?: number;
709
+ roapOfferRespTime?: number;
710
+ roapAnswerTime?: number;
711
+ roapOkTime?: number;
712
+ roapOfferReqToOkTime?: number;
713
+ };
714
+ /**
715
+ * ROAP message details
716
+ */
717
+ roap?: {
718
+ type?: 'ANSWER' | 'ERROR' | 'OFFER' | 'OFFER_REQUEST' | 'OFFER_RESPONSE' | 'OK' | 'TURN_DISCOVERY_REQUEST' | 'TURN_DISCOVERY_RESPONSE';
719
+ messageType?: 'ANSWER' | 'ERROR' | 'OFFER' | 'OFFER_REQUEST' | 'OFFER_RESPONSE' | 'OK' | 'TURN_DISCOVERY_REQUEST' | 'TURN_DISCOVERY_RESPONSE';
720
+ error?: string;
721
+ duration?: number;
722
+ };
723
+ /**
724
+ * metadata associated with emitter of the event. This data is included only in the first emitted for a given call and does not need to be repeated with each event.
725
+ */
726
+ mediaMetadata?: {
727
+ mediaEngineSoftwareType: string;
728
+ mediaEngineSoftwareVersion: string;
729
+ applicationSoftwareType: string;
730
+ applicationSoftwareVersion: string;
731
+ hardwareType?: string;
732
+ clientRegion?: string;
733
+ serverRegion?: string;
734
+ serverOrg?: string;
735
+ serverGroup?: string;
736
+ serverAlias?: string;
737
+ serverDeployType?: 'private' | 'public';
738
+ startTime: string;
739
+ endTime?: string;
740
+ csi?: number[];
741
+ isCascade?: boolean;
742
+ isHybridMedia?: boolean;
743
+ videoMeshClusterName?: string;
744
+ videoMeshServerName?: string;
745
+ isTIP?: boolean;
746
+ isMARI?: boolean;
747
+ has264Checksum?: boolean;
748
+ intervalPeriod?: number;
749
+ cascadePeerRegion?: string;
750
+ cascadePeerOrg?: string;
751
+ cascadePeerGroup?: string;
752
+ cascadePeerAlias?: string;
753
+ cascadePeerServerType?: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
754
+ cascadePeerDeployType?: 'private' | 'public';
755
+ };
756
+ /**
757
+ * Details of server environment
758
+ */
759
+ serverInfo?: {
760
+ serverType: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
761
+ serverAddress?: string;
762
+ };
763
+ /**
764
+ * Details of client connect session
765
+ */
766
+ videoSession?: {
767
+ mediaSessionType?: 'AUDIO_CALLBACK' | 'AUDIO_VOIP' | 'DEVICE_CALLBACK' | 'DEVICE_PAIRING' | 'VIDEO';
768
+ isSuccess?: boolean;
769
+ signalingServerType?: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
770
+ signalingServerAddress?: string;
771
+ mediaServerType?: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
772
+ mediaServerAddress?: string;
773
+ errorDescription?: string;
774
+ errorCode?: number;
775
+ mediaErrorType?: 'NO_ERROR' | 'DEVICE_ERROR' | 'LOAD_LIBRARY_ERROR' | 'MCS_SESSION_CONNECT_ERROR' | 'CB_SESSION_CREATE_ERROR' | 'NO_FRAME_DECODE_ERROR' | 'NO_PACKET_RECV_ERROR' | 'LOW_VOLUME_ERROR' | 'INITIAL_MEMORY_ERROR' | 'MAC_VIRTUAL_AUDIO_DRV_ERROR' | 'MMP_SESSION_CONNECT_ERROR' | 'MEDIA_PROCESS_CRASH_ERROR' | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR' | 'MEDIA_SERVER_CONNECT_ERROR' | 'LOCUS_SESSION_CONNECT_ERROR' | 'NO_PACKET_SEND_ERROR' | 'NETWORK_LOST_ERROR' | 'MEDIA_NOT_AVAILABLE';
776
+ isJoinAtStart?: boolean;
777
+ };
778
+ /**
779
+ * Details of client connect session
780
+ */
781
+ audioVOIPSession?: {
782
+ mediaSessionType?: 'AUDIO_CALLBACK' | 'AUDIO_VOIP' | 'DEVICE_CALLBACK' | 'DEVICE_PAIRING' | 'VIDEO';
783
+ isSuccess?: boolean;
784
+ signalingServerType?: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
785
+ signalingServerAddress?: string;
786
+ mediaServerType?: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
787
+ mediaServerAddress?: string;
788
+ errorDescription?: string;
789
+ errorCode?: number;
790
+ mediaErrorType?: 'NO_ERROR' | 'DEVICE_ERROR' | 'LOAD_LIBRARY_ERROR' | 'MCS_SESSION_CONNECT_ERROR' | 'CB_SESSION_CREATE_ERROR' | 'NO_FRAME_DECODE_ERROR' | 'NO_PACKET_RECV_ERROR' | 'LOW_VOLUME_ERROR' | 'INITIAL_MEMORY_ERROR' | 'MAC_VIRTUAL_AUDIO_DRV_ERROR' | 'MMP_SESSION_CONNECT_ERROR' | 'MEDIA_PROCESS_CRASH_ERROR' | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR' | 'MEDIA_SERVER_CONNECT_ERROR' | 'LOCUS_SESSION_CONNECT_ERROR' | 'NO_PACKET_SEND_ERROR' | 'NETWORK_LOST_ERROR' | 'MEDIA_NOT_AVAILABLE';
791
+ isJoinAtStart?: boolean;
792
+ };
793
+ /**
794
+ * Details of client connect session
795
+ */
796
+ audioCallbackSession?: {
797
+ mediaSessionType?: 'AUDIO_CALLBACK' | 'AUDIO_VOIP' | 'DEVICE_CALLBACK' | 'DEVICE_PAIRING' | 'VIDEO';
798
+ isSuccess?: boolean;
799
+ signalingServerType?: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
800
+ signalingServerAddress?: string;
801
+ mediaServerType?: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
802
+ mediaServerAddress?: string;
803
+ errorDescription?: string;
804
+ errorCode?: number;
805
+ mediaErrorType?: 'NO_ERROR' | 'DEVICE_ERROR' | 'LOAD_LIBRARY_ERROR' | 'MCS_SESSION_CONNECT_ERROR' | 'CB_SESSION_CREATE_ERROR' | 'NO_FRAME_DECODE_ERROR' | 'NO_PACKET_RECV_ERROR' | 'LOW_VOLUME_ERROR' | 'INITIAL_MEMORY_ERROR' | 'MAC_VIRTUAL_AUDIO_DRV_ERROR' | 'MMP_SESSION_CONNECT_ERROR' | 'MEDIA_PROCESS_CRASH_ERROR' | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR' | 'MEDIA_SERVER_CONNECT_ERROR' | 'LOCUS_SESSION_CONNECT_ERROR' | 'NO_PACKET_SEND_ERROR' | 'NETWORK_LOST_ERROR' | 'MEDIA_NOT_AVAILABLE';
806
+ isJoinAtStart?: boolean;
807
+ };
808
+ /**
809
+ * Details of client connect session
810
+ */
811
+ devicePairingSession?: {
812
+ mediaSessionType?: 'AUDIO_CALLBACK' | 'AUDIO_VOIP' | 'DEVICE_CALLBACK' | 'DEVICE_PAIRING' | 'VIDEO';
813
+ isSuccess?: boolean;
814
+ signalingServerType?: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
815
+ signalingServerAddress?: string;
816
+ mediaServerType?: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
817
+ mediaServerAddress?: string;
818
+ errorDescription?: string;
819
+ errorCode?: number;
820
+ mediaErrorType?: 'NO_ERROR' | 'DEVICE_ERROR' | 'LOAD_LIBRARY_ERROR' | 'MCS_SESSION_CONNECT_ERROR' | 'CB_SESSION_CREATE_ERROR' | 'NO_FRAME_DECODE_ERROR' | 'NO_PACKET_RECV_ERROR' | 'LOW_VOLUME_ERROR' | 'INITIAL_MEMORY_ERROR' | 'MAC_VIRTUAL_AUDIO_DRV_ERROR' | 'MMP_SESSION_CONNECT_ERROR' | 'MEDIA_PROCESS_CRASH_ERROR' | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR' | 'MEDIA_SERVER_CONNECT_ERROR' | 'LOCUS_SESSION_CONNECT_ERROR' | 'NO_PACKET_SEND_ERROR' | 'NETWORK_LOST_ERROR' | 'MEDIA_NOT_AVAILABLE';
821
+ isJoinAtStart?: boolean;
822
+ };
823
+ /**
824
+ * Details of client connect session
825
+ */
826
+ deviceCallbackSession?: {
827
+ mediaSessionType?: 'AUDIO_CALLBACK' | 'AUDIO_VOIP' | 'DEVICE_CALLBACK' | 'DEVICE_PAIRING' | 'VIDEO';
828
+ isSuccess?: boolean;
829
+ signalingServerType?: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
830
+ signalingServerAddress?: string;
831
+ mediaServerType?: 'CB' | 'CMS' | 'HESIOD' | 'LINUS' | 'MCC' | 'MCS' | 'MES' | 'MJS' | 'MRS' | 'MYGDONUS' | 'MZM' | 'TERMINUS' | 'TPGW' | 'TA' | 'HOMER' | 'SUPERHOMER' | 'U2C' | 'WCA' | 'MSE' | 'UNKNOWN';
832
+ mediaServerAddress?: string;
833
+ errorDescription?: string;
834
+ errorCode?: number;
835
+ mediaErrorType?: 'NO_ERROR' | 'DEVICE_ERROR' | 'LOAD_LIBRARY_ERROR' | 'MCS_SESSION_CONNECT_ERROR' | 'CB_SESSION_CREATE_ERROR' | 'NO_FRAME_DECODE_ERROR' | 'NO_PACKET_RECV_ERROR' | 'LOW_VOLUME_ERROR' | 'INITIAL_MEMORY_ERROR' | 'MAC_VIRTUAL_AUDIO_DRV_ERROR' | 'MMP_SESSION_CONNECT_ERROR' | 'MEDIA_PROCESS_CRASH_ERROR' | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR' | 'MEDIA_SERVER_CONNECT_ERROR' | 'LOCUS_SESSION_CONNECT_ERROR' | 'NO_PACKET_SEND_ERROR' | 'NETWORK_LOST_ERROR' | 'MEDIA_NOT_AVAILABLE';
836
+ isJoinAtStart?: boolean;
837
+ };
838
+ /**
839
+ * report when client crash
840
+ */
841
+ crashReport?: {
842
+ /**
843
+ * data define for background noise removal event
844
+ */
845
+ eventData?: {
846
+ crashType?: 'client' | 'other' | 'thirdparty' | 'wme' | 'mta';
847
+ processName?: string;
848
+ moduleName?: string;
849
+ threadInfo?: string;
850
+ crashFrame?: string;
851
+ crashStack?: string;
852
+ exceptionType?: 'unset' | 'crash' | 'freeze' | 'disappear';
853
+ lastAction?: string;
854
+ forTrace?: boolean;
855
+ registerInfo?: string;
856
+ extData?: string;
857
+ };
858
+ };
859
+ clientCrashCallStack?: string;
860
+ /**
861
+ * Details of breakout session information, sent after end of breakout session
862
+ */
863
+ breakoutSessionSummaryInfo?: {
864
+ duration: number;
865
+ subConferenceCount: number;
866
+ totalAttendeeCount: number;
867
+ participantCount: number;
868
+ assignedparticipantCount: number;
869
+ cohostCount: number;
870
+ averageAttendeeCountPerSubConference: number;
871
+ totalHostJoinedCount: number;
872
+ isBoStarted: boolean;
873
+ isBoEnabled: boolean;
874
+ isPreAssigned: boolean;
875
+ boStartedTimers: number;
876
+ createType: 'pre-meeting' | 'in-meeting';
877
+ enableType: 'pre-meeting' | 'in-meeting';
878
+ };
879
+ breakoutSessionAction?: 'add' | 'assign' | 'ask-for-help' | 'breakout-session-open' | 'breakout-session-close' | 'breakout-session-mute-all' | 'breakout-session-unmute-all' | 'broadcast-open' | 'broadcast-send' | 'cancel-automatic-close' | 'create' | 'delete' | 'disable' | 'dynamic-assign' | 'dynamic-exchange' | 'end' | 'enable' | 'exchange' | 'join' | 'leave' | 'lock-all-sessions' | 'lock-this-sessions' | 'moveto' | 'mute-all' | 'mute-all-set' | 'recreate' | 'remove' | 'rename' | 'search' | 'select-all' | 'show-all-sessions' | 'start' | 'unmute-all' | 'unlock-all-sessions' | 'unlock-this-sessions' | 'allow-leave-session' | 'allow-join-session-later' | 'auto-end-sessions' | 'time-before-leave-session';
880
+ clientAction?: 'changeVolume' | 'disableHardMute' | 'enableHardMute' | 'gesture' | 'joinMeetingWithPairedDevice' | 'muteAll' | 'mutePairedDevice' | 'muteSipDevice' | 'reaction' | 'requestUnmute' | 'setLanguage' | 'unifyRaiseHand' | 'unmuteAll' | 'unmutePairedDevice' | 'unmuteSipDevice';
881
+ clientActionFrom?: 'actionBar' | 'auto' | 'breakoutAssignDialog' | 'breakoutPopupDialog' | 'fitMenu' | 'hardMuteMoreOptionsDialog' | 'initAction' | 'mainMenu' | 'plist' | 'plistContextMenu' | 'plistToolBar' | 'videoThumbnail' | 'muteAllAction' | 'reactionPopupDialog' | 'unmuteAllAction';
882
+ clientActionTime?: number;
883
+ /**
884
+ * Details of client action
885
+ */
886
+ clientActionInfo?: {
887
+ clientAction: 'changeVolume' | 'disableHardMute' | 'enableHardMute' | 'gesture' | 'joinMeetingWithPairedDevice' | 'muteAll' | 'mutePairedDevice' | 'muteSipDevice' | 'reaction' | 'requestUnmute' | 'setLanguage' | 'unifyRaiseHand' | 'unmuteAll' | 'unmutePairedDevice' | 'unmuteSipDevice';
888
+ actionFrom?: 'actionBar' | 'auto' | 'breakoutAssignDialog' | 'breakoutPopupDialog' | 'fitMenu' | 'hardMuteMoreOptionsDialog' | 'initAction' | 'mainMenu' | 'plist' | 'plistContextMenu' | 'plistToolBar' | 'videoThumbnail' | 'muteAllAction' | 'reactionPopupDialog' | 'unmuteAllAction';
889
+ actionRole?: 'host' | 'attendee' | 'presenter' | 'cohost' | 'self';
890
+ duration?: number;
891
+ fromValue?: string;
892
+ toValue?: string;
893
+ gestureType?: 'clap' | 'none' | 'raiseHand' | 'thumpUp' | 'thumbDown';
894
+ languageAction?: 'openLanguageDialog' | 'subscribeTransLanguage' | 'unsubscribeTransLanguage' | 'changeSpeakLanguage' | 'transcriptTurnOnWebexAssistantDialog' | 'transcriptTurnOffWebexAssistantDialog' | 'transcriptTurnOnWebexAssistantMenu' | 'transcriptTurn0ffWebexAssistantMenu' | 'transcriptViewHighlightPanel' | 'transcriptViewHighlightPanelViaCloseCaption' | 'transcriptViewHighlightPanelViaPanelOption' | 'transcriptViewHighlightPanelViaWebexAssistant' | 'transcriptEnableCloseCaptionDialog' | 'transcriptDisableCloseCaptionDialog' | 'transcriptDisableCloseCaptionDialogForActiveCCOpen' | 'transcriptDisableCloseCaptionDialogViaCCButton' | 'transcriptDisableCloseCaptionDialogViaCCDialog' | 'transcriptEnableCloseCaptionMenu' | 'transcriptDisableCloseCaptionMenu' | 'transcriptTabToCaptions' | 'transcriptTabToHighlights' | 'transcriptCreateHighlight' | 'transcriptDeleteHighlightInHighlight' | 'transcriptDeleteHighlightInCaptions' | 'transcriptChangeFontSize' | 'transcriptBackToDefaultPosition' | 'transcriptChangeModeToDark' | 'transcriptChangeModeToLight';
895
+ fromLanguage?: 'lan_af' | 'lan_sq' | 'lan_am' | 'lan_ar' | 'lan_hy' | 'lan_az' | 'lan_eu' | 'lan_be' | 'lan_bn' | 'lan_bs' | 'lan_bg' | 'lan_ca' | 'lan_ceb' | 'lan_zh' | 'lan_zh-TW' | 'lan_co' | 'lan_hr' | 'lan_cs' | 'lan_da' | 'lan_nl' | 'lan_en' | 'lan_en-GB' | 'lan_eo' | 'lan_et' | 'lan_fi' | 'lan_fr' | 'lan_fr-CA' | 'lan_fy' | 'lan_gl' | 'lan_ka' | 'lan_de' | 'lan_el' | 'lan_gu' | 'lan_ht' | 'lan_ha' | 'lan_haw' | 'lan_he' | 'lan_hi' | 'lan_hmn' | 'lan_hu' | 'lan_is' | 'lan_ig' | 'lan_id' | 'lan_ga' | 'lan_it' | 'lan_ja' | 'lan_jv' | 'lan_kn' | 'lan_kk' | 'lan_km' | 'lan_rw' | 'lan_ko' | 'lan_ku' | 'lan_ky' | 'lan_lo' | 'lan_la' | 'lan_lv' | 'lan_lt' | 'lan_lb' | 'lan_mk' | 'lan_mg' | 'lan_ms' | 'lan_ml' | 'lan_mt' | 'lan_mi' | 'lan_mr' | 'lan_mn' | 'lan_my' | 'lan_ne' | 'lan_no' | 'lan_ny' | 'lan_or' | 'lan_ps' | 'lan_fa' | 'lan_pl' | 'lan_pt' | 'lan_pa' | 'lan_ro' | 'lan_ru' | 'lan_sm' | 'lan_gd' | 'lan_sr' | 'lan_st' | 'lan_sn' | 'lan_sd' | 'lan_si' | 'lan_sk' | 'lan_sl' | 'lan_so' | 'lan_es' | 'lan_es-ES' | 'lan_su' | 'lan_sw' | 'lan_sv' | 'lan_tl' | 'lan_tg' | 'lan_ta' | 'lan_tt' | 'lan_te' | 'lan_th' | 'lan_tr' | 'lan_tk' | 'lan_uk' | 'lan_ur' | 'lan_ug' | 'lan_uz' | 'lan_vi' | 'lan_cy' | 'lan_xh' | 'lan_yi' | 'lan_yo' | 'lan_zu';
896
+ toLanguage?: 'lan_af' | 'lan_sq' | 'lan_am' | 'lan_ar' | 'lan_hy' | 'lan_az' | 'lan_eu' | 'lan_be' | 'lan_bn' | 'lan_bs' | 'lan_bg' | 'lan_ca' | 'lan_ceb' | 'lan_zh' | 'lan_zh-TW' | 'lan_co' | 'lan_hr' | 'lan_cs' | 'lan_da' | 'lan_nl' | 'lan_en' | 'lan_en-GB' | 'lan_eo' | 'lan_et' | 'lan_fi' | 'lan_fr' | 'lan_fr-CA' | 'lan_fy' | 'lan_gl' | 'lan_ka' | 'lan_de' | 'lan_el' | 'lan_gu' | 'lan_ht' | 'lan_ha' | 'lan_haw' | 'lan_he' | 'lan_hi' | 'lan_hmn' | 'lan_hu' | 'lan_is' | 'lan_ig' | 'lan_id' | 'lan_ga' | 'lan_it' | 'lan_ja' | 'lan_jv' | 'lan_kn' | 'lan_kk' | 'lan_km' | 'lan_rw' | 'lan_ko' | 'lan_ku' | 'lan_ky' | 'lan_lo' | 'lan_la' | 'lan_lv' | 'lan_lt' | 'lan_lb' | 'lan_mk' | 'lan_mg' | 'lan_ms' | 'lan_ml' | 'lan_mt' | 'lan_mi' | 'lan_mr' | 'lan_mn' | 'lan_my' | 'lan_ne' | 'lan_no' | 'lan_ny' | 'lan_or' | 'lan_ps' | 'lan_fa' | 'lan_pl' | 'lan_pt' | 'lan_pa' | 'lan_ro' | 'lan_ru' | 'lan_sm' | 'lan_gd' | 'lan_sr' | 'lan_st' | 'lan_sn' | 'lan_sd' | 'lan_si' | 'lan_sk' | 'lan_sl' | 'lan_so' | 'lan_es' | 'lan_es-ES' | 'lan_su' | 'lan_sw' | 'lan_sv' | 'lan_tl' | 'lan_tg' | 'lan_ta' | 'lan_tt' | 'lan_te' | 'lan_th' | 'lan_tr' | 'lan_tk' | 'lan_uk' | 'lan_ur' | 'lan_ug' | 'lan_uz' | 'lan_vi' | 'lan_cy' | 'lan_xh' | 'lan_yi' | 'lan_yo' | 'lan_zu';
897
+ reactionType?: 'celebrate' | 'clap' | 'haha' | 'love' | 'sad' | 'smile' | 'thumbUp' | 'thumbDown' | 'wow' | 'collapse' | 'disable' | 'enable' | 'disableGestures' | 'enableGestures' | 'expand' | 'openMenu';
898
+ unifyRaiseHand?: 'lowerHand' | 'lowerAllHand' | 'raiseHand';
899
+ };
900
+ clientEventType?: 'normal-event' | 'user-action';
901
+ /**
902
+ * Audio background noise removal
903
+ */
904
+ audioNoiseRemoval?: {
905
+ /**
906
+ * background noise removal action data
907
+ */
908
+ actionData?: {
909
+ bnrActionType: 'turn-on-bnr' | 'turn-off-bnr';
910
+ };
911
+ /**
912
+ * background noise removal event data
913
+ */
914
+ eventData?: {
915
+ bnrEventType: 'bnr-on' | 'bnr-off';
916
+ };
917
+ };
918
+ /**
919
+ * Details of client action
920
+ */
921
+ gestureRecognition?: {
922
+ supportedMachine?: boolean;
923
+ gestureType?: 'clap' | 'none' | 'raiseHand' | 'thumpUp' | 'thumbDown';
924
+ duration?: number;
925
+ };
926
+ /**
927
+ * post meeting hook report
928
+ */
929
+ postMeetingHook?: {
930
+ /**
931
+ * data define for background noise removal action
932
+ */
933
+ actionData?: {
934
+ pmhActionType: 'share' | 'view-details' | 'close';
935
+ pmhActionResult?: string;
936
+ };
937
+ /**
938
+ * data define for background noise removal event
939
+ */
940
+ eventData?: {
941
+ pmhEventType: 'used' | 'not-show-again';
942
+ };
943
+ };
944
+ breakoutSessionJoinType?: 'any-one-can-join' | 'auto' | 'manual' | 'preassign-rest';
945
+ breakoutSessionActionClickFrom?: 'actionbar' | 'assign-dialog' | 'auto' | 'breakout-session-list' | 'contextmenu' | 'menu' | 'plist' | 'popup-dialog';
946
+ broadcastSendType?: 'all-sessions-all-participants' | 'all-sessions-all-cohost-and-presenters' | 'one-session-all-participants' | 'one-session-one-participant';
947
+ breakoutSessionDialogOpenTime?: number;
948
+ breakoutSessionDialogAssignTime?: number;
949
+ /**
950
+ * call embedded browser object result, if failed, will populate error at Error item
951
+ */
952
+ embeddedBrowserObject?: {
953
+ browserType: 'IE' | 'WebView2';
954
+ version?: string;
955
+ callFrom?: string;
956
+ };
957
+ /**
958
+ * data define for download detail data
959
+ */
960
+ downloadInfo?: {
961
+ percentCompleted?: number;
962
+ packageName?: string;
963
+ timestamp?: string;
964
+ clientDownloadFileCount?: number;
965
+ clientDownloadSize?: number;
966
+ clientDownloadTime?: number;
967
+ clientDecompressTime?: number;
968
+ CDNEnabled?: boolean;
969
+ updateFlag?: 'preMeeting' | 'inMeeting' | 'postMeeting';
970
+ epSP?: boolean;
971
+ isEPUpdate?: boolean;
972
+ spDifferent?: number;
973
+ spVersionDelta?: number;
974
+ deltaUpdate?: boolean;
975
+ deltaListDownloadTime?: number;
976
+ deltaPackageDownloadTime?: number;
977
+ deltaCachePackageCopyTime?: number;
978
+ deltaApplyTime?: number;
979
+ deltaPackageUncompressTime?: number;
980
+ deltaDuration?: number;
981
+ deltaVersion?: string;
982
+ deltaDownloadFullPackage?: boolean;
983
+ deltaFileSize?: number;
984
+ deltaUpdateEnabled?: boolean;
985
+ deltaFullpackageDownloadEnabled?: boolean;
986
+ deltaUpdateErrorType?: string;
987
+ deltaUpdateSuccess?: string;
988
+ deltaFullpackageDownloadVersion?: string;
989
+ deltaFullpackageDownloadSuccess?: string;
990
+ deltaUpdateCorrelationId?: string;
991
+ deltaFullpackageDownloadCorrelationId?: string;
992
+ deltaTargetVersion?: string;
993
+ deltaLocalFullPackageVersions?: string;
994
+ deltaUpdateFailReason?: string;
995
+ deltaUpdateTimeStamp?: string;
996
+ };
997
+ isInstallWebView2?: boolean;
998
+ loginType?: 'no-login' | 'login-page' | 'reuse-ci-token' | 'reuse-site-token' | 'login-ci' | 'login-site' | 'unverified-guest';
999
+ loginCrossSite?: boolean;
1000
+ crossBrowserLogin?: boolean;
1001
+ isMultiSiteUser?: boolean;
1002
+ /**
1003
+ * The metadata associated with the emitter of the event. This data is separate from the source metadata and must be emitted with every event.
1004
+ */
1005
+ mediaQualityMetadata?: {
1006
+ peerReflexiveIP?: string;
1007
+ maskedPeerReflexiveIP?: string;
1008
+ remoteMediaIP?: string;
1009
+ maskedRemoteMediaIP?: string;
1010
+ staticPerformanceLevel?: number;
1011
+ processAverageCPU?: number;
1012
+ processMaximumCPU?: number;
1013
+ systemAverageCPU?: number;
1014
+ systemMaximumCPU?: number;
1015
+ systemAverageGPU?: number;
1016
+ systemMaximumGPU?: number;
1017
+ /**
1018
+ * this object defines the memory related fields that are tracked in media quality events and reports
1019
+ */
1020
+ memoryUsage?: {
1021
+ processAverageMemoryUsage: number;
1022
+ processMaximumMemoryUsage: number;
1023
+ systemAverageMemoryUsage: number;
1024
+ systemMaximumMemoryUsage: number;
1025
+ processMaximumMemoryBytes: number;
1026
+ mainProcessMaximumMemoryBytes: number;
1027
+ osBitWidth: number;
1028
+ cpuBitWidth: number;
1029
+ };
1030
+ peripherals?: {
1031
+ name: 'camera' | 'microphone' | 'speaker';
1032
+ information: string;
1033
+ driver?: string;
1034
+ errorCode?: string;
1035
+ connectionType?: unknown;
1036
+ bluetoothMode?: unknown;
1037
+ }[];
1038
+ /**
1039
+ * information object for the peripheral
1040
+ */
1041
+ cameraInfo?: {
1042
+ name: 'camera' | 'microphone' | 'speaker';
1043
+ information: string;
1044
+ driver?: string;
1045
+ errorCode?: string;
1046
+ connectionType?: unknown;
1047
+ bluetoothMode?: unknown;
1048
+ };
1049
+ /**
1050
+ * information object for the peripheral
1051
+ */
1052
+ microphoneInfo?: {
1053
+ name: 'camera' | 'microphone' | 'speaker';
1054
+ information: string;
1055
+ driver?: string;
1056
+ errorCode?: string;
1057
+ connectionType?: unknown;
1058
+ bluetoothMode?: unknown;
1059
+ };
1060
+ /**
1061
+ * information object for the peripheral
1062
+ */
1063
+ speakerInfo?: {
1064
+ name: 'camera' | 'microphone' | 'speaker';
1065
+ information: string;
1066
+ driver?: string;
1067
+ errorCode?: string;
1068
+ connectionType?: unknown;
1069
+ bluetoothMode?: unknown;
1070
+ };
1071
+ /**
1072
+ * This object defines the fields related to the CPU being used by the emitter of the event
1073
+ */
1074
+ cpuInfo?: {
1075
+ description: string;
1076
+ clockSpeedGigaHertz: number;
1077
+ numberOfCores: number;
1078
+ architecture: 'intel32' | 'intel64' | 'amd32' | 'amd64' | 'arm32' | 'arm64' | 'unknown';
1079
+ staticPerformance?: string;
1080
+ };
1081
+ /**
1082
+ * Thread level cpu performance insights
1083
+ */
1084
+ cpuDataDetail?: {
1085
+ processesData?: unknown[];
1086
+ coresCpuData?: unknown[];
1087
+ coreVariance?: number;
1088
+ };
1089
+ /**
1090
+ * This object defines the fields related to the GPU being used by the emitter of the event
1091
+ */
1092
+ defaultGpuInfo?: {
1093
+ description: string;
1094
+ memoryMegaBytes: number;
1095
+ };
1096
+ otherGpuInfo?: {
1097
+ description: string;
1098
+ memoryMegaBytes: number;
1099
+ }[];
1100
+ dpcRecord?: string[];
1101
+ mediaLabels?: string[];
1102
+ screenResolution?: number;
1103
+ appWindowSize?: number;
1104
+ appWindowHeight?: number;
1105
+ appWindowWidth?: number;
1106
+ meetingUserCount?: number;
1107
+ videoUserCount?: number;
1108
+ numScreens?: number;
1109
+ configuredBitrate?: number;
1110
+ };
1111
+ sessionType?: 'AD_HOC' | 'ADHOC_UNIFIED_SPACE_MEETING' | 'ANSWERED_ELSEWHERE' | 'BUTLER' | 'CFNA' | 'CMR_MEETING' | 'DPC_CONTROL' | 'EVENT_CENTER_MEETING' | 'HALF_ZTM' | 'JABBER' | 'MEDIA' | 'MS_TEAMS' | 'NO_JOINS' | 'SINGLE_PARTICIPANT' | 'SIP_CALL' | 'SIP_MEETING' | 'SPACE_MEETING' | 'SPACE_SHARE' | 'SPARK_CALL' | 'SPARK_MEETING' | 'SPARK_SIP_CALL' | 'SPARK_SIP_MEETING' | 'UNIFIED_SPACE_MEETING' | 'UNKNOWN' | 'WHITEBOARD_ONLY_SHARE' | 'WIRELESS_SHARE' | 'ZTM';
1112
+ }