Use Vonage SIP

Do I need to use a modem to make Voicent work with Vonage

The short answer is yes, since the only interface to Vonage is the Vonage router/adapter, or the softphone provided by Vonage.

If Vonage opens up its SIP credential to allow any soft phone to use its server, then Voicent can use Vonage service without a modem. With SIP, Voicent software simply acts as a softphone.

Posted in VOIP |

Handle VXML exit code

I have the outbound calls working via HTTP, and have some logic to determine if the correct response code was entered. However, when I poll the status of the call, it says “Call Succeeded” regardless of whether the right code was entered or not.

I have in my script an exit with different expressions, but they don’t seem to be passed. How can I determine what exit path resulted so I can appropriately handle a hangup or incorrect code? Thanks for your help,


<filled namelist=”responsecode” mode=”all”>
<if cond=”responsecode == ’12345′”">
<prompt”>
You have entered the correct code. Good bye.
<exit expr=”Correct Code”>
</prompt>
<else/>
<prompt”>
I’m sorry, that code is incorrect. Alerting the authorities. Good bye.
<exit expr=”Wrong Code”>
</prompt>
</if>
</filled>

Voicent Gateway does not support all the VXMl tags. The exit code is one of them. There is also a difference between a call status and VXML application exit status. Call status is used to indicate whether a call is made, line busy, etc by the gateway.

VXML application status is best handled in your JSP application (or any other language you use to generate VXML). VXML is not a real programming language, so it is usually easier to handle more in JSP. Use VXML just for the phone interaction. It is strongly recommended to use Voicent IVR Studio to automatically create your initial version of the VXML files, then use them as a base for your application.

To handle application exit code, use the submit element to handle that. For example, you can have an exit handler called exithandler to handle call the exit status:


<filled namelist=”responsecode” mode=”all”>
<if cond=”responsecode == ’12345′”">
<prompt”>
You have entered the correct code. Good bye.
<submit next=”exithandler” namelist=”responsecode”/>
</prompt>
<else/>
<prompt”>
I’m sorry, that code is incorrect. Alerting the authorities. Good bye.
<var name=”exitcode” expr=”‘Wrong Code’”/>
<submit next=”exithandler” namelist=”exitcode”/>
</prompt>
</if>
</filled>

For more details, please see the Outbound call tutorial

Still trying to get this IVR application working, and I’m not sure if the IVR studio will help.

That does lead to a question — is there some more advanced API I can access as a developer that gives me more capability than the IVR studio?

I have the system dialing out, and in IVR studio I want to capture the correct code based on a column in BroadcastByPhone. For simplicity, I’m use the “Name” field. I have the value “504″ in the name field.

The system dials, and prompts for the code, and I’ve tried every combination I can think of to use the Name variable to go to the “correct” path, but I can’t get it to work.

Is there some way to use the condition field to match the input to the name?

That is exactly where IVR Studio can help.

The BroadcastByPhone column has nothing to do with a variable in VXML, that’s why you cannot get it to work. There are a lot of work needed in order to use column values in your VXML application. Luckily, you do not have to do it from scratch, we have done the integration in IVR Studio.

Voicent Gateway actually supports parameterized VXML in addition to the basic VXML. This capability is what makes it possible to link BroadcastByPhone and the Gateway. In a sense, this is the advanced API. But it is hidden through the use of IVR Studio.

As well, the system is not sending an email when it’s done — there’s something in the log about an exception but it doesn’t have anything that helps me to troubleshoot. The exception in the log file is:

java.lang.NoClassDefFoundError: javax/mail/MessagingException
at vx.interp.VxEmailSender.send(Unknown Source)
……

The exception means the jar file for the class is not included in the classpath. For javamail, you have to include mail.jar file in the classpath of your application or in the gateway classpath. Again, by using IVR Studio, it will help you deploy the jar file to the correct location.

Posted in Developer, Gateway |

Online form triggers automated phone call

I am looking to do this:

When a user visits my website, there is a form to fill out asking for name, phone number and email address. When they click Submit, I want to a program that will call them automatically (within 5-10 minutes say) and deliver a recorded greeting.

Someone in your Sales Department said this can be done using the command line interface and a script to extract the phone number field from the email that the online form generates and sends. What I need are the details of the scripting that is involved to do this. Please advise-any assistance is greatly appreciated, and will play a large part in determining which version of your product I will consider purchasing.

First, there should be not too hard to trigger an automated phone call from an online form. Voicent programs are all web aware – actually the main interface of Voicent products is the web interface (HTTP).

Normally, when you create an online form, you will have a form handler program/script to handle the form submission. Depends on your web server, you may use a script language like Perl or PHP for your form handler. All you need to do is insert the command to invoke Voicent program in the form handler. For more details of the program integration, please see the developer section of Voicent’s web site.

The second part is to determine where to run Voicent Programs. If you have a dedicated web hosting service or run your web server internally, you should be able to install Voicent programs on the server computer or on a different computer on the same LAN. This should be easy to setup.

If you are using a shared web hosting service, you may not be allowed to install programs on the server. In this case, there will be more setup involved, but the idea is the same as when you using the dedicated web hosting service. You have to install the Voicent program on a computer somewhere else but is accessible from your web server, i.e., your web server should be able to send HTTP request to the Voicent Program.

If that is not possible to setup, you could try to trigger the automated call from an email program. In your web form handler, instead of calling Voicent program directly, you send an email to an dedicated email account. Then on the computer you install Voicent program, use a program like that of emailtophone to trigger an automated call. By the way, emailtophone is open source.

The third part is to decide what message will be played for the automated phone call. Do you want to collect feedback, transfer call to an agent, etc. Easy interaction can be implemented with Voicent BroadcastByPhone, for more control, use Voicent IVR Studio in addition to BroadcastByPhone.

All this may look a little confusing at beginning, so the best thing is to download the software and give it a try. We’ll be help you more if we know more details of your project.

OK, when someone fills out the web form (user), they enter their name and phone number. User clicks “Submit”, form is processed through PHP form mail processor (example), which emails the form field contents to me. I need something that will also isolate the user phone number from this form and trigger an automated recorded call to the user’s phone number (Hi, this is _____. Thank you for supporting XYZ Industries…) If I add the right scripting information to the PHP form handler, it can do this automatically as a separate subroutine, as long as this information can reach the computer where Voicent is installed, correct? Please clarify and put my mind at ease that we are on the same page.

Yes, your understanding is correct. Actually if you use Voicent Gateway’s simple call interface in PHP, you can do so in just one line:

call_text($phoneno, ‘Hi, this is __. Thank you for …’, 1);

where $phoneno is the phone number field in your form.

Posted in Auto Dialer, Developer, Gateway |