@webex/event-dictionary-ts 0.0.1 → 0.0.2

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.
@@ -1,2441 +0,0 @@
1
- /* eslint-disable */
2
- /**
3
- * This file was automatically generated by json-schema-to-typescript.
4
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
- * and run json-schema-to-typescript to regenerate this file.
6
- */
7
-
8
- /**
9
- * Media Quality Events from media services (e.g. Linus, Edonus, Clients)
10
- */
11
- export interface MediaQualityEvent {
12
- canProceed: boolean;
13
- state?: string;
14
- mediaType?: "audio" | "video" | "share" | "share_audio" | "whiteboard" | "gamestate";
15
- csi?: number;
16
- /**
17
- * media capability for both transmit and receive
18
- */
19
- mediaCapabilities?: {
20
- /**
21
- * explicit indication of media capabilities. true=supported
22
- */
23
- tx: {
24
- audio: boolean;
25
- video: boolean;
26
- share: boolean;
27
- share_audio: boolean;
28
- whiteboard: boolean;
29
- gamestate?: boolean;
30
- };
31
- /**
32
- * explicit indication of media capabilities. true=supported
33
- */
34
- rx: {
35
- audio: boolean;
36
- video: boolean;
37
- share: boolean;
38
- share_audio: boolean;
39
- whiteboard: boolean;
40
- gamestate?: boolean;
41
- };
42
- };
43
- mediaLines?: {
44
- mediaType: "audio" | "embedded_app" | "video" | "share" | "share_audio" | "whiteboard" | "gamestate";
45
- remoteIP?: string;
46
- localIP?: string;
47
- localNetworkPrefix?: string;
48
- localPort?: number;
49
- remotePort?: number;
50
- protocol: "udp" | "tcp" | "xtls" | "unknown";
51
- direction: "sendrecv" | "sendonly" | "recvonly" | "inactive";
52
- clusterName?: string;
53
- status?: "succeeded" | "in-progress" | "failed";
54
- failureReason?: "network" | "transport" | "rejected" | "timeout" | "notstarted" | "succeeded";
55
- failureDescription?: string;
56
- errorCode?: number;
57
- mediaLineData?: {};
58
- iceMangled?: boolean;
59
- transactionId?: string;
60
- ufrag?: string;
61
- sentReqTime?: string;
62
- recvRespTime?: string;
63
- }[];
64
- /**
65
- * allows client to specify media preferences
66
- */
67
- clientMediaPreferences?: {
68
- preferTranscoding: boolean;
69
- };
70
- pstnAudioType?: "dial-in" | "dial-out";
71
- success?: boolean;
72
- isTranscoded?: boolean;
73
- isGatewayed?: boolean;
74
- isComposed?: boolean;
75
- /**
76
- * determine how the events are processed as well as how the reports are aggregated and sliced
77
- */
78
- registrationMode?: "SIP" | "Cloud" | "CloudAware";
79
- /**
80
- * protocols used to help determine how the events are processed as well as how the reports are aggregated and sliced
81
- */
82
- protocol?: "SIP" | "H323" | "Locus" | "WebRTC";
83
- /**
84
- * The underlying service provider of the call.
85
- */
86
- meetingPlatform?: "MsTeams" | "GoogleMeet" | "Zoom" | "Webex";
87
- labels?: string[];
88
- webexServiceType?: "MC" | "EC" | "SC" | "TC" | "AA" | "RA" | "NBR" | "WRF" | "HOL";
89
- /**
90
- * this defines the sub service type
91
- */
92
- webexSubServiceType?: "PMR" | "Event" | "Training" | "ScheduleMeeting" | "ScheduledMeeting" | "Webinar" | "others";
93
- ivrDialogType?:
94
- | "MEDIA_ON_HOLD"
95
- | "ANNOUNCEMENT"
96
- | "TONE"
97
- | "COLLECT_PIN"
98
- | "PROMPT"
99
- | "MEDIA_SERVICE_AGENT"
100
- | "COLLECT";
101
- ivrDialogResult?:
102
- | "SUCCESS"
103
- | "FAILURE"
104
- | "HOST_PIN_MATCH"
105
- | "GUEST_PIN_MATCH"
106
- | "PANELIST_PIN_MATCH"
107
- | "NO_MATCH"
108
- | "INVALID_PIN";
109
- callType?:
110
- | "VIDEO_DIALIN"
111
- | "VIDEO_DIALOUT"
112
- | "CASCADE"
113
- | "HYBRID_CASCADE"
114
- | "PSTN_SIP"
115
- | "PSTN_DIALIN"
116
- | "PSTN_DIALOUT"
117
- | "PSTN_ONLY_DIALIN"
118
- | "PSTN_ONLY_DIALOUT"
119
- | "H323"
120
- | "H323_IP"
121
- | "SIP_ENTERPRISE"
122
- | "SIP_MOBILE"
123
- | "SIP_NATIONAL"
124
- | "SIP_INTERNATIONAL"
125
- | "SIP_EMERGENCY"
126
- | "SIP_OPERATOR"
127
- | "SIP_SHORTCODE"
128
- | "SIP_TOLLFREE"
129
- | "SIP_PREMIUM"
130
- | "SIP_URI"
131
- | "SIP_INBOUND"
132
- | "UNKNOWN"
133
- | "ZTM"
134
- | "SIP_MEETING";
135
- eventData?: {};
136
- derivedSipClientType?:
137
- | "SIP_CE_SINGLE_SCREEN"
138
- | "SIP_CE_MULTI_SCREEN"
139
- | "SIP_JABBER"
140
- | "SIP_TIP_SINGLE_SCREEN"
141
- | "SIP_TIP_THREE_SCREEN"
142
- | "SIP_PSTN"
143
- | "SIP_OTHER"
144
- | "SIP_WEBEX_CASCADE"
145
- | "SIP_NONE";
146
- /**
147
- * this defines the major client types
148
- */
149
- derivedClientType?:
150
- | "MEETING_CENTER"
151
- | "EVENT_CENTER"
152
- | "TRAINING_CENTER"
153
- | "TEAMS_CLIENT"
154
- | "TEAMS_DEVICE"
155
- | "TEAMS_SHARE"
156
- | "SIP"
157
- | "RECORDING"
158
- | "CLOUD_AWARE_SIP"
159
- | "TEAMS_WXC_CLIENT"
160
- | "WXC_CLIENT"
161
- | "WXC_DEVICE"
162
- | "WEBEX_JS_SDK"
163
- | "VOICEA_CLIENT"
164
- | "CISCO_SIP_GW"
165
- | "WEBEX_SDK"
166
- | "CPAAS_THIRD_PARTY_SDK"
167
- | "WXC_THIRD_PARTY"
168
- | "WXCC";
169
- /**
170
- * this defines the sub types of clients
171
- */
172
- derivedSubClientType?:
173
- | "DESKTOP_APP"
174
- | "DESKTOP_APP_VDI"
175
- | "DEVICE_CURRENT"
176
- | "DEVICE_LEGACY_2020"
177
- | "HVDI_APP"
178
- | "MOBILE_APP"
179
- | "VDI_APP"
180
- | "WEB_APP"
181
- | "MOBILE_NETWORK"
182
- | "HOLOGRAM_HEADSET_APP";
183
- serverRole?:
184
- | "CONFERENCE"
185
- | "TRANSCODER"
186
- | "WHITEBOARD_INJECTOR"
187
- | "MS_TEAMS_CONFERENCE"
188
- | "RECORDING"
189
- | "GATEWAY"
190
- | "GATEWAY_CLIENT_SIDE"
191
- | "UNKNOWN"
192
- | "HOLOGRAM_RENDER";
193
- reconnect?: boolean;
194
- retryCount?: number;
195
- meetSimple?: boolean;
196
- /**
197
- * represents media quality status report such as no media or drop out
198
- */
199
- mediaStatus?: {
200
- mediaType?: "audio" | "video" | "share" | "share_audio" | "whiteboard";
201
- mediaSuccess?: boolean;
202
- shareType?:
203
- | "cb-normal-share"
204
- | "ce-airplay-share"
205
- | "ce-direct-share"
206
- | "ce-gui-loopback-share"
207
- | "ce-input-source-share"
208
- | "ce-input-source-share-hdmi"
209
- | "ce-input-source-share-usbc"
210
- | "ce-jpg-share"
211
- | "ce-miracast-share"
212
- | "mcs-normal-share"
213
- | "mcs-normal-audio-share"
214
- | "mcs-hfps-share"
215
- | "mcs-hfps-audio-share";
216
- isTransmitter?: boolean;
217
- audioJoinType?:
218
- | "phone-call-in"
219
- | "phone-call-back"
220
- | "voip"
221
- | "device-call-back"
222
- | "never-join-audio"
223
- | "tried-but-never-join";
224
- /**
225
- * indicates transport type used
226
- */
227
- transportType?: "UDP" | "TCP" | "xTLS" | "TLS";
228
- additionalData?: {};
229
- };
230
- shareInstanceId?: string;
231
- hologramStreamId?: string;
232
- /**
233
- * represents all of the properities that could cause delay during media setup process.
234
- */
235
- audioSetupDelay?: {
236
- floorReqSentReceived?: number;
237
- floorRespSentReceived?: number;
238
- mediaType?: "audio" | "video" | "share" | "share_audio" | "whiteboard";
239
- txReqFloorGranted?: number;
240
- txSessionCreateConfirm?: number;
241
- txApeEnrollConfirm?: number;
242
- txUIDelay?: number;
243
- txScreenCaptureDelay?: number;
244
- txScreenCaptureDelayReasonCode?: number;
245
- txShareStartOverallDelay?: number;
246
- rx1stPacket2RenderDelay?: number;
247
- rxGranted2RenderDelay?: number;
248
- rxFailFrameNumB4Success?: number;
249
- e2eFirstFrameDelay?: number;
250
- CBSessionRespToLocusFloorGrantDelay?: number;
251
- CBShareReceiveToServerShareTransmitDelay?: number;
252
- CBShareReceiveToTPGWFirstKeyFrameDelay?: number;
253
- /**
254
- * phrased HTTP timing
255
- */
256
- floorRequestHttpTiming?: {
257
- connect?: number;
258
- dnsLookup?: number;
259
- sendRequest?: number;
260
- compressRequest?: number;
261
- receiveResponse?: number;
262
- extractJson?: number;
263
- verifyCert?: number;
264
- refreshToken?: number;
265
- };
266
- TPGWFirstKeyFrameToServerShareTransmitDelay?: number;
267
- MCSSessionActivateToLocusFloorGrantDelay?: number;
268
- ServerShareInitiateToLocusFloorGrantDelay?: number;
269
- LocusFloorGrantToCBSessionStartDelay?: number;
270
- ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;
271
- LocusFloorGrantToTPGWFloorGrantDelay?: number;
272
- LocusFloorGrantToReceiverNotificationDelay?: number;
273
- CBShareSessionRespDelay?: number;
274
- LocusShareFloorGrantRespDelay?: number;
275
- ServerShareFloorGrantRespDelay?: number;
276
- joinRespRxStart?: number;
277
- joinRespTxStart?: number;
278
- maxRemoteLossRate?: number;
279
- media2SignalDelay?: number;
280
- warholDownloadTime?: number;
281
- contentDownloadTime?: number;
282
- boardCreationTime?: number;
283
- totalBoardServiceRespDelay?: number;
284
- };
285
- /**
286
- * represents all of the properities that could cause delay during media setup process.
287
- */
288
- videoSetupDelay?: {
289
- floorReqSentReceived?: number;
290
- floorRespSentReceived?: number;
291
- mediaType?: "audio" | "video" | "share" | "share_audio" | "whiteboard";
292
- txReqFloorGranted?: number;
293
- txSessionCreateConfirm?: number;
294
- txApeEnrollConfirm?: number;
295
- txUIDelay?: number;
296
- txScreenCaptureDelay?: number;
297
- txScreenCaptureDelayReasonCode?: number;
298
- txShareStartOverallDelay?: number;
299
- rx1stPacket2RenderDelay?: number;
300
- rxGranted2RenderDelay?: number;
301
- rxFailFrameNumB4Success?: number;
302
- e2eFirstFrameDelay?: number;
303
- CBSessionRespToLocusFloorGrantDelay?: number;
304
- CBShareReceiveToServerShareTransmitDelay?: number;
305
- CBShareReceiveToTPGWFirstKeyFrameDelay?: number;
306
- /**
307
- * phrased HTTP timing
308
- */
309
- floorRequestHttpTiming?: {
310
- connect?: number;
311
- dnsLookup?: number;
312
- sendRequest?: number;
313
- compressRequest?: number;
314
- receiveResponse?: number;
315
- extractJson?: number;
316
- verifyCert?: number;
317
- refreshToken?: number;
318
- };
319
- TPGWFirstKeyFrameToServerShareTransmitDelay?: number;
320
- MCSSessionActivateToLocusFloorGrantDelay?: number;
321
- ServerShareInitiateToLocusFloorGrantDelay?: number;
322
- LocusFloorGrantToCBSessionStartDelay?: number;
323
- ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;
324
- LocusFloorGrantToTPGWFloorGrantDelay?: number;
325
- LocusFloorGrantToReceiverNotificationDelay?: number;
326
- CBShareSessionRespDelay?: number;
327
- LocusShareFloorGrantRespDelay?: number;
328
- ServerShareFloorGrantRespDelay?: number;
329
- joinRespRxStart?: number;
330
- joinRespTxStart?: number;
331
- maxRemoteLossRate?: number;
332
- media2SignalDelay?: number;
333
- warholDownloadTime?: number;
334
- contentDownloadTime?: number;
335
- boardCreationTime?: number;
336
- totalBoardServiceRespDelay?: number;
337
- };
338
- /**
339
- * represents all of the properities that could cause delay during media setup process.
340
- */
341
- shareSetupDelay?: {
342
- floorReqSentReceived?: number;
343
- floorRespSentReceived?: number;
344
- mediaType?: "audio" | "video" | "share" | "share_audio" | "whiteboard";
345
- txReqFloorGranted?: number;
346
- txSessionCreateConfirm?: number;
347
- txApeEnrollConfirm?: number;
348
- txUIDelay?: number;
349
- txScreenCaptureDelay?: number;
350
- txScreenCaptureDelayReasonCode?: number;
351
- txShareStartOverallDelay?: number;
352
- rx1stPacket2RenderDelay?: number;
353
- rxGranted2RenderDelay?: number;
354
- rxFailFrameNumB4Success?: number;
355
- e2eFirstFrameDelay?: number;
356
- CBSessionRespToLocusFloorGrantDelay?: number;
357
- CBShareReceiveToServerShareTransmitDelay?: number;
358
- CBShareReceiveToTPGWFirstKeyFrameDelay?: number;
359
- /**
360
- * phrased HTTP timing
361
- */
362
- floorRequestHttpTiming?: {
363
- connect?: number;
364
- dnsLookup?: number;
365
- sendRequest?: number;
366
- compressRequest?: number;
367
- receiveResponse?: number;
368
- extractJson?: number;
369
- verifyCert?: number;
370
- refreshToken?: number;
371
- };
372
- TPGWFirstKeyFrameToServerShareTransmitDelay?: number;
373
- MCSSessionActivateToLocusFloorGrantDelay?: number;
374
- ServerShareInitiateToLocusFloorGrantDelay?: number;
375
- LocusFloorGrantToCBSessionStartDelay?: number;
376
- ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;
377
- LocusFloorGrantToTPGWFloorGrantDelay?: number;
378
- LocusFloorGrantToReceiverNotificationDelay?: number;
379
- CBShareSessionRespDelay?: number;
380
- LocusShareFloorGrantRespDelay?: number;
381
- ServerShareFloorGrantRespDelay?: number;
382
- joinRespRxStart?: number;
383
- joinRespTxStart?: number;
384
- maxRemoteLossRate?: number;
385
- media2SignalDelay?: number;
386
- warholDownloadTime?: number;
387
- contentDownloadTime?: number;
388
- boardCreationTime?: number;
389
- totalBoardServiceRespDelay?: number;
390
- };
391
- /**
392
- * represents all of the properities that could cause delay during media setup process.
393
- */
394
- shareAudioSetupDelay?: {
395
- floorReqSentReceived?: number;
396
- floorRespSentReceived?: number;
397
- mediaType?: "audio" | "video" | "share" | "share_audio" | "whiteboard";
398
- txReqFloorGranted?: number;
399
- txSessionCreateConfirm?: number;
400
- txApeEnrollConfirm?: number;
401
- txUIDelay?: number;
402
- txScreenCaptureDelay?: number;
403
- txScreenCaptureDelayReasonCode?: number;
404
- txShareStartOverallDelay?: number;
405
- rx1stPacket2RenderDelay?: number;
406
- rxGranted2RenderDelay?: number;
407
- rxFailFrameNumB4Success?: number;
408
- e2eFirstFrameDelay?: number;
409
- CBSessionRespToLocusFloorGrantDelay?: number;
410
- CBShareReceiveToServerShareTransmitDelay?: number;
411
- CBShareReceiveToTPGWFirstKeyFrameDelay?: number;
412
- /**
413
- * phrased HTTP timing
414
- */
415
- floorRequestHttpTiming?: {
416
- connect?: number;
417
- dnsLookup?: number;
418
- sendRequest?: number;
419
- compressRequest?: number;
420
- receiveResponse?: number;
421
- extractJson?: number;
422
- verifyCert?: number;
423
- refreshToken?: number;
424
- };
425
- TPGWFirstKeyFrameToServerShareTransmitDelay?: number;
426
- MCSSessionActivateToLocusFloorGrantDelay?: number;
427
- ServerShareInitiateToLocusFloorGrantDelay?: number;
428
- LocusFloorGrantToCBSessionStartDelay?: number;
429
- ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;
430
- LocusFloorGrantToTPGWFloorGrantDelay?: number;
431
- LocusFloorGrantToReceiverNotificationDelay?: number;
432
- CBShareSessionRespDelay?: number;
433
- LocusShareFloorGrantRespDelay?: number;
434
- ServerShareFloorGrantRespDelay?: number;
435
- joinRespRxStart?: number;
436
- joinRespTxStart?: number;
437
- maxRemoteLossRate?: number;
438
- media2SignalDelay?: number;
439
- warholDownloadTime?: number;
440
- contentDownloadTime?: number;
441
- boardCreationTime?: number;
442
- totalBoardServiceRespDelay?: number;
443
- };
444
- /**
445
- * represents all of the properities that could cause delay during media setup process.
446
- */
447
- whiteboardSetupDelay?: {
448
- floorReqSentReceived?: number;
449
- floorRespSentReceived?: number;
450
- mediaType?: "audio" | "video" | "share" | "share_audio" | "whiteboard";
451
- txReqFloorGranted?: number;
452
- txSessionCreateConfirm?: number;
453
- txApeEnrollConfirm?: number;
454
- txUIDelay?: number;
455
- txScreenCaptureDelay?: number;
456
- txScreenCaptureDelayReasonCode?: number;
457
- txShareStartOverallDelay?: number;
458
- rx1stPacket2RenderDelay?: number;
459
- rxGranted2RenderDelay?: number;
460
- rxFailFrameNumB4Success?: number;
461
- e2eFirstFrameDelay?: number;
462
- CBSessionRespToLocusFloorGrantDelay?: number;
463
- CBShareReceiveToServerShareTransmitDelay?: number;
464
- CBShareReceiveToTPGWFirstKeyFrameDelay?: number;
465
- /**
466
- * phrased HTTP timing
467
- */
468
- floorRequestHttpTiming?: {
469
- connect?: number;
470
- dnsLookup?: number;
471
- sendRequest?: number;
472
- compressRequest?: number;
473
- receiveResponse?: number;
474
- extractJson?: number;
475
- verifyCert?: number;
476
- refreshToken?: number;
477
- };
478
- TPGWFirstKeyFrameToServerShareTransmitDelay?: number;
479
- MCSSessionActivateToLocusFloorGrantDelay?: number;
480
- ServerShareInitiateToLocusFloorGrantDelay?: number;
481
- LocusFloorGrantToCBSessionStartDelay?: number;
482
- ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;
483
- LocusFloorGrantToTPGWFloorGrantDelay?: number;
484
- LocusFloorGrantToReceiverNotificationDelay?: number;
485
- CBShareSessionRespDelay?: number;
486
- LocusShareFloorGrantRespDelay?: number;
487
- ServerShareFloorGrantRespDelay?: number;
488
- joinRespRxStart?: number;
489
- joinRespTxStart?: number;
490
- maxRemoteLossRate?: number;
491
- media2SignalDelay?: number;
492
- warholDownloadTime?: number;
493
- contentDownloadTime?: number;
494
- boardCreationTime?: number;
495
- totalBoardServiceRespDelay?: number;
496
- };
497
- isFocus?: boolean;
498
- processingDelay?: number;
499
- shareType?:
500
- | "cb-normal-share"
501
- | "ce-airplay-share"
502
- | "ce-direct-share"
503
- | "ce-gui-loopback-share"
504
- | "ce-input-source-share"
505
- | "ce-input-source-share-hdmi"
506
- | "ce-input-source-share-usbc"
507
- | "ce-jpg-share"
508
- | "ce-miracast-share"
509
- | "mcs-normal-share"
510
- | "mcs-normal-audio-share"
511
- | "mcs-hfps-share"
512
- | "mcs-hfps-audio-share";
513
- isShareBeingTakenOver?: boolean;
514
- floorBeneficiaryUpdated?: boolean;
515
- meetingJoinedTime?: string;
516
- meetingScheduledTime?: string;
517
- e2eeKeyEpoch?: number;
518
- e2eeDecompressRatio?: number;
519
- keyResponses?: {
520
- gotKeyTime?: number;
521
- useKeyTime?: number;
522
- cacheKeyTime?: number;
523
- }[];
524
- e2eeVersion?: "E2EEV1" | "E2EEV2" | "E2EEV3";
525
- isConvergedArchitectureEnabled?: boolean;
526
- callingServiceType?: "CUCM" | "WEBEXCALLING" | "BROADWORKS" | "LOCUS";
527
- inLobby?: boolean;
528
- isVIPMeeting?: boolean;
529
- webexAppEntrypoint?: string;
530
- firstParticipant?: boolean;
531
- isImmersiveShare?: boolean;
532
- /**
533
- * Request/Response Time for Internal Services
534
- */
535
- registeredTimestamps?: {
536
- locusCreateConfluenceRequestTime?: string;
537
- locusCreateConfluenceResponseTime?: string;
538
- locusCreateVenueRequestTime?: string;
539
- locusCreateVenueResponseTime?: string;
540
- };
541
- skipInterstitialWindow?: boolean;
542
- callDurationSecs?: number;
543
- callDirection?: "ORIGINATING" | "TERMINATING";
544
- /**
545
- * Details associated with a breakout move
546
- */
547
- breakout?: {
548
- moveType?: "between_breakout" | "to_breakout" | "to_main";
549
- trigger?: "assignment_changed" | "client_initiated" | "session_ended" | "session_started";
550
- startState?: "joined" | "lobby";
551
- endState?: "joined" | "lobby";
552
- };
553
- /**
554
- * Latency values associated with breakout session
555
- */
556
- breakoutLatency?: {
557
- boBreakoutMoveProcessed?: number;
558
- boBreakoutMoveResp?: number;
559
- boLocusBreakoutMoveResp?: number;
560
- locusBreakoutMoveResp?: number;
561
- orpheusConfluenceMoveReqResp?: number;
562
- };
563
- /**
564
- * two-way whiteboard related info
565
- */
566
- whiteboard?: {
567
- action?: "open" | "create";
568
- type?: "whiteboard" | "annotation";
569
- capability?: "one_way" | "two_way";
570
- granted?: "one_way" | "two_way";
571
- };
572
- /**
573
- * ROAP message details
574
- */
575
- roap?: {
576
- type?:
577
- | "ANSWER"
578
- | "ERROR"
579
- | "OFFER"
580
- | "OFFER_REQUEST"
581
- | "OFFER_RESPONSE"
582
- | "OK"
583
- | "OKAY"
584
- | "TURN_DISCOVERY_REQUEST"
585
- | "TURN_DISCOVERY_RESPONSE";
586
- messageType?:
587
- | "ANSWER"
588
- | "ERROR"
589
- | "OFFER"
590
- | "OFFER_REQUEST"
591
- | "OFFER_RESPONSE"
592
- | "OK"
593
- | "OKAY"
594
- | "TURN_DISCOVERY_REQUEST"
595
- | "TURN_DISCOVERY_RESPONSE";
596
- error?: string;
597
- duration?: number;
598
- seq?: number;
599
- };
600
- trigger?: "dummyTrigger1" | "dummyTrigger2" | "media-quality";
601
- name: "server.mediaquality.event" | "client.mediaquality.event";
602
- /**
603
- * Base type for the various identifiers used to connect the dots.
604
- * In general, these should be populated whenever possible. Subtypes may make a particular key required.
605
- *
606
- */
607
- identifiers: {
608
- attendeeId?: string;
609
- breakoutGroupId?: string;
610
- breakoutMoveId?: string;
611
- breakoutSessionId?: string;
612
- confluenceId?: string;
613
- /**
614
- * Set of identifiers dedicated to CPaaS clients
615
- * In general, these should be populated whenever possible. Subtypes may make a particular key required.
616
- *
617
- */
618
- cpaasIdentifiers?: {
619
- imiTenantId: string;
620
- devClientId: string;
621
- imiServiceId: string;
622
- imiAppId: string;
623
- sessionId: string;
624
- sessionInstanceId: string;
625
- };
626
- csdmDeviceUrl?: string;
627
- destinationBreakoutSessionId?: string;
628
- destinationLocusSessionId?: string;
629
- destinationLocusUrl?: string;
630
- destinationVenueId?: string;
631
- deviceId?: string;
632
- ivrCallId?: string;
633
- ivrDialogId?: string;
634
- ivrId?: string;
635
- callId?: string;
636
- locusId?: string;
637
- locusSessionId?: string;
638
- locusStartTime?: string;
639
- locusUrl?: string;
640
- mediaAgentAlias?: string;
641
- mediaAgentGroupId?: string;
642
- meetClusterName?: string;
643
- meetingLookupUrl?: string;
644
- meetingOrgId?: string;
645
- msteamsTenantGuid?: string;
646
- msteamsConferenceId?: string;
647
- oauth2ClientId?: string;
648
- orgId?: string;
649
- provisionalCorrelationId?: string;
650
- roomId?: string;
651
- sipCallId?: string;
652
- sipSessionId?: {
653
- local?: string;
654
- remote?: string;
655
- };
656
- sipUri?: string;
657
- subConfId?: string;
658
- tenantId?: string;
659
- trackingId?: string;
660
- userId?: string;
661
- venueId?: string;
662
- venueUrl?: string;
663
- whiteboardUrl?: string;
664
- webexConferenceId?: number;
665
- webexClusterName?: string;
666
- webexConferenceIdStr?: string;
667
- webexDataCenter?: string;
668
- webexGuestId?: number;
669
- webexMeetingId?: number;
670
- webexNodeId?: number;
671
- webexSiteId?: number;
672
- webexSiteName?: string;
673
- webexUserId?: number;
674
- webexWebDomain?: string;
675
- correlationId: string;
676
- };
677
- /**
678
- * 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.
679
- */
680
- sourceMetadata?: {
681
- mediaEngineSoftwareType: string;
682
- mediaEngineSoftwareVersion: string;
683
- applicationSoftwareType: string;
684
- applicationSoftwareVersion: string;
685
- hardwareType?: string;
686
- clientRegion?: string;
687
- serverRegion?: string;
688
- serverOrg?: string;
689
- serverGroup?: string;
690
- serverAlias?: string;
691
- serverDeployType?: "private" | "public";
692
- startTime: string;
693
- endTime?: string;
694
- csi?: number[];
695
- isCascade?: boolean;
696
- isHybridMedia?: boolean;
697
- videoMeshClusterName?: string;
698
- videoMeshServerName?: string;
699
- isTIP?: boolean;
700
- isMARI?: boolean;
701
- has264Checksum?: boolean;
702
- intervalPeriod?: number;
703
- cascadePeerRegion?: string;
704
- cascadePeerOrg?: string;
705
- cascadePeerGroup?: string;
706
- cascadePeerAlias?: string;
707
- cascadePeerServerType?:
708
- | "CB"
709
- | "CMS"
710
- | "HESIOD"
711
- | "LINUS"
712
- | "MCC"
713
- | "MCS"
714
- | "MES"
715
- | "MJS"
716
- | "MRS"
717
- | "MYGDONUS"
718
- | "MZM"
719
- | "TERMINUS"
720
- | "TPGW"
721
- | "TA"
722
- | "HOMER"
723
- | "SUPERHOMER"
724
- | "U2C"
725
- | "WCA"
726
- | "MSE"
727
- | "UNKNOWN";
728
- cascadePeerDeployType?: "private" | "public";
729
- };
730
- /**
731
- * Details of a media edge server which is in the media path but does not generate MQE directly
732
- */
733
- edgeInfo?: {
734
- alias: string;
735
- publicIP: string;
736
- privateIP: string;
737
- version: string;
738
- labels?: string;
739
- };
740
- intervals: {
741
- intervalNumber: number;
742
- /**
743
- * The metadata associated with the emitter of the event. This data is separate from the source metadata and must be emitted with every event.
744
- */
745
- intervalMetadata: {
746
- peerReflexiveIP?: string;
747
- maskedPeerReflexiveIP?: string;
748
- remoteMediaIP?: string;
749
- maskedRemoteMediaIP?: string;
750
- staticPerformanceLevel?: number;
751
- processAverageCPU?: number;
752
- processMaximumCPU?: number;
753
- systemAverageCPU?: number;
754
- systemMaximumCPU?: number;
755
- systemAverageGPU?: number;
756
- systemMaximumGPU?: number;
757
- /**
758
- * this object defines the memory related fields that are tracked in media quality events and reports
759
- */
760
- memoryUsage?: {
761
- processAverageMemoryUsage: number;
762
- processMaximumMemoryUsage: number;
763
- systemAverageMemoryUsage: number;
764
- systemMaximumMemoryUsage: number;
765
- processMaximumMemoryBytes: number;
766
- mainProcessMaximumMemoryBytes: number;
767
- osBitWidth: number;
768
- cpuBitWidth: number;
769
- };
770
- peripherals?: {
771
- name: "camera" | "microphone" | "speaker";
772
- information: string;
773
- driver?: string;
774
- errorCode?: string;
775
- connectionType?: unknown;
776
- bluetoothMode?: unknown;
777
- openDeviceCostTimeMilliSecond?: number;
778
- startCaptureCostTimeMilliSecond?: number;
779
- startPlaybackCostTimeMilliSecond?: number;
780
- }[];
781
- /**
782
- * information object for the peripheral
783
- */
784
- cameraInfo?: {
785
- name: "camera" | "microphone" | "speaker";
786
- information: string;
787
- driver?: string;
788
- errorCode?: string;
789
- connectionType?: unknown;
790
- bluetoothMode?: unknown;
791
- openDeviceCostTimeMilliSecond?: number;
792
- startCaptureCostTimeMilliSecond?: number;
793
- startPlaybackCostTimeMilliSecond?: number;
794
- };
795
- /**
796
- * information object for the peripheral
797
- */
798
- microphoneInfo?: {
799
- name: "camera" | "microphone" | "speaker";
800
- information: string;
801
- driver?: string;
802
- errorCode?: string;
803
- connectionType?: unknown;
804
- bluetoothMode?: unknown;
805
- openDeviceCostTimeMilliSecond?: number;
806
- startCaptureCostTimeMilliSecond?: number;
807
- startPlaybackCostTimeMilliSecond?: number;
808
- };
809
- /**
810
- * information object for the peripheral
811
- */
812
- speakerInfo?: {
813
- name: "camera" | "microphone" | "speaker";
814
- information: string;
815
- driver?: string;
816
- errorCode?: string;
817
- connectionType?: unknown;
818
- bluetoothMode?: unknown;
819
- openDeviceCostTimeMilliSecond?: number;
820
- startCaptureCostTimeMilliSecond?: number;
821
- startPlaybackCostTimeMilliSecond?: number;
822
- };
823
- /**
824
- * This object defines the fields related to the CPU being used by the emitter of the event
825
- */
826
- cpuInfo?: {
827
- description: string;
828
- clockSpeedGigaHertz: number;
829
- numberOfCores: number;
830
- architecture: "intel32" | "intel64" | "amd32" | "amd64" | "arm32" | "arm64" | "unknown";
831
- staticPerformance?: string;
832
- };
833
- /**
834
- * Thread level cpu performance insights
835
- */
836
- cpuDataDetail?: {
837
- processesData?: unknown[];
838
- coresCpuData?: unknown[];
839
- coreVariance?: number;
840
- };
841
- /**
842
- * This object defines the fields related to the GPU being used by the emitter of the event
843
- */
844
- defaultGpuInfo?: {
845
- description: string;
846
- memoryMegaBytes: number;
847
- };
848
- otherGpuInfo?: {
849
- description: string;
850
- memoryMegaBytes: number;
851
- }[];
852
- dpcRecord?: string[];
853
- mediaLabels?: string[];
854
- screenResolution?: number;
855
- screenWidth?: number;
856
- screenHeight?: number;
857
- appWindowSize?: number;
858
- appWindowHeight?: number;
859
- appWindowWidth?: number;
860
- meetingUserCount?: number;
861
- videoUserCount?: number;
862
- numScreens?: number;
863
- configuredBitrate?: number;
864
- };
865
- audioTransmit: {
866
- /**
867
- * contains the transmit related fields common between all session types for each interval
868
- */
869
- common: {
870
- /**
871
- * contains the fields common to both transmit and receive sessions for each interval
872
- */
873
- common: {
874
- isMain: boolean;
875
- mariFecEnabled: boolean;
876
- mariRtxEnabled?: boolean;
877
- mariQosEnabled: boolean;
878
- mariLiteEnabled?: boolean;
879
- multistreamEnabled: boolean;
880
- isMediaBypassEdge?: boolean;
881
- direction: "sendrecv" | "sendonly" | "recvonly" | "inactive";
882
- localPort?: number;
883
- peerReflexivePort?: number;
884
- remotePort?: number;
885
- };
886
- fecPackets: number;
887
- fecBitrate: number;
888
- rtxPackets?: number;
889
- rtxBitrate?: number;
890
- rtpPackets: number;
891
- rtpBitrate: number;
892
- rtcpPackets: number;
893
- rtcpBitrate: number;
894
- /**
895
- * RTCP Information for a given Interval
896
- */
897
- txRtcpInfo?: {
898
- rtcpSrPackets: number;
899
- rtcpRrPackets: number;
900
- rtcpReportBlocks: number;
901
- rtcpSdesPackets: number;
902
- rtcpByePackets: number;
903
- rtcpAppPackets: number;
904
- rtcpRtpFbPacket: number;
905
- rtcpPsFbPackets: number;
906
- rtcpPsFbMariPackets: number;
907
- rtcpPsFbMultistreamPackets: number;
908
- rtcpXrPackets: number;
909
- };
910
- stunPackets: number;
911
- stunBitrate: number;
912
- dtlsPackets: number;
913
- dtlsBitrate: number;
914
- transportType: "UDP" | "TCP" | "xTLS" | "TLS";
915
- maxBitrate: number;
916
- availableBitrate: number;
917
- queueDelay: number;
918
- meanRoundTripTime?: number;
919
- maxRoundTripTime?: number;
920
- roundTripTime: number;
921
- remoteReceiveRate?: number;
922
- maxRemoteLossRate?: number;
923
- remoteLossRate?: number;
924
- meanRemoteLossRate?: number;
925
- maxRemoteJitter?: number;
926
- remoteJitter?: number;
927
- meanRemoteJitter?: number;
928
- traversalMinDelayMs?: number;
929
- traversalMaxDelayMs?: number;
930
- traversalMeanDelayMs?: number;
931
- rtpInputFifoDelayMs?: number;
932
- rtpInputFifoMaxDelayMs?: number;
933
- rtpInputFifoMinDelayMs?: number;
934
- rtpInputFifoMeanDelayMs?: number;
935
- };
936
- streams: {
937
- /**
938
- * contains fields common to all transmit streams types
939
- */
940
- common: {
941
- ssci: number;
942
- duplicateSsci?: number;
943
- rtpPackets: number;
944
- transmittedFrameRate: number;
945
- requestedFrames: number;
946
- transmittedBitrate: number;
947
- requestedBitrate: number;
948
- captureOffset?: number;
949
- codec: string;
950
- csi?: number[];
951
- /**
952
- * This object tracks SSRC and CSRC changes for an RTP stream, session, etc
953
- */
954
- sourceChanges?: {
955
- /**
956
- * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.
957
- */
958
- ssrcChanges: number;
959
- /**
960
- * The number of RTP CSRC changes seen. The first RTP packet seen should NOT be counted as a change. Changes from zero to non-zero CSRC should be counted as a change.
961
- */
962
- csrcChanges: number;
963
- };
964
- largeSceneChangeCount?: number;
965
- };
966
- backgroundNoiseReductionMode?:
967
- | "AUDIO_BACKGROUND_NOISE_REDUCTION_NONE"
968
- | "AUDIO_BACKGROUND_NOISE_REDUCTION_HIGH_PERFORMANCE"
969
- | "AUDIO_BACKGROUND_NOISE_REDUCTION_LOW_POWER"
970
- | "AUDIO_BACKGROUND_NOISE_REDUCTION_AUTO_HIGH_PERFORMANCE"
971
- | "AUDIO_BACKGROUND_NOISE_REDUCTION_AUTO_LOW_POWER";
972
- backgroundNoiseReductionTalkerMode?:
973
- | "AUDIO_BACKGROUND_NOISE_REDUCTION_TALKER_NONE"
974
- | "AUDIO_BACKGROUND_NOISE_REDUCTION_CLASSIC_MODE"
975
- | "AUDIO_BACKGROUND_NOISE_REDUCTION_SINGLE_TALKER_MODE"
976
- | "AUDIO_BACKGROUND_NOISE_REDUCTION_MULTI_TALKER_MODE"
977
- | "AUDIO_BACKGROUND_NOISE_REDUCTION_MUSIC_MODE";
978
- audioTXSPCStatus?: "AUDIO_SPC_STATUS_DISABLED" | "AUDIO_SPC_STATUS_SUSPENDED" | "AUDIO_SPC_STATUS_ENABLED";
979
- audioTXSPCLevel?:
980
- | "AUDIO_NONE"
981
- | "AUDIO_LOW"
982
- | "AUDIO_MEDIUM"
983
- | "AUDIO_NORMAL"
984
- | "AUDIO_HIGH"
985
- | "AUDIO_HIGHPLUS"
986
- | "AUDIO_TOP";
987
- /**
988
- * audio encoder engine performance data
989
- */
990
- audioEncoderEngineInfo?: {
991
- /**
992
- * The number of audio packets sent to the encoder buffer
993
- */
994
- encoderBufferPacket?: number;
995
- /**
996
- * The number of dropped audio packets before sent to the encoder buffer
997
- */
998
- encoderBufferDroppedPacket?: number;
999
- /**
1000
- * The average processing time (microseconds) on background noise reduction (BNR)
1001
- */
1002
- averageBNRProcessTime?: number;
1003
- /**
1004
- * The average processing time (microseconds) on audio encoder pipeline
1005
- */
1006
- averageEncoderProcessTime?: number;
1007
- };
1008
- /**
1009
- * audio transmitted algorithm modules performance data(AEC,AGC,NR,MultiChannelPreprocess)
1010
- */
1011
- audioAlgorithmModulesInfo?: {
1012
- /**
1013
- * one char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB
1014
- */
1015
- aecNearPower: number;
1016
- /**
1017
- * one char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB
1018
- */
1019
- aecFarPower: number;
1020
- /**
1021
- * one char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB
1022
- */
1023
- aecLinearOutPower?: number;
1024
- /**
1025
- * one char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB
1026
- */
1027
- aecOutPower?: number;
1028
- /**
1029
- * one char every 1 minute, 0 indicate 54dB, plus 1 indicate +0.5dB
1030
- */
1031
- aecERLE?: number;
1032
- /**
1033
- * one char every 1 minute, 0 indicate 0dB, plus 1 indicate +0.5dB
1034
- */
1035
- aecERL?: number;
1036
- /**
1037
- * one char every 1 minute, 0 indicate 54dB, plus 1 indicate +0.5dB
1038
- */
1039
- linearAecERLE?: number;
1040
- /**
1041
- * one char every 1 minute, 0 indicate 0ms, plus 1 indicate 10ms
1042
- */
1043
- estDelay?: number;
1044
- /**
1045
- * one char every 1 minute
1046
- */
1047
- aecType?: number;
1048
- /**
1049
- * one unsigned short every 1 minute
1050
- */
1051
- aecCostTime?: number;
1052
- /**
1053
- * one unsigned short every 1 minute
1054
- */
1055
- multichannelChangedDelay?: number;
1056
- /**
1057
- * one unsigend char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB
1058
- */
1059
- multichannelDelaySumOutPower?: number;
1060
- /**
1061
- * one unsigend char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB
1062
- */
1063
- multichannelAverageOutPower?: number;
1064
- /**
1065
- * one unsigned char every 1 minute, 0 for 0dB, plus 1 for -0.5dB
1066
- */
1067
- speechRMS?: number;
1068
- /**
1069
- * one unsigned char every 1 minute, 0 for 0s, plus 4 for +1s
1070
- */
1071
- speechLength?: number;
1072
- /**
1073
- * one unsigned char every 1 minute, VAD value to reflect speech quality
1074
- */
1075
- speechQuality?: number;
1076
- /**
1077
- * one char every 1 minute.
1078
- */
1079
- remoteIOStatus?: number;
1080
- /**
1081
- * one char every 1 minute
1082
- */
1083
- multichannelPreprocessEnabled?: number;
1084
- /**
1085
- * one char every 1 minute
1086
- */
1087
- bypassWindowsAPOAllowListEnabled?: number;
1088
- /**
1089
- * one char every 1 minute, 0 for 0dB, plus 1 for 0.5dB
1090
- */
1091
- bnrSNR?: number;
1092
- /**
1093
- * one unsigned short every 1 minute
1094
- */
1095
- bnrTRN?: number;
1096
- /**
1097
- * one short every 1 minute
1098
- */
1099
- ftTotal?: number;
1100
- /**
1101
- * one short every 1 minute
1102
- */
1103
- noiseTotal?: number;
1104
- /**
1105
- * one short every 1 minute
1106
- */
1107
- echoTotal?: number;
1108
- /**
1109
- * one short every 1 minute
1110
- */
1111
- ftLeakage?: number;
1112
- /**
1113
- * one short every 1 minute
1114
- */
1115
- noiseLeakage?: number;
1116
- /**
1117
- * one short every 1 minute
1118
- */
1119
- echoLeakage?: number;
1120
- /**
1121
- * one char every 1 minute, 0 indicate 0db, plus 1 indicate 0.0472dB.
1122
- */
1123
- multichannelDelaySumAndDirectMixRMSRatio?: number;
1124
- windowsAPOBypassed?: boolean;
1125
- /**
1126
- * one short every 1 minute
1127
- */
1128
- aecStereoStatus?: number;
1129
- };
1130
- /**
1131
- * audio transmit pipeline modules' quality metric
1132
- */
1133
- audioModuleQualityInfo?: {
1134
- /**
1135
- * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB
1136
- */
1137
- aecNearPower?: number[];
1138
- /**
1139
- * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB
1140
- */
1141
- aecLinearOutPower?: number[];
1142
- /**
1143
- * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB
1144
- */
1145
- aecOutPower?: number[];
1146
- /**
1147
- * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB
1148
- */
1149
- aecFarPower?: number[];
1150
- /**
1151
- * One char every 2 seconds.
1152
- */
1153
- aecStatus?: number[];
1154
- /**
1155
- * one char every 2 seconds.
1156
- */
1157
- bblOutPower?: number[];
1158
- /**
1159
- * one char every 2 seconds
1160
- */
1161
- volumeAndDelay?: number[];
1162
- /**
1163
- * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB
1164
- */
1165
- agcOutPower?: number[];
1166
- /**
1167
- * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB
1168
- */
1169
- agcAvgOutPower?: number[];
1170
- /**
1171
- * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB
1172
- */
1173
- agcAvgInputPower?: number[];
1174
- /**
1175
- * one char every 1 minute.
1176
- */
1177
- agcType?: number;
1178
- };
1179
- audioCaptureMethod?: "AUDIO_ANDROID_JAVA_METHOD" | "AUDIO_ANDROID_AAUDIO_METHOD";
1180
- }[];
1181
- /**
1182
- * information about tracked audio levels
1183
- */
1184
- levels?: {
1185
- /**
1186
- * The average audio input gain for a microphone or speaker, in decibels
1187
- */
1188
- audioMeanGain?: number;
1189
- /**
1190
- * The minimum audio input gain for a microphone or speaker, in decibels
1191
- */
1192
- audioMinGain?: number;
1193
- /**
1194
- * The maximum audio input gain for a microphone or speaker, in decibels
1195
- */
1196
- audioMaxGain?: number;
1197
- /**
1198
- * The mean audio output volume for a microphone or speaker, in absolute volume [0-65535]
1199
- */
1200
- audioMeanVolume?: number;
1201
- /**
1202
- * The min audio output volume for a microphone or speaker, in absolute volume [0-65535]
1203
- */
1204
- audioMinVolume?: number;
1205
- /**
1206
- * The max audio output volume for a microphone or speaker, in absolute volume [0-65535]
1207
- */
1208
- audioMaxVolume?: number;
1209
- };
1210
- captureHardwareProvidedAudioPacketsPerSecond?: number;
1211
- sharedAudioPacketsPerSecond?: number;
1212
- mediaFoundationState?: number;
1213
- }[];
1214
- videoTransmit: {
1215
- /**
1216
- * contains the transmit related fields common between all session types for each interval
1217
- */
1218
- common: {
1219
- /**
1220
- * contains the fields common to both transmit and receive sessions for each interval
1221
- */
1222
- common: {
1223
- isMain: boolean;
1224
- mariFecEnabled: boolean;
1225
- mariRtxEnabled?: boolean;
1226
- mariQosEnabled: boolean;
1227
- mariLiteEnabled?: boolean;
1228
- multistreamEnabled: boolean;
1229
- isMediaBypassEdge?: boolean;
1230
- direction: "sendrecv" | "sendonly" | "recvonly" | "inactive";
1231
- localPort?: number;
1232
- peerReflexivePort?: number;
1233
- remotePort?: number;
1234
- };
1235
- fecPackets: number;
1236
- fecBitrate: number;
1237
- rtxPackets?: number;
1238
- rtxBitrate?: number;
1239
- rtpPackets: number;
1240
- rtpBitrate: number;
1241
- rtcpPackets: number;
1242
- rtcpBitrate: number;
1243
- /**
1244
- * RTCP Information for a given Interval
1245
- */
1246
- txRtcpInfo?: {
1247
- rtcpSrPackets: number;
1248
- rtcpRrPackets: number;
1249
- rtcpReportBlocks: number;
1250
- rtcpSdesPackets: number;
1251
- rtcpByePackets: number;
1252
- rtcpAppPackets: number;
1253
- rtcpRtpFbPacket: number;
1254
- rtcpPsFbPackets: number;
1255
- rtcpPsFbMariPackets: number;
1256
- rtcpPsFbMultistreamPackets: number;
1257
- rtcpXrPackets: number;
1258
- };
1259
- stunPackets: number;
1260
- stunBitrate: number;
1261
- dtlsPackets: number;
1262
- dtlsBitrate: number;
1263
- transportType: "UDP" | "TCP" | "xTLS" | "TLS";
1264
- maxBitrate: number;
1265
- availableBitrate: number;
1266
- queueDelay: number;
1267
- meanRoundTripTime?: number;
1268
- maxRoundTripTime?: number;
1269
- roundTripTime: number;
1270
- remoteReceiveRate?: number;
1271
- maxRemoteLossRate?: number;
1272
- remoteLossRate?: number;
1273
- meanRemoteLossRate?: number;
1274
- maxRemoteJitter?: number;
1275
- remoteJitter?: number;
1276
- meanRemoteJitter?: number;
1277
- traversalMinDelayMs?: number;
1278
- traversalMaxDelayMs?: number;
1279
- traversalMeanDelayMs?: number;
1280
- rtpInputFifoDelayMs?: number;
1281
- rtpInputFifoMaxDelayMs?: number;
1282
- rtpInputFifoMinDelayMs?: number;
1283
- rtpInputFifoMeanDelayMs?: number;
1284
- };
1285
- streams: {
1286
- /**
1287
- * contains fields common to all transmit streams types
1288
- */
1289
- common: {
1290
- ssci: number;
1291
- duplicateSsci?: number;
1292
- rtpPackets: number;
1293
- transmittedFrameRate: number;
1294
- requestedFrames: number;
1295
- transmittedBitrate: number;
1296
- requestedBitrate: number;
1297
- captureOffset?: number;
1298
- codec: string;
1299
- csi?: number[];
1300
- /**
1301
- * This object tracks SSRC and CSRC changes for an RTP stream, session, etc
1302
- */
1303
- sourceChanges?: {
1304
- /**
1305
- * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.
1306
- */
1307
- ssrcChanges: number;
1308
- /**
1309
- * The number of RTP CSRC changes seen. The first RTP packet seen should NOT be counted as a change. Changes from zero to non-zero CSRC should be counted as a change.
1310
- */
1311
- csrcChanges: number;
1312
- };
1313
- largeSceneChangeCount?: number;
1314
- };
1315
- transmittedFrameSize: number;
1316
- requestedFrameSize: number;
1317
- transmittedHeight: number;
1318
- transmittedWidth: number;
1319
- transmittedKeyFrames: number;
1320
- requestedKeyFrames: number;
1321
- transmittedKeyFramesFeedback?: number;
1322
- transmittedKeyFramesConfigurationChange?: number;
1323
- transmittedKeyFramesSceneChange?: number;
1324
- transmittedKeyFramesOtherLayer?: number;
1325
- transmittedKeyFramesClient?: number;
1326
- transmittedKeyFramesPeriodic?: number;
1327
- transmittedKeyFramesLocalDrop?: number;
1328
- transmittedKeyFramesStartup?: number;
1329
- transmittedKeyFramesUnknown?: number;
1330
- transmittedKeyFramesEncLayerIndexChange?: number;
1331
- transmittedKeyFramesSwitchingPoint?: number;
1332
- localConfigurationChanges: number;
1333
- remoteConfigurationChanges: number;
1334
- h264CodecProfile: "BP" | "CHP";
1335
- isAvatar?: boolean;
1336
- /**
1337
- * video encode quality metrics
1338
- */
1339
- encodeQuality?: {
1340
- minRegionQp: number;
1341
- maxFrameQp: number;
1342
- maxNoiseLevel: number;
1343
- };
1344
- /**
1345
- * video transmit downgrade reasons
1346
- */
1347
- downgradeReason?: {
1348
- isCamera: boolean;
1349
- isNetwork: boolean;
1350
- isCpu: boolean;
1351
- isRequested?: boolean;
1352
- isUser?: boolean;
1353
- isHardware?: boolean;
1354
- };
1355
- isHardwareEncoded?: boolean;
1356
- backgroundAugmentationType?:
1357
- | "VIDEO_BACKGROUND_AUGMENT_NONE"
1358
- | "VIDEO_BACKGROUND_AUGMENT_BLUR"
1359
- | "VIDEO_BACKGROUND_AUGMENT_REPLACE_IMAGE"
1360
- | "VIDEO_BACKGROUND_AUGMENT_REPLACE_VIDEO"
1361
- | "VIDEO_BACKGROUND_AUGMENT_BLUR_INHOUSE"
1362
- | "VIDEO_BACKGROUND_AUGMENT_REPLACE_IMAGE_INHOUSE"
1363
- | "VIDEO_BACKGROUND_AUGMENT_REPLACE_VIDEO_INHOUSE";
1364
- backgroundAugmentationFrameworkType?:
1365
- | "VIDEO_VBG_FRAMEWORK_NONE"
1366
- | "VIDEO_VBG_FRAMEWORK_COREML"
1367
- | "VIDEO_VBG_FRAMEWORK_METAL"
1368
- | "VIDEO_VBG_FRAMEWORK_CBASED"
1369
- | "VIDEO_VBG_FRAMEWORK_OPENVINO"
1370
- | "VIDEO_VBG_FRAMEWORK_COREML_LADON"
1371
- | "VIDEO_VBG_FRAMEWORK_METAL_LADON"
1372
- | "VIDEO_VBG_FRAMEWORK_CBASED_LADON"
1373
- | "VIDEO_VBG_FRAMEWORK_OPENVINO_LADON";
1374
- /**
1375
- * transmit video pipeline performance metric
1376
- */
1377
- encoderProcessInfo?: {
1378
- meanEncoderProcessMillis: number;
1379
- maxEncoderProcessMillis: number;
1380
- meanVbgProcessMillis?: number;
1381
- maxVbgProcessMillis?: number;
1382
- };
1383
- backgroundAugmentationModelVersion?: string;
1384
- isGestureDetectorOn?: boolean;
1385
- capturedFrameRateNormalShare?: number;
1386
- capturedFrameRateHFPSShare?: number;
1387
- transmittedFrameRateNormalShare?: number;
1388
- transmittedFrameRateHFPSShare?: number;
1389
- /**
1390
- * the method use to capture the screen for screen sharing
1391
- */
1392
- screenCaptureMode?:
1393
- | "Unknown"
1394
- | "Default"
1395
- | "MAG"
1396
- | "DUP"
1397
- | "AVF"
1398
- | "CGS"
1399
- | "GDI"
1400
- | "DIRECTX"
1401
- | "WINDOW"
1402
- | "SCK";
1403
- processShareContentDetectMillis?: number;
1404
- }[];
1405
- }[];
1406
- audioReceive: {
1407
- /**
1408
- * contains the receive related fields between all sessions types for each interval.
1409
- */
1410
- common: {
1411
- /**
1412
- * contains the fields common to both transmit and receive sessions for each interval
1413
- */
1414
- common: {
1415
- isMain: boolean;
1416
- mariFecEnabled: boolean;
1417
- mariRtxEnabled?: boolean;
1418
- mariQosEnabled: boolean;
1419
- mariLiteEnabled?: boolean;
1420
- multistreamEnabled: boolean;
1421
- isMediaBypassEdge?: boolean;
1422
- direction: "sendrecv" | "sendonly" | "recvonly" | "inactive";
1423
- localPort?: number;
1424
- peerReflexivePort?: number;
1425
- remotePort?: number;
1426
- };
1427
- fecPackets: number;
1428
- fecBitrate: number;
1429
- rtxPackets?: number;
1430
- rtxBitrate?: number;
1431
- meanRtxDelay?: number;
1432
- maxRtxDelay?: number;
1433
- rtpPackets: number;
1434
- rtpBitrate: number;
1435
- rtpHopByHopLost: number;
1436
- mediaHopByHopLost: number;
1437
- rtpRecovered: number;
1438
- rtxRecovered?: number;
1439
- rtcpPackets: number;
1440
- rtcpBitrate: number;
1441
- /**
1442
- * RTCP Information for a given Interval
1443
- */
1444
- rxRtcpInfo?: {
1445
- rtcpSrPackets: number;
1446
- rtcpRrPackets: number;
1447
- rtcpReportBlocks: number;
1448
- rtcpSdesPackets: number;
1449
- rtcpByePackets: number;
1450
- rtcpAppPackets: number;
1451
- rtcpRtpFbPacket: number;
1452
- rtcpPsFbPackets: number;
1453
- rtcpPsFbMariPackets: number;
1454
- rtcpPsFbMultistreamPackets: number;
1455
- rtcpXrPackets: number;
1456
- };
1457
- stunPackets: number;
1458
- stunBitrate: number;
1459
- dtlsPackets: number;
1460
- dtlsBitrate: number;
1461
- transportType: "UDP" | "TCP" | "xTLS" | "TLS";
1462
- maxBitrate: number;
1463
- srtpUnprotectErrors: number;
1464
- /**
1465
- * SRTP/SRTCP unprotect error details
1466
- */
1467
- srtpUnprotectErrorDetails?: {
1468
- authFailures: number;
1469
- cipherFailures: number;
1470
- replayFailures: number;
1471
- unknownFailures: number;
1472
- };
1473
- srtcpUnprotectErrors: number;
1474
- /**
1475
- * SRTP/SRTCP unprotect error details
1476
- */
1477
- srtcpUnprotectErrorDetails?: {
1478
- authFailures: number;
1479
- cipherFailures: number;
1480
- replayFailures: number;
1481
- unknownFailures: number;
1482
- };
1483
- };
1484
- streams: {
1485
- /**
1486
- * contains fields common to all types of receive stream
1487
- */
1488
- common: {
1489
- ssci: number;
1490
- rtpPackets: number;
1491
- rtpEndToEndLost: number;
1492
- concealedFrames: number;
1493
- maxConcealRunLength: number;
1494
- receivedFrameRate: number;
1495
- renderedFrameRate: number;
1496
- requestedFrameRate: number;
1497
- optimalFrameRate: number;
1498
- meanRtpJitter?: number;
1499
- maxRtpJitter?: number;
1500
- rtpJitter?: number;
1501
- receivedBitrate: number;
1502
- requestedBitrate: number;
1503
- optimalBitrate: number;
1504
- durationForSpeedChanged?: number;
1505
- endToEndTransmitDelay?: number;
1506
- csi: number[];
1507
- codec: string;
1508
- /**
1509
- * This object tracks SSRC and CSRC changes for an RTP stream, session, etc
1510
- */
1511
- sourceChanges?: {
1512
- /**
1513
- * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.
1514
- */
1515
- ssrcChanges: number;
1516
- /**
1517
- * The number of RTP CSRC changes seen. The first RTP packet seen should NOT be counted as a change. Changes from zero to non-zero CSRC should be counted as a change.
1518
- */
1519
- csrcChanges: number;
1520
- };
1521
- /**
1522
- * The object tracks the detail reasons by which concealment is caused. The unit of metrics depend on upper-level objects. Currently, packet or frame can be used as unit.
1523
- */
1524
- concealmentReasonByPacket?: {
1525
- /**
1526
- * concealment caused by network loss
1527
- */
1528
- byNetwork?: number;
1529
- /**
1530
- * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.
1531
- */
1532
- byOverflow?: number;
1533
- /**
1534
- * concealment caused by buffer is reset.
1535
- */
1536
- byReset?: number;
1537
- /**
1538
- * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.
1539
- */
1540
- byLate?: number;
1541
- /**
1542
- * concealment caused by poor performance.
1543
- */
1544
- byPoorPerformance?: number;
1545
- /**
1546
- * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.
1547
- */
1548
- byIncreasedDelay?: number;
1549
- /**
1550
- * only for video. concealment caused by AV sync
1551
- */
1552
- byAVSync?: number;
1553
- /**
1554
- * only for video. Some video frames which have not been complete are forced to pop up because the subsequent frame has been complete. This cause video concealment.
1555
- */
1556
- byPrevFramePopped?: number;
1557
- /**
1558
- * concealment caused by the other unknown reasons
1559
- */
1560
- byOthers?: number;
1561
- };
1562
- /**
1563
- * The object tracks the detail reasons by which concealment is caused. The unit of metrics depend on upper-level objects. Currently, packet or frame can be used as unit.
1564
- */
1565
- concealmentReasonByFrame?: {
1566
- /**
1567
- * concealment caused by network loss
1568
- */
1569
- byNetwork?: number;
1570
- /**
1571
- * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.
1572
- */
1573
- byOverflow?: number;
1574
- /**
1575
- * concealment caused by buffer is reset.
1576
- */
1577
- byReset?: number;
1578
- /**
1579
- * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.
1580
- */
1581
- byLate?: number;
1582
- /**
1583
- * concealment caused by poor performance.
1584
- */
1585
- byPoorPerformance?: number;
1586
- /**
1587
- * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.
1588
- */
1589
- byIncreasedDelay?: number;
1590
- /**
1591
- * only for video. concealment caused by AV sync
1592
- */
1593
- byAVSync?: number;
1594
- /**
1595
- * only for video. Some video frames which have not been complete are forced to pop up because the subsequent frame has been complete. This cause video concealment.
1596
- */
1597
- byPrevFramePopped?: number;
1598
- /**
1599
- * concealment caused by the other unknown reasons
1600
- */
1601
- byOthers?: number;
1602
- };
1603
- /**
1604
- * the number of consecutive concealment time which is larger than the threshold in one minute. Currently, 60 and 120 ms are used as the threshold.
1605
- */
1606
- interruptCount?: {
1607
- /**
1608
- * interrupt count longer than 60 ms in one minute
1609
- */
1610
- longerThan60?: number;
1611
- /**
1612
- * interrupt count longer than 120 ms in one minute
1613
- */
1614
- longerThan120?: number;
1615
- };
1616
- /**
1617
- * This object tracks the delay associated with a jitter buffer
1618
- */
1619
- jitterBufferDelay?: {
1620
- /**
1621
- * The average delay (in milliseconds) used by the jitter buffer
1622
- */
1623
- meanDelay: number;
1624
- /**
1625
- * The maximum delay (in milliseconds) used by the jitter buffer
1626
- */
1627
- maxDelay: number;
1628
- /**
1629
- * The minimum delay (in milliseconds) used by the jitter buffer
1630
- */
1631
- minDelay: number;
1632
- };
1633
- /**
1634
- * This object tracks the the end to end delay(the delay between capture time of sender side and render time of receiver side)
1635
- */
1636
- endToEndDelay?: {
1637
- /**
1638
- * The average delay (in milliseconds) from end to end
1639
- */
1640
- meanDelay: number;
1641
- /**
1642
- * The maximum delay (in milliseconds) from end to end
1643
- */
1644
- maxDelay: number;
1645
- /**
1646
- * The minimum delay (in milliseconds) from end to end
1647
- */
1648
- minDelay: number;
1649
- };
1650
- /**
1651
- * Aggregated end to end delay representing the mean, max, min delay group by csi
1652
- */
1653
- endToEndDelayByCsi?: {
1654
- csi?: number;
1655
- delay?: unknown;
1656
- }[];
1657
- };
1658
- isRxCallBackgroundNoiseReductionModeOn?: boolean;
1659
- isMeasureSNROn?: boolean;
1660
- averageSNRValue?: number;
1661
- /**
1662
- * contains fields for QOEM MOS score
1663
- */
1664
- audioqoem?: {
1665
- version: string;
1666
- /**
1667
- * Average Estimated Mean Opinion Score by considering network’s jitter, loss etc.
1668
- */
1669
- averageNetMOS: number;
1670
- /**
1671
- * Min Estimated Mean Opinion score by considering network’s jitter, loss etc.
1672
- */
1673
- minNetMOS: number;
1674
- /**
1675
- * Average Estimated Mean Opinion Score jitter buffer’s status, such as drop packet, do PLC, do recover etc.
1676
- */
1677
- averageJitterMOS: number;
1678
- /**
1679
- * Min Estimated Mean Opinion Score jitter buffer’s status, such as drop packet, do PLC, do recover etc.
1680
- */
1681
- minJitterMOS: number;
1682
- /**
1683
- * Perceptual Evaluation of Speech Quality - Listening Quality Objective (PESQ-LQO)
1684
- */
1685
- pesqLQO?: number;
1686
- };
1687
- audioPlaybackMethod?: "AUDIO_ANDROID_JAVA_METHOD" | "AUDIO_ANDROID_AAUDIO_METHOD";
1688
- /**
1689
- * audio received algorithm modules performance data(AGC,NR,MultiChannelPreprocess)
1690
- */
1691
- audioAlgorithmModulesInfo?: {
1692
- /**
1693
- * one unsigned char every 1 minute, 0 for 0dB, plus 1 for -0.5dB
1694
- */
1695
- speechRMS?: number;
1696
- /**
1697
- * one unsigned char every 1 minute, 0 for 0s, plus 4 for +1s
1698
- */
1699
- speechLength?: number;
1700
- /**
1701
- * one unsigned char every 1 minute, VAD value to reflect speech quality
1702
- */
1703
- speechQuality?: number;
1704
- /**
1705
- * one unsigned short every 1 minute
1706
- */
1707
- bnrTRN?: number;
1708
- /**
1709
- * one float every 1 minute, in milliseconds
1710
- */
1711
- averageSEProcessTime?: number;
1712
- /**
1713
- * one unsigned char every 1 minute, in seconds
1714
- */
1715
- bnrLength?: number;
1716
- /**
1717
- * one unsigned char every 1 minute, in seconds
1718
- */
1719
- bweLength?: number;
1720
- /**
1721
- * one unsigned char every 1 minute, in seconds
1722
- */
1723
- mohLength?: number;
1724
- /**
1725
- * one unsigned char every 1 minute, in seconds
1726
- */
1727
- beepLength?: number;
1728
- };
1729
- /**
1730
- * audio receive pipeline modules' quality metric
1731
- */
1732
- audioModuleQualityInfo?: {
1733
- /**
1734
- * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB
1735
- */
1736
- agcOutPower?: number[];
1737
- /**
1738
- * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB
1739
- */
1740
- agcAvgOutPower?: number[];
1741
- };
1742
- /**
1743
- * This object tracks the the audio video sync data, to see whether the video timestamp is matching with audio timestamp
1744
- */
1745
- avSync?: {
1746
- /**
1747
- * Compared with audio, the maximum video delay time (in milliseconds) in last interval
1748
- */
1749
- maxVideoLateInterval?: number;
1750
- /**
1751
- * Compared with audio, the maximum video early time (in milliseconds) in last interval
1752
- */
1753
- maxVideoEarlyInterval?: number;
1754
- /**
1755
- * Compared with audio, the unsync video frames get played out / total frames
1756
- */
1757
- decidePlayedUnsyncRatio?: number;
1758
- };
1759
- }[];
1760
- /**
1761
- * information about tracked audio levels
1762
- */
1763
- levels?: {
1764
- /**
1765
- * The average audio input gain for a microphone or speaker, in decibels
1766
- */
1767
- audioMeanGain?: number;
1768
- /**
1769
- * The minimum audio input gain for a microphone or speaker, in decibels
1770
- */
1771
- audioMinGain?: number;
1772
- /**
1773
- * The maximum audio input gain for a microphone or speaker, in decibels
1774
- */
1775
- audioMaxGain?: number;
1776
- /**
1777
- * The mean audio output volume for a microphone or speaker, in absolute volume [0-65535]
1778
- */
1779
- audioMeanVolume?: number;
1780
- /**
1781
- * The min audio output volume for a microphone or speaker, in absolute volume [0-65535]
1782
- */
1783
- audioMinVolume?: number;
1784
- /**
1785
- * The max audio output volume for a microphone or speaker, in absolute volume [0-65535]
1786
- */
1787
- audioMaxVolume?: number;
1788
- };
1789
- playbackHardwareRequiredAudioPacketsPerSecond?: number;
1790
- }[];
1791
- videoReceive: {
1792
- /**
1793
- * contains the receive related fields between all sessions types for each interval.
1794
- */
1795
- common: {
1796
- /**
1797
- * contains the fields common to both transmit and receive sessions for each interval
1798
- */
1799
- common: {
1800
- isMain: boolean;
1801
- mariFecEnabled: boolean;
1802
- mariRtxEnabled?: boolean;
1803
- mariQosEnabled: boolean;
1804
- mariLiteEnabled?: boolean;
1805
- multistreamEnabled: boolean;
1806
- isMediaBypassEdge?: boolean;
1807
- direction: "sendrecv" | "sendonly" | "recvonly" | "inactive";
1808
- localPort?: number;
1809
- peerReflexivePort?: number;
1810
- remotePort?: number;
1811
- };
1812
- fecPackets: number;
1813
- fecBitrate: number;
1814
- rtxPackets?: number;
1815
- rtxBitrate?: number;
1816
- meanRtxDelay?: number;
1817
- maxRtxDelay?: number;
1818
- rtpPackets: number;
1819
- rtpBitrate: number;
1820
- rtpHopByHopLost: number;
1821
- mediaHopByHopLost: number;
1822
- rtpRecovered: number;
1823
- rtxRecovered?: number;
1824
- rtcpPackets: number;
1825
- rtcpBitrate: number;
1826
- /**
1827
- * RTCP Information for a given Interval
1828
- */
1829
- rxRtcpInfo?: {
1830
- rtcpSrPackets: number;
1831
- rtcpRrPackets: number;
1832
- rtcpReportBlocks: number;
1833
- rtcpSdesPackets: number;
1834
- rtcpByePackets: number;
1835
- rtcpAppPackets: number;
1836
- rtcpRtpFbPacket: number;
1837
- rtcpPsFbPackets: number;
1838
- rtcpPsFbMariPackets: number;
1839
- rtcpPsFbMultistreamPackets: number;
1840
- rtcpXrPackets: number;
1841
- };
1842
- stunPackets: number;
1843
- stunBitrate: number;
1844
- dtlsPackets: number;
1845
- dtlsBitrate: number;
1846
- transportType: "UDP" | "TCP" | "xTLS" | "TLS";
1847
- maxBitrate: number;
1848
- srtpUnprotectErrors: number;
1849
- /**
1850
- * SRTP/SRTCP unprotect error details
1851
- */
1852
- srtpUnprotectErrorDetails?: {
1853
- authFailures: number;
1854
- cipherFailures: number;
1855
- replayFailures: number;
1856
- unknownFailures: number;
1857
- };
1858
- srtcpUnprotectErrors: number;
1859
- /**
1860
- * SRTP/SRTCP unprotect error details
1861
- */
1862
- srtcpUnprotectErrorDetails?: {
1863
- authFailures: number;
1864
- cipherFailures: number;
1865
- replayFailures: number;
1866
- unknownFailures: number;
1867
- };
1868
- };
1869
- streams: {
1870
- /**
1871
- * contains fields common to all types of receive stream
1872
- */
1873
- common: {
1874
- ssci: number;
1875
- rtpPackets: number;
1876
- rtpEndToEndLost: number;
1877
- concealedFrames: number;
1878
- maxConcealRunLength: number;
1879
- receivedFrameRate: number;
1880
- renderedFrameRate: number;
1881
- requestedFrameRate: number;
1882
- optimalFrameRate: number;
1883
- meanRtpJitter?: number;
1884
- maxRtpJitter?: number;
1885
- rtpJitter?: number;
1886
- receivedBitrate: number;
1887
- requestedBitrate: number;
1888
- optimalBitrate: number;
1889
- durationForSpeedChanged?: number;
1890
- endToEndTransmitDelay?: number;
1891
- csi: number[];
1892
- codec: string;
1893
- /**
1894
- * This object tracks SSRC and CSRC changes for an RTP stream, session, etc
1895
- */
1896
- sourceChanges?: {
1897
- /**
1898
- * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.
1899
- */
1900
- ssrcChanges: number;
1901
- /**
1902
- * The number of RTP CSRC changes seen. The first RTP packet seen should NOT be counted as a change. Changes from zero to non-zero CSRC should be counted as a change.
1903
- */
1904
- csrcChanges: number;
1905
- };
1906
- /**
1907
- * The object tracks the detail reasons by which concealment is caused. The unit of metrics depend on upper-level objects. Currently, packet or frame can be used as unit.
1908
- */
1909
- concealmentReasonByPacket?: {
1910
- /**
1911
- * concealment caused by network loss
1912
- */
1913
- byNetwork?: number;
1914
- /**
1915
- * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.
1916
- */
1917
- byOverflow?: number;
1918
- /**
1919
- * concealment caused by buffer is reset.
1920
- */
1921
- byReset?: number;
1922
- /**
1923
- * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.
1924
- */
1925
- byLate?: number;
1926
- /**
1927
- * concealment caused by poor performance.
1928
- */
1929
- byPoorPerformance?: number;
1930
- /**
1931
- * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.
1932
- */
1933
- byIncreasedDelay?: number;
1934
- /**
1935
- * only for video. concealment caused by AV sync
1936
- */
1937
- byAVSync?: number;
1938
- /**
1939
- * only for video. Some video frames which have not been complete are forced to pop up because the subsequent frame has been complete. This cause video concealment.
1940
- */
1941
- byPrevFramePopped?: number;
1942
- /**
1943
- * concealment caused by the other unknown reasons
1944
- */
1945
- byOthers?: number;
1946
- };
1947
- /**
1948
- * The object tracks the detail reasons by which concealment is caused. The unit of metrics depend on upper-level objects. Currently, packet or frame can be used as unit.
1949
- */
1950
- concealmentReasonByFrame?: {
1951
- /**
1952
- * concealment caused by network loss
1953
- */
1954
- byNetwork?: number;
1955
- /**
1956
- * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.
1957
- */
1958
- byOverflow?: number;
1959
- /**
1960
- * concealment caused by buffer is reset.
1961
- */
1962
- byReset?: number;
1963
- /**
1964
- * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.
1965
- */
1966
- byLate?: number;
1967
- /**
1968
- * concealment caused by poor performance.
1969
- */
1970
- byPoorPerformance?: number;
1971
- /**
1972
- * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.
1973
- */
1974
- byIncreasedDelay?: number;
1975
- /**
1976
- * only for video. concealment caused by AV sync
1977
- */
1978
- byAVSync?: number;
1979
- /**
1980
- * only for video. Some video frames which have not been complete are forced to pop up because the subsequent frame has been complete. This cause video concealment.
1981
- */
1982
- byPrevFramePopped?: number;
1983
- /**
1984
- * concealment caused by the other unknown reasons
1985
- */
1986
- byOthers?: number;
1987
- };
1988
- /**
1989
- * the number of consecutive concealment time which is larger than the threshold in one minute. Currently, 60 and 120 ms are used as the threshold.
1990
- */
1991
- interruptCount?: {
1992
- /**
1993
- * interrupt count longer than 60 ms in one minute
1994
- */
1995
- longerThan60?: number;
1996
- /**
1997
- * interrupt count longer than 120 ms in one minute
1998
- */
1999
- longerThan120?: number;
2000
- };
2001
- /**
2002
- * This object tracks the delay associated with a jitter buffer
2003
- */
2004
- jitterBufferDelay?: {
2005
- /**
2006
- * The average delay (in milliseconds) used by the jitter buffer
2007
- */
2008
- meanDelay: number;
2009
- /**
2010
- * The maximum delay (in milliseconds) used by the jitter buffer
2011
- */
2012
- maxDelay: number;
2013
- /**
2014
- * The minimum delay (in milliseconds) used by the jitter buffer
2015
- */
2016
- minDelay: number;
2017
- };
2018
- /**
2019
- * This object tracks the the end to end delay(the delay between capture time of sender side and render time of receiver side)
2020
- */
2021
- endToEndDelay?: {
2022
- /**
2023
- * The average delay (in milliseconds) from end to end
2024
- */
2025
- meanDelay: number;
2026
- /**
2027
- * The maximum delay (in milliseconds) from end to end
2028
- */
2029
- maxDelay: number;
2030
- /**
2031
- * The minimum delay (in milliseconds) from end to end
2032
- */
2033
- minDelay: number;
2034
- };
2035
- /**
2036
- * Aggregated end to end delay representing the mean, max, min delay group by csi
2037
- */
2038
- endToEndDelayByCsi?: {
2039
- csi?: number;
2040
- delay?: unknown;
2041
- }[];
2042
- };
2043
- receivedFrameSize: number;
2044
- requestedFrameSize: number;
2045
- optimalFrameSize: number;
2046
- receivedHeight: number;
2047
- receivedWidth: number;
2048
- receivedKeyFrames: number;
2049
- requestedKeyFrames: number;
2050
- receivedKeyFramesSourceChange?: number;
2051
- receivedKeyFramesConfigurationChange?: number;
2052
- receivedKeyFramesForRequest?: number;
2053
- receivedKeyFramesUnknown?: number;
2054
- isActiveSpeaker?: boolean;
2055
- h264CodecProfile: "BP" | "CHP";
2056
- isHardwareDecoded?: boolean;
2057
- /**
2058
- * receive video pipeline performance metric
2059
- */
2060
- decoderProcessInfo?: {
2061
- meanDecoderProcessMillis: number;
2062
- maxDecoderProcessMillis: number;
2063
- };
2064
- receivedBuffer?: number;
2065
- receivedFrameRateNormalShare?: number;
2066
- receivedFrameRateHFPSShare?: number;
2067
- renderWindowResolution?: number;
2068
- scaledResolution?: number;
2069
- }[];
2070
- }[];
2071
- gamestateTransmit?: {
2072
- /**
2073
- * contains the transmit related fields common between all session types for each interval
2074
- */
2075
- common: {
2076
- /**
2077
- * contains the fields common to both transmit and receive sessions for each interval
2078
- */
2079
- common: {
2080
- isMain: boolean;
2081
- mariFecEnabled: boolean;
2082
- mariRtxEnabled?: boolean;
2083
- mariQosEnabled: boolean;
2084
- mariLiteEnabled?: boolean;
2085
- multistreamEnabled: boolean;
2086
- isMediaBypassEdge?: boolean;
2087
- direction: "sendrecv" | "sendonly" | "recvonly" | "inactive";
2088
- localPort?: number;
2089
- peerReflexivePort?: number;
2090
- remotePort?: number;
2091
- };
2092
- fecPackets: number;
2093
- fecBitrate: number;
2094
- rtxPackets?: number;
2095
- rtxBitrate?: number;
2096
- rtpPackets: number;
2097
- rtpBitrate: number;
2098
- rtcpPackets: number;
2099
- rtcpBitrate: number;
2100
- /**
2101
- * RTCP Information for a given Interval
2102
- */
2103
- txRtcpInfo?: {
2104
- rtcpSrPackets: number;
2105
- rtcpRrPackets: number;
2106
- rtcpReportBlocks: number;
2107
- rtcpSdesPackets: number;
2108
- rtcpByePackets: number;
2109
- rtcpAppPackets: number;
2110
- rtcpRtpFbPacket: number;
2111
- rtcpPsFbPackets: number;
2112
- rtcpPsFbMariPackets: number;
2113
- rtcpPsFbMultistreamPackets: number;
2114
- rtcpXrPackets: number;
2115
- };
2116
- stunPackets: number;
2117
- stunBitrate: number;
2118
- dtlsPackets: number;
2119
- dtlsBitrate: number;
2120
- transportType: "UDP" | "TCP" | "xTLS" | "TLS";
2121
- maxBitrate: number;
2122
- availableBitrate: number;
2123
- queueDelay: number;
2124
- meanRoundTripTime?: number;
2125
- maxRoundTripTime?: number;
2126
- roundTripTime: number;
2127
- remoteReceiveRate?: number;
2128
- maxRemoteLossRate?: number;
2129
- remoteLossRate?: number;
2130
- meanRemoteLossRate?: number;
2131
- maxRemoteJitter?: number;
2132
- remoteJitter?: number;
2133
- meanRemoteJitter?: number;
2134
- traversalMinDelayMs?: number;
2135
- traversalMaxDelayMs?: number;
2136
- traversalMeanDelayMs?: number;
2137
- rtpInputFifoDelayMs?: number;
2138
- rtpInputFifoMaxDelayMs?: number;
2139
- rtpInputFifoMinDelayMs?: number;
2140
- rtpInputFifoMeanDelayMs?: number;
2141
- };
2142
- streams: {
2143
- /**
2144
- * contains fields common to all transmit streams types
2145
- */
2146
- common: {
2147
- ssci: number;
2148
- duplicateSsci?: number;
2149
- rtpPackets: number;
2150
- transmittedFrameRate: number;
2151
- requestedFrames: number;
2152
- transmittedBitrate: number;
2153
- requestedBitrate: number;
2154
- captureOffset?: number;
2155
- codec: string;
2156
- csi?: number[];
2157
- /**
2158
- * This object tracks SSRC and CSRC changes for an RTP stream, session, etc
2159
- */
2160
- sourceChanges?: {
2161
- /**
2162
- * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.
2163
- */
2164
- ssrcChanges: number;
2165
- /**
2166
- * The number of RTP CSRC changes seen. The first RTP packet seen should NOT be counted as a change. Changes from zero to non-zero CSRC should be counted as a change.
2167
- */
2168
- csrcChanges: number;
2169
- };
2170
- largeSceneChangeCount?: number;
2171
- };
2172
- gamestateObjects?: {
2173
- objectId: number;
2174
- numberOfUpdates: number;
2175
- tag: unknown;
2176
- isActive: boolean;
2177
- }[];
2178
- }[];
2179
- }[];
2180
- gamestateReceive?: {
2181
- /**
2182
- * contains the receive related fields between all sessions types for each interval.
2183
- */
2184
- common: {
2185
- /**
2186
- * contains the fields common to both transmit and receive sessions for each interval
2187
- */
2188
- common: {
2189
- isMain: boolean;
2190
- mariFecEnabled: boolean;
2191
- mariRtxEnabled?: boolean;
2192
- mariQosEnabled: boolean;
2193
- mariLiteEnabled?: boolean;
2194
- multistreamEnabled: boolean;
2195
- isMediaBypassEdge?: boolean;
2196
- direction: "sendrecv" | "sendonly" | "recvonly" | "inactive";
2197
- localPort?: number;
2198
- peerReflexivePort?: number;
2199
- remotePort?: number;
2200
- };
2201
- fecPackets: number;
2202
- fecBitrate: number;
2203
- rtxPackets?: number;
2204
- rtxBitrate?: number;
2205
- meanRtxDelay?: number;
2206
- maxRtxDelay?: number;
2207
- rtpPackets: number;
2208
- rtpBitrate: number;
2209
- rtpHopByHopLost: number;
2210
- mediaHopByHopLost: number;
2211
- rtpRecovered: number;
2212
- rtxRecovered?: number;
2213
- rtcpPackets: number;
2214
- rtcpBitrate: number;
2215
- /**
2216
- * RTCP Information for a given Interval
2217
- */
2218
- rxRtcpInfo?: {
2219
- rtcpSrPackets: number;
2220
- rtcpRrPackets: number;
2221
- rtcpReportBlocks: number;
2222
- rtcpSdesPackets: number;
2223
- rtcpByePackets: number;
2224
- rtcpAppPackets: number;
2225
- rtcpRtpFbPacket: number;
2226
- rtcpPsFbPackets: number;
2227
- rtcpPsFbMariPackets: number;
2228
- rtcpPsFbMultistreamPackets: number;
2229
- rtcpXrPackets: number;
2230
- };
2231
- stunPackets: number;
2232
- stunBitrate: number;
2233
- dtlsPackets: number;
2234
- dtlsBitrate: number;
2235
- transportType: "UDP" | "TCP" | "xTLS" | "TLS";
2236
- maxBitrate: number;
2237
- srtpUnprotectErrors: number;
2238
- /**
2239
- * SRTP/SRTCP unprotect error details
2240
- */
2241
- srtpUnprotectErrorDetails?: {
2242
- authFailures: number;
2243
- cipherFailures: number;
2244
- replayFailures: number;
2245
- unknownFailures: number;
2246
- };
2247
- srtcpUnprotectErrors: number;
2248
- /**
2249
- * SRTP/SRTCP unprotect error details
2250
- */
2251
- srtcpUnprotectErrorDetails?: {
2252
- authFailures: number;
2253
- cipherFailures: number;
2254
- replayFailures: number;
2255
- unknownFailures: number;
2256
- };
2257
- };
2258
- streams: {
2259
- /**
2260
- * contains fields common to all types of receive stream
2261
- */
2262
- common: {
2263
- ssci: number;
2264
- rtpPackets: number;
2265
- rtpEndToEndLost: number;
2266
- concealedFrames: number;
2267
- maxConcealRunLength: number;
2268
- receivedFrameRate: number;
2269
- renderedFrameRate: number;
2270
- requestedFrameRate: number;
2271
- optimalFrameRate: number;
2272
- meanRtpJitter?: number;
2273
- maxRtpJitter?: number;
2274
- rtpJitter?: number;
2275
- receivedBitrate: number;
2276
- requestedBitrate: number;
2277
- optimalBitrate: number;
2278
- durationForSpeedChanged?: number;
2279
- endToEndTransmitDelay?: number;
2280
- csi: number[];
2281
- codec: string;
2282
- /**
2283
- * This object tracks SSRC and CSRC changes for an RTP stream, session, etc
2284
- */
2285
- sourceChanges?: {
2286
- /**
2287
- * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.
2288
- */
2289
- ssrcChanges: number;
2290
- /**
2291
- * The number of RTP CSRC changes seen. The first RTP packet seen should NOT be counted as a change. Changes from zero to non-zero CSRC should be counted as a change.
2292
- */
2293
- csrcChanges: number;
2294
- };
2295
- /**
2296
- * The object tracks the detail reasons by which concealment is caused. The unit of metrics depend on upper-level objects. Currently, packet or frame can be used as unit.
2297
- */
2298
- concealmentReasonByPacket?: {
2299
- /**
2300
- * concealment caused by network loss
2301
- */
2302
- byNetwork?: number;
2303
- /**
2304
- * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.
2305
- */
2306
- byOverflow?: number;
2307
- /**
2308
- * concealment caused by buffer is reset.
2309
- */
2310
- byReset?: number;
2311
- /**
2312
- * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.
2313
- */
2314
- byLate?: number;
2315
- /**
2316
- * concealment caused by poor performance.
2317
- */
2318
- byPoorPerformance?: number;
2319
- /**
2320
- * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.
2321
- */
2322
- byIncreasedDelay?: number;
2323
- /**
2324
- * only for video. concealment caused by AV sync
2325
- */
2326
- byAVSync?: number;
2327
- /**
2328
- * only for video. Some video frames which have not been complete are forced to pop up because the subsequent frame has been complete. This cause video concealment.
2329
- */
2330
- byPrevFramePopped?: number;
2331
- /**
2332
- * concealment caused by the other unknown reasons
2333
- */
2334
- byOthers?: number;
2335
- };
2336
- /**
2337
- * The object tracks the detail reasons by which concealment is caused. The unit of metrics depend on upper-level objects. Currently, packet or frame can be used as unit.
2338
- */
2339
- concealmentReasonByFrame?: {
2340
- /**
2341
- * concealment caused by network loss
2342
- */
2343
- byNetwork?: number;
2344
- /**
2345
- * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.
2346
- */
2347
- byOverflow?: number;
2348
- /**
2349
- * concealment caused by buffer is reset.
2350
- */
2351
- byReset?: number;
2352
- /**
2353
- * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.
2354
- */
2355
- byLate?: number;
2356
- /**
2357
- * concealment caused by poor performance.
2358
- */
2359
- byPoorPerformance?: number;
2360
- /**
2361
- * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.
2362
- */
2363
- byIncreasedDelay?: number;
2364
- /**
2365
- * only for video. concealment caused by AV sync
2366
- */
2367
- byAVSync?: number;
2368
- /**
2369
- * only for video. Some video frames which have not been complete are forced to pop up because the subsequent frame has been complete. This cause video concealment.
2370
- */
2371
- byPrevFramePopped?: number;
2372
- /**
2373
- * concealment caused by the other unknown reasons
2374
- */
2375
- byOthers?: number;
2376
- };
2377
- /**
2378
- * the number of consecutive concealment time which is larger than the threshold in one minute. Currently, 60 and 120 ms are used as the threshold.
2379
- */
2380
- interruptCount?: {
2381
- /**
2382
- * interrupt count longer than 60 ms in one minute
2383
- */
2384
- longerThan60?: number;
2385
- /**
2386
- * interrupt count longer than 120 ms in one minute
2387
- */
2388
- longerThan120?: number;
2389
- };
2390
- /**
2391
- * This object tracks the delay associated with a jitter buffer
2392
- */
2393
- jitterBufferDelay?: {
2394
- /**
2395
- * The average delay (in milliseconds) used by the jitter buffer
2396
- */
2397
- meanDelay: number;
2398
- /**
2399
- * The maximum delay (in milliseconds) used by the jitter buffer
2400
- */
2401
- maxDelay: number;
2402
- /**
2403
- * The minimum delay (in milliseconds) used by the jitter buffer
2404
- */
2405
- minDelay: number;
2406
- };
2407
- /**
2408
- * This object tracks the the end to end delay(the delay between capture time of sender side and render time of receiver side)
2409
- */
2410
- endToEndDelay?: {
2411
- /**
2412
- * The average delay (in milliseconds) from end to end
2413
- */
2414
- meanDelay: number;
2415
- /**
2416
- * The maximum delay (in milliseconds) from end to end
2417
- */
2418
- maxDelay: number;
2419
- /**
2420
- * The minimum delay (in milliseconds) from end to end
2421
- */
2422
- minDelay: number;
2423
- };
2424
- /**
2425
- * Aggregated end to end delay representing the mean, max, min delay group by csi
2426
- */
2427
- endToEndDelayByCsi?: {
2428
- csi?: number;
2429
- delay?: unknown;
2430
- }[];
2431
- };
2432
- gamestateObjects?: {
2433
- objectId: number;
2434
- numberOfUpdates: number;
2435
- tag: unknown;
2436
- isActive: boolean;
2437
- }[];
2438
- }[];
2439
- }[];
2440
- }[];
2441
- }