Unanswered Question
Sep 19th, 2010
User Badges:

Hi Experts,

I am trying to build Dynamic Menu Application in CVP.

Can I get some input how i can achieve this, how to design Menu Structure in Database.

Let me know if anyone has already created such application.

Thanks in Advance.


Vinod K

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)

What exactly are you trying to accomplish?

I have built dynamic menus in CVP VXML Studio using the results of a database query to control the menu structure. This was in a banking application where an identified customer (ID and PIN) has a number of different accounts and the application wants to present a menu for the user to choose the account to operate on. The database query returns the list of accounts and I constructed a menu like:

For account ending in 1234, press 1.

For account ending in 4567, press 2.

For account ending in 5678, press 3.

and so on. Once the account is selected, the next operation could be accomplished (balance, transfer etc).

Another possibility is to hand off all processing to the database, with a loop in CVP VXML, using session variables. I've done something similar with a Web service, where all the logic was in the Web server and the CVP app was just a one page shell, but I haven't tried what I am about to describe. I'm thinking you could do something like this.

Query the database to get the starting WAV file to play, which represents the top-level menu. The database query also returns a code that tells the app whether to continue, or break the loop.

SELECT WaveFile, Break FROM Menu WHERE UserInput='top'

If Break=0, use the resulting wave file in a "get single digit" element and get the digit they entered. Then loop back to the top and call the DB query again with that digit. Say they choose "1".

SELECT WaveFile, Break FROM Menu WHERE UserInput='1'

The database returns the name of the WAV file to play next (the sub-menu under 1 in the top-level menu) and the application fetches another digit. Append this digit to the first one and around it goes to the DB query again. Say they choose 2.

SELECT WaveFile, Break FROM Menu WHERE UserInput='12'

You would have to deal with all possible inputs in the database table - sometimes the WAV file would be an error message and the loop-break variable  would be set to 1 and you'd be done. If Break=1, instead of using a "get single digit" element you would have a simple audio element and play the WAV file. Could be an error message or silence - either way, the menu is over.




This Discussion