By Dr. James A. Larson
VoiceXML has revolutionized the development of telephony applications, in that telephone users can call Web sites and converse with VoiceXML applications. The system uses a TTS synthesizer or prerecorded voice and users can respond by speaking answers to the questions. Currently VoiceXML is weak in telephony controls. About all you can do in VoiceXML is
Be notified of interesting events. Users want to be notified about events and conditions that directly affect their lives: a stock broker’s Web page calls the user when the user’s favorite stock drops five points, a department store web page calls to inform the customer that a long-awaited order is available, and the airline’s Web page calls to inform the customer of a delay in a flight’s departure time. Users also want to be notified of things that are going to happen: the weather service’s Web page calls users when the weather forecasts twelve inches of snow within the next six hours, a school’s Web page calls parents to inform them that schools will be closed in the morning, and the water utility company calls subscribers to inform them when water service will be disrupted. If a Web page has timely information of importance to the user, it should call the user. A whole new class of “alert” applications will be enabled.
Conference with colleagues. Colleagues in different parts of the world agree to “meet” at a specific Web site to review a document posted at that site. The Web site can conference-in additional workers when their advice is needed. Workers can leave when their part of the conference is finished. One colleague can “whisper” to another without being heard by all conference attendees. The Web site can even controls who speaks during the conference, turning off the individual who monopolizes the meeting by talking constantly.
Find me. When a specific person does not answer the call, the caller can request to “find him”. If the Web page knows where the person being called is currently located, it will call that location. Otherwise, it dials alternate phone numbers where the person being called frequently hangs out and asks, “John Smith is calling. Do you want to take the call?”
Instant voice messaging. “Notify me when John Smith calls into his voicemail.” Or “Voicemail from John Smith. He’s checking his messages right now, would you like me to connect you?”
Voice control your home appliances. When home appliances become connected to the Internet, users will be able to speak voice commands into a telephone to control their home appliances. After you are thirty minutes into your family vacation and you wife wonders if she left the oven on, just call your oven and tell it to turn itself off.
Few of these things can be done with VoiceXML. However, this will change when new call control capabilities enable a Web site to place outbound calls, initiate a dialog session while the caller is on hold, enable a caller to connect to one or more parties, and create and manage a conference. There is a smorgasbord of call control languages, some of which could help bridge this gap.
The W3C Voice Browser Working Group has published the first working draft of CCXML, http://www.w3.org/TR/2002/WD-ccxml-20020221/ , an XML-based markup language designed to work together with VoiceXML to fill the gaps in VoiceXML’s current call control capabilities. Basically, CCXML encodes transitions among the various call states.
ECMA—European Association for Standardizing Information and Communication Systems (http://www.ecma.ch/) has carefully defined call management functions and XML protocols for ECMA standard Computer Supported Telecommunications Applications (CSTA).
The SALT Forum (http://www.saltforum.org/) describes a SALT call control object that provides a programming interface for use from HTML and other host languages that incorporate SALT Speech tags. Conceptually, the SALT call control object is similar to CCXML; Jim Trethewey from the Intel Labs in Oregon heavily influenced both specifications. The SALT call control object provides an object-oriented interface rather than the declarative form provided by CCXML. The call control object uses many of the CSTA formats and protocols. The SALT call control object could be used to write portable applications on top of whatever standard is underneath.
The combination of SALT and the call control object will enable the development of new Web applications to talk with one or more telephone users. This opens up many opportunities because there are over ten times as many telephones as connected PCs in the world. Using today’s telephones and cell phones, the Web will be only a telephone call away.
Dr. James A. Larson is an adjunct professor at Portland State University and Oregon Health Sciences University. Jim can be reached at firstname.lastname@example.org. His Web site is http://www.larson-tech.com