(57)【要約】【課題】  アプリケーション提供装置の構築や保守等において、コストを低減する。【解決手段】  本発明は、通信装置と、アプリケーション提供装置と、アプリケーション提供装置と通信装置の間の信号処理装置とを備えるネットワークシステムに関する。そして、アプリケーション提供装置は、シナリオ処理部と、アプリケーション処理部とを備え、シナリオ処理部は、保持したシナリオの処理要素の構造を抽出して実行し、処理要素が通信装置に対する処理要素である場合には、その制御パラメータをアプリケーション処理部に引渡し、実行結果の応答があると、その実行結果を利用して以後の処理要素を再開し、アプリケーション処理部は、シナリオ処理部から与えられる制御パラメータを信号処理装置に対する制御信号に変換して送信し、信号処理装置からの実行結果に係る応答信号を変換してシナリオ処理部に与える手段を有することを特徴とする。【選択図】      図１
2010199854.tif 000002
【特許請求の範囲】
【請求項１】
通信装置と、上記通信装置にアプリケーションを提供するためのアプリケーション提供装置と、上記アプリケーション提供装置の制御に従って上記通信装置と信号を授受する処理を行う信号処理装置とを備えるネットワークシステムを構成する上記アプリケーション提供装置であって、
上記通信装置に提供するアプリケーションのシナリオに係る処理を行うシナリオ処理部と、
上記シナリオ処理部によるシナリオの処理結果を利用し、上記信号処理装置を介して、上記通信装置にアプリケーションを提供するアプリケーション処理部とを備え、
上記シナリオ処理部は、
処理対象のシナリオに係る対象シナリオデータを保持するシナリオ保持手段と、
上記対象シナリオデータを分析して、上記対象シナリオデータを構成する１又は複数の処理要素、及び処理要素間の構造を抽出する処理要素抽出手段と、
上記処理要素抽出手段が抽出した処理要素を、抽出した処理構造に従った順序で実行するものであって、処理要素が、上記通信装置に対する信号送信処理、又は信号取得処理を行うための通信装置処理要素である場合には、その通信装置処理要素に基づく通信装置制御パラメータを、上記アプリケーション処理部に引渡して処理要素の実行を中断し、その後、その通信装置制御パラメータに基づく処理の実行結果を有する内部応答信号が、上記アプリケーション処理部から与えられると、その実行結果を利用して、以後の処理要素の実行を再開する処理要素実行手段とを有し、
上記アプリケーション処理部は、
上記シナリオ処理部から通信装置制御パラメータが与えられると、その通信装置制御パラメータに基づいて、上記通信装置に対する信号送信処理又は信号取得処理に係る通信装置制御信号を生成して、上記信号処理装置に送信し、上記信号処理装置から、その通信装置制御信号に基づいた処理の処理結果を有する通信装置応答信号が与えられると、その通信装置応答信号に基づいて、内部応答信号を作成して、上記シナリオ処理部に与える制御信号処理手段を有する
ことを特徴とするアプリケーション提供装置。
【請求項２】
当該アプリケーション提供装置が上記通信装置に提供するアプリケーションは、ＩＶＲのアプリケーションであり、上記信号処理装置は、ＩＶＲのアプリケーションに係るメディアサーバであることを特徴とする請求項１に記載のアプリケーション提供装置。
【請求項３】
上記アプリケーション処理部と、上記通信装置の間を流れる通信装置制御信号及び通信装置応答信号は、ＳＩＰメッセージを用いた信号であることを特徴とする請求項１又は２に記載のアプリケーション提供装置。
【請求項４】
上記対象シナリオデータは、ＸＭＬを用いて記述され、上記対象シナリオデータを構成する処理要素はＸＭＬで記述されたエレメントであることを特徴とする請求項１〜３のいずれかに記載のアプリケーション提供装置。
【請求項５】
通信装置と、上記通信装置にアプリケーションを提供するためのアプリケーション提供装置と、上記アプリケーション提供装置の制御に従って上記通信装置と信号を授受する処理を行う信号処理装置とを備えるネットワークシステムを構成する上記アプリケーション提供装置に搭載されたコンピュータを、
上記通信装置に提供するアプリケーションのシナリオに係る処理を行うシナリオ処理部と、
上記シナリオ処理部によるシナリオの処理結果を利用し、上記信号処理装置を介して、上記通信装置にアプリケーションを提供するアプリケーション処理部として機能させ、
上記シナリオ処理部は、
処理対象のシナリオに係る対象シナリオデータを保持するシナリオ保持手段と、
上記対象シナリオデータを分析して、上記対象シナリオデータを構成する１又は複数の処理要素、及び処理要素間の構造を抽出する処理要素抽出手段と、
上記処理要素抽出手段が抽出した処理要素を、抽出した処理構造に従った順序で実行するものであって、処理要素が、上記通信装置に対する信号送信処理、又は信号取得処理を行うための通信装置処理要素である場合には、その通信装置処理要素に基づく通信装置制御パラメータを、上記アプリケーション処理部に引渡して処理要素の実行を中断し、その後、その通信装置制御パラメータに基づく処理の実行結果を有する内部応答信号が、上記アプリケーション処理部から与えられると、その実行結果を利用して、以後の処理要素の実行を再開する処理要素実行手段とを有し、
上記アプリケーション処理部は、
上記シナリオ処理部から通信装置制御パラメータが与えられると、その通信装置制御パラメータに基づいて、上記通信装置に対する信号送信処理又は信号取得処理に係る通信装置制御信号を生成して、上記信号処理装置に送信し、上記信号処理装置から、その通信装置制御信号に基づいた処理の処理結果を有する通信装置応答信号が与えられると、その通信装置応答信号に基づいて、内部応答信号を作成して、上記シナリオ処理部に与える制御信号処理手段を有する
ことを特徴とするアプリケーション提供プログラム。
【請求項６】
通信装置と、上記通信装置にアプリケーションを提供するためのアプリケーション提供装置と、上記アプリケーション提供装置の制御に従って上記通信装置と信号を授受する処理を行う信号処理装置とを備え、上記アプリケーション提供装置は、上記通信装置に提供するアプリケーションのシナリオに係る処理を行うシナリオ処理部と、上記シナリオ処理部によるシナリオの処理結果を利用し、上記信号処理装置を介して、上記通信装置にアプリケーションを提供するアプリケーション処理部とを有するネットワークシステムを構成する上記アプリケーション提供装置に適用するアプリケーション提供方法であって、
シナリオ保持手段、処理要素抽出手段、処理要素実行手段、制御信号処理手段を有し、
上記シナリオ保持手段は、上記シナリオ処理部により、処理対象のシナリオに係る対象シナリオデータを保持し、
上記処理要素抽出手段は、上記シナリオ処理部により、上記対象シナリオデータを分析して、上記対象シナリオデータを構成する１又は複数の処理要素、及び処理要素間の構造を抽出し、
上記処理要素実行手段は、上記シナリオ処理部により、上記処理要素抽出手段が抽出した処理要素を、抽出した処理構造に従った順序で実行するものであって、処理要素が、上記通信装置に対する信号送信処理、又は信号取得処理を行うための通信装置処理要素である場合には、その通信装置処理要素に基づく通信装置制御パラメータを、上記アプリケーション処理部に引渡して処理要素の実行を中断し、その後、その通信装置制御パラメータに基づく処理の実行結果を有する内部応答信号が、上記アプリケーション処理部から与えられると、その実行結果を利用して、以後の処理要素の実行を再開し、
上記制御信号処理手段は、上記アプリケーション処理部により、上記シナリオ処理部から通信装置制御パラメータが与えられると、その通信装置制御パラメータに基づいて、上記通信装置に対する信号送信処理又は信号取得処理に係る通信装置制御信号を生成して、上記信号処理装置に送信し、上記信号処理装置から、その通信装置制御信号に基づいた処理の処理結果を有する通信装置応答信号が与えられると、その通信装置応答信号に基づいて、内部応答信号を作成する
ことを特徴とするアプリケーション提供方法。
【請求項７】
通信装置と、上記通信装置にアプリケーションを提供するためのアプリケーション提供装置と、上記アプリケーション提供装置の制御に従って上記通信装置と信号を授受する処理を行う信号処理装置とを備えるネットワークシステムであって、
上記アプリケーション提供装置として請求項１に記載のアプリケーション提供装置を適用したこと
を特徴とするネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーション提供装置、プログラム及び方法、並びにネットワークシステムに関し、例えば、ＩＶＲ（Ｉｎｔｅｒａｃｔｉｖｅ  Ｖｏｉｃｅ  Ｒｅｓｐｏｎｓｅ）のアプリケーションを提供するシステムに適用することができる。
【背景技術】
【０００２】
従来、メディアサーバを使用したＩＶＲのアプリケーション提供装置では、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）にマークアップ言語であるＶＸＭＬ（Ｖｏｉｃｅ  ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）／ＣＣＸＭＬ（Ｃａｌｌ  Ｃｏｎｔｒｏｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）を設定し、ＶＸＭＬ／ＣＣＸＭＬを解析及び実行することが可能なエンジンを搭載したメディアサーバに認識させることにより実現している。又は、アプリケーション提供装置自体がＭＳＣＭＬを使用しあらかじめ想定したコールフローに基づいてメディアサーバの動作を制御することで実現している。
【０００３】
しかし、ＳＩＰとＩＶＲを同時に制御する従来のアプリケーション提供装置では、ＳＩＰの呼制御動作に連動しＩＶＲの動作を制御する必要性があるが、ＩＶＲをＶＸＭＬで実現する場合、ＶＸＭＬ自体は呼制御と同期していないためアプリケーション提供装置で関連付けさることは困難であった。また、対話型ＩＶＲまでは必要としないシステムも多数存在する。ＩＶＲをＣＣＸＭＬにより実現する場合、ＶＸＭＬには無かった呼制御を実施することが可能となったが、使用するメディアサーバによりＣＣＸＭＬに対応するための機能が備わっていない場合があった。
【０００４】
アプリケーション提供装置上でコールフローを実現する場合、提供サービスの試験実施時や提供サービス納品後に発生するコールフローの変更に対しコールフローがプログラムで組み込まれているため即時対応することが困難であり提供サービス作成者の負担も重くなるため、コールフローの変更対応の容易さとアプリケーション作成者の負担軽減及び提供サービス・メディアサーバを停止させることなく簡単に差し替えできる仕組みが必要となる。
【０００５】
これらの課題を解決するものとして特許文献１に記載されているような、プログラムがある。
【０００６】
特許文献１に記載されているプログラムでは、コンテンツサーバ（アプリケーション提供装置）が、ＶＸＭＬサーバを介して通信装置にサービス提供を行うもので、ＶＸＭＬサーバ上で、コンテンツサーバとＶＸＭＬサーバ間のセッションと、ＶＸＭＬサーバと通信装置間のセッションとを関連付けて管理している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００６−３０４１８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１の記載技術では、以下の問題がある。
【０００９】
第１の問題点は、ＶＸＭＬを解析するためのエンジンを搭載したメディアサーバ（ＶＸＭＬサーバ）が必要となるため構築コストが高くなる。
【００１０】
第２の問題点は、コールフローの変更が発生した場合、アプリケーション提供装置（コンテンツサーバ）及びＶＸＭＬサーバの両方に変更を加える必要があり、そのときシステム全体もしくはシステムの一部を停止する必要がある。
【００１１】
第３の問題点は、アプリケーション提供装置（コンテンツサーバ）のプログラム上でコールフローが組み込まれていた場合、プログラム設計からの見直し等が発生することがあり、その場合容易に対処することが困難である。
【００１２】
第４の問題点は、本来ＶＸＭＬとＳＩＰの呼制御との関連性が無いためＳＩＰのシグナルに対し、ＶＸＭＬの動作を即時に制御することが困難である。
【００１３】
そのため、アプリケーション提供装置の構築や保守等において、コストを低減することができるアプリケーション提供装置、プログラム及び方法、並びにネットワークシステムが望まれている。
【課題を解決するための手段】
【００１４】
第１の本発明のアプリケーション提供装置は、（１）通信装置と、上記通信装置にアプリケーションを提供するためのアプリケーション提供装置と、上記アプリケーション提供装置の制御に従って上記通信装置と信号を授受する処理を行う信号処理装置とを備えるネットワークシステムを構成する上記アプリケーション提供装置であって、（２）上記通信装置に提供するアプリケーションのシナリオに係る処理を行うシナリオ処理部と、（３）上記シナリオ処理部によるシナリオの処理結果を利用し、上記信号処理装置を介して、上記通信装置にアプリケーションを提供するアプリケーション処理部とを備え、（４）上記シナリオ処理部は、（４−１）処理対象のシナリオに係る対象シナリオデータを保持するシナリオ保持手段と、（４−２）上記対象シナリオデータを分析して、上記対象シナリオデータを構成する１又は複数の処理要素、及び処理要素間の構造を抽出する処理要素抽出手段と、（４−３）上記処理要素抽出手段が抽出した処理要素を、抽出した処理構造に従った順序で実行するものであって、処理要素が、上記通信装置に対する信号送信処理、又は信号取得処理を行うための通信装置処理要素である場合には、その通信装置処理要素に基づく通信装置制御パラメータを、上記アプリケーション処理部に引渡して処理要素の実行を中断し、その後、その通信装置制御パラメータに基づく処理の実行結果を有する内部応答信号が、上記アプリケーション処理部から与えられると、その実行結果を利用して、以後の処理要素の実行を再開する処理要素実行手段とを有し、（５）上記アプリケーション処理部は、（５−１）上記シナリオ処理部から通信装置制御パラメータが与えられると、その通信装置制御パラメータに基づいて、上記通信装置に対する信号送信処理又は信号取得処理に係る通信装置制御信号を生成して、上記信号処理装置に送信し、上記信号処理装置から、その通信装置制御信号に基づいた処理の処理結果を有する通信装置応答信号が与えられると、その通信装置応答信号に基づいて、内部応答信号を作成して、上記シナリオ処理部に与える制御信号処理手段を有することを特徴とする。
【００１５】
第２の本発明のアプリケーション提供プログラムは、（１）通信装置と、上記通信装置にアプリケーションを提供するためのアプリケーション提供装置と、上記アプリケーション提供装置の制御に従って上記通信装置と信号を授受する処理を行う信号処理装置とを備えるネットワークシステムを構成する上記アプリケーション提供装置に搭載されたコンピュータを、（２）上記通信装置に提供するアプリケーションのシナリオに係る処理を行うシナリオ処理部と、（３）上記シナリオ処理部によるシナリオの処理結果を利用し、上記信号処理装置を介して、上記通信装置にアプリケーションを提供するアプリケーション処理部として機能させ、（４）上記シナリオ処理部は、（４−１）処理対象のシナリオに係る対象シナリオデータを保持するシナリオ保持手段と、（４−２）上記対象シナリオデータを分析して、上記対象シナリオデータを構成する１又は複数の処理要素、及び処理要素間の構造を抽出する処理要素抽出手段と、（４−３）上記処理要素抽出手段が抽出した処理要素を、抽出した処理構造に従った順序で実行するものであって、処理要素が、上記通信装置に対する信号送信処理、又は信号取得処理を行うための通信装置処理要素である場合には、その通信装置処理要素に基づく通信装置制御パラメータを、上記アプリケーション処理部に引渡して処理要素の実行を中断し、その後、その通信装置制御パラメータに基づく処理の実行結果を有する内部応答信号が、上記アプリケーション処理部から与えられると、その実行結果を利用して、以後の処理要素の実行を再開する処理要素実行手段とを有し、（５）上記アプリケーション処理部は、（５−１）上記シナリオ処理部から通信装置制御パラメータが与えられると、その通信装置制御パラメータに基づいて、上記通信装置に対する信号送信処理又は信号取得処理に係る通信装置制御信号を生成して、上記信号処理装置に送信し、上記信号処理装置から、その通信装置制御信号に基づいた処理の処理結果を有する通信装置応答信号が与えられると、その通信装置応答信号に基づいて、内部応答信号を作成して、上記シナリオ処理部に与える制御信号処理手段を有することを特徴とする。
【００１６】
第３の本発明のアプリケーション提供方法は、（１）通信装置と、上記通信装置にアプリケーションを提供するためのアプリケーション提供装置と、上記アプリケーション提供装置の制御に従って上記通信装置と信号を授受する処理を行う信号処理装置とを備え、上記アプリケーション提供装置は、上記通信装置に提供するアプリケーションのシナリオに係る処理を行うシナリオ処理部と、上記シナリオ処理部によるシナリオの処理結果を利用し、上記信号処理装置を介して、上記通信装置にアプリケーションを提供するアプリケーション処理部とを有するネットワークシステムを構成する上記アプリケーション提供装置に適用するアプリケーション提供方法であって、（２）シナリオ保持手段、処理要素抽出手段、処理要素実行手段、制御信号処理手段を有し、（３）上記シナリオ保持手段は、上記シナリオ処理部により、処理対象のシナリオに係る対象シナリオデータを保持し、（４）上記処理要素抽出手段は、上記シナリオ処理部により、上記対象シナリオデータを分析して、上記対象シナリオデータを構成する１又は複数の処理要素、及び処理要素間の構造を抽出し、（５）上記処理要素実行手段は、上記シナリオ処理部により、上記処理要素抽出手段が抽出した処理要素を、抽出した処理構造に従った順序で実行するものであって、処理要素が、上記通信装置に対する信号送信処理、又は信号取得処理を行うための通信装置処理要素である場合には、その通信装置処理要素に基づく通信装置制御パラメータを、上記アプリケーション処理部に引渡して処理要素の実行を中断し、その後、その通信装置制御パラメータに基づく処理の実行結果を有する内部応答信号が、上記アプリケーション処理部から与えられると、その実行結果を利用して、以後の処理要素の実行を再開し、（６）上記制御信号処理手段は、上記アプリケーション処理部により、上記シナリオ処理部から通信装置制御パラメータが与えられると、その通信装置制御パラメータに基づいて、上記通信装置に対する信号送信処理又は信号取得処理に係る通信装置制御信号を生成して、上記信号処理装置に送信し、上記信号処理装置から、その通信装置制御信号に基づいた処理の処理結果を有する通信装置応答信号が与えられると、その通信装置応答信号に基づいて、内部応答信号を作成する（７）ことを特徴とする。
【００１７】
第４の本発明のネットワークシステムは、（１）通信装置と、上記通信装置にアプリケーションを提供するためのアプリケーション提供装置と、上記アプリケーション提供装置の制御に従って上記通信装置と信号を授受する処理を行う信号処理装置とを備えるネットワークシステムであって、（２）上記アプリケーション提供装置として第１の本発明のアプリケーション提供装置を適用したことを特徴とする。
【発明の効果】
【００１８】
アプリケーション提供装置の構築や保守等において、コストを低減することができる。
【図面の簡単な説明】
【００１９】
【図１】実施形態のＩＶＲシステム（ネットワークシステム）の機能的構成の例について示したブロック図である。
【図２】実施形態のシナリオファイルの内容の第１の例について示した説明図である。
【図３】実施形態において、シナリオファイル（第１の例）のコールフロー（シナリオ）について示したフローチャートである。
【図４】実施形態のアプリケーション提供装置におけるシナリオ実行処理動作の全体について示したフローチャートである。
【図５】実施形態のシナリオパース処理部において、シナリオファイル（第１の例）から把握される、から、各エレメントの従属関係の組について示した説明図である。
【図６】実施形態のシナリオパース処理部において、シナリオファイル（第１の例）から把握される、各エレメント間の関係をツリー構造で示した説明図である。
【図７】実施形態のシナリオパース処理部により、シナリオファイル（第１の例）が、エレメント情報格納部に展開された場合の内容例について示した説明図である。
【図８】実施形態のシナリオ実施処理部において、再生エレメントと選択エレメントが組み合わせて実行される場合に流れる制御信号の例について示した説明図である。
【図９】実施形態のＩＶＲシステムにおいて、再生エレメントと選択エレメントが組み合わせて実行される場合の動作について示したシーケンス図である。
【図１０】実施形態のＩＶＲシステムにおいて、再生エレメントと選択エレメントが組み合わせて実行される場合に流れる制御信号の例について示した説明図である。
【図１１】実施形態のＩＶＲシステムにおいて、再生エレメントが選択エレメントと組み合わせされずに処理される場合に流れる制御信号の例について示した説明図である。
【図１２】実施形態のシナリオファイルの内容の第２の例について示した説明図である。
【図１３】実施形態において、シナリオファイル（第２の例）のコールフロー（シナリオ）の前半部分について示したフローチャートである。
【図１４】実施形態において、シナリオファイル（第２の例）のコールフロー（シナリオ）の後半部分について示したフローチャートである。
【発明を実施するための形態】
【００２０】
（Ａ）主たる実施形態
以下、本発明によるアプリケーション提供装置、プログラム及び方法、並びにネットワークシステムの一実施形態を、図面を参照しながら詳述する。この実施形態では、本発明のネットワークシステム及びアプリケーション提供装置をＩＶＲシステムに適用した例について説明している。
【００２１】
（Ａ−１）実施形態の構成
図１は、この実施形態のＩＶＲシステム１（ネットワークシステム）の機能的構成の例について示したブロック図である。
【００２２】
ＩＶＲシステム１は、アプリケーション提供装置１０、ＷＥＢサーバ４０、メディアサーバ５０、通信装置６０を有している。
【００２３】
ＩＶＲシステム１は、アプリケーション提供装置１０、ＷＥＢサーバ４０、メディアサーバ５０により、通信装置６０に対してＩＶＲのアプリケーションを提供するシステムである。
【００２４】
アプリケーション提供装置１０は、通信装置６０に対して提供するＩＶＲのアプリケーションサービス（ＩＶＲ）を制御するものであり、必要に応じてＷＥＢサーバ４０から、ＩＶＲのコールフローが記載されたシナリオファイルＦを読込み、メディアサーバ５０を介して、通信装置６０にＩＶＲのアプリケーションサービスを提供する。なお、シナリオファイルＦの内容詳細については後述する。なお、この実施形態では、アプリケーション提供装置１０とメディアサーバ５０との間の通信はＳＩＰの信号を用いて行われるものとするが、Ｈ．３２３等他のプロトコルを用いるようにしても良い。
【００２５】
通信装置６０は、メディアサーバ５０を介してアプリケーション提供装置１０からＩＶＲのアプリケーションの提供を受ける装置である。通信装置６０は、ＳＩＰのプロトコルに対応したＩＰ電話端末としても良いし、ＩＰ−ＰＢＸ等配下にさらに電話端末を有する通信装置であっても良い。
【００２６】
ＷＥＢサーバ４０は、シナリオファイルＦを格納し、アプリケーション提供装置１０の要求に応じて格納しているシナリオファイルＦを提供する機能を担っている。図１においては、ＷＥＢサーバ４０を用いてシナリオファイルＦを格納しているが、シナリオファイルＦを格納してアプリケーション提供装置１０が取り出すことができるものであれば、既存のファイルサーバやストレージ装置等他の格納装置を適用するようにしても良い。また、シナリオファイルＦを格納する格納部をアプリケーション提供装置１０に搭載するようにしても良い。
【００２７】
メディアサーバ５０は、アプリケーション提供装置１０の制御に応じて、通信装置６０にＩＶＲのアプリケーションに係るメディアサービスを提供するメディアサーバである。例えば、メディアサーバ５０としては、アプリケーション提供装置１０から与えられるＳＩＰの信号に従って、通信装置６０に音声データを送信し、通信装置６０に音声出力をさせる信号を送信したり、アプリケーション提供装置１０から与えられるＳＩＰの信号に従って、通信装置６０からの入力信号（例えば、通信装置６０のユーザがプッシュボタンにより入力した入力信号）を受け付けてその入力信号をアプリケーション提供装置１０に転送したりする処理が挙げられる。なお、メディアサーバ５０としては、例えば、既存のＭＳＣＭＬに対応したメディアサーバを適用するようにしても良い。
【００２８】
以下、アプリケーション提供装置１０の詳細について説明する。
【００２９】
アプリケーション提供装置１０は、シナリオ処理部２０、アプリケーション処理部３０を有している。
【００３０】
アプリケーション提供装置１０は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、ハードディスクなどのプログラムの実行構成、及び、他の通信装置と通信をするためのインターフェースを有する情報処理装置（コンピュータ）に、実施形態のアプリケーション提供プログラム等をインストールすることにより構築されるものであり、機能的には上述の図１のように示すことができる。
【００３１】
アプリケーション処理部３０は、アプリケーション提供装置１０において、ＩＶＲのアプリケーションの動作全体を制御する機能を担っている。例えば、アプリケーション処理部３０は、メディアサーバ５０（通信装置６０）から、ＩＶＲのアプリケーションサービスの要求があった場合には、その要求に該当するシナリオの処理を、シナリオ処理部２０に命令する。
【００３２】
シナリオ処理部２０は、アプリケーション処理部３０からの要求に応じて、その要求に該当するシナリオのシナリオファイルＦをＷＥＢサーバ４０から読込み、そのシナリオファイルＦを内部で展開して実行処理を行う。そして、シナリオファイルＦに従った処理において、例えば、メディアサーバ５０（通信装置６０）に対する音声再生の制御や、メディアサーバ５０（通信装置６０）からの入力信号の取得等、通信装置６０に対する信号送信処理又は信号取得処理を行う際には、内部シグナルを発生させ、その音声再生や入力信号の取得に係る制御パラメータをアプリケーション処理部３０に引き渡して、シナリオファイルＦに係る処理を中断する。そして、シナリオ処理部２０では、アプリケーション処理部３０から、その音声再生や入力信号の取得の実行結果に関する応答があると、その実行結果を用いてシナリオファイルＦに係る処理を再開する。シナリオ処理部２０における処理の詳細については後述する動作説明において詳述する。
【００３３】
アプリケーション処理部３０内の内部シグナル処理部３１は、シナリオ処理部２０から与えられた内部シグナルに係る制御パラメータを、ＳＩＰメッセージ（ＩＮＦＯ）変換して、メディアサーバ５０に与える。また、内部シグナル処理部３１は、メディアサーバ５０（通信装置６０）から、ＳＩＰのメッセージ（「ＩＮＦＯ」、「２００  ＯＫ」等）を用いて応答（例えば、取得した入力信号の結果等）があった場合には、そのＳＩＰメッセージをシナリオ処理部２０に与える。内部シグナル処理部３１における処理の詳細については、後述する動作説明において詳述する。
【００３４】
次に、シナリオ処理部２０の内部の詳細構成について説明する。
【００３５】
シナリオ処理部２０は、シナリオライブラリ処理部２１、シナリオ実行部２２、シナリオハンドル処理部２３を有している。また、シナリオ実行部２２は、シナリオパース処理部２２１、シナリオ実施処理部２２２、エレメント情報格納部２２３を有している。
【００３６】
シナリオライブラリ処理部２１は、アプリケーション処理部３０からの要求に応じて、その要求に該当するシナリオファイルＦを、ＷＥＢサーバ４０から読込んで保持し、シナリオパース処理部２２１に与える機能を担っている。シナリオライブラリ処理部２１は、例えば、アプリケーション処理部３０から、シナリオファイルＦの設置情報（例えば、「http：」「file：」「nfs：」等のＵＲＩ）が指定されると、その設置情報に基づいて、シナリオファイルＦを特定して取得するようにしても良い。
【００３７】
図２は、シナリオファイルＦの内容例について示した説明図である。なお、図２に示すリストは、出願人が著作権を有するものである。
【００３８】
シナリオファイルＦは、図２で示すように、ＸＭＬで記述するようにしても良い。
【００３９】
シナリオパース処理部２２１は、アプリケーション処理部３０から与えられたシナリオファイルＦについてパース処理を行い、パースした結果をエレメント情報格納部２２３に展開する。シナリオパース処理部２２１では、シナリオファイルＦにＸＭＬで記述された各エレメントを、シナリオファイルＦにおける処理要素として検出し、各エレメントの属性や各エレメント間の構造（主従関係等）を把握するようにしても良い。
【００４０】
シナリオ実施処理部２２２は、エレメント情報格納部２２３に展開されたシナリオファイルＦに基づく処理を、エレメントごとに実行する。
【００４１】
そして、シナリオ実施処理部２２２は、メディアサーバ５０（通信装置６０）に対する音声再生の制御や、メディアサーバ５０（通信装置６０）からの入力信号の取得制御に係るエレメントの処理を行う際には、内部シグナルを発生させ、そのエレメントに係る制御パラメータ（タグの内容）をアプリケーション処理部３０（内部シグナル処理部３１）に引き渡して、シナリオファイルＦに係る処理を中断する。そして、シナリオ実施処理部２２２は、内部シグナル処理部３１から、シナリオハンドル処理部２３を介して、その音声再生や入力信号の取得の実行結果に関する応答があると、その実行結果を用いて以降のエレメントの処理を再開する。シナリオ実施処理部２２２における処理については後述する動作説明において詳述する。
【００４２】
シナリオハンドル処理部２３は、シナリオ処理部２０においてシナリオ実行中に、アプリケーション処理部３０が、シナリオ処理部２０を制御するためのハンドラの機能を担っている。シナリオハンドル処理部２３は、例えば、シナリオ処理部２０においてシナリオ実行中に、そのシナリオの進行状況に応じて、各種割り込みを発生させて、シナリオ処理部２０によるシナリオ実行の再開等を制御する。
【００４３】
（Ａ−２）実施形態の動作
次に、以上のような構成を有するこの実施形態のＩＶＲシステム１における、シナリオ実行の動作を説明する。
【００４４】
（Ａ−２−１）シナリオファイルの内容について
まず、上述の図２に示すこの動作説明において用いるシナリオファイルＦの内容について説明する。
【００４５】
図３は、図２に示すシナリオファイルのコールフローについて示したフローチャートである。
【００４６】
シナリオが開始されると、まず、アプリケーション提供装置１０及びメディアサーバ５０の制御により、通信装置６０において、「設問１  ２０１２年にオリンピックが開催される都市といえば？１ロンドン・・・・」というクイズ問題の音声ファイルの再生が行われる（Ｓ２０１）。
【００４７】
次に、アプリケーション提供装置１０では、ユーザからのクイズの回答が入力されるまで待機する（Ｓ２０２）、ユーザからの回答の入力は、通信装置６０におけるプッシュボタン等において数字により回答が入力されるとその内容がメディアサーバ５０を介してアプリケーション提供装置１０に伝達されるものとする。
【００４８】
そして、上述のステップＳ２０２において、通信装置６０からアプリケーション提供装置１０に到達した入力値が、「１」であった場合には、アプリケーション提供装置１０及びメディアサーバ５０の制御により、通信装置６０において、「正解です」という音声ファイルの再生が行われる（Ｓ２０４）。
【００４９】
一方、上述のステップＳ２０２において、通信装置６０からアプリケーション提供装置１０に到達した入力値が、「１」以外であった場合には、アプリケーション提供装置１０及びメディアサーバ５０の制御により、通信装置６０において、「不正解です、正解は・・・・」という音声ファイルの再生が行われる（Ｓ２０３）。
【００５０】
そして、上述のステップＳ２０３又はＳ２０４の処理が終了すると、アプリケーション提供装置１０及びメディアサーバ５０の制御により、通信装置６０において、「設問を終了します」という音声ファイルの再生が行われる（Ｓ２０５）。
【００５１】
（Ａ−２−１）シナリオファイルの確認と前準備
図３は、アプリケーション提供装置１０におけるシナリオ実行処理動作の全体について示したフローチャートである。
【００５２】
まず、アプリケーション処理部３０からシナリオライブラリ処理部２１に対しシナリオファイルＦの設置情報が指定され（Ｓ１０１）、シナリオライブラリ処理部２１により、指定されたシナリオファイルＦの存在有無の確認と存在している場合その内容を読み込まれ、読込んだシナリオファイルＦに対応するシナリオ実行部２２を生成して、シナリオ実行部２２の生成時に読み込んだシナリオファイルＦの情報も引き継がせる（Ｓ１０２）。ここでは、シナリオライブラリ処理部２１により読込まれるシナリオファイルＦは、図２に示す内容であるものとして説明する。
【００５３】
（Ａ−２−２）シナリオパース処理
上述のステップＳ１０２により、シナリオファイルＦの情報を引き継いだシナリオ実行部２２が生成されると、シナリオ実行部２２では、シナリオパース処理部２２１により、シナリオファイルＦのパース処理が行われ、その結果がエレメント情報格納部２２３に展開される（Ｓ１０３）。
【００５４】
シナリオパース処理部２２１では、シナリオファイル内における、ＸＭＬのタグ毎に用意されたエレメント情報（ＸＭＬをメモリに展開した時のＸＭＬタグをエレメントと称す。）に属性情報及びタグ内に定義された従属するタグ情報のエレメントを保持する。この展開処理を再帰的に呼び出しすることにより全てのエレメントをメモリ上に展開しエレメントツリーを作成する。
【００５５】
シナリオツリーを構成するエレメントとしては、例えば、シナリオトップエレメント、変数エレメント、メニューエレメント、例外エレメント、再生エレメント、選択エレメント、イベントエレメントという種類のエレメントが存在するものとして説明する。シナリオ処理部２０において、上述の全てのエレメントを採用するようにしても良いし、一部のエレメントを採用するようにしても良いし、他の種類のエレメントを組み合わせて採用するようにしても良い。
【００５６】
次に、それぞれの種類のエレメントについて説明する。
【００５７】
シナリオトップエレメントは、シナリオ（コールフロー）の先頭のエレメントであり、シナリオファイルＦにおいては、例として「scenario」のタグにより把握されるものとする。
【００５８】
変数エレメントは、シナリオ内で共通な変数を把握するためのエレメントであり、シナリオファイルＦにおいては、例として「var」のタグにより把握されるものとする。
【００５９】
メニューエレメントは、シナリオ（コールフロー）における主処理エレメントであり、シナリオファイルＦにおいては、例として「menu」のタグにより把握されるものとする。
【００６０】
例外エレメントは、エラー発生やタイムアウト等のイベントが発生した場合に処理を行うエレメントであり、シナリオファイルＦにおいては、例として「catch」、「exit」、「nomatch」等のタグにより把握されるものとする。
【００６１】
再生エレメントは、音源ファイルや音源ファイルの再生条件等を指定するためのエレメントである。再生エレメントにより、アプリケーション処理部３０とのシグナリング処理が行われて、シナリオファイルＦにおいては、例として「audio」のタグにより把握されるものとする。
【００６２】
選択エレメントは、シナリオハンドル部から渡される各種情報の判定を行うエレメントであり、例として「choice」のタグにより把握されるものとする。選択エレメントにより、アプリケーション処理部３０との同期処理が行われる。
【００６３】
イベントエレメントは、他メニューイベントヘの遷移を行うためのエレメントであり、例として「goto」のタグにより把握されるものとする。
【００６４】
次に、図２に示すシナリオファイルＦから、把握される各エレメントの従属関係の対応付けの処理について説明する。
【００６５】
図５は、図２に示すシナリオファイルＦから、シナリオパース処理部２２１において把握される、各エレメントの従属関係について示した説明図である。
【００６６】
シナリオトップエレメントＥ１０００は、「scenario」のタグを目印として、図２におけるＬ１０００に示す部分と対応しているものとする。
【００６７】
変数エレメントＥ１１００は、「var」のタグを目印として、Ｌ１１００に示す部分と対応している。
【００６８】
メニューエレメントＥ１２００は、「menu」のタグを目印として、図２におけるＬ１２００に示す部分と対応しているものとする。
【００６９】
例外エレメントＥ１２３０、Ｅ１３００は、「catch」又は「exit」のタグを目印として、それぞれ、図２におけるＬ１２３０、Ｌ１３００の部分と対応しているものとする。
【００７０】
再生エレメントＥ１２１０、Ｅ１２２１、Ｅ１２３１、Ｅ１３１０は、「audio」のタグを目印として、それぞれ、図２におけるＬ１２１０、Ｌ１２２１、Ｌ１２３１、Ｌ１３１０に示す部分と対応しているものとする。
【００７１】
選択エレメントＥ１２２０は、「choice」のタグを目印として、図２におけるＬ１２２０と対応しているものとする。
【００７２】
イベントエレメントＥ１２２２、Ｅ１２３２は、「goto」のタグを目印として、それぞれ、図２におけるＬ１２２２、Ｌ１２３２の部分と対応しているものとする。
【００７３】
まず、シナリオパース処理部２２１では、Ｌ１０００に示す「scenario」で囲まれた部分が読込まれ、シナリオトップエレメントＥ１０００が把握される。そして、Ｌ１０００に示す「scenario」で囲まれた部分の内部のリストを読込んだ結果、配下には、図４に示すように、変数エレメントＥ１１００、メニューエレメントＥ１２００、例外エレメントＥ１３００が従属するエレメントが把握される。
【００７４】
シナリオパース処理部２２１では、このように再起的にＸＭＬで定義されたタグ及びそのタグで囲まれたタグを読込んでいくことにより、図４に示すような従属関係の組が把握される。
【００７５】
図５では、メニューエレメントＥ１２００の配下に、再生エレメントＥ１２１０、選択エレメントＥ１２２０、例外エレメントＥ１２３０が従属している。さらに、選択エレメントＥ１２２０の配下に、再生エレメントＥ１２２１及びイベントエレメントＥ１２２２が従属し、例外エレメントＥ１２３０の配下に、再生エレメントＥ１２３１及びイベントエレメントＥ１２３２が従属している。また、例外エレメントＥ１３００の配下には、再生エレメントＥ１３１０が従属している。
【００７６】
そして、図５に示す各エレメントの従属関係の組をツリー構造で示すと、図６のような構造となる。
【００７７】
また、シナリオパース処理部２２１は、シナリオファイルＦにパース処理を行い、エレメント情報格納部２２３に展開を行う。
【００７８】
図７は、シナリオパース処理部２２１により、上述の図２に示すシナリオファイルＦが、エレメント情報格納部２２３に展開された場合の内容例について示した説明図である。なお、図７に示すリストは、出願人が著作権を有するものである。
【００７９】
シナリオパース処理部２２１は、パース処理を行う際に、エレメント内の従属エレメントが主エレメント内で定義可能なエレメントかどうかの確認も行う。また、各エレメントを共通的に扱えるようにするためシナリオファイルに記載する際に省略された属性や従属タグ情報を新規に付加する。
【００８０】
シナリオパース処理部２２１が、シナリオファイルＦに対してパース処理を行う際のルールとしては、例えば、以下の４つのルールを適用するようにしても良い。
【００８１】
（ルール１）ｘｍｌファイルの各タグは必ずファイルの先頭に記載されているタグからパースを行う。
【００８２】
（ルール２）ａｕｄｉｏタグは、必ずｐｒｏｍｐｔタグ内で定義されるタグである。ａｕｄｉｏタグがｐｒｏｍｐｔタグで囲まれていない場合には、パース処理を行う際に付加するようにしても良い。（ｐｒｏｍｐｔタグを目印として、シナリオ実施処理部２２２では内部シグナルを発生させる契機となる。）
（ルール３）ｐｒｏｍｐｔタグは、ｍｅｎｕ・ｃａｔｃｈ・ｃｈｏｉｃｅタグ内でのみ定義が許される。ｍｅｎｕ・ｃａｔｃｈ・ｃｈｏｉｃｅの外にｐｒｏｍｐｔタグが記述されている場合には、そのシナリオの実行を停止したり、シナリオパースする際に削除するようにしても良い。
【００８３】
（ルール４）ｎｏｍａｔｃｈ、ｅｘｉタグは、ｃａｔｃｈタグと同様に例外エレメントに係るタグと認識しても良い。
【００８４】
（Ａ−２−３）シナリオの実行開始処理
上述のステップＳ１０３において、シナリオパース処理部２２１によりシナリオパースの処理が終了すると、シナリオライブラリ処理部２１により、エレメント情報格納部２２３に展開されたシナリオファイルに対応するシナリオハンドル処理部２３が生成され、アプリケーション処理部３０に、シナリオハンドル処理部２３の実行権限が渡される。そして、アプリケーション処理部３０では、メディアサーバ５０との接続（ＳＩＰ呼制御による接続）が完了次第シナリオハンドル処理部２３を介して、シナリオ実施処理部２２２にシナリオの実行が指示される（Ｓ１０４）。
【００８５】
（Ａ−２−４）シナリオの実行
シナリオ実行部２２では、アプリケーション処理部３０からシナリオハンドル処理部２３を介して、シナリオ実行指示を受け付けるとシナリオ実施処理を起動する。シナリオ実施処理部２２２におけるシナリオ実施処理は、メモリ（エレメント情報格納部２２３）上に展開されているエレメントツリーのメニューエレメントを順次に読み込みを行い、メニューエレメントに定義されている内容に従って処理が実施される（Ｓ１０５）。
【００８６】
シナリオ実施処理部２２２により、アプリケーション処理部３０の内部シグナル処理部３１に対し、再生エレメントや選択エレメントが処理された場合に、シナリオ実施処理部２２２は、内部シグナルを発生させ、内部シグナル処理部３１にその処理に係るエレメントの内容（タグの内容）を制御パラメータとして与えて、一時的に処理を中止する。アプリケーション処理部３０では、内部シグナルとともに制御パラメータが与えられると、その際に渡された制御パラメータの内容に基づいて、ＳＩＰメッセージ（ＩＮＦＯ）を作成し、作成したＳＩＰメッセージ（ＩＮＦＯ）を、メディアサーバ５０へ与えて、通信装置６０に対する音声再生や、入力信号の取得等の制御を行う。
【００８７】
アプリケーション処理部３０（内部シグナル処理部３１）は、メディアサーバ５０（通信装置６０）から、送信したＳＩＰメッセージに対する実行結果等が記載されたＳＩＰメッセージ受け付けると、シナリオハンドル処理部２３を使用して、実行結果をシナリオ実施処理部２２２に引き渡す。シナリオ実施処理部２２２は、引き渡された実行結果をもとに以後のエレメントの処理を再開する。
【００８８】
（Ａ−２−５）シナリオの実行終了
シナリオ実施処理部２２２において、エレメント情報格納部２２３に展開したメニューエレメントが全て終了したと判断した場合や、アプリケーション処理部３０からシナリオの強制停止指示が行われた場合に、シナリオ処理部２０における当該シナリオに係る処理が終了されることになる（Ｓ１０６）。
【００８９】
（Ａ−２−６）メッセージ等の内容について
次に、シナリオ実行部２２からシナリオハンドル処理部２３を介して内部シグナル処理部３１に与えられる制御パラメータの内容及び、内部シグナル処理部３１とメディアサーバ５０との間を流れるＳＩＰメッセージの内容について説明する。
【００９０】
シナリオ実行部２２から内部シグナル処理部３１に与えられる内部シグナルの内容は、シナリオ実行部２２において処理されるエレメントの組み合わせによって異なる。
【００９１】
例えば、再生エレメントと選択エレメントが同時に組み合わせて処理される場合と、再生エレメントが選択エレメントと組み合わせされずに処理される場合とで異なる。
【００９２】
図８は、再生エレメントと選択エレメントが組み合わせて実行される場合のシナリオファイルＦの内容及び、内部シグナル処理部３１からメディアサーバ５０へ送信されるＳＩＰメッセージの内容について示した説明図である。なお、図８に示すリストは、出願人が著作権を有するものである。
【００９３】
図８（ａ）は、再生エレメントと選択エレメントが組み合わせて実行される場合のシナリオファイルの例について示した説明図である。
【００９４】
図８（ａ）に示すシナリオファイルでは、Ｌ２０１０の部分から把握される再生エレメントと、Ｌ２０２０の部分から把握される選択エレメントが組み合わせて実行される例について示している。
【００９５】
図８（ｂ）は、図８（ａ）のシナリオファイルに基づいて、シナリオ実行部２２において再生エレメントと選択エレメントが組み合わせて処理され、それらのエレメントに係るタグの内容が制御パラメータとして、内部シグナル処理部３１に渡された場合に、内部シグナル処理部３１により生成されるＳＩＰメッセージ（ＩＮＦＯ）のＢＯＤＹ部分の内容の例について示した説明図である。図８（ｂ）に示すように、ｐｌａｙｃｏｌｌｅｃｔタグを用いて、再生エレメント及び選択エレメントの制御内容を記述するようにしても良い。
【００９６】
図８（ｃ）は、内部シグナル処理部３１からメディアサーバ５０に対して図８（ｂ）に示すＳＩＰメッセージ（ＩＮＦＯ）の送信に対する応答のＳＩＰメッセージ（２００  ＯＫ）のＢＯＤＹ部分の内容の例について示した説明図である。図８（ｃ）に示すように、メディアサーバ５０からは、ｐｌａｙｃｏｌｌｅｃｔの実行結果が与えられる。
【００９７】
図９は、シナリオ処理部２０（シナリオ実施処理部２２２）において、再生エレメントと選択エレメントが組み合わせて実行される場合の動作について示したシーケンス図である。
【００９８】
図１０は、図９に示すシーケンス図において、シナリオ処理部２０、アプリケーション処理部３０、メディアサーバ５０の間を流れる情報の例について示した説明図である。なお、図１０に示すリストは、出願人が著作権を有するものである。
【００９９】
まず、アプリケーション処理部３０からの制御に応じて、シナリオ処理部２０において、該当するシナリオファイルＦが実行され、再生エレメントと選択エレメントが組み合わせた処理が開始され、シナリオ実施処理部２２２において内部シグナルが発生し（Ｓ３０１）、アプリケーション処理部３０へ、処理対象のエレメント内のタグの内容が制御パラメータとして与えられたものとする（Ｓ３０２）。
【０１００】
次に、アプリケーション処理部３０において、ステップＳ３０２で内部シグナルと共に与えられたパラメータが、ＳＩＰメッセージ（ＩＮＦＯ）（図１０（ａ）参照）に変換され、メディアサーバ５０へ送信され（Ｓ３０３）、ＳＩＰメッセージ（ＩＮＦＯ）が到達したことを示すＳＩＰメッセージ（ＩＮＦＯ）（図１０（ｂ）参照）が、メディアサーバ５０からアプリケーション処理部３０に返答される（Ｓ３０４）。
【０１０１】
メディアサーバ５０からアプリケーション処理部３０にＳＩＰメッセージ（２００  ＯＫ）（図１０（ｂ）参照）が、シナリオ処理部２０に伝達されると、その内容がシナリオ実施処理部２２２にも伝達される（Ｓ３０５）。上述のステップＳ３０４において、メディアサーバ５０にＳＩＰメッセージ（ＩＮＦＯ）が正常に伝達されずにエラーが発生したことが返答された場合、シナリオ処理部２０では、実行中のシナリオを中止する等の処理を行うようにしても良い。
【０１０２】
一方、メディアサーバ５０では、上述のＳ３０３によるＳＩＰメッセージ（ＩＮＦＯ）に従って、通信装置６０に対するユーザからの入力（プッシュボタン等による入力）を受け付けると（Ｓ３０６）、入力された情報に基づいてＳＩＰメッセージ（ＩＮＦＯ）（図１０（ｃ）参照）が作成されてアプリケーション処理部３０に送信される（Ｓ３０７）。
【０１０３】
そして、アプリケーション処理部３０からメディアサーバ５０に、ＳＩＰメッセージ（ＩＮＦＯ）が到達したことを示すＳＩＰメッセージ（２００  ＯＫ）（図１０（ｄ）参照）が送信される（Ｓ３０８）。
【０１０４】
そして、アプリケーション処理部３０からシナリオ処理部２０（シナリオ実施処理部２２２）に、ｐｌａｙｃｏｌｌｅｃｔの実行結果（上述のステップＳ３０６において通信装置６０で入力された情報）が与えられると（Ｓ３０９）、シナリオ実施処理部２２２では、その実行結果を用いて以後のエレメントの処理を再開する（Ｓ３１０）。
【０１０５】
図１１は、再生エレメントが選択エレメントと組み合わせされずに処理される場合のシナリオファイルＦの内容及び、内部シグナル処理部３１からメディアサーバ５０へ送信されるＳＩＰメッセージの内容について示した説明図である。なお、図１１に示すリストは、出願人が著作権を有するものである。
【０１０６】
図１１（ａ）は、再生エレメントが選択エレメントと組み合わせされずに処理される場合のシナリオファイルの例について示した説明図である。図１１（ａ）に示すシナリオファイルでは、Ｌ３０１０の部分から把握される再生エレメントが処理される例について示している。
【０１０７】
図１１（ｂ）は、図１１（ａ）のシナリオファイルに基づいて、シナリオ実行部２２において再生エレメントが処理され、それらのエレメントに係るパラメータ（タグの内容）が内部シグナルとして、内部シグナル処理部３１に渡された場合に、内部シグナル処理部３１により生成されるＳＩＰメッセージ（ＩＮＦＯ）のＢＯＤＹ部分の内容の例について示した説明図である。図１１（ｂ）に示すように、ｐｌａｙタグを用いて、再生エレメント及び選択エレメントの処理記述するようにしても良い。図８の再生エレメントと選択エレメントが同時に組み合わせて処理される場合と異なり、メディアサーバ５０（通信装置６０）から、ユーザの入力信号を取得する必要がないため、ｐｌａｙタグを用いる。
【０１０８】
図１１（ｃ）は、内部シグナル処理部３１からメディアサーバ５０に対して図１１（ｂ）に示すＳＩＰメッセージ（ＩＮＦＯ）の送信に対する応答のＳＩＰメッセージ（２００  ＯＫ）のＢＯＤＹ部分の内容の例について示した説明図である。
【０１０９】
（Ａ−２−７）その他のシナリオファイルの例
図１２は、シナリオファイルの第２の例について示した説明図である。なお、図１２に示すリストは、出願人が著作権を有するものである。
【０１１０】
図１３及び図１４は、図１２に示すシナリオファイルのコールフローについて示したフローチャートである。
【０１１１】
図１２における例で、上述の図２に示すシナリオファイルの第１の例との差異としては、例えば、メニューエレメント「menu_step1」（L４１００の部分）内において、再生エレメント（Ｌ４１１０の部分）と、選択エレメント（Ｌ４１２０の部分）と、誤入力処理に係る例外エレメント（L４１３０の部分）に加えて、無操作処理に係る例外エレメント（L４１４０の部分）が配置されている点である。
【０１１２】
無操作処理に係る例外エレメント（Ｌ４１４０の部分）は、上述の図１３に示すコールフローにおけるステップＳ４０６及びＳ４０７に対応するエレメントである。無操作処理に係る例外エレメント（Ｌ４１４０の部分）では、再生エレメント（Ｌ４１１０の部分）によりクイズ問題の設問の音声再生が行われてから、選択エレメント（Ｌ４１２０の部分）に対する入力が一定時間行われない場合に、「回答時間を超えました」という再生エレメント「<audio value＝"http：//192.168.1.1/audio/timeout.wav"/>」を処理し、さらにメニューエレメント「menu_step2」（Ｌ４２００の部分）の処理に移行するためのイベントエレメント「<goto next＝"#menu_step2"/>」の処理が行われる。
【０１１３】
（Ａ−３）実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【０１１４】
アプリケーション提供装置１０のシナリオ処理部２０では、ＶＸＭＬやＣＣＸＭＬを用いずに、ＸＭＬのみでＩＶＲに係るシナリオを記述することができる。すなわち、本発明のアプリケーション提供装置１０を用いれば、ＶＸＭＬやＣＣＸＭＬを解析するためのエンジンを搭載したメディアサーバを用いずに、ＩＶＲのアプリケーションを提供することができるので、アプリケーション提供装置１０やメディアサーバ５０の構築や保守に係るコストを低減することができる。
【０１１５】
アプリケーション提供装置１０では、シナリオ処理部２０からの内部シグナルを契機として、内部シグナル処理部３１によりＳＩＰメッセージを生成して、メディアサーバ５０（通信装置６０）を制御している。これにより、アプリケーション処理部３０において、ＳＩＰ呼制御とコールフロー（シナリオ）を連動させることが容易となる。また、アプリケーション処理部３０でコールフローの進行状況を容易に知ることが可能となる。
【０１１６】
例えば、従来の特許文献１の記載技術のように、ＶＸＭＬサーバを使用した場合、シナリオの実行がアプリケーションの実装されているサーバとは別のサーバで行われるため、呼切断などが発生した場合、シナリオ実行時に得られた情報をアプリケーションが得られない場合があるが、本発明では、アプリケーション提供装置１０において、シナリオ処理部２０がシナリオを実行し、そのシナリオの進行状況と、メディアサーバ５０における呼接続の状況をアプリケーション処理部３０が、リアルタイムに把握することで、シナリオハンドル処理部２３が必要な情報を即時に得ることができる。
【０１１７】
また、例えば、従来の特許文献１の記載技術では、コンテンツサーバ（アプリケーション提供装置）とＶＸＭＬサーバ（メディアサーバ）との間はｈｔｔｐ等を用いてセッションを維持し、ＶＸＭＬサーバと電話端末との間ではＳＩＰを用いてセッションを維持しているためｈｔｔｐセッションとＳＩＰセッションとの間の関連付けを行うため、システム開発や保守等にかかるコストが大きくなる。一方、本発明のアプリケーション提供装置１０では、アプリケーション処理部３０が、シナリオ処理部２０によるシナリオの進行状況が内部シグナル等により容易に知ることができる。さらに、内部シグナルと共にシナリオ処理部２０から渡される制御パラメータを用いてメディアサーバ５０を制御しているので、従来の特許文献１の記載技術のように、複数種類のセッションを関連付けする必要はないため、システム構築や保守等にかかるコストを低減することができる。
【０１１８】
アプリケーション提供装置１０では、シナリオファイルＦを実行する都度、リアルタイムにファイル読み込みメモリに保持するため、コールフロー（シナリオ）の変更が発生した場合においても、ＷＥＢサーバ４０上のファイルを差し替えるだけで、システム全体もしくはシステムの一部を停止する必要がない。また、コールフロー（シナリオ）の差し替えにあたってアプリケーション処理部３０やシナリオライブラリ処理部２１等のプログラムに対する影響も発生しないので、従来の特許文献１の記載技術を適用した場合と比較して、システム開発や保守等にかかるコストを低減することができる。
【０１１９】
（Ｂ）他の実施形態
本発明は、上記の実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【０１２０】
（Ｂ−１）上記の実施形態においては、メディアサーバ５０は、ＭＳＣＭＬに対応したメディアサーバとして説明したが、ＭＳＣＭＬ非対応のものでも良い。例えば、メディアサーバインタフェース変換機能（ＳＩＰメッセージ（ＩＮＦＯ）のＢＯＤＹ部の設定機能及びＳＩＰメッセージ（ＩＮＦＯ）の送信と受信時の結果解析とＭＳＣＭＬとのシーケンス差分吸収を行う機能）をアプリケーション提供装置１０に追加することが挙げられる。
【０１２１】
（Ｂ−２）アプリケーション提供装置１０を停止せずに、ＷＥＢサーバ４０に格納されたシナリオファイルの入れ替え可能な特徴をもつことから、シナリオファイル（コールフロー）を、ユーザがＧＵＩツールで作成する機能を追加することで、ユーザによるコールフローの入れ替えが頻繁に発生するシステムに対応させることができる。
【０１２２】
（Ｂ−３）上記の実施形態においては、この実施形態では、本発明のネットワークシステム及びアプリケーション提供装置をＩＶＲシステムに適用した例について説明しているが、その他のアプリケーションに適用するようにしても良い。
【０１２３】
例えば、ＩＶＲシステムのように音声メディアを用いたアプリケーションではなく、文字を用いた対話型のアプリケーション等、音声以外のメディアを用いて通信装置にアプリケーションを提供するその他システム（例えば、アンケート調査や通信販売等）に適用しても良い。このように、処理マトリクスを持つようなアプリケーションやフローチャートに基づいた動作を行うアプリケーションや、「ＩＶＲのコールフロー」のように決められた動作パターンを複数もち、条件により動作を動的に変更する必要のある他アプリケーション等へ本発明を適用するようにしても良い。
【符号の説明】
【０１２４】
１…ＩＶＲシステム、１０…アプリケーション提供装置、２０…シナリオ処理部、２１…シナリオライブラリ処理部、２２…シナリオ実行部、２２１…シナリオパース処理部、２２２…シナリオ実施処理部、２２３…エレメント情報格納部、２３…シナリオハンドル処理部、３０…アプリケーション処理部、３１…内部シグナル処理部、４０…ＷＥＢサーバ、５０…メディアサーバ、６０…通信装置、Ｆ…シナリオファイル。
【図１】
2010199854.tif 000003
【図２】
2010199854.tif 000004
【図３】
2010199854.tif 000005
【図４】
2010199854.tif 000006
【図５】
2010199854.tif 000007
【図６】
2010199854.tif 000008
【図７】
2010199854.tif 000009
【図８】
2010199854.tif 000010
【図９】
2010199854.tif 000011
【図１０】
2010199854.tif 000012
【図１１】
2010199854.tif 000013
【図１２】
2010199854.tif 000014
【図１３】
2010199854.tif 000015
【図１４】
2010199854.tif 000016