TCL IVR API Version 2.0 プログラミング ガイド
イベントとステータス コード
イベントとステータス コード
発行日;2012/01/11 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 2MB) | フィードバック

目次

イベントとステータス コード

イベント

ステータス コード

認証ステータス

許可ステータス

ディジット収集ステータス

打診応答

打診ステータス

切断の原因

ファシリティ

機能タイプ

レッグの確立ステータス

メディア ステータス

登録/通知

トーン検出

転送ステータス

VoiceXML ダイアログ終了ステータス

イベントとステータス コード

この章では、TCL IVR スクリプトが受け取るイベントと、戻すステータス コードについて説明します。次の項で構成されます。

「イベント」

「ステータス コード」

イベント

TCL IVR スクリプトが受け取るイベントを以下の表に示します。表に含まれないイベントを受け取ると、そのイベントは無視されます。

 

イベント
説明

ev_accounting_status_ind

方式リストまたはサーバ グループが到達不能とマークされている場合に受け取ります。

アカウンティング ステータスおよび方式リストは、infotag get evt_aaa_status_info [attribute-name] を使用して求めることができます。

ev_address_resolved

終端点アドレスのリスト。

ev_alert

呼を確立するために、leg setup または leg setup_continue コマンドで生成される中間イベント。callinfo パラメータの notifyEvents に指定された場合、宛先の終端点に正常に警告が送られると、スクリプトが ev_alert メッセージを受信します。そのため、転送中継地のゲートウェイで実行されるスクリプトは、転送元の終端点へのレッグを切断できます。

このイベントが代行受信イベントの場合、アプリケーションは leg setup_continue コマンドを使用してシステムが確立を続行できるようにする必要があります。

ev_any_event

スクリプトが受け取る任意のイベントを表すためにステート マシンで使用できる、特別なワイルドカード イベント。

ev_authorize_done

aaa authorize コマンドが終了したことを確認します。evt_status 情報タグを使用して、許可ステータス(許可に成功したか失敗したか)を判別することができます。

ev_authenticate_done

authenticate コマンドが終了したことを確認します。evt_status 情報タグを使用して、認証ステータス(認証に成功したか失敗したか)を判別することができます。

ev_call_timer0

コール レベルのタイマーが時間切れになったことを示します。

ev_collectdigits_done

コール レッグの leg collectdigits コマンドが終了したことを確認します。evt_status 情報タグを使用してコマンドの終了ステータスを判別したり、evt_dcdigits 情報タグを使用して収集したディジットを取得することができます。

ev_connected

呼を確立するために、leg setup または leg setup_continue コマンドで生成される中間イベント。

callinfo パラメータの notifyEvents が指定されている場合、システムが宛先スイッチから接続イベントを受け取ると、スクリプトが ev_connected メッセージを受信します。

このイベントが代行受信イベントの場合、アプリケーションは leg setup_continue コマンドを使用してシステムが確立を続行できるようにする必要があります。

ev_consult_request

終端点からのコール転送打診 ID 要求を示します。

ev_consult_response

leg consult request コマンドへの応答を示します。戻りコードについては、 ステータス コード 打診ステータス を参照してください。

ev_consultation_done

leg consult response コマンドが終了したことを示します。戻りコードについては、 ステータス コード 打診応答 を参照してください。

ev_create_done

connection create コマンドが終了したことを確認します。evt_connection 情報タグを使用して、確立された接続の ID を判別することができます。

ev_destroy_done

connection destroy コマンドが終了したことを確認します。evt_connection 情報タグを使用して、破棄された接続の ID を判別することができます。

ev_digit_end

ディジット キーが押され、放されたことを示します。evt_digit 情報タグを使用してどのディジットが押されたかを判別したり、evt_digit_duration 情報タグを使用してディジットが何秒間押されたかを判別することができます。長い間押された#またはディジットを検出する場合にこのイベントを使用します。

ev_disconnect_done

コール レッグが消去されたことを示します。

ev_disconnected

コール レッグの 1 つを切断する必要があることを示します。このイベントを受け取ったら、スクリプトはそのコール レッグに対して leg disconnect を発行する必要があります。evt_legs 情報タグを使用して、どのコール レッグが切断されたかを判別することができます。

ev_disc_prog_ind

DISC/PI メッセージがコール レッグで受信されたことを示します。

ev_facility

leg facility コマンドへの応答を示します。

ev_feature

スクリプトが受け取る機能イベントを示します。スクリプトは、set evt_feature_report 情報タグを使用して、代行受信する機能イベントをイネーブルまたはディセーブルにできます。スクリプトが ev_feature イベントを受け取ると、get evt_feature_type 情報タグを使用して機能タイプ文字列を取得できます。

ev_grab

このスクリプトを呼び出したアプリケーションが、コール レッグを戻すようにスクリプトに要求していることを示します。このイベントを受け取ると、スクリプトは handoff return コマンドによってレッグを終了して戻すことができます。レッグが戻されるかどうかは、ev_grab イベントを受け取るスクリプトによります。

ev_hookflash

フック フラッシュ(通話中のクイック オンフック オフフックなど)を示します。基盤となるプラットフォームまたはインターフェイスで、フック フラッシュ検出がサポートされていることが前提です。ユーザがフックフラッシュを押すと、TCL スクリプトによって受信されます。

ev_handoff

別のアプリケーションから 1 つ以上のコール レッグを受け取ったことを示します。このイベントを受け取ると、evt_legs および
evt_connections 情報タグを使用して、ev_handoff イベントに伴うコール レッグと接続 ID のリストを取得することができます。

ev_leg_timer

レッグ タイマーが時間切れになったことを示します。evt_legs 情報タグを使用して、どのレッグ タイマーが時間切れになったかを判別することができます。

ev_media_activity

作動中の呼を検出したことを示します。ある期間メディアが非作動だった後に、RTP および RTCP パケットが再度送信されると生成されます。

ev_media_done

プロンプトの再生が終了または失敗したことを示します。evt_status 情報タグを使用して、終了ステータスを判別することができます。

ev_media_inactivity

非作動の呼を検出したことを示します。指定された時間内に RTP または RTCP パケットが受信されないと生成されます。時間は、CLI ip rtcp report interval および timer receive-rtcp で指定されます。

ev_named_timer

named_timer が時間切れになると受信されます。named_timer の名前は、get evt_timer_name 情報タグを使用して求められます。

ev_proceeding

呼を確立するために、leg setup または leg setup_continue コマンドで生成される中間イベント。

callinfo パラメータの notifyEvents が指定されている場合、システムがリモートの終端から処理イベントを受け取ると、スクリプトは ev_proceeding メッセージを受信します。

このイベントが代行受信イベントの場合、アプリケーションは leg setup_continue コマンドを使用してシステムが確立を続行できるようにする必要があります。

ev_progress

呼を確立するために、leg setup または leg setup_continue コマンドで生成される中間イベント。

callinfo パラメータの notifyEvents が指定されている場合、システムが宛先スイッチから進捗イベントを受け取ると、スクリプトは ev_progress メッセージを受信します。

このイベントが代行受信イベントの場合、アプリケーションは leg setup_continue コマンドを使用してシステムが確立を続行できるようにする必要があります。

ev_returned

(handoff callappl によって)別のアプリケーションに受け渡されたコール レッグが戻されたことを示します。このイベントには、受け渡し先のアプリケーションで生成された 1 つ以上のコール レッグを伴います。このイベントを受け取ると、evt_legs および evt_connections 情報タグを使用して、ev_returned イベントに伴うコール レッグと接続 ID のリストを取得することができます。また、evt_iscommand_done 情報タグを使用して、転送されたすべてのコール レッグの処理が終了した、つまり handoff callappl コマンドが終了したことを確認することができます。

ev_setup_done

leg setup コマンドが終了したことを示します。evt_status 情報タグを使用して、コマンドの終了ステータス(呼の確立に成功したか、または何らかの原因で失敗したか)を判別することができます。

ev_setup_indication

システムが呼を受信したことを示します。このイベントと ev_handoff イベントは、実行インスタンスを開始するイベントです。

ev_synthesizer

media play コマンドが終了したことを示します。

ev_tone_detected

ev_transfer_request

終端点からアプリケーションへのコール転送を示します。

ev_transfer_status

leg setup コマンドで生成される中間イベント。callinfo パラメータの notifyEvents で指定された場合、スクリプトは ev_trasfer_status メッセージを受信します。そのため ev_status 情報タグにコール転送のステータス値が含まれることになります。

ev_vxmldialog_done

VXML ダイアログが終了したときに受け取ります。VXML ダイアログが <exit/> タグを実行した場合か、現在のドキュメントのインタプリタ処理が別のドキュメントに移行されることなく終了した場合に発生することがあります。ダイアログはまた、インタプリタ処理の失敗か、ドキュメント エラーが原因で終了することもあります。この終了ステータスは、evt_status 情報タグを使用しても入手できます。

ev_vxmldialog_event

レッグで開始された VXML ダイアログが sendevent オブジェクト タグを実行したときに、TCL IVR アプリケーションが受け取ります。VXML サブイベント名は、evt_vxmlevent 情報タグで入手できます。ダイアログ マークアップからスローされたすべてのイベントの形式は、vxml.dialog.* です。ダイアログ終了イベントのような、システムが(おそらく VXML ドキュメントによるタグの実行やイベントのスローへの間接的な反応として)生成したすべてのイベントの形式は vxml.session.* です。

ev_msg_indication

着信メッセージをシグナル通知します。

ev_session_indication

新しいセッションの開始をシグナル通知します。

ev_session_terminate

現在の TCL セッションを停止します。

ev_subscribe_done

登録要求が完了しました。

ev_unsubscribe_done

登録解除要求が完了しました。

ev_unsubscribe_indication

サーバが登録を終了しました。

ev_notify

結果を受け取ったことを通知します。

ev_notify_done

通知要求が完了しました。

ev_subscribe_cleanup

「clear subscription <session id | all」CLI が実行されると受け取ります。

ev_returned

別のアプリケーション インスタンスがコール レッグを戻すと受け取ります。

ev_grab

ユーザが、呼をすでに 2 つめのセッションに受け渡した TCL セッションを停止する場合、そのセッションは ev_grab イベントを 2 つめのセッションに送信します。 2 つめのセッションがコール レッグを戻すと、最初のセッションが終了します。2 つめのセッションがコール レッグを戻さない場合、最初のセッションは実行を停止しますが、2 つめのセッションがコール レッグを切断するか戻すまでは、完全には終了しません。

使用上の注意:

スクリプトは、ev_subscribe_done イベントの戻りステータスを確認する必要があります。このイベントは、応答をサーバから受信したことを示します。戻りコード su_000 は、肯定応答を受け取ったことを示します。戻りコード su_002 以上の場合は、サーバから否定応答を受け取ったことを示します。

登録は、ev_subscribe_done イベントと最初の通知をサーバから受信した場合だけ終了します。アプリケーションは、登録が終了したことを確認してからインスタンスを終了する必要があります。

スクリプトは、サーバが登録を終了すると ev_unsubscribe_indication イベントを受け取ります。このスクリプトは、このイベントに関連付けられたヘッダー情報とコンテンツ情報にアクセスできます。

登録タイマーが時間切れになった場合、スクリプトは ev_unsubscribe_indication イベントとステータス コード ui_003 を受け取ります。これは内部イベントであるため、このイベントに関連付けられたヘッダー情報やコンテンツ情報はありません。

スクリプトは、ev_subscribe_cleanup イベントを受け取ったら、登録を終了する必要があります。5 秒以内に応答がない場合、インフラストラクチャが登録を終了します。必ずスクリプトでこのイベントを処理してください。

登録を行うインスタンスがすでに終了していて、ev_notify_indication、ev_subscribe_cleanup、または ev_unsubscribe_indication イベントを受け取った場合、新しいインスタンスが作成され、そのインスタンスにイベントが渡されます。

ステータス コード

evt_status 情報タグは、受け取ったイベントのステータス コードを戻します。ここでは、有効なステータス コードとそれぞれの説明について記載します。

ステータス コードは、機能ごとにグループ分けされています。ステータス コードの最初の 2 文字でグループを表しています。

au:認証ステータス

ao:許可ステータス

cd:ディジット収集ステータス

cr:打診応答

cs:打診ステータス

di:切断の原因

fa:ファシリティ

ft:機能タイプ

ls:レッグの確立ステータス

ms:メディア ステータス

td:トーン検出

ts:転送ステータス

vd:音声ダイアログ終了ステータス

認証ステータス

認証ステータスは、au_xxx の形式でレポートされます。

 

xxx の値
説明

000

許可に成功しました

001

許可エラーです

002

許可に失敗しました

許可ステータス

許可ステータスは、ao_xxx の形式でレポートされます。

 

xxx の値
説明

000

許可に成功しました

001

許可エラーです

002

許可に失敗しました

ディジット収集ステータス

ディジット収集ステータスは、cd_xxx の形式でレポートされます。

 

xxx の値
説明

001

ディジットが押されず、収集したディジットが照合に不十分なため、ディジット収集がタイムアウトになりました

002

ユーザが中止キーを押したため、ディジット収集が中止されました

003

バッファがオーバフローし、収集したディジットが照合に不十分なため、ディジット収集に失敗しました

004

ダイヤル プランに適合するディジットの収集に成功しました

005

パターンの 1 つに適合するディジットの収集に成功しました

006

収集した数字が無効なため、ディジット収集に失敗しました

007

コール レッグに対して ev_disconnected イベントを受け取ったため、ディジット収集が終了しました

008

コール レッグに対して ev_grab イベントを受け取ったため、ディジット収集が終了しました

009

ディジット収集によって、スクリプトにディジット レポートを設定することに成功しました

010

機能またはイベントがサポートされていないか不明であるため、ディジット収集が終了しました

打診応答

機能タイプは、cr_xxx の形式でレポートされます。

 

xxx の値
説明

000

成功

001

失敗(無効な状態)

002

失敗(タイムアウト)

003

失敗(放棄)

004

失敗(プロトコル エラー)

打診ステータス

機能タイプは、cs_xxx の形式でレポートされます。

 

xxx の値
説明

000

打診が成功しました(打診 ID を使用できます)

001

打診が失敗しました(要求がタイムアウトしました)

002

打診が失敗しました

003

打診が失敗しました(要求が拒否されました)

004

打診が失敗しました(レッグが切断されています)

005

打診が失敗しました(操作がサポートされていません)

切断の原因

切断の原因では、di_xxx の形式が使用され、xxx は Q931 原因コードです。有効な値を以下に示します。

 

xxx の値
説明

000

初期化されていません

001

割り当てられていない数字です

002

伝送ネットワークへのルートがありません

003

宛先へのルートがありません

004

送信情報トーン

005

トランク プレフィックスのダイヤルミスです

006

不適切なチャネルです

007

呼が認められています

008

プリエンプション

009

プリエンプションが予約されています

016

標準

017

ビジー

018

ユーザが応答しません

019

ユーザが電話に出ません

020

利用者が不在です

021

呼が拒否されました

022

番号が変更されています

026

選択したユーザを消去しています

027

宛先で障害が発生しています

028

無効な番号です

029

ファシリティが拒否されました

030

ステータスの問い合せに対する応答です

034

使用可能な回線はありません

035

要求した VPCI VCI は使用できません

036

VPCI VCI 割り当てエラー

037

セル レートが使用できません

038

ネットワークに障害が発生しています

039

固定フレーム モードはアウト オブ サービスです

040

固定フレーム モードは作動しています

041

一時エラー

042

スイッチが輻輳状態です

043

アクセス情報が廃棄されています

044

要求する回線はありません

045

使用できる VPCI VCI がありません

046

優先呼がブロックされています

047

使用できるリソースがありません

048

DSP エラー

049

QoS が使用できません

050

ファシリティが契約されていません

053

発呼が妨げられました

055

着呼が妨げられました

057

ベアラ機能が許可されていません

058

ベアラ機能が使用できません

062

情報とクラスが矛盾しています

063

サービスまたはオプションが使用できません

065

ベアラ機能が実装されていません

066

変更タイプが実装されていません

069

ファシリティが実装されていません

070

ディジット情報のみに制限されています

079

サービスが実装されていません

081

呼参照値が無効です

082

チャネルが存在しません

083

呼が存在し、呼 ID が使用中です

084

呼 ID が使用中です

085

中断されている呼はありません

086

呼が消去されています

087

ユーザは CUG ではありません

088

宛先が適合しません

090

CUG が存在しません

091

伝送ネットワークが無効です

093

AAL パラメータはサポートされていません

095

メッセージが無効です

096

必須の情報要素(IE)が見つかりません

097

メッセージ タイプが実装されていません

098

メッセージ タイプが適合しません

099

IE が実装されていません

100

IE コンテンツが無効です

101

不完全な呼の状態のメッセージです

102

タイマーの時間切れで復旧しました

103

実装されていないパラメータが渡されました

110

認識されないパラメータ メッセージが廃棄されました

111

プロトコル エラー

127

インターネットワーキング エラー

128

次のノードへ到達できません

129

Holst Telephony service Provider Module(HTSPM)はアウト オブ サービスです

160

DTL 伝送が適切なノード ID ではありません

ファシリティ

アドレス解決ステータスを要求するレッグの確立は、ls_xxx の形式でレポートされます。

 

xxx の値
説明

000

補足サービス要求が成功しました

003

補足サービス要求が使用できません

007

無効な呼の状態で補足サービスが起動されました

009

補足サービスが非着信コール レッグで起動されました

010

補足サービスの対話は使用できません

050

MCID サービスが登録されていません

051

MCID 要求がタイムアウトしました

052

MCID がこのインターフェイスには設定されていません

053

不明なエラーです

054

初期化エラーです

機能タイプ

機能タイプは、ft_xxx の形式でレポートされます。

 

xxx の値
説明

001

ファックス

002

モデム

003

Modem_phase

004

フックフラッシュ

005

オンフック

006

オフフック

レッグの確立ステータス

レッグの確立ステータスは、ls_xxx の形式でレポートされます。

 

xxx の値
説明

000

呼が進行中であるか、または正常終了しました。

001

発信コール レッグがループしました。

002

呼の確立がタイムアウトになりました(宛先の電話が鳴っても誰も出ませんでした)。このタイムアウトの上限は、leg setup コマンドで指定できます。

003

ネットワークのリソース不足のため、呼の確立に失敗しました。

004

無効な数字のため、呼の確立に失敗しました。

005

リソース不足や無効な数字以外の原因で、呼の確立に失敗しました。

006

未使用です。確立に失敗しました。

007

宛先がビジー(話中)です。

008

呼が着信側で切断されました。

009

呼が発信側で切断されました。

010

2 つのコール レッグの会議通信または接続に失敗しました。

011

補足サービスの内部エラーです。

012

補足サービス エラーです。

013

補足サービス エラーです。着信コール レッグが切断されました。

014

呼は別のアプリケーションに受け渡されました。

015

呼の確立はアプリケーション要求により終了しました。

016

送信先番号の発信がブロックされました。

026

レッグがリダイレクトされました。

031

転送要求が確認されました。

032

転送先が警告しています(将来 SIP で使用)。

033

転送先が試行中です(将来 SIP で使用)。

040

転送が成功しました。

041

転送が成功し、転送先が接続されました(SIP のみ)。

042

転送の成功が確認できません(SIP のみ)。

050

転送が失敗しました。

051

要求不備のため転送が失敗しました(SIP のみ)。

052

宛先がビジーのため、転送が失敗しました。

053

要求がキャンセルされたため、転送が失敗しました。

054

内部エラーで転送が失敗しました。

055

実装されていないため、転送が失敗しました(SIP のみ)。

056

サービスが使用不可または未サポートであるため、転送が失敗しました。

057

レッグが切断されているため、転送が失敗しました。

058

複数の選択肢があるため、転送が失敗しました(SIP のみ)。

059

転送要求に応答がなくタイムアウトしたため、転送が失敗しました。

メディア ステータス

メディア ステータスは、ms_xyy の形式でレポートされます。

 

x はコマンドを示す
yy はコマンドのステータスを示す
x の値
説明
yy の値
説明

0

media play コマンドのステータス

00

コマンドが正常終了し、プロンプトが終了しました 1

1

media record コマンドのステータス

01

コマンドが失敗しました

2

media stop コマンドのステータス

02

サポートされていない機能または要求です

3

media pause コマンドのステータス

03

無効なホストまたは URL が指定されています

4

media resume コマンドのステータス

04

受け取り、切断されました

5

前送りのための media seek コマンドによるステータス

05

キーが押されたため、プロンプトが中断されました

6

後戻りのための media seek コマンドによるステータス

 

 

1.別の media コマンドが正常終了しても media_done イベントを受け取らないため、media play コマンドにだけ有効です。

登録/通知

登録/通知イベントには次の戻りコードが定義されています。

ev_subscribe_done su_xxx

ev_notify_done no_xxx

ev_unsubscribe_done us_xxx

ev_unsubscribe_ind ui_xxx

文字列の xxx は、次の値を表します。

 

xxx の値
説明

000

成功

001

保留中です

002

総称エラーです

003

登録の期限が切れています

004

ソケット エラーです

005

DNS エラーです

006

要求のタイムアウト エラーです

007

接続のタイムアウト エラーです

008

接続の作成に失敗しました

009

内部エラーです

010

応答エラーです

099

未定義です

トーン検出

トーン検出は、td_xxx の形式でレポートされます。

 

xxx の値
説明

000

無効なインバンド信号

001

FAX_V21

002

FAX_CED

003

FAX_CNG

004

MODEM_2100HZ

005

MODEM_2100HZ_PHASE

006

VOICE_SILENCE

007

CP_TONE

転送ステータス

転送ステータスは、ts_xxx の形式でレポートされます。

 

xxx の値
説明

000

総称転送が成功しました

001

転送が成功し、転送先が警告しています

002

転送が成功し、転送先が応答しています

003

転送が終了しましたが、転送結果は保証されません

004

転送要求が受け付けられました

005

転送中継先が転送先に到達しようとしています

006

転送要求が転送中継先によって拒否されました

007

転送番号が無効です

008

転送先に到達できません

009

転送先がビジーです

VoiceXML ダイアログ終了ステータス

VoiceXML ダイアログ終了ステータスは、vd_xxx の形式でレポートされます。

 

xxx の値
説明

000

<exit> タグ、または実行がドキュメントの最後に達したことによる正常な終了です

001

デフォルトの VXML イベント処理が VXML の終了を要求したことによる終了です

002

TCL IVR アプリケーションによる終了です

003

内部エラーです