Avaya DevConnect Center
Home IP Communications Contact Centers Unified Communications Communications Enabled Business Processes Avaya DevConnect Portal RSS Feed
Register to join the Avaya DevConnect Program to gain access to Avaya APIs & SDKs, purchase Avaya products for development at discounted prices, and receive a discount on training and certification. More information
Sign up for your free email newsletter today!
Avaya Developer News

More Newsletters

Going Against the Flow: Avaya Makes Voice Application Development Look Easy
See how enterprise developers can look like they have been coding telephony-based, self-service applications for years—with proprietary tools and a few tricks of the trade.  

Both novice and seasoned developers can create voice applications for their company's telephony platforms. Novice developers frequently rely on integrated development environments (IDEs) to create applications for a variety of industries and to run on one or more platforms, be they UNIX, Linux, Mac OS X, or Microsoft Windows, to name the top tier operating systems. More experienced developers sink their teeth into the code behind the IDE and can troubleshoot problems should an obscure error occur. Regardless of the level of expertise, enterprise developers without telephony experience can get ahead on the learning curve with Avaya Dialog Designer 3.0 IDE.

In addition to abstracting the details of connecting to a telephony interface the Dialog Designer provides support for open standards like VoiceXML, Web services, Speech Recognition Grammar Specification (SRGS), and Java 2 Enterprise Edition (J2EE). It also provides ease of designing Voice User Interface (VUI) through a graphical drag and drop interface.

Built on the extensible architecture of the Eclipse 3.0 open source platform, Dialog Designer provides in-built connectors for supported speech recognition engines, making it simple to add speech to applications via a framework of development tools. Dialog Designer stays true to its object-oriented design by offering modules that allow for efficient reuse of code by other applications. Further, Dialog Designer's loose coupling separates call flows and application flows from language elements, allowing for easy localization of applications.

Getting Started
Dialog Designer's deployment environment requires your company to have a Web server platform running either Apache Tomcat 5.0 or higher, IBM WebSphere Express 6.0, or IBM WebSphere Application Server 5.1.1 Web server software; and a high-performance Web server architecture.

Here's what you need to get started:

  • Order Dialog Designer installation disk from Avaya that installs Eclipse and other components.
  • A development machine with Windows 2000 or Windows XP operating system.
  • An Interactive Voice Recognition (IVR) system, if you want interaction between the Dialog Designer application through a telephony interface.
  • Avaya's CD includes the Eclipse platform, Dialog Designer, and other critical design and development tools such as an embedded VoiceXML browser to allow for fast simulation and debugging of speech-enabled applications. Although it is not required to run Dialog Designer, Avaya's Voice Portal and Interactive Response telephony platforms share the VoiceXML browser for consistent and reliable deployment as well as dynamic generation of VoiceXML and speech and touch-tone grammars.

    Using the Development Environment and Templates
    Developers that are familiar with any modern IDE can generate voice applications with the simple drag and drop technique. Developers who are more experienced can modify your voice applications via Dialog Designer's Console window, as you can with many leading IDEs.

    Wizards in the Development Environment allow you to quickly create and integrate Web services within dialog call flows. The Development Environment also allows you to test your call flows on the fly using its simulator with built-in VoiceXML browser.

    Within the Development Environment, you can select, configure, and link application templates, building reusable components for automated voice services and call flows. You also can create multilingual voice applications because of Dialog Designer's separation of call and application flows from language elements.

    You can choose a template to help design the call flow you want. Here are some basic template options within Dialog Designer:

  • Announce: used to create an initial announcement the caller hears
  • Prompt and Collect: the application prompts the caller and collects data from him or her
  • Several transfer options
  • Record: used to record caller input (For example, Record allows end users to record a message to be delivered within the company's voicemail system.)
  • Disconnect: delivers a message to the caller prior to disconnecting the call
  • If you are a more daring and experienced developer, you can create your own call flow without the aid of a template using Dialog Designer's Application Items. Under the Application Items palette, you can select an option to create a main menu of choices for the caller, create a template from the Form option; and use the Data option to manage variables, application data, databases, and Web services interfaces for computer/telephony integration (CTI). Dialog Designer allows more advanced developers to add servlets, or to drop in Voice XML servlets to further extend the functionality.

    Review of the Avaya Voice Portal and Dialog Designer solution architecture.
    This paper will outline Avaya's view on VoiceXML and how it plays a lead role in the emerging trend of more open, intelligent communications solutions.

    Creating a Call Flow
    Dialog Designer allows you to manage projects in a workspace. As with most mainstream IDEs, Dialog Designer's graphical use interface (GUI) uses standard expandable and collapsible trees on the left of the window in the Navigator Window. In the right side of the window, the palette displays the call flow as you create it. Using the call flow builder, you can create a speech project and collect input for a call flow, such as setting the prompt name and grammar names.

    Here's what you need to know to get started with a basic voice application.

    For a basic call flow design, you as a developer need to know in what order each question and response should go. Heads up, though—for more complicated applications like a call center application, a little telephony experience may come in handy when designing a call flow.

    Let's start with creating a basic call flow with speech and touch-tone grammars. Let's say you want to create an application in which an automated system answers the telephone with a pleasant greeting when someone calls your company. The caller hears a menu of options from which he or she chooses and the call is routed automatically to the appropriate place. A series of questions from the automated system and responses from the caller will help with directing the call.

    Use the Flow folder in the Navigator Window to create a main menu for the primary call flow, called main.flow by default. Next, set the prompt name in the Prompt Editor. When you create a prompt, you are telling the system what announcement it should deliver to callers.

    The next step is to set grammar name, or the list of menu options from which the caller will choose. Grammars can be defined as static or dynamic (at run time), or your company can purchase lists of grammars from third-party sources if specific menu options are required.

    Handlers need to be identified next, so the system will know how to respond if the user offers no input or response, or if the caller's response does not match any option in the menu. Dialog Designer uses a text-to-speech (TTS) engine to interpret what the caller says and repeats the caller's response back to him or her. For example, the automated system replies back to a caller, "You said, 'Yes'." With Dialog Designer's VoiceXML capabilities, the IDE supports the specifications for the language defined as the standards for voice interaction with end users. In much the same way a Web browser retrieves HTML from a server, the voice browser retrieves VoiceXML data from a voice server. The voice browser then works with the text-to-speech information using a speech recognition engine.

    Finally, use the Connection tool to link the call flow. This tool connects the nodes in the call flow from the starting node to the exit node.

    Simulating and Deploying Applications
    When you have designed, developed, and saved your call flow, Dialog Designer automatically checks the syntax, providing built-in error detection. You can use the Simulator to test your call flow to ensure it responds as you designed and developed it to perform. The simulator allows you to test your applications in real time as you develop your application. The voice browser is built into Avaya IR and Voice Portal, and works with Dialog Designer in Simulation mode.

    In Simulation mode, click the Start Call button. The Console window shows the VoiceXML that is generated and processed dynamically, and Java servlets are generated that run on application servers that host the servlets, creating VoiceXML rendering of Java.

    When the voice application you created performs to your specifications, you can deploy it to your company's telecom platform, be it Avaya Voice Portal, Avaya IR, or another telephony platform. You will need to point the IVR system to your company's VoiceXML-compliant browser.

    You will also need to deploy the Application Runtime Environment that Dialog Designer creates to your company's Apache Tomcat or IBM WebSphere Java Servlet environment.

    Differentiating Factors
    Dialog Designer sets itself apart from its competitors in several ways.

    First, localization of voice applications is made easy, because Dialog Designer was architected with loose coupling between call and application flows and language elements. Also important, Dialog Designer dynamically generates VoiceXML.

    Dialog Designer's modular design makes it easy to use regardless of your level of expertise. The ability to create Java servlets and incorporate Web services allows you to implement the latest solutions for gaining a competitive edge. It also allows developers to integrate voice applications with JDBC-compliant databases as well as support Web services.

    Both novice and seasoned developers can create voice applications for their company's telephony platform. Having an IDE to create voice applications without having a telephony background gives organizations and their developers a competitive edge. Regardless of your level of telephony expertise, you as an enterprise developer can get ahead on the learning curve with Avaya Dialog Designer 3.0 IDE.



       
    Shari L. Gould has more than 16 years of journalism and technical writing experience. Shari has written for numerous leading publications throughout her career, most recently Software Development Times and its various publications, and had an article hand picked by Sun Microsystems for inclusion in its Solaris Developer Connection. She also has more than 10 years experience working with high-tech companies documenting everything from network designs and installations, through software design and APIs, to user interfaces. Shari currently is pursuing her Master's degree in Criminal Justice, specializing in Information Security.



    JupiterOnlineMedia

    internet.com earthweb.com Devx.com mediabistro.com Graphics.com

    Search:

    Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

    Jupitermedia Corporate Info

    Copyright 2008 Jupitermedia Corporation All Rights Reserved.
    Legal Notices, Licensing, Reprints, & Permissions, Privacy Policy.

    Web Hosting | Newsletters | Tech Jobs | Shopping | E-mail Offers