Creating
and Deploying VoiceXML Applications with the
voxBuilder Online Development Environment
(Continued from Part 1)
Different
projects have different VoiceXML, grammar, audio, and
script files associated with them, which may be edited
or uploaded. Projects may be local, that is with all
files hosted statically on voxBuilder, or remote, by
pointing at an external web server under control of
the developer. A combination of the two project types
is possible as well e.g. host dynamic VoiceXML remotely
to the platform but store static audio locally.
Phone Number Management
The voxBuilder environment supports the concept of phone
number management and assignment. Phone numbers of different
types (e.g. premium rate, national, international etc)
can be quickly procured by Voxpilot for any European
market and attached to a voxBuilder account. The phone
number may then be attached to a specific project at
the discretion of the developer/administrator so that
direct execution of the application is possible.

Figure 3: Phone number management
Call
Scheduling
Call scheduling is the ability to accept a request (over
the Internet) to place an outbound call at a specific
time, to a specific number, executing a specified voxBuilder
project. The voxBuilder environment exports this functionality
as an XML-over-HTTP service that enables scheduling,
and querying status of calls. For example, to schedule
a call one might submit the following XML (e.g. to run
the HelloWorld application illustrated in Figure 3).
<?xml version="1.0" encoding="UTF-8"?>
<cssession>
<!-- Log in first (servicenumber indicates project
to run) -->
<csauthorization username="joebloggs"
password="2222"
servicenumber="0049123456789"/>
<!-- Create Call -->
<create>
<timestamp start="2003-02-14 12:00"/>
<phone number="tel:+44123456789"/>
</create>
</cssession>
|
Log
Access
The
voxBuilder ODE allows the developer to search for VoiceXML
and ASR logs over a time period for a specific project
as illustrated in Figure 4.

Figure 4: Searching for VoiceXML and ASR logs
Log
files may be viewed or downloaded individually or in
bulk ZIP archives. VoiceXML log files may be viewed
in real-time also for fast debugging. The ODE uses a
novel streaming mechanism for high performance access
to log information even over slower Internet connections.
Figure 5 illustrates a typical VoiceXML log.

Figure 5: VoiceXML log in real-time mode
VoiceXML
and Grammar Validation
The voxBuilder ODE allows the developer to validate
a VoiceXML file against the XML DTD or schema. This
allows early trapping of simple syntactic errors as
illustrated in Figure 6.

Figure 6: A VoiceXML validation report (form is spelled incorrectly with an extra 's')
It is also possible to validate grammar files (Nuance GSL) for
syntactic correctness and also test for vocabulary coverage either by
supplying a specific phrase or by generating all possible phrase
combinations. Figure 7 illustrates an example of the possible phrases
accepted by a grammar.

Figure 7: Phrase generation for a grammar
"Behind the Scenes"
The voxBuilder ODE executes on a J2EE cluster, which
facilitates robustness and scalability. While the environment
could have been implemented using other technologies,
Java is somewhat complimentary to VoiceXML, - being
an object-oriented language (XML itself may be regarded
as object-oriented) with strong XML processing support.
Of course, not all components of a VoiceXML VSP are
suited to implementation in Java e.g. the core components
such as the VoiceXML interpreter and SSML processor
are implemented natively for performance and scalability.
Since all VoiceXML applications are routed through the voxBuilder
environment, it is a natural place to put management functionality.
The voxBuilder system actually doubles as an administration system for
Voxpilot personnel and allows complete control of all VoiceXML
applications running on the VSP. For example, phone numbers can be
configured and mapped to accounts, user privileges can be controlled
(e.g. the ability to place outbound calls), statistical usage
information is gathered, and contact information and mail alerting is
supported.
Conclusion
The voxBuilder environment is a powerful tool for developing,
deploying, and maintaining VoiceXML applications. It
continues to evolve and improve based on feedback from
the ever-growing VoiceXML community of developers wishing
to deploy cutting edge applications without the upfront
costs of hosting telephony and speech services. Many
new features are planned for the ODE in the near future
including runtime debugging, speech recognition tuning
tools, statistical information generation, multimodal
functionality, and VoIP access. Finally, the interested
reader can sign up for a free trial of voxBuilder at
http://ode.voxpilot.com and get developing VoiceXML
straight away!

back
to the top

Copyright
© 2001-2003 VoiceXML Forum. All rights reserved.
The VoiceXML Forum is a program of the
IEEE
Industry Standards and Technology Organization
(IEEE-ISTO).
|