Document ID: 97213
Updated: Jun 27, 2007
Contents
Introduction
Voice Extensible Markup Language (VXML) is a standard defined by the World Wide Web Consortium (W3C). VXML is designed to create audio dialogs that provide synthesized speech, recognition of spoken words, recognition of DTMF digits and recordings of spoken audio. The VXML server and clients use the well-known HTTP protocol to exchange VXML documents and pages.
Cisco Voice Portal (CVP) delivers intelligent and interactive voice response (IVR) applications that can be accessed over the phone. There are three types of CVP deployments:
-
Standalone Service
-
CVP Call Control
-
Call Queue and Transfer
Synthesized speech, recognition of spoken words or DTMF digit functionalities are provided by Text-to-Speech (TTS) and Automatic Speech Recognition (ASR) servers. Cisco IOSĀ® VXML Gateway communicates with the TTS and ASR servers using Media Resource Control protocol (MRCP). There are two versions of MRCP (RFC 4463), namely MRCPv1 (MRCP over RTSP) and MRCPv2 (MRCP over SIP).
This document describes the call flow of a Cisco IOS Voice XML Gateway to CVP call in a Standalone Service deployment that uses MRCPv1 TTS or ASR servers. A sample pharmacy application was deployed at the CVP VXML server.
Prerequisites
Requirements
There are no specific requirements for this document.
Components Used
The information in this document is based on these software and hardware versions:
-
IOS VXML Gateway: Cisco AS5400XM, IOS 12.4(11)T2
-
VXML server: CVP 4.0
-
ASR / TTS Server: Nuance ASR v8.5 and TTS v4.0.6
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Conventions
Refer to Cisco Technical Tips Conventions for more information on document conventions.
Configure
In this section, you are presented with the information to configure the features described in this document.
Note: Use the Command Lookup Tool (registered customers only) to find more information on the commands used in this document.
Network Diagram
This document uses this network setup:
Configurations
This document uses this configuration:
VXML Gateway Configuration |
---|
!--- 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 |
Call Flow Example
This section describes the call flow that results from this configuration example.
-
An ISDN call arrives at the PSTN / VXML Gatway across T1 PRI 3/0.
-
IOS Gateway matches POTS dial-peer 1 as the inbound dial-peer for this call.
-
IOS Gateway hands off the call control to the Pharmacy service that is associated to dial-peer 1.
-
The CVP VXML / TCL script associated with the Pharmacy service sends an HTTP GET request to the VXML server.
-
The VXML server returns a 200 OK response. This response contains a VXML document or page.
-
IOS Gateway executes the VXML document.
-
If the VXML document specifies a URL for an audio prompt, IOS Gateway downloads the audio file and plays the prompt.
-
If the VXML document specifies a Text for an audio prompt, IOS Gateway establishes a RTSP session with rtsp://10.86.177.39/synthesizer (TTS Server). After the RTSP session is established, the Gateway and TTS Server exchange MRCP messages such as SPEAK, SPEAK-COMPLETE by using the RTSP ANNOUNCE request.
The TTS Server sends the G.711ulaw RTP audio stream to the IP address and UDP port number provided by the Gateway in the “Transport” Header of the RTSP SETUP request.
-
If the VXML document specifes the Gateway to recognize DTMF digits and spoken words, IOS Gateway establishes a RTSP session with rtsp://10.86.177.39/recognizer (ASR server). After the RTSP session is established, the Gateway and ASR server exchange MRCP messages such as DEFINE GRAMMAR, COMPLETE, RECOGNIZE, RECOGNITION-COMPLETE by using the RTSP ANNOUNCE request.
The IOS VXML Gateway sends the G.711ulaw RTP audio stream to the IP address and UDP port number provided by the ASR in the SDP of the RTSP 200 OK response. The IOS VXML Gateway sends the digits entered by the PSTN user as RTP-NTE events to the ASR server.
-
After the execution of the VXML document, the Gateway sends an HTTP POST request (with a set of parameters) as specified in the <submit> tag of the VXML document or page.
-
Steps 6 – 10 occur for each VXML document sent by the server.
-
When the VXML Application finishes the service provided to the caller, it sends a VXML document with just a <exit/> tag within the <form> element.
-
IOS Gateway disconnects the MRCPv1 sessions established with the TTS and ASR servers.
-
IOS Gateway disconnects the call on the ISDN side.
Verify
Use this section to confirm that your configuration works properly.
The Output Interpreter Tool (registered customers only) (OIT) supports certain show commands. Use the OIT to view an analysis of show command output.
-
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
Troubleshoot
Use this section to troubleshoot your configuration.
Debug Commands
Configure the IOS Gateway to log the debugs in its logging buffer and disable logging console.
Note: Refer to Important Information on Debug Commands before you use debug commands.
These are the commands used to configure the Gateway in order to store the debugs in the Gateway's logging buffer:
-
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
Debug Outputs
This section provides debug outputs for this sample call flow:
-
Gateway starts the execution of the CVPSelfServiceBootstrap.vxml VoiceXML script
-
Gateway sends an HTTP GET Request to the Media Server to download the Welcome-1.wav file
-
Gateway sends an HTTP POST request as defined in the Submit option of the VXML document (2)
-
Gateway creates the Grammars to be used for DTMF / Speech recognition
-
Gateway receives 200 COMPLETE response for its DEFINE-GRAMMAR request
-
ASR server sends IN-PROGRESS response to the RECOGNIZE request
-
Gateway receives a 200 OK response from the TTS server for the RTSP Setup request
-
TTS Server sends "IN-PROGRESS" response for the SPEAK request
-
After the prompt is played, the TTS Server sends MRCP “SPEAK-COMPLETE” response to the Gateway
-
VXML server sends VXML pages for collecting the prescription number, pickup time and to inform the caller that the prescription will be ready for pickup. Gateway executes these pages by interacting with TTS and ASR server (debug outputs not shown).
-
The final VXML document sent by the VXML server contains just the exit tag in the form
-
Gateway disconnects the RTSP session established with the ASR Server
-
Gateway disconnects the RTSP session established with the TTS Server
Incoming Call from PSTN
*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
Inbound Dial-Peer 1 is Matched
*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
Call is handed off to Pharmacy Service
*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
Call gets connected on the ISDN side
*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:
Gateway starts the execution of the CVPSelfServiceBootstrap.vxml VoiceXML script
*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)
Gateway sends an HTTP GET request to the VXML Server
*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
Gateway receives a 200 OK message from the VXML Server
The message body of this response contains a VXML document (1). The VXML document tells the Gateway to play media file called Welcome-1.wav located in a Media Server
*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>
Gateway sends an HTTP GET Request to the Media Server to download the Welcome-1.wav file
*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
Gateway receives a 200 OK from the Media Server and receives the contents of the Welcome-1.wav in the HTTP Message body
*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
Gateway sends a POST HTTP Request to the Server as defined in the "Submit" option of the VXML Document(1)
*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
Gateway receives 200 OK for its POST HTTP request
The message body contains a VXML document (2). The VXML document tells the Gateway to play "Good Morning and Thank you for calling Audium pharmacy.
Note: This prompt needs to be synthesized by a Text-to-Speech Server.
*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> <prompt bargein="true">Good morning and thank you for calling Audium pharmacy.</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>
Gateway sends an HTTP POST request as defined in the Submit option of the VXML document (2)
*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
Gateway receives 200 OK response for the HTTP POST request
The message body contains VXML document (3). This VXML document defines a Menu prompt that tells the caller to enter 1 or say Refills, enter 2 or say pharmacist. The prompts are synthesized by a TTS Server. The inputs (speech / dtmf) are recognized using an 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" /> <prompt bargein="true">Say refills or press 1. Or. Say pharmacist or press 2.</prompt> <catch event="nomatch"> <prompt bargein="true">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=" *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" /> <prompt bargein="true">Say refills or press 1. Or. Say pharmacist or press 2.</prompt> <catch event="nomatch"> <prompt bargein="true">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> <option value="refills" dtmf="1">prescription</option> <option value="refills">refills</option> <option value="refills">prescription refills</option> <option value="refills">refill my prescription</option> <option value="refills">I want to refill my prescription</option> <option value="refills">refills please</option> <option value="Pharmacist" dtmf="2">Pharmacist</option> <option value="Pharmacist">I want to speak to a pharmacist</option> <option value="Pharmacist">pharmacist please</option> <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" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog confidence choice_fld" /> </filled> </field> </form> </vxml>
Gateway creates the Grammars to be used for DTMF / Speech recognition
These grammars are then sent to the ASR server once the Gateway establishes a RTSP session with the ASR server.
*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> <item>agent</item> <item>pharmacist</item> </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> <item>agent</item> <item>pharmacist</item> </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
Gateway sends a RTSP SETUP request to the ASR Server
*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
Gateway receives a 200 OK response from the ASR Server
The SDP of the 200 OK response contains the ASR server’s IP address and UDP port number to which the Gateway needs to send RTP packets.
*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
Gateway sends MRCP "DEFINE-GRAMMAR" request to the ASR server embedded within the RTSP ANNOUNCE Request
Only one request is shown here:
*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: <?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmlns="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"> <rule id="root" scope="public"> prescription</rule></grammar>
Gateway receives 200 COMPLETE response for its DEFINE-GRAMMAR request
*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
Gateway sends MRCP “RECOGNIZE” request to the ASR Server
*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
ASR server sends IN-PROGRESS response to the RECOGNIZE request
*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
Gateway finishes the download of Welcome-1.wav media file, plays the prompt to the caller and stores it in the cache
*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:
Gateway sends a RTSP SETUP request to the TTS server
*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
Gateway receives a 200 OK response from the TTS server for the RTSP SETUP request
*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
Gateway sends MRCP “SPEAK” request to the TTS Server to play the “Good morning and thank you for calling Audium pharmacy” prompt
*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: <?xml version="1.0" encoding="UTF-8"?><speak> Good morning and thank you for calling Audium pharmacy.</speak>
TTS Server sends "IN-PROGRESS" response for SPEAK request
*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
After the prompt is played, the TTS Server sends MRCP “SPEAK-COMPLETE” response to the Gateway
*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
ASR Server detects the start of speech and notifies the Gateway using START-OF-SPEECH response
*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
Gateway sends 200 OK response to MRCP Announce request
*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
ASR Server recognizes the word "Refills" and sends a MRCP “RECOGNITION-COMPLETE” message to the Gateway
*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
After receiving a successful recognition notification from the ASR server, the VXML Gateway sends a HTTP POST request as specified in the SUBMIT tag of the VXML document (2)
This POST request informs the VXML server that the user has selected the "Refills" option.
*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
The last VXML document sent by the VXML server contains just the exit tag in the form
This tells the Gateway to terminate the VXML session.
*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>
Gateway terminates the VXML Application
*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)
Gateway disconnects the call on the ISDN side
*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
Gateway disconnects the RTSP session with the ASR Server
*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
Gateway disconnects the RTSP session with the TTS Server
*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
Related Information
Open a Support Case (Requires a Cisco Service Contract.)
Related Cisco Support Community Discussions
The Cisco Support Community is a forum for you to ask and answer questions, share suggestions, and collaborate with your peers.
Refer to Cisco Technical Tips Conventions for information on conventions used in this document.