Est. 2000 Intermediate

VXML

VoiceXML — the W3C's declarative dialog markup language, released in 2000, that let developers build telephone voice applications like web pages and became the industry standard behind countless IVR and call-center systems

Created by VoiceXML Forum (AT&T, IBM, Lucent, Motorola); standardized by the W3C Voice Browser Working Group

Paradigm Declarative XML dialog markup with embedded ECMAScript for client-side logic
Typing Untyped markup; dialog variables are dynamically typed ECMAScript values
First Appeared 2000
Latest Version VoiceXML 2.1 (W3C Recommendation, June 2007)

VXML (VoiceXML, the Voice Extensible Markup Language) is a declarative, XML-based language for building voice dialogs between a human on a telephone and a computer. Where HTML describes visual pages rendered by a web browser, VoiceXML describes audio dialogs — synthesized speech, recorded prompts, speech and touch-tone (DTMF) input, and dialog flow — rendered by a voice browser attached to the phone network. Released as version 1.0 in March 2000 by the VoiceXML Forum and standardized by the W3C as VoiceXML 2.0 in 2004, it became the dominant industry standard for interactive voice response (IVR): for two decades, when you called an airline, a bank, or a directory-assistance line and a machine asked “Please say or enter your account number,” there was a very good chance a VoiceXML document was running the conversation.

History & Origins

The web, by phone

In the late 1990s, telephone-based automated services were built on proprietary, vendor-specific IVR toolkits — expensive, closed, and tied to specialized telephony hardware. At the same time, the web had demonstrated the power of a different architecture: simple declarative documents, fetched over HTTP from ordinary web servers, rendered by a standard client. Several companies independently tried to apply that model to the phone. AT&T and Lucent had variants of a Phone Markup Language (PML), IBM had SpeechML, and Motorola released VoxML in 1998 — all XML languages for describing voice interactions, all incompatible.

In March 1999, AT&T, IBM, Lucent, and Motorola set aside their competing efforts and founded the VoiceXML Forum to produce a single standard. A small team of Forum technologists combined the best features of the predecessor languages — adding stronger DTMF support and mixed-initiative dialogs along the way — and published a 0.9 draft in August 1999. VoiceXML 1.0 followed in March 2000, and adoption was remarkably fast: within a short time, reportedly well over a dozen independent implementations existed. The Forum submitted the language to the World Wide Web Consortium that spring, and the W3C’s Voice Browser Working Group took over its evolution.

Standardization

The many VoiceXML 1.0 implementations diverged in the corners the specification left vague, so the W3C’s main task for 2.0 was rigor. The first public Working Draft of VoiceXML 2.0 appeared in October 2001, and on March 16, 2004 VoiceXML 2.0 became a W3C Recommendation — published the same day as the Speech Recognition Grammar Specification (SRGS) 1.0, the companion standard that defines what a caller may say. VoiceXML 2.1, a backward-compatible Recommendation of June 19, 2007, added a small set of features (such as fetching data with the <data> element and dynamic grammar references) that implementers had already converged on in practice.

Work on a modular VoiceXML 3.0 began afterward, with a first public Working Draft on December 19, 2008, but the redesign never reached Recommendation status. The W3C closed the Voice Browser Working Group on October 12, 2015, declaring its mission accomplished — leaving VoiceXML 2.1 as the final word on the standard.

Design Philosophy

VoiceXML’s core idea is that a phone call is a web session. The architecture mirrors the web exactly:

  • A voice browser (the VoiceXML interpreter, connected to the telephone network) plays the role of the web browser.
  • VoiceXML documents play the role of HTML pages, fetched over ordinary HTTP from ordinary web servers — which may generate them dynamically with any server-side technology.
  • The caller’s spoken or keyed input plays the role of form submission: field values are collected and submitted back to the server, which responds with the next document.

This meant enterprises could build phone applications with their existing web infrastructure, developers, and tools, instead of proprietary IVR systems — the same shift HTML had brought to information services a decade earlier.

The second key idea is that dialog is declarative. A VoiceXML document describes what to collect, not how to run the conversation. The interpreter’s built-in Form Interpretation Algorithm (FIA) repeatedly selects the next unfilled field in a form, plays its prompt, listens for input against the field’s grammar, and fills the field — automatically handling re-prompting, no-input and no-match events, barge-in (the caller interrupting a prompt), and help requests. For logic the markup cannot express, VoiceXML embeds ECMAScript: every field is a scripting variable, and <script>, conditionals, and expressions handle computation between dialog turns.

Key Features

A minimal but complete VoiceXML 2.x dialog looks like this:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<?xml version="1.0" encoding="UTF-8"?>
<vxml xmlns="http://www.w3.org/2001/vxml" version="2.1">
  <form id="order">
    <field name="drink">
      <prompt>Would you like coffee, tea, or juice?</prompt>
      <grammar src="drink.grxml" type="application/srgs+xml"/>
      <noinput>Sorry, I didn't hear you. <reprompt/></noinput>
      <nomatch>I didn't catch that. <reprompt/></nomatch>
    </field>
    <block>
      <prompt>You said <value expr="drink"/>.</prompt>
      <submit next="order.php" namelist="drink"/>
    </block>
  </form>
</vxml>

The language’s main capabilities include:

  • Forms and fields — the central dialog construct, driven by the Form Interpretation Algorithm, with <filled> handlers that run when input arrives
  • Menus — a shorthand dialog for “press or say one of these choices”
  • Speech and DTMF input — grammars (in SRGS XML or ABNF form) define what a caller can say or key; both modes can be active at once
  • Audio output — recorded audio files and text-to-speech, with synthesis controllable through the companion SSML markup
  • Event handling — declarative catch handlers for noinput, nomatch, help, error, and application-defined events, with escalating behavior on repeated failures
  • Call control<transfer> to hand the caller to a human agent, <disconnect> to hang up, and <record> to capture caller audio
  • Modularity<subdialog> calls reusable dialog components like functions; application root documents share variables and grammars across pages
  • Embedded ECMAScript — expressions, <script> blocks, and scoped variables for computation and dynamic prompts

VoiceXML deliberately does not do everything by itself. It sits at the center of the W3C Speech Interface Framework, a family of companion standards:

StandardRole
SRGSGrammars — what the caller may say or key
SISRSemantic interpretation — turning recognized words into data values
SSMLSpeech synthesis markup — controlling voice, prosody, and pronunciation of prompts
PLSPronunciation lexicons shared between recognition and synthesis
CCXMLCall control — conferencing, outbound dialing, and telephony event handling around the dialog

Evolution

VersionDateMilestone
0.9August 1999Initial VoiceXML Forum draft unifying PML, SpeechML, and VoxML
1.0March 2000First release; submitted to the W3C that spring
2.0March 16, 2004W3C Recommendation; the definitive version, with SRGS grammars
2.1June 19, 2007Backward-compatible W3C Recommendation adding eight widely implemented extensions
3.0Working Drafts from December 2008Modular redesign; never completed

The language’s commercial trajectory peaked alongside its standardization. Hosted platforms such as Tellme Networks and Voxeo offered VoiceXML application hosting the way web hosts offered HTML hosting; Tellme’s network was processing more than 2 billion calls a year by 2006, running services from AT&T and Verizon directory assistance to airline and brokerage customer-service lines, and Microsoft acquired the company in 2007 for a reported figure of around $800 million. Contact-center vendors — Cisco, Avaya, Genesys, and others — built VoiceXML interpreters into their IVR product lines, where the language became the standard application format.

Current Relevance

VoiceXML today is mature, stable infrastructure rather than an evolving language. The standard has been frozen at 2.1 since 2007, and the W3C wound down its voice-browser work in 2015. Meanwhile, the conversational frontier has moved toward cloud speech APIs, neural speech recognition and synthesis, and LLM-driven voice bots that do not use declarative dialog markup at all.

But the installed base is enormous and durable. Large enterprises, telecoms, and government agencies still operate substantial VoiceXML-based IVR estates, and mainstream contact-center platforms continue to ship and support VoiceXML interpreters precisely because so many production call flows depend on them. The VoiceXML Forum remains active as an industry body, and open-source interpreters such as JVoiceXML keep the standard accessible outside commercial stacks. Like COBOL in banking, VoiceXML occupies the unglamorous position of a technology that stopped making headlines long before it stopped answering phones — much of the modernization work in today’s contact centers consists of migrating from, or wrapping around, VoiceXML applications, which itself is testimony to how widely the language was deployed.

Why It Matters

VoiceXML proved that the web’s architecture — declarative documents over HTTP, rendered by a standard client — generalizes beyond the screen. It took a fragmented, proprietary industry and gave it what HTML gave publishing: a vendor-neutral standard that let applications outlive the platforms that ran them, and let ordinary web developers build for a medium that had previously required specialist telephony toolkits. Its dialog abstractions — fields with grammars, escalating no-match handling, barge-in, mixed-initiative forms — codified a generation of hard-won voice-interface design knowledge into a machine-readable format, and its companion standards (SRGS, SSML) remain in use in speech systems far beyond VoiceXML itself. And within the W3C, the voice-browser effort seeded further standards work, including CCXML for call control and the statechart language SCXML. For anyone excavating how machines first learned to hold structured conversations with the public at scale, VoiceXML is the richest site there is: a language that, at its peak, arguably talked to more people every day than almost any other piece of software on earth.

Timeline

1998
Motorola releases VoxML, an XML-based markup language for voice applications — one of several competing proprietary voice markup efforts (alongside AT&T/Lucent's Phone Markup Language and IBM's SpeechML) that VoiceXML would later unify
1999
AT&T, IBM, Lucent, and Motorola found the VoiceXML Forum in March to develop a common standard markup language for voice dialogs; the Forum publishes the VoiceXML 0.9 draft in August 1999
2000
VoiceXML 1.0 is released by the VoiceXML Forum in March 2000 and submitted to the World Wide Web Consortium that spring; multiple independent implementations appear almost immediately
2001
The W3C Voice Browser Working Group publishes the first public Working Draft of VoiceXML 2.0 in October 2001, reconciling differences among the many VoiceXML 1.0 implementations
2004
VoiceXML 2.0 becomes a W3C Recommendation on March 16, 2004, the same day as its companion grammar standard SRGS 1.0 — cementing VoiceXML as the official web-standard language for voice dialogs
2007
Microsoft announces in March that it will acquire Tellme Networks, the largest VoiceXML platform host, for a reported figure of around $800 million; in June, VoiceXML 2.1 becomes a W3C Recommendation, adding a small set of widely implemented extensions while remaining backward compatible with 2.0
2008
The W3C publishes the first public Working Draft of VoiceXML 3.0 on December 19, 2008, proposing a modular redesign of the language
2015
The W3C closes the Voice Browser Working Group on October 12, 2015, declaring its mission achieved; VoiceXML 3.0 is never completed, leaving VoiceXML 2.1 as the final version of the standard

Notable Uses & Legacy

Tellme Networks / 1-800-555-TELL

Tellme Networks ran one of the best-known VoiceXML platforms, powering its 1-800-555-TELL consumer voice portal and carrier directory assistance; its network processed more than 2 billion calls in 2006, and Microsoft acquired the company in 2007.

Enterprise contact-center platforms

Major IVR and contact-center products — including Cisco's Customer Voice Portal with its IOS VoiceXML gateways, Avaya's voice portal products, and the Genesys Voice Platform — adopted VoiceXML as the application format for automated phone self-service.

Telephone banking, airlines, and directory assistance

Enterprises such as Merrill Lynch, E*TRADE, and American Airlines ran customer-service phone lines on hosted VoiceXML platforms, and AT&T and Verizon landline 411 directory assistance ran on Tellme's VoiceXML-based network.

Open-source voice browsers

JVoiceXML, an open-source Java VoiceXML interpreter, and OpenVXI, a portable open-source VoiceXML toolkit originally from SpeechWorks, let researchers and smaller vendors build standards-based voice applications without commercial platforms.

Language Influence

Influenced By

XML Phone Markup Language (PML) SpeechML VoxML

Influenced

CCXML SCXML

Running Today

Run examples using the official Docker image:

docker pull
Last updated: