≡ Menu

Open Source IVR ?

Recently, I have started getting mails about asking open source IVR as well as its availability for free, download-able from internet! Most of the people who have asked me about “‘Open Source IVR” have heard about Asterisk. Before going into the details about Asterisk, being open source IVR, I would like to clarify few things about IVR ( Interactive Voice Response)  System.

IVR system consists of  four components, one can say. They are :-

1. CTI ( Computer Telephony) board
2. Call Flow development as per requirement
3. Voice prompts, TTS ( Text To Speech) Engine  and ASR (Automatic Speech Recognition) Engine
4. Host PC or Server for #1 through #3 above.

1. CTI ( Computer Telephony) board

CTI board is a hardware and I m quite sure, nobody will make it ‘open source’ or free for anyone! The other alternative is SIP ( Session Initiated Protocol) on VoIP ( Voice Over Internet Protocol). But for connecting to PSTN ( Public Switched Network), TDM based CTI Board is a must and there is no alternative, as of now!

All CTI boards come with their own set of API ( Application Programming Interfaces) to control telecom protocols and call handling. Dialogic, the biggest CTI company provides many APIs as well as sample codes in three major operating systems, Windows, Linux and MAC OS. Likewise, other CTI vendors too provide their proprietary C++ API for at least two OS.

2. Call Flow development as per requirement

There are many online as well as offline call flow development tools. Some Call Flow development tools are completely pictorial visual tool where one can drag and drop various call flow like components to make a call flow. Some others use simple ‘English’ like/natural language like scripts to define call flow. Incidentally, all these tools are free to use for developing the call flow, but to execute these call flow, one has to pay per port licenses.

VXML is standard call flow development language adopted by W3 which uses HTML like simple syntax. Presently this requires a third party interpreter which again requires per port licenses.

3. Voice prompts, TTS ( Text To Speech) Engine and ASR (Automatic Speech Recognition) Engine

Voice prompts are normally recorded in a studio by professional artists. One can also record voice prompts using computer/laptop and MIC for development purpose. There are many open source, freely available TTS. Even MS SAPI is freely available. eSpeak, a popular TTS which has support for many languages from all around the world, is an open source TTS which works well both in Windows and Linux.
Likewise there are many open source ASR that works well after refinements.

Now, major challenge is to integrate all these components and build a reliable IVR system. Now a days, IVR is no longer simple call flow of yes and no by the caller, but complex system with data retrieving from multiple sources. It performs complex task as well compute input data by caller, make a decision and respond to caller with appropriate answer.

Most of the time, making an informed choice of IVR which is most suitable for a particular IVR application is quite difficult.

Now finally, Asterisk is a truly open source telephony system with IVR facility. It is Linux based and supports many CTI hardware and many developers contributing to it. It is a completely DIY ( Do It Yourself) IVR platform. It may not be easy to develop an IVR system quickly for a beginner using Asterisk from a scratch. At the end, it may be as difficult as building IVR using native API available with CTI board itself.

Many high density and widely deployed CTI hardware are not supported by Asterisk. This is one disadvantage which Asterisk will take some time to overcome. And at the end, while some one tries to customise Asterisk, he might end up with his own proprietary piece of codes, specific to some CTI hardware only!

Advantage of using API of CTI board is the freedom of choice of operating system as well as programming language. Programming languages like C++ offer power of ‘real programming’ language to complete complex tasks as well as integrate with any third party software.

So, one may not have much choice as Open Source IVR!

Next post:

Previous post:

{ 3 comments… add one }
  • Freespinner June 20, 2011, 1:45 am

    Nice article.
    So with a “voice modem” AT#CLS .. OK
    And a cheap IVR system like http://www.nch.com.au/ivm/index.html
    is that not a simple quick and functional solution? (Obviously the more lines needed, the more boards.

  • Haika November 30, 2012, 3:25 am

    Nice and helpful article,

Leave a Comment