この節では高レベルなアーキテクチャモデルについて述べ、次にそこで用いられている用語によって、VoiceXMLの目指すもの、その扱う範囲、設計原理、そしてVoiceXMLをサポートするシステムに対する要求を述べる。
この文書において仮定しているアーキテクチャモデルは以下の要素からなる。
ドキュメントサーバ(例えばWebサーバ)はVoiceXML処理コンテキストを経て渡されたクライアントアプリケーション(VoiceXML処理系)からの要求を処理し、VoiceXMLドキュメントを返す。返されたVoiceXMLドキュメントは、VoiceXML処理系によって処理される。VoiceXML処理コンテキストはVoiceXML処理系と平行してユーザ入力をモニタする。例えば、あるVoiceXML処理コンテキストは、ユーザに高レベルの個人化したアシスト作業を提供するための特別なエスケープフレーズをモニタしている、また別のVoiceXML処理コンテキストは音量や合成音声の種類などのユーザの好みに関するエスケープフレーズをモニタしている。
実装プラットフォームはVoiceXML処理コンテキストとVoiceXML処理系によって制御される。例えば、音声応答アプリケーションでは、VoiceXML処理コンテキストは発呼を検出し、最初のVoiceXMLドキュメントをロードし、応答を行う。一方、VoiceXML処理系は応答後の対話を制御する。実装プラットフォームはユーザによる行為(例:音声や文字の入力、切断)やシステムイベント(例:時間切れ)に応じて、イベントを生成する。これらのうちいくつかはVoiceXMLドキュメントの指定に従って処理系自身により処理され、その他は処理コンテキストで処理される。
VoiceXMLの主な目標は、音声応答アプリケーションのためのWebの開発と、それによる情報提供を盛んにすることであり、アプリケーション製作者を低レベルなプログラミングやリソース管理から解放することである。VoiceXMLによって、親しんだクライアント-サーバパラダイムを用いて、音声サービスとデータサービスが統合できる。音声サービスはユーザと実装プラットフォームとの対話の系列であるとみなすことができる。対話は、実装プラットフォームの外部にあるドキュメントサーバにより供給される。ドキュメントサーバはサービスロジック全体を管理し、データベースなど既存のシステムオペレーションを実行し、対話を生成する。
VoiceXMLドキュメントは、VoiceXML処理系によって行われ相互作用対話を特定する。ユーザ入力は対話の処理に影響を与え、ドキュメントサーバへ返す要求として集められる。ドキュメントサーバは、他の対話によってユーザのセッションを継続するために、新たなVoiceXMLドキュメントを応答して返す。
VoiceXMLは以下のようなマークアップ言語である。
VoiceXMLでは主として音声返答サービスの要求に対応するように進められているが、詳細なレベルの制御を実現しているアプリケーションからの切迫した要求は優先的に取り上げられる。
VoiceXMLは以下の要求を含む音声応答システムにおける人間と機械の相互関係を記述したものである。
VoiceXMLは文字および/または音声による入力を収集し、ドキュメントで定義された変数に入力を割り当て、VoiceXMLで書かれたドキュメントの処理に影響する判定を行う手段を提供する。ドキュメントはURI(Universal Resource Identifier)によって他のドキュメントにリンクされることもある。
VoiceXMLはXMLスキーマである。XMLについての詳細はAnnotated XML Reference Manualを参照のこと。
この節では、VoiceXML処理系をサポートするハードウェア/ソフトウェアプラットフォームへの要求について述べる。
ドキュメント獲得
処理コンテキストは、VoiceXML処理系の実行のため、ドキュメントを要求する。ドキュメント要求はVoiceXMLドキュメントの処理により生成されることもあるし、VoiceXMLの範囲外のイベント(例:着信)に応じて処理コンテキストにより生成されることもある。
音声出力
実装プラットフォームはオーディオファイルやtext-to-speech(TTS)を用いて音声出力が可能である。両方がサポートされている場合、プラットフォームはTTSと音声出力を任意の順序で出力できる必要がある。オーディオファイルは、URIにより参照される、VoiceXMLはオーディオファイルのフォーマットを特に定めない。
音声入力
実装プラットフォームは、文字かつ/または音声による入力を即時に検出し報告する必要があり、VoiceXMLドキュメントにより設定されたタイマーによって入力待ち時間をコントロールできなければならない。