When you try to join a Discord voice channel, you may see an error message that says “ICE Failed” with error code 4006. This problem stops you from hearing or speaking to anyone in the channel. The error happens because Discord cannot establish a direct peer-to-peer connection between your computer and other users in the voice call. This article explains why ICE Failed error 4006 occurs and provides step-by-step fixes to restore your voice connection.
Key Takeaways: Fixing Discord ICE Failed Error 4006
- User Settings > Voice & Video > Reset Voice Settings: Restores default voice configuration and clears corrupted ICE data.
- Windows Firewall inbound rule for Discord: Ensures Discord can receive incoming UDP and TCP connections required for voice.
- Enable Quality of Service High Packet Priority in Discord: Forces Discord to use a stable network path for voice traffic.
Why Discord ICE Failed Error 4006 Occurs During Voice Calls
Interactive Connectivity Establishment is the technology Discord uses to create a direct voice connection between you and other users. When ICE fails with error 4006, the connection attempt has timed out or was blocked by your network. The root cause is usually one of the following:
Firewall or Antivirus Blocking Discord
Windows Firewall or third-party antivirus software may block Discord from sending or receiving UDP packets on the ports it uses for voice communication. Discord uses UDP ports 50000 to 65535 and TCP port 443 for voice. If these ports are blocked, ICE cannot complete the handshake.
VPN or Proxy Interference
VPNs and proxies can disrupt the ICE negotiation process. They may route your traffic through servers that do not support the required UDP connections, or they may introduce latency that causes the ICE timeout.
Corrupted Discord Voice Settings
Discord stores voice configuration data locally. If this data becomes corrupted after an update or crash, ICE may fail to initialize properly. Resetting voice settings clears this corrupted data.
Steps to Fix Discord ICE Failed Error 4006
- Reset Discord Voice Settings
Open Discord and click the gear icon next to your username at the bottom left. Go to Voice & Video. Scroll to the bottom and click Reset Voice Settings. Confirm the reset. This clears all custom voice settings and forces Discord to renegotiate ICE from scratch. - Allow Discord Through Windows Firewall
Press the Windows key, type “Windows Defender Firewall”, and open it. Click Allow an app or feature through Windows Firewall. Click Change settings, then Allow another app. Browse to the Discord executable (usually C:\Users\YourUsername\AppData\Local\Discord\app-1.0.xxxx\Discord.exe). Add it. Ensure both Private and Public checkboxes are checked. Click OK. - Disable VPN or Proxy Temporarily
If you use a VPN, disconnect from it completely. If you use a proxy, go to Windows Settings > Network & Internet > Proxy. Turn off Use a proxy server. Try joining the voice channel again. If this fixes the error, you may need to configure your VPN to allow split-tunneling for Discord or use a different VPN server. - Enable Quality of Service High Packet Priority
In Discord, go to User Settings > Voice & Video. Scroll to the Quality of Service section. Enable High Packet Priority. This tells Discord to use a stable network path for voice traffic, which can bypass some firewall rules. - Change Voice Server Region
As a server owner or with Manage Server permission, right-click the server name, go to Server Settings > Overview. Under Voice Server Region, select a different region. Changing the region forces Discord to use a different ICE server, which may resolve routing issues. - Flush DNS and Reset Network Stack
Open Command Prompt as administrator. Typeipconfig /flushdnsand press Enter. Then typenetsh int ip resetand press Enter. Finally typenetsh winsock resetand press Enter. Restart your computer. This clears stale DNS entries and resets network protocols that may interfere with ICE.
If Discord Still Shows ICE Failed Error 4006 After the Main Fix
Error Persists After Resetting Voice Settings
If resetting voice settings did not help, the issue may be with your router. Log into your router admin panel and check if UPnP is enabled. UPnP allows Discord to automatically open the required ports. If UPnP is disabled, enable it and save the settings. Restart your router and computer.
Error Only Occurs on One Specific Server
If the error only appears when joining a specific Discord server, the server’s voice region may be misconfigured. Ask the server administrator to change the voice region to Automatic or a region closer to most members. This often resolves region-specific routing problems.
Error Occurs After Discord Update
A recent Discord update may have changed how ICE is handled. Reinstall Discord completely. Uninstall Discord from Windows Settings > Apps > Apps & features. Then download the latest installer from discord.com and install it. A fresh installation replaces any corrupted update files.
Discord Voice Connection Methods: ICE vs Relay
| Item | ICE (Interactive Connectivity Establishment) | Relay (TURN Server) |
|---|---|---|
| Description | Direct peer-to-peer connection between users | Connection routed through a Discord relay server |
| Latency | Lowest possible latency | Higher latency due to relay hop |
| Bandwidth usage | Direct, no server overhead | Uses Discord server bandwidth |
| Firewall sensitivity | Easily blocked by strict firewalls | Works through most firewalls |
| Error 4006 trigger | ICE timeout or blocked UDP ports | N/A — relay does not use ICE |
When ICE fails, Discord automatically falls back to a relay connection. However, error 4006 indicates that even the relay attempt may be blocked or that the client is stuck trying ICE indefinitely. The fixes above force Discord to either fix the ICE path or switch to relay immediately.
After applying the steps in this article, you should be able to join voice channels without the ICE Failed error. If the error returns, check for new firewall rules or VPN configurations that may have changed. As an advanced tip, you can create a permanent Windows Firewall rule for Discord using the command netsh advfirewall firewall add rule name="Discord Voice" dir=in action=allow protocol=udp localport=50000-65535 to explicitly allow Discord’s voice ports.