Recent CVP Team Bloggers Recent CVP Team Bloggers
There are no recent bloggers.
CVP Community Blogroll CVP Community Blogroll
Beep Beep... on Record
Recently noticed that there have been repeated questions from our developer community complaining that they can't seem to get the beep to work with <record>. They have set the beep attribute to "true" alright, and the reference guide even says this is supported but why doesn't it work?

It fails to work coz IOS still has a vxml version defaulted to pre2.0, you can check this using the "show run" on the gateway. And hence it still behaves as a pre2.0 compliant browser wrt some . Run this command at the CLI to make it 2.0 compliant
# vxml version 2.0
and voila!! the beep works emoticon

Another tedious way would be to add a beep.wav audio before the record element. Any takers?
Be Forgiving
August 01, 2006
Earlier today, as I was typing a comment in our internal issuing-tracking system, I hit backspace to correct a typo. WHAM! I go back to the previous page, and my long-winded comment is gone. Apparently I somehow left the context of the text area (did I tab, or spuriously click, or??), which causes backspace to act as a hotkey for "Back". The web browser was not very forgiving of my mistake.

Are your IVR applications forgiving? They should be.

I can think of one great example. When I call my cell phone provider's voicemail system, and I delete a message, I am immediately given the option "To undelete this message, press 1." If I am checking my voicemails on the go and accidentally hit the 7 key (delete) instead of what I meant to do, this is a lifesaver!

I can also think of many calls (I won't name companies) where I've ended up in some part of the app where I was destined to hear a message and be disconnected. What if I got there by mistake? What if I would prefer to leave a message? Forgive me for not using the app in the way you had forecasted. If I feel that it's impossible to make mistakes while in your app, I probably won't mind using it again.

Posted by Vance
Score your IVR
Mark Gibbs over at Network World has put together a spiffy little scoring system for customer service systems (including many criteria for IVR systems). How would callers score your IVR using Mark's guidelines? Place a call and find out, you may be surprised.

Even if you are still in the development stages, it's worth a read; many of his observations are a quick-n-dirty VUI design lesson. However, I don't necessarily agree with all of his criteria, such as "Subtract one point if there is music on hold" and "Add one point if a human answers". Different callers will value these things in different ways, and an IVR that your customers enjoy using may be more welcome than a live agent.

Here are some highlights:

Subtract three points if the person or IVR tells you that you have to call another number for the service you want. Subtract 1,000 points if the other number is wrong, busy or discontinued.
...subtract three points if you have to listen to a long menu of choices and the IVR won't let you enter your selection until it finishes. Subtract 10 points if the choice you're looking for and what you are offered are completely different.
Subtract 10 points if the first person you speak to does not have [your call] details, and if you get transferred, subtract 10 points for each subsequent person without your details.
Posted by Vance
Stop DB Connection Pool Leaks with Handy Tomcat Debug Modes
If you're using JNDI to connect to your database through Tomcat, then it's possible you've had to deal with database connection pool leaks. Your code tests fine, it's been reviewed, but in load tests or in production your app is unable to acquire database connections, the pool is empty!

Fear not, there are some handy parameters which can be set in your application's XML configuration file (in tomcat/conf/Catalina/YOUR_IP/YOUR_APP.xml):

removeAbandoned: Enables automated monitoring of pooled DB connections, and closes them if they time out. This is a catch-all, which prevents bugs in your code from bringing a system to its knees. If your app fails to close a connection, this will close it after a certain time period.

removeAbandonedTimeout: Sets the timeout value for use with the removeAbandonded parameter.

logAbandoned: Logs stack trace information when a pooled DB connection times out. This is invaluable information which can help you quickly track down the offending lines of code which failed to close the connection.

These helpful parameters are documented here on the Apache Tomcat site, along with many other hints and suggestions.

Posted by Vance
Showing 5 results.