@webex/internal-plugin-metrics 3.0.0-beta.18 → 3.0.0-beta.181

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 +134 -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 +511 -0
  6. package/dist/call-diagnostic/call-diagnostic-metrics.js.map +1 -0
  7. package/dist/call-diagnostic/call-diagnostic-metrics.util.js +106 -0
  8. package/dist/call-diagnostic/call-diagnostic-metrics.util.js.map +1 -0
  9. package/dist/call-diagnostic/config.js +461 -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 +185 -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 +324 -0
  31. package/dist/types/call-diagnostic/call-diagnostic-metrics.util.d.ts +31 -0
  32. package/dist/types/call-diagnostic/config.d.ts +57 -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 +87 -0
  41. package/dist/types/new-metrics.d.ts +83 -0
  42. package/package.json +12 -8
  43. package/src/call-diagnostic/call-diagnostic-metrics-batcher.ts +148 -0
  44. package/src/call-diagnostic/call-diagnostic-metrics-latencies.ts +408 -0
  45. package/src/call-diagnostic/call-diagnostic-metrics.ts +528 -0
  46. package/src/call-diagnostic/call-diagnostic-metrics.util.ts +102 -0
  47. package/src/call-diagnostic/config.ts +455 -0
  48. package/src/call-diagnostic/generated-types-temp/ClientEvent.ts +2357 -0
  49. package/src/call-diagnostic/generated-types-temp/Event.ts +7669 -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 +39 -0
  53. package/src/metrics.js +25 -27
  54. package/src/metrics.types.ts +131 -0
  55. package/src/new-metrics.ts +170 -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 +722 -0
  59. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.util.ts +76 -0
  60. package/test/unit/spec/metrics.js +65 -97
  61. package/test/unit/spec/new-metrics.ts +91 -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.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
+ }