Developing an IVRS for fun and developing an IVR Application for enterprise use are quite different! There are many tools ( I listed a few in my previous post TOOLS FOR DEVELOPING IVRS ( CTI CARDS & SOFTWARE )), using which you might be able to develop an IVR Application in few minute. But the question is can they be customized enough to meet requirement of a customer? How much flexibility you have in terms of using any CTI card available in the market on which your Application will run ?
Here are few points one must consider for choosing the right development for right kind of application:-
1. TIME TO DEVELOPMENT
For fast development, use a RAD(Rapid Application Development). You might be constrained in customizing the IVRS features, but it will be really fast to develop a working IVR application. Some RAD tools like Voice Guide, EuroVoice, widely used and seem quite stable.
One must use the native SDK supplied by the hardware vendor. Normally hardware vendors provide SDK for C++ on both Windows and Linux. Since one uses C++, many features can be implemented like database connectivity, OOP, .Net remoting etc.
3. APPLICATION DOMAIN
Many IVRS do not need much customization. For example, a typical complaint booking IVRS is quite simple. It records customer complaint and provide the customer a randomly generated complaint ticket. This complaint ticket is then stored in text file which is used by the complaint management software. RAD should be used for this kind of application. IVR applications to be used in Call Center or Voice Portal, one has to use the native SDK and develop the software only in C++ in Windows or Linux.
4. Windows or Linux
I personally prefer Linux as it is free! But then main drawback with Linux is, you do not find trained manpower easily. IVR industry itself is quite small, and then manpower trained in Linux IVRS will be a tiny population.! Windows systems are prone to failure intermittently and without any reason! Also I have observed that many IVR applications need to be restarted periodically say once I 2 days or so. Wide variety of tools are available for Windows. Most people are comfortable using Windows.
5. Latest Technologies
Many recent technologies have developed for exploiting various telecom protocols. Voice XML is such tool which has gained wide use recently for IP Based exchanges. I will write more about in future.
So, the bottom line is, for a serious and customized IVR application, you will have to develop using the native SDK supplied by the CTI vendor. For smaller and simple IVRS, it is better to use RAD tools. Using SDK has one more advantage over RAD tools. That is, the vast resources of the well documented C++ language can be used to customize the application to any extent. IVRS become flexible to be integrated with almost any existing applications which might need IVR facility too!