Voice Extensible Markup Language(VXML)は、World Wide Web Consortium(W3C)で定義された標準です。VXML は、合成音声、音声認識、DTMF ディジットの認識、発話の録音を提供する音声ダイアログを作成するように設計されています。VXML サーバとクライアントは、有名な HTTP プロトコルを使用して VXML のドキュメントおよびページを交換します。
Cisco Voice Portal(CVP)は、電話でアクセスできる、インテリジェントな自動音声応答(IVR)アプリケーションを提供します。CVP には次の 3 つの導入タイプがあります。
スタンドアロン サービス
CVP コール制御
コール キューおよび転送
合成された音声、音声認識、または DTMF ディジット機能は、音声合成(TTS)サーバと自動音声認識(ASR)サーバによって提供されます。Cisco IOS® VXML ゲートウェイは、Media Resource Control Protocol(MRCP)を使用して TTS サーバおよび ASR サーバと通信します。 MRCP(RFC 4463)には 2 種類のバージョン、つまり MRCPv1(RTSP を介した MRCP)と MRCPv2(SIP)を介した MRCP)です。
このドキュメントでは、MRCPv1 の TTS サーバまたは ASR サーバを使用するスタンドアロン サービス導入における CVP コールへの Cisco IOS Voice XML ゲートウェイのコール フローについて説明します。サンプルの薬局のアプリケーションは、CVP VXML サーバに導入されました。
このドキュメントに特有の要件はありません。
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
IOS VXML ゲートウェイ:Cisco AS5400XM、IOS 12.4(11)T2
VXML サーバ:CVP 4.0
ASR/TTS サーバ:Nuance ASR v8.5 および TTS v4.0.6
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
このセクションでは、このドキュメントで説明する機能を設定するために必要な情報を提供しています。
注: このドキュメントで使用されているコマンドの詳細を調べるには、Command Lookup Tool(登録ユーザ専用)を使用してください。
このドキュメントでは、次のネットワーク セットアップを使用します。
このドキュメントでは、次の設定を使用しています。
VXML ゲートウェイの設定 |
---|
!--- Define Hostname to IP address mapping for ASR and TTS servers. ip host asr-en-us 10.86.177.39 ip host tts-en-us 10.86.177.39 !--- Define the amount of maximum memory to use for downloaded prompts. ivr prompt memory 15000 !--- Define the RTSP URI of ASR and TTS Server. ivr asr-server rtsp://10.86.177.39/recognizer ivr tts-server rtsp://10.86.177.39/synthesizer !--- Configure an application service for CVP VXML CVPSelfServiceBootstrap.vxml. application service CVPSelfService flash:CVPSelfServiceBootstrap.vxml paramspace english language en paramspace english index 0 paramspace english location flash: paramspace english prefix en !--- Configure an application service for CVP VXML CVPSelfService.tcl Script. !--- CVPSelfService-app parameter specifies the name of the VXML Application. !--- CVPPrimary parameter specifies the IP address of the VXML server. service Pharmacy flash:CVPSelfService.tcl paramspace english index 0 paramspace english language en paramspace english location flash: param CVPSelfService-port 7000 param CVPSelfService-app GoodPrescriptionRefillApp7 paramspace english prefix en param CVPPrimaryVXMLServer 172.18.110.75 !--- Specifies the Gateway’s RTP stream to the ASR or TTS to go around the !--- Content Service Switch instead of through the CSS. mrcp client rtpsetup enable !--- Specify the maximum memory size for the HTTP Client Cache. http client cache memory pool 15000 !--- Specify the maximum number of file that can be stored in the HTTP Client Cache. http client cache memory file 500 !--- Disable Persistent HTTP Connections. no http client connection persistent !--- Configure the T1 PRI. controller T1 3/0 framing esf linecode b8zs pri-group timeslots 1-24 !--- Configure the ISDN switch type and incoming-voice under the D-channel interface. interface Serial3/0:23 no ip address encapsulation hdlc isdn switch-type primary-net5 isdn incoming-voice modem no cdp enable !--- Configure a POTS dial-peer that will be used as the inbound dial-peer for calls coming !--- in across the T1 PRI line. The “pharmacy” service is applied under this dial-peer. dial-peer voice 1 pots service pharmacy destination-pattern 5555 direct-inward-dial port 3/0:D forward-digits all |
このセクションでは、次の設定例から得られるコール フローについて解説します。
ISDN コールが、T1 PRI 3/0 を介して PSTN/VXML ゲートウェイに到着する。
IOS ゲートウェイが、このコールの着信ダイヤルピアとして POTS ダイヤルピア 1 に一致する。
IOS ゲートウェイは dial-peer 1 に関連付けられた薬局サービスにコール制御を渡します。
薬局サービスに関連付けられた CVP VXML/TCL スクリプトが、VXML サーバに HTTP GET 要求を送信します。
VXML サーバは、200 OK の応答を返します。この応答には VXML のドキュメントまたはページが含まれています。
IOS ゲートウェイが、VXML ドキュメントを実行します。
VXML ドキュメントにオーディオによる指示用の URL が指定されている場合、IOS ゲートウェイはオーディオ ファイルをダウンロードし、プロンプトを再生します。
VXML ドキュメントにオーディオによる指示用のテキストが指定されている場合、IOS ゲートウェイは rtsp://10.86.177.39/synthesizer(TTS サーバ)との RTSP セッションを確立します。 RTSP セッションが確立されると、ゲートウェイと TTS サーバは、RTSP ANNOUNCE 要求を使用して SPEAK、SPEAK-COMPLETE MRCP などの MRCP メッセージを交換します。
TTS サーバは、RTSP SETUP 要求の「Transport」ヘッダーでゲートウェイによって提供される IP アドレスと UDP のポート番号に G.711ulaw RTP オーディオ ストリームを送信します。
VXML ドキュメントにゲートウェイで DTMF ディジットと音声を認識するように指定されている場合、IOS ゲートウェイは rtsp://10.86.177.39/recognizer(ASR サーバ)との RTSP セッションを確立します。 RTSP セッションが確立されると、ゲートウェイと ASR サーバは、RTSP ANNOUNCE 要求を使用して、DEFINE GRAMMAR、COMPLETE、RECOGNIZE、RECOGNITION-COMPLETE などの MRCP メッセージを交換します。
IOS VXML ゲートウェイは RTSP 200 OK 応答の SDP に ASR によって提供される IP アドレスと UDP ポート番号に G.711ulaw RTP オーディオ ストリームを送信します。IOS VXML ゲートウェイは、PSTN のユーザが入力したディジットを RTP-NTE のイベントとして ASR サーバに送信します。
VXML ドキュメントの実行後、ゲートウェイでは、VXML ドキュメントまたはページの <submit> のタグの指定に従って、HTTP POST 要求(およびパラメータ一式)を送信します。
ステップ 6 ~ 10 はサーバによって送信された各 VXML ドキュメントで発生します。
VXML アプリケーションは、発信者に提供されるサービスが終了したら、<form> の要素内に <exit/> タグ 1 個のみを持つ VXML のドキュメントを送信します。
IOS ゲートウェイでは TTS サーバおよび ASR サーバと確立した MRCPv1 セッションを切断します。
IOS ゲートウェイは ISDN の側のコールを切断します。
ここでは、設定が正常に機能しているかどうかを確認します。
アウトプット インタープリタ ツール(登録ユーザ専用)(OIT)は、特定の show コマンドをサポートします。OIT を使用して、show コマンドの出力の分析を表示します。
show call active voice brief
11E7 : 63 4728960ms.1 +0 pid:1 Answer 5555 active dur 00:00:31 tx:920/179920 rx:880/211200 Tele 3/0:D (63) [3/0.1] tx:4600/4600/0ms None noise:-80 acom:51 i/0:-79/-27 dBm Telephony call-legs: 1 SIP call-legs: 0 H323 call-legs: 0 Call agent controlled call-legs: 0 SCCP call-legs: 0 Multicast call-legs: 0 Total call-legs: 1
show mrcp client session active detail
No Of Active MRCP Sessions: 1 Call-ID: 0x3F same: 1 Resource Type: Synthesizer URL: rtsp://10.86.177.39/synthesizer Method In Progress: SPEAK State: SPEAKING Resource Type: Recognizer URL: rtsp://10.86.177.39/recognizer Method In Progress: RECOGNIZE State: RECOGNIZING ############################################################
show voip rtp connections
VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP 1 66 63 17704 1224 172.18.110.77 10.86.177.39
show http client cache
HTTP Client cached information ============================== Maximum memory pool allowed for HTTP Client caching = 15000 K-bytes Maximum file size allowed for caching = 500 K-bytes Total memory used up for Cache = 410 Bytes Message response timeout = 10 secs Total cached entries = 1 Total non-cached entries = 0 Cached entries ============== entry 114, 1 entries Ref FreshTime Age Size context --- --------- --- ---- ------- 1 119524 31 1271 0 url: http://172.18.110.75/Welcome-1.wav
このセクションは、設定のトラブルシューティングを行う際に参照してください。
デバッグ出力をロギング バッファに記録し、ロギング コンソールを無効にするよう、IOS ゲートウェイを設定します。
注:debug コマンドを使用する前に、『debug コマンドの重要な情報』を参照してください。
ゲートウェイのロギング バッファにデバッグ出力を格納するようゲートウェイを設定する際は、次のコマンドを使用します。
service timestamps debug datetime msec
service sequence
no logging console
logging buffered 5000000 debug
clear log
debug isdn q931
debug voip ccapi inout
debug voip application vxml default
debug voip application vxml dump
debug rtsp all
debug mrcp all
debug http client all
debug voip rtp session nte named-event
このセクションでは、次のコール フロー サンプルのデバッグ出力を示します。
ゲートウェイは CVPSelfServiceBootstrap.vxml VoiceXML スクリプトの実行を開始します
ゲートウェイが、メディア サーバから 200 OK を受信し、HTTP のメッセージ本文に含めて Welcome-1.wav の内容を受信
ゲートウェイが、VXML のドキュメント(1)の「Submit」オプションの規定に従って HTTP POST 要求をサーバに送信
ゲートウェイが、VXML のドキュメント(2)の Submit オプションの規定に従って HTTP POST 要求を送信
ゲートウェイが RTSP ANNOUNCE 要求に埋め込んだ MRCP「DEFINE-GRAMMAR」要求を ASR サーバに送信(ここでは 1 要求のみを表示)
ゲートウェイが Welcome-1.wav メディア ファイルのダウンロードを終了し、発信者にプロンプトを再生して、ファイルをキャッシュに保存
ASR サーバが単語「Refills」を認識し、MRCP「RECOGNITION-COMPLETE」メッセージをゲートウェイに送信
ASR サーバから認識成功通知を受信した後、VXML ゲートウェイが、VXML ドキュメント(2)の SUBMIT タグで指定された HTTP POST 要求を送信
VXML サーバは、処方せん番号の収集用、ピックアップ時間用、および処方せんをピックアップできるようになることを発信者に通知するための VXML ページを送信します。ゲートウェイが TTS および ASR サーバと対話することにより、これらのページを実行します(デバッグ出力の表示なし)。
*Feb 4 03:24:54.111: ISDN Se3/0:23 Q931: RX <- SETUP pd = 8 callref = 0x0099 Bearer Capability i = 0x8090A2 Standard = CCITT Transfer Capability = Speech Transfer Mode = Circuit Transfer Rate = 64 kbit/s Channel ID i = 0xA98381 Exclusive, Channel 1 Called Party Number i = 0x81, '5555' Plan:ISDN, Type:Unknown *Feb 4 03:24:54.115: //-1/972590A48011/CCAPI/cc_api_display_ie_subfields: cc_api_call_setup_ind_common: cisco-username= ----- ccCallInfo IE subfields ----- cisco-ani= cisco-anitype=0 cisco-aniplan=0 cisco-anipi=0 cisco-anisi=0 dest=5555 cisco-desttype=0 cisco-destplan=1 cisco-rdie=FFFFFFFF cisco-rdn= cisco-rdntype=-1 cisco-rdnplan=-1 cisco-rdnpi=-1 cisco-rdnsi=-1 cisco-redirectreason=-1 fwd_final_type =0 final_redirectNumber = hunt_group_timeout =0
*Feb 4 03:24:54.115: //-1/972590A48011/CCAPI/cc_api_call_setup_ind_common: Interface=0x66C30F98, Call Info( Calling Number=,(Calling Name=)(TON=Unknown, NPI=Unknown, Screening=Not Screened, Presentation=Allowed), Called Number=5555(TON=Unknown, NPI=ISDN), Calling Translated=FALSE, Subscriber Type Str=RegularLine, FinalDestinationFlag=TRUE, Incoming Dial-peer=1, Progress Indication=NULL(0), Calling IE Present=FALSE, Source Trkgrp Route Label=, Target Trkgrp Route Label=, CLID Transparent=FALSE), Call Id=-1
*Feb 4 03:24:54.115: //63/972590A48011/CCAPI/cc_process_call_setup_ind: >>>>CCAPI handed cid 63 with tag 1 to app "_ManagedAppProcess_Pharmacy" *Feb 4 03:24:54.115: //63/972590A48011/CCAPI/ccCallSetupAck: Call Id=63
*Feb 4 03:24:54.119: ISDN Se3/0:23 Q931: TX -> CONNECT pd = 8 callref = 0x8099 *Feb 4 03:24:54.119: //63/972590A48011/CCAPI/ccCallHandoff: Silent=FALSE, Application=0x67569410, Conference Id=0xFFFFFFFF *Feb 4 03:24:54.119: //63//VXML:/Open_CallHandoff:
*Feb 4 03:24:54.131: //63/972590A48011/VXML:/vxml_vxml_proc: <vxml> URI(abs):flash:CVPSelfServiceBootstrap.vxml scheme=flash path=CVPSelfServiceBootstrap.vxml base= URI(abs):flash:CVPSelfServiceBootstrap.vxml scheme=flash path=CVPSelfServiceBootstrap.vxml lang=none version=2.0 <script>: *Feb 4 03:24:54.175: //63/972590A48011/VXML:/vxml_expr_eval: <var>: namep=handoffstring expr=session.handoff_string *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var handoffstring=session.handoff_string) <var>: namep=application expr=getValue('APP') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var application=getValue('APP')) <var>: namep=port expr=getValue('PORT') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var port=getValue('PORT')) <var>: namep=callid expr=getValue('CALLID') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var callid=getValue('CALLID')) <var>: namep=servername expr=getValue('PRIMARY') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var servername=getValue('PRIMARY')) <var>: namep=var1 expr=getValue('var1') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var var1=getValue('var1')) <var>: namep=var2 expr=getValue('var2') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var var2=getValue('var2')) <var>: namep=var3 expr=getValue('var3') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var var3=getValue('var3')) <var>: namep=var4 expr=getValue('var4') *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var var4=getValue('var4')) <var>: namep=var5 expr=getValue('var5') *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var var5=getValue('var5')) <var>: namep=status expr=getValue('status') *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var status=getValue('status')) <var>: namep=prevapp expr=getValue('prevapp') *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var prevapp=getValue('prevapp')) <var>: namep=survive expr=getValue('survive') *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var survive=getValue('survive')) <var>: namep=handoffExit *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var handoffExit)
*Feb 4 03:24:54.255: //63//HTTPC:/httpc_write_stream: Client write buffer fd(0): GET /CVP/Server?application=GoodPrescriptionRefillApp7&callid=972590A4-185511D6-80110013- 803E8C8E&session.connection.remote.uri=5555 &session.connection.local.uri=5555 HTTP/1.1 Host: 172.18.110.75:7000 Content-Type: application/x-www-form-urlencoded Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, text/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
この応答のメッセージ本文には VXML ドキュメント(1)が含まれています。 この VXML ドキュメントは、メディア サーバにある Welcome-1.wav というメディア ファイルを再生するようにゲートウェイに通知します
*Feb 4 03:24:54.263: processing server rsp msg: msg(63AC8784) URL:http://172.18.110.75:7000/CVP/Server?application=GoodPrescriptionRefillApp7& callid=972590A4-185511D6-80110013-803E8C8E&session.connection.remote.uri= 5555&session.connection.local.uri=5555, fd(0): *Feb 4 03:24:54.263: Request msg: GET /CVP/Server?application=GoodPrescriptionRefillApp7& callid=972590A4-185511D6-80110013-803E8C8E &session.connection.remote.uri=5555&session.connection.local.uri=5555 HTTP/1.1 *Feb 4 03:24:54.263: Message Response Code: 200 *Feb 4 03:24:54.263: Message Rsp Decoded Headers: *Feb 4 03:24:54.263: Date:Thu, 17 May 2007 15:48:31 GMT *Feb 4 03:24:54.263: Content-Type:text/xml;charset=ISO-8859-1 *Feb 4 03:24:54.263: Connection:close *Feb 4 03:24:54.263: Set-Cookie:JSESSIONID=6FE82FC3B0E02909CA5A9307D57F00E1; Path=/CVP *Feb 4 03:24:54.263: headers: *Feb 4 03:24:54.263: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=6FE82FC3B0E02909CA5A9307D57F00E1; Path=/CVP Content-Type: text/xml;charset=ISO-8859-1 Date: Thu, 17 May 2007 15:48:31 GMT Connection: close *Feb 4 03:24:54.263: body: *Feb 4 03:24:54.263: <?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" application="/CVP/Server?audium_root=true& calling_into=GoodPrescriptionRefillApp7" xml:lang="en-us"> <form id="audium_start_form"> <block> <assign name="audium_vxmlLog" expr="''" /> <assign name="audium_element_start_time_millisecs" expr="new Date().getTime()" /> <goto next="#start" /> </block> </form> <form id="start"> <block> <prompt bargein="true"> <audio src="http://172.18.110.75/Welcome-1.wav" /> </prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog" /> </block> </form> </vxml>
*Feb 4 03:24:54.371: //63//HTTPC:/httpc_write_stream: Client write buffer fd(0): GET /Welcome-1.wav HTTP/1.1 Host: 172.18.110.75 Content-Type: application/x-www-form-urlencoded Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, text/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
*Feb 4 03:24:54.391: read data from the socket 0 : first 400 bytes of data: HTTP/1.1 200 OK Content-Length: 76152 Content-Type: audio/wav Last-Modified: Thu, 03 May 2007 19:47:43 GMT Accept-Ranges: bytes ETag: "b27d69eabb8dc71:2eb" Server: Microsoft-IIS/6.0 Date: Thu, 17 May 2007 15:48:31 GMT Connection: close RIFFo)(Unprintable char...)1057415645666D7420120007010401F00401F00108000666163744 000529106461746152910FFFFFFFFFFFFFFFF7AFFFFFFFD7E7E
*Feb 4 03:24:54.371: //63//HTTPC:/httpc_write_stream: Client write buffer fd(1): POST /CVP/Server HTTP/1.1 Host: 172.18.110.75:7000 Content-Length: 67 Content-Type: application/x-www-form-urlencoded Cookie: $Version=0; JSESSIONID=6FE82FC3B0E02909CA5A9307D57F00E1; $Path=/CVP Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, text/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
メッセージ本文に VXML ドキュメント(2)が含まれています。 この VXML ドキュメントは、「Good Morning and Thank you for calling Audium pharmacy」を再生するようにゲートウェイに指示します。
注:このプロンプトは、音声合成サーバによって合成される必要があります。
*Feb 4 03:24:54.379: processing server rsp msg: msg(63AC8D3C) URL:http://172.18.110.75:7000/CVP/Server, fd(1): *Feb 4 03:24:54.379: Request msg: POST /CVP/Server HTTP/1.1 *Feb 4 03:24:54.379: Message Response Code: 200 *Feb 4 03:24:54.379: Message Rsp Decoded Headers: *Feb 4 03:24:54.379: Date:Thu, 17 May 2007 15:48:31 GMT *Feb 4 03:24:54.379: Content-Type:text/xml;charset=ISO-8859-1 *Feb 4 03:24:54.379: Connection:close *Feb 4 03:24:54.379: headers: *Feb 4 03:24:54.379: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=ISO-8859-1 Date: Thu, 17 May 2007 15:48:31 GMT Connection: close *Feb 4 03:24:54.379: body: *Feb 4 03:24:54.379: <?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" application="/CVP/Server?audium_root=true& calling_into=GoodPrescriptionRefillApp7" xml:lang="en-us"> <form id="audium_start_form"> <block> <assign name="audium_vxmlLog" expr="''" /> <assign name="audium_element_start_time_millisecs" expr="new Date().getTime()" /> <goto next="#start" /> </block> </form> <form id="start"> <block>Good morning and thank you for calling Audium pharmacy. <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog" /> </block> </form> </vxml>
*Feb 4 03:24:54.399: //63//HTTPC:/httpc_write_stream: Client write buffer fd(1): POST /CVP/Server HTTP/1.1 Host: 172.18.110.75:7000 Content-Length: 67 Content-Type: application/x-www-form-urlencoded Cookie: $Version=0; JSESSIONID=6FE82FC3B0E02909CA5A9307D57F00E1; $Path=/CVP Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, text/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
メッセージ本文には VXML ドキュメント(3)が含まれます。 この VXML のドキュメントは、1 を入力するか Refills(補充)と発話することまたは 2 を入力するか pharmacist(薬剤師)と発話することを発信者に伝えるメニュー プロンプトを定義します。プロンプトは TTS サーバによって合成されます。入力(発話と DTMF)は、ASR を使用して認識されます。
*Feb 4 03:24:54.415: processing server rsp msg: msg(63AC8F24) URL:http://172.18.110.75:7000/CVP/Server, fd(1): *Feb 4 03:24:54.415: Request msg: POST /CVP/Server HTTP/1.1 *Feb 4 03:24:54.415: Message Response Code: 200 *Feb 4 03:24:54.415: Message Rsp Decoded Headers: *Feb 4 03:24:54.415: Date:Thu, 17 May 2007 15:48:31 GMT *Feb 4 03:24:54.415: Content-Type:text/xml;charset=ISO-8859-1 *Feb 4 03:24:54.415: Connection:close *Feb 4 03:24:54.415: headers: *Feb 4 03:24:54.415: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=ISO-8859-1 Date: Thu, 17 May 2007 15:48:31 GMT Connection: close *Feb 4 03:24:54.415: body: *Feb 4 03:24:54.415: ... Buffer too large - truncated to (4096) len. *Feb 4 03:24:54.415: <?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" application="/CVP/Server?audium_root=true& calling_into=GoodPrescriptionRefillApp7" xml:lang="en-us"> <property name="timeout" value="60s" /> <property name="confidencelevel" value="0.40" /> <form id="audium_start_form"> <block> <assign name="audium_vxmlLog" expr="''" /> <assign name="audium_element_start_time_millisecs" expr="new Date().getTime()" /> <goto next="#start" /> </block> </form> <form id="start"> <block> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <goto nextitem="choice_fld" /> </block> <field name="choice_fld" modal="false"> <property name="inputmodes" value="dtmf voice" />Say refills or press 1. Or. Say pharmacist or press 2.Sorry. I did not understand that. Say refills or press 1. Say pharmacist or press 2. <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '1' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="nomatch" count="2"> <prompt bargein="true">Sorry, I still did not get that. If you are using a speaker phone. Please use the phone keypad to make your selection. Press 1 for refills. Press 2 to speak to a pharmacist.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '2' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="nomatch" count="3"> <prompt bargein="true">Gee. Looks like we are having some trouble.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '3' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <var name="maxNoMatch" expr="'yes'" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog maxNoMatch" /> </catch> <catch event="noinput"> <prompt bargein="true">Sorry. I did not hear that. Say refills or press 1. Say pharmacist or press 2.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||noinput$$$' + '1' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'noinput_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="noinput" count="2"> <prompt bargein="true">I am sorry. I still did not hear that. If you are using a speaker phone. Please use the phone keypad to make your selection. Press 1 for refills. Press 2 to speak to a pharmacist.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||noinput$$$' + '2' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'noinput_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="noinput" count="3"> <prompt bargein="true">Gee. Looks like we are having some trouble.</prompt> <assign name="audium_vxmlLog" expr=" *Feb 4 03:24:54.435: *Feb 4 03:24:54.435: //63//AFW_:/vapp_bgpost_done: status=http OK *Feb 4 03:24:54.435: //63//HTTPC:/httpc_socket_cleanup: fd=-1, bytes_sent=531 *Feb 4 03:24:54.435: //63//AFW_:/vapp_driver: evtID: 194 vapp record state: 0 *Feb 4 03:24:54.435: //63//AFW_:/vapp_bgpost_done_event: *Feb 4 03:24:54.435: //63/972590A48011/VXML:/vxml_bgload_post_done: vxmlhandle=6767ECFC status=0 async_status=400000000 *Feb 4 03:24:54.435: //63/972590A48011/VXML:/vxml_bgload_post_done: Loading file with url (http://172.18.110.75:7000/CVP/Server) *Feb 4 03:24:54.435: //63/972590A48011/VXML:/vxml_bgload_post_done: Script Content <?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" application="/CVP/Server?audium_root=true& calling_into=GoodPrescriptionRefillApp7" xml:lang="en-us"> <property name="timeout" value="60s" /> <property name="confidencelevel" value="0.40" /> <form id="audium_start_form"> <block> <assign name="audium_vxmlLog" expr="''" /> <assign name="audium_element_start_time_millisecs" expr="new Date().getTime()" /> <goto next="#start" /> </block> </form> <form id="start"> <block> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <goto nextitem="choice_fld" /> </block> <field name="choice_fld" modal="false"> <property name="inputmodes" value="dtmf voice" />Say refills or press 1. Or. Say pharmacist or press 2.Sorry. I did not understand that. Say refills or press 1. Say pharmacist or press 2.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '1' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="nomatch" count="2"> <prompt bargein="true">Sorry, I still did not get that. If you are using a speaker phone. Please use the phone keypad to make your selection. Press 1 for refills. Press 2 to speak to a pharmacist.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '2' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="nomatch" count="3"> <prompt bargein="true">Gee. Looks like we are having some trouble.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '3' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <var name="maxNoMatch" expr="'yes'" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog maxNoMatch" /> </catch> <catch event="noinput"> <prompt bargein="true">Sorry. I did not hear that. Say refills or press 1. Say pharmacist or press 2.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||noinput$$$' + '1' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'noinput_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="noinput" count="2"> <prompt bargein="true">I am sorry. I still did not hear that. If you are using a speaker phone. Please use the phone keypad to make your selection. Press 1 for refills. Press 2 to speak to a pharmacist.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||noinput$$$' + '2' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'noinput_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="noinput" count="3"> <prompt bargein="true">Gee. Looks like we are having some trouble.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||noinput$$$' + '3' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'noinput_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <var name="maxNoInput" expr="'yes'" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog maxNoInput" /> </catch> <filled> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||utterance$$$' + choice_fld$.utterance + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||inputmode$$$' + choice_fld$.inputmode + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||interpretation$$$' + choice_fld + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||confidence$$$' + choice_fld$.confidence + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <var name="confidence" expr="choice_fld$.confidence" /></filled> </field> </form> </vxml>
これらの文法は、ゲートウェイが ASR サーバとの RTSP セッションを確立すると、次に、ASR サーバに送信されます。
*Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_change_server: asr_server=rtsp://10.86.177.39/recognizer *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_change_url: sess-id: 17, url=rtsp://10.86.177.39/recognizer *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: Input-Url: rtsp://10.86.177.39/recognizer *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: Hostname: 10.86.177.39Port : 554Path : recognizer *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: Input-Url: rtsp://10.86.177.39/recognizer *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: Hostname: 10.86.177.39Port : 554Path : recognizer *Feb 4 03:24:54.447: //63//MRCP:/mrcp_change_url: fsm (674DA1E4) already defined *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option322@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> prescription</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option323@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" mode="dtmf" root="root"><rule id="root" scope="public">1</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option324@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> refills</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option325@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> prescription refills</rule></gram mar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option326@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> refill my prescription</rule></gr ammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option327@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> I want to refill my prescription</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option328@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> refills please</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option329@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> Pharmacist</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option330@field.grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" mode="dtmf" root="root"><rule id="root" scope="public">2</rule></grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option331@field.grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> I want to speak to a pharmacist</rule></grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option332@field.grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> pharmacist please</rule></grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:link333@document.grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar xmlns="http://www.w3.org/2001/06/grammar" mode="voice" version="1.0" root="Hotlink_02_VOICE" xml:lang="en-us"> <rule id="Hotlink_02_VOICE" scope="public"> <one-of> <item>operator> <item>agent> <item>pharmacist> </one-of> </rule> </grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:link334@document.grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar xmlns="http://www.w3.org/2001/06/grammar" mode="voice" version="1.0" root="Hotlink_01_VOICE" xml:lang="en-us"> <rule id="Hotlink_01_VOICE" scope="public"> <one-of> <item>operator> <item>agent> <item>pharmacist> </one-of> </rule> </grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:help@grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=1 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public">help</rule></grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr: grammar_id=session:option322@field.grammar grammar_id=session:option323@field.grammar grammar_id=session:option324@field.grammar grammar_id=session:option325@field.grammar grammar_id=session:option326@field.grammar grammar_id=session:option327@field.grammar grammar_id=session:option328@field.grammar grammar_id=session:option329@field.grammar grammar_id=session:option330@field.grammar grammar_id=session:option331@field.grammar grammar_id=session:option332@field.grammar grammar_id=session:link333@document.grammar grammar_id=session:link334@document.grammar grammar_id=session:help@grammar
*Feb 4 03:24:54.475: ######################################## *Feb 4 03:24:54.475: Request *Feb 4 03:24:54.475: SETUP rtsp://10.86.177.39/recognizer RTSP/1.0 CSeq: 0 Transport: rtp/avp;unicast;client_port=17704;mode=record
200 OK 応答の SDP には、ゲートウェイで RTP パケットを送信する必要がある ASR サーバの IP アドレスと UDP ポート番号が含まれています。
*Feb 4 03:24:54.531: //-1//RTSP:/rtsp_process_single_svr_resp: *Feb 4 03:24:54.531: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 0 Session: 27b1560a_00000748_464c95e8_000b_0000 Transport: RTP/AVP;unicast;client_port=17704;server_port=1224-1225;mode=record Content-Length: 233 Content-Type: application/sdp v=0 o=- 3388413032 3388413032 IN IP4 10.86.177.39 s=Nuance Media Server/1.0.0 SP10 (Windows 2000) c=IN IP4 10.86.177.39 t=0 0 m=audio 1224 RTP/AVP 0 101 a=rtpmap:0 pcmu/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15
1 要求のみを次に示します。
*Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: rtsp_partial_socket_send: (fd:0 len:163) 400 bytes of data: ANNOUNCE rtsp://10.86.177.39/recognizer RTSP/1.0 CSeq: 1 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Type: application/mrcp Content-Length: 390 *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: (socket:0) (bytes-sent:163) *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: rtsp_partial_socket_send: (fd:0 len:28) 400 bytes of data: DEFINE-GRAMMAR 3 MRCP/1.0 *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: (socket:0) (bytes-sent:28) *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: rtsp_partial_socket_send: (fd:0 len:70) 400 bytes of data: Speech-Language: en-us Content-Base: http://172.18.110.75:7000/CVP/ *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: (socket:0) (bytes-sent:70) *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: rtsp_partial_socket_send: (fd:0 len:99) 400 bytes of data: Content-Type: application/grammar+xml Content-Id: option322@field.grammar Content-Length: 193 *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: (socket:0) (bytes-sent:99) *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: rtsp_partial_socket_send: (fd:0 len:193) 400 bytes of data:xmlns="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"> prescription
*Feb 4 03:24:54.555: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 1 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Length: 27 Content-Type: application/mrcp MRCP/1.0 3 200 COMPLETE
*Feb 4 03:24:54.619: rtsp_partial_socket_send: (fd:0 len:24) 400 bytes of data: RECOGNIZE 17 MRCP/1.0 *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: (socket:0) (bytes-sent:24) *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: rtsp_partial_socket_send: (fd:0 len:347) 400 bytes of data: Speech-Language: en-us Confidence-Threshold: 40 Sensitivity-Level: 50 Speed-Vs-Accuracy: 50 Dtmf-Interdigit-Timeout: 10000 Dtmf-Term-Timeout: 0 Dtmf-Term-Char: # No-Input-Timeout: 60000 N-Best-List-Length: 1 Logging-Tag: 63:63 Accept-Charset: charset: utf-8 Content-Base: http://172.18.110.75:7000/CVP/ Recognizer-Start-Timers: false *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: (socket:0) (bytes-sent:347) *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: rtsp_partial_socket_send: (fd:0 len:52) 400 bytes of data: Content-Type: text/uri-list Content-Length: 453 *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: (socket:0) (bytes-sent:52) *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: rtsp_partial_socket_send: (fd:0 len:256) 400 bytes of data: session:option322@field.grammar session:option323@field.grammar session:option324@field.grammar session:option325@field.grammar session:option326@field.grammar session:option327@field.grammar session:option328@field.grammar session:option329@field.grammar *Feb 4 03:24:54.623: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.623: (socket:0) (bytes-sent:256) *Feb 4 03:24:54.623: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.623: rtsp_partial_socket_send: (fd:0 len:197) 400 bytes of data: session:option330@field.grammar session:option331@field.grammar session:option332@field.grammar session:link333@document.grammar session:link334@document.grammar session:help@grammar
*Feb 4 03:24:54.875: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 15 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Length: 31 Content-Type: application/mrcp MRCP/1.0 17 200 IN-PROGRESS
*Feb 4 03:25:07.811: //63//HTTPC:/httpc_is_cached: HTTPC_FILE_IS_CACHED *Feb 4 03:25:07.811: //-1//HTTPC:/httpc_set_cache_revoke_cb: Registering revoke_callback(0x61D9672C)+pcontext(0x6767A9FC) for cache p(0x672DA9C8) *Feb 4 03:25:07.811: //63//AFW_:/vapp_driver: evtID: 145 vapp record state: 0 *Feb 4 03:25:07.811: //63//AFW_:/vapp_play_done: evID=145 reason=13, protocol=2, status_code=0, dur=9504, rate=0 *Feb 4 03:25:07.811: //63/972590A48011/VXML:/vxml_media_done:
*Feb 4 03:25:07.811: //-1//RTSP:/rtsplib_send_setup: *Feb 4 03:25:07.811: ######################################## *Feb 4 03:25:07.811: Request *Feb 4 03:25:07.811: SETUP rtsp://10.86.177.39/synthesizer RTSP/1.0 CSeq: 16 Session: 27b1560a_00000748_464c95e8_000b_0000 Transport: rtp/avp;unicast;source=172.18.110.77;destination=172.18.110.77; client_port=17704-17705
*Feb 4 03:25:07.831: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 16 Session: 27b1560a_00000748_464c95e8_000b_0000 Transport: RTP/AVP;unicast;client_port=17704;server_port=1224-1225
*Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: rtsp_partial_socket_send: (fd:0 len:165) 400 bytes of data: ANNOUNCE rtsp://10.86.177.39/synthesizer RTSP/1.0 CSeq: 17 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Type: application/mrcp Content-Length: 307 *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: (socket:0) (bytes-sent:165) *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: rtsp_partial_socket_send: (fd:0 len:19) 400 bytes of data: SPEAK 2 MRCP/1.0 *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: (socket:0) (bytes-sent:19) *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: rtsp_partial_socket_send: (fd:0 len:114) 400 bytes of data: Kill-On-Barge-In: true Speech-Language: en-us Logging-Tag: 63:63 Content-Base: http://172.18.110.75:7000/CVP/ *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: (socket:0) (bytes-sent:114) *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: rtsp_partial_socket_send: (fd:0 len:65) 400 bytes of data: Content-Type: application/synthesis+ssml Content-Length: 109 *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: (socket:0) (bytes-sent:65) *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: rtsp_partial_socket_send: (fd:0 len:109) 400 bytes of data:Good morning and thank you for calling Audium pharmacy.
*Feb 4 03:25:08.031: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 17 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Length: 30 Content-Type: application/mrcp MRCP/1.0 2 200 IN-PROGRESS
*Feb 4 03:25:11.911: rtsp_process_single_svr_resp: 400 bytes of data: ANNOUNCE rtsp://10.86.177.39/synthesizer RTSP/1.0 CSeq: 1 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Length: 68 Content-Type: application/mrcp SPEAK-COMPLETE 2 COMPLETE MRCP/1.0 Completion-Cause: 000 normal
*Feb 4 03:25:19.711: //-1//RTSP:/rtsp_process_single_svr_resp: *Feb 4 03:25:19.711: rtsp_process_single_svr_resp: 400 bytes of data: ANNOUNCE rtsp://10.86.177.39/recognizer RTSP/1.0 CSeq: 3 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Length: 61 Content-Type: application/mrcp START-OF-SPEECH 17 IN-PROGRESS MRCP/1.0 Proxy-Sync-Id: 1
*Feb 4 03:25:19.711: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:19.711: rtsp_partial_socket_send: (fd:0 len:76) 400 bytes of data: RTSP/1.0 200 OK CSeq: 3 Session: 27b1560a_00000748_464c95e8_000b_0000
*Feb 6 00:58:17.960: rtsp_process_single_svr_resp: 400 bytes of data: ANNOUNCE rtsp://10.86.177.39/recognizer RTSP/1.0 CSeq: 4 Session: 27b1560a_00000748_464f166e_000f_0000 Content-Length: 848 Content-Type: application/mrcp RECOGNITION-COMPLETE 17 COMPLETE MRCP/1.0 Completion-Cause: 000 success Content-Type: application/x-nlsml Content-Length: 716 <?xml version="1.0" encoding="UTF-8"?> <result grammar="session:option420@field.grammar"> <interpreta *Feb 4 03:25:20.867: //-1//RTSP:/rtsp_pmh_parse_svr_response: *Feb 4 03:25:20.867: //-1//RTSP:/rtsp_pmh_parse_svr_response: just one response(may be partial): 849
この POST 要求はユーザが「補充」オプションを選択したことを VXML サーバに通知します。
*Feb 4 03:25:20.963: //63/972590A48011/VXML:/vxml_vapp_bgpost: url http://172.18.110.75:7000/CVP/Server cachable 1 timeout 0 body audium_vxmlLog=%7C%7C% 7Caudio_group$$$initial_audio_group%5E%5 E%5E4%7C%7C%7Cutterance$$$refills%5E%5E%5E26516%7C%7C%7Cinputmode$$$voice%5E%5E%5E26516% 7C%7C%7Cinterpretation$$$refills%5E%5E%5E265 16%7C%7C%7Cconfidence$$$0.55%5E%5E%5E26516&confidence=0.55&choice_fld=refills len 271maxage -1 maxstale -1 *Feb 4 03:25:20.963: //63//AFW_:/vapp_bgpost: url=http://172.18.110.75:7000/CVP/Server; mime_type=application/x-www-form-urlencoded; len=271; iov_base=audium_vxmlLog=%7C%7C% 7Caudio_group$$$initial_audio_group%5E%5E%5E4%7C%7C%7Cutterance$$$refills%5E%5E%5E26516%7C %7C%7Cinputmode$$$voice%5E%5E%5E26516%7C%7C%7Cinterpretation$$$refills%5E%5E%5E26516%7C%7C% 7Cconfidence$$$0.55%5E%5E%5E26516&confide nce=0.55&choice_fld=refills *Feb 4 03:25:21.039: //63//HTTPC:/httpc_socket_send: *Feb 4 03:25:21.039: about to send data to the socket 0 : first 400 bytes of data: POST /CVP/Server HTTP/1.1 Host: 172.18.110.75:7000 Content-Length: 271 Content-Type: application/x-www-form-urlencoded Cookie: $Version=0; JSESSIONID=6FE82FC3B0E02909CA5A9307D57F00E1; $Path=/CVP Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, text/html, audio/basic, audio/wav, multipart/form-dat
これは VXML セッションを終了するようゲートウェイに通知します。
*Feb 4 03:26:20.623: processing server rsp msg: msg(63ABB204) URL:http://172.18.110.75:7000/CVP/Server, fd(0): *Feb 4 03:26:20.623: Request msg: POST /CVP/Server HTTP/1.1 *Feb 4 03:26:20.623: Message Response Code: 200 *Feb 4 03:26:20.623: Message Rsp Decoded Headers: *Feb 4 03:26:20.623: Date:Thu, 17 May 2007 15:49:57 GMT *Feb 4 03:26:20.623: Content-Type:text/xml;charset=ISO-8859-1 *Feb 4 03:26:20.623: Connection:close *Feb 4 03:26:20.623: Set-Cookie:JSESSIONID=NULL; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/CVP *Feb 4 03:26:20.623: headers: *Feb 4 03:26:20.623: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=NULL; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/CVP Content-Type: text/xml;charset=ISO-8859-1 Date: Thu, 17 May 2007 15:49:57 GMT Connection: close *Feb 4 03:26:20.627: body: *Feb 4 03:26:20.627: <?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" xml:lang="en-us"> <catch event="vxml.session.error"> <exit /> </catch> <catch event="telephone.disconnect.hangup"> <exit /> </catch> <catch event="telephone.disconnect"> <exit /> </catch> <catch event="error.unsupported.object"> <exit /> </catch> <catch event="error.unsupported.language"> <exit /> </catch> <catch event="error.unsupported.format"> <exit /> </catch> <catch event="error.unsupported.element"> <exit /> </catch> <catch event="error.unsupported.builtin"> <exit /> </catch> <catch event="error.unsupported"> <exit /> </catch> <catch event="error.semantic"> <exit /> </catch> <catch event="error.noresource"> <exit /> </catch> <catch event="error.noauthorization"> <exit /> </catch> <catch event="error.eventhandler.notfound"> <exit /> </catch> <catch event="error.connection.noroute"> <exit /> </catch> <catch event="error.connection.noresource"> <exit /> </catch> <catch event="error.connection.nolicense"> <exit /> </catch> <catch event="error.connection.noauthorization"> <exit /> </catch> <catch event="error.connection.baddestination"> <exit /> </catch> <catch event="error.condition.baddestination"> <exit /> </catch> <catch event="error.com.cisco.media.resource.unavailable"> <exit /> </catch> <catch event="error.com.cisco.handoff.failure"> <exit /> </catch> <catch event="error.com.cisco.callhandoff.failure"> <exit /> </catch> <catch event="error.com.cisco.aaa.authorize.failure"> <exit /> </catch> <catch event="error.com.cisco.aaa.authenticate.failure"> <exit /> </catch> <catch event="error.badfetch.https"> <exit /> </catch> <catch event="error.badfetch.http"> <exit /> </catch> <catch event="error.badfetch"> <exit /> </catch> <catch event="error"> <exit /> </catch> <catch event="disconnect.com.cisco.handoff"> <exit /> </catch> <catch event="connection.disconnect.hangup"> <exit /> </catch> <catch event="connection.disconnect"> <exit /> </catch> <form> <block> <exit /> </block> </form> </vxml>
*Feb 4 03:26:28.803: //63/972590A48011/VXML:/vxml_vapp_terminate: vapp_status=0 ref_count 0 *Feb 4 03:26:28.803: //63//AFW_:/vapp_terminate: *Feb 4 03:26:28.803: //63//AFW_:/vapp_session_exit_event_name: Exit Event vxml.session.complete *Feb 4 03:26:28.803: //63//AFW_:/AFW_M_VxmlModule_Terminate: *Feb 4 03:26:28.803: //63//AFW_:/vapp_checksessionstate: *Feb 4 03:26:28.803: //63//AFW_:/vapp_checkifdone: Object: 1, Leg: 1 *Feb 4 03:26:28.803: //63/972590A48011/VXML:/pop_exec_stack: *Feb 4 03:26:28.803: pop_exec_stack: sidp->vxmlp->urip=http://172.18.110.75:7000/CVP/Server *Feb 4 03:26:28.803: //63/972590A48011/VXML:/vxml_leave_scope: scope=application *Feb 4 03:26:28.803: vxml_tree_delete:mem_mgr_mempool_free: mem_refcnt(6848EE98)= 0 - mempool cleanup *Feb 4 03:26:28.803: vxml_tree_delete:mem_mgr_mempool_free: mem_refcnt(6848CD00)= 0 - mempool cleanupnls_mem_free *Feb 4 03:26:28.803: nls_mem_free:mem_mgr_mempool_free: mem_refcnt(67651498)= 0 - mempool cleanup *Feb 4 03:26:28.803: //63/972590A48011/VXML:/vxml_session_delete: *Feb 4 03:26:28.803: vxml_session_delete:mem_mgr_mempool_free: mem_refcnt(6848CD54)= 0 - mempool cleanup *Feb 4 03:26:28.803: //63//AFW_:/vapp_checksessionstate: *Feb 4 03:26:28.803: //63//AFW_:/vapp_checkifdone: Object: 0, Leg: 0 *Feb 4 03:26:28.807: //63/972590A48011/CCAPI/ccCallDisconnect: Cause Value=16, Tag=0x0, Call Entry(Previous Disconnect Cause=0, Disconnect Cause=0) *Feb 4 03:26:28.807: //63/972590A48011/CCAPI/ccCallDisconnect: Cause Value=16, Call Entry(Responsed=TRUE, Cause Value=16)
*Feb 4 03:26:28.807: ISDN Se3/0:23 Q931: TX -> DISCONNECT pd = 8 callref = 0x8099 Cause i = 0x8090 - Normal call clearing *Feb 4 03:26:28.819: ISDN Se3/0:23 Q931: RX <- RELEASE pd = 8 callref = 0x0099 *Feb 4 03:26:28.819: ISDN Se3/0:23 Q931: TX -> RELEASE_COMP pd = 8 callref = 0x8099
*Feb 4 03:26:28.823: //-1//RTSP:/rtsplib_send_teardown: *Feb 4 03:26:28.823: ######################################## *Feb 4 03:26:28.823: Request *Feb 4 03:26:28.823: TEARDOWN rtsp://10.86.177.39/recognizer RTSP/1.0 CSeq: 62 Session: 27b1560a_00000748_464c95e8_000b_0000 *Feb 4 03:26:28.975: //-1//RTSP:/rtsp_process_single_svr_resp: *Feb 4 03:26:28.975: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 62 Session: 27b1560a_00000748_464c95e8_000b_0000
*Feb 4 03:26:28.823: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:26:28.823: rtsp_partial_socket_send: (fd:0 len:111) 400 bytes of data: TEARDOWN rtsp://10.86.177.39/synthesizer RTSP/1.0 CSeq: 63 Session: 27b1560a_00000748_464c95e8_000b_0000 *Feb 4 03:26:28.979: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 63 Session: 27b1560a_00000748_464c95e8_000b_0000