Skip to content

Select a date below


Dates are listed in Pacific Time Zone

= Guaranteed to run date


Print Friendly, PDF & Email


CVPD-Java is a hands-on programming course teaching participants to extend the functionality of CVP Call Studio using the CVP Java API. Participants will learn to write, compile, deploy and maintain custom elements, say it smarts, and other components for Call Studio and VXML Server in the CVP environment. Participants must be familiar with Call Studio and know a small amount of Java or similar programming language.


  • Working knowledge of CVP Studio
  • Basic experience programming with Java or a similar programming language





  • Introduction to the Java API, its capabilities and limitations
  • Practice creating every different Java component to extend Studio (see below)
  • Introduction to Voice Elements and their complexity
  • This course is applicable to any version of CVP and Studio.



  • Standard Actions and Decision as ‘drop-in code’ to execute functions on VXML Server such as obtaining the IP address for setting the Default Media Server, for accessing substrings, validation of dates and times, performing date arithmetic.
  • Configurable Action and Decision elements – creating new elements in Studio. Substring element, String Length element, Read File of name=value pairs, Read an XML file, Date comparison element test if a date is in the past, future, or today.
  • Say it Smart plugins – Say it Smarts convert data into a list of audio files and/or text for TTS playback. For example, create a plugin to spell data to the caller. For example, speaking date in European format.
  • Start of Call classes – Create session variables or VoiceXML Properties based on ICM passed data, or database or file. For example, access a database to create root document VXML Properties.
  • End of Call classes – execute code at the end of visit to an application, regardless of how the visit ends (hangup, complete, error, application transfer, telephony transfer). For example, determine if the call ended with an error, write to a custom log file.
  • Start of Application classes – execute application-specific code whenever VXML Server is started or the application is updated. This is often used to create customer detail records. For example, create persistent variables.
  • Create Persistent Variables – Global variables and Application variables remain in memory between phone calls but can only be accessed through Java code.
  • Dynamic Menus – configure Settings and Audio for Studio elements at runtime using Java. This is especially useful for building Dynamic Menus with a varying number of options and audio prompts. For example, create a Dynamic Menu based upon the caller’s account number.
  • Extend existing Studio elements to add/modify settings, catch Java exceptions, encapsulate multiple elements

Additional information


5 days