Comments
Description
Transcript
アプリケーション開発入門ガイド
マルチメディアカード 基本ソフトウェア アプリケーション開発入門ガイド 第5.1版 2003年5月 株式会社NTTデータ Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 はじめに 本書は、(株)NTT データが販売する VOISTAGE マルチメディアカード 基本ソフトウェア Ver.5.04 に ついて記載されています。他のバージョンをご使用の場合には適当でない記述がある可能性がありますの でご注意下さい。 本マニュアルの記述内容に関する商標について ・VOISTAGE,StageWriter,StagePalette,StagePlayerは(株)NTTデータの登録商標です。 ・Microsoft,Windows,Windowsロゴ,WindowsNTは米国Microsoft Corporationの米国及びその他の国におけ る登録商標です。 ・Windows NTは米国Microsoft Corporationの米国及びその他の国における登録商標です。 ・pcANYWHEREはSymantec Corporationの米国における登録商標です。 ・その他、記載されている会社名、製品名は、各社の登録商標または商標です。 著作権について Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved この文書には著作権があり、すべての権利を(株)NTT データが所有しています。この文書は、(株)NTT デ ータの許可なくしては、全体あるいは一部でも、電子的または機械的、いかなる形式、またはいかなる手 段での複写・転載・再配布をすることができません。 この文書に記載されている内容に関しては、断りなく変更することがあります。また、この文書の内容 に関して誤りがあった場合でも、当社はいかなる責任も負いません。 製品のお問い合わせについて 本製品に関する技術的なお問い合わせや、製品のサポートに関しましては、お買い上げの販売店にご連 絡下さいますよう、お願いいたします。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 1 アプリケーション開発入門ガイド 目 次 1 概要...................................................................................... 1 1.1 VOISTAGE について ..................................................................... 1 1.2 オンラインヘルプについて .............................................................. 3 2 マルチメディアカード...................................................................... 4 2.1 標準機能.............................................................................. 4 2.2 実現できる機能について ................................................................ 5 2.3 マルチメディアカードの設定 ............................................................ 6 2.3.1 VS-402MC/403MC の設定 ............................................................. 6 2.3.2 その他の設定ファイル .............................................................. 7 3 開発ツール................................................................................ 8 3.1 アプリケーション実行環境について ...................................................... 9 3.2 StageWriter.......................................................................... 11 3.2.1 StageWriter の機能 ............................................................... 11 3.2.2 ファイル構成..................................................................... 12 3.2.3 StageWriter でのプログラム開発 ................................................... 13 3.3 VOISTAGE スクリプト言語 .............................................................. 16 3.3.1 スクリプトソース作成の概要 ....................................................... 16 3.3.2 スクリプトソースのコンパイル ..................................................... 19 3.3.3 VOISTAGE スクリプト言語命令一覧 .................................................. 20 3.4 VOISTAGE ActiveX..................................................................... 25 3.4.1 VOISTAGE ActiveX コンポーネント(VSM07001 コントロールモジュール)の登録 ............ 26 3.4.2 VOISTAGE ActiveX(VSM07001)のコーディング ......................................... 27 3.4.3 VOISTAGE ActiveX(VSM07001)メソッド一覧 ........................................... 29 3.4.4 VOISTAGE ActiveX コンポーネント(VSACTX21 コントロールモジュール)の登録 ............ 31 3.4.5 VOISTAGE ActiveX(VSACTX21)のコーディング ......................................... 32 3.4.6 VOISTAGE ActiveX(VSACTX21)メソッド一覧 ........................................... 34 3.5 S.100 API テレフォニー ライブラリ .................................................... 37 3.5.1 S.100 API アプリケーション概念 ................................................... 37 3.5.2 S.100 API アプリケーションの作成 ................................................. 39 3.5.3 S.100 API 関数一覧 ............................................................... 42 3.6 TAPI テレフォニー ライブラリ ......................................................... 46 3.6.1 テレフォニードライバの登録 ....................................................... 46 3.6.2 TAPI アプリケーションの作成 ...................................................... 48 3.7 UnPBX システム開発キット(オプション) ............................................... 51 3.7.1 UnPBX システムの概要 ............................................................. 52 3.7.2 UnPBX シーケンス ................................................................. 53 3.7.3 UnPBX システム作成 ............................................................... 54 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 i アプリケーション開発入門ガイド 4 StagePalette............................................................................. 57 4.1 StagePalette の画面 .................................................................. 57 4.2 StagePalette の機能 .................................................................. 58 4.3 システム設定......................................................................... 59 4.4 環境設定............................................................................. 61 4.5 回線設定............................................................................. 63 4.6 プログラム設定....................................................................... 64 4.7 タイマー設定......................................................................... 67 4.8 イベント設定......................................................................... 68 4.9 異常通知先設定....................................................................... 69 4.10 回線特性設定........................................................................ 70 4.11 カテゴリー編集ツール ................................................................ 73 4.12 INS ネットサービス設定 .............................................................. 75 4.13 メッセージ登録ツール ................................................................ 77 4.14 FAX 登録ツール ...................................................................... 78 4.15 テストツール........................................................................ 79 4.16 音声合成ユーティリティ .............................................................. 80 5 StagePlayer.............................................................................. 81 5.1 StagePlayer の機能 ................................................................... 81 5.2 StagePlayer 画面 ..................................................................... 82 5.3 モニター画面......................................................................... 83 5.4 ログ、トレース....................................................................... 84 6 開発・運用のポイント..................................................................... 89 6.1 回線特性設定について................................................................. 89 6.2 音声認識プログラムについて ........................................................... 90 6.2.1 音声認識について ................................................................. 90 6.2.2 文法............................................................................. 90 6.2.3 アプリケーションへの組み込み ..................................................... 91 6.2.4 誤認識時の処理................................................................... 92 6.3 24 時間運用について .................................................................. 93 6.3.1 自動ログインの設定 ............................................................... 93 6.3.2 システムの設定................................................................... 93 6.4 マルチメディアカード種別による機能比較 ............................................... 95 6.5 発信時相手応答検出.................................................................. 100 6.6 回線切断検出........................................................................ 101 6.7 VS-402MC 使用時の使用回線別留意点 ................................................... 102 6.7.1 NTT アナログ回線 ................................................................ 102 6.7.2 PBX 回線 ........................................................................ 102 6.7.3 TA(ターミナルアダプター)アナログポート ........................................ 104 6.7.4 ナンバーディスプレイ回線 ........................................................ 104 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 ii アプリケーション開発入門ガイド 1 概 要 1.1 VOISTAGE について VOISTAGE は、発展する CTI 市場に対し、株式会社 NTT データが新たに提案する、音声 FAX 処理に関わる 商品群の戦略ブランドです。VOISTAGE は、4回線(チャネル)音声処理ボード(マルチメディアカード)を中 心とし、開発ツールや運用環境などすべて包括したパッケージを提供しています。動作環境としては Windows NT4.0 SP6a,Windows2000 SP2 以上で動作します。開発ツールや、各種ユーティリティは VOISTAGE 基本ソフトウェア(以下、基本ソフトウェア)として提供しています。開発ツールとして、専用開発ツール の StageWriter、VOISTAGE スクリプト言語(VPS)、 Visual Basic、 Visual C++開発のための VOISTAGE ActiveX、 S.100API ライブラリ、Microsoft の Telephony Application Programming Interface(TAPI)に対応した TAPI テレフォニーライブラリがあり、運用環境には、回線や業務プログラムを監視する StagePlayer、環 境の設定や音声、FAX 情報を簡単に登録できる StagePalette があります。 また、VOISTAGE 製品として以下のようなラインナップをご提供しております。 ・マルチメディアカード(VS-402MC、VS-403MC、VS-201MC) VOISTAGE の核となる4回線(チャネル)音声・FAX 処理ボードです。さまざまな機能を標準で装備し、ア プリケーション開発者層の拡大を想定した専用開発ツールを添付しています。 VS-402MC はアナログ回線用の PCI バス対応のフルサイズボードです。 VS-403MC は INS ネット64回線用の PCI バス対応のフルサイズボードです。 VS-201MC は INS ネット64回線用の PCI バス対応のハーフサイズボードです。 ・ステーションカード(VS-401SC) UnPBX システム開発キット用の内線ボードです。アナログ4回線の局側インターフェースをもち、PC シ ステム内で VS-402MC/403MC との接線により、外線/内線の交換機能を実現します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 1 アプリケーション開発入門ガイド ・マルチメディアサーバー(VS-3201MS、VS-3202MS) マルチメディアカードを8枚搭載して、最大32回線のサービスを実現する専用プラットフォームです。 ミラー構成のハードディスクやセンサー付き冷却ファン、PD ドライブなども搭載し、高い信頼性とキメ細 かい使いやすさで、過酷な連続運転にも安心してご使用いただけます。お客様のニーズにお応えする為、 数タイプをご用意しております。 ・故障通報装置(VS-101LM、VS-801LM、VS-802LM) 音声応答システムの故障を24時間監視し、障害時には保守者と利用者双方にメッセージを送る装置で す。既存の音声応答システムに接続するだけで、装置や回線状態を常時監視、信頼性が求められるさまざ まなサービスを万全にバックアップします。システムの回線数にあわせて1回線用、8回線用の2種類を ご用意しております。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 2 アプリケーション開発入門ガイド 1.2 オンラインヘルプについて 基本ソフトウェアのマニュアルについては、すべてインストール後のオンラインヘルプになっています。 そのため使用するプログラムに合わせて該当のヘルプを参照していただくようお願いします。オンライン ヘルプとして提供しているものは以下の通りです。 表 1.2-1 オンラインヘルプ一覧 項番 プログラム名 ヘルプファイル名 スタートメニュー 1 StageWriter VSSTGWTR.HLP StageWriter Help 2 StagePalette VSTOOLS.HLP StagePalette Help 3 StagePlayer VSSUPER.HLP StagePlayer Help 4 VOISTAGE ActiveX VSM07001.HLP ActiveX Help 5 TAPI テレフォニーライブラリ VSMTAPI2.HLP TAPI Help 6 S.100 API テレフォニーライブラリ VSMS100.HLP S.100 API Help 7 スクリプトコンパイラ VSSCRIPT.HLP スクリプト言語仕様書 8 スクリプトコンパイラ VSCOMP.HLP スクリプト言語手引書 9 メッセージ登録ツール VSMSGSET.HLP なし(ツールより表示) 10 FAX 登録ツール VSFAXSET.HLP なし(ツールより表示) 11 音声合成ユーティリティ (VS-402MC/403MC) VSTTSDIC.HLP なし(ツールより表示) 12 Q&A VSQ&A.HLP Q&A Help 13 トラブルシュート VSTROUBL.HLP トラブルシュート 14 用語集 VS 用語集.HLP 用語集 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 3 アプリケーション開発入門ガイド 2 マルチメディアカード 2.1 標準機能 音声処理 高速 RISC プロセッサを搭載し、64kbpsμ-LawPCM のナチュラルな音質を実現。 さらにデジタル符号化のサンプリング密度を動的に変化させる ADPCM により、高品質な音声が必要な サービスや大量の音声を取り扱うサービスにも対応できます。 FAX 処理 14.4kbps の高速 FAX モデムを搭載し、4回線(チャネル)の非同期送受信を可能にしました。 FAX 情報システムや資料請求などのシステムが低コストで構築可能です。 ナンバーディスプレイ対応 NTT が提供する発信電話番号表示サービスに対応しています。 着信時に発信者の電話番号情報を取得することにより、関連データも即時に入手でき、受信者システ ムによる高度な処理とサービス向上に貢献します。 ※電話番号情報取得には、発信電話番号表示サービスへの加入が必要です。 ダイヤルイン対応 VS-402MC では NTT が提供する PB 方式でのダイヤルインサービスに対応しています。 VS-403MC では NTT が提供する INS ネット付加サービスのダイヤルインサービスに対応しています。 ダイヤル認識 ダイヤルパルス信号をトーン信号と同レベルで認識します。わずらわしいトーン切り替え操作を不 要にしました。 音声認識 認識させようとする単語をあらかじめテキストにて設定しておくことにより、不特定の人が話す言 葉をリアルタイムに認識させることができます。 同時認識単語数は、100∼500 単語程度、認識率は約 95%を達成しました。 同時認識単語数や認識率は、使用メモリ、回線数や使用環境により変わります。 音声合成 テキストデータを自然な音声に変換し、発声することが可能です。 コード入力された商品名や会員名・住所などの読み上げや、株価・預金残高照会、各種情報の提供な ど多用途に活用できます。さらに VS-402MC/403MC では新方式の音声合成エンジン採用により一段と自 然な発声を実現しました。 データ通信 33.6kbps の高速データ通信が可能です。 音声応答処理からデータ通信モードに切り替えが可能です。 回線認識 従来、ハードウェアで行っていた設置環境ごとのチューニング作業を、ソフトウェア上の簡単な操 作で自動的に行うことができます。PBX との組み合わせなど、異なる環境の特性にあわせた最適な設 定が行えるだけでなく、極性反転の検出も可能です。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 4 アプリケーション開発入門ガイド 2.2 実現できる機能について 最大回線数 1 プラットフォーム 32 回線(VS-402MC/403MC 8 枚または VS-201MC 8 枚)が最大です。 ただし業務アプリケーションの内容により適正な回線数は異なり、プラットフォームの処理速度や搭 載メモリ量も異なってきます。16 回線程度で運用されるシステムが多数となっています。 回線環境 <VS-402MC> 推奨する動作環境は、NTT のアナログ公衆回線に直接回線をつないで頂くアナログ直収回線です。 ISDN 環境であれば TA 配下のアナログ回線に接続します。PBX の場合も 2 線式のアナログ回線に接続し ます。PBX や TA の場合は回線特性設定などで回線の情報を設定する必要があります。 TA の機種によっては正しく発信者番号を取得できない場合があります。 <VS-403MC、VS-201MC> NTT との契約はポイント to マルチポイント契約です。 マルチポイント接続する場合は、他の機器との相互干渉により不具合が発生する可能性があるので、 極力他の機器との接続はしないで下さい。 VS-403MC との接続は DSU 配下に直接(S/T 点)接続して下さい。 VS-201MC との接続は U 点または S/T 点接続してください。 データベース処理 データベースの処理は Microsoft Jet データベースエンジンを使用しています。ただしスクリプト 言語ではデータベースの一部の機能のみ実現しています。その他の機能を使用する場合は Visual Basic、 Visual C++などで作成する必要があります。 また ORACLE などのデータベースを使用する場合は、他の開発ツールを用いてプログラムの作成が別途 必要になります。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 5 アプリケーション開発入門ガイド 2.3 マルチメディアカードの設定 2.3.1 VS-402MC/403MC の設定 VS-402MC/403MC を使用するには使用するマルチメディアカードの枚数を設定する必要があります。 設定を変更する場合は基本ソフトウェア設定ファイル(¥WinNT 配下の VOISTAGE.INI ファイル) をメモ 帳などのエディタで修正して下さい。 表 2.3.2-1 VOISTAGE.INI の詳細内容(VS-402MC/403MC 使用時) 項番 1 セクション名 USERINFO 項目名 記事 NAME ユーザー名 COMPANY 所属 PATH 基本ソフトウェアのインストール先パス MonitorPath モニタープログラムの格納先パス COMPANYNAME SAPI対応音声合成エンジン提供会社名 6 MALEVOICENAME 男性音声データ名 7 FEMALEVOICENAME 女性音声データ名 8 ROBOTVOICENAME ロボット音声データ名 9 PRIMARYLANGUAGE 主言語国番号(17=日本) 10 SUBLANGUAGE 副言語国番号(0固定) 11 PITCHLEVEL 声の高さ(50∼250) 12 SPEEDLEVEL 話者速度(1∼256) 13 DEFAULTTYPE 回線を使用しないプロセスが使用する音声合成エン 2 3 COMMON 4 5 TTS ジン(VS-402MC/403MCは2固定) 14 VS-401MC VS-401MC使用枚数(0固定) 15 VS-402MC VS-402MC/403MC使用枚数 16 PRIORITY カード優先順(VS-402MC固定) SizeScript スクリプトトレースの出力設定の初期値 18 SetScript スクリプトトレースのファイルサイズの初期値 19 SizeMiddle ミドルウエアログの出力設定の初期値 20 SetMiddle ミドルウエアログのファイルサイズの初期値 21 SizeS100 S.100ログの出力設定の初期値 22 SetS100 S.100ログのファイルサイズの初期値 23 SizeFirm ファームウエアログの出力設定の初期値 24 SetFirm ファームウエアログのファイルサイズの初期値 25 SizeISDN ISDNプロトコルの出力設定の初期値 26 SetISDN ISDNプロトコルのファイルサイズの初期値 27 SizeFAX FAXプロトコルの出力設定の初期値 28 SetFAX FAXプロトコルのファイルサイズの初期値 WatchDogTimerOn ウォッチドッグタイマー使用可否 TimerValue ウォッチドッグタイマー値 17 29 30 CARD_INFO Log WatchDogTimer ※ VS-402MC/403MC では IRQ を 1 つ使用しますが、設定は必要ありません。 (起動時に自動的に空いている IRQ を使用します。) ※ WatchDogTimer はマルチメディアサーバー使用時に有効です。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 6 アプリケーション開発入門ガイド 2.3.2 その他の設定ファイル カテゴリーファイル 回線毎のマルチメディアカードの設定を行います。StagePalette のカテゴリー編集ツールで設定し て下さい。 アプリケーションプロファイル(VS-402MC/403MC,VS-201MC) 回線毎のマルチメディアカードの種類を設定します。各種 INS ネットサービスを設定します。 StagePalette の INS ネットサービス設定で設定して下さい。 回線特性データファイル(VS-402MC/403MC) コールプログレストーン等の回線特性を設定します。StagePalette の回線特性設定で設定して下さ い。VS-403MC では基本的に回線特性設定を行う必要はありません。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 7 アプリケーション開発入門ガイド 3 開発ツール マルチメディアカードの基本ソフトウェア開発ツールには、以下のものがあります。 また基本ソフトウェアとは別に UnPBX システム開発用として UnPBX システム開発キットを提供しています。 (1)StageWriter パソコンの画面上で音声・FAX 応答処理のプログラムを簡単に作成できる GUI ベースの開発ツールです。 プロトタイプシステムの開発時や限定された用途のスタンドアロンシステムの開発に向いています。 (2)VOISTAGE スクリプト言語(専用スクリプト) 専用のスクリプト言語で作成したソースをコンパイルし、IL ファイル(中間言語ファイル)を生成する プログラムです。 サービスフロー中心の IVR システム開発に向いています。 (3)VOISTAGE ActiveX 音声・FAX 処理や音声認識、音声合成の機能を提供する ActiveX です。VOISTAGE ActiveX により Visual Basic、Visual C++による開発が可能です。 C/S 型システムや Web サーバー、データベースサーバーとの連携システムの開発に向いています。 (4)S.100 API テレフォニー ライブラリ ECTF(Enterprise Computer Telephony Forum)の S.100 API に準拠したテレフォニーAPI を提供します。 複雑な制御を要するシステムの開発に向いています。 (5)TAPI テレフォニー ライブラリ Microsoft 社の TAPI に準拠したテレフォニーAPI を提供します。 (6)UnPBX システム開発キット(オプション) UnPBX システム開発の為に ECTF(Enterprise Computer Telephony Forum)の S.100 API に準拠したテレフ ォニーAPI を提供します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 8 アプリケーション開発入門ガイド 3.1 アプリケーション実行環境について 使用するマルチメディアカードによってアプリケーションの実行環境が異なります。 VS-402MC/403MC の実行環境を図 3.1-2 に示します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 9 アプリケーション開発入門ガイド StageWriter StagePalette テストツール FAX 登録ツール 音声合成 ユーティリティ メッセージ登録ツール Visual Basic Visual C++ IL VB 作成 AP VC++作成 AP スクリプトエンジン VOISTAGE VOISTAGE スクリプト言語 回線特性設定 カテゴリー編集ツール 開発対象 INS ネットサービス 設定 ActiveX 設定ファイル VOISTAGE アプリケーション 回線特性 カテゴリー .INI プロファイル データファイル ファイル ミドルウェア TAPI.DLL S.100(VSMS100.DLL) マルチメディアカードデバイスサービス マルチメディアカードログサービス Windows NT 4.0/Windows2000 マルチメディアカードデバイスドライバ(VMCDRVPC.SYS) マルチメディアカード(VS-402MC/403MC) 図 3.1-2 アプリケーション実行環境図(VS-402MC/403MC) Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 10 アプリケーション開発入門ガイド 3.2 StageWriter StageWriter は、直感的にサービスフローが作成可能な GUI 環境をもつ、音声/FAX 応答システムのアプ リケーション開発ツールです。Visual Basic などのプログラミング経験のない方でも簡単にアプリケーシ ョンを作成することが可能です。 3.2.1 StageWriter の機能 StageWriter はアイコン化された個々のサービス部品を順々にフィールドにドラッグ&ドロップするだ けで開発できます。専用スクリプトによるサービス部品の作成もでき、複雑な業務の作成が可能です。 サービスフロー作成後に、コンパイルを行うことで自動的に専用のスクリプトソース(VPS)を生成しま す。 StageWriter のソフトウェア構成図を図 3.2.1-1 に示します。 StageWriter 作成 スクリプト サブルーチン マクロ定義 ソースファイル ソースファイル ソースファイル 入力 コンパイル スクリプトコンパイラ マージ情報 エラー情報 StagePlayer IL 解釈実行 スクリプトエンジン 図 3.2.1-1 StageWriter 構成図 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 11 アプリケーション開発入門ガイド 3.2.2 ファイル構成 StageWriter で扱うディレクトリ構成を示します。 (ディレクトリ構成) ¥VOISTAGE¥DATA …………………StagePlayer の動作中に使用する環境情報 ¥DB ………………………… StagePlayer のタイマーデータベース ¥EXEC………………………… 基本ソフトの実行プログラム (StagePlayer 実行時のカレントディレクトリ) ¥PRT ………………………… StageWriter の印刷出力用ファイル ¥RECOGN……………………… 音声認識プログラムディレクトリ ¥SYS ………………………… StageWriter ではこのディレクトリ下にファイルを作成します。 ¥システム ID ………… システム ID ¥DATA …………… StageWriter の業務情報が作成されます。 ¥DB ……………… StageWriter で処理する DB ファイルを設定します。 ¥FAX……………… StageWriter で処理する FAX ファイルを設定します。 ¥TEXT …………… StageWriter の FAX 変換用テキストファイルを設定します。 ¥VOICE…………… StageWriter で処理する音声ファイルを設定します。 ¥業務 ID………… 業務プログラムが作成されます。 ¥TEMP………………………… 作業用ディレクトリ ¥TUTORIAL…………………… 開発用サンプルファイルなどが入っています。 ¥WRITER……………………… StageWriter の情報ファイルディレクトリ ¥VSLOG ……………………… 各ログ情報が出力されます。 ¥ERROR………………… エラーログが出力されます。 ¥TRACE………………… トレースーログが出力されます。 ¥RECOGN ……………… 音声認識のログが出力されます。 ¥ETC…………………… その他のログが出力されます。 ¥USER ………………… ユーザーが自由に独自のログを出力するためのディレクトリです。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 12 アプリケーション開発入門ガイド 3.2.3 StageWriter でのプログラム開発 StageWriter で作成するアプリケーションはシステムと呼ばれる単位で管理され、そのシステム内に複 数の業務を作成する事ができます。 以下に StageWriter 操作手順を示します。 ①スタートメニュー等から StageWriter を起動して下さい。 ②システム選択画面に作成するシステム名、システム ID、管理者名を入力して下さい。 (すでにシステムを作成されている場合は、一覧より変更するシステムを選択して下さい。) ③業務選択画面で作成する業務名、業務 ID を入力して下さい。 (すでに業務を作成されている場合は、一覧より変更する業務を選択して下さい。) 作成する業務名、業務 ID を入力して下 さい。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 13 アプリケーション開発入門ガイド ④サービスフロー画面が開いたら、サービス部品アイコンをクリックしサービスフロー画面に 貼り付けて下さい。 使用する部品をクリックし、マ ウスで移動した後、サービスフ ロー上で再度クリックして下 さい。 ⑤必要に応じてサービス部品プロパティを設定して下さい。 例:「音声を再生する」部品 音声ファイルを選択し、音声ファ イルに含まれるメッセージから 再生するものを選択します。 「オプション」、「後処理」で音 量や回線が切断された時などの 設定ができます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 14 アプリケーション開発入門ガイド ⑥サービスフローが完成したら、コンパイルを実行します。 コンパイルの実行 ⑦コンパイルが正常に終了すれば以下のようなメッセージが表示されます。 エラーが発生した場合はエラーメッセージが表示されますので、その内容に応じてサービスフローや 各部品のプロパティなどを修正して下さい。 詳細な使用方法は、StageWriter Help を参照して下さい。 サンプルプログラムは業務選択のテンプレートタグにありますので参照して下さい。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 15 アプリケーション開発入門ガイド 3.3 VOISTAGE スクリプト言語 VOISTAGE スクリプト言語を使用してアプリケーションを作成することができます。StageWriter でのア プリケーション開発に比べ、効率的な開発が可能となります。 3.3.1 スクリプトソース作成の概要 スクリプトソースは、拡張子(.VPS)のテキストファイルで作成して下さい。 サブルーチン(拡張子.YPS)、マクロ定義(拡張子.SPS)を作成し、スクリプトから呼び出すことができます。 スクリプトコンパイラは、スクリプトソースとサブルーチンソースをマージしコンパイルソースファイル (.MPS)を作成後、IL ファイルを出力します。 コンパイル時の構文エラーは、コンパイルエラーファイル(ERRFILE.TXT)に出力されます。 サブルーチンソース スクリプトソース YPS VPS マクロ定義ソース SPS コンパイルソース MPS エラー情報 IL ファイル IL 図 3.3.1-1 スクリプトソース作成の概要 詳細な使用方法は、スクリプト言語仕様書、スクリプト言語手引書を参照して下さい。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 16 アプリケーション開発入門ガイド 【ファイル概要】 ・スクリプトソースファイル(.VPS) スクリプトソースのメインモジュールが入っているソースファイルです。 ;***************************************************************************** ;プログラム名 :留守番電話 ;ファイル名 :MAIN.VPS ;実行ファイル名 :MAIN.IL ;機能概要 :着信、音声再生、音声録音を繰り返す ;注意点 :SUB0001.YPS MAC0001.SPS を使用 ;***************************************************************************** DEFVAR カウンタ[10] ;カウンタ変数定義 ダイヤルイン番号[30] ;ダイヤルイン番号変数定義 ENDVAR DEFPROC MAIN MOVE(カウンタ,0) ;カウンタ初期化 WHILE(カウンタ < 100) WAITRING(0,ダイヤルイン番号) ;着信待ち CALL SUB0001 ;サブルーチン呼び出し BEEP(1,0) ;ビープを鳴らす VOICERECORD("RECORD.VSX",カウンタ,10,"?") ;音声録音 MACROCALL MAC0001 ;マクロ呼び出し ONHOOK() ;回線切断 ENDWHILE QUIT ;終了 ENDPROC スクリプトソースファイルの例 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 17 アプリケーション開発入門ガイド ・サブルーチンソースファイル(.YPS) スクリプトソースのサブルーチンモジュールを記述したソースファイルです。 言語仕様は、スクリプトソースファイルと同様に記述します。 ;***************************************************************************** ;プログラム名 :留守番電話 ;ファイル名 :SUB0001.YPS ;機能概要 :音声再生 ;***************************************************************************** DEFPROC SUB0001 VOICEPLAY("PLAY.VSX","1",0) ;メッセージの再生を行う RETURN ENDPROC ・マクロ定義ソースファイル(.SPS) スクリプトソースまたは、サブルーチンソースから、MACROCALL 命令指定によりマクロソース展 開するソースファイルです。 ADD(カウンタ,1,カウンタ) ;カウンタインクリメント ・IL ファイル(.IL) スクリプトコンパイラが出力する実行命令を中間言語として処理したファイルです。 スクリプトエンジンがこのファイルを解釈実行することによりスクリプト命令の実行を行いま す。 ・コンパイルエラーファイル(ERRFILE.TXT) スクリプトコンパイラの構文チェックの結果、構文エラーまたは警告エラーが発見された場合、 その内容を結果ファイルとして出力します。 ・コンパイルソースファイル(.MPS) スクリプトコンパイラがプリコンパイルして得られたソースファイルです。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 18 アプリケーション開発入門ガイド 3.3.2 スクリプトソースのコンパイル コマンドプロンプトから VSCOMP コマンドでスクリプトコンパイラを起動します。 コマンド指定方法 (c:¥に VOISTAGE をインストールした場合) c:¥VOISTAGE¥EXEC¥VSCOMP [/P /OK /D] VPS ファイル名 [YPS ファイル名...] [ ]内は省略可 ・コンパイラオプションの内容 /P IL を作成します /OK 構文チェックのみ行います(省略時は/P を仮定します) /D 未定義変数をエラーにします (省略時は、警告エラー) VPS ファイル名 [PATH¥]VPS ソース (.VPS) YPS ファイル名 [PATH¥]サブルーチンソース (.YPS) ・マクロ定義ソースのディレクトリ指定 マクロ定義ソースは、コマンドのカレントディレクトリに置くかまたは環境変数でディレクト リを指定します。 環境変数(VOISTAGE_SPSPATH) 指定例 SET VOISTAGE_SPSPATH = C:¥Voistage¥parts ・IL の作成位置 IL ファイルは、コマンドで指定された VPS ファイルの同じディレクトリに拡張子(.IL)で作 成されます。 ・VSCOMP コマンドの戻り値 VSCOMP コマンドの戻り値は、Return Code[0]という形で画面出力されます。戻り値は、以下の 通りです。 0…構文エラーなし、/P オプションの場合 IL が作成されます。 4…警告エラーあり、/P オプションの場合 IL が作成されます。 コマンド発行のカレントディレクトリに Errfile.txt ファイルに構文エラー内容が出 力されます。 -1…構文エラーあり、IL は作成されません。 コマンド発行のカレントディレクトリに Errfile.txt ファイルに構文エラー内容が出 力されます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 19 アプリケーション開発入門ガイド 3.3.3 VOISTAGE スクリプト言語命令一覧 ○:サポート ×:使用できない 分類 命令 機能 402MC 403MC 201MC タッチトーンバッファのチェック ○ ○ ○ CHCONNECT チャネル間接続 ○ ○ × CHUNHOLD チャネル保留解除 ○ ○ × CHHOLD チャネル保留 ○ ○ × CLEARDTMF タッチトーンバッファのクリア ○ ○ ○ CNGCHECK FAX 受信か電話かをチェック ○ ○ × DIAL ダイヤルコールする ○ ○ ○ GETCALLID 発信者番号の取得 ○ ○ ○ GETDTMF タッチトーンの取得 ○ ○ ○ GETLINENO 使用回線番号の取得 ○ ○ ○ GETLINESTATUS 回線接続状態取得 ○ ○ ○ GETSETUPINFO 着信情報取得 ○ ○ ○ FLASH フッキング ○ ○ × LOADPRO プロファイルの一括設定 ○ ○ ○ NETSRVCMD サービス制御コマンド発行 × ○ × ONHOOK 回線切断 ○ ○ ○ OUTDIAL ダイヤル信号送出 ○ ○ × OUTDTMF トーンの出力 ○ ○ ○ PARAMGET パラメータ値の取得 ○ ○ ○ PARAMSET パラメータ値の変更 ○ ○ ○ PARTYBEGIN 三者通話開始 ○ ○ × PARTYCHANGE 三者通話切り替え × ○ × PARTYFINISH 三者通話終了 ○ ○ × PARTYPREPARE 第三者呼出し ○ ○ × SENSE 各種情報取得 ○ ○ ○ TRANSFER 電話転送 ○ ○ ○ UUIGET ユーザー間情報取得 × ○ ○ UUISET ユーザー間情報設定 × ○ ○ WAITCONNECT 接続待ち ○ ○ × WAITRING 着信待ち ○ ○ ○ ビープ音の発生 ○ ○ ○ EXBEEP 秒数、周波数指定でのビープ音の発生 ○ ○ ○ FILESPEECH テキストファイル中の文字を音声合成 ○ ○ ○ FILETOWAV テキストファイル中の文字を音声合成し ○ ○ ○ ○ ○ 回線処理 CHECKDTMF 音声処理 BEEP 備考 WAVE 出力 RECOGNEND 音声認識終了 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 ○ 20 アプリケーション開発入門ガイド 分類 命令 機能 402MC 403MC 201MC RECOGNINIT 音声認識初期化 ○ ○ ○ RECOGNNOISE ノイズ測定 ○ ○ ○ RECOGNVOICE 音声認識 ○ ○ ○ TEXTSPEECH テキスト文字を音声合成 ○ ○ ○ TEXTTOWAV テキスト文字を音声合成し、WAVE 出力 ○ ○ ○ TTSEND 音声合成終了処理 ○ ○ ○ TTSINIT 音声合成初期処理 ○ ○ ○ TXVOICECLOSE プロンプトファイルのクローズ ○ ○ ○ TXVOICELOAD プロンプトファイルのオープン ○ ○ ○ TXVOICEPLAY プロンプトファイルの再生 ○ ○ ○ VOICECHECK 音声メッセージの属性取得 ○ ○ ○ VOICECHECKBG 非同期音声再生動作確認 ○ ○ × VOICECOPY 音声ファイルのコピー ○ ○ ○ VOICEDELETE 音声ファイルの削除 ○ ○ ○ VOICEPACK 音声ファイルのガベ−ジ ○ ○ ○ VOICEPLAY 音声再生 ○ ○ ○ VOICEPLAYBG 非同期音声再生 ○ ○ × VOICESTOPBG 非同期音声再生停止 ○ ○ × VOICERECORD 音声録音 ○ ○ ○ VSXCHECK 音声メッセージ数取得 ○ ○ ○ VSXTOWAV 音声ファイルを WAVE ファイルに変換 ○ ○ ○ WAVTOVSX WAVE ファイルを音声ファイルに変換 ○ ○ ○ FAX のページ数取得 ○ ○ ○ FAXHEADCUT FAX のヘッドカットサイズ設定 ○ ○ × FAXHEADSET FAX のヘッドデータ設定 ○ ○ × FAXIMCNV FAX データインチ・ミリ属性変更 ○ ○ ○ FAXREC FAX の受信 ○ ○ × FAXSEND FAX の送信 ○ ○ × FAXTCGET TSI 又は CSI を取得する ○ ○ × FAXTCSET TSI 又は CSI を設定する ○ ○ × FAXTOTIF FAX ファイルを TIFF-F ファイルに変換 ○ ○ ○ TEXTTOFAX テキストファイルを FAX ファイル変換 ○ ○ ○ TIFTOFAX TIFF-F ファイルを FAX ファイルに変換 ○ ○ ○ TEXTTOIMAGE テキストファイルを BMP ファイルに変換 ○ ○ ○ OVERLAYIMAGE BMP ファイルを重ねあわせて BMP ファイル ○ ○ ○ FAX 処理 FAXCHECK 備考 出力 データ通 DATAREC データ受信 ○ ○ × 信処理 DATASEND データ送信 ○ ○ × FILEREC ファイル受信 ○ ○ × Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 21 アプリケーション開発入門ガイド 分類 命令 機能 402MC 403MC 201MC FILESEND ファイル送信 ○ ○ × データベ ADDREC 新規レコード作成 ○ ○ ○ ース CLOSETBL DB・テーブルのクローズ ○ ○ ○ CREATEDB データベースの作成 ○ ○ ○ CREATETBL テーブルの作成 ○ ○ ○ DBPATH データベースディレクトリの変更 ○ ○ ○ DELDB データベース削除 ○ ○ ○ DELREC カレントレコード削除 ○ ○ ○ DELTBL テーブル削除 ○ ○ ○ EDIT レコード更新開始 ○ ○ ○ EXECSQL SQL 文発行 ○ ○ ○ GETHENFIELD フィールドの値を取得 ○ ○ ○ MAXREC レコード数取得 ○ ○ ○ OPENTBL DB・テーブルオープン ○ ○ ○ READREC 次レコード読み込み ○ ○ ○ SELECT レコード検索、ソート ○ ○ ○ SELECTCLEAR 検索条件クリア ○ ○ ○ SELECTSET 検索条件設定 ○ ○ ○ SETHENFIELD フィールドに値を設定 ○ ○ ○ SORTCLEAR ソート順設定クリア ○ ○ ○ SORTSET ソート順設定 ○ ○ ○ TBLCLEAR 全レコードの削除 ○ ○ ○ TEXTIN CSV 形式でレコード追加 ○ ○ ○ TEXTOUT テーブル内容 CSV 形式出力 ○ ○ ○ UPDATE レコード更新終了 ○ ○ ○ UPDATECANCEL レコード更新キャンセル ○ ○ ○ ファイル COPYFILE ファイルコピー ○ ○ ○ 操作 CSV CSV 形式変換 ○ ○ ○ DELDIR ディレクトリ削除 ○ ○ ○ DELFILE ファイル削除 ○ ○ ○ FCLOSE ファイルクローズ ○ ○ ○ FCREATE テキストファイル作成 ○ ○ ○ FGETS テキストファイル読み込み ○ ○ ○ FILEFINDEND ファイル検索終了 ○ ○ ○ FILEFINDFIRST ファイル検索開始 ○ ○ ○ FILEFINDNEXT 次ファイル検索 ○ ○ ○ FILESIZE ファイルサイズ取得 ○ ○ ○ FOPEN テキストファイルオープン ○ ○ ○ FPUTS テキストファイル書き込み ○ ○ ○ Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 22 備考 アプリケーション開発入門ガイド 分類 命令 機能 402MC 403MC 201MC FSEEK テキストファイルカレント位置変更 ○ ○ ○ GETCSV CSV 形式から値取得 ○ ○ ○ MAKEDIR 指定ディレクトリ作成 ○ ○ ○ RENAMEFILE ファイル名の変更 ○ ○ ○ SEARCHFILE ファイルの存在チェック ○ ○ ○ CALL 関数呼出し ○ ○ ○ GOTO ジャンプ ○ ○ ○ IF 判定 ○ ○ ○ ELSE 判定(否の場合の処理) ○ ○ ○ ENDIF 判定終了 ○ ○ ○ QUIT プロセス終了 ○ ○ ○ RETURN 関数復帰 ○ ○ ○ SWITCH 複数分岐 ○ ○ ○ CASE 複数分岐分岐先 ○ ○ ○ DEFAULT 複数分岐分岐先(条件以外) ○ ○ ○ ENDSWITCH 複数分岐終了 ○ ○ ○ WHILE 繰り返し ○ ○ ○ BREAKWHILE 繰り返し抜け出し ○ ○ ○ ENDWHILE 繰り返し終了 ○ ○ ○ DO 処理ブロック ○ ○ ○ BREAK 処理ブロック抜け出し ○ ○ ○ ENDDO 処理ブロック終了 ○ ○ ○ MACROCALL マクロ処理呼出し ○ ○ ○ ADD 加算 ○ ○ ○ DIV 割り算 ○ ○ ○ INT 小数点以下切り捨て ○ ○ ○ MOD 割り算の余り取得 ○ ○ ○ MUL 掛け算 ○ ○ ○ NCHECK 数値チェック ○ ○ ○ NFORM 数値文字列正規化 ○ ○ ○ SQR 平方根 ○ ○ ○ SUB 減算 ○ ○ ○ 文字列操 CHR 文字コードを文字に変換 ○ ○ ○ 作 FORMATL 文字列操作(左詰め) ○ ○ ○ FORMATR 文字列操作(右詰め) ○ ○ ○ HANTOZEN 半角文字を全角文字に変換 ○ ○ ○ INSTR 文字列検索 ○ ○ ○ JOIN 文字列連結 ○ ○ ○ LEFT 文字列左から抽出 ○ ○ ○ 制御 演算 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 23 備考 アプリケーション開発入門ガイド 分類 命令 機能 402MC 403MC 201MC LEN 文字列の長さ取得 ○ ○ ○ RIGHT 文字列右から抽出 ○ ○ ○ SUBSTR 文字列から文字列の抽出 ○ ○ ○ 変数のクリア ○ ○ ○ 変数の代入 ○ ○ ○ 現在から指定日数後の日付取得 ○ ○ ○ AFTERDATE2 指定日付から指定日数後の日付取得 ○ ○ ○ AFTERTIME 現在から指定時間後の時間取得 ○ ○ ○ AFTERTIME2 指定日時から指定時間後の時間取得 ○ ○ ○ CHECKDATE 日付の形式チェック、曜日計算 ○ ○ ○ CHECKTIME 時間の形式チェック ○ ○ ○ DIFFDATE 2つの日付の日数差 ○ ○ ○ GETDATE 現在日付、曜日取得 ○ ○ ○ GETTIME 現在時間取得 ○ ○ ○ SETDATE 現在日付設定 ○ ○ ○ SETTIME 現在時間設定 ○ ○ ○ ユーティ DEVICECHECK ドライブ状態チェック ○ ○ ○ リティ DISKFREE ドライブの空き領域取得 ○ ○ ○ GETAPPPARAM プログラムの起動パラメータ取得 ○ ○ ○ GETDIRSIZE ディレクトリ下の使用容量取得 ○ ○ ○ IL サブルーチン呼出し ○ ○ ○ DLLCALL DLL コール ○ ○ ○ EXECDLL ロードした DLL を呼び出す ○ ○ ○ FREEDLL ロードした DLL をアンロードする ○ ○ ○ LOADIL IL を再ロードする ○ ○ ○ LOADDLL DLL モジュールをローディング ○ ○ ○ OPENIL IL ファイルをオープンする ○ ○ ○ SYSCALL 外部プログラム起動 ○ ○ ○ DISPLAY 画面出力 ○ ○ ○ GETILPARAM IL サブルーチンパラメータ取得 ○ ○ ○ LOGOFF ログ出力 OFF ○ ○ ○ LOGON ログ出力 ON ○ ○ ○ SETILPARAM IL サブルーチンパラメータ設定 ○ ○ ○ CLOSEIL IL ファイルをクローズする ○ ○ ○ REPORT StagePlayer(スーパーバイザー)に通知 ○ ○ ○ REQUEST StagePlayer(スーパーバイザー)に要求 ○ ○ ○ SLEEP 指定秒数休止 ○ ○ 変数操作 CLEAR MOVE 日付操作 AFTERDATE 外部呼出 CALLIL その他 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 ○ 24 備考 アプリケーション開発入門ガイド 3.4 VOISTAGE ActiveX VOISTAGE ActiveX は Microsoft Visual Basic 6.0、Microsoft Visual C++ 6.0 を使って簡単に音声・ FAX 応答プログラムを作成できる ActiveX コンポーネントです。電話の発着信、音声再生・録音、FAX 送信・ 受信、音声合成、音声認識など VOISTAGE マルチメディアカードの機能をカスタムコントロールで提供しま す。(Visual Basic 6.0、Visual C++は ServicePack4 以上が必要です。) VOISTAGE ActiveX には 2 種類のコントロールモジュールがあります。 ・VSM07001.OCX 同期型テレフォニーコントロールモジュール VsmTelCom コントロールは同期型で簡単に音声・FAX 応答プログラムを作成 できる ActiveX コンポーネントです。VOISTAGE スクリプトの命令を実行するの と同じような感覚で、Visual Basic、Visual C++上での開発が可能です。 ・VSACTX21.OCX 同期/非同期型テレフォニーコントロールモジュール VSACTX21 コントロールモジュールは以下の 2 つのコントロールで構成されて います。 ・VsTelComSE コントロール(同期/非同期型テレフォニーコントロール) VsTelComSE コントロールは同期あるいは非同期で実行する音声・FAX 応答プ ログラムを作成できる ActiveX コンポーネントです。着信信号の検出や、回線 切断等をイベントとして扱うことで柔軟にアプリケーションを開発すること ができます。また、従来の VOISTAGE スクリプトのようにシーケンシャルに処 理を同期実行することも可能です。 VsTelComSE コントロールは 5 つのオブジェクトで構成されています。 ・VsTelComSE メインオブジェクト ・VsFax FAX オブジェクト ・VsData データ通信オブジェクト ・VsVoice 音声オブジェクト ・VsStation 内線オブジェクト ・VsUtility コントロール(同期/非同期型ユーティリティコントロール) VsUtility コントロールは、FAX ファイルの TIFF ファイルへの変換、音声 メッセージの WAVE ファイルへの変換など、音声・FAX 応答処理に必要なユー ティリティ機能をサポートした ActiveX コンポーネントです。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 25 アプリケーション開発入門ガイド 3.4.1 VOISTAGE ActiveX コンポーネント(VSM07001 コントロールモジュール)の登録 VOISTAGE ActiveX を使用する際には、コンポーネントの登録を行う必要があります。 Visual Basic で使用する場合の登録方法は以下のとおりです。 ① Visual Basic を起動します。 ② プロジェクトを新規作成します。 ③ メニューより、[プロジェクト(P)]−[コンポーネント(O)]を選択して下さい。 ④ コントロールより、[VSM07001 ActiveX Control module]にチェックをして下さい。 [VSM07001 ActiveX Control module]が表示されていない場合は、[参照(B)]ボタンを押下し以下 の VOISTAGE ActiveX コントロールの追加を行って下さい。 (C:¥ に VOISTAGE をインストールした場合) C:¥VOISTAGE¥EXEC¥VSM07001.ocx Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 26 アプリケーション開発入門ガイド 3.4.2 VOISTAGE ActiveX(VSM07001)のコーディング VOISTAGE ActiveX(VSM07001)でのコーディング例を以下に示します。 '***************************************************************************** 'プログラム名 :留守番電話 'プロジェクト名 :MAIN.VBP 'ファイル名 :MAIN.FORM '機能概要 :着信、音声再生、音声録音を繰り返す '***************************************************************************** Private Sub Form_Load() 'VOISTAGE ActiveX コントロール初期処理 VsmTelCom1.LINKPLAYER ("0 1 00000000 0") ' I I I I ' I I I +- スーパーバイザ無しの指定は 0 固定 ' I I +--------- プロセス管理番号:同時実行するプログラムで ' I I ' I +------------ 回線1:1枚目のボードの1番目の回線を使用 ' I ' +-------------- 0 固定 重複しないように8桁の値を設定 回線を使用しない場合は0を指定 End Sub Private Sub Command1_Click() Dim i As Integer 'カウンター For i = 0 To 99 VsmTelCom1.WAITRING 0 '着信待ち VsmTelCom1.VOICEPLAY "PLAY.VSX", "1", 0 '音声再生 VsmTelCom1.Beep 1, 0 'ビープを鳴らす VsmTelCom1.VOICERECORD "RECORD.VSX", i, 10, "?" '音声録音 VsmTelCom1.ONHOOK '回線切断 Next End Sub Private Sub VsmTelCom1_SUPEREND() End '終了 End Sub VOISTAGE ActiveX(VSM07001)のコーディング例 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 27 アプリケーション開発入門ガイド ・初期化処理 初期化処理を行うことによって VOISTAGE ActiveX の使用が可能となります。この処理を行わない 場合には、すべての VOISTAGE ActiveX 命令を使用することができません。また、StagePlayer での プロセス管理を行う場合には初期化命令のパラメータとしてプログラム引数を指定する必要があり ます。 VsmTelCom1.LinkPlayer (Command$) ・終了処理イベント StagePlayer からの終了要求を受け取った場合に発生するイベントで、このイベントを受け取った 場合は、必要な終了処理を行った後、必ず、プロセスを終了しなければなりません。このイベント内 では VOISTAGE ActiveX の命令を使用できません。 注意点 ・VOISTAGE ActiveX は、リアルタイム処理を行うためのコントロールです。電話処理などを実行する場 合、実行した命令が終了するまで次の処理に移れません。よって画面表示や入力などイベント制御の コントロール処理を行う場合は注意が必要です。 ・VOISTAGE ActiveX では、一つのプロセスで一つの回線しか使用できません。 詳細な使用方法は、ActiveX Help を参照して下さい。 サンプルソースは、¥VOISTAGE¥TUTORIAL¥ACTIVEX に入っています。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 28 アプリケーション開発入門ガイド 3.4.3 VOISTAGE ActiveX(VSM07001)メソッド一覧 ○:サポート ×:使用できない 分類 メソッド 機能 402MC 403MC 201MC タッチトーンバッファのチェック ○ ○ ○ CHCONNECT チャネル間接続 ○ ○ × CHUNHOLD チャネル保留解除 ○ ○ × CHHOLD チャネル保留 ○ ○ × CLEARDTMF タッチトーンバッファのクリア ○ ○ ○ CNGCHECK FAX 受信か電話かをチェック ○ ○ × DIAL ダイヤルコールする ○ ○ ○ GETCALLID 発信者番号の取得 ○ ○ ○ GETDTMF タッチトーンの取得 ○ ○ ○ GETLINENO 使用回線番号の取得 ○ ○ ○ GETLINESTATUS 回線接続状態取得 ○ ○ ○ GETSETUPINFO 着信情報取得 ○ ○ ○ FLASH フッキング ○ ○ × LOADPRO プロファイルの一括設定 ○ ○ ○ NETSRVCMD サービス制御コマンド発行 × ○ × ONHOOK 回線切断 ○ ○ ○ OUTDIAL ダイヤル信号送出 ○ ○ × OUTDTMF トーンの出力 ○ ○ ○ PARAMGET パラメータ値の取得 ○ ○ ○ PARAMSET パラメータ値の変更 ○ ○ ○ PARTYBEGIN 三者通話開始 ○ ○ × PARTYCHANGE 三者通話切り替え × ○ × PARTYFINISH 三者通話終了 ○ ○ × PARTYPREPARE 第三者呼出し ○ ○ × SENSE 各種情報取得 ○ ○ ○ TRANSFER 電話転送 ○ ○ ○ UUIGET ユーザー間情報取得 × ○ ○ UUISET ユーザー間情報設定 × ○ ○ WAITCONNECT 接続待ち ○ ○ × WAITRING 着信待ち ○ ○ ○ ビープ音の発生 ○ ○ ○ EXBEEP 秒数、周波数指定でのビープ音の発生 ○ ○ ○ FILESPEECH テキストファイル中の文字を音声合成 ○ ○ ○ FILETOWAV テキストファイル中の文字を音声合成し ○ ○ ○ ○ ○ 回線処理 CHECKDTMF 音声処理 BEEP 備考 WAVE 出力 RECOGNEND 音声認識終了 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 ○ 29 アプリケーション開発入門ガイド 分類 メソッド 機能 402MC 403MC 201MC RECOGNINIT 音声認識初期化 ○ ○ ○ RECOGNNOISE ノイズ測定 ○ ○ ○ RECOGNVOICE 音声認識 ○ ○ ○ TEXTSPEECH テキスト文字を音声合成 ○ ○ ○ TEXTTOWAV テキスト文字を音声合成し、WAVE 出力 ○ ○ ○ TTSEND 音声合成終了処理 ○ ○ ○ TTSINIT 音声合成初期処理 ○ ○ ○ TXVOICECLOSE プロンプトファイルのクローズ ○ ○ ○ TXVOICELOAD プロンプトファイルのオープン ○ ○ ○ TXVOICEPLAY プロンプトファイルの再生 ○ ○ ○ VOICECHECK 音声メッセージの属性取得 ○ ○ ○ VOICECHECKBG 非同期音声再生動作確認 ○ ○ × VOICECOPY 音声ファイルのコピー ○ ○ ○ VOICEDELETE 音声ファイルの削除 ○ ○ ○ VOICEPACK 音声ファイルのガベ−ジ ○ ○ ○ VOICEPLAY 音声再生 ○ ○ ○ VOICEPLAYBG 非同期音声再生 ○ ○ × VOICESTOPBG 非同期音声再生停止 ○ ○ × VOICERECORD 音声録音 ○ ○ ○ VSXCHECK 音声メッセージ数取得 ○ ○ ○ VSXTOWAV 音声ファイルを WAVE ファイルに変換 ○ ○ ○ WAVTOVSX WAVE ファイルを音声ファイルに変換 ○ ○ ○ FAX のページ数取得 ○ ○ ○ FAXPCHECK FAX の属性取得 ○ ○ ○ FAXHEADCUT FAX のヘッドカットサイズ設定 ○ ○ × FAXHEADSET FAX のヘッドデータ設定 ○ ○ × FAXIMCNV FAX データインチ・ミリ属性変更 ○ ○ ○ FAXREC FAX の受信 ○ ○ × FAXSEND FAX の送信 ○ ○ × FAXTCGET TSI 又は CSI を取得する ○ ○ × FAXTCSET TSI 又は CSI を設定する ○ ○ × FAXTOTIF FAX ファイルを TIFF-F ファイルに変換 ○ ○ ○ TEXTTOFAX テキストファイルを FAX ファイル変換 ○ ○ ○ TIFTOFAX TIFF-F ファイルを FAX ファイルに変換 ○ ○ ○ TEXTTOIMAGE テキストファイルを BMP ファイルに変換 ○ ○ ○ OVERLAYIMAGE BMP ファイルを重ねあわせて BMP ファイル ○ ○ ○ FAX 処理 FAXCHECK 備考 出力 データ通 DATAREC データ受信 ○ ○ × 信処理 データ送信 ○ ○ × DATASEND Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 30 アプリケーション開発入門ガイド 分類 メソッド 機能 402MC 403MC 201MC FILEREC ファイル受信 ○ ○ × FILESEND ファイル送信 ○ ○ × DLL コール ○ ○ ○ LOADDLL DLL モジュールをローディング ○ ○ ○ EXECDLL ロードした DLL を呼び出す ○ ○ ○ FREEDLL ロードした DLL をアンロードする ○ ○ ○ LOGOFF ログ出力 OFF ○ ○ ○ LOGON ログ出力 ON ○ ○ ○ REPORT StagePlayer(スーパーバイザー)に通知 ○ ○ ○ REQUEST StagePlayer(スーパーバイザー)に要求 ○ ○ ○ 外部呼出 DLLCALL その他 備考 3.4.4 VOISTAGE ActiveX コンポーネント(VSACTX21 コントロールモジュール)の登録 VOISTAGE ActiveX を使用する際には、コンポーネントの登録を行う必要があります。 Visual Basic で使用する場合の登録方法は以下のとおりです。 ① Visual Basic を起動します。 ② プロジェクトを新規作成します。 ③ メニューより、[プロジェクト(P)]−[コンポーネント(O)]を選択してください。 ④ コントロールより、[VSACTX21 ActiveX コントロール モジュール]にチェックをして下さい。 [VSACTX21]が表示されていない場合は、[参照(B)]ボタンを押下し以下の VOISTAGE ActiveX コン トロールの追加を行ってください。 (C:¥に VOISTAGE をインストールした場合) C:¥VOISTAGE¥EXEC¥VSACTX21.ocx Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 31 アプリケーション開発入門ガイド 3.4.5 VOISTAGE ActiveX(VSACTX21)のコーディング例 VOISTAGE ActiveX(VSACTX21)でのコーディング例を以下に示します。 '***************************************************************************** 'プログラム名 :留守番電話 'プロジェクト名 :MAIN.VBP 'ファイル名 :MAIN.FORM '機能概要 :着信、音声再生、音声録音を繰り返す '***************************************************************************** Option Explicit Private Const UserID As Long = 1 'ユーザー指定の処理 ID(0∼9999) Private VoiceObj As VsVoice 'Voice オブジェクト Private Sub Form_Load() VsTelComSE1.LinkPlayer UserID, 1, Command$ 'VOISTAGE ActiveX コントロール初期処理 Set VoiceObj = VsTelComSE1.Voice 'Voice オブジェクトへの参照を変数に代入 End Sub Private Sub Command1_Click() Dim i As Integer 'カウンター For i = 0 To 99 VsTelComSE1.AnswerCall UserID '着信待ち VoiceObj.VoicePlay UserID,"C:¥VOISTAGE¥SAMPLE.VSX", "1", 1 '音声再生 VsTelComSE1.Beep UserID, 1, 0 'ビープ音を鳴らす VoiceObj.VoiceRecord UserID,"C:¥VOISTAGE¥RECORD.VSX", i, 30, "?" '音声録音 VsTelComSE1.OnHook UserID '回線切断 Next End '終了 End Sub VOISTAGE ActiveX(VSACTX21)のコーディング例 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 32 アプリケーション開発入門ガイド ・VsTelComSE コントロールの初期化 VsTelComSE コントロールのメソッド実行、プロパティ設定、 イベントプロシージャの実行を行う前、 最初に LinkPlayer メソッドを実行し、コントロールを使用可能にする必要があります。 ・終了処理イベント StagePlayer からの終了要求を受け取った場合に発生するイベントで、このイベントを受け取った 場合は、必要な終了処理を行った後、必ず、プロセスを終了しなければなりません。このイベント内 では VOISTAGE ActiveX の命令を使用できません。 注意点 ・VOISTAGE ActiveX は、リアルタイム処理を行うためのコントロールです。電話処理などを実行する場 合、実行した命令が終了するまで次の処理に移れません。よって画面表示や入力などイベント制御の コントロール処理を行う場合は注意が必要です。 ・VOISTAGE ActiveX では、一つのプロセスで一つの回線しか使用できません。 詳細な使用方法は、ActiveX Help を参照して下さい。 サンプルソースは、¥VOISTAGE¥TUTORIAL¥ACTIVEX に入っています。 ・VsmTelCom コントロールと VsTelComSE、VsUtility コントロールを同一プロセスで混在して使用する ことはできません。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 33 アプリケーション開発入門ガイド 3.4.6 VOISTAGE ActiveX(VSACTX21)メソッド一覧 ○:サポート ×:使用できない 分類 メソッド 機能 402MC 403MC 201MC 着信応答 ○ ○ ○ CallWaiting コールウェイティング × ○ × CheckDtmf タッチトーンバッファのチェック ○ ○ ○ ChConnect チャネル間接続 ○ ○ × ChUnHold チャネル保留解除 ○ ○ × ChHold チャネル保留 ○ ○ × ClearDtmf タッチトーンバッファのクリア ○ ○ ○ Dial ダイヤルコールする ○ ○ ○ DialSc 内線呼出し ○ ○ ○ GetDtmf タッチトーンの取得 ○ ○ ○ Flash フッキング ○ ○ × GetSetupInfo 着信情報取得 ○ ○ ○ GetFreeLineListSc 空回線取得 ○ ○ ○ GetParameterSc 内線パラメータを取得 ○ ○ ○ HoldSc 内線保留 ○ ○ ○ UnHoldSc 内線保留解除 ○ ○ ○ LinkPlayer コントロール初期処理 ○ ○ ○ UtilityInit VsUtility コントロール初期処理 ○ ○ ○ LoadProfile プロファイルの一括設定 ○ ○ ○ UtilityLoadProfile パラメータ一括設定 ○ ○ ○ MethodCancel 指定された実行中の処理を中断 ○ ○ ○ NetSrvCmd サービス制御コマンド発行 × ○ × OnHook 回線切断 ○ ○ ○ OnHookSc 内線を切断状態にする ○ ○ ○ OutboundCallSc 内線からの外線発信 ○ ○ ○ OutDial ダイヤル信号送出 ○ ○ × OutDtmf トーンの出力 ○ ○ ○ PostMessageSc メッセージ送信 ○ ○ ○ GetParameter パラメータ値の取得 ○ ○ ○ SetParameter パラメータ値の変更 ○ ○ ○ GetParameterSc 内線パラメータ値の取得 ○ ○ ○ SetParameterSc 内線パラメータ値の設定 ○ ○ ○ GetUtilityParameter ユーティリティコントロールで使用する ○ ○ ○ ○ ○ 回線処理 AnswerCall 備考 パラメータの値を取得 SetUtilityParameter ユーティリティコントロールで使用する ○ パラメータの値を変更 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 34 アプリケーション開発入門ガイド 分類 メソッド 機能 402MC 403MC 201MC GetVoiceAttr 音声メッセージの属性を取得 ○ ○ ○ GetVoiceCount 音声ファイルのメッセージ数を取得 ○ ○ ○ PartyBegin 三者通話開始 ○ ○ × PartyChange 三者通話切り替え × ○ × PartyFinish 三者通話終了 ○ ○ × PartyPrepare 第三者呼出し ○ ○ × Sense 各種情報取得 ○ ○ ○ Terminate 終了処理を行う ○ ○ ○ UtilityTerminate VsUtility コントロールの終了処理を行う ○ ○ ○ TransferStart 電話転送 ○ ○ ○ TransferCancel 発信者と転送元との通話状態に戻す ○ ○ ○ TransferEnd 転送を完了する ○ ○ ○ TransferStartSc 内線転送開始 ○ ○ ○ TransferCancelSc 転送中止 ○ ○ ○ TransferChangeSc 転送通話先変更 ○ ○ ○ TransferEndSc 内線転送完了 ○ ○ ○ GetUui ユーザー間情報取得 × ○ ○ SetUui ユーザー間情報設定 × ○ ○ 音声デバイスでの音声入出力 ○ ○ ○ Beep ビープ音の発生 ○ ○ ○ BeepEx 秒数、周波数指定でのビープ音の発生 ○ ○ ○ FileSpeech テキストファイル中の文字を音声合成 ○ ○ ○ FileToWav テキストファイル中の文字を音声合成し ○ ○ ○ 音声処理 AudioTransport 備考 WAVE 出力 RecognEnd 音声認識終了 ○ ○ ○ RecognInit 音声認識初期化 ○ ○ ○ RecognNoise ノイズ測定 ○ ○ ○ RecognVoice 音声認識 ○ ○ ○ TextSpeech テキスト文字を音声合成 ○ ○ ○ TextToWav テキスト文字を音声合成し、WAVE 出力 ○ ○ ○ TtsEnd 音声合成終了処理 ○ ○ ○ TtsInit 音声合成初期処理 ○ ○ ○ TxVoiceClose プロンプトファイルのクローズ ○ ○ ○ TxVoiceLoad プロンプトファイルのオープン ○ ○ ○ TxVoicePlay プロンプトファイルの再生 ○ ○ ○ VoiceCopy 音声ファイルのコピー ○ ○ ○ VoiceDelete 音声ファイルの削除 ○ ○ ○ VoicePack 音声ファイルのガベ−ジ ○ ○ ○ VoicePlay 音声再生 ○ ○ ○ Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 35 アプリケーション開発入門ガイド 分類 メソッド 機能 402MC 403MC 201MC VoiceRecord 音声録音 ○ ○ ○ VsxCheck 音声メッセージ数取得 ○ ○ ○ VsxToWav 音声ファイルを WAVE ファイルに変換 ○ ○ ○ WavToVsx WAVE ファイルを音声ファイルに変換 ○ ○ ○ VsxMsgFindFirst 音声ファイルのメッセージ番号検索開始 ○ ○ ○ VsxMsgFindNext 次の音声メッセージ番号検索 ○ ○ ○ VsxMsgFindEnd 音声ファイルメッセージ番号検索終了 ○ ○ ○ FAX のヘッドカットサイズ設定 ○ ○ × SetFaxHead FAX のヘッドデータ設定 ○ ○ × FaxIMConv FAX ファイルのインチミリ属性を変更する ○ ○ × FaxJbigCnv JBIG ファイル変換 ○ ○ × FaxJpegCnv JPEG ファイル変換 ○ ○ × FaxReceive FAX の受信 ○ ○ × FaxSend FAX の送信 ○ ○ × GetFaxAttr FAX ファイルのページの属性取得 ○ ○ × GetFaxPage FAX ファイルのページ数を取得 ○ ○ × GetFaxTc TSI 又は CSI を取得する ○ ○ × SetFaxTc TSI 又は CSI を設定する ○ ○ × FaxToTif FAX ファイルを TIFF-F ファイルに変換 ○ ○ ○ TextToFax テキストファイルを FAX ファイル変換 ○ ○ ○ TifToFax TIFF-F ファイルを FAX ファイルに変換 ○ ○ ○ TextToImage テキストファイルを BMP ファイルに変換 ○ ○ ○ OverLayImage BMP ファイルを重ねあわせて BMP ファイル ○ ○ ○ FAX 処理 FaxHeadCut 備考 出力 データ通 DataReceive データ受信 ○ ○ × 信処理 DataSend データ送信 ○ ○ × FileReceive ファイル受信 ○ ○ × FileSend ファイル送信 ○ ○ × ローディングした DLL の呼出し ○ ○ ○ CallDllFunctionEX DLL コール ○ ○ ○ LoadDll DLL モジュールをローディング ○ ○ ○ FreeDll ロードした DLL をアンロードする ○ ○ ○ LogStart ログ出力 OFF ○ ○ ○ LogStop ログ出力 ON ○ ○ ○ Report StagePlayer(スーパーバイザー)に通知 ○ ○ ○ Request StagePlayer(スーパーバイザー)に要求 ○ ○ ○ 外部呼出 CallDllFunction その他 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 36 アプリケーション開発入門ガイド 3.5 S.100 API テレフォニー ライブラリ VOISTAGE 基本ソフトウェアでは ECTF(Enterprise Computer Telephony Forum)の S.100 API に準拠した テレフォニーライブラリを提供します。ECTF S.100 API は、CTI システム構築のためのアプリケーション インタフェースとして定義されています。アプリケーション作成のためには Visual C++でのコーディング が必要となりますが、ECTF S.100 API を使用することによって、UnPBX のような複雑なアプリケーション を開発することが可能です。 3.5.1 S.100 API アプリケーション概念 回線特性 カテゴリ− アプリケーション データファイル ファイル プロファイル アプリケーション(VC++6.0) S.100API VSMS100.DLL セション管理関数 音声合成処理関数 グループ管理関数 音声認識処理関数 KeyValueSet 関数 FAX 処理関数 コンテナ管理関数 チャネル間通話処理関数 SystemCallRouter 関数 データ通信処理関数 シグナル処理関数 内線ボード制御 音声処理関数 その他 メッセージ通信 音声認識エンジン 音声合成エンジン 名前つきパイプ通信 マルチメディアカードデバイスサービス マルチメディアカード (VMCSRV.EXE) ログサービス WindowsNT4.0 マルチメディアカードデバイスドライバ(VMCDRVPC.SYS) 図 3.5.1-1 S.100 API ソフトウェア構成図 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 37 アプリケーション開発入門ガイド S.100 API アプリケーション作成にはヘッダーファイル、ライブラリファイルをインクルードする必要 があります。ヘッダーファイル、ライブラリファイルは以下のディレクトリに入っています。 (基本ソフトウェア CD-ROM) ¥Include・・・ヘッダーファイル ¥Library・・・ライブラリファイル S.100 API リソースはセション及び、グループで管理されます。アプリケーションではセションを作成 し、セション中にグループを作成します。グループは回線毎に作成し、1つのセションでは1つのグルー プのみ作成できます。作成したグループ単位に SCR 処理(呼処理)や音声処理などを行います。 また KeyValueSet と呼ばれるパラメータを作成でき、この KeyValueSet を各関数のパラメータとして使 用します。 S.100 API のリソース構成図を図 3.5.1-2 に示します。 セションC セションB セションA グループ シグナル処理 音声処理 音声合成 音声認識 FAX 処理 チャネル間 データ通信 内線制御 SCR 処理 (呼処理) KeyValueSet コンテナ管理 通信 図 3.5.1-2 S.100 API リソース構成図 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 38 アプリケーション開発入門ガイド 3.5.2 S.100 API アプリケーションの作成 プログラムは、以下のような構成で記述します。 ①セションの作成 プログラムの最初にまず、CTses_Create 関数でセションを作成します。 ②グループの作成 マルチメディアカードを使用するには、CTgrp_Create 関数でグループを作成します。作成するグル ープは、回線毎に作成します。1つのセション中には、1つのグループのみ作成することができます。 ③KVSet(Key Value Set)の作成 KVSet(Key Value Set)というあらかじめ定義された定義値をパラメータとして作成します。 その作成したパラメータを各関数のパラメータリストとして指定します。 Key には、関数のパラメータ値や回線の状態をチェックしたり、非同期で動作中の関数の戻り値やエ ラー情報などを取得することができます。 ④コンテナの指定 音声再生/録音 FAX 送信/受信には、コンテナを指定します。 ⑤発着信操作 電話回線の通話を行います。 ⑥DTMF の送出/DTMF の受信 DTMF を送出するには、CTsg_SendSignals 関数を使用します。 DTMF を受信するには、CTsd_RetrieveSignals 関数を使用します。 ⑦音声再生/録音 音声の再生を行うには、CTplyr_Play 関数を使用します。 音声の録音を行うには、CTrcdr_Record 関数を使用します。 ⑧音声合成 テキスト文字を音声合成し、通話回線に出力するには、NDtts_TextSpeech 関数を使用します。 ⑨音声認識 音声認識の初期化を行うには、NDasr_Init 関数を使用します。 通話中になってから回線のノイズを NDasr_Noise 関数を使用して測定します。 音声認識の処理は、NDasr_Voice 関数を使用して行います。 ⑩FAX 送信/受信 FAX の送信を行うには、CTfaxhl_Send 関数を使用します。 FAX の受信を行うには、CTfaxhl_Receive 関数を使用します。 ⑪チャネル間通話 チャネル間通話を行うには、NDconn_Create 関数を用いて通話中の回線を保留します。 チャネル間通話確立は、NDconn_Make 関数を用いて実行します。 ⑫データ通信 マルチメディアカード間でデータ通信を行います。 データ受信は NDdat_Rec 関数 、データ送信は NDdat_Send 関数を使用します。 ファイル受信は NDdat_FileRec 関数、ファイル送信は NDdat_FileSend 関数を使用します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 39 アプリケーション開発入門ガイド /****************************************************************************/ /*プログラム名 :留守番電話 */ /*ファイル名 :sample.c */ /*機能概要 :着信、音声再生、音声録音を繰り返す */ /****************************************************************************/ /* include file */ #include <windows.h> #include <stdio.h> #include <ct_apps.h> #include <nd_def.h> main(int argc,char **argv) { int ltime; int num; char buf[20]; TRANINFO trn; CTses_ct Ses; CTgrp_ct Grp; CTkvs_ct hprm; CTstatus status; CTerror error; CTstring conp="CTVSTEMP:VSX_PLY"; CTstring conr="CTVSTEMP:VSX_REC"; /* セション作成 */ status = CTses_Create(&Ses,"vss100pf","",CTkvs_Null,&trn,CT_modeSync); /* グループ作成 */ status = CTgrp_Create(&Grp,Ses,"VSSGRP01",0,60*1000,CTkvs_Null,&trn,CT_modeSync); /* KeyValueSet 作成 */ status = CTkvs_Create(&hprm,&error); Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 40 アプリケーション開発入門ガイド for(num = 0;num < 100;num++) { /* コンテナ作成(再生用予約コンテナ) */ status = CTkvs_PutString(hprm,Container_ECTF_FileName,"PLAY.VSX",&error); status = CTkvs_PutString(hprm,Container_ECTF_MessageNo,"1",&error); status = CTcont_SetParameters(conp,hprm,Ses,&trn,CT_modeSync ); /* コンテナ作成(録音用予約コンテナ) */ status = CTkvs_PutString(hprm,Container_ECTF_FileName,"RECORD.VSX",&error ); status = CTkvs_PutString(hprm,Container_ECTF_MessageNo,_itoa(num,buf,10),&error ); status = CTcont_SetParameters(conr,hprm,Ses,&trn,CT_modeSync); /* 着信待ち */ status = CTscr_AnswerCall(Grp,0,CTkvs_Null,&trn,CT_modeSync); /* 音声再生 */ status = CTplyr_Play(Grp,&conp,0,CTkvs_Null,CTkvs_Null,&trn,CT_modeSync); /* BEEP 発信 */ status = CTsg_SendSignals(Grp, "F", CTkvs_Null, CTkvs_Null,&trn,CT_modeSync); /* 音声録音 */ ltime = 10000; status = CTkvs_PutUInt(hprm,Recorder_ECTF_Duration,ltime,&error); status = CTrcdr_Record(Grp,conr,CTkvs_Null,hprm,&trn,CT_modeSync); /* 切断 */ status = CTscr_DropCall(Grp,20*1000,CTkvs_Null,&trn,CT_modeSync); } /* グループ削除 */ status = CTgrp_Destroy(Grp,CTkvs_Null,&trn,CT_modeSync); /* セション削除 */ status = CTses_Destroy(Ses,CTkvs_Null,&trn,CT_modeSync); } S.100 API アプリケーションの例 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 41 アプリケーション開発入門ガイド 3.5.3 S.100 API 関数一覧 ○:サポート ×:使用できない 分類 API 機能 402MC 403MC 401SC 201MC セション CTses_Create セション作成 ○ ○ ○ ○ 管理 CTses_Destroy セション削除 ○ ○ ○ ○ CTtrn_Initialize トランザクションテーブルの初期化 ○ ○ ○ ○ グループ CTgrp_Create グループの作成 ○ ○ ○ ○ 管理 CTgrp_Destroy グループの削除 ○ ○ ○ ○ CTgrp_GetGroupInfo グループ情報の取得 ○ ○ ○ ○ CTgrp_GetParameters グループパラメータの取得 ○ ○ ○ ○ CTgrp_PutGroupInfo グループ情報の設定 ○ ○ ○ ○ CTgrp_SetParameters グループパラメータの設定 ○ ○ ○ ○ CTgrp_Stop グループの停止 ○ ○ ○ ○ NDgrp GetStatus グループの処理実行状態を取得 ○ ○ ○ ○ NDgrp_SetThreadID メッセージ通知先の登録 ○ ○ ○ ○ NDgrp_StopID 非同期実行中の処理を停止する ○ ○ ○ ○ NDgrp_WaitConnect グループ接続待ち ○ ○ × × KeyValue CTkvs_Create KVSet の作成 ○ ○ ○ ○ Set 管理 CTkvs_Clear KVSet のクリア ○ ○ ○ ○ CTkvs_Destroy KVSet の削除 ○ ○ ○ ○ CTkvs_GetString Key 値の取得 1 ○ ○ ○ ○ CTkvs_GetStringArray Key 値の取得 2 ○ ○ ○ ○ CTkvs_GetInt Key 値の取得 3 ○ ○ ○ ○ CTkvs_GetUInt Key 値の取得 4 ○ ○ ○ ○ CTkvs_GetType Key 値のタイプを取得 ○ ○ ○ ○ CTkvs_GetNext 次の Key 値の取得 ○ ○ ○ ○ CTkvs_PutString Key 値の設定 1 ○ ○ ○ ○ CTkvs_PutInt Key 値の設定 2 ○ ○ ○ ○ CTkvs_PutUInt Key 値の設定 3 ○ ○ ○ ○ コンテナ CTcont_Copy データオブジェクトのコピー ○ ○ × ○ 管理 CTcont_Create コンテナの新規作成 ○ ○ × ○ CTcont_Destroy コンテナの削除 ○ ○ × ○ CTcont_GetObjectList コンテナのオブジェクトリスト取得 ○ ○ × ○ CTcont_GetParameters コンテナのパラメータ取得 ○ ○ × ○ CTcont_SetParameters コンテナにパラメータ設定 ○ ○ × ○ SCR CTscr_AnswerCall 着信待ち ○ ○ × ○ (System CTscr_DropCall 回線切断 ○ ○ × ○ Call CTscr_MakeCall 発信 ○ ○ × ○ Router) CTscr_MakeConsultationCall 転送開始 ○ ○ × × Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 42 アプリケーション開発入門ガイド 分類 API 機能 402MC 403MC 401SC 201MC CTscr_Transfercall 転送完了 ○ ○ × × NDscr_Flash フッキング ○ ○ × × NDscr_RejectCall 着信拒否 × ○ × × NDscr_MakePartyCall 三者通話のための第三者呼出し ○ ○ × × NDscr_BeginParty 三者通話開始 ○ ○ × × NDscr_FinishParty 三者通話終了 ○ ○ × × NDscr_ChangeParty 三者通話切り替え × ○ × × NDscr_Hold 回線を保留 ○ ○ ○ ○ NDscr_UnHold 回線を保留解除 ○ ○ ○ ○ NDscr_CallWaiting コールウェイティング着信 × ○ × × NDscr_SendMessage SCR にサービス要求 × ○ × × NDscr_TransferCancel 転送中断 ○ ○ × × シグナル CTsd_RetrieveSignals DTMF 取得 ○ ○ ○ ○ 処理 CTsd_FlushBuffer DTMF バッファをクリア ○ ○ ○ ○ CTsg_SendSignals DTMF/トーン出力 ○ ○ × ○ NDsg_SendDial PB/DP 出力 ○ ○ × ○ 音声再生 ○ ○ × ○ CTrcdr_Record 音声録音 ○ ○ × ○ NDprompt_VoiceInit プロンプト環境の初期化 ○ ○ × ○ NDprompt_VoiceEnd プロンプト環境終了 ○ ○ × ○ NDprompt_VoicePlay プロンプト再生 ○ ○ × ○ NDrcdr_GetData 音声データメモリ受信 ○ ○ × × NDrcdr_Start 音声データメモリ受信開始 ○ ○ × × NDrcdr_Stop 音声データメモリ受信終了 ○ ○ × × NDplyr_PutData 音声データメモリ送信 ○ ○ × × Ndplyr_Start 音声データメモリ送信開始 ○ ○ × × Ndplyr_Stop 音声データメモリ送信終了 ○ ○ × × 音声合成 NDtts_Init 音声合成初期化 ○ ○ × ○ 処理 NDtts_End 音声合成終了 ○ ○ × ○ NDtts_FileSpeech テキストファイル中の文字を音声合成 ○ ○ × ○ NDtts_FiletoWav テキストファイル中の文字を音声合成し ○ ○ × ○ 音声処理 CTplyr_Play WAVE 出力 NDtts_TextSpeech テキスト文字を音声合成 ○ ○ × ○ NDtts_TexttoWav テキスト文字を音声合成し、WAVE 出力 ○ ○ × ○ 音声認識 NDasr_Init 音声認識初期化 ○ ○ × ○ 処理 NDasr_End 音声認識終了 ○ ○ × ○ NDasr_GetValue 音声認識パラメータ取得 ○ ○ × ○ NDasr_ThreadInit 音声認識スレッド初期化 ○ ○ × ○ NDasr ThreadEnd 音声認識スレッド終了 ○ ○ × ○ Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 43 アプリケーション開発入門ガイド 分類 API 機能 402MC 403MC 401SC 201MC NDasr_ProcEnd 音声認識プロセス終了 ○ ○ × ○ NDasr ProcInit 音声認識プロセス初期化 ○ ○ × ○ NDasr_Noise 音声認識のノイズ測定 ○ ○ × ○ NDasr_Voice 音声認識 ○ ○ × ○ FAX 受信 ○ ○ × × CTfaxhl_Send FAX 送信 ○ ○ × × CTfaxhl_Stop FAX の停止 ○ ○ × × NDfax_HeadSet FAX のヘッダ作成 ○ ○ × × チャネル NDconn_Create チャネル間接続準備 ○ ○ × × 間通話処 NDconn_Make チャネル間接続実行 ○ ○ × × 理 NDconn_Destroy チャネル間接続準備解除 ○ ○ × × NDconn_Link CT バス接続 ○ ○ ○ × NDconn_UnLink CT バス接続解除 ○ ○ ○ × データ通 NDdat_Rec データ受信 ○ ○ × × 信処理 NDdat_Send データ送信 ○ ○ × × NDdat_FileRec ファイル受信 ○ ○ × × NDdat_FileSend ファイル送信 ○ ○ × × 内線ボー NDstn_RingStart リング送出 × × ○ × ド制御 リング送出停止 × × ○ × ユーティ NDcnv_VSXToWAV 音声ファイルを WAVE ファイルに変換 ○ ○ × ○ リティ NDcnv_WAVToVSX WAVE ファイルを音声ファイルに変換 ○ ○ × ○ NDcnv_TIFToFAX TIFF ファイルを FAX ファイルの変換 ○ ○ × ○ NDcnv FAXToTIF FAX ファイルを TIFF ファイルに変換 ○ ○ × ○ NDcnv_TEXTToFAX TEXT ファックスを FAX ファイルに変換 ○ ○ × ○ NDcnv_TEXTToIMAGE TEXT ファイルを画像ファイルに変換 ○ ○ × ○ NDcnv_OVERLAYIMAGE 2 つの画像ファイルを重ね合わせて、 ○ ○ × ○ FAX 処理 CTfaxhl_Receive NDstn_RingStop 画像ファイルを出力 NDutl_FAXCheck FAX ファイルのページ数取得 ○ ○ × ○ NDutl_FAXPCheck FAX ファイルのページの属性を取得 ○ ○ × ○ NDutl_VoiceCheck 音声メッセージの属性を取得 ○ ○ × ○ NDutl_VoiceCopy 音声メッセージコピー ○ ○ × ○ NDutl_VoiceDelete 音声メッセージ削除 ○ ○ × ○ NDutl_VoicePack 音声ファイルのガベージ ○ ○ × ○ NDutl_VSXCheck 音声メッセージのメッセージ取得 ○ ○ × ○ NDutl_VSXMsgFindFirst 音声ファイルのメッセージ番号検索開始 ○ ○ × ○ NDutl_VSXMsgFindNext 次の音声ファイルのメッセージ番号検索 ○ ○ × ○ NDutl_VSXMsgFindEnd 音声ファイルメッセージ番号検索終了 ○ ○ × ○ NDcnv_BMPToJBG BMP ファイルを JBIG ファイルに変換 ○ ○ × ○ NDcnv_BMPToJPG BMP ファイルを JPEG ファイルに変換 ○ ○ × ○ Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 44 アプリケーション開発入門ガイド 分類 API 機能 402MC 403MC 401SC 201MC NDcnv_JBGToBMP JBIG ファイルを BMP ファイルに変換 ○ ○ × ○ NDcnv_JBGToFAX JBIG ファイルを FAX ファイルに変換 ○ ○ × ○ NDcnv_JPGToBMP JPEG ファイルを BMP ファイルに変換 ○ ○ × ○ NDcnv_JPGToFAX JPEG ファイルを FAX ファイルに変換 ○ ○ × ○ NDcnv_JPGToFPG JPEG ファイルを FPG ファイルに変換 ○ ○ × ○ NDcnv_FAXToJBG FAX ファイルを JBIG ファイルに変換 ○ ○ × ○ NDcnv_FPGToJPG FAXJPEG ファイルを JPEG ファイルに変換 ○ ○ × ○ 注) VS-402MC/403MC/201MC はマルチメディアカード、VS-401SC は内線ボード Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 45 アプリケーション開発入門ガイド 3.6 TAPI テレフォニー ライブラリ VOISTAGE 基本ソフトウェアでは Microsoft の Telephony Application Programming Interface(以下 TAPI) に対応したテレフォニーライブラリを提供します。 3.6.1 テレフォニードライバの登録 ① [コントロールパネル]の[テレフォニー]アイコンをダブルクリックし、[ダイヤルのプロパティ] ダイアログを表示して下さい。 ②[テレフォニー ドライバ]タブをクリックする。 ③[追加]ボタンをクリックすると、[ドライバの追加]ダイアログが表示されるので、[VSMTAPI2.TSP] を選択し、[追加]ボタンをクリック。 [VSMTAPI2.TSP]を選択 し、[追加]ボタンを押し て下さい。 ④[ダイヤルのプロパティ]ダイアログで[テレフォニードライバ]タブをクリックします。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 46 アプリケーション開発入門ガイド ⑤[VSMTAPI2.TSP]を選択して、[構成]ボタンをクリックすると下記ダイアログが表示されます。 ⑥ 各回線の情報を設定します。設定する項目は以下のものです。 [回線数]:使用する回線数を設定します。(1∼32) [回線名]:各回線の回線名を設定します。 [回線番号]:回線番号を設定します。(1∼32) [カテゴリーファイル]:使用するカテゴリーファイルを設定します。 [回線特性データファイル]:回線特性データファイルを設定します。 設定なしの場合は NTT 回線設定となります。 ⑦[OK]ボタンを押下し、設定を保存します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 47 アプリケーション開発入門ガイド 3.6.2 TAPI アプリケーションの作成 プログラムは、以下のような構成で記述します。 ①初期処理 TAPI を使用してアプリケーションを作成する際は、まず、回線の初期化処理およびオープン処理が必要 です。 //初期処理 LINEINITIALIZEEXPARAMS exparams; memset(&exparams,'¥0',sizeof(LINEINITIALIZEEXPARAMS)); exparams.dwTotalSize = sizeof(LINEINITIALIZEEXPARAMS); exparams.dwOptions = LINEINITIALIZEEXOPTION_USEHIDDENWINDOW ; DWORD dwAPIVersion = 0x00020000; errCode = lineInitializeEx( &ghLineApp, ghInst, (LINECALLBACK) tapiCallback, "demo.exe", &gnAvailDevices, &dwAPIVersion, &exparams); ②回線オープン処理 この処理により、発着信処理をはじめ、各処理を実行する際に必要な回線デバイスのハンドル(ghLine) を取得します。 errCode = lineOpen ( ghLineApp, 0, &ghLine, 0x00020000, 0, 0, LINECALLPRIVILEGE_OWNER, LINEMEDIAMODE_INTERACTIVEVOICE, NULL ); Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 48 アプリケーション開発入門ガイド ③発信処理 発信処理を行うには、以下の関数を使用します。 この関数により、各処理を実行する際に必要な通話ハンドル(ghCall)を取得します。 lineMakeCall( Line, &ghCall, (LPCTSTR)m_sDialNum, 0, NULL); ④着信処理 電話がかかってくると、コールバック関数に”LINECALLSTATE_OFFERING”メッセージが通知されます。こ のメッセージが通知された際に以下の関数を使用することにより、着信することができます。 LineAnswer( &ghCall, NULL, 0); Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 49 アプリケーション開発入門ガイド ⑤回線状態の取得 回線の状態や DTMF の入力検知などは、メッセージによって通知されます。 そこで、このメッセージを受け取るためのコールバック関数を作成する必要があります。 VOID CALLBACK tapiCallback ( DWORD hDevice, DWORD dwMsg, DWORD dwCBInstance, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3 ) { switch (dwMsg) { INT errCode; case LINE_ADDRESSSTATE: break; case LINE_CALLINFO: break; case LINE_CALLSTATE: switch ( dwParam1 ) { case LINECALLSTATE_IDLE://回線がアイドル状態の時の処理 break; case LINECALLSTATE_BUSY: //通話相手が話し中の時の処理 break; case LINECALLSTATE_SPECIALINFO: break; case LINECALLSTATE_DISCONNECTED//通話相手の切断を検知した時の処理 break; case LINECALLSTATE_OFFERING://電話がかかってきた時の処理 break; case LINECALLSTATE_CONNECTED//通話相手との接続が完了したときの処理 break; } break; case LINE_CLOSE: break; : : Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 50 アプリケーション開発入門ガイド 3.7 UnPBX システム開発キット(オプション) VOISTAGE UnPBX システム開発キットは、マルチメディアカード(VS-402MC/403MC)とステーションカー ド(VS-401SC 内線ボード)を用いて UnPBX システムを開発するためのオプションソフトウェアです。本開 発キットにより、内線ボードの制御が可能となります。UnPBX システム開発のために VsClient コントロー ルモジュールと、ECTF(Enterprise Computer Telephony Forum)の S.100 API に準拠したテレフォニーライ ブラリを提供します。アプリケーション作成のためには Microsoft Visual Basic 6.0、Microsoft Visual C++ 6.0 でのコーディングが必要となります。 UnPBX 開発キットに添付されている ActiveX コンポーネントの VsClient コントロールを使用しますと、 内線電話機を用いた UnPBX クライアントアプリケーションの発信、転送、着信等を制御することができ、 非同期で実行するプログラムを作成できます。 ・VSCLIENT.OCX 同期/非同期型 UnPBX クライアントコントロールモジュール VSClient コントロールは UnPBX システム開発キットに添付されている ActiveX コンポーネントです。内線電話機を用いた UnPBX クライアントアプリ ケーションの発信、転送、着信等を制御することができます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 51 アプリケーション開発入門ガイド 3.7.1 UnPBX システムの概要 UnPBX システム開発キットをインストールすると、内線ボードデバイスサービス及び内線ボードデバイ スドライバがインストールされ実行環境が構築されます。 アプリケーション(Visual C++ 6.0) S.100API VSMS100.DLL メッセージ 名前つき 名前つき 通信 パイプ通信 パイプ通信 マルチメディアカード 内線ボード デバイスサービス デバイスサービス (VMCSRV.EXE) (VSMSTSRV.EXE) WindowsNT4.0 マルチメディアカード 内線ボード デバイスドライバ デバイスドライバ (VMCDRVPC.SYS) (CTI10401.SYS) 図 3.7.1-1 UnPBX ソフトウェア構成図 外線はマルチメディアカードデバイスサービスと通信し制御します。 内線は内線ボードデバイスサービスと通信し制御します。 (内線ボードに送出するリング信号、コールプログレストーンは NTT アナログ回線の仕様に準拠して います。) Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 52 アプリケーション開発入門ガイド 3.7.2 UnPBX シーケンス UnPBX システムの一般的な処理の例を示します。例は外線からの着信時に内線を呼出し外線と内線を通 話状態にする処理シーケンスです。また、シーケンス図を図 3.7.2-1 に示します。 例 ① 外線からの呼出しをマルチメディアカードが検出します。 ② ステーションカードから内線へリング信号を送出します。 ③ 内線電話が応答後、内線へのリング信号送出を解除しマルチメディアカードが外線に対して応答します。 ④ マルチメディアカードとステーションカードをバス接続します。 図 3.7.2-1 UnPBX シーケンス図 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 53 アプリケーション開発入門ガイド 3.7.3 UnPBX システム作成 UnPBX システムのプログラムは、以下のような構成で記述します。発行できる関数については「3.5.3 S.100 API 関数一覧」を参照して下さい。 ① セションの作成 プログラムの最初にまず、CTses_Create 関数でセションを作成します。 ② グループの作成 内線ボードを使用するには、CTgrp_Create 関数でステーションカード(VS-401SC)を制御するグル ープを作成します。作成するグループは、回線毎に作成します。1つのセション中には、1つのグル ープのみ作成することができます。 ③ KVSet(Key Value Set)の作成 KVSet(Key Value Set)というあらかじめ定義された定義値をパラメータとして作成します。 その作成したパラメータを各関数のパラメータリストとして指定します。 Key には、関数のパラメータ値や回線の状態をチェックしたり、非同期で動作中の関数の戻り値やエ ラー情報などを取得することができます。 ④ リング信号の送出/停止 内線に対してリング信号を送出するには、NDstn_RingStart 関数を利用します。 リング信号の送出を停止するには、NDstn_RingStop 関数を利用します。 ⑤ コールプログレストーンの送出/停止 内線に対してコールプログレストーン(ダイヤルトーン、リングバックトーン、ビジートーン)を 送出します。 ダイヤルトーンを送出するには、CTsg_SendSignals 関数でシグナルリスト“H”を指定します。 リングバックトーンを送出するには、CTsg_SendSignals 関数でシグナルリスト“J”を指定します。 ビジートーンを送出するには、CTsg_SendSignals 関数でシグナルリスト“I”を指定します。 送出中のコールプログレストーンを停止するには、CTsg_SendSignals 関数でシグナルリスト“S”を 指定します。 ⑥ DTMF の受信 内線電話機で入力した DTMF 信号を受信するには、CTsd_RetriveSignals 関数を利用します。 ⑦ 保留/保留解除 内線を保留状態(保留音送出)にするには、NDscr_Hold 関数を利用します。 内線を保留解除(保留音停止)するには、NDscr_UnHold 関数を利用します。 なお、この機能を用いた保留音は変更することはできません。 ⑧ CT バス接続 内線と外線で通話をできるようにするには、内線のグループ、外線のグループ双方が OFFHOOK 状態 になったら、お互いに CT バス接続をする必要があります。 CT バス接続をするには、NDconn_Link 関数を利用します。本関数は内線、外線それぞれのグループで 発行する必要があります。 CT バス接続解除をするには NDconn_UnLink 関数を利用します。本関数は内線、外線それぞれのグル ープで発行する必要があります。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 54 アプリケーション開発入門ガイド (注)本開発キットは内線電話機を制御する API のみ提供しています。開発キットでは ACD 機能、一斉 着信機能などの関数を用意していません。利用形態にあわせて自由に構築することが可能です。 /*----------------------------------初期処理-------------------------------------*/ #include <ct_apps.h> /* S.100API を使用するために必要 */ #include <nd_def.h> /* S.100API 拡張命令を使用するために必要 */ #include <windows.h> int main(int argc,char *argv[]) { CTses_ct Ses1; /* 内線1セション */ CTgrp_ct Grp1; /* 内線1グループ */ CTkvs_ct hkvs1; /* 内線1KVS */ TRANINFO trn1; /* 内線1トランザクションテーブル */ CTstatus status; /* 関数戻り値 */ CTerror error; /* エラー情報 */ int ret; /* 関数戻り値 */ /* 内線1トランザクションテーブル初期化 */ CTtrn_Initialize( trn1, CTkvs_Null ); /* 内線1セション作成 */ status = CTses_Create(&Ses1,"VSS100PF","",CTkvs_Null,&trn1,CT_modeSync ); /* 内線1グループ作成 */ status = CTgrp_Create(&Grp1,Ses1,"VSSGRP33",0,60*100,CTkvs_Null,&trn1, CT_modeSync); /* 内線1KVS 作成 */ status = CTkvs_Create(&hkvs1,&error ); /* 外線トランザクションテーブル初期化 */ CTtrn_Initialize( trn3, CTkvs_Null ); /* 外線セション作成 */ status = CTses_Create(&Ses3,"VSS100PF","",CTkvs_Null,&trn3,CT_modeSync ); /* 外線グループ作成 */ status = CTgrp_Create(&Grp3,Ses3,"VSSGRP01",0,60*1000, CTkvs_Null,&trn3,CT_modeSync); /* 外線 KVS 作成 */ status = CTkvs_Create(&hkvs3,&error ); : : } Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 55 アプリケーション開発入門ガイド /*-----------------内線を呼び出し、受話器が上がるのを待つ------------------------*/ int nai_yobi(CTgrp_ct *Grp,CTkvs_ct *hkvs,TRANINFO *trn) { CTstatus status; /* S.100API 関数戻り値 */ CTerror error; /* エラー情報 */ CTsymbol sym; /* キー定義 */ int dat; /* キーデータ */ /* リング信号送出 */ status=NDstn_RingStart(*Grp,*hkvs,trn, CT_modeSync); /* 現在の状態取得 */ /* 受話器があがるまで待つ */ sym=CCR_ECTF_LineCallState; for(;;) { status=CTgrp_GetParameters(*Grp,&sym,1,hkvs,trn,CT_modeSync); status=CTkvs_GetInt(*hkvs,sym,&dat,&error); if (dat != CCR_ECTF_OnHoldCondition) { break; } } /* リング信号送出停止 */ status=NDstn_RingStop(*Grp,*hkvs,trn,CT_modeSync); return 0; } UnPBX システムのコーディング例 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 56 アプリケーション開発入門ガイド 4 StagePalette StagePalette は、StageWriter で作成(スクリプトソースを直接作成、ActiveX によるプログラム作成も 含む)した電話応答処理プログラムを StagePlayer で実行するために必要なデータ登録および実行環境の 構築を行います。 4.1 StagePalette の画面 StagePalette のメイン画面です。運用するシステムの環境設定、回線設定、プログラム設定、タイマー 設定、イベント設定などを行います。また各種ツールを使用しシステムの運用に必要な音声データや、FAX データ等を作成することが可能です。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 57 アプリケーション開発入門ガイド 4.2 StagePalette の機能 StagePalette には以下の機能があります。 ・マルチメディアカードを搭載しているシステムの環境情報(回線数、使用ディスク容量等)を設定し ます。 →4.3 システム設定、4.4 環境設定、4.5 回線設定 ・StageWriter などで作成したプログラムの起動情報を設定します。 →4.6 プログラム設定 ・条件(日時、間隔、ファイル有無)を設定してプログラムを起動する場合に設定します。 →4.7 タイマー設定 ・StagePlayer のモニター画面に表示するイベント(処理内容)を登録します。 →4.8 イベント設定 ・異常を検知した場合に管理者に通知する異常通知プロセスが通知する手段や通知先を設定します。 →4.9 異常通知先設定 ・マルチメディアカードに接続する回線の特性情報(ダイヤルトーン、ビジートーン、リングバックト ーン)を自動で設定します。 →4.10 回線特性設定 ・マルチメディアカードに対する各種設定情報を格納しているカテゴリーファイルを編集します。 →4.11 カテゴリー編集ツール ・ISDN 回線使用時のダイヤルイン番号や、サブアドレスなどを設定します。 →4.12 INS ネットサービス設定 ・音声ファイルの作成や音声メッセージの確認を行います。 →4.13 メッセージ登録ツール ・FAX ファイルの作成や確認を行います。 →4.14 FAX 登録ツール ・マルチメディアカードの機能の実行や動作確認を行います。また作成したアプリケーションが正常に 動作しない場合に不具合の切り分けに使用します。 →4.15 テストツール ・標準の音声合成辞書以外にユーザー辞書を作成し単語の読みを登録することが可能です。 →4.16 音声合成ユーティリティ Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 58 アプリケーション開発入門ガイド 4.3 システム設定 StagePalette では StagePlayer で動作させる複数の業務をまとめてシステムとして管理します。 システム設定では各システムの基本設定を行います。 【基本設定】 【詳細設定】 ・システム ID 設定されているシステムの ID です。システム ID の変更はできません。 ・システム名 システム名称を指定、または変更します。 ・管理者名 システムの管理者名を指定、または変更します。 ・スタートアップシステム StagePlayer 起動時に運用されるシステムです。 ・異常通知を行う 「異常通知を行う」にチェックすることで StagePlayer が異常を検出した場合にプロセス管理番号 99999901 に登録されている異常通知プロセスを起動します。起動されるアプリケーションはあらか じめ作成する必要があります。初期設定は¥VOISTAGE¥EXEC¥VSSERREP.IL のサンプルプログラムが設 定されます。サンプルプログラムでは異常通知コード出力ファイル¥VOISTAGE¥DATA¥VSSERCOD.VST か ら異常通知コードを取得し発生した状態を FAX 送信により外部に通知します。 異常通知コードは以下のものです。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 59 アプリケーション開発入門ガイド 1000 電圧降下 1001 ファン停止 1002 温度上昇 1003 UPS 停電 1004 UPS バッテリーロー 1005 UPS トラブル 1006 HDD トラブル 1007 UPS 複電 1010 ディスク容量不足 2000 アプリケーションからの異常 ・リカバリを行う 「リカバリを行う」にチェックすることで StagePlayer が異常を検出した場合(StagePlayer 配下 でスクリプトエンジンや VOISTAGE ActiveX を使用したアプリケーションを動作させるとマルチメデ ィアカードの初期化失敗でエラー0005 通知が StagePlayer に送信されます。)にプロセス管理番号 99999801 に登録されているリカバリプロセスを起動します。起動されるアプリケーションはあらか じめ作成する必要があります。初期設定は¥VOISTAGE¥EXEC¥VSARECOV.IL のサンプルプログラムが設 定されます。サンプルプログラムでは起動中のプロセスを停止し、全てのプロセスが停止した後にプ ロセスを起動します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 60 アプリケーション開発入門ガイド 4.4 環境設定 運用するシステムの運用環境を設定します。設定する項目は以下のものです。 ・回線数 システムで使用する回線数を設定します。 ・推奨 UPS を使用する(マルチメディアサーバー使用時) 推奨 UPS(オムロン社製 BU606F)を使用して停電監視を行う場合に指定します。 ・UPS 運転時間 停電発生からシステム停止するまでの時間を設定します。 ・システム停止後から再起動までの時間 システム停止してからシステム再起動を行うまでの時間を設定します。 ・ディスク残り容量をチェックする ディスクの残り容量をチェックする場合に指定します。 ・ドライブ ディスクの残り容量をチェックするドライブを指定します。 ・残り容量 エラーを検出するディスクの残り容量を設定します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 61 アプリケーション開発入門ガイド ・チェック間隔 ディスクの残り容量のチェック間隔を設定します。 ・終了時待ち時間 システム停止操作開始後の待機時間を設定します。 ・モニター表示方法 モニターの表示方法を設定します。(自動または手動) ・モニター処理間隔 モニター画面のリフレッシュ間隔を設定します。 ・モニター画面ファイル ユーザー作成モニター画面の登録を行います。(初期設定は標準添付のモニター画面になっていま す。) ・異常時にシステムリセットを行う プロセスの再起動が上限回数を超えた場合にシステムリセットを行うか設定します。 ・再起動回数の上限 システムリセットを行うまでのプロセス再起動回数の上限値を設定します。 ・マルチメディアサーバーを使用する システムをマルチメディアサーバー(VS-3201MC/VS-3202MC)で運用する場合に設定します。 (HDD 異常、ファン停止などが検出可能です。) Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 62 アプリケーション開発入門ガイド 4.5 回線設定 運用する回線の設定を行います。設定する項目は以下のものです。 ・回線種別 着信専用回線、または発着信回線を指定します。 ・トーン種別 プッシュ(PB)、またはダイヤル(DP)を指定します。 ・電話番号 接続する回線の電話番号を入力します。(この設定はシステムの運用には影響しません。) ・代表番号 回線が代表番号になっている場合に指定します。(この設定はシステムの運用には影響しません。) Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 63 アプリケーション開発入門ガイド 4.6 プログラム設定 実行するプログラムを設定します。設定する項目は以下のものです。 【基本設定】 作成したプログラムを各回線に割り当てる設定を行います。プロセス数を複数にすれば複数回線で同じ プログラムが動作するようになります。 ・プログラム管理番号 各プログラムの管理番号を指定します。6 桁の数字で「000001∼999899」番まで登録できます。プ ログラム管理番号を重複して登録することはできません。 ・プロセス数 プログラムの起動プロセス数を指定します。 ・プログラム種別 登録するプログラムの種別を指定します。 1:IL ファイル StageWriter、VOISTAGE スクリプト言語で作成した実行ファイル 2:VOISTAGE 専用 EXE ファイル IL ファイル、ActiveX 使用 EXE ファイル以外でマルチメディアカ ード、スーパーバイザーにアクセスするプログラム 3:一般 EXE ファイル IL ファイル、ActiveX 使用 EXE ファイル以外でマルチメディアカ ード、スーパーバイザーにアクセスしないプログラム 4:ActiveX 使用 EXE ファイル VOISTAGE の ActiveX を使用したプログラム ・プログラムファイル プログラムファイル名をフルパスで指定します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 64 アプリケーション開発入門ガイド ・タイトル StagePlayer(モニター画面)で表示されるタイトルを指定します。 ・回線取得種別 プログラムで使用する回線の取得方法を指定します。 1:回線取得なし 2:着信専用回線を取得 3:発着信回線を取得 4:着信専用回線を強制取得 5:発着信回線を強制取得 ・回線番号 プログラムが回線を使用して実行する場合、回線番号を指定します。複数のプロセスを実行する場 合は指定した回線番号から昇順にプロセス数分設定します。後にプロセス設定でプロセス毎の回線番 号を変更することも可能です。 ・常駐指定 StagePlayer を起動すると同時にプログラム起動させたい場合や、何らかの異常でプログラムが終 了した時に自動的に再起動させたい場合は選択します。 ・タイマー起動指定 以下の条件によりプロセスを起動する場合指定します。時間やファイルの指定はタイマー設定画面 で行います。 条件1:時間および時間間隔を条件としてプログラムを起動させる。 条件2:ファイルの生成を条件としてプログラムを起動させる。 【詳細設定】 プロセスが異常となった場合の後処理を設定します。またプロセス起動時の設定を行います。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 65 アプリケーション開発入門ガイド ・異常処理種別 異常発生時の動作を指定します。 1:システムリセット 各プロセスを停止後、システムリセットします。 2:プロセス再起動 プロセスを一時停止後、再起動させます。 3:プロセス停止 プロセスを停止させます。常駐指定を行っていると自動的にプロセス が再起動します。 ・優先順位 プロセス実行時の優先順位を指定します。優先順位が高いほどより多くのプロセッサ時間が割り当 てられます。通常は「2:普通」を選択して下さい。 1:高 2:普通 3:低 ・起動モード プロセス起動時のウィンドウ状態を指定します。 バックグラウンドで起動 起動時には最小化された状態になります。 フォアグラウンドで起動 起動時にはウィンドウが開かれた状態になります。 ・ヘルスチェックを行う ヘルスチェックの有無を指定します。また、ヘルスチェックを行う間隔(監視時間)を設定できま す。ヘルスチェックとは StagePlayer が行う各プロセスの動作確認のことで、各プロセスからは StagePlayer へ常に動作通知を行っています。しかし、異常が発生し監視時間以上動作通知が行えな い場合 StagePlayer はそのプロセスを異常とみなし、異常処理種別に基づき処理を行います。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 66 アプリケーション開発入門ガイド 4.7 タイマー設定 タイマー設定を使うことにより、時間またはファイルの有無によってプログラムの起動を行うことがで きます。これにより時間帯によってアプリケーションを変更することも可能です。 ・トリガ プログラム起動のトリガをタイマー(時間)、またはファイルの有無で行うかを指定します。 ・リトライ 起動失敗時のリトライ回数を指定します。 ・一度のみ起動 プログラム起動を繰り返すか指定します。繰り返し指定時に、タイマー(時間)指定の場合は次回 起動までの間隔を指定します。ファイル指定の場合はトリガに使用したファイルは削除するようにし て下さい。(削除しない場合、1 分ごとに起動を繰り返します。) Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 67 アプリケーション開発入門ガイド 4.8 イベント設定 イベントとは、StagePlayer のモニター画面で表示される各プロセスの実行状態です。 各プロセスから REPORT 命令でコードを指定することにより、モニターにイベント内容が表示されます。 初期設定では「着信待ち」、「着信待ち終了」等しか表示されませんが、イベント設定を行うことでより 細かな実行状態を表示することができます。 ・コード イベントのコードを指定します。0000∼0999 はシステム固定となっています。 ・イベント内容 イベントの内容を設定します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 68 アプリケーション開発入門ガイド 4.9 異常通知先設定 システムが異常となった場合、システム管理者等に通知を行うプログラムを設定できます。そのプログ ラムが通知する手段および通知先などの情報を設定します。 設定できる項目は以下のものです。 ・通知種別 通知手段をドロップダウンリストから選択します。 1:通知しない 2 :電話 3:FAX 4:ポケットベル ・通知先番号 通知先の番号を指定します。 ・ポケットベル待ち時間 通知手段をポケットベルに選択した場合に設定します。 着信してメッセージを送出するまでの時間を設定します。 ・ポケットベルメッセージ 通知手段をポケットベルに選択した場合に設定します。 送出するメッセージを設定します。 異常通知先設定で設定された内容は¥VOISTAGE¥DATA¥VSEMGCAL.VST に保存されます。 異常通知プログラムを作成する場合このファイルから通知手段、通知先番号などの情報を取得して下さ い。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 69 アプリケーション開発入門ガイド 4.10 回線特性設定 回線特性設定とは、マルチメディアカードに実際に運用する回線(接続された回線)のコールプログレ ストーンの特性を設定することです。 マルチメディアカードでは自動的に各種トーンのパターン、周波数を認識することができます。 PBX を使用する場合はメーカ及び機種によりコールプログレストーンの特性が異なるので回線特性設定 が必要となります。(初期値は NTT 回線の特性が設定されています。) 【VS-402MC】 VS-402MC では回線特性設定の結果を回線特性データファイル(¥VOISTAGE¥DATA¥PROPERTY¥xxx.INI)と して保存します。使用する回線の特性をウィザード形式で自動設定できます。また手動で回線特性の設定 を行うことも可能です。 同じ特性の回線を使用する場合、回線特性設定を一度行ない、作成された回線特性データファイルを各 回線に指定することで回線が使用できるようになります。 回線特性データファイル名 使用する回線にあった回線特性データファイルを指定します。初めて接続する回線の場合は「なし」を選択 し、新規作成を行って下さい。インストール時には NTT アナログ回線のデータファイルのみ存在します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 70 アプリケーション開発入門ガイド 回線特性データファイルを作成する場合は、回線特性設定画面の新規ボタンを押下します。 回線特性をウィザード形式で自動検出し、検出結果を指定した回線特性データファイルに設定します。 ・ファイル名 新規作成する回線特性データファイル名を指定します。 ・コメント 新規作成する回線特性データファイルにコメントを登録できます。 ・回線 回線特性の自動検出で使用する回線番号を指定します。PBX を使用する場合は、PBX を使用している にチェックをし、自動検出でセカンドトーンの検出を行います。 ・自動検出せずに後で手動で設定する 回線特性の自動検出を行わない場合はチェックをして下さい。NTT 回線の特性を初期値として回線特 性データファイルを作成します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 71 アプリケーション開発入門ガイド 回線特性を手動で設定する場合は、回線特性設定画面で設定する回線特性データファイルを選択し参照 ボタンを押下します。各トーン毎にパターン、周波数などの設定を行います。 ・トーン種別 設定するコールプログレストーンを選択します。 ・単位パターン 設定するトーンの ON 時間、OFF 時間、誤差、1 つのパターンと見なす ON、OFF の回数を指定します。 ・インターバル時間 単位パターン間のインターバルの時間を設定します。 ・周波数 トーンの周波数を設定します。 ・検出回数 単位パターンとインターバルを検出する回数を設定します。 【VS-403MC】 VS-403MC は INS ネット64回線を使用する為、回線特性設定を行う必要はありません。しかし回線特性 データファイルには回線特性以外にも設定されている項目があります。基本的にその項目を設定する必要 はありませんが、項目を変更する場合は回線特性データファイルの詳細タグから設定します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 72 アプリケーション開発入門ガイド 4.11 カテゴリー編集ツール カテゴリー編集ツールは、マルチメディアカード用の設定情報の初期値を格納しているカテゴリーファ イルを編集するためのツールです。(¥VOISTAGE¥EXEC¥VSCATEED.EXE) カテゴリー編集ツールの主な機能は以下の通りです。 ・カテゴリーパラメータ編集 パラメータの設定値を変更することが可能です。さらにウィザード機能によって主な設定値を簡単 に変更することができます。 ・カテゴリーファイル編集 カテゴリーファイルの内容を他の回線へコピー、または初期値へ戻すことが可能です。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 73 アプリケーション開発入門ガイド 設定したいパラメータをダブルクリックすると設定値変更画面が表示されます。パラメータの設定値の 説明を参考に設定を行います。 編集メニューのウィザードからカテゴリー設定ウィザードの起動が行えます。画面の指示に従い設定す るだけで主な設定を行えます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 74 アプリケーション開発入門ガイド 4.12 INS ネットサービス設定 実際に使用する回線ごとの INS ネットサービスを設定します。 また回線ごと(4 回線単位)に使用するマルチメディアカードの種別を設定します。 設定できる項目は以下のものです。 ・カード種別の設定 回線(4 回線単位)ごとにマルチメディアカードの種別を設定します。 ・グローバル着信する グローバル着信をする場合はチェックします。 ・着信拒否する 着信拒否する場合はチェックします。(VS-201MC では利用不可) ・コールウェイティングを使用する コールウェイティングを使用する場合はチェックします。 INS ネット付加サービスのフレックスホン(コールウェイティング機能) の契約が必要です。(VS-201MC では利用不可) Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 75 アプリケーション開発入門ガイド ・着信転送する 着信転送を利用する場合はチェックボックスを ON にします。 INS ネット付加サービスのフッレクスホン(着信転送機能)の契約が必要です。なお、着信転送は 1 回 線で同時に 1 つしか利用できませんのでご注意願います。(VS-201MC では利用不可) ・転送先電話番号 着信転送する場合は着信転送先電話番号を数字のみで入力します。 ・トーキパターン 着信転送する場合は着信転送のトーキパターンをドロップダウンリストから選択します。 ・ダイヤルイン番号 ダイヤルイン番号の設定およびグローバル着信の有無の設定により着信するチャネルを指定する ことができます。1 チャネルにつき最大 4 つまでダイヤルイン番号の設定が可能です。INS ネット付 加サービスのダイヤルインサービスの契約が必要です。(VS-201MC ではダイヤルイン番号の取得のみ 可能) ・通知電話番号 相手に通知する通知電話番号を入力します。契約者回線番号またはダイヤルイン番号を入力します。 ・発信者番号通知 発信者番号通知の有無を設定します。 ・サブアドレス INS ネット64回線相互間の通信に限り、着信するチャネルを指定することができます。1 チャネ ルにつき最大 4 つまで着サブアドレスの指定が可能です。サブアドレスの入力は電話番号に続けて* とサブアドレス番号で指定します。 ・発サブアドレス 相手に通知する発サブアドレスを入力します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 76 アプリケーション開発入門ガイド 4.13 メッセージ登録ツール メッセージ登録ツールは、音声メッセージの作成および作成した音声メッセージの確認を行うことがで きます。 メッセージ登録ツールの主な機能は以下の通りです。 ・メッセージの登録 電話機、WAVE ファイルからの登録が可能です。 ・メッセージの確認 電話機、スピーカーからの再生が可能です。 ・音声ファイルの操作 音声ファイルにコメントをつけたり、削除されたメッセージ番号をファイル上から物理的に削除 することができます。 ・メッセージの操作 メッセージのコピー、WAVE ファイルへの出力、圧縮タイプの変更などが可能です。 ・StageWriter で定義した音声情報の編集 StageWriter との間で音声メッセージの定義情報(メッセージ番号、コメント)の入出力が可能 です。 StageWriter でプログラミングされた音声メッセージ定義情報に StagePalette で登録された音声 データ(コンテンツ)を関連付けることができます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 77 アプリケーション開発入門ガイド 4.14 FAX 登録ツール FAX 登録ツールは、FAX ファイルの作成および作成した FAX ファイルの確認を行うことができます。 (FAX ファイルとは VOISTAGE 専用の FAX データを格納するファイル形式です。) FAX 登録ツールの主な機能は以下の通りです。 ・FAX ファイル登録 FAX 機、画像ファイル(TIFF、BMP)からの登録が可能です。 ・FAX ファイル確認 FAX ファイル画像の表示、FAX 機への出力が可能です。 ・FAX ファイル操作 画像ファイル(TIFF、BMP)への出力、ページの追加、削除などが可能です。 ・StageWriter で定義した FAX 情報の編集 StageWriter との間で FAX 定義情報(ファイル名、コメント)の入出力が可能です。 StageWriter でプログラミングされた FAX 定義情報に StagePalette で登録された FAX データ(コ ンテンツ)を関連付けることができます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 78 アプリケーション開発入門ガイド 4.15 テストツール テストツールはマルチメディアカードの機能をボタン操作により、実行できるものです。これによりマ ルチメディアカードの動作を確認することができます。 テストツールは作成したアプリケーションが正常に動作しない場合、環境設定が正しく行われているか、 アプリケーションが正しく作成されているかの切り分けに使用する事ができます。 テストツールが正常に動作する場合、作成したアプリケーションに問題がある可能性があります。反対 にテストツールが正常に動作しない場合は、環境設定が正しく行われていない可能性があります。 テストツールの主な機能は以下の通りです。 ・マルチメディアカード機能の実行 マルチメディアカードが有する機能を実行することができます。主な機能はボタンで操作を行う ことができ、その他の機能に関しては[ファイル(F)]-[実効命令表示]を選択することにより命令 単位での実行が可能です。実行結果などはすべて[STATE ウィンドウ]に表示されます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 79 アプリケーション開発入門ガイド 4.16 音声合成ユーティリティ 音声合成ユーティリティは、標準の音声合成辞書では読むことのできない単語をユーザー辞書として登 録できます。また、テキスト文書を読み上げスピーカーに出力することも可能です。 音声合成辞書ツールの主な機能は以下の通りです。 ・音声合成のユーザー辞書への単語の追加、削除、および編集 ユーザー辞書を新規作成でき、ユーザー辞書内の単語を追加、削除、編集が可能です。 ・音声合成結果をパソコンのスピーカーで確認 登録した単語ごとに発音を確認、またはテキスト文書を読み込んで文書全体の発声も確認できま す。 ・WAVE ファイルの再生および音声合成結果の WAVE ファイルへの保存 音声合成した音声を WAVE ファイル形式で保存することや保存した音声を確認することが可能で す。 音声合成辞書ツールは以下のプログラムです。 ¥VOISTAGE¥EXEC¥VSTTSDIC.EXE Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 80 アプリケーション開発入門ガイド 5 StagePlayer StagePlayer は StageWriter などで作成されたプログラムを StagePalette で設定された環境で動作させ るための実行プログラムです。 StageWriter などで開発したプログラムをコンパイルして作成した IL ファイル(中間言語ファイル)を解 釈して実行するスクリプトエンジン、ミドルウェア、実行状態の監視制御を行うスーパーバイザー、モニ ター処理から構成されます。 5.1 StagePlayer の機能 StagePlayer は StageWriter などで作成したプログラムを、自動起動し、起動したプロセスの状態監視を 行います。プロセスが異常となった場合は再起動や停止をさせることも可能です。モニター画面により各 プロセスの動作状態が表示され、プロセスの手動起動、手動停止が行えます。また、ディスク容量や PC の 内部温度(マルチメディアサーバー使用時)などの監視を行ない、異常発生時はアプリケーションの停止 や PC の停止および再起動処理を行います。 環境情報ファイル StagePlayer スクリプトエンジン スクリプトエンジン スクリプトエンジン IL IL IL StagePalette 図 5.1-1 StagePlayer 構成図 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 81 アプリケーション開発入門ガイド 5.2 StagePlayer 画面 StagePlayer のメイン画面です。ボタンによりモニター画面、エラーログ画面を表示します。また常時、 環境や各プロセスの動作や、ハードウェアの状態(マルチメディアサーバー使用時)を監視しています。 ・ステータス 現在の動作状態を表示します。正常に動作している場合は「動作中」の表示となります。表示内容 には以下のものがあります。 1:動作中 2:終了 3:電圧降下 4:温度上昇 5:ファン停止 6:UPS トラブル 7:UPS バッテリーロー 8:停電中 9:HDD トラブル 10:ディスク容量不足 11:初期化失敗 ※ 3∼7 はマルチメディアサーバー使用時のみ検出可能です。 ・モニター モニター画面を表示します。 ・エラーログ StagePlayer のエラーログを表示します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 82 アプリケーション開発入門ガイド 5.3 モニター画面 モニター画面はユーザーで作成することができます。初期設定ではサンプルのモニター画面が設定され ています。(サンプルのソースは ¥VOISTAGE¥TUTORIAL¥VSMONTR のフォルダにあります。) サンプルのモニター画面では各プロセスの動作を確認することができます。また、プロセスの起動、停 止を行うことができます。 ・起動 選択されているプログラムを起動します。 ・停止 選択されているプロセスを停止します。 ・ミドルウエアログ表示 選択されているプロセスの動作ログを表示します。ログを出力するにはログ出力の指定を行ってお く必要があります。 ・スクリプトトレース表示 選択されているプロセスのスクリプトプログラムのトレースを表示します。StageWriter またはス クリプト言語で作成されたプログラムのみ出力可能です。トレースを出力するにはトレース出力の指 定を行っておく必要があります。 ・終了 モニター画面を終了します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 83 アプリケーション開発入門ガイド 5.4 ログ、トレース StagePlayer では動作の確認、検証のためログ、トレースの出力が可能です。ログ、トレースを出力する には以下の設定が必要です。(StagePlayer エラーログは常に出力されます。) ① StagePlayer 画面からオプション画面を表示させます。 画面、左上部をクリックし、オプ ション(O)を選択して下さい。 ② オプション画面より出力させるログ、トレースにチェックをつけ、[設定]ボタンを押します。 設定状態を初期値として保存する場合は、初期値のタグで各ログ、トレースにチェックをつけます。 出力させるログ、トレースにチェ ックをつけて、[設定]ボタンを押 します。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 84 アプリケーション開発入門ガイド ・StagePlayer エラーログ StagePlayer エラーログにはシステム起動、停止などシステム全体としてのログが出力されます。 表示方法 StagePlayer 画面で「エラーログ」ボタンを押して下さい。 表示内容 発生日付 : 発生時刻 : メッセージコード : メッセージ ファイル VOISTAGE¥EXEC¥Spv_err.er1 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 85 アプリケーション開発入門ガイド ・ミドルウエアログ ミドルウエアログは各プロセスごとに作成され、主にプロセスとマルチメディアカードの動作状態 が出力されます。 表示方法 モニター画面でプロセスを選択後、「ログ」ボタンを押して下さい。尚、ミドルウエアログの出力 には予めログ出力の指定が必要です。 表示内容 発生日付 : 発生時刻 : メッセージコード : 内部関数名 : メッセージ 尚、内容の詳細については弊社解析用ログとなっている為公開しておりません。 ファイル VOISTAGE¥EXEC¥xxxxxxxx.er1(xxxxxxxx:プログラム番号+回線番号) VOISTAGE¥EXEC¥xxxxxxxx.er2 ログは、初め拡張子 er1 に出力されますが、約 1MB で拡張子 er2 に内容がコピーされ、新たに er1 に出力されます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 86 アプリケーション開発入門ガイド ・スクリプトトレース スクリプトトレースは各プロセスごとに作成され、スクリプトの実行結果が出力されます。 表示方法 モニター画面でプロセスを選択後、「スクリプトトレース表示」ボタンを押して下さい。尚、ス クリプトトレースの出力には予めスクリプトトレース出力の指定が必要です。 表示内容 発生日付 : 発生時刻 : MPS 行番号 : 実行命令名 : RETVAL 値 : 命令パラメータ RETVAL 値については1つ前の命令の戻り値が表示されます。 ファイル VOISTAGE¥EXEC¥xxxxxxxx.vt1(xxxxxxxx:プログラム番号+回線番号) VOISTAGE¥EXEC¥xxxxxxxx.vt2 スクリプトトレースは、初め拡張子 vt1 に出力されますが、約 1MB で拡張子 vt2 に内容がコピー され、新たに vt1 に出力されます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 87 アプリケーション開発入門ガイド ・S.100 ログ S.100 ログには内部で実行している S.100 API 関数の実行結果が出力されます。 表示方法 S.100 ログはバイナリ形式で出力されており、内容を参照するときは、ログ表示ツールを利用し ます。尚、S.100 ログの出力には予め S.100 ログ出力の指定が必要です。 ファイル VOISTAGE¥EXEC¥Vss10xxx.lg1(xxx:S.100 セション) VOISTAGE¥EXEC¥Vss10xxx.lg2 S.100 ログは、初め拡張子 lg1 に出力されますが、約 1MB で拡張子 lg2 に内容がコピーされ、新 たに lg1 に出力されます。 ・ファームウエアログ 現在ファームウエアログについては未サポートです。 ・ISDN プロトコルログ ISDN プロトコルログには VS-403MC 使用時に ISDN の通信プロトコルが出力されます。 VS-402MC 時には出力できません。 表示方法 ISDN プロトコルログは弊社解析用のログの為、表示ツールは提供しておりません。 ファイル VOISTAGE¥EXEC¥Vslgisdn.vl1 VOISTAGE¥EXEC¥Vslgisdn.vl2 ISDN プロトコルログは、初め Vslgisdn.vl1 に出力されますが、約 1MB で Vslgisdn.vl2 に内容が コピーされ、新たに Vslgisdn.vl1 に出力されます。 ・FAX プロトコルログ FAX プロトコルログには VS-402MC/403MC 使用時に FAX の通信プロトコルが出力されます。 表示方法 FAX プロトコルログは弊社解析用のログの為、表示ツールは提供しておりません。 ファイル VOISTAGE¥EXEC¥Vslgfax.vl1 VOISTAGE¥EXEC¥Vslgfax.vl2 FAX プロトコルログは、初め Vslgfax.vl1 に出力されますが、約 1MB で Vslgfax.vl2 に内容がコ ピーされ、新たに Vslgfax.vl1 に出力されます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 88 アプリケーション開発入門ガイド 6 開発・運用のポイント 6.1 回線特性設定について マルチメディアカード(VS-402MC)をご利用の場合は回線特性設定を行う必要があります。回線特性設 定とは、アナログ NTT 回線、PBX 回線、TA アナログポートなどの各種回線環境の特性(コールプログレス トーン)を検知し、カテゴリーファイル、回線特性データファイルに情報を設定する機能です。マルチメ ディアカードは、その情報をもとに電話回線の発信や回線断などを正しく処理できるようになります。 各コールプログレストーン検出が正常に行えない場合は以下のポイントに注意してみて下さい。 ・ダイヤルトーン 受話器を上げた(OFFHOOK)際に聞こえるトーンです。マルチメディアカードではこのトーンを認 識することで、回線が接続されており発信が可能であると判断します。通常の回線では受話器を上げ たままの状態を数十秒保持するとダイヤルトーンが違うトーンに変化したり、トーンの送出が途絶え ます。一度、使用する回線に通常の電話機を接続しダイヤルトーンの送出時間を確認の上、解析時間 を設定して下さい。 ・ビジートーン 発信時に相手側が話中であったとき、または通話中に相手側が回線を切断したときのトーンです。 マルチメディアカードではこのトーンを認識することで、発信時の話中、通話中の相手側回線切断を 判断します。自動検出では発信先が受話器を上げている状態(話中状態)で検出を行っていますが、 使用する回線によってはこのトーンと通話中に相手側が回線を切断したときのトーンが違う場合が あります。このような場合はビジートーンの自動検出を受話器を置いた状態で行ない、電話が鳴った 瞬間に回線を切断してみて下さい。 ・リングバックトーン 発信時に相手側を呼び出しているときのトーンです。マルチメディアカードではこのトーンを認識 することで、相手の呼出し中を判断し、またこのトーンが途切れることで相手側の回線接続(OFFHOOK) を判断します。自動検出が正常に行えない場合は解析時間を長くして下さい。 何度操作を行っても正常終了しない場合は、マルチメディアカードの環境が正しく設定されていないか、 またはトーンが検知できない可能性があります。PBX や TA のコールプログレストーンの仕様を確認して VS-402MC の場合は回線特性設定ツールで変更して下さい。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 89 アプリケーション開発入門ガイド 6.2 音声認識プログラムについて 6.2.1 音声認識について 人間にとってもっとも自然なコミュニケーション手段である音声をコンピュータが理解する技術が音声 認識技術です。音声認識をアプリケーションプログラムに組み込むことにより、様々な入力に対して自分 の声で操作ができるようになります。VOISTAGE で使用している音声認識エンジンには以下の技術が採用さ れています。 ・不特定話者電話音声認識技術 不特定話者音声認識アルゴリズムを採用しており、ノイズや歪みの多い電話回線においても高い認 識性能を誇ります。また、各種高速化処理手法によりレスポンスの良い認識応答を実現できます。不 特定話者対応の音声認識モデルを使っているため、ユーザーごとに長時間発声して登録する必要はあ りません。 ・連続音声認識技術 これまでの音声認識では、離散単語認識と呼ばれる技術が多く使われていました。これは、一度に 1つの単語しか認識できないため、1単語ずつ認識を行っていました。連続音声認識技術を導入する ことにより、連続して発声した複数の単語を一度に認識することができます。 6.2.2 文法 VOISTAGE の音声認識では、一般的にはどのような言葉を認識するか、つまり認識対象の言葉をあらかじ め規定しておきます。これを「文法」と呼び、テキストファイルに記述します。このテキストファイルを コンパイラを使用してコンパイルすることで、音声認識時に必要となる、音声認識モデルを作成します。 文法の記述方法および音声認識モデルの作成方法に関しては、「認識用文法の書き方」 (¥VOISTAGE¥RECOGN¥DOCS¥GRAMMAR.DOC)を参照して下さい。 音声認識を実行するにあたり、どのような発声を認識するのかを文法名で指定する必要があります。 なお、文法で規定した言葉以外の発声が入力された場合、音声認識エンジンは文法に規定された範囲の 言葉しか認識結果として返すことができません。よって誤認識あるいは認識結果が「なし」となります。 特に、音声認識技術の性格上、音声認識エンジンは一定の音声認識性能(認識率、認識速度)を保証す るものではありません。従って、音声認識エンジンを利用したアプリケーションプログラムの実行時に音 声認識の誤認識により損害が生じた場合の責任は負いかねますので、あらかじめご了承下さい。 ・文法における注意点 認識させようとしている単語の発声にあった記述が必要です。 実際に発声する場合と文字で書く場合に違いが出るので、いかに発声に近い記述ができるかが重要で す。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 90 アプリケーション開発入門ガイド 6.2.3 アプリケーションへの組み込み 音声認識処理をアプリケーションに組み込む場合にはいくつかの注意点があります。下記に示す内容を 考慮し、アプリケーションを作成して下さい。 ・ノイズ測定の重要性 音声認識エンジンでは、ユーザーの発声終了を自動的に検出するために、あらかじめノイズ測定命 令を発行して周辺ノイズの測定を行わなければいけません。ノイズ測定が正しく行なわれていないと、 音声認識自体が正しく動作せず、正しい認識結果が得られないことがあります。 ・ノイズ測定のタイミング 1つの対話において回線接続後、音声認識処理を行うまでに必ず1度ノイズ測定を実施する必要が あります。実施タイミングとしては、対話シーケンスにより異なりますが、一般的には回線接続後の ガイダンスの間などに実施します。ポイントとしては、相手側がまず喋らないだろうと思うところで 測定することです。 ・認識の処理タイミング 実際に対話シーケンス内で音声認識を行う場合、相手側の発声するタイミングを、ユーザーが意識 しない範囲で上手に誘導することです。たとえば、音声認識処理が始まっていないのに発声されてし まうと、声の途中からの認識となるため正しい認識ができません。ポイントとしては、認識処理実行 前のガイダンス終了部分に無音が長時間あると、その無音部分でユーザーが発声してしまう場合があ るので、無音部分を極力なくすこと。また、BEEP 音を発生させるなど、相手側が発声のタイミング を取りやすくすることです。 認識率を向上させるには、前項までに記述した内容を考慮した上で音声認識モデルを作成し、実際に使 用する環境に近い試験環境で、音声認識部分の試験を繰り返し実施して頂き、その試験結果に基づき文法 の記述をチューニングしていくことをお勧めします。 実際に使用する環境とは、使用する電話環境(周辺ノイズ、回線品質、電話機の種類など)の他に、音 声認識の対象と想定される語彙が、使用される話者の喋り方(発声しだすタイミング、声の大小、声質、 なまり、方言、間違いなど)等の要素を分析し、できる限りの要素条件を網羅することです。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 91 アプリケーション開発入門ガイド 6.2.4 誤認識時の処理 一般的に音声認識技術はいつも完璧に正しく認識できるとは限りません。(正しく認識できないことを 「誤認識」と呼びます。)そのため音声認識機能を持つシステムやアプリケーションプログラムを開発す る場合には、常に誤認識を考慮に入れたプログラミングが必要となります。 たとえば、都道府県名認識で認識結果が「東京都」であった場合には、 「都道府県名は東京都でよろしいですか? はい・いいえでお答え下さい」 のように、認識結果を確認し、認識誤りのときには再入力を促すなどの方法が考えられます。また電話回 線の状態が悪いときなど、何度認識しても誤認識となってしまう場合もあります。 また、通常の単語(地名や商品名)に比べ、数字(0∼9)などの比較的短い単語では、認識率は低下し ます。数字の入力に関しては、できるだけ PB 信号入力を併用することをお勧めします。 VOISTAGE が使用している音声認識エンジンはあらかじめ認識する単語を登録した辞書を用意しその中か ら最も近いと思われる単語を認識結果とします。ゆえに辞書にない単語を入力した場合も何らかの結果を 正常として返します。このような場合は以下のような方法で対処して下さい。 例:「あなたの好きな動物は犬ですか?猫ですか?」 認識単語 認識時の戻り値 いぬ Dog ねこ Cat うし Error ぶた Error とり Error きりん Error ぞう Error たぬき Error 上記のような認識辞書を用意し、期待する戻り値(Dog,Cat)以外はエラーとする。 また単語を増やすことで認識辞書にない単語を入力された場合もエラーとなる可能性が増えます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 92 アプリケーション開発入門ガイド 6.3 24時間運用について VOISTAGE 基本ソフトウェアは、24 時間運用を前提としています。そのためシステムの異常時の回復手段 として以下の方法を用いています。 ・自動ログイン機能(Windows NT の機能) ・自動再起動機能(Windows NT の機能) ・リモートアクセス機能(pcANYWHERE などの市販ツールの利用) 6.3.1 自動ログインの設定 システムに異常が発生し Windows NT の再起動を行うとログオン画面で停止した状態となり、システムを 自動的に起動させることができません。そこで以下の設定を行ない自動的にログオンを行えるようにしま す。 ① レジストリエディタ(WINNT¥SYSTEM32¥REGEDT32.EXE)を起動する。 ② レジストリエディタで、次のサブキーを選択。 HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows NT¥CurrentVersion¥Winlogon ③ REG_SZ 型で AutoAdminLogon という名前の値エントリを追加し、 1という値を指定。 ④ REG_SZ 型で DefaultPassword という名前のエントリを追加し、 DefaultUserName 値の下にリストされているユーザーのパスワードを 入力。 (ご注意):空のパスワードを指定すると 1 回しか自動ログインができません。 6.3.2 システムの設定 ・メモリダンプ発生時に自動リセット メモリダンプ発生時に自動リセットを行いたい場合は、以下の設定を行って下さい。自動リセット されると、イベントビューアのログにメモリダンプの履歴が残るようになります。 ① 「コントロールパネル」から「システム」アイコンを起動して下さい。 ② 「起動/シャットダウン」タブを選択して下さい。 ③ 「回復」の項目から以下の設定を行って下さい。 「システムログにイベントを書き込む」にチェック。 「自動的に再起動する」にチェック。 ④ 「OK」ボタンをクリックし、システムを再起動する。 (ご注意):WatchDogTimer を使用している場合は、本機能は使用しないで下さい Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 93 アプリケーション開発入門ガイド ・起動時間の短縮 起動時間を短縮したい場合は、以下の設定を行って下さい。 ① 「コントロールパネル」から「システム」アイコンを起動して下さい。 ② 「起動/シャットダウン」タブを選択して下さい。 ③ 「起動システム」の項目から「待ち時間」に時間をセットして下さい。2秒程度を推奨しま す。 ④ 「OK」ボタンをクリックし、システムを再起動する。 ・仮想メモリの設定 実装メモリ容量の大小に関わらず、必ず仮想メモリの最大値を変更して下さい。 ① 「コントロールパネル」から「システム」アイコンを起動して下さい。 ② 「パフォーマンス」タブを選択して下さい。 ③ 「仮想メモリ」項目から変更ボタンを押して下さい。 ④ C ドライブのページファイルサイズの「最大サイズ」を 200MB に変更して下さい。 ⑤ 「設定」ボタンをクリック。 ⑥ 「OK」ボタンをクリックし、システムを再起動する。 ・マルチタスクの設定 マルチタスクの設定は必ず変更して下さい。 ① 「コントロールパネル」から「システム」アイコンを起動して下さい。 ② 「パフォーマンス」タブを選択して下さい。 ③ 「アプリケーションの処理優先度」項目のフォアグラウンドアプリケーションの処理優先 度を「低」に設定して下さい。 ④ 「OK」ボタンをクリックし、システムを再起動する。 (ご注意):本設定は、VOISTAGE 基本ソフトウェアインストール時に自動設定されます。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 94 アプリケーション開発入門ガイド 6.4 マルチメディアカード種別による機能比較 マルチメディアカードの設定機能の違いについて各マルチメディアカードでサポートしている機能を示 します。 項番 スクリプト言語命令 概要 402MC 403MC 201MC 1 ADD 加算 ○ ○ ○ 2 ADDREC 新規レコード作成 ○ ○ ○ 3 AFTERDATE 現在から指定日数後の日付取得 ○ ○ ○ 4 AFTERDATE2 指定日付から指定日数後の日付取得 ○ ○ ○ 5 AFTERTIME 現在から指定時間後の時間取得 ○ ○ ○ 6 AFTERTIME2 指定日時から指定時間後の時間取得 ○ ○ ○ 7 BEEP ビープ音の発生 ○ ○ ○ 8 CALL CALL 命令 ○ ○ ○ 9 CALLIL IL を呼び出す ○ ○ ○ 10 CALLREJECT 着信拒否 × ○ × 11 CHCONNECT チャネル間接続 ○ ○ × 12 CHECKDATE 日付の形式チェック、曜日計算 ○ ○ ○ 13 CHECKDTMF タッチトーンバッファのチェック ○ ○ ○ 14 CHECKTIME 時間の形式チェック ○ ○ ○ 15 CHHOLD チャネル保留 ○ ○ × 16 CHR 文字コードを文字に変換 ○ ○ ○ 17 CHUNHOLD チャネル保留解除 ○ ○ × 18 CLEAR 変数のクリア ○ ○ ○ 19 CLEARDTMF タッチトーンバッファクリア ○ ○ ○ 20 CLOSEIL IL をクローズ ○ ○ ○ 21 CLOSETBL DB,テーブルのクローズ ○ ○ ○ 22 CNGCHECK FAX 受信か電話かをチェック ○ ○ × 23 COPYFILE ファイルコピー ○ ○ ○ 24 CREATEDB データベースの作成 ○ ○ ○ 25 CREATETBL テーブルの作成 ○ ○ ○ 26 CSV CSV 形式変換 ○ ○ ○ 27 DATAREC データ受信 ○ ○ × 28 DATASEND データ送信 ○ ○ × 29 DBPATH データベースディレクトリの変更 ○ ○ ○ 30 DELDB データベース削除 ○ ○ ○ 31 DELDIR ディレクトリ削除 ○ ○ ○ 32 DELFILE ファイル削除 ○ ○ ○ 33 DELREC カレントレコード削除 ○ ○ ○ Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 95 アプリケーション開発入門ガイド 項番 スクリプト言語命令 概要 402MC 403MC 201MC 34 DELTBL テーブル削除 ○ ○ ○ 35 DEVICECHECK ドライブ状態チェック ○ ○ ○ 36 DIAL ダイヤルコールする ○ ○ ○ 37 DIFFDATE 2つの日付の日数差 ○ ○ ○ 38 DISKFREE ドライブの空き領域取得 ○ ○ ○ 39 DISPLAY 画面出力 ○ ○ ○ 40 DIV 割り算 ○ ○ ○ 41 EDIT レコード更新開始 ○ ○ ○ 42 EXBEEP 秒数、周波数指定のビープ音 ○ ○ ○ 43 EXECDLL ロードした DLL を呼び出す ○ ○ ○ 44 EXECSQL SQL 文発行 ○ ○ ○ 45 FAXCHECK FAX のページ数取得 ○ ○ ○ 46 FAXHEADCUT FAX のヘッドカットサイズ設定 ○ ○ ○ 47 FAXHEADSET FAX のヘッドデータ設定 ○ ○ × 48 FAXIMCNV FAX データインチ・ミリ属性変更 ○ ○ ○ 49 FAXPCHECK FAX の属性取得 ○ ○ ○ 50 FAXREC FAX の受信 ○ ○ × 51 FAXSEND FAX の送信 ○ ○ × 52 FAXTCGET TSI 又は CSI を取得する ○ ○ × _53 FAXTCSET TSI 又は CSI を設定する ○ ○ × 54 FAXTOTIF FAX ファイルを TIFF-F ファイルに変換 ○ ○ ○ 55 FCLOSE ファイルクローズ ○ ○ ○ 56 FCREATE テキストファイル作成 ○ ○ ○ 57 FGETS テキストファイル読み込み ○ ○ ○ 58 FILEFINDEND ファイル検索終了 ○ ○ ○ 59 FILEFINDFIRST ファイル検索開始 ○ ○ ○ _60 FILEFINDNEXT 次ファイル検索 ○ ○ ○ _61 FILEREC ファイル受信 ○ ○ × _62 FILESEND ファイル送信 ○ ○ × 63 FILESIZE ファイルサイズ取得 ○ ○ ○ 64 FILESPEECH テキスト中の文字を音声合成 ○ ○ ○ 65 FILETOWAV テキスト文字を音声合成し、WAVE 出力 ○ ○ ○ 66 FLASH フッキング ○ ○ × 67 FOPEN テキストファイルオープン ○ ○ ○ 68 FORMATL 文字列操作(左詰め) ○ ○ ○ 69 FORMATR 文字列操作(右詰め) ○ ○ ○ 70 FPUTS テキストファイル書き込み ○ ○ ○ 71 FREEDLL ロードした DLL をアンロードする ○ ○ ○ 72 FSEEK テキストファイルカレント位置変更 ○ ○ ○ Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 96 アプリケーション開発入門ガイド 項番 スクリプト言語命令 概要 402MC 403MC 201MC 73 GETAPPPARAM プログラムの起動パラメータ取得 ○ ○ ○ 74 GETCALLID 発信者番号の取得 ○ ○ ○ ※ VS-402MC の場合は着信前に取得可能 VS-403MC の場合は回線種別の設定を INS ネットサービス設定で取得可能、電話網からの発信者番号を 取得するには、INS ナンバーディスプレイ契約が必要 75 GETCSV CSV 形式から値取得 ○ ○ ○ 76 GETDATE 現在日付、曜日取得 ○ ○ ○ 77 GETDIRSIZE ディレクトリ下の使用容量取得 ○ ○ ○ 78 GETDTMF タッチトーンの取得 ○ ○ ○ 79 GETHENFIELD フィールドの値を取得 ○ ○ ○ 80 GETILPARAM IL のパラメータ取得 ○ ○ ○ 81 GETLINENO 使用回線番号の取得 ○ ○ ○ 82 GETLINESTATUS 回線接続状態取得 ○ ○ ○ 83 GETTIME 現在時間取得 ○ ○ ○ 84 GOTO GOTO 命令 ○ ○ ○ 85 HANTOZEN 半角文字を全角文字に変換 ○ ○ ○ 86 IF,ELSE,ENDIF IF,ELSE,ENDIF 命令 ○ ○ ○ 87 INSTR 文字列検索 ○ ○ ○ 88 INT 小数点以下切り捨て ○ ○ ○ 89 JOIN 文字列連結 ○ ○ ○ 90 LEFT 文字列左から抽出 ○ ○ ○ 91 LEN 文字列の長さ取得 ○ ○ ○ 92 LOADDLL DLL モジュールをローディング ○ ○ ○ 93 LOADIL IL を再ロードする ○ ○ ○ 94 LOADPRO プロファイルの一括設定 ○ ○ ○ 95 LOGOFF ログ出力 OFF ○ ○ ○ 96 LOGON ログ出力 ON ○ ○ ○ 97 MAKEDIR 指定ディレクトリ作成 ○ ○ ○ 98 MAXREC レコード数取得 ○ ○ ○ 99 MOD 割り算の余り取得 ○ ○ ○ 100 MOVE 変数の代入 ○ ○ ○ 101 MUL 掛け算 ○ ○ ○ 102 NCHECK 数値チェック ○ ○ ○ 103 NETSRVCMD サービス制御コマンド発行 × ○ × 104 NFORM 数値文字列正規化 ○ ○ ○ 105 ONHOOK 回線切断 ○ ○ ○ 106 OPENIL IL ファイルをオープン ○ ○ ○ 107 OPENTBL DB,テーブルオープン ○ ○ ○ 108 OUTDIAL ダイヤル信号送出 ○ ○ × Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 97 アプリケーション開発入門ガイド 項番 スクリプト言語命令 概要 402MC 403MC 201MC 109 OUTDTMF トーンの出力 ○ ○ ○ 110 OVERLAYIMAGE BMP を重ねあわせて BMP 出力 ○ ○ ○ 111 PARAMGET パラメータ値の取得 ○ ○ ○ ※VS-403MC の場合、着信転送電話番号 AUTO_TRANSFER と着信拒否 CALLREJECT の取得ができる。 112 PARAMSET パラメータ値の変更 ○ ○ ○ ※VS-403MC の場合、 着信転送電話番号 AUTO_TRANSFER と着信拒否 CALLREJECT の設定ができる。 113 PARTYBEGIN 三者通話開始 ○ ○ × 114 PARTYCHANGE 三者通話切り替え × ○ × 115 PARTYFINISH 三者通話終了 ○ ○ × 116 PARTYPREPARE 三者通話の第三者呼出し ○ ○ × 117 QUIT QUIT 命令 ○ ○ ○ 118 READREC 次レコード読み込み ○ ○ ○ 119 RECOGNEND 音声認識終了 ○ ○ ○ 120 RECOGNINIT 音声認識初期化 ○ ○ ○ 121 RECOGNNOISE ノイズ測定 ○ ○ ○ 122 RECOGNVOICE 音声認識 ○ ○ ○ 123 RENAMEFILE ファイル名の変更 ○ ○ ○ 124 REPORT スーパーバイザーに通知 ○ ○ ○ 125 REQUEST スーパーバイザーに要求 ○ ○ ○ 126 RETURN RETURN 命令 ○ ○ ○ 127 RIGHT 文字列右から抽出 ○ ○ ○ 128 SEARCHFILE ファイルの存在チェック ○ ○ ○ 129 SELECT レコード検索、ソート ○ ○ ○ 130 SELECTCLEAR 検索条件クリア ○ ○ ○ 131 SELECTSET 検索条件設定 ○ ○ ○ 132 SENSE 各種情報取得 ○ ○ ○ ※取得できる情報は各カードにより異なる。 133 SETDATE 現在日付設定 ○ ○ ○ 134 SETHENFIELD フィールドに値を設定 ○ ○ ○ 135 SETILPARAM IL のパラメータ設定 ○ ○ ○ 136 SETTIME 現在時間設定 ○ ○ ○ 137 SLEEP 指定秒数休止 ○ ○ ○ 138 SORTCLEAR ソート順設定クリア ○ ○ ○ 139 SORTSET ソート順設定 ○ ○ ○ 140 SQR 平方根 ○ ○ ○ 141 SUB 減算 ○ ○ ○ 142 SUBSTR 文字列から文字列の抽出 ○ ○ ○ 143 SWITCH SWITCH 命令 ○ ○ ○ 144 SYSCALL 外部プログラム起動 ○ ○ ○ Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 98 アプリケーション開発入門ガイド 項番 スクリプト言語命令 概要 402MC 403MC 201MC 145 TBLCLEAR 全レコードの削除 ○ ○ ○ 146 TEXTIN CSV 形式でレコード追加 ○ ○ ○ 147 TEXTOUT テーブル内内容 CSV 形式出力 ○ ○ ○ 148 TEXTSPEECH テキスト文字を音声合成 ○ ○ ○ 149 TEXTTOFAX テキストファイルを FAX 変換 ○ ○ ○ 150 TEXTTOIMAGE テキストを BMP に変換 ○ ○ ○ 151 TEXTTOWAV テキスト文字を音声合成し、WAVE 出力 ○ ○ ○ 152 TIFTOFAX TIFF-F を FAX に変換 ○ ○ ○ 153 TRANSFER 電話転送 ○ ○ ○ 154 TTSEND 音声合成終了処理 ○ ○ ○ 155 TTSINIT 音声合成初期処理 ○ ○ ○ 156 TXVOICECLOSE プロンプトファイルのクローズ ○ ○ ○ 157 TXVOICELOAD プロンプトファイルのオープン ○ ○ ○ 158 TXVOICEPLAY プロンプトファイルの再生 ○ ○ ○ 159 UUIGET ユーザー間情報取得 × ○ ○ 160 UUISET ユーザー間情報設定 × ○ ○ 161 UPDATE レコード更新終了 ○ ○ ○ 162 UPDATECANCEL レコード更新キャンセル ○ ○ ○ 163 VOICECHECK 音声メッセージの属性取得 ○ ○ ○ 164 VOICECHECKBG 非同期音声再生動作確認 ○ ○ × 165 VOICECOPY 音声ファイルのコピー ○ ○ ○ 166 VOICEDELETE 音声ファイルの削除 ○ ○ ○ 167 VOICEPACK 音声ファイルのガベ−ジ ○ ○ ○ 168 VOICEPLAY 音声再生 ○ ○ ○ 169 VOICEPLAYBG 非同期音声再生 ○ ○ × 170 VOICERECORD 音声録音 ○ ○ ○ 171 VOICESTOPBG 非同期音声再生停止 ○ ○ × 172 VSXCHECK 音声メッセージ数取得 ○ ○ ○ 173 VSXTOWAV 音声ファイルを WAVE に変換 ○ ○ ○ 174 WAITCONNECT 接続待ち ○ ○ × 175 WAITRING 着信待ち ○ ○ ○ ※VS-403MC の場合、着信転送設定、着信拒否設定が行われていると命令が異常(-1)で終了する。 176 WAVTOVSX WAVE を音声ファイルに変換 ○ ○ ○ 177 WHILE WHILE 命令 ○ ○ ○ Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 99 アプリケーション開発入門ガイド 6.5 発信時相手応答検出 マルチメディアカード(VS-402MC)での発信時の相手応答検出には以下の3種類の方法があります。 相手応答検出の設定はデフォルトでは全て ON になっており、設定を変更する場合はカテゴリー編集ツール から値を変更しアプリケーションの再起動後に有効となります。 ①極性反転による回線接続検出 発呼時の極性反転による回線接続検出の有無を指定します。NTT アナログ回線では極性反転があります が、PBX 等では機種により極性反転のないものも存在します。 設定パラメータ: №16 発呼時極性反転確認 CALL_REVERSE_ON ②リングバックトーンによる回線接続検出 発呼時のリングバックトーンによる回線接続検出の有無を指定します。マルチメディアカードがリング バックトーンのパターンを検出した後、相手側の OFFHOOK によりリングバックトーンが途切れたことで回 線接続とみなします。リングバックトーンのパターン検出には NTT アナログ回線の場合最大 9 秒ほどかか ります。そのためリングバックトーンのパターンを検出する前に相手側が OFFHOOK すると回線接続を検出 することができません。また、PBX の機種により相手側にリング信号を送出する前にあらかじめマルチメ ディアカードにリングバックトーンを送出することが可能です。詳しくは PBX のメーカにお問い合わせ下 さい。 設定パラメータ: №17 発呼時リングバックトーン確認 CALL_RINGBACK_ON ③相手側の音声による回線接続検出 発呼時の相手側の音声による回線接続検出の有無を指定します。相手側の OFFHOOK 後のエネルギー(音 声等)で検出を行います。 設定パラメータ: №18 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 発呼時キャリア受信確認 100 CALL_CARRIER_ON アプリケーション開発入門ガイド 6.6 回線切断検出 マルチメディアカード(VS-402MC)での回線接続後の切断検出には以下の 3 種類の方法があります。 回線切断検出の設定はデフォルトでは全て ON になっています。設定を変更する場合はカテゴリー編集ツー ルにより値を変更しアプリケーションの再起動後に有効となります。 ①極性反転による回線切断検出 極性反転による回線切断検出の有無を指定します。NTT アナログ回線では極性反転がありますが、PBX 等 では機種により極性反転のないものも存在します。 設定パラメータ: №20 回線極性反転確認 LINE_REVERSE_ON ②回線瞬断による回線切断検出 回線瞬断による回線切断検出の有無を指定します。 設定パラメータ: №21 回線断回線瞬断検出 LINE_POWER_FAIL_ON ③ビジートーンによる回線切断検出 ビジートーンによる回線切断検出の有無を指定します。NTT アナログ回線の場合、マルチメディアカー ドがビジートーンを検出するには 5 秒ほどかかります。 設定パラメータ: №22 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 回線断ビジートーン検出 101 LINE_BUSY_ON アプリケーション開発入門ガイド 6.7 VS-402MC 使用時の使用回線別留意点 6.7.1 NTT アナログ回線 ●回線特性設定の必要性 NTT アナログ回線を使用する場合、回線特性はデフォルト値の設定が NTT アナログ回線であるため設定 変更を行う必要はありません。 ●相手側 DP 出力時の NTT 局側の回線切断 NTT アナログ回線を使用時にトーン取得のため相手側からダイヤルパルスを送出すると、まれに NTT 局 側で回線を切断することがあります。そのような場合、プッシュ式電話機をお使いの方はトーン切り替え を行う必要があります。切り替え方法は電話機の機種によって異なりますが、一般的に下記の操作で切り 替えることができます。 ・電話機のトーンボタンまたは「*」ボタンを押す。 ・切り替えスイッチを「PB」の位置にする。 6.7.2 PBX 回線 ●回線特性設定の必要性 PBX を使用する際に NTT アナログ回線と回線特性の仕様が異なる場合は回線特性設定を行う必要があり ます。 ●転送処理 転送処理には PBX やボイスワープ回線などの転送を行う機器が必要となります。 PBX を使用する場合には転送時のショートフック時間を 500ms∼700ms 程度に設定して下さい。(PBX の機 種により値は異なります) 設定方法は下記に示したところから行うことができます。 設定方法 VS-402MC:回線特性データファイルの NCU→フラッシュ時間の設定 スクリプト言語で転送のアプリケーションを作成する場合は基本的に TRANSFER 命令を使用して下さい。 (OUTDIAL と WAITCONNECT 命令で処理を行うことも可能です。) また PBX の機種によってはショートフックによる通話相手の切り替えに時間がかかり、その際に音声再生 処理を行うと音声の最初の部分が相手側に聞こえない可能性があります。回避するには SLEEP 命令を入れ るか、切れてしまう長さの無音の後に再生する音声を録音するようにして下さい。 転送時の相手応答検出としては、①リングバックトーンの終了、②極性反転、③音声エネルギー検出の 3 つが上げられます。また音声エネルギー検出ができない場合がありますので①のリングバックトーンの終 了で相手応答の検出を行って下さい。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 102 アプリケーション開発入門ガイド なお、①のリングバックトーンの終了での応答検出はマルチメディアカードがリングバックトーンを検 出した後でしか判断できないため、相手側がコール後すぐに着信応答した場合には検知できません。(PBX によっては相手側にリンガを送出する前にマルチメディアカードに数コールのリングバックトーンを送出 することが可能な機種もあります。) PBX での転送処理でよく発生するトラブルの回避策を示します。 ① マルチメディアカードで転送処理がタイムアウトになる。 ・カテゴリーが正しく設定されていない可能性があります。 カテゴリー編集ツールで以下のパラメータを設定して下さい。 №16 発呼時極性反転確認 CALL_REVERSE_ON=1 №17 発呼時リングバックトーン確認 CALL_RINGBACK_ON=1 №18 発呼時キャリア受信確認 CALL_CARRIER_ON=1 ・PBX で極性反転を出すことができる場合、PBX で極性反転を出して下さい。 ・リングバックトーンの終了をマルチメディアカードが検出できていない可能性があります。 転送側で呼出し音が数回(4回以上)なった後で受話器を上げて下さい。 ・リングバックトーンが正しく設定されていない可能性があります。 回線特性設定を行って下さい。 ② 転送先電話機で受話器を上げる前にマルチメディアカードが応答する。 ・PBX から何らかの音が送出され、それを音声エネルギーとして検出している可能性があります。 カテゴリー編集ツールで以下のパラメータを設定して下さい。 №18 発呼時キャリア受信確認 CALL_CARRIER_ON=0 ③ 転送先電話機では呼出音が鳴るが、マルチメディアカードで話し中になる。 ・ビジートーンが正しく設定されていない可能性があります。 回線特性設定を行って下さい。 ④ 転送先電話機で受話器を上げたが、マルチメディアカードで切断される。 ・ビジートーンが正しく設定されていない可能性があります。 回線特性設定を行って下さい。 ⑤ 転送処理で発信側電話機が保留状態にならない。 ・ショートフックの時間が短い可能性があります。 下記の設定でショートフックの時間を長くして下さい。 回線特性データファイルの NCU→フラッシュ時間の設定 ⑥ 転送処理で発信側電話機が切断される。 ・ショートフックの時間が長い可能性があります。 下記の設定でショートフックの時間を短くして下さい。 回線特性データファイルの NCU→フラッシュ時間の設定 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 103 アプリケーション開発入門ガイド 6.7.3 TA(ターミナルアダプター)アナログポート 6.7.4 ナンバーディスプレイ回線 ナンバーディスプレイ回線を使用する場合にはカテゴリー編集ツールにより以下の設定をする必要があり ます。またナンバーディスプレイの契約を行っていない回線で以下の設定を行った場合はマルチメディア カードが着信しなくなりますのでご注意下さい。 №9 ID受信端末起動着信有無 GET_ID_CALL=2 №12 ID受信端末起動着信通知 GET_ID_CALL_NOTE=1 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 104 アプリケーション開発入門ガイド マルチメディアカード基本ソフトウェア アプリケーション開発入門ガイド 第5.1 版 2003 年 5 月 株式会社NTTデータ VOISTAGE 製品については以下のホームページ・テレホンサービスで案内しています。 ●VOISTAGE-ONLINE http://www.voistage.com VOISTAGEの応用例やFAQ、最新モジュールのダウンロードサービス等を行なっています。 ●VOISTAGEインフォメーションダイヤル 0120−00−5062 音声認識・音声合成等のデモンストレーションを24時間サービスしています。 Copyright © 1998-2003 NTT DATA CORPORATION All rights reserved 複製・無断転載厳禁 105 アプリケーション開発入門ガイド