@webex/internal-plugin-metrics 3.0.0-beta.2 → 3.0.0-beta.200

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 (76) hide show
  1. package/README.md +1 -3
  2. package/dist/batcher.js +3 -22
  3. package/dist/batcher.js.map +1 -1
  4. package/dist/call-diagnostic/call-diagnostic-metrics-batcher.js +56 -0
  5. package/dist/call-diagnostic/call-diagnostic-metrics-batcher.js.map +1 -0
  6. package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js +451 -0
  7. package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js.map +1 -0
  8. package/dist/call-diagnostic/call-diagnostic-metrics.js +584 -0
  9. package/dist/call-diagnostic/call-diagnostic-metrics.js.map +1 -0
  10. package/dist/call-diagnostic/call-diagnostic-metrics.util.js +225 -0
  11. package/dist/call-diagnostic/call-diagnostic-metrics.util.js.map +1 -0
  12. package/dist/call-diagnostic/config.js +461 -0
  13. package/dist/call-diagnostic/config.js.map +1 -0
  14. package/dist/call-diagnostic/generated-types-temp/ClientEvent.js +7 -0
  15. package/dist/call-diagnostic/generated-types-temp/ClientEvent.js.map +1 -0
  16. package/dist/call-diagnostic/generated-types-temp/Event.js +7 -0
  17. package/dist/call-diagnostic/generated-types-temp/Event.js.map +1 -0
  18. package/dist/call-diagnostic/generated-types-temp/MediaQualityEvent.js +7 -0
  19. package/dist/call-diagnostic/generated-types-temp/MediaQualityEvent.js.map +1 -0
  20. package/dist/client-metrics-batcher.js +1 -7
  21. package/dist/client-metrics-batcher.js.map +1 -1
  22. package/dist/config.js +21 -5
  23. package/dist/config.js.map +1 -1
  24. package/dist/index.js +26 -10
  25. package/dist/index.js.map +1 -1
  26. package/dist/metrics.js +43 -80
  27. package/dist/metrics.js.map +1 -1
  28. package/dist/metrics.types.js +7 -0
  29. package/dist/metrics.types.js.map +1 -0
  30. package/dist/new-metrics.js +249 -0
  31. package/dist/new-metrics.js.map +1 -0
  32. package/dist/types/batcher.d.ts +2 -0
  33. package/dist/types/call-diagnostic/call-diagnostic-metrics-batcher.d.ts +2 -0
  34. package/dist/types/call-diagnostic/call-diagnostic-metrics-latencies.d.ts +189 -0
  35. package/dist/types/call-diagnostic/call-diagnostic-metrics.d.ts +348 -0
  36. package/dist/types/call-diagnostic/call-diagnostic-metrics.util.d.ts +52 -0
  37. package/dist/types/call-diagnostic/config.d.ts +57 -0
  38. package/dist/types/call-diagnostic/generated-types-temp/ClientEvent.d.ts +1112 -0
  39. package/dist/types/call-diagnostic/generated-types-temp/Event.d.ts +4851 -0
  40. package/dist/types/call-diagnostic/generated-types-temp/MediaQualityEvent.d.ts +2121 -0
  41. package/dist/types/client-metrics-batcher.d.ts +2 -0
  42. package/dist/types/config.d.ts +35 -0
  43. package/dist/types/index.d.ts +11 -0
  44. package/dist/types/metrics.d.ts +3 -0
  45. package/dist/types/metrics.types.d.ts +92 -0
  46. package/dist/types/new-metrics.d.ts +119 -0
  47. package/package.json +12 -8
  48. package/src/batcher.js +33 -26
  49. package/src/call-diagnostic/call-diagnostic-metrics-batcher.ts +51 -0
  50. package/src/call-diagnostic/call-diagnostic-metrics-latencies.ts +408 -0
  51. package/src/call-diagnostic/call-diagnostic-metrics.ts +591 -0
  52. package/src/call-diagnostic/call-diagnostic-metrics.util.ts +233 -0
  53. package/src/call-diagnostic/config.ts +455 -0
  54. package/src/call-diagnostic/generated-types-temp/ClientEvent.ts +2395 -0
  55. package/src/call-diagnostic/generated-types-temp/Event.ts +7762 -0
  56. package/src/call-diagnostic/generated-types-temp/MediaQualityEvent.ts +2321 -0
  57. package/src/client-metrics-batcher.js +3 -4
  58. package/src/config.js +25 -5
  59. package/src/index.ts +39 -0
  60. package/src/metrics.js +44 -58
  61. package/src/metrics.types.ts +137 -0
  62. package/src/new-metrics.ts +223 -0
  63. package/test/unit/spec/batcher.js +26 -15
  64. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-batcher.ts +243 -0
  65. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-latencies.ts +474 -0
  66. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.ts +820 -0
  67. package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.util.ts +336 -0
  68. package/test/unit/spec/client-metrics-batcher.js +26 -15
  69. package/test/unit/spec/metrics.js +85 -116
  70. package/test/unit/spec/new-metrics.ts +153 -0
  71. package/tsconfig.json +6 -0
  72. package/dist/call-diagnostic-events-batcher.js +0 -70
  73. package/dist/call-diagnostic-events-batcher.js.map +0 -1
  74. package/src/call-diagnostic-events-batcher.js +0 -62
  75. package/src/index.js +0 -17
  76. package/test/unit/spec/call-diagnostic-events-batcher.js +0 -180
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["Event.ts"],"sourcesContent":["/* eslint-disable */\n/**\n * This file was automatically generated by json-schema-to-typescript.\n * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,\n * and run json-schema-to-typescript to regenerate this file.\n */\n\nexport interface Event {\n eventId?: string;\n version?: number;\n /**\n * Information about the sender of the event\n */\n origin: {\n name:\n | 'antares'\n | 'beech'\n | 'breakout'\n | 'cb'\n | 'cloudproxy'\n | 'edonus'\n | 'endpoint'\n | 'givr'\n | 'hecate'\n | 'hedge'\n | 'hesiod'\n | 'homer'\n | 'superhomer'\n | 'l2sip'\n | 'linus'\n | 'locus'\n | 'mcc'\n | 'mcs'\n | 'mercury'\n | 'mes'\n | 'mjs'\n | 'mmp'\n | 'mygdon'\n | 'orpheus'\n | 'page'\n | 'poros'\n | 'rhesos'\n | 'terminus'\n | 'tpgw'\n | 'ucc'\n | 'wdm'\n | 'webexivr';\n userAgent: string;\n buildType?: 'debug' | 'test' | 'prod' | 'tap' | 'analyzer-test';\n /**\n * Will be used as a label for client software status\n */\n upgradeChannel?: string;\n /**\n * Identifier for a particular instance of a service, such as a particular linus\n */\n instanceId?: string;\n networkType: 'wifi' | 'ethernet' | 'cellular' | 'unknown';\n localIP?: string;\n usingProxy?: boolean;\n mediaEngineSoftwareVersion?: string;\n environment?: string;\n newEnvironment?: string;\n /**\n * Details of client environment\n */\n clientInfo?: {\n os: 'windows' | 'mac' | 'linux' | 'ios' | 'android' | 'chrome' | 'uwp-arm64' | 'other';\n osVersion: string;\n localIP?: string;\n gatewayIP?: string;\n macAddress?: string;\n localNetworkPrefix?: string;\n publicNetworkPrefix?: string;\n browserLaunchMethod?:\n | 'activex'\n | 'npapi'\n | 'extension'\n | 'cwsapi'\n | 'java'\n | 'tfs'\n | 'webacd'\n | 'url-handler'\n | 'thinclient';\n clientLaunchMethod?:\n | 'url-handler'\n | 'universal-link'\n | 'voice-command'\n | 'notification'\n | 'manual'\n | 'teams-cross-launch';\n browser?: string;\n browserVersion?: string;\n /**\n * this defines the major client types\n */\n clientType?:\n | 'MEETING_CENTER'\n | 'EVENT_CENTER'\n | 'TRAINING_CENTER'\n | 'TEAMS_CLIENT'\n | 'TEAMS_DEVICE'\n | 'TEAMS_SHARE'\n | 'SIP'\n | 'RECORDING'\n | 'CLOUD_AWARE_SIP'\n | 'TEAMS_WXC_CLIENT'\n | 'WXC_CLIENT'\n | 'WXC_DEVICE'\n | 'WEBEX_JS_SDK'\n | 'VOICEA_CLIENT'\n | 'CISCO_SIP_GW'\n | 'WEBEX_SDK'\n | 'CPAAS_THIRD_PARTY_SDK'\n | 'WXC_THIRD_PARTY';\n /**\n * this defines the sub types of clients\n */\n subClientType?:\n | 'DESKTOP_APP'\n | 'DESKTOP_APP_VDI'\n | 'DEVICE_CURRENT'\n | 'DEVICE_LEGACY_2020'\n | 'HVDI_APP'\n | 'MOBILE_APP'\n | 'VDI_APP'\n | 'WEB_APP'\n | 'MOBILE_NETWORK'\n | 'HOLOGRAM_HEADSET_APP';\n clientVersion?: string;\n localClientVersion?: string;\n modelNumber?: string;\n joinFirstUpdateLater?: 'ep-enabled' | 'sp-enabled' | 'not-enabled';\n standbyUsed?: boolean;\n prefetchDocShowUsed?: boolean;\n fastJoinUsed?: boolean;\n clientDownloadSize?: number;\n clientDownloadFileCount?: number;\n nodeId?: number;\n machineInfo?: string;\n parentAppName?: string;\n parentAppInPermitList?: boolean;\n meetingSiteType?: 'train' | 'webex-11' | 'orion';\n CDNEnabled?: boolean;\n clientMajorVersion?: string;\n majorVersion?: number;\n minorVersion?: number;\n revision?: number;\n isValidClientVersion?: boolean;\n /**\n * This object defines the fields related to the CPU being used by the emitter of the event\n */\n cpuInfo?: {\n description: string;\n clockSpeedGigaHertz: number;\n numberOfCores: number;\n architecture: 'intel32' | 'intel64' | 'amd32' | 'amd64' | 'arm32' | 'arm64' | 'unknown';\n staticPerformance?: string;\n };\n shareType?:\n | 'cb-normal-share'\n | 'ce-airplay-share'\n | 'ce-direct-share'\n | 'ce-gui-loopback-share'\n | 'ce-input-source-share'\n | 'ce-input-source-share-hdmi'\n | 'ce-input-source-share-usbc'\n | 'ce-jpg-share'\n | 'ce-miracast-share'\n | 'mcs-normal-share'\n | 'mcs-normal-audio-share'\n | 'mcs-hfps-share'\n | 'mcs-hfps-audio-share';\n /**\n * Video display mode currently in use\n */\n videoDisplayMode?: 'grid-view' | 'active-speaker-view';\n videoLayoutType?:\n | 'stack'\n | 'stackWithShare'\n | 'sideBySide'\n | 'sideBySideWithShare'\n | 'grid'\n | 'floatingActive'\n | 'floatingThumbnail'\n | 'floatingGrid'\n | 'overlay'\n | 'focus'\n | 'prominent'\n | 'focusWithShare'\n | 'prominentWithShare'\n | 'equal'\n | 'equalWithShare';\n /**\n * this defines the video render type of meetings\n */\n videoRenderType?: 'wme' | 'client_d3d' | 'client_gdi';\n vdiInfo?: unknown;\n is64BitsClient?: boolean;\n webexAppVersion?: string;\n /**\n * this defines launch 32 bits client reason\n */\n launch32BitsReason?:\n | 'forcewin32'\n | 'disablewin64'\n | 'platform_win32'\n | 'platform_arm'\n | 'platform_unknown'\n | 'version_below_41.11';\n inMeetingUpdate?: boolean;\n mtaVersion?: string;\n isWarholOpening?: boolean;\n };\n isHybridMedia?: boolean;\n originData?: {};\n };\n originTime: {\n triggered: string;\n sent: string;\n };\n ingestTime?: string;\n senderIP?: string;\n senderCountryCode?: string;\n isTest?: boolean;\n event:\n | {\n canProceed: boolean;\n state?: string;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard' | 'gamestate';\n csi?: number;\n /**\n * media capability for both transmit and receive\n */\n mediaCapabilities?: {\n /**\n * explicit indication of media capabilities. true=supported\n */\n tx: {\n audio: boolean;\n video: boolean;\n share: boolean;\n share_audio: boolean;\n whiteboard: boolean;\n gamestate?: boolean;\n };\n /**\n * explicit indication of media capabilities. true=supported\n */\n rx: {\n audio: boolean;\n video: boolean;\n share: boolean;\n share_audio: boolean;\n whiteboard: boolean;\n gamestate?: boolean;\n };\n };\n mediaLines?: {\n mediaType: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard' | 'gamestate';\n remoteIP?: string;\n localIP?: string;\n localNetworkPrefix?: string;\n localPort?: number;\n remotePort?: number;\n protocol: 'udp' | 'tcp' | 'xtls' | 'unknown';\n direction: 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive';\n clusterName?: string;\n status?: 'succeeded' | 'in-progress' | 'failed';\n failureReason?:\n | 'network'\n | 'transport'\n | 'rejected'\n | 'timeout'\n | 'notstarted'\n | 'succeeded';\n errorCode?: number;\n mediaLineData?: {};\n }[];\n /**\n * allows client to specify media preferences\n */\n clientMediaPreferences?: {\n preferTranscoding: boolean;\n };\n pstnAudioType?: 'dial-in' | 'dial-out';\n success?: boolean;\n isTranscoded?: boolean;\n isGatewayed?: boolean;\n isComposed?: boolean;\n /**\n * determine how the events are processed as well as how the reports are aggregated and sliced\n */\n registrationMode?: 'SIP' | 'Cloud' | 'CloudAware';\n /**\n * protocols used to help determine how the events are processed as well as how the reports are aggregated and sliced\n */\n protocol?: 'SIP' | 'H323' | 'Locus' | 'WebRTC';\n /**\n * The underlying service provider of the call.\n */\n meetingPlatform?: 'MsTeams' | 'GoogleMeet' | 'Zoom' | 'Webex';\n labels?: string[];\n webexServiceType?: 'MC' | 'EC' | 'SC' | 'TC' | 'AA' | 'RA' | 'NBR' | 'WRF' | 'HOL';\n /**\n * this defines the sub service type\n */\n webexSubServiceType?:\n | 'PMR'\n | 'Event'\n | 'Training'\n | 'ScheduleMeeting'\n | 'ScheduledMeeting'\n | 'Webinar'\n | 'others';\n ivrDialogType?:\n | 'MEDIA_ON_HOLD'\n | 'ANNOUNCEMENT'\n | 'TONE'\n | 'COLLECT_PIN'\n | 'PROMPT'\n | 'MEDIA_SERVICE_AGENT'\n | 'COLLECT';\n ivrDialogResult?:\n | 'SUCCESS'\n | 'FAILURE'\n | 'HOST_PIN_MATCH'\n | 'GUEST_PIN_MATCH'\n | 'PANELIST_PIN_MATCH'\n | 'NO_MATCH'\n | 'INVALID_PIN';\n callType?:\n | 'VIDEO_DIALIN'\n | 'VIDEO_DIALOUT'\n | 'CASCADE'\n | 'HYBRID_CASCADE'\n | 'PSTN_SIP'\n | 'PSTN_DIALIN'\n | 'PSTN_DIALOUT'\n | 'PSTN_ONLY_DIALIN'\n | 'PSTN_ONLY_DIALOUT'\n | 'H323'\n | 'H323_IP'\n | 'SIP_ENTERPRISE'\n | 'SIP_MOBILE'\n | 'SIP_NATIONAL'\n | 'SIP_INTERNATIONAL'\n | 'SIP_EMERGENCY'\n | 'SIP_OPERATOR'\n | 'SIP_SHORTCODE'\n | 'SIP_TOLLFREE'\n | 'SIP_PREMIUM'\n | 'SIP_URI'\n | 'SIP_INBOUND'\n | 'UNKNOWN'\n | 'ZTM'\n | 'SIP_MEETING';\n eventData?: {};\n derivedSipClientType?:\n | 'SIP_CE_SINGLE_SCREEN'\n | 'SIP_CE_MULTI_SCREEN'\n | 'SIP_JABBER'\n | 'SIP_TIP_SINGLE_SCREEN'\n | 'SIP_TIP_THREE_SCREEN'\n | 'SIP_PSTN'\n | 'SIP_OTHER'\n | 'SIP_WEBEX_CASCADE'\n | 'SIP_NONE';\n /**\n * this defines the major client types\n */\n derivedClientType?:\n | 'MEETING_CENTER'\n | 'EVENT_CENTER'\n | 'TRAINING_CENTER'\n | 'TEAMS_CLIENT'\n | 'TEAMS_DEVICE'\n | 'TEAMS_SHARE'\n | 'SIP'\n | 'RECORDING'\n | 'CLOUD_AWARE_SIP'\n | 'TEAMS_WXC_CLIENT'\n | 'WXC_CLIENT'\n | 'WXC_DEVICE'\n | 'WEBEX_JS_SDK'\n | 'VOICEA_CLIENT'\n | 'CISCO_SIP_GW'\n | 'WEBEX_SDK'\n | 'CPAAS_THIRD_PARTY_SDK'\n | 'WXC_THIRD_PARTY';\n /**\n * this defines the sub types of clients\n */\n derivedSubClientType?:\n | 'DESKTOP_APP'\n | 'DESKTOP_APP_VDI'\n | 'DEVICE_CURRENT'\n | 'DEVICE_LEGACY_2020'\n | 'HVDI_APP'\n | 'MOBILE_APP'\n | 'VDI_APP'\n | 'WEB_APP'\n | 'MOBILE_NETWORK'\n | 'HOLOGRAM_HEADSET_APP';\n serverRole?:\n | 'CONFERENCE'\n | 'TRANSCODER'\n | 'WHITEBOARD_INJECTOR'\n | 'MS_TEAMS_CONFERENCE'\n | 'RECORDING'\n | 'GATEWAY'\n | 'GATEWAY_CLIENT_SIDE'\n | 'UNKNOWN'\n | 'HOLOGRAM_RENDER';\n reconnect?: boolean;\n retryCount?: number;\n meetSimple?: boolean;\n /**\n * represents media quality status report such as no media or drop out\n */\n mediaStatus?: {\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n mediaSuccess?: boolean;\n shareType?:\n | 'cb-normal-share'\n | 'ce-airplay-share'\n | 'ce-direct-share'\n | 'ce-gui-loopback-share'\n | 'ce-input-source-share'\n | 'ce-input-source-share-hdmi'\n | 'ce-input-source-share-usbc'\n | 'ce-jpg-share'\n | 'ce-miracast-share'\n | 'mcs-normal-share'\n | 'mcs-normal-audio-share'\n | 'mcs-hfps-share'\n | 'mcs-hfps-audio-share';\n isTransmitter?: boolean;\n audioJoinType?:\n | 'phone-call-in'\n | 'phone-call-back'\n | 'voip'\n | 'device-call-back'\n | 'never-join-audio'\n | 'tried-but-never-join';\n /**\n * indicates transport type used\n */\n transportType?: 'UDP' | 'TCP' | 'xTLS' | 'TLS';\n additionalData?: {};\n };\n shareInstanceId?: string;\n hologramStreamId?: string;\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n audioSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n videoSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n shareSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n shareAudioSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n whiteboardSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n isFocus?: boolean;\n processingDelay?: number;\n shareType?:\n | 'cb-normal-share'\n | 'ce-airplay-share'\n | 'ce-direct-share'\n | 'ce-gui-loopback-share'\n | 'ce-input-source-share'\n | 'ce-input-source-share-hdmi'\n | 'ce-input-source-share-usbc'\n | 'ce-jpg-share'\n | 'ce-miracast-share'\n | 'mcs-normal-share'\n | 'mcs-normal-audio-share'\n | 'mcs-hfps-share'\n | 'mcs-hfps-audio-share';\n isShareBeingTakenOver?: boolean;\n floorBeneficiaryUpdated?: boolean;\n meetingJoinedTime?: string;\n meetingScheduledTime?: string;\n e2eeKeyEpoch?: number;\n e2eeDecompressRatio?: number;\n keyResponses?: {\n gotKeyTime?: number;\n useKeyTime?: number;\n cacheKeyTime?: number;\n }[];\n e2eeVersion?: 'E2EEV1' | 'E2EEV2' | 'E2EEV3';\n isConvergedArchitectureEnabled?: boolean;\n callingServiceType?: 'CUCM' | 'WEBEXCALLING' | 'BROADWORKS' | 'LOCUS';\n inLobby?: boolean;\n isVIPMeeting?: boolean;\n webexAppEntrypoint?: string;\n firstParticipant?: boolean;\n isImmersiveShare?: boolean;\n /**\n * Request/Response Time for Internal Services\n */\n registeredTimestamps?: {\n locusCreateConfluenceRequestTime?: string;\n locusCreateConfluenceResponseTime?: string;\n locusCreateVenueRequestTime?: string;\n locusCreateVenueResponseTime?: string;\n };\n skipInterstitialWindow?: boolean;\n callDurationSecs?: number;\n /**\n * Details associated with a breakout move\n */\n breakout?: {\n moveType?: 'between_breakout' | 'to_breakout' | 'to_main';\n trigger?: 'assignment_changed' | 'client_initiated' | 'session_ended' | 'session_started';\n startState?: 'joined' | 'lobby';\n endState?: 'joined' | 'lobby';\n };\n /**\n * Latency values associated with breakout session\n */\n breakoutLatency?: {\n boBreakoutMoveProcessed?: number;\n boBreakoutMoveResp?: number;\n boLocusBreakoutMoveResp?: number;\n locusBreakoutMoveResp?: number;\n orpheusConfluenceMoveReqResp?: number;\n };\n /**\n * two-way whiteboard related info\n */\n whiteboard?: {\n action?: 'open' | 'create';\n type?: 'whiteboard' | 'annotation';\n capability?: 'one_way' | 'two_way';\n granted?: 'one_way' | 'two_way';\n };\n name:\n | 'client.alert.displayed'\n | 'client.alert.removed'\n | 'client.application.validate'\n | 'client.audio.noise.removal'\n | 'client.breakout-session.join.request'\n | 'client.breakout-session.join.response'\n | 'client.breakout-session.leave'\n | 'client.breakout-session.move.request'\n | 'client.breakout-session.move.response'\n | 'client.call.aborted'\n | 'client.call.declined'\n | 'client.call.displayed'\n | 'client.call.initiated'\n | 'client.call.leave'\n | 'client.call.move-media'\n | 'client.call.remote-ended'\n | 'client.call.remote-started'\n | 'client.call.skip-locus-join'\n | 'client.conversation.request'\n | 'client.conversation.response'\n | 'client.click.pre-join'\n | 'client.crash'\n | 'client.daemon.join.begin'\n | 'client.daemon.job.done'\n | 'client.daemon.launch-meeting-process'\n | 'client.daemon.pending-on-existing-upgrade-job'\n | 'client.daemon.query-site-info'\n | 'client.daemon.upgrade-and-join'\n | 'client.daemon.wakeup-meeting-client'\n | 'client.device.resource-room.joined'\n | 'client.e2ee.join.response'\n | 'client.embedded-object-info'\n | 'client.entering-background'\n | 'client.entering-foreground'\n | 'client.exit.app'\n | 'client.gesture.recognition'\n | 'client.hologram.initiated'\n | 'client.hologram.stopped'\n | 'client.hologram.remote.initiated'\n | 'client.hologram.remote.stopped'\n | 'client.ice.end'\n | 'client.ice.start'\n | 'client.installer.start'\n | 'client.installer.end'\n | 'client.interstitial-window.launched'\n | 'client.ivr.join.request'\n | 'client.ivr.join.response'\n | 'client.ivr.leave.request'\n | 'client.ivr.leave.response'\n | 'client.ivr.notify.request'\n | 'client.ivr.notify.response'\n | 'client.lobby.entered'\n | 'client.lobby.exited'\n | 'client.locus.decline.request'\n | 'client.locus.join.request'\n | 'client.locus.join.response'\n | 'client.locus.leave.request'\n | 'client.locus.leave.response'\n | 'client.locus.media.request'\n | 'client.locus.media.response'\n | 'client.media-engine.crash'\n | 'client.media-engine.lost'\n | 'client.media-engine.local-sdp-generated'\n | 'client.media-engine.ready'\n | 'client.media-engine.remote-sdp-received'\n | 'client.media-status'\n | 'client.media.capabilities'\n | 'client.media.reachability'\n | 'client.media.reconnecting'\n | 'client.media.recovered'\n | 'client.media.render.start'\n | 'client.media.render.stop'\n | 'client.media.rx.start'\n | 'client.media.rx.stop'\n | 'client.media.share.csi.changed'\n | 'client.media.tx.start'\n | 'client.media.tx.stop'\n | 'client.meetinginfo.request'\n | 'client.meetinginfo.response'\n | 'client.meetingmanagersdk.ipc.run'\n | 'client.meeting.app-loaded'\n | 'client.meeting.breakout-session.action'\n | 'client.meeting.breakout-session.summary'\n | 'client.meeting.browser-plugin.started'\n | 'client.meeting.click.joinbutton'\n | 'client.meeting.closed'\n | 'client.meeting.disclaimer-window.accepted'\n | 'client.meeting.disclaimer-window.closed'\n | 'client.meeting.disclaimer-window.showed'\n | 'client.meeting.docshow.request'\n | 'client.meeting.docshow.response'\n | 'client.meeting.e2e.u2c.response'\n | 'client.meeting.e2e.wca.response'\n | 'client.meeting.e2e.key.response'\n | 'client.meeting.e2ee.u2c.response'\n | 'client.meeting.e2ee.wca.response'\n | 'client.meeting.e2ee.key.response'\n | 'client.meeting.gpc.download'\n | 'client.meeting.gpcparameter.request'\n | 'client.meeting.gpcparameter.response'\n | 'client.meeting.interstitial-window.closed'\n | 'client.meeting.interstitial-window.showed'\n | 'client.meeting.join.request'\n | 'client.meeting.key-information'\n | 'client.meeting.launched'\n | 'client.meeting.login-window.clicked'\n | 'client.meeting.login-window.closed'\n | 'client.meeting.login-window.showed'\n | 'client.meeting.login.response'\n | 'client.meeting.people-insights.check.response'\n | 'client.meeting.people-insights.query.response'\n | 'client.meeting.ping.request'\n | 'client.meeting.ping.response'\n | 'client.meeting.plugin-extension.started'\n | 'client.meeting.resume'\n | 'client.meeting.report-log'\n | 'client.meeting.session.connected'\n | 'client.meeting.start-webexapp'\n | 'client.meeting.start-launch'\n | 'client.meeting.summary'\n | 'client.meeting.user-action'\n | 'client.meeting.validated'\n | 'client.meeting.VDI.detect.plugin.response'\n | 'client.meeting.VDI.connect.plugin.response'\n | 'client.mercury.connection.lost'\n | 'client.mercury.connection.restored'\n | 'client.multistream.sca.rx'\n | 'client.multistream.sca.tx'\n | 'client.multistream.scr.rx'\n | 'client.multistream.scr.tx'\n | 'client.muted'\n | 'client.network.changed'\n | 'client.notification.received'\n | 'client.pin.collected'\n | 'client.pin.prompt'\n | 'client.post.meeting.hook'\n | 'client.pstnaudio.attempt.finish'\n | 'client.pstnaudio.attempt.skip'\n | 'client.pstnaudio.attempt.start'\n | 'client.roap-message.received'\n | 'client.roap-message.sent'\n | 'client.share.floor-accept.notification'\n | 'client.share.floor-grant.cancel-request'\n | 'client.share.floor-grant.notification'\n | 'client.share.floor-grant.request'\n | 'client.share.floor-granted.local'\n | 'client.share.initiated'\n | 'client.share.layout.displayed'\n | 'client.share.paused'\n | 'client.share.selected-app'\n | 'client.share.stopped'\n | 'client.started-after-shutdown'\n | 'client.started-from-crash'\n | 'client.stuntrace.failed'\n | 'client.switch.app'\n | 'client.unmuted'\n | 'client.webexapp.launched'\n | 'client.login.start'\n | 'client.login.end'\n | 'client.switch.environment'\n | 'client.warhol.downloaded'\n | 'client.whiteboard.loaded'\n | 'meeting.initiated'\n | 'meeting.joined'\n | 'page.click.pre-join'\n | 'page.meeting.browser-reset'\n | 'page.meeting.close-browser'\n | 'page.meeting.extension.started'\n | 'page.meeting.launch-thinclient'\n | 'page.meeting.loading'\n | 'page.meeting.run-plugin'\n | 'page.meeting.testing-plugin'\n | 'page.meeting.testing-plugin.finished'\n | 'page.meeting.tfs.start-download'\n | 'page.meeting.urlprotocol.detect'\n | 'page.meeting.waiting.user-action';\n /**\n * Base type for the various identifiers used to connect the dots.\n * In general, these should be populated whenever possible. Subtypes may make a particular key required.\n *\n */\n identifiers: {\n attendeeId?: string;\n breakoutGroupId?: string;\n breakoutMoveId?: string;\n breakoutSessionId?: string;\n confluenceId?: string;\n /**\n * Set of identifiers dedicated to CPaaS clients\n * In general, these should be populated whenever possible. Subtypes may make a particular key required.\n *\n */\n cpaasIdentifiers?: {\n imiTenantId: string;\n devClientId: string;\n imiServiceId: string;\n imiAppId: string;\n sessionId: string;\n sessionInstanceId: string;\n };\n csdmDeviceUrl?: string;\n destinationBreakoutSessionId?: string;\n destinationLocusSessionId?: string;\n destinationLocusUrl?: string;\n destinationVenueId?: string;\n deviceId?: string;\n ivrCallId?: string;\n ivrDialogId?: string;\n ivrId?: string;\n locusId?: string;\n locusSessionId?: string;\n locusStartTime?: string;\n locusUrl?: string;\n mediaAgentAlias?: string;\n mediaAgentGroupId?: string;\n meetClusterName?: string;\n meetingLookupUrl?: string;\n meetingOrgId?: string;\n msteamsTenantGuid?: string;\n msteamsConferenceId?: string;\n oauth2ClientId?: string;\n orgId?: string;\n roomId?: string;\n sipCallId?: string;\n sipSessionId?: {\n local?: string;\n remote?: string;\n };\n sipUri?: string;\n subConfId?: string;\n tenantId?: string;\n trackingId?: string;\n userId?: string;\n venueId?: string;\n venueUrl?: string;\n whiteboardUrl?: string;\n webexConferenceId?: number;\n webexClusterName?: string;\n webexConferenceIdStr?: string;\n webexDataCenter?: string;\n webexGuestId?: number;\n webexMeetingId?: number;\n webexNodeId?: number;\n webexSiteId?: number;\n webexSiteName?: string;\n webexUserId?: number;\n webexWebDomain?: string;\n correlationId: string;\n };\n errors?: {\n fatal: boolean;\n category: 'signaling' | 'media' | 'other' | 'expected';\n errorDescription?: string;\n errorCode?: number;\n errorCodeStr?: string;\n httpCode?: number;\n errorData?: {};\n shownToUser: boolean;\n serviceErrorCode?: number;\n name:\n | 'media-engine'\n | 'ice.failed'\n | 'locus.response'\n | 'locus.leave'\n | 'client.leave'\n | 'media-device'\n | 'media-sca'\n | 'other';\n }[];\n /**\n * media quality error report such as no media or drop out\n */\n clientMediaError?: {\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n mediaFailureType?: 'noMedia' | 'mediaDrop' | 'mediaEvent';\n isDropAtStart?: boolean;\n isJMF?: boolean;\n txError?:\n | 'NO_ERROR'\n | 'DEVICE_ERROR'\n | 'LOAD_LIBRARY_ERROR'\n | 'MCS_SESSION_CONNECT_ERROR'\n | 'CB_SESSION_CREATE_ERROR'\n | 'NO_FRAME_DECODE_ERROR'\n | 'NO_PACKET_RECV_ERROR'\n | 'LOW_VOLUME_ERROR'\n | 'INITIAL_MEMORY_ERROR'\n | 'MAC_VIRTUAL_AUDIO_DRV_ERROR'\n | 'MMP_SESSION_CONNECT_ERROR'\n | 'MEDIA_PROCESS_CRASH_ERROR'\n | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR'\n | 'MEDIA_SERVER_CONNECT_ERROR'\n | 'LOCUS_SESSION_CONNECT_ERROR'\n | 'NO_PACKET_SEND_ERROR'\n | 'NETWORK_LOST_ERROR'\n | 'MEDIA_NOT_AVAILABLE';\n rxError?:\n | 'NO_ERROR'\n | 'DEVICE_ERROR'\n | 'LOAD_LIBRARY_ERROR'\n | 'MCS_SESSION_CONNECT_ERROR'\n | 'CB_SESSION_CREATE_ERROR'\n | 'NO_FRAME_DECODE_ERROR'\n | 'NO_PACKET_RECV_ERROR'\n | 'LOW_VOLUME_ERROR'\n | 'INITIAL_MEMORY_ERROR'\n | 'MAC_VIRTUAL_AUDIO_DRV_ERROR'\n | 'MMP_SESSION_CONNECT_ERROR'\n | 'MEDIA_PROCESS_CRASH_ERROR'\n | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR'\n | 'MEDIA_SERVER_CONNECT_ERROR'\n | 'LOCUS_SESSION_CONNECT_ERROR'\n | 'NO_PACKET_SEND_ERROR'\n | 'NETWORK_LOST_ERROR'\n | 'MEDIA_NOT_AVAILABLE';\n txDeviceErrorCode?: number;\n rxDeviceErrorCode?: number;\n sessionConnectErrorCode?: number;\n firstDropTime?: string;\n totalDropCount?: number;\n failureDuration?: number;\n txMoreError?: string;\n rxMoreError?: string;\n totalUserWhenCBStartError?: number;\n sessionConnectExtErrorCode?: number;\n sessionConnectErrorType?: 'unknown' | 'MCC_error' | 'MCS_error' | 'Tahoe_error';\n txSystemErrorCode?: number;\n rxSystemErrorCode?: number;\n errorDetails?: {};\n };\n trigger?:\n | 'bricklet'\n | 'call-history'\n | 'companion-join'\n | 'contact-profile'\n | 'dialpad'\n | 'loci-update'\n | 'media-engine-event'\n | 'meetbutton-click'\n | 'meetings-tab'\n | 'message-click'\n | 'mercury-event'\n | 'obtp'\n | 'onboarding-page'\n | 'other'\n | 'pairing'\n | 'protocol'\n | 'search'\n | 'signaling'\n | 'space-share'\n | 'timeout'\n | 'toast'\n | 'user-interaction'\n | 'wireless-share';\n leaveReason?: 'paired-leave' | 'one-to-one' | 'ended-by-locus';\n displayLocation?:\n | 'toast'\n | 'room-list'\n | 'call-pane'\n | 'call-view'\n | 'room'\n | 'meeting-list'\n | 'meeting'\n | 'personal-meeting-room'\n | 'intents'\n | 'external-link'\n | 'automation'\n | 'meeting-information'\n | 'contact-card'\n | 'control-center'\n | 'search-result'\n | 'other';\n displayType?: 'scheduled';\n dialedDomain?: string;\n isScheduled?: boolean;\n guestModeShare?: boolean;\n highFpsModeShare?: boolean;\n contentAudioShare?: boolean;\n pairingState?: 'paired' | 'observing' | 'challenging';\n pairedDevice?: {\n deviceType?: string;\n deviceId?: string;\n deviceURL?: string;\n modelNumber?: string;\n productName?: string;\n tempSipUri?: string;\n };\n /**\n * Information about the sender of the event\n */\n oldOrigin?: {\n name:\n | 'antares'\n | 'beech'\n | 'breakout'\n | 'cb'\n | 'cloudproxy'\n | 'edonus'\n | 'endpoint'\n | 'givr'\n | 'hecate'\n | 'hedge'\n | 'hesiod'\n | 'homer'\n | 'superhomer'\n | 'l2sip'\n | 'linus'\n | 'locus'\n | 'mcc'\n | 'mcs'\n | 'mercury'\n | 'mes'\n | 'mjs'\n | 'mmp'\n | 'mygdon'\n | 'orpheus'\n | 'page'\n | 'poros'\n | 'rhesos'\n | 'terminus'\n | 'tpgw'\n | 'ucc'\n | 'wdm'\n | 'webexivr';\n userAgent: string;\n buildType?: 'debug' | 'test' | 'prod' | 'tap' | 'analyzer-test';\n /**\n * Will be used as a label for client software status\n */\n upgradeChannel?: string;\n /**\n * Identifier for a particular instance of a service, such as a particular linus\n */\n instanceId?: string;\n networkType: 'wifi' | 'ethernet' | 'cellular' | 'unknown';\n localIP?: string;\n usingProxy?: boolean;\n mediaEngineSoftwareVersion?: string;\n environment?: string;\n newEnvironment?: string;\n /**\n * Details of client environment\n */\n clientInfo?: {\n os: 'windows' | 'mac' | 'linux' | 'ios' | 'android' | 'chrome' | 'uwp-arm64' | 'other';\n osVersion: string;\n localIP?: string;\n gatewayIP?: string;\n macAddress?: string;\n localNetworkPrefix?: string;\n publicNetworkPrefix?: string;\n browserLaunchMethod?:\n | 'activex'\n | 'npapi'\n | 'extension'\n | 'cwsapi'\n | 'java'\n | 'tfs'\n | 'webacd'\n | 'url-handler'\n | 'thinclient';\n clientLaunchMethod?:\n | 'url-handler'\n | 'universal-link'\n | 'voice-command'\n | 'notification'\n | 'manual'\n | 'teams-cross-launch';\n browser?: string;\n browserVersion?: string;\n /**\n * this defines the major client types\n */\n clientType?:\n | 'MEETING_CENTER'\n | 'EVENT_CENTER'\n | 'TRAINING_CENTER'\n | 'TEAMS_CLIENT'\n | 'TEAMS_DEVICE'\n | 'TEAMS_SHARE'\n | 'SIP'\n | 'RECORDING'\n | 'CLOUD_AWARE_SIP'\n | 'TEAMS_WXC_CLIENT'\n | 'WXC_CLIENT'\n | 'WXC_DEVICE'\n | 'WEBEX_JS_SDK'\n | 'VOICEA_CLIENT'\n | 'CISCO_SIP_GW'\n | 'WEBEX_SDK'\n | 'CPAAS_THIRD_PARTY_SDK'\n | 'WXC_THIRD_PARTY';\n /**\n * this defines the sub types of clients\n */\n subClientType?:\n | 'DESKTOP_APP'\n | 'DESKTOP_APP_VDI'\n | 'DEVICE_CURRENT'\n | 'DEVICE_LEGACY_2020'\n | 'HVDI_APP'\n | 'MOBILE_APP'\n | 'VDI_APP'\n | 'WEB_APP'\n | 'MOBILE_NETWORK'\n | 'HOLOGRAM_HEADSET_APP';\n clientVersion?: string;\n localClientVersion?: string;\n modelNumber?: string;\n joinFirstUpdateLater?: 'ep-enabled' | 'sp-enabled' | 'not-enabled';\n standbyUsed?: boolean;\n prefetchDocShowUsed?: boolean;\n fastJoinUsed?: boolean;\n clientDownloadSize?: number;\n clientDownloadFileCount?: number;\n nodeId?: number;\n machineInfo?: string;\n parentAppName?: string;\n parentAppInPermitList?: boolean;\n meetingSiteType?: 'train' | 'webex-11' | 'orion';\n CDNEnabled?: boolean;\n clientMajorVersion?: string;\n majorVersion?: number;\n minorVersion?: number;\n revision?: number;\n isValidClientVersion?: boolean;\n /**\n * This object defines the fields related to the CPU being used by the emitter of the event\n */\n cpuInfo?: {\n description: string;\n clockSpeedGigaHertz: number;\n numberOfCores: number;\n architecture:\n | 'intel32'\n | 'intel64'\n | 'amd32'\n | 'amd64'\n | 'arm32'\n | 'arm64'\n | 'unknown';\n staticPerformance?: string;\n };\n shareType?:\n | 'cb-normal-share'\n | 'ce-airplay-share'\n | 'ce-direct-share'\n | 'ce-gui-loopback-share'\n | 'ce-input-source-share'\n | 'ce-input-source-share-hdmi'\n | 'ce-input-source-share-usbc'\n | 'ce-jpg-share'\n | 'ce-miracast-share'\n | 'mcs-normal-share'\n | 'mcs-normal-audio-share'\n | 'mcs-hfps-share'\n | 'mcs-hfps-audio-share';\n /**\n * Video display mode currently in use\n */\n videoDisplayMode?: 'grid-view' | 'active-speaker-view';\n videoLayoutType?:\n | 'stack'\n | 'stackWithShare'\n | 'sideBySide'\n | 'sideBySideWithShare'\n | 'grid'\n | 'floatingActive'\n | 'floatingThumbnail'\n | 'floatingGrid'\n | 'overlay'\n | 'focus'\n | 'prominent'\n | 'focusWithShare'\n | 'prominentWithShare'\n | 'equal'\n | 'equalWithShare';\n /**\n * this defines the video render type of meetings\n */\n videoRenderType?: 'wme' | 'client_d3d' | 'client_gdi';\n vdiInfo?: unknown;\n is64BitsClient?: boolean;\n webexAppVersion?: string;\n /**\n * this defines launch 32 bits client reason\n */\n launch32BitsReason?:\n | 'forcewin32'\n | 'disablewin64'\n | 'platform_win32'\n | 'platform_arm'\n | 'platform_unknown'\n | 'version_below_41.11';\n inMeetingUpdate?: boolean;\n mtaVersion?: string;\n isWarholOpening?: boolean;\n };\n isHybridMedia?: boolean;\n originData?: {};\n };\n reachabilityStatus?: 'none' | 'all-false' | 'partial-success' | 'all-success';\n recoveredBy?: 'retry' | 'new';\n joinType?: 'auto' | 'no-locus-join';\n audioJoinType?:\n | 'phone-call-in'\n | 'phone-call-back'\n | 'voip'\n | 'device-call-back'\n | 'never-join-audio';\n isVideoMuted?: boolean;\n /**\n * phrased HTTP timing\n */\n joinHttpTiming?: {\n connect?: number;\n dnsLookup?: number;\n sendRequest?: number;\n compressRequest?: number;\n receiveResponse?: number;\n extractJson?: number;\n verifyCert?: number;\n refreshToken?: number;\n };\n icePhase?: 'JOIN_MEETING_FINAL' | 'JOIN_MEETING_RETRY' | 'IN_MEETING';\n userType?: 'host' | 'attendee' | 'cohost' | 'panelist';\n updateType?: 'new-user' | 'update-user' | 'return-user';\n isRoapCallEnabled?: boolean;\n isFirstTimeUser?: boolean;\n responseCode?: number;\n /**\n * Join Meeting Time\n */\n joinTimes?: {\n totalJmt?: number;\n pageJmt?: number;\n pluginJmt?: number;\n clientJmt?: number;\n cbJmt?: number;\n clickToInterstitial?: number;\n interstitialToJoinOK?: number;\n getPCParametersTime?: number;\n getGPCParametersTime?: number;\n getDocShowTime?: number;\n guestTokenRetrievalTime?: number;\n showInterstitialTime?: number;\n clientDownloadTime?: number;\n clientDecompressTime?: number;\n GLAJmt?: number;\n pingJmt?: number;\n joinConfJmt?: number;\n announceJmt?: number;\n launchAppJmt?: number;\n networkLatency?: number;\n meetingInfoReqResp?: number;\n joinReqResp?: number;\n callInitJoinReq?: number;\n JMTDetail?: string;\n localSDPGenRemoteSDPRecv?: number;\n locusJoinReqResp?: number;\n joinReqSentReceived?: number;\n joinRespSentReceived?: number;\n locusBreakoutSessionMoveReqResp?: number;\n ICESetupTime?: number;\n callInitMediaEngineReady?: number;\n getU2CTime?: number;\n getWCATime?: number;\n gotKeyTime?: number;\n useKeyTime?: number;\n cacheKeyTime?: number;\n detectVDITime?: number;\n connectVDITime?: number;\n mmpPreConnected?: boolean;\n audioMCCJMT?: number;\n audioMCSJMT?: number;\n audioCBJMT?: number;\n audioTAJMT?: number;\n audioPstnJMT?: number;\n clientPstnDialOutJMT?: number;\n pstnDialInReferL2SIPJoinReq?: number;\n pstnDialInReferL2SIPRoapOk?: number;\n videoMCCJMT?: number;\n videoMCSJMT?: number;\n videoCBJMT?: number;\n videoJMT?: number;\n WDMRegistrationTime?: number;\n audioVOIPJMT?: number;\n audioCallbackJMT?: number;\n deviceCallbackJMT?: number;\n deviceParingJMT?: number;\n exchangeCITokenJMT?: number;\n registerWDMDeviceJMT?: number;\n interstitialToMediaOKJMT?: number;\n clickToMediaOKJMT?: number;\n stayLobbyTime?: number;\n totalMediaJMT?: number;\n loginTime?: number;\n loggedToInterstitial?: number;\n audioICESetupTime?: number;\n videoICESetupTime?: number;\n shareICESetupTime?: number;\n initializeCameraTime?: number;\n installerJmt?: number;\n getAppMetadataTime?: number;\n downloadMsiTime?: number;\n installAppTime?: number;\n downloadTime?: number;\n decompressTime?: number;\n roapOfferRespTime?: number;\n roapAnswerTime?: number;\n roapOkTime?: number;\n roapOfferReqToOkTime?: number;\n };\n /**\n * ROAP message details\n */\n roap?: {\n type?:\n | 'ANSWER'\n | 'ERROR'\n | 'OFFER'\n | 'OFFER_REQUEST'\n | 'OFFER_RESPONSE'\n | 'OK'\n | 'TURN_DISCOVERY_REQUEST'\n | 'TURN_DISCOVERY_RESPONSE';\n messageType?:\n | 'ANSWER'\n | 'ERROR'\n | 'OFFER'\n | 'OFFER_REQUEST'\n | 'OFFER_RESPONSE'\n | 'OK'\n | 'TURN_DISCOVERY_REQUEST'\n | 'TURN_DISCOVERY_RESPONSE';\n error?: string;\n duration?: number;\n };\n /**\n * 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.\n */\n mediaMetadata?: {\n mediaEngineSoftwareType: string;\n mediaEngineSoftwareVersion: string;\n applicationSoftwareType: string;\n applicationSoftwareVersion: string;\n hardwareType?: string;\n clientRegion?: string;\n serverRegion?: string;\n serverOrg?: string;\n serverGroup?: string;\n serverAlias?: string;\n serverDeployType?: 'private' | 'public';\n startTime: string;\n endTime?: string;\n csi?: number[];\n isCascade?: boolean;\n isHybridMedia?: boolean;\n videoMeshClusterName?: string;\n videoMeshServerName?: string;\n isTIP?: boolean;\n isMARI?: boolean;\n has264Checksum?: boolean;\n intervalPeriod?: number;\n cascadePeerRegion?: string;\n cascadePeerOrg?: string;\n cascadePeerGroup?: string;\n cascadePeerAlias?: string;\n cascadePeerServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n cascadePeerDeployType?: 'private' | 'public';\n };\n /**\n * Details of server environment\n */\n serverInfo?: {\n serverType:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n serverAddress?: string;\n };\n /**\n * Details of client connect session\n */\n videoSession?: {\n mediaSessionType?:\n | 'AUDIO_CALLBACK'\n | 'AUDIO_VOIP'\n | 'DEVICE_CALLBACK'\n | 'DEVICE_PAIRING'\n | 'VIDEO';\n isSuccess?: boolean;\n signalingServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n signalingServerAddress?: string;\n mediaServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n mediaServerAddress?: string;\n errorDescription?: string;\n errorCode?: number;\n mediaErrorType?:\n | 'NO_ERROR'\n | 'DEVICE_ERROR'\n | 'LOAD_LIBRARY_ERROR'\n | 'MCS_SESSION_CONNECT_ERROR'\n | 'CB_SESSION_CREATE_ERROR'\n | 'NO_FRAME_DECODE_ERROR'\n | 'NO_PACKET_RECV_ERROR'\n | 'LOW_VOLUME_ERROR'\n | 'INITIAL_MEMORY_ERROR'\n | 'MAC_VIRTUAL_AUDIO_DRV_ERROR'\n | 'MMP_SESSION_CONNECT_ERROR'\n | 'MEDIA_PROCESS_CRASH_ERROR'\n | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR'\n | 'MEDIA_SERVER_CONNECT_ERROR'\n | 'LOCUS_SESSION_CONNECT_ERROR'\n | 'NO_PACKET_SEND_ERROR'\n | 'NETWORK_LOST_ERROR'\n | 'MEDIA_NOT_AVAILABLE';\n isJoinAtStart?: boolean;\n };\n /**\n * Details of client connect session\n */\n audioVOIPSession?: {\n mediaSessionType?:\n | 'AUDIO_CALLBACK'\n | 'AUDIO_VOIP'\n | 'DEVICE_CALLBACK'\n | 'DEVICE_PAIRING'\n | 'VIDEO';\n isSuccess?: boolean;\n signalingServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n signalingServerAddress?: string;\n mediaServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n mediaServerAddress?: string;\n errorDescription?: string;\n errorCode?: number;\n mediaErrorType?:\n | 'NO_ERROR'\n | 'DEVICE_ERROR'\n | 'LOAD_LIBRARY_ERROR'\n | 'MCS_SESSION_CONNECT_ERROR'\n | 'CB_SESSION_CREATE_ERROR'\n | 'NO_FRAME_DECODE_ERROR'\n | 'NO_PACKET_RECV_ERROR'\n | 'LOW_VOLUME_ERROR'\n | 'INITIAL_MEMORY_ERROR'\n | 'MAC_VIRTUAL_AUDIO_DRV_ERROR'\n | 'MMP_SESSION_CONNECT_ERROR'\n | 'MEDIA_PROCESS_CRASH_ERROR'\n | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR'\n | 'MEDIA_SERVER_CONNECT_ERROR'\n | 'LOCUS_SESSION_CONNECT_ERROR'\n | 'NO_PACKET_SEND_ERROR'\n | 'NETWORK_LOST_ERROR'\n | 'MEDIA_NOT_AVAILABLE';\n isJoinAtStart?: boolean;\n };\n /**\n * Details of client connect session\n */\n audioCallbackSession?: {\n mediaSessionType?:\n | 'AUDIO_CALLBACK'\n | 'AUDIO_VOIP'\n | 'DEVICE_CALLBACK'\n | 'DEVICE_PAIRING'\n | 'VIDEO';\n isSuccess?: boolean;\n signalingServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n signalingServerAddress?: string;\n mediaServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n mediaServerAddress?: string;\n errorDescription?: string;\n errorCode?: number;\n mediaErrorType?:\n | 'NO_ERROR'\n | 'DEVICE_ERROR'\n | 'LOAD_LIBRARY_ERROR'\n | 'MCS_SESSION_CONNECT_ERROR'\n | 'CB_SESSION_CREATE_ERROR'\n | 'NO_FRAME_DECODE_ERROR'\n | 'NO_PACKET_RECV_ERROR'\n | 'LOW_VOLUME_ERROR'\n | 'INITIAL_MEMORY_ERROR'\n | 'MAC_VIRTUAL_AUDIO_DRV_ERROR'\n | 'MMP_SESSION_CONNECT_ERROR'\n | 'MEDIA_PROCESS_CRASH_ERROR'\n | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR'\n | 'MEDIA_SERVER_CONNECT_ERROR'\n | 'LOCUS_SESSION_CONNECT_ERROR'\n | 'NO_PACKET_SEND_ERROR'\n | 'NETWORK_LOST_ERROR'\n | 'MEDIA_NOT_AVAILABLE';\n isJoinAtStart?: boolean;\n };\n /**\n * Details of client connect session\n */\n devicePairingSession?: {\n mediaSessionType?:\n | 'AUDIO_CALLBACK'\n | 'AUDIO_VOIP'\n | 'DEVICE_CALLBACK'\n | 'DEVICE_PAIRING'\n | 'VIDEO';\n isSuccess?: boolean;\n signalingServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n signalingServerAddress?: string;\n mediaServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n mediaServerAddress?: string;\n errorDescription?: string;\n errorCode?: number;\n mediaErrorType?:\n | 'NO_ERROR'\n | 'DEVICE_ERROR'\n | 'LOAD_LIBRARY_ERROR'\n | 'MCS_SESSION_CONNECT_ERROR'\n | 'CB_SESSION_CREATE_ERROR'\n | 'NO_FRAME_DECODE_ERROR'\n | 'NO_PACKET_RECV_ERROR'\n | 'LOW_VOLUME_ERROR'\n | 'INITIAL_MEMORY_ERROR'\n | 'MAC_VIRTUAL_AUDIO_DRV_ERROR'\n | 'MMP_SESSION_CONNECT_ERROR'\n | 'MEDIA_PROCESS_CRASH_ERROR'\n | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR'\n | 'MEDIA_SERVER_CONNECT_ERROR'\n | 'LOCUS_SESSION_CONNECT_ERROR'\n | 'NO_PACKET_SEND_ERROR'\n | 'NETWORK_LOST_ERROR'\n | 'MEDIA_NOT_AVAILABLE';\n isJoinAtStart?: boolean;\n };\n /**\n * Details of client connect session\n */\n deviceCallbackSession?: {\n mediaSessionType?:\n | 'AUDIO_CALLBACK'\n | 'AUDIO_VOIP'\n | 'DEVICE_CALLBACK'\n | 'DEVICE_PAIRING'\n | 'VIDEO';\n isSuccess?: boolean;\n signalingServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n signalingServerAddress?: string;\n mediaServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n mediaServerAddress?: string;\n errorDescription?: string;\n errorCode?: number;\n mediaErrorType?:\n | 'NO_ERROR'\n | 'DEVICE_ERROR'\n | 'LOAD_LIBRARY_ERROR'\n | 'MCS_SESSION_CONNECT_ERROR'\n | 'CB_SESSION_CREATE_ERROR'\n | 'NO_FRAME_DECODE_ERROR'\n | 'NO_PACKET_RECV_ERROR'\n | 'LOW_VOLUME_ERROR'\n | 'INITIAL_MEMORY_ERROR'\n | 'MAC_VIRTUAL_AUDIO_DRV_ERROR'\n | 'MMP_SESSION_CONNECT_ERROR'\n | 'MEDIA_PROCESS_CRASH_ERROR'\n | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR'\n | 'MEDIA_SERVER_CONNECT_ERROR'\n | 'LOCUS_SESSION_CONNECT_ERROR'\n | 'NO_PACKET_SEND_ERROR'\n | 'NETWORK_LOST_ERROR'\n | 'MEDIA_NOT_AVAILABLE';\n isJoinAtStart?: boolean;\n };\n /**\n * report when client crash\n */\n crashReport?: {\n /**\n * data define for background noise removal event\n */\n eventData?: {\n crashType?: 'client' | 'other' | 'thirdparty' | 'wme' | 'mta';\n processName?: string;\n moduleName?: string;\n threadInfo?: string;\n crashFrame?: string;\n crashStack?: string;\n exceptionType?: 'unset' | 'crash' | 'freeze' | 'disappear';\n lastAction?: string;\n forTrace?: boolean;\n registerInfo?: string;\n extData?: string;\n };\n };\n clientCrashCallStack?: string;\n /**\n * Details of breakout session information, sent after end of breakout session\n */\n breakoutSessionSummaryInfo?: {\n duration: number;\n subConferenceCount: number;\n totalAttendeeCount: number;\n participantCount: number;\n assignedparticipantCount: number;\n cohostCount: number;\n averageAttendeeCountPerSubConference: number;\n totalHostJoinedCount: number;\n isBoStarted: boolean;\n isBoEnabled: boolean;\n isPreAssigned: boolean;\n boStartedTimers: number;\n createType: 'pre-meeting' | 'in-meeting';\n enableType: 'pre-meeting' | 'in-meeting';\n };\n breakoutSessionAction?:\n | 'add'\n | 'assign'\n | 'ask-for-help'\n | 'breakout-session-open'\n | 'breakout-session-close'\n | 'breakout-session-mute-all'\n | 'breakout-session-unmute-all'\n | 'broadcast-open'\n | 'broadcast-send'\n | 'cancel-automatic-close'\n | 'create'\n | 'delete'\n | 'disable'\n | 'dynamic-assign'\n | 'dynamic-exchange'\n | 'end'\n | 'enable'\n | 'exchange'\n | 'join'\n | 'leave'\n | 'lock-all-sessions'\n | 'lock-this-sessions'\n | 'moveto'\n | 'mute-all'\n | 'mute-all-set'\n | 'recreate'\n | 'remove'\n | 'rename'\n | 'search'\n | 'select-all'\n | 'show-all-sessions'\n | 'start'\n | 'unmute-all'\n | 'unlock-all-sessions'\n | 'unlock-this-sessions'\n | 'allow-leave-session'\n | 'allow-join-session-later'\n | 'auto-end-sessions'\n | 'time-before-leave-session';\n clientAction?:\n | 'changeVolume'\n | 'disableHardMute'\n | 'enableHardMute'\n | 'gesture'\n | 'joinMeetingWithPairedDevice'\n | 'muteAll'\n | 'mutePairedDevice'\n | 'muteSipDevice'\n | 'reaction'\n | 'requestUnmute'\n | 'setLanguage'\n | 'unifyRaiseHand'\n | 'unmuteAll'\n | 'unmutePairedDevice'\n | 'unmuteSipDevice';\n clientActionFrom?:\n | 'actionBar'\n | 'auto'\n | 'breakoutAssignDialog'\n | 'breakoutPopupDialog'\n | 'fitMenu'\n | 'hardMuteMoreOptionsDialog'\n | 'initAction'\n | 'mainMenu'\n | 'plist'\n | 'plistContextMenu'\n | 'plistToolBar'\n | 'videoThumbnail'\n | 'muteAllAction'\n | 'reactionPopupDialog'\n | 'unmuteAllAction';\n clientActionTime?: number;\n /**\n * Details of client action\n */\n clientActionInfo?: {\n clientAction:\n | 'changeVolume'\n | 'disableHardMute'\n | 'enableHardMute'\n | 'gesture'\n | 'joinMeetingWithPairedDevice'\n | 'muteAll'\n | 'mutePairedDevice'\n | 'muteSipDevice'\n | 'reaction'\n | 'requestUnmute'\n | 'setLanguage'\n | 'unifyRaiseHand'\n | 'unmuteAll'\n | 'unmutePairedDevice'\n | 'unmuteSipDevice';\n actionFrom?:\n | 'actionBar'\n | 'auto'\n | 'breakoutAssignDialog'\n | 'breakoutPopupDialog'\n | 'fitMenu'\n | 'hardMuteMoreOptionsDialog'\n | 'initAction'\n | 'mainMenu'\n | 'plist'\n | 'plistContextMenu'\n | 'plistToolBar'\n | 'videoThumbnail'\n | 'muteAllAction'\n | 'reactionPopupDialog'\n | 'unmuteAllAction';\n actionRole?: 'host' | 'attendee' | 'presenter' | 'cohost' | 'self';\n duration?: number;\n fromValue?: string;\n toValue?: string;\n gestureType?: 'clap' | 'none' | 'raiseHand' | 'thumpUp' | 'thumbDown';\n languageAction?:\n | 'openLanguageDialog'\n | 'subscribeTransLanguage'\n | 'unsubscribeTransLanguage'\n | 'changeSpeakLanguage'\n | 'transcriptTurnOnWebexAssistantDialog'\n | 'transcriptTurnOffWebexAssistantDialog'\n | 'transcriptTurnOnWebexAssistantMenu'\n | 'transcriptTurn0ffWebexAssistantMenu'\n | 'transcriptViewHighlightPanel'\n | 'transcriptViewHighlightPanelViaCloseCaption'\n | 'transcriptViewHighlightPanelViaPanelOption'\n | 'transcriptViewHighlightPanelViaWebexAssistant'\n | 'transcriptEnableCloseCaptionDialog'\n | 'transcriptDisableCloseCaptionDialog'\n | 'transcriptDisableCloseCaptionDialogForActiveCCOpen'\n | 'transcriptDisableCloseCaptionDialogViaCCButton'\n | 'transcriptDisableCloseCaptionDialogViaCCDialog'\n | 'transcriptEnableCloseCaptionMenu'\n | 'transcriptDisableCloseCaptionMenu'\n | 'transcriptTabToCaptions'\n | 'transcriptTabToHighlights'\n | 'transcriptCreateHighlight'\n | 'transcriptDeleteHighlightInHighlight'\n | 'transcriptDeleteHighlightInCaptions'\n | 'transcriptChangeFontSize'\n | 'transcriptBackToDefaultPosition'\n | 'transcriptChangeModeToDark'\n | 'transcriptChangeModeToLight';\n fromLanguage?:\n | 'lan_af'\n | 'lan_sq'\n | 'lan_am'\n | 'lan_ar'\n | 'lan_hy'\n | 'lan_az'\n | 'lan_eu'\n | 'lan_be'\n | 'lan_bn'\n | 'lan_bs'\n | 'lan_bg'\n | 'lan_ca'\n | 'lan_ceb'\n | 'lan_zh'\n | 'lan_zh-TW'\n | 'lan_co'\n | 'lan_hr'\n | 'lan_cs'\n | 'lan_da'\n | 'lan_nl'\n | 'lan_en'\n | 'lan_en-GB'\n | 'lan_eo'\n | 'lan_et'\n | 'lan_fi'\n | 'lan_fr'\n | 'lan_fr-CA'\n | 'lan_fy'\n | 'lan_gl'\n | 'lan_ka'\n | 'lan_de'\n | 'lan_el'\n | 'lan_gu'\n | 'lan_ht'\n | 'lan_ha'\n | 'lan_haw'\n | 'lan_he'\n | 'lan_hi'\n | 'lan_hmn'\n | 'lan_hu'\n | 'lan_is'\n | 'lan_ig'\n | 'lan_id'\n | 'lan_ga'\n | 'lan_it'\n | 'lan_ja'\n | 'lan_jv'\n | 'lan_kn'\n | 'lan_kk'\n | 'lan_km'\n | 'lan_rw'\n | 'lan_ko'\n | 'lan_ku'\n | 'lan_ky'\n | 'lan_lo'\n | 'lan_la'\n | 'lan_lv'\n | 'lan_lt'\n | 'lan_lb'\n | 'lan_mk'\n | 'lan_mg'\n | 'lan_ms'\n | 'lan_ml'\n | 'lan_mt'\n | 'lan_mi'\n | 'lan_mr'\n | 'lan_mn'\n | 'lan_my'\n | 'lan_ne'\n | 'lan_no'\n | 'lan_ny'\n | 'lan_or'\n | 'lan_ps'\n | 'lan_fa'\n | 'lan_pl'\n | 'lan_pt'\n | 'lan_pa'\n | 'lan_ro'\n | 'lan_ru'\n | 'lan_sm'\n | 'lan_gd'\n | 'lan_sr'\n | 'lan_st'\n | 'lan_sn'\n | 'lan_sd'\n | 'lan_si'\n | 'lan_sk'\n | 'lan_sl'\n | 'lan_so'\n | 'lan_es'\n | 'lan_es-ES'\n | 'lan_su'\n | 'lan_sw'\n | 'lan_sv'\n | 'lan_tl'\n | 'lan_tg'\n | 'lan_ta'\n | 'lan_tt'\n | 'lan_te'\n | 'lan_th'\n | 'lan_tr'\n | 'lan_tk'\n | 'lan_uk'\n | 'lan_ur'\n | 'lan_ug'\n | 'lan_uz'\n | 'lan_vi'\n | 'lan_cy'\n | 'lan_xh'\n | 'lan_yi'\n | 'lan_yo'\n | 'lan_zu';\n toLanguage?:\n | 'lan_af'\n | 'lan_sq'\n | 'lan_am'\n | 'lan_ar'\n | 'lan_hy'\n | 'lan_az'\n | 'lan_eu'\n | 'lan_be'\n | 'lan_bn'\n | 'lan_bs'\n | 'lan_bg'\n | 'lan_ca'\n | 'lan_ceb'\n | 'lan_zh'\n | 'lan_zh-TW'\n | 'lan_co'\n | 'lan_hr'\n | 'lan_cs'\n | 'lan_da'\n | 'lan_nl'\n | 'lan_en'\n | 'lan_en-GB'\n | 'lan_eo'\n | 'lan_et'\n | 'lan_fi'\n | 'lan_fr'\n | 'lan_fr-CA'\n | 'lan_fy'\n | 'lan_gl'\n | 'lan_ka'\n | 'lan_de'\n | 'lan_el'\n | 'lan_gu'\n | 'lan_ht'\n | 'lan_ha'\n | 'lan_haw'\n | 'lan_he'\n | 'lan_hi'\n | 'lan_hmn'\n | 'lan_hu'\n | 'lan_is'\n | 'lan_ig'\n | 'lan_id'\n | 'lan_ga'\n | 'lan_it'\n | 'lan_ja'\n | 'lan_jv'\n | 'lan_kn'\n | 'lan_kk'\n | 'lan_km'\n | 'lan_rw'\n | 'lan_ko'\n | 'lan_ku'\n | 'lan_ky'\n | 'lan_lo'\n | 'lan_la'\n | 'lan_lv'\n | 'lan_lt'\n | 'lan_lb'\n | 'lan_mk'\n | 'lan_mg'\n | 'lan_ms'\n | 'lan_ml'\n | 'lan_mt'\n | 'lan_mi'\n | 'lan_mr'\n | 'lan_mn'\n | 'lan_my'\n | 'lan_ne'\n | 'lan_no'\n | 'lan_ny'\n | 'lan_or'\n | 'lan_ps'\n | 'lan_fa'\n | 'lan_pl'\n | 'lan_pt'\n | 'lan_pa'\n | 'lan_ro'\n | 'lan_ru'\n | 'lan_sm'\n | 'lan_gd'\n | 'lan_sr'\n | 'lan_st'\n | 'lan_sn'\n | 'lan_sd'\n | 'lan_si'\n | 'lan_sk'\n | 'lan_sl'\n | 'lan_so'\n | 'lan_es'\n | 'lan_es-ES'\n | 'lan_su'\n | 'lan_sw'\n | 'lan_sv'\n | 'lan_tl'\n | 'lan_tg'\n | 'lan_ta'\n | 'lan_tt'\n | 'lan_te'\n | 'lan_th'\n | 'lan_tr'\n | 'lan_tk'\n | 'lan_uk'\n | 'lan_ur'\n | 'lan_ug'\n | 'lan_uz'\n | 'lan_vi'\n | 'lan_cy'\n | 'lan_xh'\n | 'lan_yi'\n | 'lan_yo'\n | 'lan_zu';\n reactionType?:\n | 'celebrate'\n | 'clap'\n | 'haha'\n | 'love'\n | 'sad'\n | 'smile'\n | 'thumbUp'\n | 'thumbDown'\n | 'wow'\n | 'collapse'\n | 'disable'\n | 'enable'\n | 'disableGestures'\n | 'enableGestures'\n | 'expand'\n | 'openMenu';\n unifyRaiseHand?: 'lowerHand' | 'lowerAllHand' | 'raiseHand';\n };\n clientEventType?: 'normal-event' | 'user-action';\n /**\n * Audio background noise removal\n */\n audioNoiseRemoval?: {\n /**\n * background noise removal action data\n */\n actionData?: {\n bnrActionType: 'turn-on-bnr' | 'turn-off-bnr';\n };\n /**\n * background noise removal event data\n */\n eventData?: {\n bnrEventType: 'bnr-on' | 'bnr-off';\n };\n };\n /**\n * Details of client action\n */\n gestureRecognition?: {\n supportedMachine?: boolean;\n gestureType?: 'clap' | 'none' | 'raiseHand' | 'thumpUp' | 'thumbDown';\n duration?: number;\n };\n /**\n * post meeting hook report\n */\n postMeetingHook?: {\n /**\n * data define for background noise removal action\n */\n actionData?: {\n pmhActionType: 'share' | 'view-details' | 'close';\n pmhActionResult?: string;\n };\n /**\n * data define for background noise removal event\n */\n eventData?: {\n pmhEventType: 'used' | 'not-show-again';\n };\n };\n breakoutSessionJoinType?: 'any-one-can-join' | 'auto' | 'manual' | 'preassign-rest';\n breakoutSessionActionClickFrom?:\n | 'actionbar'\n | 'assign-dialog'\n | 'auto'\n | 'breakout-session-list'\n | 'contextmenu'\n | 'menu'\n | 'plist'\n | 'popup-dialog';\n broadcastSendType?:\n | 'all-sessions-all-participants'\n | 'all-sessions-all-cohost-and-presenters'\n | 'one-session-all-participants'\n | 'one-session-one-participant';\n breakoutSessionDialogOpenTime?: number;\n breakoutSessionDialogAssignTime?: number;\n /**\n * call embedded browser object result, if failed, will populate error at Error item\n */\n embeddedBrowserObject?: {\n browserType: 'IE' | 'WebView2';\n version?: string;\n callFrom?: string;\n };\n /**\n * data define for download detail data\n */\n downloadInfo?: {\n percentCompleted?: number;\n packageName?: string;\n timestamp?: string;\n clientDownloadFileCount?: number;\n clientDownloadSize?: number;\n clientDownloadTime?: number;\n clientDecompressTime?: number;\n CDNEnabled?: boolean;\n updateFlag?: 'preMeeting' | 'inMeeting' | 'postMeeting';\n epSP?: boolean;\n isEPUpdate?: boolean;\n spDifferent?: number;\n spVersionDelta?: number;\n deltaUpdate?: boolean;\n deltaListDownloadTime?: number;\n deltaPackageDownloadTime?: number;\n deltaCachePackageCopyTime?: number;\n deltaApplyTime?: number;\n deltaPackageUncompressTime?: number;\n deltaDuration?: number;\n deltaVersion?: string;\n deltaDownloadFullPackage?: boolean;\n deltaFileSize?: number;\n deltaUpdateEnabled?: boolean;\n deltaFullpackageDownloadEnabled?: boolean;\n deltaUpdateErrorType?: string;\n deltaUpdateSuccess?: string;\n deltaFullpackageDownloadVersion?: string;\n deltaFullpackageDownloadSuccess?: string;\n deltaUpdateCorrelationId?: string;\n deltaFullpackageDownloadCorrelationId?: string;\n deltaTargetVersion?: string;\n deltaLocalFullPackageVersions?: string;\n deltaUpdateFailReason?: string;\n deltaUpdateTimeStamp?: string;\n };\n isInstallWebView2?: boolean;\n loginType?:\n | 'no-login'\n | 'login-page'\n | 'reuse-ci-token'\n | 'reuse-site-token'\n | 'login-ci'\n | 'login-site'\n | 'unverified-guest';\n loginCrossSite?: boolean;\n crossBrowserLogin?: boolean;\n isMultiSiteUser?: boolean;\n /**\n * The metadata associated with the emitter of the event. This data is separate from the source metadata and must be emitted with every event.\n */\n mediaQualityMetadata?: {\n peerReflexiveIP?: string;\n maskedPeerReflexiveIP?: string;\n remoteMediaIP?: string;\n maskedRemoteMediaIP?: string;\n staticPerformanceLevel?: number;\n processAverageCPU?: number;\n processMaximumCPU?: number;\n systemAverageCPU?: number;\n systemMaximumCPU?: number;\n systemAverageGPU?: number;\n systemMaximumGPU?: number;\n /**\n * this object defines the memory related fields that are tracked in media quality events and reports\n */\n memoryUsage?: {\n processAverageMemoryUsage: number;\n processMaximumMemoryUsage: number;\n systemAverageMemoryUsage: number;\n systemMaximumMemoryUsage: number;\n processMaximumMemoryBytes: number;\n mainProcessMaximumMemoryBytes: number;\n osBitWidth: number;\n cpuBitWidth: number;\n };\n peripherals?: {\n name: 'camera' | 'microphone' | 'speaker';\n information: string;\n driver?: string;\n errorCode?: string;\n connectionType?: unknown;\n bluetoothMode?: unknown;\n }[];\n /**\n * information object for the peripheral\n */\n cameraInfo?: {\n name: 'camera' | 'microphone' | 'speaker';\n information: string;\n driver?: string;\n errorCode?: string;\n connectionType?: unknown;\n bluetoothMode?: unknown;\n };\n /**\n * information object for the peripheral\n */\n microphoneInfo?: {\n name: 'camera' | 'microphone' | 'speaker';\n information: string;\n driver?: string;\n errorCode?: string;\n connectionType?: unknown;\n bluetoothMode?: unknown;\n };\n /**\n * information object for the peripheral\n */\n speakerInfo?: {\n name: 'camera' | 'microphone' | 'speaker';\n information: string;\n driver?: string;\n errorCode?: string;\n connectionType?: unknown;\n bluetoothMode?: unknown;\n };\n /**\n * This object defines the fields related to the CPU being used by the emitter of the event\n */\n cpuInfo?: {\n description: string;\n clockSpeedGigaHertz: number;\n numberOfCores: number;\n architecture: 'intel32' | 'intel64' | 'amd32' | 'amd64' | 'arm32' | 'arm64' | 'unknown';\n staticPerformance?: string;\n };\n /**\n * Thread level cpu performance insights\n */\n cpuDataDetail?: {\n processesData?: unknown[];\n coresCpuData?: unknown[];\n coreVariance?: number;\n };\n /**\n * This object defines the fields related to the GPU being used by the emitter of the event\n */\n defaultGpuInfo?: {\n description: string;\n memoryMegaBytes: number;\n };\n otherGpuInfo?: {\n description: string;\n memoryMegaBytes: number;\n }[];\n dpcRecord?: string[];\n mediaLabels?: string[];\n screenResolution?: number;\n appWindowSize?: number;\n appWindowHeight?: number;\n appWindowWidth?: number;\n meetingUserCount?: number;\n videoUserCount?: number;\n numScreens?: number;\n configuredBitrate?: number;\n };\n sessionType?:\n | 'AD_HOC'\n | 'ADHOC_UNIFIED_SPACE_MEETING'\n | 'ANSWERED_ELSEWHERE'\n | 'BUTLER'\n | 'CFNA'\n | 'CMR_MEETING'\n | 'DPC_CONTROL'\n | 'EVENT_CENTER_MEETING'\n | 'HALF_ZTM'\n | 'JABBER'\n | 'MEDIA'\n | 'MS_TEAMS'\n | 'NO_JOINS'\n | 'SINGLE_PARTICIPANT'\n | 'SIP_CALL'\n | 'SIP_MEETING'\n | 'SPACE_MEETING'\n | 'SPACE_SHARE'\n | 'SPARK_CALL'\n | 'SPARK_MEETING'\n | 'SPARK_SIP_CALL'\n | 'SPARK_SIP_MEETING'\n | 'UNIFIED_SPACE_MEETING'\n | 'UNKNOWN'\n | 'WHITEBOARD_ONLY_SHARE'\n | 'WIRELESS_SHARE'\n | 'ZTM';\n }\n | {\n canProceed: boolean;\n state?: string;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard' | 'gamestate';\n csi?: number;\n /**\n * media capability for both transmit and receive\n */\n mediaCapabilities?: {\n /**\n * explicit indication of media capabilities. true=supported\n */\n tx: {\n audio: boolean;\n video: boolean;\n share: boolean;\n share_audio: boolean;\n whiteboard: boolean;\n gamestate?: boolean;\n };\n /**\n * explicit indication of media capabilities. true=supported\n */\n rx: {\n audio: boolean;\n video: boolean;\n share: boolean;\n share_audio: boolean;\n whiteboard: boolean;\n gamestate?: boolean;\n };\n };\n mediaLines?: {\n mediaType: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard' | 'gamestate';\n remoteIP?: string;\n localIP?: string;\n localNetworkPrefix?: string;\n localPort?: number;\n remotePort?: number;\n protocol: 'udp' | 'tcp' | 'xtls' | 'unknown';\n direction: 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive';\n clusterName?: string;\n status?: 'succeeded' | 'in-progress' | 'failed';\n failureReason?:\n | 'network'\n | 'transport'\n | 'rejected'\n | 'timeout'\n | 'notstarted'\n | 'succeeded';\n errorCode?: number;\n mediaLineData?: {};\n }[];\n /**\n * allows client to specify media preferences\n */\n clientMediaPreferences?: {\n preferTranscoding: boolean;\n };\n pstnAudioType?: 'dial-in' | 'dial-out';\n /**\n * Base type for the various identifiers used to connect the dots.\n * In general, these should be populated whenever possible. Subtypes may make a particular key required.\n *\n */\n identifiers: {\n attendeeId?: string;\n breakoutGroupId?: string;\n breakoutMoveId?: string;\n breakoutSessionId?: string;\n confluenceId?: string;\n correlationId?: string;\n /**\n * Set of identifiers dedicated to CPaaS clients\n * In general, these should be populated whenever possible. Subtypes may make a particular key required.\n *\n */\n cpaasIdentifiers?: {\n imiTenantId: string;\n devClientId: string;\n imiServiceId: string;\n imiAppId: string;\n sessionId: string;\n sessionInstanceId: string;\n };\n csdmDeviceUrl?: string;\n destinationBreakoutSessionId?: string;\n destinationLocusSessionId?: string;\n destinationLocusUrl?: string;\n destinationVenueId?: string;\n deviceId?: string;\n ivrCallId?: string;\n ivrDialogId?: string;\n ivrId?: string;\n locusId?: string;\n locusSessionId?: string;\n locusStartTime?: string;\n locusUrl?: string;\n mediaAgentAlias?: string;\n mediaAgentGroupId?: string;\n meetClusterName?: string;\n meetingLookupUrl?: string;\n meetingOrgId?: string;\n msteamsTenantGuid?: string;\n msteamsConferenceId?: string;\n oauth2ClientId?: string;\n orgId?: string;\n roomId?: string;\n sipCallId?: string;\n sipSessionId?: {\n local?: string;\n remote?: string;\n };\n sipUri?: string;\n subConfId?: string;\n tenantId?: string;\n trackingId?: string;\n userId?: string;\n venueId?: string;\n venueUrl?: string;\n whiteboardUrl?: string;\n webexConferenceId?: number;\n webexClusterName?: string;\n webexConferenceIdStr?: string;\n webexDataCenter?: string;\n webexGuestId?: number;\n webexMeetingId?: number;\n webexNodeId?: number;\n webexSiteId?: number;\n webexSiteName?: string;\n webexUserId?: number;\n webexWebDomain?: string;\n };\n success?: boolean;\n isTranscoded?: boolean;\n isGatewayed?: boolean;\n isComposed?: boolean;\n /**\n * determine how the events are processed as well as how the reports are aggregated and sliced\n */\n registrationMode?: 'SIP' | 'Cloud' | 'CloudAware';\n /**\n * protocols used to help determine how the events are processed as well as how the reports are aggregated and sliced\n */\n protocol?: 'SIP' | 'H323' | 'Locus' | 'WebRTC';\n /**\n * The underlying service provider of the call.\n */\n meetingPlatform?: 'MsTeams' | 'GoogleMeet' | 'Zoom' | 'Webex';\n labels?: string[];\n webexServiceType?: 'MC' | 'EC' | 'SC' | 'TC' | 'AA' | 'RA' | 'NBR' | 'WRF' | 'HOL';\n /**\n * this defines the sub service type\n */\n webexSubServiceType?:\n | 'PMR'\n | 'Event'\n | 'Training'\n | 'ScheduleMeeting'\n | 'ScheduledMeeting'\n | 'Webinar'\n | 'others';\n ivrDialogType?:\n | 'MEDIA_ON_HOLD'\n | 'ANNOUNCEMENT'\n | 'TONE'\n | 'COLLECT_PIN'\n | 'PROMPT'\n | 'MEDIA_SERVICE_AGENT'\n | 'COLLECT';\n ivrDialogResult?:\n | 'SUCCESS'\n | 'FAILURE'\n | 'HOST_PIN_MATCH'\n | 'GUEST_PIN_MATCH'\n | 'PANELIST_PIN_MATCH'\n | 'NO_MATCH'\n | 'INVALID_PIN';\n callType?:\n | 'VIDEO_DIALIN'\n | 'VIDEO_DIALOUT'\n | 'CASCADE'\n | 'HYBRID_CASCADE'\n | 'PSTN_SIP'\n | 'PSTN_DIALIN'\n | 'PSTN_DIALOUT'\n | 'PSTN_ONLY_DIALIN'\n | 'PSTN_ONLY_DIALOUT'\n | 'H323'\n | 'H323_IP'\n | 'SIP_ENTERPRISE'\n | 'SIP_MOBILE'\n | 'SIP_NATIONAL'\n | 'SIP_INTERNATIONAL'\n | 'SIP_EMERGENCY'\n | 'SIP_OPERATOR'\n | 'SIP_SHORTCODE'\n | 'SIP_TOLLFREE'\n | 'SIP_PREMIUM'\n | 'SIP_URI'\n | 'SIP_INBOUND'\n | 'UNKNOWN'\n | 'ZTM'\n | 'SIP_MEETING';\n eventData?: {};\n derivedSipClientType?:\n | 'SIP_CE_SINGLE_SCREEN'\n | 'SIP_CE_MULTI_SCREEN'\n | 'SIP_JABBER'\n | 'SIP_TIP_SINGLE_SCREEN'\n | 'SIP_TIP_THREE_SCREEN'\n | 'SIP_PSTN'\n | 'SIP_OTHER'\n | 'SIP_WEBEX_CASCADE'\n | 'SIP_NONE';\n /**\n * this defines the major client types\n */\n derivedClientType?:\n | 'MEETING_CENTER'\n | 'EVENT_CENTER'\n | 'TRAINING_CENTER'\n | 'TEAMS_CLIENT'\n | 'TEAMS_DEVICE'\n | 'TEAMS_SHARE'\n | 'SIP'\n | 'RECORDING'\n | 'CLOUD_AWARE_SIP'\n | 'TEAMS_WXC_CLIENT'\n | 'WXC_CLIENT'\n | 'WXC_DEVICE'\n | 'WEBEX_JS_SDK'\n | 'VOICEA_CLIENT'\n | 'CISCO_SIP_GW'\n | 'WEBEX_SDK'\n | 'CPAAS_THIRD_PARTY_SDK'\n | 'WXC_THIRD_PARTY';\n /**\n * this defines the sub types of clients\n */\n derivedSubClientType?:\n | 'DESKTOP_APP'\n | 'DESKTOP_APP_VDI'\n | 'DEVICE_CURRENT'\n | 'DEVICE_LEGACY_2020'\n | 'HVDI_APP'\n | 'MOBILE_APP'\n | 'VDI_APP'\n | 'WEB_APP'\n | 'MOBILE_NETWORK'\n | 'HOLOGRAM_HEADSET_APP';\n serverRole?:\n | 'CONFERENCE'\n | 'TRANSCODER'\n | 'WHITEBOARD_INJECTOR'\n | 'MS_TEAMS_CONFERENCE'\n | 'RECORDING'\n | 'GATEWAY'\n | 'GATEWAY_CLIENT_SIDE'\n | 'UNKNOWN'\n | 'HOLOGRAM_RENDER';\n reconnect?: boolean;\n retryCount?: number;\n meetSimple?: boolean;\n /**\n * represents media quality status report such as no media or drop out\n */\n mediaStatus?: {\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n mediaSuccess?: boolean;\n shareType?:\n | 'cb-normal-share'\n | 'ce-airplay-share'\n | 'ce-direct-share'\n | 'ce-gui-loopback-share'\n | 'ce-input-source-share'\n | 'ce-input-source-share-hdmi'\n | 'ce-input-source-share-usbc'\n | 'ce-jpg-share'\n | 'ce-miracast-share'\n | 'mcs-normal-share'\n | 'mcs-normal-audio-share'\n | 'mcs-hfps-share'\n | 'mcs-hfps-audio-share';\n isTransmitter?: boolean;\n audioJoinType?:\n | 'phone-call-in'\n | 'phone-call-back'\n | 'voip'\n | 'device-call-back'\n | 'never-join-audio'\n | 'tried-but-never-join';\n /**\n * indicates transport type used\n */\n transportType?: 'UDP' | 'TCP' | 'xTLS' | 'TLS';\n additionalData?: {};\n };\n shareInstanceId?: string;\n hologramStreamId?: string;\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n audioSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n videoSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n shareSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n shareAudioSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n whiteboardSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n isFocus?: boolean;\n processingDelay?: number;\n shareType?:\n | 'cb-normal-share'\n | 'ce-airplay-share'\n | 'ce-direct-share'\n | 'ce-gui-loopback-share'\n | 'ce-input-source-share'\n | 'ce-input-source-share-hdmi'\n | 'ce-input-source-share-usbc'\n | 'ce-jpg-share'\n | 'ce-miracast-share'\n | 'mcs-normal-share'\n | 'mcs-normal-audio-share'\n | 'mcs-hfps-share'\n | 'mcs-hfps-audio-share';\n isShareBeingTakenOver?: boolean;\n floorBeneficiaryUpdated?: boolean;\n meetingJoinedTime?: string;\n meetingScheduledTime?: string;\n e2eeKeyEpoch?: number;\n e2eeDecompressRatio?: number;\n keyResponses?: {\n gotKeyTime?: number;\n useKeyTime?: number;\n cacheKeyTime?: number;\n }[];\n e2eeVersion?: 'E2EEV1' | 'E2EEV2' | 'E2EEV3';\n isConvergedArchitectureEnabled?: boolean;\n callingServiceType?: 'CUCM' | 'WEBEXCALLING' | 'BROADWORKS' | 'LOCUS';\n inLobby?: boolean;\n isVIPMeeting?: boolean;\n webexAppEntrypoint?: string;\n firstParticipant?: boolean;\n isImmersiveShare?: boolean;\n /**\n * Request/Response Time for Internal Services\n */\n registeredTimestamps?: {\n locusCreateConfluenceRequestTime?: string;\n locusCreateConfluenceResponseTime?: string;\n locusCreateVenueRequestTime?: string;\n locusCreateVenueResponseTime?: string;\n };\n skipInterstitialWindow?: boolean;\n callDurationSecs?: number;\n /**\n * Details associated with a breakout move\n */\n breakout?: {\n moveType?: 'between_breakout' | 'to_breakout' | 'to_main';\n trigger?: 'assignment_changed' | 'client_initiated' | 'session_ended' | 'session_started';\n startState?: 'joined' | 'lobby';\n endState?: 'joined' | 'lobby';\n };\n /**\n * Latency values associated with breakout session\n */\n breakoutLatency?: {\n boBreakoutMoveProcessed?: number;\n boBreakoutMoveResp?: number;\n boLocusBreakoutMoveResp?: number;\n locusBreakoutMoveResp?: number;\n orpheusConfluenceMoveReqResp?: number;\n };\n /**\n * two-way whiteboard related info\n */\n whiteboard?: {\n action?: 'open' | 'create';\n type?: 'whiteboard' | 'annotation';\n capability?: 'one_way' | 'two_way';\n granted?: 'one_way' | 'two_way';\n };\n /**\n * ROAP message details\n */\n roap?: {\n type?:\n | 'ANSWER'\n | 'ERROR'\n | 'OFFER'\n | 'OFFER_REQUEST'\n | 'OFFER_RESPONSE'\n | 'OK'\n | 'TURN_DISCOVERY_REQUEST'\n | 'TURN_DISCOVERY_RESPONSE';\n messageType?:\n | 'ANSWER'\n | 'ERROR'\n | 'OFFER'\n | 'OFFER_REQUEST'\n | 'OFFER_RESPONSE'\n | 'OK'\n | 'TURN_DISCOVERY_REQUEST'\n | 'TURN_DISCOVERY_RESPONSE';\n error?: string;\n duration?: number;\n };\n remoteAgent?: string;\n name:\n | 'breakout.breakout-session.move.initiated'\n | 'breakout.breakout-session.move.processed'\n | 'breakout.breakout-session.move.request'\n | 'breakout.breakout-session.move.response'\n | 'breakout.locus.breakout-session.move.request'\n | 'breakout.locus.breakout-session.move.response'\n | 'cascade.created'\n | 'cb.cmr.meeting.initiated'\n | 'cb.cmr.meeting.started'\n | 'cb.lookup.url.response'\n | 'cb.meeting.info.request'\n | 'cb.meeting.join.response'\n | 'cb.share.session.response'\n | 'givr.poros.connect'\n | 'givr.poros.verification'\n | 'givr.sip.refer.request'\n | 'givr.sip.refer.response'\n | 'ivr.dialog.begin'\n | 'ivr.dialog.end'\n | 'ivr.join.request'\n | 'ivr.join.response'\n | 'ivr.leave.request'\n | 'ivr.leave.response'\n | 'ivr.notify.request'\n | 'ivr.notify.response'\n | 'locus.breakout-session.move.request'\n | 'locus.breakout-session.move.response'\n | 'locus.call.summary'\n | 'locus.correlation-id.replaced'\n | 'locus.decline.response'\n | 'locus.device.state-change'\n | 'locus.disconnected-client'\n | 'locus.host.joined'\n | 'locus.intent.delete'\n | 'locus.ivr.begin'\n | 'locus.ivr.end'\n | 'locus.join.authorized'\n | 'locus.join.request'\n | 'locus.join.response'\n | 'locus.leave.response'\n | 'locus.lobby.enter'\n | 'locus.lobby.left'\n | 'locus.lobby.moved-to-meeting'\n | 'locus.lobby.pin-required'\n | 'locus.lookup.url.response'\n | 'locus.media.connected'\n | 'locus.media.muted'\n | 'locus.media.request'\n | 'locus.media.response'\n | 'locus.media.unmuted'\n | 'locus.meeting-bridge.cancel'\n | 'locus.meeting-bridge.initiated'\n | 'locus.meeting-bridge.terminated'\n | 'locus.meeting.ended'\n | 'locus.migrate'\n | 'locus.poros.call.connected'\n | 'locus.dial.status.update'\n | 'locus.sessionid.conferenceid.map'\n | 'locus.share.calliope.floor-granted.request'\n | 'locus.share.calliope.floor-released.request'\n | 'locus.share.floor-granted.local'\n | 'locus.share.floor-released.local'\n | 'locus.share.floor-steal.local'\n | 'locus.share.floor-granted.request'\n | 'mcs.cascade.join'\n | 'mcs.cascade.leave'\n | 'mcs.media.session.started'\n | 'mcc.meeting.created'\n | 'mcc.meeting.info.request'\n | 'mcs.meeting.info.response'\n | 'mcs.share.session.activated'\n | 'media.server.cascade.initiated'\n | 'media.server.leave'\n | 'media.server.cascade.disconnected'\n | 'mercury.message.sent'\n | 'mes.join.request'\n | 'orpheus.cascade.create.request'\n | 'orpheus.confluence.allocated'\n | 'orpheus.confluence.move.response'\n | 'orpheus.confluence.update'\n | 'orpheus.discovery.clusters'\n | 'poros.dial.status.update'\n | 'poros.givr.call.connect.end'\n | 'poros.givr.call.connect.start'\n | 'poros.givr.call.inquiry.request'\n | 'poros.givr.call.inquiry.response'\n | 'poros.givr.call.provision.request'\n | 'poros.givr.call.provision.response'\n | 'poros.locus.connect.request'\n | 'poros.locus.connect.response'\n | 'server.breakout-session.join.response'\n | 'server.breakout-session.move.request'\n | 'server.breakout-session.move.response'\n | 'server.cascade.initiated'\n | 'server.confluence.move.response'\n | 'server.lobby-media.rx.start'\n | 'server.lobby-media.tx.start'\n | 'server.media.capabilities.negotiated'\n | 'server.media.rx.start'\n | 'server.media.rx.stop'\n | 'server.media.tx.start'\n | 'server.media.tx.stop'\n | 'server.media.render.start'\n | 'server.meeting.data-prepared'\n | 'server.meeting.docshow.response'\n | 'server.meeting.gpcparameter.response'\n | 'server.meetinginfo.response'\n | 'server.meeting.initiated'\n | 'server.meeting.validated'\n | 'server.reconnect.initiated'\n | 'server.roap-message.received'\n | 'server.roap-message.sent'\n | 'server.share.bridge.floor-requested.failed'\n | 'server.share.floor-grant.request'\n | 'server.share.floor-granted.local'\n | 'server.share.floor-released.local'\n | 'server.share.stopped'\n | 'server.u2c.response'\n | 'server.wca.response'\n | 'sip.invite.response.rx'\n | 'sip.invite.response.tx'\n | 'sip.invite.rx'\n | 'sip.invite.tx'\n | 'tpgw.share.first.keyframe.recv'\n | 'tpgw.share.floor-granted.local'\n | 'notification.sent'\n | 'server.hologram.initiated'\n | 'server.hologram.stopped';\n errors?: {\n fatal: boolean;\n category: 'signaling' | 'media' | 'other' | 'expected';\n errorDescription?: string;\n errorCode?: number;\n errorCodeStr?: string;\n httpCode?: number;\n errorData?: {};\n name: 'timeout' | 'unauthorized' | 'downstream-failure' | 'upstream-failure' | 'other';\n }[];\n /**\n * media quality error report such as no media or drop out\n */\n serviceMediaError?: {\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n mediaFailureType?: 'noMedia' | 'mediaDrop' | 'mediaEvent';\n isDropAtStart?: boolean;\n isJMF?: boolean;\n txError?:\n | 'NO_ERROR'\n | 'DEVICE_ERROR'\n | 'LOAD_LIBRARY_ERROR'\n | 'MCS_SESSION_CONNECT_ERROR'\n | 'CB_SESSION_CREATE_ERROR'\n | 'NO_FRAME_DECODE_ERROR'\n | 'NO_PACKET_RECV_ERROR'\n | 'LOW_VOLUME_ERROR'\n | 'INITIAL_MEMORY_ERROR'\n | 'MAC_VIRTUAL_AUDIO_DRV_ERROR'\n | 'MMP_SESSION_CONNECT_ERROR'\n | 'MEDIA_PROCESS_CRASH_ERROR'\n | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR'\n | 'MEDIA_SERVER_CONNECT_ERROR'\n | 'LOCUS_SESSION_CONNECT_ERROR'\n | 'NO_PACKET_SEND_ERROR'\n | 'NETWORK_LOST_ERROR'\n | 'MEDIA_NOT_AVAILABLE';\n rxError?:\n | 'NO_ERROR'\n | 'DEVICE_ERROR'\n | 'LOAD_LIBRARY_ERROR'\n | 'MCS_SESSION_CONNECT_ERROR'\n | 'CB_SESSION_CREATE_ERROR'\n | 'NO_FRAME_DECODE_ERROR'\n | 'NO_PACKET_RECV_ERROR'\n | 'LOW_VOLUME_ERROR'\n | 'INITIAL_MEMORY_ERROR'\n | 'MAC_VIRTUAL_AUDIO_DRV_ERROR'\n | 'MMP_SESSION_CONNECT_ERROR'\n | 'MEDIA_PROCESS_CRASH_ERROR'\n | 'HEARTBEAT_LOST_WITH_MEDIA_PROCESS_ERROR'\n | 'MEDIA_SERVER_CONNECT_ERROR'\n | 'LOCUS_SESSION_CONNECT_ERROR'\n | 'NO_PACKET_SEND_ERROR'\n | 'NETWORK_LOST_ERROR'\n | 'MEDIA_NOT_AVAILABLE';\n txDeviceErrorCode?: number;\n rxDeviceErrorCode?: number;\n sessionConnectErrorCode?: number;\n firstDropTime?: string;\n totalDropCount?: number;\n failureDuration?: number;\n txMoreError?: string;\n rxMoreError?: string;\n totalUserWhenCBStartError?: number;\n sessionConnectExtErrorCode?: number;\n sessionConnectErrorType?: 'unknown' | 'MCC_error' | 'MCS_error' | 'Tahoe_error';\n txSystemErrorCode?: number;\n rxSystemErrorCode?: number;\n errorDetails?: {};\n };\n trigger?: 'client-initiated' | 'timeout' | 'signaling' | 'other';\n sessionType?:\n | 'AD_HOC'\n | 'ADHOC_UNIFIED_SPACE_MEETING'\n | 'ANSWERED_ELSEWHERE'\n | 'BUTLER'\n | 'CFNA'\n | 'CMR_MEETING'\n | 'DPC_CONTROL'\n | 'EVENT_CENTER_MEETING'\n | 'HALF_ZTM'\n | 'JABBER'\n | 'MEDIA'\n | 'MS_TEAMS'\n | 'NO_JOINS'\n | 'SINGLE_PARTICIPANT'\n | 'SIP_CALL'\n | 'SIP_MEETING'\n | 'SPACE_MEETING'\n | 'SPACE_SHARE'\n | 'SPARK_CALL'\n | 'SPARK_MEETING'\n | 'SPARK_SIP_CALL'\n | 'SPARK_SIP_MEETING'\n | 'UNIFIED_SPACE_MEETING'\n | 'UNKNOWN'\n | 'WHITEBOARD_ONLY_SHARE'\n | 'WIRELESS_SHARE'\n | 'ZTM';\n device?: {\n deviceType?: string;\n deviceId?: string;\n deviceURL?: string;\n modelNumber?: string;\n productName?: string;\n tempSipUri?: string;\n };\n deviceState?: 'idle' | 'idle-observed' | 'joined' | 'joined-observing';\n disconnectReason?:\n | 'answered_elsewhere'\n | 'busy'\n | 'callback_cancel'\n | 'callback_disconnect'\n | 'cascade_connect_timeout'\n | 'collect_dialog_failure'\n | 'collect_pin_dialog_failure'\n | 'dnd'\n | 'duplicate_call'\n | 'forbidden'\n | 'forced'\n | 'inactive'\n | 'intent_canceled'\n | 'intent_expired'\n | 'invalid_join_time'\n | 'invalid_pin'\n | 'leave_transfer_host'\n | 'lobby_expired'\n | 'media_moved'\n | 'media_released'\n | 'meeting_ended'\n | 'meeting_full'\n | 'meeting_locked'\n | 'not_acceptable'\n | 'not_found'\n | 'observed_left'\n | 'one_to_one_call_cleanup'\n | 'operation_limit_exceeded'\n | 'other'\n | 'resource_declined'\n | 'resource_left'\n | 'unknown'\n | 'unreachable';\n /**\n * Base type for the various identifiers used to connect the dots.\n * In general, these should be populated whenever possible. Subtypes may make a particular key required.\n *\n */\n newIdentifiers?: {\n attendeeId?: string;\n breakoutGroupId?: string;\n breakoutMoveId?: string;\n breakoutSessionId?: string;\n confluenceId?: string;\n correlationId?: string;\n /**\n * Set of identifiers dedicated to CPaaS clients\n * In general, these should be populated whenever possible. Subtypes may make a particular key required.\n *\n */\n cpaasIdentifiers?: {\n imiTenantId: string;\n devClientId: string;\n imiServiceId: string;\n imiAppId: string;\n sessionId: string;\n sessionInstanceId: string;\n };\n csdmDeviceUrl?: string;\n destinationBreakoutSessionId?: string;\n destinationLocusSessionId?: string;\n destinationLocusUrl?: string;\n destinationVenueId?: string;\n deviceId?: string;\n ivrCallId?: string;\n ivrDialogId?: string;\n ivrId?: string;\n locusId?: string;\n locusSessionId?: string;\n locusStartTime?: string;\n locusUrl?: string;\n mediaAgentAlias?: string;\n mediaAgentGroupId?: string;\n meetClusterName?: string;\n meetingLookupUrl?: string;\n meetingOrgId?: string;\n msteamsTenantGuid?: string;\n msteamsConferenceId?: string;\n oauth2ClientId?: string;\n orgId?: string;\n roomId?: string;\n sipCallId?: string;\n sipSessionId?: {\n local?: string;\n remote?: string;\n };\n sipUri?: string;\n subConfId?: string;\n tenantId?: string;\n trackingId?: string;\n userId?: string;\n venueId?: string;\n venueUrl?: string;\n whiteboardUrl?: string;\n webexConferenceId?: number;\n webexClusterName?: string;\n webexConferenceIdStr?: string;\n webexDataCenter?: string;\n webexGuestId?: number;\n webexMeetingId?: number;\n webexNodeId?: number;\n webexSiteId?: number;\n webexSiteName?: string;\n webexUserId?: number;\n webexWebDomain?: string;\n };\n pstnDialStatus?:\n | 'DIALING'\n | 'RINGING'\n | 'CONNECTED'\n | 'CONFIRMING'\n | 'NEGOTIATING'\n | 'TRANSFERRING'\n | 'SUCCESS'\n | 'FAILURE'\n | 'BUSY'\n | 'NOANSWER'\n | 'DECLINED'\n | 'CANCELLED'\n | 'HUNGUP'\n | 'BLOCKED';\n messageType?: 'paired-device-join' | 'locus-active' | 'incoming-call';\n responseCode?: number;\n ivrDialogState?:\n | 'DIALOGUE_ACTIVE'\n | 'DIALOGUE_IN_PROGRESS'\n | 'DIALOGUE_COMPLETE'\n | 'DIALOGUE_ERROR';\n ccpShareInstanceId?: string;\n wbxShareInstanceId?: string;\n isWbx2CCPShare?: boolean;\n /**\n * Details of media agent selected for a call\n */\n mediaAgentInfo?: {\n reason:\n | 'CLOUD_INGRESS_REGION'\n | 'CLIENT_SOURCE_REGION'\n | 'CALLER_CLUSTER'\n | 'DESIGNATED_CLUSTER'\n | 'GEO_HINT'\n | 'LINUS_SELECT'\n | 'OVERRIDE_PREFERRED_CLUSTER'\n | 'PREFERRED_CLUSTER'\n | 'REACHABILITY'\n | 'USER_SETTING'\n | 'FAILOVER_CLUSTER'\n | 'DEFAULT_CLUSTER';\n usedReason?:\n | 'CLOUD_INGRESS_REGION'\n | 'CLIENT_SOURCE_REGION'\n | 'CALLER_CLUSTER'\n | 'DESIGNATED_CLUSTER'\n | 'GEO_HINT'\n | 'LINUS_SELECT'\n | 'OVERRIDE_PREFERRED_CLUSTER'\n | 'PREFERRED_CLUSTER'\n | 'REACHABILITY'\n | 'USER_SETTING'\n | 'FAILOVER_CLUSTER'\n | 'DEFAULT_CLUSTER';\n /**\n * metadata associated with a media cluster.\n */\n selectedCluster: {\n serverOrgId: string;\n serverGroupId: string;\n isHybridMedia: boolean;\n transportTypes?: ('UDP' | 'TCP' | 'xTLS' | 'TLS')[];\n latency?: number;\n skippedReason?: 'CAPACITY' | 'CLIENT_EXCLUSION' | 'LATENCY' | 'OFFLINE' | 'UNREACHABLE';\n };\n /**\n * metadata associated with a media cluster.\n */\n usedCluster: {\n serverOrgId: string;\n serverGroupId: string;\n isHybridMedia: boolean;\n transportTypes?: ('UDP' | 'TCP' | 'xTLS' | 'TLS')[];\n latency?: number;\n skippedReason?: 'CAPACITY' | 'CLIENT_EXCLUSION' | 'LATENCY' | 'OFFLINE' | 'UNREACHABLE';\n };\n usedMediaServerAlias?: string;\n usedMediaServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n usedMediaServiceServerAlias?: string;\n usedMediaServiceServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n /**\n * Details of media agent selection parameters to choose a media cluster for a call. Refer https://confluence-eng-gpk2.cisco.com/conf/pages/viewpage.action?spaceKey=CLO&title=SIP+GDM for details\n */\n parameters?: {\n clusterScope?: 'PUBLIC_ONLY' | 'PRIVATE_ONLY' | 'PUBLIC_AND_PRIVATE';\n /**\n * Geographical information derived from a client's IP Address\n */\n clientDiscoverySignallingGeoIpInformation?: {\n networkPrefix?: string;\n clientRegion?: string;\n clientCountryCode?: string;\n /**\n * An approximation of the client's geographical location\n */\n GeoInformation?: {\n latitudeLongitude?: {};\n accuracyRadius?: number;\n };\n };\n /**\n * Geographical information derived from a client's IP Address\n */\n clientJoinSignallingGeoIpInformation?: {\n networkPrefix?: string;\n clientRegion?: string;\n clientCountryCode?: string;\n /**\n * An approximation of the client's geographical location\n */\n GeoInformation?: {\n latitudeLongitude?: {};\n accuracyRadius?: number;\n };\n };\n /**\n * Geographical information derived from a client's IP Address\n */\n clientServerReflexiveMediaGeoIpInformation?: {\n networkPrefix?: string;\n clientRegion?: string;\n clientCountryCode?: string;\n /**\n * An approximation of the client's geographical location\n */\n GeoInformation?: {\n latitudeLongitude?: {};\n accuracyRadius?: number;\n };\n };\n clientSourceRegion?: string;\n clientSourceRegionClusters?: string[];\n clientSourceRegionClustersLoadBalanced?: string[];\n clientSourceTheaterClustersLoadBalanced?: string[];\n cloudIngressRegion?: string;\n cloudIngressRegionClustersLoadBalanced?: string[];\n cloudIngressTheaterClustersLoadBalanced?: string[];\n clientCountryCode?: string;\n clientSplitTunnelDetected?: boolean;\n deviceType?: string;\n expectedCloudReachabilityClustersCount?: number;\n geoHint?: string[];\n geoHintClusters?: string[];\n isTIP: boolean;\n /**\n * metadata associated with a media cluster.\n */\n lowestLatencyCluster?: {\n serverOrgId: string;\n serverGroupId: string;\n isHybridMedia: boolean;\n transportTypes?: ('UDP' | 'TCP' | 'xTLS' | 'TLS')[];\n latency?: number;\n skippedReason?:\n | 'CAPACITY'\n | 'CLIENT_EXCLUSION'\n | 'LATENCY'\n | 'OFFLINE'\n | 'UNREACHABLE';\n };\n meetingType?:\n | 'AD_HOC'\n | 'ADHOC_UNIFIED_SPACE_MEETING'\n | 'ANSWERED_ELSEWHERE'\n | 'BUTLER'\n | 'CFNA'\n | 'CMR_MEETING'\n | 'DPC_CONTROL'\n | 'EVENT_CENTER_MEETING'\n | 'HALF_ZTM'\n | 'JABBER'\n | 'MEDIA'\n | 'MS_TEAMS'\n | 'NO_JOINS'\n | 'SINGLE_PARTICIPANT'\n | 'SIP_CALL'\n | 'SIP_MEETING'\n | 'SPACE_MEETING'\n | 'SPACE_SHARE'\n | 'SPARK_CALL'\n | 'SPARK_MEETING'\n | 'SPARK_SIP_CALL'\n | 'SPARK_SIP_MEETING'\n | 'UNIFIED_SPACE_MEETING'\n | 'UNKNOWN'\n | 'WHITEBOARD_ONLY_SHARE'\n | 'WIRELESS_SHARE'\n | 'ZTM';\n numberOfClustersTried?: number;\n preferredClustersLoadBalanced?: string[];\n reachableCloudReachabilityClustersCount?: number;\n reachableHybridMediaReachabilityClustersCount?: number;\n reachabilityClusters?: string[];\n reportedCloudReachabilityClustersCount?: number;\n reportedHybridMediaReachabilityClustersCount?: number;\n use3DRenderer?: boolean;\n useCloudIngressRegion: boolean;\n cloudIngressRegionUsed?: boolean;\n useTheaterCluster: boolean;\n expectedHybridMediaReachabilityClustersCount?: number;\n weightedClusters?: string[];\n isPSTN?: boolean;\n };\n apiVersion?: number;\n skippedClusters?: {\n serverOrgId: string;\n serverGroupId: string;\n isHybridMedia: boolean;\n transportTypes?: ('UDP' | 'TCP' | 'xTLS' | 'TLS')[];\n latency?: number;\n skippedReason?: 'CAPACITY' | 'CLIENT_EXCLUSION' | 'LATENCY' | 'OFFLINE' | 'UNREACHABLE';\n }[];\n };\n /**\n * Details of the newly selected media agent for a call\n */\n mediaAgentUpdateInfo?: {\n newMediaServiceServerAlias?: string;\n newMediaServiceServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n previousMediaServiceServerAlias?: string;\n previousMediaServiceServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n };\n /**\n * metadata associated with a media cascade.\n */\n mediaCascadeInfo?: {\n /**\n * metadata associated with a media agent node.\n */\n mediaNodeSource: {\n /**\n * metadata associated with a media cluster.\n */\n clusterInfo: {\n serverOrgId: string;\n serverGroupId: string;\n isHybridMedia: boolean;\n transportTypes?: ('UDP' | 'TCP' | 'xTLS' | 'TLS')[];\n latency?: number;\n skippedReason?:\n | 'CAPACITY'\n | 'CLIENT_EXCLUSION'\n | 'LATENCY'\n | 'OFFLINE'\n | 'UNREACHABLE';\n };\n isClusterReachabilityProvided?: boolean;\n isClusterReachable?: boolean;\n serverType:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n serverAlias: string;\n };\n /**\n * metadata associated with a media agent node.\n */\n mediaNodeDest: {\n /**\n * metadata associated with a media cluster.\n */\n clusterInfo: {\n serverOrgId: string;\n serverGroupId: string;\n isHybridMedia: boolean;\n transportTypes?: ('UDP' | 'TCP' | 'xTLS' | 'TLS')[];\n latency?: number;\n skippedReason?:\n | 'CAPACITY'\n | 'CLIENT_EXCLUSION'\n | 'LATENCY'\n | 'OFFLINE'\n | 'UNREACHABLE';\n };\n isClusterReachabilityProvided?: boolean;\n isClusterReachable?: boolean;\n serverType:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n serverAlias: string;\n };\n isBridging?: boolean;\n };\n /**\n * Information of Orpheus discovery request\n */\n discoveryInfo?: {\n anycastEntryPoint?: string;\n clientPublicNetworkPrefix?: string;\n };\n isMeetingStartedByCCPUser?: boolean;\n /**\n * Details of information about start of CMR meeting, populated by CB.\n */\n meetingStartedInfo?: {\n isCCPUserJoined?: boolean;\n isWebexUserJoined?: boolean;\n isTelephonyUserJoined?: boolean;\n firstUserJoinedTime: string;\n };\n confluenceIsMeeting?: boolean;\n /**\n * Server Latency\n */\n latencies?: {\n mrsTime?: number;\n tpgwTime?: number;\n orpheusTime?: number;\n homerWASTime?: number;\n homerMOSTime?: number;\n locusCreateConfluenceReqResp?: number;\n locusCreateVenueReqResp?: number;\n orpheusCreateConfluenceReqResp?: number;\n };\n isPermissionTokenPresent?: boolean;\n numLocusCreateConfluenceRequest?: number;\n numLocusCreateVenueRequest?: number;\n indentityTrustLevel?: 'internal' | 'external' | 'unverified';\n joinedUserCount?: number;\n participantCount?: number;\n confluenceCount?: number;\n countryCode?: string;\n region?: string;\n }\n | {\n canProceed: boolean;\n state?: string;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard' | 'gamestate';\n csi?: number;\n /**\n * media capability for both transmit and receive\n */\n mediaCapabilities?: {\n /**\n * explicit indication of media capabilities. true=supported\n */\n tx: {\n audio: boolean;\n video: boolean;\n share: boolean;\n share_audio: boolean;\n whiteboard: boolean;\n gamestate?: boolean;\n };\n /**\n * explicit indication of media capabilities. true=supported\n */\n rx: {\n audio: boolean;\n video: boolean;\n share: boolean;\n share_audio: boolean;\n whiteboard: boolean;\n gamestate?: boolean;\n };\n };\n mediaLines?: {\n mediaType: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard' | 'gamestate';\n remoteIP?: string;\n localIP?: string;\n localNetworkPrefix?: string;\n localPort?: number;\n remotePort?: number;\n protocol: 'udp' | 'tcp' | 'xtls' | 'unknown';\n direction: 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive';\n clusterName?: string;\n status?: 'succeeded' | 'in-progress' | 'failed';\n failureReason?:\n | 'network'\n | 'transport'\n | 'rejected'\n | 'timeout'\n | 'notstarted'\n | 'succeeded';\n errorCode?: number;\n mediaLineData?: {};\n }[];\n /**\n * allows client to specify media preferences\n */\n clientMediaPreferences?: {\n preferTranscoding: boolean;\n };\n pstnAudioType?: 'dial-in' | 'dial-out';\n success?: boolean;\n isTranscoded?: boolean;\n isGatewayed?: boolean;\n isComposed?: boolean;\n /**\n * determine how the events are processed as well as how the reports are aggregated and sliced\n */\n registrationMode?: 'SIP' | 'Cloud' | 'CloudAware';\n /**\n * protocols used to help determine how the events are processed as well as how the reports are aggregated and sliced\n */\n protocol?: 'SIP' | 'H323' | 'Locus' | 'WebRTC';\n /**\n * The underlying service provider of the call.\n */\n meetingPlatform?: 'MsTeams' | 'GoogleMeet' | 'Zoom' | 'Webex';\n labels?: string[];\n webexServiceType?: 'MC' | 'EC' | 'SC' | 'TC' | 'AA' | 'RA' | 'NBR' | 'WRF' | 'HOL';\n /**\n * this defines the sub service type\n */\n webexSubServiceType?:\n | 'PMR'\n | 'Event'\n | 'Training'\n | 'ScheduleMeeting'\n | 'ScheduledMeeting'\n | 'Webinar'\n | 'others';\n ivrDialogType?:\n | 'MEDIA_ON_HOLD'\n | 'ANNOUNCEMENT'\n | 'TONE'\n | 'COLLECT_PIN'\n | 'PROMPT'\n | 'MEDIA_SERVICE_AGENT'\n | 'COLLECT';\n ivrDialogResult?:\n | 'SUCCESS'\n | 'FAILURE'\n | 'HOST_PIN_MATCH'\n | 'GUEST_PIN_MATCH'\n | 'PANELIST_PIN_MATCH'\n | 'NO_MATCH'\n | 'INVALID_PIN';\n callType?:\n | 'VIDEO_DIALIN'\n | 'VIDEO_DIALOUT'\n | 'CASCADE'\n | 'HYBRID_CASCADE'\n | 'PSTN_SIP'\n | 'PSTN_DIALIN'\n | 'PSTN_DIALOUT'\n | 'PSTN_ONLY_DIALIN'\n | 'PSTN_ONLY_DIALOUT'\n | 'H323'\n | 'H323_IP'\n | 'SIP_ENTERPRISE'\n | 'SIP_MOBILE'\n | 'SIP_NATIONAL'\n | 'SIP_INTERNATIONAL'\n | 'SIP_EMERGENCY'\n | 'SIP_OPERATOR'\n | 'SIP_SHORTCODE'\n | 'SIP_TOLLFREE'\n | 'SIP_PREMIUM'\n | 'SIP_URI'\n | 'SIP_INBOUND'\n | 'UNKNOWN'\n | 'ZTM'\n | 'SIP_MEETING';\n eventData?: {};\n derivedSipClientType?:\n | 'SIP_CE_SINGLE_SCREEN'\n | 'SIP_CE_MULTI_SCREEN'\n | 'SIP_JABBER'\n | 'SIP_TIP_SINGLE_SCREEN'\n | 'SIP_TIP_THREE_SCREEN'\n | 'SIP_PSTN'\n | 'SIP_OTHER'\n | 'SIP_WEBEX_CASCADE'\n | 'SIP_NONE';\n /**\n * this defines the major client types\n */\n derivedClientType?:\n | 'MEETING_CENTER'\n | 'EVENT_CENTER'\n | 'TRAINING_CENTER'\n | 'TEAMS_CLIENT'\n | 'TEAMS_DEVICE'\n | 'TEAMS_SHARE'\n | 'SIP'\n | 'RECORDING'\n | 'CLOUD_AWARE_SIP'\n | 'TEAMS_WXC_CLIENT'\n | 'WXC_CLIENT'\n | 'WXC_DEVICE'\n | 'WEBEX_JS_SDK'\n | 'VOICEA_CLIENT'\n | 'CISCO_SIP_GW'\n | 'WEBEX_SDK'\n | 'CPAAS_THIRD_PARTY_SDK'\n | 'WXC_THIRD_PARTY';\n /**\n * this defines the sub types of clients\n */\n derivedSubClientType?:\n | 'DESKTOP_APP'\n | 'DESKTOP_APP_VDI'\n | 'DEVICE_CURRENT'\n | 'DEVICE_LEGACY_2020'\n | 'HVDI_APP'\n | 'MOBILE_APP'\n | 'VDI_APP'\n | 'WEB_APP'\n | 'MOBILE_NETWORK'\n | 'HOLOGRAM_HEADSET_APP';\n serverRole?:\n | 'CONFERENCE'\n | 'TRANSCODER'\n | 'WHITEBOARD_INJECTOR'\n | 'MS_TEAMS_CONFERENCE'\n | 'RECORDING'\n | 'GATEWAY'\n | 'GATEWAY_CLIENT_SIDE'\n | 'UNKNOWN'\n | 'HOLOGRAM_RENDER';\n reconnect?: boolean;\n retryCount?: number;\n meetSimple?: boolean;\n /**\n * represents media quality status report such as no media or drop out\n */\n mediaStatus?: {\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n mediaSuccess?: boolean;\n shareType?:\n | 'cb-normal-share'\n | 'ce-airplay-share'\n | 'ce-direct-share'\n | 'ce-gui-loopback-share'\n | 'ce-input-source-share'\n | 'ce-input-source-share-hdmi'\n | 'ce-input-source-share-usbc'\n | 'ce-jpg-share'\n | 'ce-miracast-share'\n | 'mcs-normal-share'\n | 'mcs-normal-audio-share'\n | 'mcs-hfps-share'\n | 'mcs-hfps-audio-share';\n isTransmitter?: boolean;\n audioJoinType?:\n | 'phone-call-in'\n | 'phone-call-back'\n | 'voip'\n | 'device-call-back'\n | 'never-join-audio'\n | 'tried-but-never-join';\n /**\n * indicates transport type used\n */\n transportType?: 'UDP' | 'TCP' | 'xTLS' | 'TLS';\n additionalData?: {};\n };\n shareInstanceId?: string;\n hologramStreamId?: string;\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n audioSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n videoSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n shareSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n shareAudioSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n whiteboardSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n isFocus?: boolean;\n processingDelay?: number;\n shareType?:\n | 'cb-normal-share'\n | 'ce-airplay-share'\n | 'ce-direct-share'\n | 'ce-gui-loopback-share'\n | 'ce-input-source-share'\n | 'ce-input-source-share-hdmi'\n | 'ce-input-source-share-usbc'\n | 'ce-jpg-share'\n | 'ce-miracast-share'\n | 'mcs-normal-share'\n | 'mcs-normal-audio-share'\n | 'mcs-hfps-share'\n | 'mcs-hfps-audio-share';\n isShareBeingTakenOver?: boolean;\n floorBeneficiaryUpdated?: boolean;\n meetingJoinedTime?: string;\n meetingScheduledTime?: string;\n e2eeKeyEpoch?: number;\n e2eeDecompressRatio?: number;\n keyResponses?: {\n gotKeyTime?: number;\n useKeyTime?: number;\n cacheKeyTime?: number;\n }[];\n e2eeVersion?: 'E2EEV1' | 'E2EEV2' | 'E2EEV3';\n isConvergedArchitectureEnabled?: boolean;\n callingServiceType?: 'CUCM' | 'WEBEXCALLING' | 'BROADWORKS' | 'LOCUS';\n inLobby?: boolean;\n isVIPMeeting?: boolean;\n webexAppEntrypoint?: string;\n firstParticipant?: boolean;\n isImmersiveShare?: boolean;\n /**\n * Request/Response Time for Internal Services\n */\n registeredTimestamps?: {\n locusCreateConfluenceRequestTime?: string;\n locusCreateConfluenceResponseTime?: string;\n locusCreateVenueRequestTime?: string;\n locusCreateVenueResponseTime?: string;\n };\n skipInterstitialWindow?: boolean;\n callDurationSecs?: number;\n /**\n * Details associated with a breakout move\n */\n breakout?: {\n moveType?: 'between_breakout' | 'to_breakout' | 'to_main';\n trigger?: 'assignment_changed' | 'client_initiated' | 'session_ended' | 'session_started';\n startState?: 'joined' | 'lobby';\n endState?: 'joined' | 'lobby';\n };\n /**\n * Latency values associated with breakout session\n */\n breakoutLatency?: {\n boBreakoutMoveProcessed?: number;\n boBreakoutMoveResp?: number;\n boLocusBreakoutMoveResp?: number;\n locusBreakoutMoveResp?: number;\n orpheusConfluenceMoveReqResp?: number;\n };\n /**\n * two-way whiteboard related info\n */\n whiteboard?: {\n action?: 'open' | 'create';\n type?: 'whiteboard' | 'annotation';\n capability?: 'one_way' | 'two_way';\n granted?: 'one_way' | 'two_way';\n };\n /**\n * ROAP message details\n */\n roap?: {\n type?:\n | 'ANSWER'\n | 'ERROR'\n | 'OFFER'\n | 'OFFER_REQUEST'\n | 'OFFER_RESPONSE'\n | 'OK'\n | 'TURN_DISCOVERY_REQUEST'\n | 'TURN_DISCOVERY_RESPONSE';\n messageType?:\n | 'ANSWER'\n | 'ERROR'\n | 'OFFER'\n | 'OFFER_REQUEST'\n | 'OFFER_RESPONSE'\n | 'OK'\n | 'TURN_DISCOVERY_REQUEST'\n | 'TURN_DISCOVERY_RESPONSE';\n error?: string;\n duration?: number;\n };\n trigger?: 'dummyTrigger1' | 'dummyTrigger2' | 'media-quality';\n name: 'server.mediaquality.event' | 'client.mediaquality.event';\n /**\n * Base type for the various identifiers used to connect the dots.\n * In general, these should be populated whenever possible. Subtypes may make a particular key required.\n *\n */\n identifiers: {\n attendeeId?: string;\n breakoutGroupId?: string;\n breakoutMoveId?: string;\n breakoutSessionId?: string;\n confluenceId?: string;\n /**\n * Set of identifiers dedicated to CPaaS clients\n * In general, these should be populated whenever possible. Subtypes may make a particular key required.\n *\n */\n cpaasIdentifiers?: {\n imiTenantId: string;\n devClientId: string;\n imiServiceId: string;\n imiAppId: string;\n sessionId: string;\n sessionInstanceId: string;\n };\n csdmDeviceUrl?: string;\n destinationBreakoutSessionId?: string;\n destinationLocusSessionId?: string;\n destinationLocusUrl?: string;\n destinationVenueId?: string;\n deviceId?: string;\n ivrCallId?: string;\n ivrDialogId?: string;\n ivrId?: string;\n locusId?: string;\n locusSessionId?: string;\n locusStartTime?: string;\n locusUrl?: string;\n mediaAgentAlias?: string;\n mediaAgentGroupId?: string;\n meetClusterName?: string;\n meetingLookupUrl?: string;\n meetingOrgId?: string;\n msteamsTenantGuid?: string;\n msteamsConferenceId?: string;\n oauth2ClientId?: string;\n orgId?: string;\n roomId?: string;\n sipCallId?: string;\n sipSessionId?: {\n local?: string;\n remote?: string;\n };\n sipUri?: string;\n subConfId?: string;\n tenantId?: string;\n trackingId?: string;\n userId?: string;\n venueId?: string;\n venueUrl?: string;\n whiteboardUrl?: string;\n webexConferenceId?: number;\n webexClusterName?: string;\n webexConferenceIdStr?: string;\n webexDataCenter?: string;\n webexGuestId?: number;\n webexMeetingId?: number;\n webexNodeId?: number;\n webexSiteId?: number;\n webexSiteName?: string;\n webexUserId?: number;\n webexWebDomain?: string;\n correlationId: string;\n };\n /**\n * 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.\n */\n sourceMetadata?: {\n mediaEngineSoftwareType: string;\n mediaEngineSoftwareVersion: string;\n applicationSoftwareType: string;\n applicationSoftwareVersion: string;\n hardwareType?: string;\n clientRegion?: string;\n serverRegion?: string;\n serverOrg?: string;\n serverGroup?: string;\n serverAlias?: string;\n serverDeployType?: 'private' | 'public';\n startTime: string;\n endTime?: string;\n csi?: number[];\n isCascade?: boolean;\n isHybridMedia?: boolean;\n videoMeshClusterName?: string;\n videoMeshServerName?: string;\n isTIP?: boolean;\n isMARI?: boolean;\n has264Checksum?: boolean;\n intervalPeriod?: number;\n cascadePeerRegion?: string;\n cascadePeerOrg?: string;\n cascadePeerGroup?: string;\n cascadePeerAlias?: string;\n cascadePeerServerType?:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n cascadePeerDeployType?: 'private' | 'public';\n };\n /**\n * Details of a media edge server which is in the media path but does not generate MQE directly\n */\n edgeInfo?: {\n alias: string;\n publicIP: string;\n privateIP: string;\n version: string;\n labels?: string;\n };\n intervals: {\n intervalNumber: number;\n /**\n * The metadata associated with the emitter of the event. This data is separate from the source metadata and must be emitted with every event.\n */\n intervalMetadata: {\n peerReflexiveIP?: string;\n maskedPeerReflexiveIP?: string;\n remoteMediaIP?: string;\n maskedRemoteMediaIP?: string;\n staticPerformanceLevel?: number;\n processAverageCPU?: number;\n processMaximumCPU?: number;\n systemAverageCPU?: number;\n systemMaximumCPU?: number;\n systemAverageGPU?: number;\n systemMaximumGPU?: number;\n /**\n * this object defines the memory related fields that are tracked in media quality events and reports\n */\n memoryUsage?: {\n processAverageMemoryUsage: number;\n processMaximumMemoryUsage: number;\n systemAverageMemoryUsage: number;\n systemMaximumMemoryUsage: number;\n processMaximumMemoryBytes: number;\n mainProcessMaximumMemoryBytes: number;\n osBitWidth: number;\n cpuBitWidth: number;\n };\n peripherals?: {\n name: 'camera' | 'microphone' | 'speaker';\n information: string;\n driver?: string;\n errorCode?: string;\n connectionType?: unknown;\n bluetoothMode?: unknown;\n }[];\n /**\n * information object for the peripheral\n */\n cameraInfo?: {\n name: 'camera' | 'microphone' | 'speaker';\n information: string;\n driver?: string;\n errorCode?: string;\n connectionType?: unknown;\n bluetoothMode?: unknown;\n };\n /**\n * information object for the peripheral\n */\n microphoneInfo?: {\n name: 'camera' | 'microphone' | 'speaker';\n information: string;\n driver?: string;\n errorCode?: string;\n connectionType?: unknown;\n bluetoothMode?: unknown;\n };\n /**\n * information object for the peripheral\n */\n speakerInfo?: {\n name: 'camera' | 'microphone' | 'speaker';\n information: string;\n driver?: string;\n errorCode?: string;\n connectionType?: unknown;\n bluetoothMode?: unknown;\n };\n /**\n * This object defines the fields related to the CPU being used by the emitter of the event\n */\n cpuInfo?: {\n description: string;\n clockSpeedGigaHertz: number;\n numberOfCores: number;\n architecture:\n | 'intel32'\n | 'intel64'\n | 'amd32'\n | 'amd64'\n | 'arm32'\n | 'arm64'\n | 'unknown';\n staticPerformance?: string;\n };\n /**\n * Thread level cpu performance insights\n */\n cpuDataDetail?: {\n processesData?: unknown[];\n coresCpuData?: unknown[];\n coreVariance?: number;\n };\n /**\n * This object defines the fields related to the GPU being used by the emitter of the event\n */\n defaultGpuInfo?: {\n description: string;\n memoryMegaBytes: number;\n };\n otherGpuInfo?: {\n description: string;\n memoryMegaBytes: number;\n }[];\n dpcRecord?: string[];\n mediaLabels?: string[];\n screenResolution?: number;\n appWindowSize?: number;\n appWindowHeight?: number;\n appWindowWidth?: number;\n meetingUserCount?: number;\n videoUserCount?: number;\n numScreens?: number;\n configuredBitrate?: number;\n };\n audioTransmit: {\n /**\n * contains the transmit related fields common between all session types for each interval\n */\n common: {\n /**\n * contains the fields common to both transmit and receive sessions for each interval\n */\n common: {\n isMain: boolean;\n mariFecEnabled: boolean;\n mariRtxEnabled?: boolean;\n mariQosEnabled: boolean;\n mariLiteEnabled?: boolean;\n multistreamEnabled: boolean;\n direction: 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive';\n localPort?: number;\n peerReflexivePort?: number;\n remotePort?: number;\n };\n fecPackets: number;\n fecBitrate: number;\n rtxPackets?: number;\n rtxBitrate?: number;\n rtpPackets: number;\n rtpBitrate: number;\n rtcpPackets: number;\n rtcpBitrate: number;\n /**\n * RTCP Information for a given Interval\n */\n txRtcpInfo?: {\n rtcpSrPackets: number;\n rtcpRrPackets: number;\n rtcpReportBlocks: number;\n rtcpSdesPackets: number;\n rtcpByePackets: number;\n rtcpAppPackets: number;\n rtcpRtpFbPacket: number;\n rtcpPsFbPackets: number;\n rtcpPsFbMariPackets: number;\n rtcpPsFbMultistreamPackets: number;\n rtcpXrPackets: number;\n };\n stunPackets: number;\n stunBitrate: number;\n dtlsPackets: number;\n dtlsBitrate: number;\n transportType: 'UDP' | 'TCP' | 'xTLS' | 'TLS';\n maxBitrate: number;\n availableBitrate: number;\n queueDelay: number;\n meanRoundTripTime?: number;\n maxRoundTripTime?: number;\n roundTripTime: number;\n remoteReceiveRate?: number;\n maxRemoteLossRate?: number;\n remoteLossRate?: number;\n meanRemoteLossRate?: number;\n maxRemoteJitter?: number;\n remoteJitter?: number;\n meanRemoteJitter?: number;\n traversalMinDelayMs?: number;\n traversalMaxDelayMs?: number;\n traversalMeanDelayMs?: number;\n rtpInputFifoDelayMs?: number;\n rtpInputFifoMaxDelayMs?: number;\n rtpInputFifoMinDelayMs?: number;\n rtpInputFifoMeanDelayMs?: number;\n };\n streams: {\n /**\n * contains fields common to all transmit streams types\n */\n common: {\n ssci: number;\n duplicateSsci?: number;\n rtpPackets: number;\n transmittedFrameRate: number;\n requestedFrames: number;\n transmittedBitrate: number;\n requestedBitrate: number;\n captureOffset?: number;\n codec: string;\n csi?: number[];\n /**\n * This object tracks SSRC and CSRC changes for an RTP stream, session, etc\n */\n sourceChanges?: {\n /**\n * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.\n */\n ssrcChanges: number;\n /**\n * 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.\n */\n csrcChanges: number;\n };\n };\n backgroundNoiseReductionMode?:\n | 'AUDIO_BACKGROUND_NOISE_REDUCTION_NONE'\n | 'AUDIO_BACKGROUND_NOISE_REDUCTION_HIGH_PERFORMANCE'\n | 'AUDIO_BACKGROUND_NOISE_REDUCTION_LOW_POWER'\n | 'AUDIO_BACKGROUND_NOISE_REDUCTION_AUTO_HIGH_PERFORMANCE'\n | 'AUDIO_BACKGROUND_NOISE_REDUCTION_AUTO_LOW_POWER';\n backgroundNoiseReductionTalkerMode?:\n | 'AUDIO_BACKGROUND_NOISE_REDUCTION_TALKER_NONE'\n | 'AUDIO_BACKGROUND_NOISE_REDUCTION_CLASSIC_MODE'\n | 'AUDIO_BACKGROUND_NOISE_REDUCTION_SINGLE_TALKER_MODE'\n | 'AUDIO_BACKGROUND_NOISE_REDUCTION_MULTI_TALKER_MODE'\n | 'AUDIO_BACKGROUND_NOISE_REDUCTION_MUSIC_MODE';\n audioTXSPCStatus?:\n | 'AUDIO_SPC_STATUS_DISABLED'\n | 'AUDIO_SPC_STATUS_SUSPENDED'\n | 'AUDIO_SPC_STATUS_ENABLED';\n audioTXSPCLevel?:\n | 'AUDIO_NONE'\n | 'AUDIO_LOW'\n | 'AUDIO_MEDIUM'\n | 'AUDIO_NORMAL'\n | 'AUDIO_HIGH'\n | 'AUDIO_HIGHPLUS'\n | 'AUDIO_TOP';\n /**\n * audio encoder engine performance data\n */\n audioEncoderEngineInfo?: {\n /**\n * The number of audio packets sent to the encoder buffer\n */\n encoderBufferPacket?: number;\n /**\n * The number of dropped audio packets before sent to the encoder buffer\n */\n encoderBufferDroppedPacket?: number;\n /**\n * The average processing time (microseconds) on background noise reduction (BNR)\n */\n averageBNRProcessTime?: number;\n /**\n * The average processing time (microseconds) on audio encoder pipeline\n */\n averageEncoderProcessTime?: number;\n };\n /**\n * audio transmitted algorithm modules performance data(AEC,AGC,NR,MultiChannelPreprocess)\n */\n audioAlgorithmModulesInfo?: {\n /**\n * one char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB\n */\n aecNearPower: number;\n /**\n * one char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB\n */\n aecFarPower: number;\n /**\n * one char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB\n */\n aecLinearOutPower?: number;\n /**\n * one char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB\n */\n aecOutPower?: number;\n /**\n * one char every 1 minute, 0 indicate 54dB, plus 1 indicate +0.5dB\n */\n aecERLE?: number;\n /**\n * one char every 1 minute, 0 indicate 0dB, plus 1 indicate +0.5dB\n */\n aecERL?: number;\n /**\n * one char every 1 minute, 0 indicate 54dB, plus 1 indicate +0.5dB\n */\n linearAecERLE?: number;\n /**\n * one char every 1 minute, 0 indicate 0ms, plus 1 indicate 10ms\n */\n estDelay?: number;\n /**\n * one char every 1 minute\n */\n aecType?: number;\n /**\n * one unsigned short every 1 minute\n */\n aecCostTime?: number;\n /**\n * one unsigned short every 1 minute\n */\n multichannelChangedDelay?: number;\n /**\n * one unsigend char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB\n */\n multichannelDelaySumOutPower?: number;\n /**\n * one unsigend char every 1 minute, 0 indicate 0db, plus 1 indicate -0.5dB\n */\n multichannelAverageOutPower?: number;\n /**\n * one unsigned char every 1 minute, 0 for 0dB, plus 1 for -0.5dB\n */\n speechRMS?: number;\n /**\n * one unsigned char every 1 minute, 0 for 0s, plus 4 for +1s\n */\n speechLength?: number;\n /**\n * one unsigned char every 1 minute, VAD value to reflect speech quality\n */\n speechQuality?: number;\n /**\n * one char every 1 minute.\n */\n remoteIOStatus?: number;\n /**\n * one char every 1 minute\n */\n multichannelPreprocessEnabled?: number;\n /**\n * one char every 1 minute\n */\n bypassWindowsAPOAllowListEnabled?: number;\n /**\n * one char every 1 minute, 0 for 0dB, plus 1 for 0.5dB\n */\n bnrSNR?: number;\n /**\n * one unsigned short every 1 minute\n */\n bnrTRN?: number;\n /**\n * one char every 1 minute, 0 indicate 0db, plus 1 indicate 0.0472dB.\n */\n multichannelDelaySumAndDirectMixRMSRatio?: number;\n windowsAPOBypassed?: boolean;\n };\n /**\n * audio transmit pipeline modules' quality metric\n */\n audioModuleQualityInfo?: {\n /**\n * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB\n */\n aecNearPower?: number[];\n /**\n * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB\n */\n aecLinearOutPower?: number[];\n /**\n * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB\n */\n aecOutPower?: number[];\n /**\n * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB\n */\n aecFarPower?: number[];\n /**\n * One char every 2 seconds.\n */\n aecStatus?: number[];\n /**\n * one char every 2 seconds.\n */\n bblOutPower?: number[];\n /**\n * one char every 2 seconds\n */\n volumeAndDelay?: number[];\n /**\n * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB\n */\n agcOutPower?: number[];\n /**\n * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB\n */\n agcAvgOutPower?: number[];\n /**\n * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB\n */\n agcAvgInputPower?: number[];\n /**\n * one char every 1 minute.\n */\n agcType?: number;\n };\n audioCaptureMethod?: 'AUDIO_ANDROID_JAVA_METHOD' | 'AUDIO_ANDROID_AAUDIO_METHOD';\n }[];\n /**\n * information about tracked audio levels\n */\n levels?: {\n /**\n * The average audio input gain for a microphone or speaker, in decibels\n */\n audioMeanGain?: number;\n /**\n * The minimum audio input gain for a microphone or speaker, in decibels\n */\n audioMinGain?: number;\n /**\n * The maximum audio input gain for a microphone or speaker, in decibels\n */\n audioMaxGain?: number;\n /**\n * The mean audio output volume for a microphone or speaker, in absolute volume [0-65535]\n */\n audioMeanVolume?: number;\n /**\n * The min audio output volume for a microphone or speaker, in absolute volume [0-65535]\n */\n audioMinVolume?: number;\n /**\n * The max audio output volume for a microphone or speaker, in absolute volume [0-65535]\n */\n audioMaxVolume?: number;\n };\n captureHardwareProvidedAudioPacketsPerSecond?: number;\n sharedAudioPacketsPerSecond?: number;\n }[];\n videoTransmit: {\n /**\n * contains the transmit related fields common between all session types for each interval\n */\n common: {\n /**\n * contains the fields common to both transmit and receive sessions for each interval\n */\n common: {\n isMain: boolean;\n mariFecEnabled: boolean;\n mariRtxEnabled?: boolean;\n mariQosEnabled: boolean;\n mariLiteEnabled?: boolean;\n multistreamEnabled: boolean;\n direction: 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive';\n localPort?: number;\n peerReflexivePort?: number;\n remotePort?: number;\n };\n fecPackets: number;\n fecBitrate: number;\n rtxPackets?: number;\n rtxBitrate?: number;\n rtpPackets: number;\n rtpBitrate: number;\n rtcpPackets: number;\n rtcpBitrate: number;\n /**\n * RTCP Information for a given Interval\n */\n txRtcpInfo?: {\n rtcpSrPackets: number;\n rtcpRrPackets: number;\n rtcpReportBlocks: number;\n rtcpSdesPackets: number;\n rtcpByePackets: number;\n rtcpAppPackets: number;\n rtcpRtpFbPacket: number;\n rtcpPsFbPackets: number;\n rtcpPsFbMariPackets: number;\n rtcpPsFbMultistreamPackets: number;\n rtcpXrPackets: number;\n };\n stunPackets: number;\n stunBitrate: number;\n dtlsPackets: number;\n dtlsBitrate: number;\n transportType: 'UDP' | 'TCP' | 'xTLS' | 'TLS';\n maxBitrate: number;\n availableBitrate: number;\n queueDelay: number;\n meanRoundTripTime?: number;\n maxRoundTripTime?: number;\n roundTripTime: number;\n remoteReceiveRate?: number;\n maxRemoteLossRate?: number;\n remoteLossRate?: number;\n meanRemoteLossRate?: number;\n maxRemoteJitter?: number;\n remoteJitter?: number;\n meanRemoteJitter?: number;\n traversalMinDelayMs?: number;\n traversalMaxDelayMs?: number;\n traversalMeanDelayMs?: number;\n rtpInputFifoDelayMs?: number;\n rtpInputFifoMaxDelayMs?: number;\n rtpInputFifoMinDelayMs?: number;\n rtpInputFifoMeanDelayMs?: number;\n };\n streams: {\n /**\n * contains fields common to all transmit streams types\n */\n common: {\n ssci: number;\n duplicateSsci?: number;\n rtpPackets: number;\n transmittedFrameRate: number;\n requestedFrames: number;\n transmittedBitrate: number;\n requestedBitrate: number;\n captureOffset?: number;\n codec: string;\n csi?: number[];\n /**\n * This object tracks SSRC and CSRC changes for an RTP stream, session, etc\n */\n sourceChanges?: {\n /**\n * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.\n */\n ssrcChanges: number;\n /**\n * 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.\n */\n csrcChanges: number;\n };\n };\n transmittedFrameSize: number;\n requestedFrameSize: number;\n transmittedHeight: number;\n transmittedWidth: number;\n transmittedKeyFrames: number;\n requestedKeyFrames: number;\n transmittedKeyFramesFeedback?: number;\n transmittedKeyFramesConfigurationChange?: number;\n transmittedKeyFramesSceneChange?: number;\n transmittedKeyFramesOtherLayer?: number;\n transmittedKeyFramesClient?: number;\n transmittedKeyFramesPeriodic?: number;\n transmittedKeyFramesLocalDrop?: number;\n transmittedKeyFramesStartup?: number;\n transmittedKeyFramesUnknown?: number;\n transmittedKeyFramesEncLayerIndexChange?: number;\n transmittedKeyFramesSwitchingPoint?: number;\n localConfigurationChanges: number;\n remoteConfigurationChanges: number;\n h264CodecProfile: 'BP' | 'CHP';\n isAvatar?: boolean;\n /**\n * video encode quality metrics\n */\n encodeQuality?: {\n minRegionQp: number;\n maxFrameQp: number;\n maxNoiseLevel: number;\n };\n /**\n * video transmit downgrade reasons\n */\n downgradeReason?: {\n isCamera: boolean;\n isNetwork: boolean;\n isCpu: boolean;\n isRequested?: boolean;\n isUser?: boolean;\n isHardware?: boolean;\n };\n isHardwareEncoded?: boolean;\n backgroundAugmentationType?:\n | 'VIDEO_BACKGROUND_AUGMENT_NONE'\n | 'VIDEO_BACKGROUND_AUGMENT_BLUR'\n | 'VIDEO_BACKGROUND_AUGMENT_REPLACE_IMAGE'\n | 'VIDEO_BACKGROUND_AUGMENT_REPLACE_VIDEO'\n | 'VIDEO_BACKGROUND_AUGMENT_BLUR_INHOUSE'\n | 'VIDEO_BACKGROUND_AUGMENT_REPLACE_IMAGE_INHOUSE'\n | 'VIDEO_BACKGROUND_AUGMENT_REPLACE_VIDEO_INHOUSE';\n backgroundAugmentationFrameworkType?:\n | 'VIDEO_VBG_FRAMEWORK_NONE'\n | 'VIDEO_VBG_FRAMEWORK_COREML'\n | 'VIDEO_VBG_FRAMEWORK_METAL'\n | 'VIDEO_VBG_FRAMEWORK_CBASED'\n | 'VIDEO_VBG_FRAMEWORK_OPENVINO'\n | 'VIDEO_VBG_FRAMEWORK_COREML_LADON'\n | 'VIDEO_VBG_FRAMEWORK_METAL_LADON'\n | 'VIDEO_VBG_FRAMEWORK_CBASED_LADON'\n | 'VIDEO_VBG_FRAMEWORK_OPENVINO_LADON';\n /**\n * transmit video pipeline performance metric\n */\n encoderProcessInfo?: {\n meanEncoderProcessMillis: number;\n maxEncoderProcessMillis: number;\n meanVbgProcessMillis?: number;\n maxVbgProcessMillis?: number;\n };\n backgroundAugmentationModelVersion?: string;\n isGestureDetectorOn?: boolean;\n capturedFrameRateNormalShare?: number;\n capturedFrameRateHFPSShare?: number;\n transmittedFrameRateNormalShare?: number;\n transmittedFrameRateHFPSShare?: number;\n /**\n * the method use to capture the screen for screen sharing\n */\n screenCaptureMode?:\n | 'Unknown'\n | 'Default'\n | 'MAG'\n | 'DUP'\n | 'AVF'\n | 'CGS'\n | 'GDI'\n | 'DIRECTX'\n | 'WINDOW'\n | 'SCK';\n processShareContentDetectMillis?: number;\n }[];\n }[];\n audioReceive: {\n /**\n * contains the receive related fields between all sessions types for each interval.\n */\n common: {\n /**\n * contains the fields common to both transmit and receive sessions for each interval\n */\n common: {\n isMain: boolean;\n mariFecEnabled: boolean;\n mariRtxEnabled?: boolean;\n mariQosEnabled: boolean;\n mariLiteEnabled?: boolean;\n multistreamEnabled: boolean;\n direction: 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive';\n localPort?: number;\n peerReflexivePort?: number;\n remotePort?: number;\n };\n fecPackets: number;\n fecBitrate: number;\n rtxPackets?: number;\n rtxBitrate?: number;\n meanRtxDelay?: number;\n maxRtxDelay?: number;\n rtpPackets: number;\n rtpBitrate: number;\n rtpHopByHopLost: number;\n mediaHopByHopLost: number;\n rtpRecovered: number;\n rtxRecovered?: number;\n rtcpPackets: number;\n rtcpBitrate: number;\n /**\n * RTCP Information for a given Interval\n */\n rxRtcpInfo?: {\n rtcpSrPackets: number;\n rtcpRrPackets: number;\n rtcpReportBlocks: number;\n rtcpSdesPackets: number;\n rtcpByePackets: number;\n rtcpAppPackets: number;\n rtcpRtpFbPacket: number;\n rtcpPsFbPackets: number;\n rtcpPsFbMariPackets: number;\n rtcpPsFbMultistreamPackets: number;\n rtcpXrPackets: number;\n };\n stunPackets: number;\n stunBitrate: number;\n dtlsPackets: number;\n dtlsBitrate: number;\n transportType: 'UDP' | 'TCP' | 'xTLS' | 'TLS';\n maxBitrate: number;\n srtpUnprotectErrors: number;\n /**\n * SRTP/SRTCP unprotect error details\n */\n srtpUnprotectErrorDetails?: {\n authFailures: number;\n cipherFailures: number;\n replayFailures: number;\n unknownFailures: number;\n };\n srtcpUnprotectErrors: number;\n /**\n * SRTP/SRTCP unprotect error details\n */\n srtcpUnprotectErrorDetails?: {\n authFailures: number;\n cipherFailures: number;\n replayFailures: number;\n unknownFailures: number;\n };\n };\n streams: {\n /**\n * contains fields common to all types of receive stream\n */\n common: {\n ssci: number;\n rtpPackets: number;\n rtpEndToEndLost: number;\n concealedFrames: number;\n maxConcealRunLength: number;\n receivedFrameRate: number;\n renderedFrameRate: number;\n requestedFrameRate: number;\n optimalFrameRate: number;\n meanRtpJitter?: number;\n maxRtpJitter?: number;\n rtpJitter?: number;\n receivedBitrate: number;\n requestedBitrate: number;\n optimalBitrate: number;\n durationForSpeedChanged?: number;\n endToEndTransmitDelay?: number;\n csi: number[];\n codec: string;\n /**\n * This object tracks SSRC and CSRC changes for an RTP stream, session, etc\n */\n sourceChanges?: {\n /**\n * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.\n */\n ssrcChanges: number;\n /**\n * 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.\n */\n csrcChanges: number;\n };\n /**\n * 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.\n */\n concealmentReasonByPacket?: {\n /**\n * concealment caused by network loss\n */\n byNetwork?: number;\n /**\n * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.\n */\n byOverflow?: number;\n /**\n * concealment caused by buffer is reset.\n */\n byReset?: number;\n /**\n * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.\n */\n byLate?: number;\n /**\n * concealment caused by poor performance.\n */\n byPoorPerformance?: number;\n /**\n * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.\n */\n byIncreasedDelay?: number;\n /**\n * only for video. concealment caused by AV sync\n */\n byAVSync?: number;\n /**\n * 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.\n */\n byPrevFramePopped?: number;\n /**\n * concealment caused by the other unknown reasons\n */\n byOthers?: number;\n };\n /**\n * 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.\n */\n concealmentReasonByFrame?: {\n /**\n * concealment caused by network loss\n */\n byNetwork?: number;\n /**\n * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.\n */\n byOverflow?: number;\n /**\n * concealment caused by buffer is reset.\n */\n byReset?: number;\n /**\n * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.\n */\n byLate?: number;\n /**\n * concealment caused by poor performance.\n */\n byPoorPerformance?: number;\n /**\n * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.\n */\n byIncreasedDelay?: number;\n /**\n * only for video. concealment caused by AV sync\n */\n byAVSync?: number;\n /**\n * 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.\n */\n byPrevFramePopped?: number;\n /**\n * concealment caused by the other unknown reasons\n */\n byOthers?: number;\n };\n /**\n * 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.\n */\n interruptCount?: {\n /**\n * interrupt count longer than 60 ms in one minute\n */\n longerThan60?: number;\n /**\n * interrupt count longer than 120 ms in one minute\n */\n longerThan120?: number;\n };\n /**\n * This object tracks the delay associated with a jitter buffer\n */\n jitterBufferDelay?: {\n /**\n * The average delay (in milliseconds) used by the jitter buffer\n */\n meanDelay: number;\n /**\n * The maximum delay (in milliseconds) used by the jitter buffer\n */\n maxDelay: number;\n /**\n * The minimum delay (in milliseconds) used by the jitter buffer\n */\n minDelay: number;\n };\n /**\n * This object tracks the the end to end delay(the delay between capture time of sender side and render time of receiver side)\n */\n endToEndDelay?: {\n /**\n * The average delay (in milliseconds) from end to end\n */\n meanDelay: number;\n /**\n * The maximum delay (in milliseconds) from end to end\n */\n maxDelay: number;\n /**\n * The minimum delay (in milliseconds) from end to end\n */\n minDelay: number;\n };\n /**\n * Aggregated end to end delay representing the mean, max, min delay group by csi\n */\n endToEndDelayByCsi?: {\n csi?: number;\n delay?: unknown;\n }[];\n };\n isRxCallBackgroundNoiseReductionModeOn?: boolean;\n isMeasureSNROn?: boolean;\n averageSNRValue?: number;\n /**\n * contains fields for QOEM MOS score\n */\n audioqoem?: {\n version: string;\n /**\n * Average Estimated Mean Opinion Score by considering network’s jitter, loss etc.\n */\n averageNetMOS: number;\n /**\n * Min Estimated Mean Opinion score by considering network’s jitter, loss etc.\n */\n minNetMOS: number;\n /**\n * Average Estimated Mean Opinion Score jitter buffer’s status, such as drop packet, do PLC, do recover etc.\n */\n averageJitterMOS: number;\n /**\n * Min Estimated Mean Opinion Score jitter buffer’s status, such as drop packet, do PLC, do recover etc.\n */\n minJitterMOS: number;\n /**\n * Perceptual Evaluation of Speech Quality - Listening Quality Objective (PESQ-LQO)\n */\n pesqLQO?: number;\n };\n audioPlaybackMethod?: 'AUDIO_ANDROID_JAVA_METHOD' | 'AUDIO_ANDROID_AAUDIO_METHOD';\n /**\n * audio received algorithm modules performance data(AGC,NR,MultiChannelPreprocess)\n */\n audioAlgorithmModulesInfo?: {\n /**\n * one unsigned char every 1 minute, 0 for 0dB, plus 1 for -0.5dB\n */\n speechRMS?: number;\n /**\n * one unsigned char every 1 minute, 0 for 0s, plus 4 for +1s\n */\n speechLength?: number;\n /**\n * one unsigned char every 1 minute, VAD value to reflect speech quality\n */\n speechQuality?: number;\n /**\n * one unsigned short every 1 minute\n */\n bnrTRN?: number;\n };\n /**\n * audio receive pipeline modules' quality metric\n */\n audioModuleQualityInfo?: {\n /**\n * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB\n */\n agcOutPower?: number[];\n /**\n * one char every 2 seconds. 0 indicate 0dB, plus 1 indicate -0.5dB\n */\n agcAvgOutPower?: number[];\n };\n /**\n * This object tracks the the audio video sync data, to see whether the video timestamp is matching with audio timestamp\n */\n avSync?: {\n /**\n * Compared with audio, the maximum video delay time (in milliseconds) in last interval\n */\n maxVideoLateInterval?: number;\n /**\n * Compared with audio, the maximum video early time (in milliseconds) in last interval\n */\n maxVideoEarlyInterval?: number;\n /**\n * Compared with audio, the unsync video frames get played out / total frames\n */\n decidePlayedUnsyncRatio?: number;\n };\n }[];\n /**\n * information about tracked audio levels\n */\n levels?: {\n /**\n * The average audio input gain for a microphone or speaker, in decibels\n */\n audioMeanGain?: number;\n /**\n * The minimum audio input gain for a microphone or speaker, in decibels\n */\n audioMinGain?: number;\n /**\n * The maximum audio input gain for a microphone or speaker, in decibels\n */\n audioMaxGain?: number;\n /**\n * The mean audio output volume for a microphone or speaker, in absolute volume [0-65535]\n */\n audioMeanVolume?: number;\n /**\n * The min audio output volume for a microphone or speaker, in absolute volume [0-65535]\n */\n audioMinVolume?: number;\n /**\n * The max audio output volume for a microphone or speaker, in absolute volume [0-65535]\n */\n audioMaxVolume?: number;\n };\n playbackHardwareRequiredAudioPacketsPerSecond?: number;\n }[];\n videoReceive: {\n /**\n * contains the receive related fields between all sessions types for each interval.\n */\n common: {\n /**\n * contains the fields common to both transmit and receive sessions for each interval\n */\n common: {\n isMain: boolean;\n mariFecEnabled: boolean;\n mariRtxEnabled?: boolean;\n mariQosEnabled: boolean;\n mariLiteEnabled?: boolean;\n multistreamEnabled: boolean;\n direction: 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive';\n localPort?: number;\n peerReflexivePort?: number;\n remotePort?: number;\n };\n fecPackets: number;\n fecBitrate: number;\n rtxPackets?: number;\n rtxBitrate?: number;\n meanRtxDelay?: number;\n maxRtxDelay?: number;\n rtpPackets: number;\n rtpBitrate: number;\n rtpHopByHopLost: number;\n mediaHopByHopLost: number;\n rtpRecovered: number;\n rtxRecovered?: number;\n rtcpPackets: number;\n rtcpBitrate: number;\n /**\n * RTCP Information for a given Interval\n */\n rxRtcpInfo?: {\n rtcpSrPackets: number;\n rtcpRrPackets: number;\n rtcpReportBlocks: number;\n rtcpSdesPackets: number;\n rtcpByePackets: number;\n rtcpAppPackets: number;\n rtcpRtpFbPacket: number;\n rtcpPsFbPackets: number;\n rtcpPsFbMariPackets: number;\n rtcpPsFbMultistreamPackets: number;\n rtcpXrPackets: number;\n };\n stunPackets: number;\n stunBitrate: number;\n dtlsPackets: number;\n dtlsBitrate: number;\n transportType: 'UDP' | 'TCP' | 'xTLS' | 'TLS';\n maxBitrate: number;\n srtpUnprotectErrors: number;\n /**\n * SRTP/SRTCP unprotect error details\n */\n srtpUnprotectErrorDetails?: {\n authFailures: number;\n cipherFailures: number;\n replayFailures: number;\n unknownFailures: number;\n };\n srtcpUnprotectErrors: number;\n /**\n * SRTP/SRTCP unprotect error details\n */\n srtcpUnprotectErrorDetails?: {\n authFailures: number;\n cipherFailures: number;\n replayFailures: number;\n unknownFailures: number;\n };\n };\n streams: {\n /**\n * contains fields common to all types of receive stream\n */\n common: {\n ssci: number;\n rtpPackets: number;\n rtpEndToEndLost: number;\n concealedFrames: number;\n maxConcealRunLength: number;\n receivedFrameRate: number;\n renderedFrameRate: number;\n requestedFrameRate: number;\n optimalFrameRate: number;\n meanRtpJitter?: number;\n maxRtpJitter?: number;\n rtpJitter?: number;\n receivedBitrate: number;\n requestedBitrate: number;\n optimalBitrate: number;\n durationForSpeedChanged?: number;\n endToEndTransmitDelay?: number;\n csi: number[];\n codec: string;\n /**\n * This object tracks SSRC and CSRC changes for an RTP stream, session, etc\n */\n sourceChanges?: {\n /**\n * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.\n */\n ssrcChanges: number;\n /**\n * 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.\n */\n csrcChanges: number;\n };\n /**\n * 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.\n */\n concealmentReasonByPacket?: {\n /**\n * concealment caused by network loss\n */\n byNetwork?: number;\n /**\n * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.\n */\n byOverflow?: number;\n /**\n * concealment caused by buffer is reset.\n */\n byReset?: number;\n /**\n * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.\n */\n byLate?: number;\n /**\n * concealment caused by poor performance.\n */\n byPoorPerformance?: number;\n /**\n * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.\n */\n byIncreasedDelay?: number;\n /**\n * only for video. concealment caused by AV sync\n */\n byAVSync?: number;\n /**\n * 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.\n */\n byPrevFramePopped?: number;\n /**\n * concealment caused by the other unknown reasons\n */\n byOthers?: number;\n };\n /**\n * 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.\n */\n concealmentReasonByFrame?: {\n /**\n * concealment caused by network loss\n */\n byNetwork?: number;\n /**\n * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.\n */\n byOverflow?: number;\n /**\n * concealment caused by buffer is reset.\n */\n byReset?: number;\n /**\n * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.\n */\n byLate?: number;\n /**\n * concealment caused by poor performance.\n */\n byPoorPerformance?: number;\n /**\n * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.\n */\n byIncreasedDelay?: number;\n /**\n * only for video. concealment caused by AV sync\n */\n byAVSync?: number;\n /**\n * 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.\n */\n byPrevFramePopped?: number;\n /**\n * concealment caused by the other unknown reasons\n */\n byOthers?: number;\n };\n /**\n * 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.\n */\n interruptCount?: {\n /**\n * interrupt count longer than 60 ms in one minute\n */\n longerThan60?: number;\n /**\n * interrupt count longer than 120 ms in one minute\n */\n longerThan120?: number;\n };\n /**\n * This object tracks the delay associated with a jitter buffer\n */\n jitterBufferDelay?: {\n /**\n * The average delay (in milliseconds) used by the jitter buffer\n */\n meanDelay: number;\n /**\n * The maximum delay (in milliseconds) used by the jitter buffer\n */\n maxDelay: number;\n /**\n * The minimum delay (in milliseconds) used by the jitter buffer\n */\n minDelay: number;\n };\n /**\n * This object tracks the the end to end delay(the delay between capture time of sender side and render time of receiver side)\n */\n endToEndDelay?: {\n /**\n * The average delay (in milliseconds) from end to end\n */\n meanDelay: number;\n /**\n * The maximum delay (in milliseconds) from end to end\n */\n maxDelay: number;\n /**\n * The minimum delay (in milliseconds) from end to end\n */\n minDelay: number;\n };\n /**\n * Aggregated end to end delay representing the mean, max, min delay group by csi\n */\n endToEndDelayByCsi?: {\n csi?: number;\n delay?: unknown;\n }[];\n };\n receivedFrameSize: number;\n requestedFrameSize: number;\n optimalFrameSize: number;\n receivedHeight: number;\n receivedWidth: number;\n receivedKeyFrames: number;\n requestedKeyFrames: number;\n receivedKeyFramesSourceChange?: number;\n receivedKeyFramesConfigurationChange?: number;\n receivedKeyFramesForRequest?: number;\n receivedKeyFramesUnknown?: number;\n isActiveSpeaker?: boolean;\n h264CodecProfile: 'BP' | 'CHP';\n isHardwareDecoded?: boolean;\n /**\n * receive video pipeline performance metric\n */\n decoderProcessInfo?: {\n meanDecoderProcessMillis: number;\n maxDecoderProcessMillis: number;\n };\n receivedBuffer?: number;\n receivedFrameRateNormalShare?: number;\n receivedFrameRateHFPSShare?: number;\n renderWindowResolution?: number;\n scaledResolution?: number;\n }[];\n }[];\n gamestateTransmit?: {\n /**\n * contains the transmit related fields common between all session types for each interval\n */\n common: {\n /**\n * contains the fields common to both transmit and receive sessions for each interval\n */\n common: {\n isMain: boolean;\n mariFecEnabled: boolean;\n mariRtxEnabled?: boolean;\n mariQosEnabled: boolean;\n mariLiteEnabled?: boolean;\n multistreamEnabled: boolean;\n direction: 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive';\n localPort?: number;\n peerReflexivePort?: number;\n remotePort?: number;\n };\n fecPackets: number;\n fecBitrate: number;\n rtxPackets?: number;\n rtxBitrate?: number;\n rtpPackets: number;\n rtpBitrate: number;\n rtcpPackets: number;\n rtcpBitrate: number;\n /**\n * RTCP Information for a given Interval\n */\n txRtcpInfo?: {\n rtcpSrPackets: number;\n rtcpRrPackets: number;\n rtcpReportBlocks: number;\n rtcpSdesPackets: number;\n rtcpByePackets: number;\n rtcpAppPackets: number;\n rtcpRtpFbPacket: number;\n rtcpPsFbPackets: number;\n rtcpPsFbMariPackets: number;\n rtcpPsFbMultistreamPackets: number;\n rtcpXrPackets: number;\n };\n stunPackets: number;\n stunBitrate: number;\n dtlsPackets: number;\n dtlsBitrate: number;\n transportType: 'UDP' | 'TCP' | 'xTLS' | 'TLS';\n maxBitrate: number;\n availableBitrate: number;\n queueDelay: number;\n meanRoundTripTime?: number;\n maxRoundTripTime?: number;\n roundTripTime: number;\n remoteReceiveRate?: number;\n maxRemoteLossRate?: number;\n remoteLossRate?: number;\n meanRemoteLossRate?: number;\n maxRemoteJitter?: number;\n remoteJitter?: number;\n meanRemoteJitter?: number;\n traversalMinDelayMs?: number;\n traversalMaxDelayMs?: number;\n traversalMeanDelayMs?: number;\n rtpInputFifoDelayMs?: number;\n rtpInputFifoMaxDelayMs?: number;\n rtpInputFifoMinDelayMs?: number;\n rtpInputFifoMeanDelayMs?: number;\n };\n streams: {\n /**\n * contains fields common to all transmit streams types\n */\n common: {\n ssci: number;\n duplicateSsci?: number;\n rtpPackets: number;\n transmittedFrameRate: number;\n requestedFrames: number;\n transmittedBitrate: number;\n requestedBitrate: number;\n captureOffset?: number;\n codec: string;\n csi?: number[];\n /**\n * This object tracks SSRC and CSRC changes for an RTP stream, session, etc\n */\n sourceChanges?: {\n /**\n * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.\n */\n ssrcChanges: number;\n /**\n * 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.\n */\n csrcChanges: number;\n };\n };\n gamestateObjects?: {\n objectId: number;\n numberOfUpdates: number;\n tag: unknown;\n isActive: boolean;\n }[];\n }[];\n }[];\n gamestateReceive?: {\n /**\n * contains the receive related fields between all sessions types for each interval.\n */\n common: {\n /**\n * contains the fields common to both transmit and receive sessions for each interval\n */\n common: {\n isMain: boolean;\n mariFecEnabled: boolean;\n mariRtxEnabled?: boolean;\n mariQosEnabled: boolean;\n mariLiteEnabled?: boolean;\n multistreamEnabled: boolean;\n direction: 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive';\n localPort?: number;\n peerReflexivePort?: number;\n remotePort?: number;\n };\n fecPackets: number;\n fecBitrate: number;\n rtxPackets?: number;\n rtxBitrate?: number;\n meanRtxDelay?: number;\n maxRtxDelay?: number;\n rtpPackets: number;\n rtpBitrate: number;\n rtpHopByHopLost: number;\n mediaHopByHopLost: number;\n rtpRecovered: number;\n rtxRecovered?: number;\n rtcpPackets: number;\n rtcpBitrate: number;\n /**\n * RTCP Information for a given Interval\n */\n rxRtcpInfo?: {\n rtcpSrPackets: number;\n rtcpRrPackets: number;\n rtcpReportBlocks: number;\n rtcpSdesPackets: number;\n rtcpByePackets: number;\n rtcpAppPackets: number;\n rtcpRtpFbPacket: number;\n rtcpPsFbPackets: number;\n rtcpPsFbMariPackets: number;\n rtcpPsFbMultistreamPackets: number;\n rtcpXrPackets: number;\n };\n stunPackets: number;\n stunBitrate: number;\n dtlsPackets: number;\n dtlsBitrate: number;\n transportType: 'UDP' | 'TCP' | 'xTLS' | 'TLS';\n maxBitrate: number;\n srtpUnprotectErrors: number;\n /**\n * SRTP/SRTCP unprotect error details\n */\n srtpUnprotectErrorDetails?: {\n authFailures: number;\n cipherFailures: number;\n replayFailures: number;\n unknownFailures: number;\n };\n srtcpUnprotectErrors: number;\n /**\n * SRTP/SRTCP unprotect error details\n */\n srtcpUnprotectErrorDetails?: {\n authFailures: number;\n cipherFailures: number;\n replayFailures: number;\n unknownFailures: number;\n };\n };\n streams: {\n /**\n * contains fields common to all types of receive stream\n */\n common: {\n ssci: number;\n rtpPackets: number;\n rtpEndToEndLost: number;\n concealedFrames: number;\n maxConcealRunLength: number;\n receivedFrameRate: number;\n renderedFrameRate: number;\n requestedFrameRate: number;\n optimalFrameRate: number;\n meanRtpJitter?: number;\n maxRtpJitter?: number;\n rtpJitter?: number;\n receivedBitrate: number;\n requestedBitrate: number;\n optimalBitrate: number;\n durationForSpeedChanged?: number;\n endToEndTransmitDelay?: number;\n csi: number[];\n codec: string;\n /**\n * This object tracks SSRC and CSRC changes for an RTP stream, session, etc\n */\n sourceChanges?: {\n /**\n * The number of RTP SSRC changes seen. The first RTP packet seen should NOT be counted as a change.\n */\n ssrcChanges: number;\n /**\n * 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.\n */\n csrcChanges: number;\n };\n /**\n * 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.\n */\n concealmentReasonByPacket?: {\n /**\n * concealment caused by network loss\n */\n byNetwork?: number;\n /**\n * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.\n */\n byOverflow?: number;\n /**\n * concealment caused by buffer is reset.\n */\n byReset?: number;\n /**\n * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.\n */\n byLate?: number;\n /**\n * concealment caused by poor performance.\n */\n byPoorPerformance?: number;\n /**\n * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.\n */\n byIncreasedDelay?: number;\n /**\n * only for video. concealment caused by AV sync\n */\n byAVSync?: number;\n /**\n * 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.\n */\n byPrevFramePopped?: number;\n /**\n * concealment caused by the other unknown reasons\n */\n byOthers?: number;\n };\n /**\n * 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.\n */\n concealmentReasonByFrame?: {\n /**\n * concealment caused by network loss\n */\n byNetwork?: number;\n /**\n * concealment caused by buffer overflow. when total buffer length exceeds max delay threshold, buffer will overflow and data will be dropped.\n */\n byOverflow?: number;\n /**\n * concealment caused by buffer is reset.\n */\n byReset?: number;\n /**\n * concealment caused by late packet or frame. some packets or frames arrive late and the previous one has been played.\n */\n byLate?: number;\n /**\n * concealment caused by poor performance.\n */\n byPoorPerformance?: number;\n /**\n * only for audio. Number of concealment packets/frames sent to the audio decoder when frames are held back to increase re-order audio delay.\n */\n byIncreasedDelay?: number;\n /**\n * only for video. concealment caused by AV sync\n */\n byAVSync?: number;\n /**\n * 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.\n */\n byPrevFramePopped?: number;\n /**\n * concealment caused by the other unknown reasons\n */\n byOthers?: number;\n };\n /**\n * 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.\n */\n interruptCount?: {\n /**\n * interrupt count longer than 60 ms in one minute\n */\n longerThan60?: number;\n /**\n * interrupt count longer than 120 ms in one minute\n */\n longerThan120?: number;\n };\n /**\n * This object tracks the delay associated with a jitter buffer\n */\n jitterBufferDelay?: {\n /**\n * The average delay (in milliseconds) used by the jitter buffer\n */\n meanDelay: number;\n /**\n * The maximum delay (in milliseconds) used by the jitter buffer\n */\n maxDelay: number;\n /**\n * The minimum delay (in milliseconds) used by the jitter buffer\n */\n minDelay: number;\n };\n /**\n * This object tracks the the end to end delay(the delay between capture time of sender side and render time of receiver side)\n */\n endToEndDelay?: {\n /**\n * The average delay (in milliseconds) from end to end\n */\n meanDelay: number;\n /**\n * The maximum delay (in milliseconds) from end to end\n */\n maxDelay: number;\n /**\n * The minimum delay (in milliseconds) from end to end\n */\n minDelay: number;\n };\n /**\n * Aggregated end to end delay representing the mean, max, min delay group by csi\n */\n endToEndDelayByCsi?: {\n csi?: number;\n delay?: unknown;\n }[];\n };\n gamestateObjects?: {\n objectId: number;\n numberOfUpdates: number;\n tag: unknown;\n isActive: boolean;\n }[];\n }[];\n }[];\n }[];\n }\n | {\n canProceed: boolean;\n state?: string;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard' | 'gamestate';\n csi?: number;\n /**\n * media capability for both transmit and receive\n */\n mediaCapabilities?: {\n /**\n * explicit indication of media capabilities. true=supported\n */\n tx: {\n audio: boolean;\n video: boolean;\n share: boolean;\n share_audio: boolean;\n whiteboard: boolean;\n gamestate?: boolean;\n };\n /**\n * explicit indication of media capabilities. true=supported\n */\n rx: {\n audio: boolean;\n video: boolean;\n share: boolean;\n share_audio: boolean;\n whiteboard: boolean;\n gamestate?: boolean;\n };\n };\n mediaLines?: {\n mediaType: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard' | 'gamestate';\n remoteIP?: string;\n localIP?: string;\n localNetworkPrefix?: string;\n localPort?: number;\n remotePort?: number;\n protocol: 'udp' | 'tcp' | 'xtls' | 'unknown';\n direction: 'sendrecv' | 'sendonly' | 'recvonly' | 'inactive';\n clusterName?: string;\n status?: 'succeeded' | 'in-progress' | 'failed';\n failureReason?:\n | 'network'\n | 'transport'\n | 'rejected'\n | 'timeout'\n | 'notstarted'\n | 'succeeded';\n errorCode?: number;\n mediaLineData?: {};\n }[];\n /**\n * allows client to specify media preferences\n */\n clientMediaPreferences?: {\n preferTranscoding: boolean;\n };\n pstnAudioType?: 'dial-in' | 'dial-out';\n success?: boolean;\n isTranscoded?: boolean;\n isGatewayed?: boolean;\n isComposed?: boolean;\n /**\n * determine how the events are processed as well as how the reports are aggregated and sliced\n */\n registrationMode?: 'SIP' | 'Cloud' | 'CloudAware';\n /**\n * protocols used to help determine how the events are processed as well as how the reports are aggregated and sliced\n */\n protocol?: 'SIP' | 'H323' | 'Locus' | 'WebRTC';\n /**\n * The underlying service provider of the call.\n */\n meetingPlatform?: 'MsTeams' | 'GoogleMeet' | 'Zoom' | 'Webex';\n labels?: string[];\n webexServiceType?: 'MC' | 'EC' | 'SC' | 'TC' | 'AA' | 'RA' | 'NBR' | 'WRF' | 'HOL';\n /**\n * this defines the sub service type\n */\n webexSubServiceType?:\n | 'PMR'\n | 'Event'\n | 'Training'\n | 'ScheduleMeeting'\n | 'ScheduledMeeting'\n | 'Webinar'\n | 'others';\n ivrDialogType?:\n | 'MEDIA_ON_HOLD'\n | 'ANNOUNCEMENT'\n | 'TONE'\n | 'COLLECT_PIN'\n | 'PROMPT'\n | 'MEDIA_SERVICE_AGENT'\n | 'COLLECT';\n ivrDialogResult?:\n | 'SUCCESS'\n | 'FAILURE'\n | 'HOST_PIN_MATCH'\n | 'GUEST_PIN_MATCH'\n | 'PANELIST_PIN_MATCH'\n | 'NO_MATCH'\n | 'INVALID_PIN';\n callType?:\n | 'VIDEO_DIALIN'\n | 'VIDEO_DIALOUT'\n | 'CASCADE'\n | 'HYBRID_CASCADE'\n | 'PSTN_SIP'\n | 'PSTN_DIALIN'\n | 'PSTN_DIALOUT'\n | 'PSTN_ONLY_DIALIN'\n | 'PSTN_ONLY_DIALOUT'\n | 'H323'\n | 'H323_IP'\n | 'SIP_ENTERPRISE'\n | 'SIP_MOBILE'\n | 'SIP_NATIONAL'\n | 'SIP_INTERNATIONAL'\n | 'SIP_EMERGENCY'\n | 'SIP_OPERATOR'\n | 'SIP_SHORTCODE'\n | 'SIP_TOLLFREE'\n | 'SIP_PREMIUM'\n | 'SIP_URI'\n | 'SIP_INBOUND'\n | 'UNKNOWN'\n | 'ZTM'\n | 'SIP_MEETING';\n eventData?: {};\n derivedSipClientType?:\n | 'SIP_CE_SINGLE_SCREEN'\n | 'SIP_CE_MULTI_SCREEN'\n | 'SIP_JABBER'\n | 'SIP_TIP_SINGLE_SCREEN'\n | 'SIP_TIP_THREE_SCREEN'\n | 'SIP_PSTN'\n | 'SIP_OTHER'\n | 'SIP_WEBEX_CASCADE'\n | 'SIP_NONE';\n /**\n * this defines the major client types\n */\n derivedClientType?:\n | 'MEETING_CENTER'\n | 'EVENT_CENTER'\n | 'TRAINING_CENTER'\n | 'TEAMS_CLIENT'\n | 'TEAMS_DEVICE'\n | 'TEAMS_SHARE'\n | 'SIP'\n | 'RECORDING'\n | 'CLOUD_AWARE_SIP'\n | 'TEAMS_WXC_CLIENT'\n | 'WXC_CLIENT'\n | 'WXC_DEVICE'\n | 'WEBEX_JS_SDK'\n | 'VOICEA_CLIENT'\n | 'CISCO_SIP_GW'\n | 'WEBEX_SDK'\n | 'CPAAS_THIRD_PARTY_SDK'\n | 'WXC_THIRD_PARTY';\n /**\n * this defines the sub types of clients\n */\n derivedSubClientType?:\n | 'DESKTOP_APP'\n | 'DESKTOP_APP_VDI'\n | 'DEVICE_CURRENT'\n | 'DEVICE_LEGACY_2020'\n | 'HVDI_APP'\n | 'MOBILE_APP'\n | 'VDI_APP'\n | 'WEB_APP'\n | 'MOBILE_NETWORK'\n | 'HOLOGRAM_HEADSET_APP';\n serverRole?:\n | 'CONFERENCE'\n | 'TRANSCODER'\n | 'WHITEBOARD_INJECTOR'\n | 'MS_TEAMS_CONFERENCE'\n | 'RECORDING'\n | 'GATEWAY'\n | 'GATEWAY_CLIENT_SIDE'\n | 'UNKNOWN'\n | 'HOLOGRAM_RENDER';\n reconnect?: boolean;\n retryCount?: number;\n meetSimple?: boolean;\n /**\n * represents media quality status report such as no media or drop out\n */\n mediaStatus?: {\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n mediaSuccess?: boolean;\n shareType?:\n | 'cb-normal-share'\n | 'ce-airplay-share'\n | 'ce-direct-share'\n | 'ce-gui-loopback-share'\n | 'ce-input-source-share'\n | 'ce-input-source-share-hdmi'\n | 'ce-input-source-share-usbc'\n | 'ce-jpg-share'\n | 'ce-miracast-share'\n | 'mcs-normal-share'\n | 'mcs-normal-audio-share'\n | 'mcs-hfps-share'\n | 'mcs-hfps-audio-share';\n isTransmitter?: boolean;\n audioJoinType?:\n | 'phone-call-in'\n | 'phone-call-back'\n | 'voip'\n | 'device-call-back'\n | 'never-join-audio'\n | 'tried-but-never-join';\n /**\n * indicates transport type used\n */\n transportType?: 'UDP' | 'TCP' | 'xTLS' | 'TLS';\n additionalData?: {};\n };\n shareInstanceId?: string;\n hologramStreamId?: string;\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n audioSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n videoSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n shareSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n shareAudioSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n /**\n * represents all of the properities that could cause delay during media setup process.\n */\n whiteboardSetupDelay?: {\n floorReqSentReceived?: number;\n floorRespSentReceived?: number;\n mediaType?: 'audio' | 'video' | 'share' | 'share_audio' | 'whiteboard';\n txReqFloorGranted?: number;\n txSessionCreateConfirm?: number;\n txApeEnrollConfirm?: number;\n txUIDelay?: number;\n txScreenCaptureDelay?: number;\n txScreenCaptureDelayReasonCode?: number;\n txShareStartOverallDelay?: number;\n rx1stPacket2RenderDelay?: number;\n rxGranted2RenderDelay?: number;\n rxFailFrameNumB4Success?: number;\n e2eFirstFrameDelay?: number;\n CBSessionRespToLocusFloorGrantDelay?: number;\n CBShareReceiveToServerShareTransmitDelay?: number;\n CBShareReceiveToTPGWFirstKeyFrameDelay?: number;\n TPGWFirstKeyFrameToServerShareTransmitDelay?: number;\n MCSSessionActivateToLocusFloorGrantDelay?: number;\n ServerShareInitiateToLocusFloorGrantDelay?: number;\n LocusFloorGrantToCBSessionStartDelay?: number;\n ServerShareReceiveToTPGWFirstKeyFrameDelay?: number;\n LocusFloorGrantToTPGWFloorGrantDelay?: number;\n LocusFloorGrantToReceiverNotificationDelay?: number;\n CBShareSessionRespDelay?: number;\n LocusShareFloorGrantRespDelay?: number;\n ServerShareFloorGrantRespDelay?: number;\n joinRespRxStart?: number;\n joinRespTxStart?: number;\n maxRemoteLossRate?: number;\n media2SignalDelay?: number;\n warholDownloadTime?: number;\n contentDownloadTime?: number;\n boardCreationTime?: number;\n totalBoardServiceRespDelay?: number;\n };\n isFocus?: boolean;\n processingDelay?: number;\n shareType?:\n | 'cb-normal-share'\n | 'ce-airplay-share'\n | 'ce-direct-share'\n | 'ce-gui-loopback-share'\n | 'ce-input-source-share'\n | 'ce-input-source-share-hdmi'\n | 'ce-input-source-share-usbc'\n | 'ce-jpg-share'\n | 'ce-miracast-share'\n | 'mcs-normal-share'\n | 'mcs-normal-audio-share'\n | 'mcs-hfps-share'\n | 'mcs-hfps-audio-share';\n isShareBeingTakenOver?: boolean;\n floorBeneficiaryUpdated?: boolean;\n meetingJoinedTime?: string;\n meetingScheduledTime?: string;\n e2eeKeyEpoch?: number;\n e2eeDecompressRatio?: number;\n keyResponses?: {\n gotKeyTime?: number;\n useKeyTime?: number;\n cacheKeyTime?: number;\n }[];\n e2eeVersion?: 'E2EEV1' | 'E2EEV2' | 'E2EEV3';\n isConvergedArchitectureEnabled?: boolean;\n callingServiceType?: 'CUCM' | 'WEBEXCALLING' | 'BROADWORKS' | 'LOCUS';\n inLobby?: boolean;\n isVIPMeeting?: boolean;\n webexAppEntrypoint?: string;\n firstParticipant?: boolean;\n isImmersiveShare?: boolean;\n /**\n * Request/Response Time for Internal Services\n */\n registeredTimestamps?: {\n locusCreateConfluenceRequestTime?: string;\n locusCreateConfluenceResponseTime?: string;\n locusCreateVenueRequestTime?: string;\n locusCreateVenueResponseTime?: string;\n };\n skipInterstitialWindow?: boolean;\n callDurationSecs?: number;\n /**\n * Details associated with a breakout move\n */\n breakout?: {\n moveType?: 'between_breakout' | 'to_breakout' | 'to_main';\n trigger?: 'assignment_changed' | 'client_initiated' | 'session_ended' | 'session_started';\n startState?: 'joined' | 'lobby';\n endState?: 'joined' | 'lobby';\n };\n /**\n * Latency values associated with breakout session\n */\n breakoutLatency?: {\n boBreakoutMoveProcessed?: number;\n boBreakoutMoveResp?: number;\n boLocusBreakoutMoveResp?: number;\n locusBreakoutMoveResp?: number;\n orpheusConfluenceMoveReqResp?: number;\n };\n /**\n * two-way whiteboard related info\n */\n whiteboard?: {\n action?: 'open' | 'create';\n type?: 'whiteboard' | 'annotation';\n capability?: 'one_way' | 'two_way';\n granted?: 'one_way' | 'two_way';\n };\n /**\n * ROAP message details\n */\n roap?: {\n type?:\n | 'ANSWER'\n | 'ERROR'\n | 'OFFER'\n | 'OFFER_REQUEST'\n | 'OFFER_RESPONSE'\n | 'OK'\n | 'TURN_DISCOVERY_REQUEST'\n | 'TURN_DISCOVERY_RESPONSE';\n messageType?:\n | 'ANSWER'\n | 'ERROR'\n | 'OFFER'\n | 'OFFER_REQUEST'\n | 'OFFER_RESPONSE'\n | 'OK'\n | 'TURN_DISCOVERY_REQUEST'\n | 'TURN_DISCOVERY_RESPONSE';\n error?: string;\n duration?: number;\n };\n name:\n | 'client.feature.audio.noise.removal'\n | 'client.feature.embedded-object-info'\n | 'client.feature.gesture.recognition'\n | 'client.feature.meeting.breakout-session.action'\n | 'client.feature.meeting.breakout-session.summary'\n | 'client.feature.meeting.download.summary'\n | 'client.feature.meeting.people-insights.check.response'\n | 'client.feature.meeting.people-insights.query.response'\n | 'client.feature.meeting.problem-report.submit'\n | 'client.feature.meeting.summary'\n | 'client.feature.meeting.teams.launch'\n | 'client.feature.meeting.user-action'\n | 'client.feature.mta.launched'\n | 'client.feature.report'\n | 'client.feature.vdi.collect.thinclient.log';\n /**\n * Base type for the various identifiers used to connect the dots.\n * In general, these should be populated whenever possible. Subtypes may make a particular key required.\n *\n */\n identifiers: {\n attendeeId?: string;\n breakoutGroupId?: string;\n breakoutMoveId?: string;\n breakoutSessionId?: string;\n confluenceId?: string;\n /**\n * Set of identifiers dedicated to CPaaS clients\n * In general, these should be populated whenever possible. Subtypes may make a particular key required.\n *\n */\n cpaasIdentifiers?: {\n imiTenantId: string;\n devClientId: string;\n imiServiceId: string;\n imiAppId: string;\n sessionId: string;\n sessionInstanceId: string;\n };\n csdmDeviceUrl?: string;\n destinationBreakoutSessionId?: string;\n destinationLocusSessionId?: string;\n destinationLocusUrl?: string;\n destinationVenueId?: string;\n deviceId?: string;\n ivrCallId?: string;\n ivrDialogId?: string;\n ivrId?: string;\n locusId?: string;\n locusSessionId?: string;\n locusStartTime?: string;\n locusUrl?: string;\n mediaAgentAlias?: string;\n mediaAgentGroupId?: string;\n meetClusterName?: string;\n meetingLookupUrl?: string;\n meetingOrgId?: string;\n msteamsTenantGuid?: string;\n msteamsConferenceId?: string;\n oauth2ClientId?: string;\n orgId?: string;\n roomId?: string;\n sipCallId?: string;\n sipSessionId?: {\n local?: string;\n remote?: string;\n };\n sipUri?: string;\n subConfId?: string;\n tenantId?: string;\n trackingId?: string;\n userId?: string;\n venueId?: string;\n venueUrl?: string;\n whiteboardUrl?: string;\n webexConferenceId?: number;\n webexClusterName?: string;\n webexConferenceIdStr?: string;\n webexDataCenter?: string;\n webexGuestId?: number;\n webexMeetingId?: number;\n webexNodeId?: number;\n webexSiteId?: number;\n webexSiteName?: string;\n webexUserId?: number;\n webexWebDomain?: string;\n correlationId: string;\n };\n trigger?: 'user-interaction';\n errors?: {\n fatal: boolean;\n category: 'signaling' | 'media' | 'other' | 'expected';\n errorDescription?: string;\n errorCode?: number;\n errorCodeStr?: string;\n httpCode?: number;\n errorData?: {};\n shownToUser: boolean;\n serviceErrorCode?: number;\n name:\n | 'media-engine'\n | 'ice.failed'\n | 'locus.response'\n | 'locus.leave'\n | 'client.leave'\n | 'media-device'\n | 'media-sca'\n | 'other';\n }[];\n pairingState?: 'paired' | 'observing' | 'challenging';\n userType?: 'host' | 'attendee' | 'cohost' | 'panelist';\n updateType?: 'new-user' | 'update-user' | 'return-user';\n isFirstTimeUser?: boolean;\n /**\n * Details of server environment\n */\n serverInfo?: {\n serverType:\n | 'CB'\n | 'CMS'\n | 'HESIOD'\n | 'LINUS'\n | 'MCC'\n | 'MCS'\n | 'MES'\n | 'MJS'\n | 'MRS'\n | 'MYGDONUS'\n | 'MZM'\n | 'TERMINUS'\n | 'TPGW'\n | 'TA'\n | 'HOMER'\n | 'SUPERHOMER'\n | 'U2C'\n | 'WCA'\n | 'MSE'\n | 'UNKNOWN';\n serverAddress?: string;\n };\n /**\n * Details of breakout session information, sent after end of breakout session\n */\n breakoutSessionSummaryInfo?: {\n duration: number;\n subConferenceCount: number;\n totalAttendeeCount: number;\n participantCount: number;\n assignedparticipantCount: number;\n cohostCount: number;\n averageAttendeeCountPerSubConference: number;\n totalHostJoinedCount: number;\n isBoStarted: boolean;\n isBoEnabled: boolean;\n isPreAssigned: boolean;\n boStartedTimers: number;\n createType: 'pre-meeting' | 'in-meeting';\n enableType: 'pre-meeting' | 'in-meeting';\n };\n /**\n * Details of meeting summary information\n */\n meetingSummaryInfo?: {\n featureReportSummary?: {\n featureName: unknown;\n usage: boolean;\n usageDuration?: number;\n toggle: boolean;\n clickCount: number;\n isMachineSupport: boolean;\n }[];\n featureActionSummary?: {\n featureName: unknown;\n featureActions: unknown[];\n }[];\n featureEventSummary?: {\n featureName: unknown;\n featureEvents: unknown[];\n }[];\n /**\n * Details of MeetingInfo.\n */\n meetingInfo?: {\n simultaneousMeetingCount?: number;\n totalBreakoutSessionCount?: number;\n totalAttendeeCount?: number;\n currentUserCountWhenLeaving?: number;\n isE2EEnable?: boolean;\n isModernE2EEnable?: boolean;\n isWbxTraceOverWrite?: boolean;\n isAnonymousMeeting?: boolean;\n serverCipher?: string;\n mediaCipher?: string;\n };\n /**\n * Details of SurveyInfo.\n */\n surveyInfo?: {\n surveyCount: number;\n surveyLocalClientVersion?: string;\n surveyDate?: string;\n };\n languageType?:\n | 'lan_af'\n | 'lan_sq'\n | 'lan_am'\n | 'lan_ar'\n | 'lan_hy'\n | 'lan_az'\n | 'lan_eu'\n | 'lan_be'\n | 'lan_bn'\n | 'lan_bs'\n | 'lan_bg'\n | 'lan_ca'\n | 'lan_ceb'\n | 'lan_zh'\n | 'lan_zh-TW'\n | 'lan_co'\n | 'lan_hr'\n | 'lan_cs'\n | 'lan_da'\n | 'lan_nl'\n | 'lan_en'\n | 'lan_en-GB'\n | 'lan_eo'\n | 'lan_et'\n | 'lan_fi'\n | 'lan_fr'\n | 'lan_fr-CA'\n | 'lan_fy'\n | 'lan_gl'\n | 'lan_ka'\n | 'lan_de'\n | 'lan_el'\n | 'lan_gu'\n | 'lan_ht'\n | 'lan_ha'\n | 'lan_haw'\n | 'lan_he'\n | 'lan_hi'\n | 'lan_hmn'\n | 'lan_hu'\n | 'lan_is'\n | 'lan_ig'\n | 'lan_id'\n | 'lan_ga'\n | 'lan_it'\n | 'lan_ja'\n | 'lan_jv'\n | 'lan_kn'\n | 'lan_kk'\n | 'lan_km'\n | 'lan_rw'\n | 'lan_ko'\n | 'lan_ku'\n | 'lan_ky'\n | 'lan_lo'\n | 'lan_la'\n | 'lan_lv'\n | 'lan_lt'\n | 'lan_lb'\n | 'lan_mk'\n | 'lan_mg'\n | 'lan_ms'\n | 'lan_ml'\n | 'lan_mt'\n | 'lan_mi'\n | 'lan_mr'\n | 'lan_mn'\n | 'lan_my'\n | 'lan_ne'\n | 'lan_no'\n | 'lan_ny'\n | 'lan_or'\n | 'lan_ps'\n | 'lan_fa'\n | 'lan_pl'\n | 'lan_pt'\n | 'lan_pa'\n | 'lan_ro'\n | 'lan_ru'\n | 'lan_sm'\n | 'lan_gd'\n | 'lan_sr'\n | 'lan_st'\n | 'lan_sn'\n | 'lan_sd'\n | 'lan_si'\n | 'lan_sk'\n | 'lan_sl'\n | 'lan_so'\n | 'lan_es'\n | 'lan_es-ES'\n | 'lan_su'\n | 'lan_sw'\n | 'lan_sv'\n | 'lan_tl'\n | 'lan_tg'\n | 'lan_ta'\n | 'lan_tt'\n | 'lan_te'\n | 'lan_th'\n | 'lan_tr'\n | 'lan_tk'\n | 'lan_uk'\n | 'lan_ur'\n | 'lan_ug'\n | 'lan_uz'\n | 'lan_vi'\n | 'lan_cy'\n | 'lan_xh'\n | 'lan_yi'\n | 'lan_yo'\n | 'lan_zu';\n };\n /**\n * Audio background noise removal\n */\n audioNoiseRemoval?: {\n /**\n * background noise removal action data\n */\n actionData?: {\n bnrActionType: 'turn-on-bnr' | 'turn-off-bnr';\n };\n /**\n * background noise removal event data\n */\n eventData?: {\n bnrEventType: 'bnr-on' | 'bnr-off';\n };\n };\n /**\n * Details of client action\n */\n gestureRecognition?: {\n supportedMachine?: boolean;\n gestureType?: 'clap' | 'none' | 'raiseHand' | 'thumpUp' | 'thumbDown';\n duration?: number;\n };\n /**\n * post meeting hook report\n */\n postMeetingHook?: {\n /**\n * data define for background noise removal action\n */\n actionData?: {\n pmhActionType: 'share' | 'view-details' | 'close';\n pmhActionResult?: string;\n };\n /**\n * data define for background noise removal event\n */\n eventData?: {\n pmhEventType: 'used' | 'not-show-again';\n };\n };\n /**\n * Details of problem report information\n */\n problemReportInfo?: {\n logId: string;\n fileSize: number;\n uploadStage: 'connect' | 'upload';\n collectWMETime?: number;\n collectTopicTime?: number;\n collectSystemInfoTime?: number;\n collectMeetingDataTime?: number;\n collectDumpTime?: number;\n collectCPUTime?: number;\n zipTime?: number;\n connectTime?: number;\n uploadTime?: number;\n totalTime?: number;\n uploadErrorMessage?: string;\n };\n /**\n * Details of breakout session information\n */\n breakoutSessionInfo?: {\n breakoutSessionAction:\n | 'add'\n | 'assign'\n | 'ask-for-help'\n | 'breakout-session-open'\n | 'breakout-session-close'\n | 'breakout-session-mute-all'\n | 'breakout-session-unmute-all'\n | 'broadcast-open'\n | 'broadcast-send'\n | 'cancel-automatic-close'\n | 'create'\n | 'delete'\n | 'disable'\n | 'dynamic-assign'\n | 'dynamic-exchange'\n | 'end'\n | 'enable'\n | 'exchange'\n | 'join'\n | 'leave'\n | 'lock-all-sessions'\n | 'lock-this-sessions'\n | 'moveto'\n | 'mute-all'\n | 'mute-all-set'\n | 'recreate'\n | 'remove'\n | 'rename'\n | 'search'\n | 'select-all'\n | 'show-all-sessions'\n | 'start'\n | 'unmute-all'\n | 'unlock-all-sessions'\n | 'unlock-this-sessions'\n | 'allow-leave-session'\n | 'allow-join-session-later'\n | 'auto-end-sessions'\n | 'time-before-leave-session';\n breakoutSessionJoinType?: 'any-one-can-join' | 'auto' | 'manual' | 'preassign-rest';\n breakoutSessionActionClickFrom?:\n | 'actionbar'\n | 'assign-dialog'\n | 'auto'\n | 'breakout-session-list'\n | 'contextmenu'\n | 'menu'\n | 'plist'\n | 'popup-dialog';\n broadcastSendType?:\n | 'all-sessions-all-participants'\n | 'all-sessions-all-cohost-and-presenters'\n | 'one-session-all-participants'\n | 'one-session-one-participant';\n breakoutSessionDialogOpenTime?: number;\n breakoutSessionDialogAssignTime?: number;\n };\n /**\n * call embedded browser object result, if failed, will populate error at Error item\n */\n embeddedBrowserObject?: {\n browserType: 'IE' | 'WebView2';\n version?: string;\n callFrom?: string;\n };\n /**\n * TeamsLaunchWebexMeeting report\n */\n teamsLaunchWebexMeeting?: {\n /**\n * data define for TeamsLaunchWebexMeeting event\n */\n eventData?: {\n tlmEevntType:\n | 'sync-preference'\n | 'sip-call-launch'\n | 'skip-interstitial'\n | 'ipc-ready'\n | 'ipc-failed';\n ipcConnectTime?: number;\n };\n /**\n * data define for TeamsLaunchWebexMeeting action\n */\n actionData?: {\n tlmActionType: 'change-audio' | 'change-video';\n };\n /**\n * data define for TeamsLaunchWebexMeeting data from\n */\n dataFrom?: {\n tlmFromType: 'webex-meeting' | 'webex-teams';\n };\n };\n /**\n * Details of language action\n */\n languageActionInfo?: {\n languageAction:\n | 'openLanguageDialog'\n | 'subscribeTransLanguage'\n | 'unsubscribeTransLanguage'\n | 'changeSpeakLanguage'\n | 'transcriptTurnOnWebexAssistantDialog'\n | 'transcriptTurnOffWebexAssistantDialog'\n | 'transcriptTurnOnWebexAssistantMenu'\n | 'transcriptTurn0ffWebexAssistantMenu'\n | 'transcriptViewHighlightPanel'\n | 'transcriptViewHighlightPanelViaCloseCaption'\n | 'transcriptViewHighlightPanelViaPanelOption'\n | 'transcriptViewHighlightPanelViaWebexAssistant'\n | 'transcriptEnableCloseCaptionDialog'\n | 'transcriptDisableCloseCaptionDialog'\n | 'transcriptDisableCloseCaptionDialogForActiveCCOpen'\n | 'transcriptDisableCloseCaptionDialogViaCCButton'\n | 'transcriptDisableCloseCaptionDialogViaCCDialog'\n | 'transcriptEnableCloseCaptionMenu'\n | 'transcriptDisableCloseCaptionMenu'\n | 'transcriptTabToCaptions'\n | 'transcriptTabToHighlights'\n | 'transcriptCreateHighlight'\n | 'transcriptDeleteHighlightInHighlight'\n | 'transcriptDeleteHighlightInCaptions'\n | 'transcriptChangeFontSize'\n | 'transcriptBackToDefaultPosition'\n | 'transcriptChangeModeToDark'\n | 'transcriptChangeModeToLight';\n fromLanguage?:\n | 'lan_af'\n | 'lan_sq'\n | 'lan_am'\n | 'lan_ar'\n | 'lan_hy'\n | 'lan_az'\n | 'lan_eu'\n | 'lan_be'\n | 'lan_bn'\n | 'lan_bs'\n | 'lan_bg'\n | 'lan_ca'\n | 'lan_ceb'\n | 'lan_zh'\n | 'lan_zh-TW'\n | 'lan_co'\n | 'lan_hr'\n | 'lan_cs'\n | 'lan_da'\n | 'lan_nl'\n | 'lan_en'\n | 'lan_en-GB'\n | 'lan_eo'\n | 'lan_et'\n | 'lan_fi'\n | 'lan_fr'\n | 'lan_fr-CA'\n | 'lan_fy'\n | 'lan_gl'\n | 'lan_ka'\n | 'lan_de'\n | 'lan_el'\n | 'lan_gu'\n | 'lan_ht'\n | 'lan_ha'\n | 'lan_haw'\n | 'lan_he'\n | 'lan_hi'\n | 'lan_hmn'\n | 'lan_hu'\n | 'lan_is'\n | 'lan_ig'\n | 'lan_id'\n | 'lan_ga'\n | 'lan_it'\n | 'lan_ja'\n | 'lan_jv'\n | 'lan_kn'\n | 'lan_kk'\n | 'lan_km'\n | 'lan_rw'\n | 'lan_ko'\n | 'lan_ku'\n | 'lan_ky'\n | 'lan_lo'\n | 'lan_la'\n | 'lan_lv'\n | 'lan_lt'\n | 'lan_lb'\n | 'lan_mk'\n | 'lan_mg'\n | 'lan_ms'\n | 'lan_ml'\n | 'lan_mt'\n | 'lan_mi'\n | 'lan_mr'\n | 'lan_mn'\n | 'lan_my'\n | 'lan_ne'\n | 'lan_no'\n | 'lan_ny'\n | 'lan_or'\n | 'lan_ps'\n | 'lan_fa'\n | 'lan_pl'\n | 'lan_pt'\n | 'lan_pa'\n | 'lan_ro'\n | 'lan_ru'\n | 'lan_sm'\n | 'lan_gd'\n | 'lan_sr'\n | 'lan_st'\n | 'lan_sn'\n | 'lan_sd'\n | 'lan_si'\n | 'lan_sk'\n | 'lan_sl'\n | 'lan_so'\n | 'lan_es'\n | 'lan_es-ES'\n | 'lan_su'\n | 'lan_sw'\n | 'lan_sv'\n | 'lan_tl'\n | 'lan_tg'\n | 'lan_ta'\n | 'lan_tt'\n | 'lan_te'\n | 'lan_th'\n | 'lan_tr'\n | 'lan_tk'\n | 'lan_uk'\n | 'lan_ur'\n | 'lan_ug'\n | 'lan_uz'\n | 'lan_vi'\n | 'lan_cy'\n | 'lan_xh'\n | 'lan_yi'\n | 'lan_yo'\n | 'lan_zu';\n toLanguage?:\n | 'lan_af'\n | 'lan_sq'\n | 'lan_am'\n | 'lan_ar'\n | 'lan_hy'\n | 'lan_az'\n | 'lan_eu'\n | 'lan_be'\n | 'lan_bn'\n | 'lan_bs'\n | 'lan_bg'\n | 'lan_ca'\n | 'lan_ceb'\n | 'lan_zh'\n | 'lan_zh-TW'\n | 'lan_co'\n | 'lan_hr'\n | 'lan_cs'\n | 'lan_da'\n | 'lan_nl'\n | 'lan_en'\n | 'lan_en-GB'\n | 'lan_eo'\n | 'lan_et'\n | 'lan_fi'\n | 'lan_fr'\n | 'lan_fr-CA'\n | 'lan_fy'\n | 'lan_gl'\n | 'lan_ka'\n | 'lan_de'\n | 'lan_el'\n | 'lan_gu'\n | 'lan_ht'\n | 'lan_ha'\n | 'lan_haw'\n | 'lan_he'\n | 'lan_hi'\n | 'lan_hmn'\n | 'lan_hu'\n | 'lan_is'\n | 'lan_ig'\n | 'lan_id'\n | 'lan_ga'\n | 'lan_it'\n | 'lan_ja'\n | 'lan_jv'\n | 'lan_kn'\n | 'lan_kk'\n | 'lan_km'\n | 'lan_rw'\n | 'lan_ko'\n | 'lan_ku'\n | 'lan_ky'\n | 'lan_lo'\n | 'lan_la'\n | 'lan_lv'\n | 'lan_lt'\n | 'lan_lb'\n | 'lan_mk'\n | 'lan_mg'\n | 'lan_ms'\n | 'lan_ml'\n | 'lan_mt'\n | 'lan_mi'\n | 'lan_mr'\n | 'lan_mn'\n | 'lan_my'\n | 'lan_ne'\n | 'lan_no'\n | 'lan_ny'\n | 'lan_or'\n | 'lan_ps'\n | 'lan_fa'\n | 'lan_pl'\n | 'lan_pt'\n | 'lan_pa'\n | 'lan_ro'\n | 'lan_ru'\n | 'lan_sm'\n | 'lan_gd'\n | 'lan_sr'\n | 'lan_st'\n | 'lan_sn'\n | 'lan_sd'\n | 'lan_si'\n | 'lan_sk'\n | 'lan_sl'\n | 'lan_so'\n | 'lan_es'\n | 'lan_es-ES'\n | 'lan_su'\n | 'lan_sw'\n | 'lan_sv'\n | 'lan_tl'\n | 'lan_tg'\n | 'lan_ta'\n | 'lan_tt'\n | 'lan_te'\n | 'lan_th'\n | 'lan_tr'\n | 'lan_tk'\n | 'lan_uk'\n | 'lan_ur'\n | 'lan_ug'\n | 'lan_uz'\n | 'lan_vi'\n | 'lan_cy'\n | 'lan_xh'\n | 'lan_yi'\n | 'lan_yo'\n | 'lan_zu';\n };\n /**\n * Details of video action\n */\n videoActionInfo?: {\n videoAction:\n | 'switchLayout'\n | 'switchPage'\n | 'switchActiveUser'\n | 'zoomIn'\n | 'zoomOut'\n | 'pinVideoToStage'\n | 'unpinVideoToStage'\n | 'syncMyStageForAll'\n | 'desyncMyStageForAll'\n | 'showParticipantWithoutVideo'\n | 'hideParticipantWithoutVideo'\n | 'showActiveVideoInStage'\n | 'hideActiveVideoInStage'\n | 'showActiveVideoWithShareContent'\n | 'hideActiveVideoWithShareContent'\n | 'showVideoOnTP'\n | 'showVideoOnComputer'\n | 'EnterFullScreen'\n | 'ExitFullScreen'\n | 'EnterFullScreenWithShare'\n | 'ExitFullScreenWithShare'\n | 'hideFilmStrip'\n | 'showFilmStrip';\n fromLayoutType?:\n | 'stack'\n | 'stackWithShare'\n | 'sideBySide'\n | 'sideBySideWithShare'\n | 'grid'\n | 'floatingActive'\n | 'floatingThumbnail'\n | 'floatingGrid'\n | 'overlay'\n | 'focus'\n | 'prominent'\n | 'focusWithShare'\n | 'prominentWithShare'\n | 'equal'\n | 'equalWithShare';\n toLayoutType?:\n | 'stack'\n | 'stackWithShare'\n | 'sideBySide'\n | 'sideBySideWithShare'\n | 'grid'\n | 'floatingActive'\n | 'floatingThumbnail'\n | 'floatingGrid'\n | 'overlay'\n | 'focus'\n | 'prominent'\n | 'focusWithShare'\n | 'prominentWithShare'\n | 'equal'\n | 'equalWithShare';\n zoomLayoutType?:\n | 'stack'\n | 'stackWithShare'\n | 'sideBySide'\n | 'sideBySideWithShare'\n | 'grid'\n | 'floatingActive'\n | 'floatingThumbnail'\n | 'floatingGrid'\n | 'overlay'\n | 'focus'\n | 'prominent'\n | 'focusWithShare'\n | 'prominentWithShare'\n | 'equal'\n | 'equalWithShare';\n duration?: number;\n myVideoCSI?: number;\n myNodeID?: number;\n fromActiveNodeID?: number;\n toActiveNodeID?: number;\n switchFromVideoCount?: number;\n switchToVideoCount?: number;\n isSwitchToPrevious?: boolean;\n pinVideoNodeID?: number;\n pinVideoCSI?: number;\n actionFromPlist?: boolean;\n syncStageNodeIDArray?: number[];\n syncStageCSIArray?: number[];\n lockAttendeeStageView?: boolean;\n };\n /**\n * Details of FeatureReport\n */\n featureReport?: {\n featureReportItems: {\n featureName: unknown;\n timeStamp: string;\n actionName?: string;\n eventName?: string;\n duration?: number;\n extValue?: string;\n webappData?: unknown;\n reactionData?: unknown;\n interpretationAction?: unknown;\n }[];\n };\n downloadInfos?: {\n percentCompleted?: number;\n packageName?: string;\n timestamp?: string;\n clientDownloadFileCount?: number;\n clientDownloadSize?: number;\n clientDownloadTime?: number;\n clientDecompressTime?: number;\n CDNEnabled?: boolean;\n updateFlag?: 'preMeeting' | 'inMeeting' | 'postMeeting';\n epSP?: boolean;\n isEPUpdate?: boolean;\n spDifferent?: number;\n spVersionDelta?: number;\n deltaUpdate?: boolean;\n deltaListDownloadTime?: number;\n deltaPackageDownloadTime?: number;\n deltaCachePackageCopyTime?: number;\n deltaApplyTime?: number;\n deltaPackageUncompressTime?: number;\n deltaDuration?: number;\n deltaVersion?: string;\n deltaDownloadFullPackage?: boolean;\n deltaFileSize?: number;\n deltaUpdateEnabled?: boolean;\n deltaFullpackageDownloadEnabled?: boolean;\n deltaUpdateErrorType?: string;\n deltaUpdateSuccess?: string;\n deltaFullpackageDownloadVersion?: string;\n deltaFullpackageDownloadSuccess?: string;\n deltaUpdateCorrelationId?: string;\n deltaFullpackageDownloadCorrelationId?: string;\n deltaTargetVersion?: string;\n deltaLocalFullPackageVersions?: string;\n deltaUpdateFailReason?: string;\n deltaUpdateTimeStamp?: string;\n }[];\n };\n /**\n * Information about the receiver of the event\n */\n destination?: {\n nodeType:\n | 'antares'\n | 'beech'\n | 'breakout'\n | 'cb'\n | 'cloudproxy'\n | 'edonus'\n | 'endpoint'\n | 'givr'\n | 'hecate'\n | 'hedge'\n | 'hesiod'\n | 'homer'\n | 'superhomer'\n | 'l2sip'\n | 'linus'\n | 'locus'\n | 'mcc'\n | 'mcs'\n | 'mercury'\n | 'mes'\n | 'mjs'\n | 'mmp'\n | 'mygdon'\n | 'orpheus'\n | 'page'\n | 'poros'\n | 'rhesos'\n | 'terminus'\n | 'tpgw'\n | 'ucc'\n | 'wdm'\n | 'webexivr';\n uri?: string;\n };\n}\n"],"mappings":""}