VoiceXML 2.0 Makes Some Noise
BY RICH TEHRANI
VoiceXML is alive and kicking. Well, at least in the opinion of the World
Wide Web Consortium (W3C, www.w3c.org),
which signed a memorandum of understanding with the VoiceXML Forum (www.voicexml.org),
enabling each organization to work on different parts of the VoiceXML
standard while maintaining a close relationship. The memorandum coincides
with the W3C release of the first public working draft of VoiceXML 2.0.
I wrote about the emergence of VoiceXML in this very column nearly a year
ago, and even drafted a program (with the help of Tellme, www.tellme.com)
allowing users to access conference sessions residing on the Web through a
toll-free number. Very simply, the VoiceXML markup language allows voice
access and interaction with content residing on the Web, or anywhere else.
VoiceXML 2.0 is designed to offer Web-based development and content delivery
functionality for interactive voice response (IVR) applications. The latest
version of the language enables the creation of audio dialogs for offering
synthesized speech, recognition of spoken and DTMF key input, digitized
audio, and the recording of telephony, spoken input, and mixed-initiative
conversations.
This time around I spoke with VoiceGenie (www.voicegenie.com)
about their upgrade to Version 2.0 of the VoiceXML standard, and with their
help I was able to create a program that enables access to information on
conferences at our upcoming Internet Telephony Conference & Expo Miami (www.itexpo.com).
See Figure 1 for an explanation of the markup language.
VOICEGENIE
In tandem with the release of VoiceXML 2.0, VoiceGenie Technologies
announced the latest version of its voice Web platform, VoiceGenie VoiceXML
Gateway 5.0, with full support of VoiceXML 2.0. The gateway offers new
features like call control, E1 support, platform pooling, and higher density
call throughput. The VoiceGenie Platform Pool Manager offers the ability to
manage hierarchical clusters of gateways, using a Web browser to monitor
status, upgrade configurations and software installations, and perform
maintenance tasks.
GETVOCAL
GetVocal (www.getvocal.com, a division
of Digital Voice Technologies) announced the VoiceXML 2.0-compliant
PowerDialer, an auto/predictive dialer platform that runs on Windows 2000.
Administrators can set up a dial campaign graphically through the GetVocal
SDK, allowing quick creation of a VoiceXML script which executes when it
receives a live answer. Features include a phone line wizard for setting up
the application to run on analog lines attached to telco circuits or a PBX,
or digital lines. A line monitor enables the system administrator to launch
desired lines, select VoiceXML scripts, view dialer statistics, refresh dial
results, and configure the dial campaign.
PIPEBEACH
The multi-lingual, carrier-class VoiceXML platform speechWeb, from Pipebeach
(www.pipebeach.com), also supports
the latest version of the VoiceXML standard. speechWeb enables voice
applications like voice portals, automated call centers, and e-mail readers
to be accessed through any telephone, integrating speech recognition and
speech synthesis technologies.
TELERA
Voice Web platform provider Telera (www.telera.com)
also announced endorsement of VoiceXML 2.0. The company's DeVXchange
developer community offers resources for quick and easy development of
business-centric voice applications running on Telera's Voice Web
Application Platform.
TELLME
Tellme Networks (www.tellme.com)
supports VoiceXML 2.0 in its Voice Application Network, which hosts
carrier-grade, Web-based application delivering advanced voice services.
Enterprises may offer a more personalized caller experience, automate their
calls, and reduce telecom infrastructure costs using the network. The
company also offers a VoiceXML 2.0 developer community, available at studio.tellme.com.
BEVOCAL
Voice platform and application provider BeVocal (www.bevocal.com)
is also supporting VoiceXML 2.0 through the BeVocal Foundation Platform. The
voice platform lets carriers create and deliver services like voice portals,
voice activated dialing, and voice messaging applications. The company also
offers the BeVocal Caf (cafe.bevocal.com)
Web-based developer environment, offering support for voiceprint
verification, pre-tuned grammars, professional audio, utility functions for
location-based services, local and remotely loaded Java-based objects, and
usability testing and debugging of applications.
HEYANITA
HeyAnita (www.heyanita.com) is a W3C
partner and a member of the VoiceXML Forum. The company offers the
FreeSpeech Platform for development of applications, as well as the
FreeSpeech VoiceXML Browser, an interpreter that may be used on the HeyAnita
telephony network, or can sit remotely in a client's desired location. Beta
versions of the platform and browser are compliant with VoiceXML 2.0, and
HeyAnita is waiting for the language to be ratified (expected sometime in
January or February). The company plans to roll out generally available
versions of it's 2.0 products within 30 to 45 days of ratification.
VERASCAPE
Verascape (www.verascape.com) has
released its VeraServ development platform, based on VoiceXML 2.0. The
platform ships with text-to-speech (TTS) and automatic speech recognition
(ASR) technology, as well as a VoiceXML interpreter from Motorola (www.motorola.com).
[ Return
To The 1st Quarter 2002 Table Of Contents ]
|
|
Figure 1. Markup Language
With the help of VoiceGenie, I've come up with the following sample of
VoiceXML 2.0 code. The code enables access to conference descriptions and
schedules for our upcoming Internet Telephony Conference & Expo. After
being prompted for a time of day, the code matches callers with the
conference session closest to that time, and provides them with a start time
and a description of the session.
To try a live demonstration of the code, call 888-226-4850.
<?xml version =
"1.0"?>
<vxml version = "1.0">
<meta name = "author" content = "Rich Tehrani" />
<property name = "ASRENGINE" value = "SPEECHWORKS"
/>
<property name = "loglevel" value = "3" />
<property name = "caching" value = "safe" />
<property name = "confidencelevel" value = "0.7"
/>
<var expr = "0" name = "nextState" />
<form id = "gettime" cleardtmf = "false">
<subdialog src = "http://mordred.voicegenie.com/GA_DM/jsp/time/wrapper.jsp"
name =
"speech_1" method = "get">
<param expr = "'ALWAYS'" name = "defaultconfirmation"
/>
<filled mode = "all">
<!-- 24 hour format,
convert it to am pm-->
<if cond = "speech_1.AMPM=='h'">
<if cond = "speech_1.HOUR>12">
<assign expr = "speech_1.HOUR-12" name =
"speech_1.HOUR" />
<assign expr = "'p'" name = "speech_1.AMPM" />
<else />
<assign expr = "'a'" name = "speech_1.AMPM" />
</if>
</if>
<if cond = "speech_1.AMPM=='a'">
<if cond = "speech_1.HOUR<8 || speech_1.HOUR==12">
The next session is
<goto next = "#session1" />
</if>
<if cond = "speech_1.HOUR==8 &&
speech_1.MINUTE<=30">
The next session is
<goto next = "#session1" />
</if>
<if cond = "(speech_1.HOUR==8 && speech_1.MINUTE>30) ||
(speech_1.HOUR==9 && speech_1.MINUTE<30)">
The current session is
<assign expr = "1" name = "nextState" />
<goto next = "#session1" />
</if>
<if cond = "speech_1.HOUR==9 &&
speech_1.MINUTE<=45">
The next session is
<goto next = "#session2" />
</if>
<if cond = "(speech_1.HOUR==9 && speech_1.MINUTE>45) ||
(speech_1.HOUR==10 && speech_1.MINUTE<45)">
The current session is
<assign expr = "1" name = "nextState" />
<goto next = "#session2" />
</if>
<if cond = "speech_1.HOUR==10 &&
speech_1.MINUTE>=45">
The next session is
<goto next = "#session3" />
</if>
<if cond = "(speech_1.HOUR==11 && speech_1.MINUTE>=0) ||
(speech_1.HOUR==11 && speech_1.MINUTE<=59)">
The current session is
<assign expr = "1" name = "nextState" />
<goto next = "#session3" />
</if>
</if>
<!-- in the afternoon -->
<if cond = "speech_1.AMPM=='p'">
<if cond = "(speech_1.HOUR==1 && speech_1.MINUTE<=15) ||
speech_1.HOUR==12">
The next session is
<goto next = "#session4" />
</if>
<if cond = "(speech_1.HOUR==1 && speech_1.MINUTE>15) ||
(speech_1.HOUR==2 && speech_1.MINUTE<15)">
The current session is
<assign expr = "1" name = "nextState" />
<goto next = "#session4" />
</if>
<if cond = "speech_1.HOUR==2 &&
speech_1.MINUTE<=30">
The next session is
<goto next = "#session5" />
</if>
<if cond = "(speech_1.HOUR==2 && speech_1.MINUTE>30) ||
(speech_1.HOUR==3 && speech_1.MINUTE<30)">
The current session is
<assign expr = "1" name = "nextState" />
<goto next = "#session5" />
</if>
<if cond = "speech_1.HOUR==3 &&
speech_1.MINUTE<=45">
The next session is
<goto next = "#session6" />
</if>
<if cond = "(speech_1.HOUR==3 && speech_1.MINUTE>45) ||
(speech_1.HOUR==4 && speech_1.MINUTE<45)">
The current and last session is
<goto next = "#session5" />
</if>
<if cond = "(speech_1.HOUR==4 && speech_1.MINUTE>45) ||
(speech_1.HOUR!=12 && speech_1.HOUR>=5)">
There are no more sessions at this time
</if>
</if>
</filled>
</subdialog>
</form>
<form id = "session1">
<block>
takes place from 8:30am to
9:30am. The topic for this session is Scaling To New Heights: The Role of
the Softswitch in Today's Network. Emerging softswitch offerings are
taking center stage in the next-gen network due to the promises of
overcoming many of the limitations of traditional carrier-based central
office gear. Come discover the softswitch advantages of employing
industry-standard server hardware and open APIs, and providing service
providers the flexibility to rapidly deploy new services in response to
subscriber demand. Learn how the distributed architecture of the
softswitch model allows service providers to select best-of-breed
products, facilitates multivendor integration, and opens up the
development of new services and innovation all at a substantially lower
cost and reduced footprint.
<if cond = "nextState==1">
<assign expr = "0" name = "nextState" />
the next session after this
<goto next = "#session2" />
<else />
<goto next = "#gettime" />
</if>
</block>
</form>
<form id = "session2">
<block>
takes place from 9:45am to
10:45am. The topic for this session is Service Provider Case Study I. Come
to hear true tales of deployment from an intrepid Internet Service
Provider who has bitten the bullet to implement next-generation packet and
services. Learn and benefit from their experiences. You'll gain insights
into the problems they encountered, the mistakes they made and the lessons
they learned and in the process avoid costly backtracking, false starts,
and delays in your own network strategy. This is truly a can't-miss
session for the service provider looking to chart a clear course to the
network of the future.
<if cond = "nextState==1">
<assign expr = "0" name = "nextState" />
the next session after this
<goto next = "#session3" />
<else />
<goto next = "#gettime" />
</if>
</block>
</form>
<form id = "session3">
<block>
takes place from 11:00am to
12 p m. The topic for this session is Broadband Build-Out: Deploying
Next-Generation Broadband Infrastructure. The emergence of myriad new
services, new pricing schemes, and untold new users means that the
designers of next-generation networks have their jobs cut out for them.
And not only will these next-gen switches and routers need to handle
increased traffic flow, the packets they handle will represent an ever
more diverse flow of information voice, data, video, and more that demands
guaranteed levels of service. Network operators are in the midst of a
massive build-out of network infrastructure. But beyond simply adding more
fat pipes, what is it going to take to achieve broadband nirvana? Come to
this session and learn about the challenges and opportunities a broadband
makeover represents.
<if cond = "nextState==1">
<assign expr = "0" name = "nextState" />
the next session after this
<goto next = "#session4" />
<else />
<goto next = "#gettime" />
</if>
</block>
</form>
<form id = "session4">
<block>
takes place from 1:15 p m
to 2 15 p m. The to pic for this session is Opportunities In The Metro.
The pot vendors building equipment for the metro market is huge. In fact
it's one of the few areas of the telecom economy that is forecasting
significant growth. This session will explore what all the noise is about,
separating the facts from the hype. This session will explore a vast array
of issues facing the metropolitan network market. We'll investigate
technologies such as SONET and Gigabit Ethernet; regulatory issue facing
metro carriers; and the coming shakeout as the theory of natural selection
plays out among the many vendors vying for leadership positions in this
nascent market.
<if cond = "nextState==1">
<assign expr = "0" name = "nextState" />
the next session after this
<goto next = "#session5" />
<else />
<goto next = "#gettime" />
</if>
</block>
</form>
<form id = "session5">
<block>
takes place from 2 30 p m
to 3 30 p m. The topic for this session is Migrating From Circuit To
Packet: What You Need to Know. End-to-end packet-based telephony, while
inevitable, won't happen overnight. Aside from depreciating the
investments in legacy circuit switching, it will take some time to work
out the kinks of the next-generation network as it evolves. Already
vendors and standards bodies are working to ensure interoperability
between new and traditional network elements. When you realize the breadth
of devices and protocols that must interoperate, it becomes evident that
multiple standards will evolve to handle the myriad challenges posed by
these disparate network elements. Gatekeepers, gateways, softswitches,
application servers, intelligent peripherals, SCPs, directory
repositories, PSTN, remote access servers, and more must all work together
seamlessly. Learn about the standards that are being designed to enable
tighter integration among these disparate elements, and to do so as
efficiently as possible.
<if cond = "nextState==1">
<assign expr = "0" name = "nextState" />
the next session after this
<goto next = "#session6" />
<else />
<goto next = "#gettime" />
</if>
</block>
</form>
<form id = "session6">
<block>
takes place from 3 45 p m
to 4 45 p m. The topic for this session is Next-Generation Switching On
The Edge. A vast array of recent developments such as faster network
access, increased use of the Internet, greater proliferation of technology
driving greater network usage, etc have placed a tremendous burden on the
switching infrastructure deployed at the network's edge. In order to keep
pace with the rapid changes and increases in network usage, it becomes
necessary to consider alternatives to the existing class of equipment that
serves as the point of entry into the carrier's network. Come explore the
state of next-generation switching technology, focusing on the needs and
requirements of existing infrastructure as well as efficient and scalable
provisioning of emerging services. There are no more sessions after this.
<goto next = "#gettime"
/>
</block>
</form>
|