Interacting with IVR

I need to build a VB application that will interact with an IVR.  Ideally the VB application will call the external IVR system and then interact with that IVR using a touch tones or even speech.  I was thinking that the Microsoft Speech-to-text and Text-to-speech engines would be part of the solution.  I would perfer not to use third party .ocx's and would perfer to stay with all Microsoft controls if possible.  Any ideas would be appreciated.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Exceletools from Exceletel

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
To talk to the IVR using DTMF or speech, you will need a phone line connection to the IVR, meaning a dialer and modem or SIP connection.  Does the IVR expose APIs you can access?   I'm not sure that speech recognition (speech-to-text) or TTS (text-to-speech) would need to be part of the solution

What is your purpose of interacting with the IVR from a VB app--are you designing a testing front end?  There may be  easier ways to accomplish what you need to do.

Let me know what you're trying to accomplish.
adezoysa2Author Commented:
An example for the use of text-to-speech and speech recognition would be as follows:

Call an IVR (eg: Airline flight status), then supply the flight/date/time, etc. via text-to-speech, then listening for responses from the IVR then use the speech recognition to determine what the next logical step would be.  The next step might be to supply more information or to record the IVR responses.

The Airline IVR is just an example, however this could be built to handle any IVR host.  
A call scripting engine that can call the IVR and interact with it using touch tone or speech and possibly understand the response using speech recognition is not an easy task.  I would suggest using IVR software that can place an outbound call with call progress detection as a start.

...and TTS will be almost unuseable as a voice input for testing, as a speech recognition IVR will almost certainly fail trying to understand the TTS 'voice'.  Rather than TTS, you would need to use recorded voice phrases.

Understanding the IVR response with speech reco will also be tedious as you will need to develop grammars for each test script.

Providing a scripting engine to generate the test call flow of the target IVR (IVR path including input, response, delays, errors) will be key to any solution.

You may be better off with a comercial package if you will be testing a lot of IVRs.  Otherwise, start with low cost IVR software that provides outbound dialing capabilities and work with it to create your testing scripts.
adezoysa2Author Commented:
Thanks for the help.  I did want to stick with Microsoft .ocx's but Exceletools is a good start.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.