Template-based framework for building VoiceXML application Jonathan Law.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

(1) VoiceXML Overview, Opportunities & Challenges Hitesh Kr. Seth Chief Technology Evangelist SeraNova, Inc OReilly Conference.
VoiceXML: A Field Evaluation By: Kristy Bradnum Supervisor: Peter Clayton Presented in partial fulfilment of the CS Honours Project.
Apache Struts Technology
Collaborative Customer Relationship Management (CCRM) User Group June 23 rd, 2004.
Which development tool is right for you? Commercial Tools John Fuentes – Principal Solutions Architect
XISL language XISL= eXtensible Interaction Sheet Language or XISL=eXtensible Interaction Scenario Language.
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 Multi-language VoiceXML application.
Voice XML Absentee System Presenters: Shawn Ramdass, Saji Abraham, Billy Santamorena.
Lecture 2 Web application architecture. Themes Architecture : The large scale structure of a system, especially a computer system Design choice: The need.
Outline IS400: Development of Business Applications on the Internet Fall 2004 Instructor: Dr. Boris Jukic Server Side Web Technologies: Part 2.
Week 2 IBS 685. Static Page Architecture The user requests the page by typing a URL in a browser The Browser requests the page from the Web Server The.
Interpret Application Specifications
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.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Web Design Basic Concepts.
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.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
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.
CIS 285 ROBINSON WINTER 2005 CIS 285 Web Application Development with Java CIS 285 Sinclair Community College Instructor: Mary Robinson.
Testing Tools using Visual Studio Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation.
About Dynamic Sites (Front End / Back End Implementations) by Janssen & Associates Affordable Website Solutions for Individuals and Small Businesses.
INTERNET APPLICATION DEVELOPMENT For More visit:
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
Integrating VoiceXML with SIP services
® IBM Software Group © 2007 IBM Corporation J2EE Web Component Introduction
The Voice-Enabled Web: VoiceXML and Related Standards for Telephone Access to Web Applications 14 Feb Christophe Strobbe K.U.Leuven - ESAT-SCD-DocArch.
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,
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.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
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.
Phone Mashups Integrating Telephony & the Web Irv Shapiro CEO, Ifbyphone, Inc.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
© 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.
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.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
The Holmes Platform and Applications
4.01 How Web Pages Work.
Web Programming Language
Web Technologies Computing Science Thompson Rivers University
Introduction to Dynamic Web Programming
Introduction and Principles
PHP / MySQL Introduction
Lecture 1: Multi-tier Architecture Overview
JavaServer Faces: The Fundamentals
Introduction of Week 11 Return assignment 9-1 Collect assignment 10-1
Dr Tappert Shreenath Laxman and Darshan Desai
Web Technologies Computing Science Thompson Rivers University
Access via Voice A.VASUKI.
ASP.NET MVC Imran Rashid CTO at ManiWeber Technologies.
4.01 How Web Pages Work.
TN19-TCI: Integration and API management using TIBCO Cloud™ Integration
Web Application Development Using PHP
Presentation transcript:

Template-based framework for building VoiceXML application Jonathan Law

Agenda What is VoiceXML ? System overview Development platform Template-based Application Framework Design process Deployment platforms

What is VoiceXML ? VoiceXML is an extension of XML VoiceXML 1.0 is a specification of VoiceXML Forum VoiceXML is a Web-based markup language for representing human-computer dialogs VoiceXML leverages the Internet for voice application development and delivery VoiceXML is not a universal solution to making web pages voice accessible

History of VoiceXML ? It started back in 1995 with AT&T researchers VoiceXML combined Phone Markup Language (PML- AT&T & Lucent), SpeechML (IBM) and VoxML (Motorola) The founding companies are Lucent, IBM, Motorola and AT&T VoiceXML 1.0 came out in March 2000 and accepted by W3C in May 2000 VoiceXML 2.0 draft released in January 2001

Voice-centric Devices

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)

VoiceXML Essentials Each application has one or more VoiceXML documents Each document has one or more dialogs Each dialog can be either informational or interactive Informational - prompts Interactive - requests and responses

Basic Elements - root element - define interactive or informational dialog - container for executable elements - play audio file or synthesized speech (TTS) - navigates to another dialog block

Simple VoiceXML application The elements are arranged in a nested hierarchy according to the specification of VoiceXML DTD v 1.0 welcome to Pace University Speech Lab

Template-based Application Framework Benefits Ease of use, easy to understand Short learning curve Proven Apache Forum shareware Based on J2EE standard, JSP compatible Fast, Very Fast performance Scalable, abstract architecture Reusable component Abstract execution environment Flexible delivery system to multiple devices

Template-based Application Framework Components 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 ControllerView Model

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

Dialog Design 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 substitution

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 –