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
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:
| |
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:
| Standard | Role |
|---|---|
| SRGS | Grammars — what the caller may say or key |
| SISR | Semantic interpretation — turning recognized words into data values |
| SSML | Speech synthesis markup — controlling voice, prosody, and pronunciation of prompts |
| PLS | Pronunciation lexicons shared between recognition and synthesis |
| CCXML | Call control — conferencing, outbound dialing, and telephony event handling around the dialog |
Evolution
| Version | Date | Milestone |
|---|---|---|
| 0.9 | August 1999 | Initial VoiceXML Forum draft unifying PML, SpeechML, and VoxML |
| 1.0 | March 2000 | First release; submitted to the W3C that spring |
| 2.0 | March 16, 2004 | W3C Recommendation; the definitive version, with SRGS grammars |
| 2.1 | June 19, 2007 | Backward-compatible W3C Recommendation adding eight widely implemented extensions |
| 3.0 | Working Drafts from December 2008 | Modular 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
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.