My IVR application work fine in win98 and win2k, but it fail in WinNT 4.0 , why?

Q: My IVR application(detect callid id/DTMF, wave play/rec) work with modem work fine in both Win98 and Win2k, but it fail in WinNT 4.0, why ?

A: Since WinNT does not support Unimodem/V, it can only open the line in datamode not the InteractiveVoice mode, some features such as DTMF detection, caller id , wave play/rec will not work in WinNT.


Note:
1. What is Unimodem?

Unimodem is a TAPI service provider that was written by Microsoft and is incorporated directly into both Windows 95 and Windows NT.. The Unimodem service provider is designed to support an extremely wide range of modems and faxmodems under both these operating systems. The TAPI functionality that Unimodem provides is very limited; providing only the support needed for relatively simple applications such as the Microsoft Network, Internet Explorer, the Windows HyperTerminal application, etc. Unimodem does not provide any support for detecting or answering an incoming call, or for detecting when a call has disconnected. Unimodem also can not detect DTMF digits, nor can it play or record audio files over a phone line.



2. What is Unimodem/V?

Unimodem/V is a TAPI service provider that was written by Microsoft and released for general use in November 1995. Unimodem/V supports the same functionality as Unimodem, but also supports the detecting of DTMF digits, the detection of incoming calls, and the ability to play and record audio files over the phone line.

Unimodem/V is currently only supported under Windows 95 with TAPI 1.4. A new version of Unimodem/V is supposed to be available with Windows NT 5.0 is available.

Unimodem/V currently supports a small but growing number of hardware platforms. Because the platforms supported by Unimodem/V can change without notice the platforms are not listed here. To determine if your voice modem is supported by Unimodem/V, read the README.TXT file included with Unimodem/V or contact your modem vendor. If your modem is not listed in the README.TXT file then chances are you will need a modem information file (*.inf) from your modem vendor in order to use Unimodem/V. You can download Unimodem/V from the following location:

http://www.microsoft.com/hwdev/modem/


Unimodem/V is capable of detecting when a call disconnects only in very specific environments. Most residential telephone systems indicate that a call has disconnected by what is known as a loop current drop. This means that the actual electrical current on the telephone line is reduced by a specific, detectable amount. Unimodem/V is not capable of detecting loop current drops, so it can not tell if a call has been disconnected in this type of environment. The only way Unimodem/V can detect when a call has disconnected is if a fast busy tone is detected on the telephone line. Many PBX's and some telephone companies generate a fast busy signal on a phone line to indicate the call has disconnected.