|Home • Troubleshooting • Distinctive Ring & Modems|
DISTINCTIVE RING & MODEMS (Updated 17-Oct-04)
by Rahul Mangaldas
Windows 2000 & XP: The bad news is that Microsoft removed distinctive ring support from these versions of Windows! MS Knowledge Base article 272943 tells you that Microsoft Fax doesn't support distinctive ring because "UNIMODEM in TAPI do not support the distinctive ring feature". Microsoft's suggested resolution: "Obtain and install a third-party device to provide support for distinctive ring feature, or, use an operating system such as Windows 98SE or Me that provides that provides the distinctive ring feature." Whoa! What does this mean? See: Distinctive Ring with Windows XP and Windows 2000 - which also links to an application that provides DR support with Win2k/XP TAPI, and also explains how you may be able to enable partial distinctive ring support.
Rahul Mangaldas writes:
After years of trying to get distinctive ring to work properly in Windows, I finally bit the bullet and did some heavy-duty research to figure it out:
First, you need to understand the difference between Distinctive Ring (DR) and Call Discrimination (CD).
DR is a service you buy from your telephone company. It assigns multiple numbers to your telephone line, and each number rings with a different ring pattern (e.g., my main number rings with one long ring, my first DR number rings as two short rings, and my second DR number rings as one short ring, one long ring, and one short ring). Getting DR is usually very easy: just call your telco and order it.
CD is the process of routing different types of call (voice, fax, data) to the software that handles that type of call, and this is what most people are interested in; DR is just a convenient, but not the only, way to get CD. Another (clunky) way to handle CD is with Microsoft's Operator Agent, which is a small program that voice prompts the caller to press a key on his telephone keypad to indicate the type of call, and routes the call to the proper TAPI application based on the caller's response.
In order to enable CD with DR (CD/DR) under Windows, you need a modem that supports DR, a modem driver (INF file) that allows you to enable DR, and software that supports CD, either natively or with help from the Windows Telephony API (TAPI). If you have a voice capable modem, it almost certainly supports DR; some non-voice modems also support DR, especially the "soft" or "Win Modems". You can find out whether your modem supports DR by connecting to its COM port via HyperTerminal and issuing the appropriate AT command; if it responds with an "OK", it does, otherwise it does not. The AT command to enable DR depends on the modem's chipset: for the 3Com/USR/TI chipset it is "ATS41=1", for the Rockwell/Conexant chipset, it is "AT-SDR=7", and for the Lucent/Agere chipset it is "AT+VDR=1,0".
Each chipset handles DR differently.
3Com and Rockwell report ring codes ("RING A", "RING B", "RING C" for 3Com; "RING 1", "RING 2", "RING 3" for Rockwell), while Lucent reports the actual ring cadence (the duration of the ringing and the silent periods) with DROF/DRON messages. For example, 3Com reports two short rings as "RING B", Rockwell as "RING 2", and Lucent as "DRON=5", "DROF=11", "DRON=5", "DROF=34" (for every "ring" made up of two short rings).
The 3Com and Rockwell reporting methods are very easy for software developers to implement, and are the ones required by most applications that natively support CD/DR. However, it is limited, and if the ring patterns provided by your telco don't match the ones recognized by your modem (usually two short rings for "RING 2"/"RING B", three short rings for "RING 3"/"RING C"), you are out of luck.
The Lucent method is much more powerful, as it allows you to select from many more ring patterns (and it complies with the ITU-T V.253 standard). However, as far as I know, it is only supported by certain versions of TAPI. I'm certain it is supported by Windows 98 SE, and I'm fairly certain it is supported by Windows 95 (OSR2), 98, and Me. If your version of TAPI does support it, you will be able to select ring patterns from Morse code like symbols (for example, ".." for two short rings, ".-." for one short ring, one long ring, one short ring) on the "Distinctive Ring" tab of your modem's properties page and assign them to different call types.
OK, so how do you get CD with DR? It depends.
If your application communicates with the modem directly, instead of via TAPI, you're out of luck, unless it supports DR natively.
If your applications are TAPI compliant, all you have to do is set up the call type assignments on the "Distinctive Ring" tab of the modem properties page (for example, "Single Ring" or "-" to "Voice" and "Double Ring" or ".." to "Fax"), and launch the respective applications. When a TAPI application is launched, it registers itself with TAPI and tells TAPI what types of call it can handle. When you get a call, TAPI identifies the ring pattern, figures out the type of call based on your ring pattern assignments, and routes it to the application registered to handle that type of call. The applications themselves do not have to support, or even be aware of, DR. However, you must launch the applications and leave them running, as TAPI will not launch them for you.
You cannot mix TAPI and non-TAPI applications on a single modem (for example, you can't use CD/DR with a TAPI voice mail application and a non-TAPI fax application). As far as I know, you also cannot have a TAPI application respond differently based on the ring pattern. For example, if you use DR for distinguishing between personal and business calls, you cannot set up a personal and a business greeting on your voice mail and have the appropriate one play depending on the ring pattern.
[In theory, you could accomplish that if you have two DR capable modems installed, let's call them A and B. On modem A's "Distinctive Ring" tab, assign your personal ring pattern to "Voice", on modem B's, assign your business ring pattern to "Voice"; you can select either modem to handle your fax and data calls, if needed, and assign the appropriate ring patterns on that modem, leaving them "Unspecified" on the other modem. Then, launch two instances of your voice mail software, one to handle your personal calls, the other to handle your business calls. The instance that handles personal calls should listen on modem A, the one that handles business calls should listen on modem B, and TAPI will route the calls to the appropriate instance based on the ring pattern. If you want to get really fancy, and can get six DR numbers, you could distinguish between personal and business fax and data calls as well! Where I live, you can have at most two DR numbers per line, so that's not possible.]
Kudos & Thanks to Rahul Mangaldas for this article which appears on Modemsite with the author's permission.