The W3C Voice Browser Working Group has published the first working draft of the VoiceXML 3.0 specification. VoiceXML is used to describe those annoying call trees you hear when calling most major companies. (Press 1 if you want to wait on hold for 20 minutes and then be hung up on; press 2 if you want to wait indefinitely; press 3 if you'd rather we just hung up on you now.)
How does one build a successor to VoiceXML 2.0/2.1? Requests for improvements to VoiceXML fell into two main categories: extensibility and new functionality.
To accommodate both, the Voice Browser Working Group first developed the detailed semantic descriptions of VoiceXML that versions 2.0 and 2.1 lacked. From there it was possible to describe semantics for new functionality and to restructure the language syntactically to improve extensibility.
One of the other benefits of detailed semantic descriptions is improving portability within VoiceXML. However there are many factors that contribute to portability that are outside the scope of this document (e.g. speech recognition capabilities, telephony).