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

Slides:



Advertisements
Similar presentations
(1) VoiceXML Overview, Opportunities & Challenges Hitesh Kr. Seth Chief Technology Evangelist SeraNova, Inc OReilly Conference.
Advertisements

Apache Struts Technology
Which development tool is right for you? Commercial Tools John Fuentes – Principal Solutions Architect
Speech in.NET Sphinx CMU November Presenter casey chesnut brains-N-brawn.com – Web Services – Mobile / Wireless – Speech.
SavvyRecruiter Designed for Flexibility and Scalablity June 17, 2009 Jerusalem.
Web-Database Integration Week 8 LBSC 690 Information Technology.
The State of the Art in VoiceXML Chetan Sharma, MS Graduate Student School of CSIS, Pace University.
Pace VoiceXML Absentee System Paul Visokey, Ping Gallivan, Yani Mulyani, Lisa Jordan, Elaine Li, George Mathew, Qisheng Hong Presenter Name : Paul Visokey.
Template-based framework for building VoiceXML application Jonathan Law.
Voice XML Absentee System Presenters: Shawn Ramdass, Saji Abraham, Billy Santamorena.
1 Java Server Pages Can web pages be created specially for each user? What part does Java play?
Find The Better Way Expand Your Voice with VXML May 10 th, 2005.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Sys Prog & Scripting - HW Univ1 Systems Programming & Scripting Lecture 15: PHP Introduction.
Separating VUI from business logic Caller Experience-centered design approach Alex Kurganov, CTO Parus Interactive
VoiceXML Builder Arturo Ramirez ACS 494 Master’s Graduate Project May 04, 2001.
1 Web Database Processing. Web Database Applications Static Report Publishing a report is prepared from a database application and exported to HTML DB.
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
Drupal Training Syllabus Chaitanya Lakshmi
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Configuration Management and Server Administration Mohan Bang Endeca Server.
Testing Tools using Visual Studio Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
INTERNET APPLICATION DEVELOPMENT For More visit:
SITools Enhanced Use of Laboratory Services and Data Romain Conseil
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
ZanderMail Agent And wireless software development - Introduction -WAP Architecture - Architechture (basis) - Security - Implememtation ZanderMail Development.
Alignment (horizontal / vertical): in center! 0cm (center) Voxeo VoiceObject Overview.
Integrating VoiceXML with SIP services
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Creating Dynamic Web Pages Using PHP and MySQL CS 320.
NMED 3850 A Advanced Online Design January 12, 2010 V. Mahadevan.
FlexElink Winter presentation 26 February 2002 Flexible linking (and formatting) management software Hector Sanchez Universitat Jaume I Ing. Informatica.
1 Welcome to CSC 301 Web Programming Charles Frank.
Introducing ASP.NET 2.0. Internet Technologies WWW Architecture Web Server Client Server Request Response Network HTTP TCP/IP PC/Mac/Unix + Browser (IE,
Overview Web Session 3 Matakuliah: Web Database Tahun: 2008.
Active Server Pages (ASP), also known as Classic ASP or ASP Classic, was Microsoft's first server-side script engine for dynamically generated web pages.
Rails & Ajax Module 5. Introduction to Rails Overview of Rails Rails is Ruby based “A development framework for Web-based applications” Rails uses the.
ASP (Active Server Pages) by Bülent & Resul. Presentation Outline Introduction What is an ASP file? How does ASP work? What can ASP do? Differences Between.
© 2008 by Shawn Spiars; made available under the EPL v1.0 | March 17, 2008 Case Study – Phurnace Software and RCP Shawn Spiars Lead UI Developer Phurnace.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Listener-Control Navigation of VoiceXML. Nuance Speech Analysis 92% of customer service is through phone. 84% of industrialists believe speech better.
VoiceXML Version 2.0 Jon Pitcherella. What is it? A W3C standard for specifying interactive voice dialogues. Uses a “voice” browser to interpret documents,
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Creating PHP Pages Chapter 5 PHP Structure and Syntax.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
W3C Multimodal Interaction Activities Deborah A. Dahl August 9, 2006.
VoiceXML. Nuance Speech Analysis 92% of customer service is through phone. 84% of industrialists believe speech better than web.
The Holmes Platform and Applications
4.01 How Web Pages Work.
SmartCode Brad Argue INLS /19/2001.
Web Technologies Computing Science Thompson Rivers University
Introduction to Dynamic Web Programming
Introduction to PHP FdSc Module 109 Server side scripting and
Warm Handshake with Websites, Servers and Web Servers:
Web Software Model CS 4640 Programming Languages for Web Applications
Haritha Dasari Josue Balandrano Coronel -
PHP / MySQL Introduction
Lecture 1: Multi-tier Architecture Overview
Web Page Concept and Design :
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Intro to PHP.
Dr Tappert Shreenath Laxman and Darshan Desai
Web Technologies Computing Science Thompson Rivers University
Access via Voice A.VASUKI.
4.01 How Web Pages Work.
Web Servers (IIS and Apache)
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
Presentation transcript:

Template-based framework for building Multi-language VoiceXML application

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

Multi-Channel System Architecture

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

Voice Web Architecture

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

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)

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

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

Application Framework mapping Controller ViewModel

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

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

Basic Call Flow Control example Good Bye Welcome to Pace U

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

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

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

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

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

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

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();

Unit Testing via browser Login.php

VoiceXML Application Tools BeVocal Café, BeVocal, Inc. – WebSphere Voice Server SDK, IBM Corp. – Mobile ADK, Motorola, Inc. – V-Builder, Nuances Communication – Tellme Studio, Tellme Networks, Inc – VoiceGenie Dev. Workshop – voxeo community, voxeo Corporation –

Application Tools References Apache Software Foundation – VoiceXML Forum – IBM VoiceXML Resources – PHP – mySQL –