Distinctive Ring in Windows 2000/XP

Posted Oct 18, 2004 by David Risley  

This one was learned recently by myself when I tried to set up WinFax Pro on Windows XP, and have it answer the fax on the disctinctive ring without answering normal phone calls. Come to find out that Microsoft did not include support for distinctive ring in Windows 2000 or XP. Got to hand it to those brainiacs for that one. But, there is a way to get around this. This helpful info was found on ModemHelp.Net.

(1) Turn on distinctive ring recognition in the modem. Under Control Panel > Phone and Modem Options > Modems > Properties > Advanced, set “Extra initialization commands” to “S41=1″ (without the quotes, and you don’t need the “AT” prefix). This command varies from modem to modem; to find the right one for you, check your registry (which is populated from your modem’s .inf file when it’s installed) or your modem’s technical documentation. Mine was in the registry under HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Class > {<long-gui>} > 0000 > EnableDistinctiveRing

Instead of responding with “RING” any time the phone rings, this change makes my modem respond with “RING A” for my first phone number and “RING B” for my second number (and presumably C and D for third and fourth numbers).

(2) Tell the Unimodem driver to answer on “RING B”. There is a “Responses” key in the registry that tells the Unimodem driver how to interpret responses from the modem. Mine was at HKEY_LOCAL_MACHINESOFTWARE > Microsoft > Windows > CurrentVersion > Unimodem > DeviceSpecific > U.S. Robotics 56K Fax Win Int::U.S. Robotics Corporation::U.S. Robotics Corporation > Responses.

Mine already had entries for “RING A<cr><lf>” and B and C, but all three had a response state (the first byte in the binary data) that means a distinctive ring is coming in, and the Unimodem driver for Windows 2000 doesn’t understand that. To keep them from matching, delete or rename these entries. I renamed mine and just prepended an “x” so they wouldn’t match.

Mine also had an entry for “<cr><lf>RING<cr><lf>”, and it had a response state (08) that tells the Unimodem driver the phone is ringing. I simply renamed this entry to “<cr><lf>RING B<cr><lf>”.

After rebooting so the changes could take effect, my computer now ignores calls on the first number and correctly answers calls on the second number. This works because the Unimodem has no responses that match “RING A” and has one response for “RING B” whose response state tells Unimodem a call is coming in.

Which Of These Traits Applies To YOUR Computing Life?...

Leave a Reply