Presentation is loading. Please wait.

Presentation is loading. Please wait.

Template-based framework for building Multi-language VoiceXML application.

Similar presentations


Presentation on theme: "Template-based framework for building Multi-language VoiceXML application."— Presentation transcript:

1 Template-based framework for building Multi-language VoiceXML application

2 Agenda System Overview Development platform Template-based Application Framework Design Process Deployment platforms

3 Multi-Channel System Architecture

4

5 IDE tools IBM Voice Server and Apache Forum Apache Web Server PHP mySQL PHP IBM Voice Server

6 Voice Web Architecture

7 Development Platform Open source Apache Forum Products on Windows NT 4.0 Web Server - Apache HTTP Server Database - mySQL Server Side Scripting - PHP VoiceXML server - IBM ViaVoice SDK

8 Design Objectives Distinct layers architecture (presentation layer, business logic layer and data access layer) Scalable architecture based on J2EE (enable vendor independence, RAD workflow process) Abstract data access layer (allow easy plug-n-play for new data access channels) Easy of use and user-friendly (separate designer and programmer skill sets) Abstract execution environment (allow multiple-content to multiple devices)

9 Template-based Application Framework Framework contains 6 modules Resources - resource bundles, config files Prompts - pre- recorded wave files, text for prompts Grammars - grammars files Templates - dialog designs Includes - sources code, common Common - XML DTD, DB abstract, generic codes

10 Application Framework Design Classic Software Design Paradigm Model - manages the behavior View, responds to request, and instruction to change state View - manages the outputs Controller - Interpret input from user, command the model and change the view as appropriate Model Controller View

11 Application Framework mapping Controller ViewModel

12 Implementation Process Dialog Design – Pre-recorded or TTS Build VXML component – speech objects – define grammar Map dialog with contents from DB tables – build API for data retrieval Apply Business Logic – map dynamic and static contents Unit testing via browser using PHP – call up each component through URL System Integration in VXML platforms

13 Dialog Design Basic Call Flow Control A Voice application is a collection of dialogs. The interpreter navigates from dialog to dialog in document source order. A dialog is referenced via the value of its id attribute. The id of each dialog within a document should be unique. The URL consists of a hash symbol (#) followed by the value of the element’s id attribute. Outside the document, the URL consists of the absolute or relative HTTP path to the document

14 Basic Call Flow Control example Good Bye Welcome to Pace U

15 Dialog Design Compare Audio and TTS Pre-recorder AudioText-To-Speech Resource LargeSmall VocabularySmallUnlimited IntelligibilityHighHighly Intelligible Voice QualityNatural PleasantMechanical Voice CustomizabilityMust re-record Unlimited CostExpensiveNegligible FlexibilityNoneUnlimited vocabulary

16 Build VXML components A simple dialog template {USERID_GRAMMAR} {USERID_PROMPT} {USERPWD_GRAMMAR} {USERPWD_PROMPT}

17 Build VXML components Define Prompts and Grammars <?php $USERID_PROMPT=' Please say your six digit user ID. '; $USERPWD_PROMPT=' Say your four digit password. '; $MENU_USERID_INVALID_PROMPT=' That user ID does not exist. Login again. '; $MENU_USERPWD_INVALID_PROMPT=' That password is incorrect. Login again. '; ?> Example of a prompt file for US_EN

18 Build VXML components Define Grammars <?php $USERID_GRAMMAR='src=builtin:grammar/digits?length={USERID_LENGTH} "> ’; $USERPWD_GRAMMAR=src=builtin:grammar/digits?length={USERPWD_LENGTH }"> ’; ?>

19 Integrate into Application Template Framework <?php include "includes/class.FastTemplate.php"; include "includes/common.php"; include "includes/functions.php"; include "includes/abstractdatabase.php"; # to have language specific prompts, and grammars include (RESOURCES_DIR. "/login_". LANGUAGE. ".php"); $db = new db(); $db->open(DATABASE, HOST, USER, PASSWORD); # create a new query object $q = new query($db); Common Include files Configurations Database Abstract

20 Apply Business Logic # any thing that you want to do at the beginning of the page common all pages. pageStart(); # don't really need to declare as global since there are # no functions using $tpl global $tpl; # initialize FastTemplace class $tpl = new FastTemplate(TEMPLATE_DIR); $tpl->define(array("main" => "main.tpl", "login" => "login.tpl")); $tpl->assign(array("USERID_LENGTH" => LOGIN_ID_LENGTH, "USERPWD_LENGTH" => LOGIN_PASSWORD_LENGTH, "USERID_PROMPT" => $USERID_PROMPT, "USERPWD_PROMPT" => $USERPWD_PROMPT, "LOGIN_GRAMMAR" => createLoginGrammar(LOGIN_ID_LENGTH), "PASSWORD_GRAMMAR" => createPasswordGrammar(LOGIN_PASSWORD_LENGTH))); template mappings Variables subsitution

21 Apply Business Logic cont. # doing a search and replace here # variable CONTENT will get the value of the list template after the search and replace $tpl->parse("CONTENT", "login"); # variable MAIN will get the value of the main template # NOTE how the CONTENT variable assigned in the previous instruction gets replaced in the template. $tpl->parse("MAIN", "main"); #print out the last variable: MAIN $tpl->FastPrint(); # any thing that you want to do at the end of the page common to # all pages pageEnd();

22 Unit Testing via browser Login.php

23 VoiceXML Application Tools BeVocal Café, BeVocal, Inc. – http://café.bevocal.com WebSphere Voice Server SDK, IBM Corp. – http://www.ibm.com/software/speech/enterprise/ep_11.html Mobile ADK, Motorola, Inc. – http://mix.motorola.com/audiences/developers/madk_intro_dev.asp V-Builder, Nuances Communication – http://extranet.nuance.com/developer Tellme Studio, Tellme Networks, Inc – http://studio.tellme.com VoiceGenie Dev. Workshop – http://developer.voicegenie.com voxeo community, voxeo Corporation – http://community.voxeo.com

24 Application Tools References Apache Software Foundation – http://www.apache.org VoiceXML Forum – http://www.voicexml.org IBM VoiceXML Resources – http://www.alphaworks.ibm.com/tech/voicexml PHP – http://www.php.net mySQL – http://www.mysql.com


Download ppt "Template-based framework for building Multi-language VoiceXML application."

Similar presentations


Ads by Google