API for IVR Integration

We are planning to upgrade to the Voicent 4 line Professional Edition, but we have a few queries which we would like to discuss. As per the help files and FAQs published in your website, the features for your Professional edition almost fulfills our requirements. But there are a few points to clarify.

1. As per your website the professional edition provides the developers features. Does it really mean that if we buy a professional edition then you will provide us the API (compatible with C#) to integrate the Voicent IVR system with our application? So far we have found in many sites that you have provided the following methods -

CallText(string phoneno, string text, bool selfdelete)
CallAudio(string phoneno, string filename, bool selfdelete)
CallTillConfirm(string vcastexe, string vocfile, string wavfile, string ccode)

These methods are sufficient to send voice mails only, but not good enough for the Interactive Voice response system. If we purchase your professional edition will you provide us the necessary methods for IVR?

When you purchase Voicent BroadcastByPhone or other telephony products, the purchase also includes Voicent Gateway. You can integrate with Voicent products at two levels: one is the application level, and the other the gateway level. The gateway level is a lower level API and offers more flexibility.

At the gateway level, your program defines voice interactions in the form of VoiceXML files. When a call, either inbound or outbound, is made, the gateway interprets the application VoiceXML files and interacts with the caller/callee.

At the application level, you use the application to design the voice interaction using the tool’s Graphical User Interface. For BroadcastByPhone, it is the Message Designer. When a call is made, BBP automatically generates the application VoiceXML files and are submitted to the gateway. The Message Designer is a simple GUI tool that supports only one level of interaction.

If you need more user interactions defined, or need to interface to a database, for example, you can use Voicent IVR Studio. With IVR Studio, you can define almost any voice interactions and interface with any third party software by using the tool’s GUI. IVR Studio also automatically generates VoiceXML files and is fully integrated with BroadcastByPhone.

If the voice application can be accomplished through the GUI, then it is much easier to interface with Voicent products at the application level. For more details, please see the developer section on Voicent’s website.

In any case, when you purchase Voicent BroadcastByPhone program, you will have the application level interface and the gateway level interface. Voicent IVR Studio is a different tool that requires separate purchase.

2. The .VOC file we get back as a result after the IVR calls (by which we get the customer responses), how does that .voc extension support our application, so that we can generate further report from our application. Is there any way so that we can Integrate .Voc file to our application?

A prompt reply with these answers will be appreciated. Thank you.

The .voc file is an internal format, you cannot manipulate it directly. However you can use the import and export function for your integration. For details, please see the program Help file.

Posted in IVR Developer, Outbound IVR |

Different call message for different call

I called earlier, spoke to someone very nice, and need a definitive answer to a capability of Voicent software before I move forward. I know your software is intended to broadcast the same message to hundreds or thousands of people. I also know you can change the outgoing message with dynamic auto-fill “inserted” information such as name, etc. What I’d like to know, and with absolute certainty, is if I can have each person recieve a call with a completely unique set of questions, so say if I have 700 people to call, it would go through the list, one by one, asking every person a completely different set of questions, and fielding a completely different set of voice and/or touch tone responses. So I’d put together a database of people, and an equal number of “question sets” (or surveys), then I simply assign the appropriate code for that unique survey, next to that person on the outgoing call database? I’d need to be able to change any one of the “question sets” easily and often. Would you say your software is a good fit for my application, or would you recommend another?

In order to do that, you need:

1. A system that is capable of specifying call message and user interaction for each call

This is what Voicent software products are designed for. There are two levels of integration here: one is at the application level, and the other is at the gateway level. The application level is relatively easy to use and all can be accomplished using the Graphical User Interface (GUI). The gateway level offers the ultimate flexibility, but requires some developer knowledge. For application level, such as using BroadcastByPhone and IVR Studio, you can do “fill-in” values. You could also switch to a different message (different set of survey quesitons) if the message is pre-designed. However, it won’t be able to dynamically create these messages.

To do what you specified, you need to use the gateway interface. With the gateway interface, the call message and interactions are specified in VoiceXML files. These files could be dynamically generated by your application before a call is made. To learn more, please see the developer section on Voicent’s website.

2. You need your own application to create the call message that is specified in VoiceXML file. This is outside the scope of Voicent program. In general, you do the following in your application:

2.1 Find the next person in your database to call
2.2 Based on the person’s profile, generate a set of VoiceXML files for the call interactions
2.3 Send a call request to Voicent Gateway. Within the call request, specify the phone number to call, the VoiceXML files to use, and other info

I can grasp the application level to your response, but am unclear as to the Gateway level, but am not sure the gateway level is needed, as nothing is dynamically created. I should have noted that while each contact has a different “question set” they are predetermined and would be created before each broadcast notification, not dynamically. Each person would just have their own set of questions, and I would need to manually change them from time to time based on information obtained outside Voicent, but I’ll always be able to make the individual’s changes ahead of time, prior to the next broadcast. I don’t think the “fill in” values will do it given the entire question changes. It’s about creating and assigning a unique set of questions for each individual in a broadcast database, and just being able to edit them from time to time. One person, one set of questions (push tone or yes/no answers are adequate). Maybe it’s more about scheduling a “call plan” for each individual with his/her survey, then scheduling calls to that person with those questions on a regular basis, but having the system going through all the scheduled calls for that day? (ie. Say I want to ask for a response from one person on a daily basis to make sure they’ve shut the oven off, cleaned the exhaust system, closed the gas valve, and then ask the next person if they’ve locked the door, set the temperature to 50 degrees, turned the alarm on, etc.) Does this clarify or change your answer in any way, or would it still require software development? Thanks again for all your help

That should simplify the application a lot and you should be able to do it with application level interface.

Here is one way to implement this. Let’s assume you have 3 sets of survey questions that are labeled as A, B, and C.

1. From BroadcastByPhone call list, create a new column ‘survey’ to specify the survey set.
2. Before broadcast, set the correct values for the survey column manually
3. Create an application using IVR Studio.

Under the top node/element of IVR Studio, create three child elements for A, B, and C. Under each child element A, B, and C, create the corresponding survey questions as usual.

Create a transition condition for each child node A, B, and C. Use the value from the ‘survey’ column for the condition expression, such as survey == ‘A’, so it evaluates to true when the corresponding column is set to A. Do the same for B, and C.

4. Deploy the application and start the broadcast using the newly designed IVR application.

Posted in IVR Developer, IVR Usage |

IVR for code verification

I am looking for a product that will serve as a validation program where people will call number and use the touch tone to enter a code and have the voice app say if the code is valid. The code is a algorthim that I will need to program so the product will have to be programmable by me. Can you tell me if you have a approprate product?

You can use Voicent IVR Studio. The voice interface seems pretty straightforward. We have several samples you can use.

To integrate with your code validation program, you can use the IVR Studio Java action, which can be used to invoke any java programs. Simply set the user input code as an argument for the java program, and have the IVR application launch your java program, the then get back the verification status. For details, please take a look at Voicent IVR Studio Tutorial. It is available from the program Help menu.

Posted in IVR Developer |