I know this error is infuriating — you set up callback, the modem dials out, and then Windows kills the connection with a voice error. Let's get it fixed.
The quick fix: disable voice detection in the modem
The real culprit is Windows' built-in voice detection feature. It listens for a human voice on the line and if it hears anything resembling speech, it assumes someone answered and aborts the callback. This is meant for safety, but with VoIP lines or even older analog lines with static, it triggers constantly.
Here's how to turn it off:
- Press Win + R, type
ncpa.cpl, hit Enter. This opens Network Connections. - Right-click your dial-up or VPN connection that uses a modem, choose Properties.
- Go to the Options tab.
- Uncheck "Enable voice detection" (sometimes labeled "Enable modem speaker" or "Detect voice").
- Click OK and try the callback again.
If you don't see that checkbox, you can edit the registry directly:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\PPP
Create a DWORD named EnableVoiceDetection and set it to 0. Restart the Remote Access Connection Manager service or reboot.
Why this works
Windows uses a voice detection algorithm to analyze audio during the callback handshake. If it detects a frequency pattern that looks like a voice, it treats it as a person picking up and cancels the connection. The fix just tells the modem to skip that analysis and trust the dial tone. I've seen this error on Windows 7 through Windows 11, especially with USB modems that emulate old Hayes commands.
Less common variations
Sometimes the checkbox isn't the problem. Here are other triggers:
- Wrong dialing prefix — If you have a PBX or need an outside line prefix (like 9), the modem might dial too fast and hear a voice prompt from the PBX. Add a comma in the phone number to insert a pause:
9,5551234. - VoIP lines — Many VoIP providers play a short voice prompt before the dial tone. That prompt gets interpreted as a voice. You can't fix that on the Windows side — you'd need to disable callback on that line or use a POTS line.
- Driver issues — Especially with generic Windows drivers. Update to the modem vendor's latest driver (e.g., Conexant, Agere, or U.S. Robotics). I've seen old drivers misfire the voice detection even when the setting is off.
- Modem init strings — Some modems need a custom extra init string to fully disable voice. Try adding
AT%V=0orAT#VDS=0(check your modem's manual) in the modem's advanced properties under Extra initialization commands.
How to prevent this from happening again
First, keep the voice detection off — that's the obvious one. But also:
- Use a hardware flow control — In modem properties, set Flow control to Hardware (RTS/CTS) instead of software. It reduces line noise that can mimic voice.
- Shorten the phone number — If you have unnecessary pauses or dialing prefixes, they can confuse the modem. Keep it minimal.
- Test with a real analog line — If you keep getting this error on VoIP, test the same callback on a standard POTS line. If it works there, the issue is your VoIP provider, not Windows.
- Check the modem logs — Enable logging in the connection properties and look for the exact response string. It may show
VOICE DETECTEDright before the error. That confirms the problem.
I've had this error myself when setting up a callback to a remote office in a building with a PBX. The PBX's greeting was picked up as a voice, and it took me a day to realize it wasn't the modem malfunctioning — it was voice detection being overzealous. Turn it off, and you're done. If that fails, check your line and init strings.
One last thing: don't bother with registry hacks that disable the modem entirely. That's overkill. The checkbox is enough for 90% of cases. You'll know it's working when the callback connects without the error.