Calling Quality Checklist (First 10 Minutes)¶
When audio or video quality suffers or calls drop, follow this initial checklist.
Immediate Checklist¶
- Network Connectivity: Is the client on a stable Wi-Fi or cellular network?
- Firewall Access (TURN/STUN): Are the required UDP/TCP ports open for media?
- Available Bandwidth: Is there sufficient bandwidth for the selected video resolution?
- Codec Support: Is the browser or device using a supported codec (e.g., H.264, VP8)?
- Local Device Health: Are CPU or memory levels extremely high on the client device?
Essential Diagnostic Steps¶
1. Browser Console (User Facing Diagnostics)¶
Enable User Facing Diagnostics (UFD) in your app to capture network issues.
const call = callAgent.startCall([{ communicationUserId: 'recipient-id' }]);
call.feature(Features.UserFacingDiagnostics).network.on('diagnosticChanged', (diagnosticInfo) => {
console.log(`Diagnostic: ${diagnosticInfo.diagnostic}, value: ${diagnosticInfo.value}`);
});
2. TURN/STUN Accessibility¶
Verify the client can reach Azure media services. Use a network test tool if available.
3. Check Media Stream Quality¶
Review the logs for bad-network or no-network signals from the SDK.
Key KQL Queries¶
Run this to see call setup and media quality issues:
ACSCallDiagnosticsEvents
| where TimeGenerated > ago(1h)
| where MediaPathQuality != "Good"
| summarize Count=count() by MediaPathQuality, CodecName, CallId
| order by Count desc
See Also¶
Sources¶
- ACS Calling SDK Troubleshooting Documentation
- Microsoft Teams Media Optimization Guide