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¶
flowchart TD
S["Caller reports poor quality"] --> C1{"Stable Wi-Fi or cellular network?"}
C1 -- no --> A1["Move to a stable network"]
C1 -- yes --> C2{"TURN or STUN ports open?"}
C2 -- no --> A2["Open the required UDP or TCP ports"]
C2 -- yes --> C3{"Sufficient bandwidth for resolution?"}
C3 -- no --> A3["Lower the video resolution"]
C3 -- yes --> C4{"Supported codec in use?"}
C4 -- no --> A4["Switch to a supported codec such as H.264 or VP8"]
C4 -- yes --> C5{"CPU or memory extremely high?"}
C5 -- yes --> A5["Reduce local device load"]
C5 -- no --> ESC["Escalate to the Calling Quality playbook"] 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