Call Quality Troubleshooting
Common call quality issues—echo, choppy audio, one-way audio, no audio. Solutions: permissions, wired connection, firewall, codec, SIP registration.
Call Quality Troubleshooting
This guide helps you resolve common call quality issues in CrystalQore: echo, choppy audio, one-way audio, and no audio. Solutions cover both WebRTC calls (browser-based) and PBX calls (via FusionPBX/SIP).
Common Issues
| Issue | Symptoms | Typical Cause |
|---|---|---|
| Echo | You hear yourself or the other party hears an echo | Speaker output feeding into microphone; acoustic coupling |
| Choppy audio | Broken, robotic, or cut-off speech | Packet loss; network congestion; insufficient bandwidth |
| One-way audio | You hear them but they don't hear you (or vice versa) | Microphone mute; permissions; firewall/NAT blocking |
| No audio | No sound at all | Permissions; wrong device; muted; codec failure |
Echo
Causes
- Acoustic echo — Your speakers are loud enough that your microphone picks up the sound
- Hardware echo — Headset or device feeding speaker output back into the mic
- Network echo — Less common in software; can occur with certain codecs or gateways
Solutions
- Use a headset — Headphones prevent speaker sound from reaching the microphone
- Use wired headphones — Bluetooth can introduce delay and echo
- Lower speaker volume — Reduce the chance of mic pickup
- Enable echo cancellation — CrystalQore and browsers use echo cancellation; ensure it's not disabled
- Mute when not speaking — Reduces feedback if the other party has echo
- Check your microphone — Ensure you're using the correct input device; avoid built-in mics when using external speakers
Echo cancellation is built into WebRTC. If echo persists, the issue may be on the other party's side or with the PBX/phone hardware.
Choppy Audio
Causes
- Packet loss — Network drops packets; audio sounds robotic or cuts out
- Jitter — Variable delay causes uneven playback
- Insufficient bandwidth — Connection can't sustain the codec bitrate
- CPU or resource limits — Device struggling to encode/decode in real time
Solutions
- Use a wired connection — Ethernet is more stable than Wi‑Fi
- Close bandwidth-heavy apps — Streaming, downloads, and backups compete for bandwidth
- Switch Wi‑Fi bands — If on 2.4 GHz, try 5 GHz for less congestion
- Check firewall — Ensure WebRTC ports (UDP/TCP) are not blocked
- Test with a different browser — Chrome and Firefox generally handle WebRTC well
- Reduce video quality — For video calls, lowering resolution frees bandwidth for audio
- Restart your router — Resolves transient network issues
- Test from another network — Rule out home or office network problems
WebRTC Ports
WebRTC uses a range of UDP and TCP ports. If you're behind a restrictive firewall, ensure:
- UDP — Typically 10000–60000 (configurable)
- STUN/TURN — If using TURN, the TURN server port must be open
- HTTPS — The CrystalQore site must be served over HTTPS for WebRTC (except localhost)
One-Way Audio
Causes
- Microphone muted — System or app mute enabled
- Wrong input device — Browser or app using the wrong microphone
- Permissions — Microphone permission denied or revoked
- Firewall/NAT — One direction blocked (e.g., RTP from server to client)
- SIP/RTP — For PBX calls, RTP or SIP routing issue
Solutions
- Check microphone permissions — Browser and OS must allow microphone access
- Unmute — Ensure you're not muted in the call UI or system settings
- Select correct microphone — In call settings or browser permissions, choose the right input device
- Test microphone — Use the OS sound settings or an online mic test to confirm the mic works
- Try a different browser — Chrome, Firefox, and Edge are recommended
- Check firewall — Corporate or home firewall may block incoming RTP; allow CrystalQore and WebRTC
- For PBX calls — Verify SIP registration, RTP ports, and codec settings in FusionPBX
No Audio
Causes
- Permissions — Microphone (and sometimes speaker) not allowed
- Wrong device — Output set to wrong speaker or disabled device
- Muted — System or app mute
- Codec mismatch — For PBX/SIP, no common codec negotiated
- Connection failure — WebRTC or SIP failed to establish media
Solutions
- Grant permissions — Allow microphone (and camera if video) when the browser prompts
- Check device selection — Ensure the correct speaker/headset is selected
- Unmute — Check system volume and app mute controls
- Verify devices — In OS sound settings, confirm mic and speaker work
- Test with different browser — Chrome and Firefox are best supported
- For PBX calls — Check SIP registration status; verify codec configuration (e.g., G.711) in FusionPBX
- Refresh and retry — Reload the page and attempt the call again
PBX (SIP) Specific
For calls routed through FusionPBX or SIP:
SIP Registration
- Check registration — Ensure your extension is registered in FusionPBX
- Credentials — Verify username and password are correct
- Network — SIP typically uses UDP 5060; ensure it's not blocked
Codec Settings
- G.711 — Most compatible; ensure it's enabled if you have issues
- Transcoding — PBX may need to transcode; check PBX capacity and codec support
- DTMF — If dial pad doesn't work, check DTMF mode (RFC2833, SIP INFO, etc.)
RTP
- Port range — RTP needs a port range open (e.g., 16384–32768)
- NAT — If behind NAT, ensure proper STUN/RTP handling or use a SIP provider with NAT support
Quick Checklist
| Check | Action |
|---|---|
| Microphone permission | Grant in browser and OS |
| Correct microphone | Select in call settings |
| Unmuted | Check app and system mute |
| Wired connection | Prefer Ethernet over Wi‑Fi |
| Close other apps | Free bandwidth and CPU |
| Firewall | Allow WebRTC ports |
| Browser | Use Chrome, Firefox, or Edge |
| PBX | Verify SIP registration and codecs |
Related Documentation
| Page | Description |
|---|---|
| WebRTC Calls | WebRTC call setup |
| Click2Dial | Placing calls via PBX |
| Connectivity Troubleshooting | Network and real-time issues |