Voice applications are developed similarly to other Sun Java System Portal Server 7.1 applications. The best approach for developing voice applications is to develop them in VoiceXML and then to integrate them with Portal Server 7.1 software by developing a custom provider. The Notes and Personal Notes voice applications both use this approach.
This section discusses the following topics:
The pre-requisites for integrating new voice applications with Portal Server Mobile Access 7.1 Developer's Guide software are:
Voice components of Mobile Access software are certified against the Nuance Voice Platform, which includes a VoiceXML 2.0-compliant voice browser. Because of differences between VoiceXML interpreters, the voice components might need to be ported to run on other platforms (see to Porting the Voice Environment and Applications for further information). Portal Server 7.1 software and voice applications should use the same VoiceXML browser.
Mobile Access software supports VoiceXML applications only. If you have a legacy voice application that was not built using VoiceXML, you must provide a VoiceXML wrapper for that legacy voice application. This wrapper will integrate with Portal Server 7.1 software and manage the voice session with the non-VoiceXML application.
If you are not familiar with building voice applications using VoiceXML, consult a book on VoiceXML programming. The W3C VoiceXML 2.0 specification is the definitive reference on the programmatic elements of the language.
Mail Provider channel must be configured for voice-based access using Nuance Voice Platform and compatible phones. If Mail Provider channel is not configured, voice access to voice mails will not be available even if the user configures other mail channels like JSP comms channels.
The best way to start building voice applications is to examine the Notes application included with Portal Server 7.1 software. The Notes application consists of a provider (NotesProvider) that uses template files for each type of access device (web browser, wireless device, and voice browser). The voice application template files for the NotesProvider are stored in the following directory:
/var/opt/SUNWportal/desktop/default/NotesProvider/vxml/Nuance
These files contain VoiceXML code in addition to template tags. The tags provide dynamic content when the dialogs are accessed. For example, the content.template file uses [tag:count] to retrieve the number of notes and [tag:note] tag to speak the notes using text-to-speech:
<prompt bargein="true"> [tag:note]</prompt>
The prompts for this voice application are Microsoft Windows audio (.wav) files, stored in the following directory:
/opt/SUNWwbsvr/docs/voice/en_US/prompts/gary
This path is constructed at runtime by concatenating the root directory (/voice), the locale identifier (en_US), a prompts sub-directory (prompts) and a persona (gary). The resulting path /voice/en_US/prompts/gary is relative to the web container directory /opt/SUNWwbsvr/docs.
Finally, each voice application must provide a grammar that allows the application to be selected from the voice desktop channel chooser. The grammar for the Notes application (notes.grammar) is located in the following directory:
/opt/SUNWportal/web-src/jsp/default/Notes/vxml/Nuance/grammars
This directory contains the following Nuance GSL grammar expression:
Notes [ (notes ?channel) ]
This allows users to select the channel by speaking the phrase notes or notes channel.