Vxml general architecture

There are three major components in general vxml architecture: a web server, the VoiceXML interpreter context, and the implementation platform. 

The web server can be any web server on the Internet. The web server processes requests from the VoiceXML Interpreter, through the VoiceXML interpreter context and produces VoiceXML documents in reply, which are processed by the VoiceXML interpreter. The web server can either send back static vxml pages or any server side scripting language such as Perl, ASP, JSP, and PHP can be used to create VoiceXML. 

The interpreter context contains the VoiceXML interpreter, which is responsible for interpreting VoiceXML code. The interpreter context provides all supported functions that are necessary for the interpreter and may also monitor user inputs like special escape phrases for different functionality in parallel with the VoiceXML interpreter.

The VoiceXML interpreter and the VoiceXML interpreter context work with an implementation platform that has other infrastructure components such as a telephony switch, voice recognition software, and a speech synthesis engine (TTS). This implementation platform is responsible for connecting to the Public Switched Telephone Network (PSTN), performing voice recognition, playing audio files, and other supporting functions. 

The implementation platform provides voice recognition capabilities and the details regarding voice recognition are hidden from VoiceXML. VoiceXML is independent of the implementation platform on which an application might be developed or deployed.

 
 

Implementation Platform Requirements

  • The hardware/software platforms that will support a VoiceXML interpreter should have the below minimum requirements:
  • Document acquisition. The interpreter context is expected to acquire documents for the VoiceXML interpreter to act on. The "http" URI scheme must be supported. The document request might be generated by the interpretation of a VoiceXML document, or in response to events outside the scope of the language, for example an incoming phone call.
  • Audio output. An implementation platform must support audio output using audio files and text-to-speech (TTS). If an audio output resource is not available, an error.noresource event must be thrown. Audio files are referred to by a URI. The language specifies a required set of audio file formats which must be supported; additional audio file formats may also be supported.
  • Audio input. An implementation platform is required to detect and report character and/or spoken input simultaneously and to control input detection interval duration with a timer whose length is specified by a VoiceXML document. If an audio input resource is not available, an error.noresource event must be thrown.
    • To report characters (for example, DTMF) entered by a user, platforms must support the XML form of DTMF grammars and also the Augmented BNF (ABNF) form of DTMF grammars as described in the W3C Speech Recognition Grammar Specification [SRGS].
    • It must be able to receive speech recognition grammar data dynamically. It must be able to use speech grammar data in the XML Form and also the ABNF form of the W3C Speech Recognition Grammar Specification [SRGS], and may support other formats such as the JSpeech Grammar Format [JSGF] or proprietary formats. The speech recognizer must be able to accommodate dynamic update of the spoken input for which it is listening.
    • The implementation platform must be able to record audio received from the user to a request variable. The language specifies a required set of recorded audio file formats which must be supported; additional formats may also be supported.
  • Transfer The platform should be able to support making a third party connection through a communications network, such as the telephone
  •  
Tags: 

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)