@@ -79,47 +79,95 @@ The following user-facing diagnostics are available:
79
79
80
80
User-facing diagnostics is an extended feature of the core [ ` Call ` ] ( /javascript/api/azure-communication-services/@azure/communication-calling/call?view=azure-communication-services-js&preserve-view=true ) API. You can understand more about the ` UserFacingDiagnosticsFeature ` interface [ here] ( /javascript/api/azure-communication-services/@azure/communication-calling/userfacingdiagnosticsfeature?view=azure-communication-services-js&preserve-view=true ) .
81
81
82
- UserFacingDiagnosticsFeature (extends CallFeature)
83
- ├── network: NetworkDiagnostics
84
- │ ├── getLatest(): LatestNetworkDiagnostics
85
- │ ├── on('diagnosticChanged', listener)
86
- │ ├── off('diagnosticChanged', listener)
87
- │ └── LatestNetworkDiagnostics
88
- │ ├── networkReconnect?: LatestDiagnosticValue
89
- │ ├── networkReceiveQuality?: LatestDiagnosticValue
90
- │ ├── networkSendQuality?: LatestDiagnosticValue
91
- │ ├── noNetwork?: LatestDiagnosticValue
92
- │ └── networkRelaysNotReachable?: LatestDiagnosticValue
93
- │
94
- ├── media: MediaDiagnostics
95
- │ ├── getLatest(): LatestMediaDiagnostics
96
- │ ├── on('diagnosticChanged', listener)
97
- │ ├── off('diagnosticChanged', listener)
98
- │ └── LatestMediaDiagnostics
99
- │ ├── speakingWhileMicrophoneIsMuted?: LatestDiagnosticValue
100
- │ ├── noSpeakerDevicesEnumerated?: LatestDiagnosticValue
101
- │ ├── noMicrophoneDevicesEnumerated?: LatestDiagnosticValue
102
- │ ├── cameraFreeze?: LatestDiagnosticValue
103
- │ ├── cameraStartFailed?: LatestDiagnosticValue
104
- │ ├── cameraStartTimedOut?: LatestDiagnosticValue
105
- │ ├── capturerStartFailed?: LatestDiagnosticValue
106
- │ ├── microphoneNotFunctioning?: LatestDiagnosticValue
107
- │ ├── microphoneMuteUnexpectedly?: LatestDiagnosticValue
108
- │ ├── cameraStoppedUnexpectedly?: LatestDiagnosticValue
109
- │ ├── capturerStoppedUnexpectedly?: LatestDiagnosticValue
110
- │ ├── screenshareRecordingDisabled?: LatestDiagnosticValue
111
- │ ├── microphonePermissionDenied?: LatestDiagnosticValue
112
- │ └── cameraPermissionDenied?: LatestDiagnosticValue
82
+ Here’s a comprehensive tree structure that maps out the ` UserFacingDiagnosticsFeature ` interface along with its related dependencies, properties, and methods. Each diagnostic module (Network, Media, Remote) has event listeners for changes and provides the latest diagnostic snapshot.
83
+
84
+ ```
85
+ UserFacingDiagnosticsFeature (Interface)
86
+ ├── Inherits: CallFeature
87
+ ├── Properties
88
+ │ ├── network: NetworkDiagnostics
89
+ │ ├── media: MediaDiagnostics
90
+ │ └── remote: RemoteDiagnostics
113
91
│
114
- └── remote: RemoteDiagnostics
115
- ├── isSendingDiagnosticsEnabled: boolean
116
- ├── startSendingDiagnostics()
117
- ├── stopSendingDiagnostics()
118
- ├── getLatest(): RemoteParticipantDiagnosticsData
119
- ├── on('diagnosticChanged', listener)
120
- ├── off('diagnosticChanged', listener)
121
- └── RemoteParticipantDiagnosticsData
122
- └── diagnostics: RemoteDiagnostic
92
+ ├── Dependencies
93
+ │ ├── NetworkDiagnostics
94
+ │ │ ├── Methods
95
+ │ │ │ ├── getLatest(): LatestNetworkDiagnostics
96
+ │ │ │ ├── on('diagnosticChanged', listener): void
97
+ │ │ │ └── off('diagnosticChanged', listener): void
98
+ │ │ └── Types
99
+ │ │ ├── NetworkDiagnosticChangedEventArgs
100
+ │ │ │ ├── value: DiagnosticQuality | DiagnosticFlag
101
+ │ │ │ ├── valueType: DiagnosticValueType
102
+ │ │ │ └── diagnostic: NetworkDiagnosticType
103
+ │ │ ├── NetworkDiagnosticType = keyof LatestNetworkDiagnostics
104
+ │ │ └── LatestNetworkDiagnostics
105
+ │ │ ├── networkReconnect?: LatestDiagnosticValue
106
+ │ │ ├── networkReceiveQuality?: LatestDiagnosticValue
107
+ │ │ ├── networkSendQuality?: LatestDiagnosticValue
108
+ │ │ ├── noNetwork?: LatestDiagnosticValue
109
+ │ │ └── networkRelaysNotReachable?: LatestDiagnosticValue
110
+ │ │
111
+ │ ├── MediaDiagnostics
112
+ │ │ ├── Methods
113
+ │ │ │ ├── getLatest(): LatestMediaDiagnostics
114
+ │ │ │ ├── on('diagnosticChanged', listener): void
115
+ │ │ │ └── off('diagnosticChanged', listener): void
116
+ │ │ └── Types
117
+ │ │ ├── MediaDiagnosticChangedEventArgs
118
+ │ │ │ ├── value: DiagnosticQuality | DiagnosticFlag
119
+ │ │ │ ├── valueType: DiagnosticValueType
120
+ │ │ │ └── diagnostic: MediaDiagnosticType
121
+ │ │ ├── MediaDiagnosticType = keyof LatestMediaDiagnostics
122
+ │ │ └── LatestMediaDiagnostics
123
+ │ │ ├── speakingWhileMicrophoneIsMuted?: LatestDiagnosticValue
124
+ │ │ ├── noSpeakerDevicesEnumerated?: LatestDiagnosticValue
125
+ │ │ ├── noMicrophoneDevicesEnumerated?: LatestDiagnosticValue
126
+ │ │ ├── cameraFreeze?: LatestDiagnosticValue
127
+ │ │ ├── cameraStartFailed?: LatestDiagnosticValue
128
+ │ │ ├── cameraStartTimedOut?: LatestDiagnosticValue
129
+ │ │ ├── capturerStartFailed?: LatestDiagnosticValue
130
+ │ │ ├── microphoneNotFunctioning?: LatestDiagnosticValue
131
+ │ │ ├── microphoneMuteUnexpectedly?: LatestDiagnosticValue
132
+ │ │ ├── cameraStoppedUnexpectedly?: LatestDiagnosticValue
133
+ │ │ ├── capturerStoppedUnexpectedly?: LatestDiagnosticValue
134
+ │ │ ├── screenshareRecordingDisabled?: LatestDiagnosticValue
135
+ │ │ ├── microphonePermissionDenied?: LatestDiagnosticValue
136
+ │ │ └── cameraPermissionDenied?: LatestDiagnosticValue
137
+ │ │
138
+ │ └── RemoteDiagnostics
139
+ │ ├── Properties
140
+ │ │ └── isSendingDiagnosticsEnabled: boolean
141
+ │ ├── Methods
142
+ │ │ ├── startSendingDiagnostics(): void
143
+ │ │ ├── stopSendingDiagnostics(): void
144
+ │ │ ├── getLatest(): RemoteParticipantDiagnosticsData
145
+ │ │ ├── on('diagnosticChanged', listener): void
146
+ │ │ └── off('diagnosticChanged', listener): void
147
+ │ └── Types
148
+ │ ├── RemoteParticipantDiagnosticsData
149
+ │ │ └── diagnostics: RemoteDiagnostic[]
150
+ ├── networkReconnect?: LatestDiagnosticValue
151
+ ├── networkReceiveQuality?: LatestDiagnosticValue
152
+ ├── networkSendQuality?: LatestDiagnosticValue
153
+ ├── noNetwork?: LatestDiagnosticValue
154
+ ├── networkRelaysNotReachable?: LatestDiagnosticValue
155
+ ├── microphoneNotFunctioning?: LatestDiagnosticValue
156
+ ├── microphoneMuteUnexpectedly?: LatestDiagnosticValue
157
+ ├── cameraStoppedUnexpectedly?: LatestDiagnosticValue
158
+ ├── cameraFreeze?: LatestDiagnosticValue
159
+ ├── capturerStartFailed?: LatestDiagnosticValue
160
+ └── cameraStartTimedOut?: LatestDiagnosticValue
161
+ │ └── RemoteDiagnostic
162
+ │ ├── participantId: string
163
+ │ ├── rawId: string
164
+ │ ├── remoteParticipant?: RemoteParticipant
165
+ │ ├── diagnostic: NetworkDiagnosticType | MediaDiagnosticType | ServerDiagnosticType
166
+ │ ├── value: DiagnosticQuality | DiagnosticFlag
167
+ │ └── valueType: DiagnosticValueType
168
+ │ └── ServerDiagnosticType = 'serverConnection'
169
+ ```
170
+
123
171
124
172
To utilize user facing diagnostics, first thing you must do is instantiate the user facing diagnostics feature from the call.
125
173
``` js
0 commit comments