語音可擴展標籤語言(VXML)是由全球資訊網聯盟(W3C)定義的標準。 它旨在建立音訊對話,提供合成語音、口語識別、DTMF數字識別以及錄製的口語音訊。VXML伺服器和客戶端使用公認的HTTP協定交換VXML文檔/頁面。
Cisco Voice Portal(CVP)提供可通過電話訪問的智慧互動式語音響應(IVR)應用。CVP部署分為三種型別:
獨立服務
CVP通話控制
呼叫隊列和轉接
合成語音和口語/DTMF數字功能由文本到語音轉換(TTS)和自動語音識別伺服器(ASR)提供。 IOS® VXML網關通過媒體資源控制協定(MRCP)與TTS/ASR伺服器通訊。 MRCP(RFC 4463)有兩個版本,即MRCPv1(MRCP over RTSP)和MRCPv2(MRCP over SIP)。
本文檔介紹使用MRCPv2 TTS/ASR伺服器的獨立服務部署中IOS語音XML網關到CVP呼叫的呼叫流程。在CVP VXML伺服器上部署了一個示例藥房應用程式。
本文件沒有特定需求。
本文中的資訊係根據以下軟體和硬體版本:
IOS VXML網關:Cisco AS5400XM,IOS 12.4(15)T1
VXML伺服器:CVP 4.0
ASR/TTS伺服器:倫琴多語音套件7.0
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
如需文件慣例的詳細資訊,請參閱思科技術提示慣例。
本節提供用於設定本文件中所述功能的資訊。
註:使用Command Lookup Tool(僅供已註冊客戶使用)可獲取本節中使用的命令的詳細資訊。
本檔案會使用以下網路設定:
本檔案會使用以下設定:
VXML網關配置 |
---|
!--- Define Hostname to IP Address !---- mapping for ASR and TTS servers ip host asr-en-us 172.18.110.76 ip host tts-en-us 172.18.110.76 !--- Define the Voice class URI to match !---- the SIP URI of ASR Server in the dial-peer voice class uri TTS sip pattern tts@172.18.110.76 !--- Define the Voice class URI to match !---- the SIP URI of TTS server in the dial-peer voice class uri ASR sip pattern asr@172.18.110.76 !--- Define the amount of maximum memory !---- to used for downloaded prompts ivr prompt memory 15000 !--- Define the SIP URI of ASR !---- and TTS Server ivr asr-server sip:asr@172.18.110.76 ivr tts-server sip:tts@172.18.110.76 !--- 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 / 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 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 !--- Configure a SIP Voip !---- dial-peer that will be used !---- as an outbound dial-peer when the !---Gateway initiates a MRCP overc SIP !---- session to the ASR server. !---- Codec = G711ulaw, DTMF-Relay !---- = RTP-NTE, No Vad dial-peer voice 5 voip session protocol sipv2 destination uri ASR dtmf-relay rtp-nte codec g711ulaw no vad !--- Configure a SIP Voip !---- dial-peer that will be used !---- as an outbound dial-peer when the !---Gateway initiates a MRCP !---- overc SIP session to the TTS server !--- Codec = G711ulaw, DTMF-Relay = RTP-NTE, !---- No Vad dial-peer voice 6 voip session protocol sipv2 destination uri TTS dtmf-relay rtp-nte codec g711ulaw no vad |
本節介紹此配置示例產生的呼叫流。
ISDN呼叫通過T1 PRI 3/0到達PSTN/VXML網關。
IOS網關將POTS撥號對等體1匹配為此呼叫的入站撥號對等體。
IOS網關將呼叫控制交給與撥號對等體1關聯的藥房服務。
與藥房服務關聯的CVP VXML/TCL指令碼向VXML伺服器傳送HTTP GET請求。
VXML伺服器返回200 OK響應。此響應包含VXML文檔/頁面。
IOS網關執行VXML文檔。
如果VXML文檔指定了音訊提示的URL,則IOS網關將下載音訊檔案並播放提示。
如果VXML文檔指定了音訊提示的文本,則IOS網關使用撥號對等體5與tts@172.18.110.76(TTS伺服器)建立SIP會話。建立SIP會話後,使用SIP INVITE的SDP 200 OK響應中提供的TCP埠號開啟與TTS伺服器的TCP連線。此TCP連線用於在IOS網關和TTS伺服器之間交換MRCP消息,例如SPEAK、SPEAK-COMPLETE。
TTS伺服器將G.711ulaw RTP音訊流傳送到網關在SIP INVITE的SDP中提供的IP地址和UDP埠號。
如果VXML文檔指定網關以識別DTMF數字和/或口語,則IOS網關會使用撥號對等體6與asr@172.18.110.76(ASR伺服器)建立SIP會話。建立SIP會話後,它會使用SIP INVITE的200 OK響應的SDP中提供的TCP埠號開啟與ASR伺服器的TCP連線。此TCP連線用於在IOS網關和ASR伺服器之間交換MRCP消息,例如DEFINE GRAMMAR、COMPLETE、RECOGNITION和RECOGNITION-COMPLETE。
IOS VXML網關將G.711ulaw RTP音訊流傳送到ASR在SIP 200 OK響應的SDP中提供的IP地址和UDP埠號。IOS VXML網關將PSTN使用者輸入的數字作為RTP-NTE事件傳送到ASR伺服器。
執行VXML文檔後,網關將傳送HTTP POST請求(包含一組引數),如VXML文檔/頁面的<submit>標籤中所指定。
對於伺服器傳送的每個VXML文檔,都會執行步驟6 - 10。
當VXML應用程式完成向呼叫方提供的服務時,它會傳送一個VXML文檔,該文檔在<form>元素中僅包含<exit/>標籤。
IOS網關斷開與TTS和ASR伺服器建立的MRCPv2會話的連線。
IOS網關會斷開ISDN端的呼叫。
使用本節內容,確認您的組態是否正常運作。
輸出直譯器工具(僅供已註冊客戶使用)(OIT)支援某些show命令。使用OIT檢視show命令輸出的分析。
顯示呼叫活動語音簡介
11F8 : 160 333356110ms. 1 +10 pid:1 Answer 5555 active dur 00:00:54 tx:1740/300598 rx:364/85472 Tele 3/0:D (160) [3/0.1] tx:15145/15145/0ms None noise:-52 acom:6 i/0:-32/-64 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 Media call-legs: 0 Total call-legs: 1
顯示呼叫活動媒體簡介
11F8 : 163 333360880ms.1 +60 pid:6 Originate sip:tts@172.18.110.76:5060 active dur 00:00:44 tx:0/0 rx:2212/353545 IP 172.18.110.76:10000 SRTP: off rtt:0ms pl: 4485/0ms lost:0/1/0 delay:65/65/65ms g711ulaw TextRelay: off media inactive detected:n media contrl rcvd: n/a timestamp:n/a long duration call detected:n long duration call duration:n/a timestamp:n/a11F8 : 164 333360890ms.1 +20 pid:5 Originate sip:asr@172.18.110.76:5060 active dur 00:00:44 tx:1687/297152 rx:0/0 IP 172.18.110.76:10002 SRTP: off rtt:0ms pl:6550/30ms lost:0/2/0 delay:65/65/65ms g711ulaw TextRelay: off media inactive detected:n media contrl rcvd:n/a timestamp:n/a long duration call detected:n long duration call duration:n/a timestamp:n/a Telephony call-legs: 0 SIP call-legs: 0 H323 call-legs: 0 Call agent controlled call-legs: 0 SCCP call-legs: 0 Multicast call-legs: 0 Media call-legs: 2 Total call-legs: 2
Show mrcp client session active detail
No Of Active MRCP Sessions: 1 Call-ID: 0xA0 same: 0 -------------------------------------------- Resource Type: Synthesizer URL: sip:tts@172.18.110.76 Method In Progress: SPEAK State: S_SYNTH_SPEAKING Associated CallID: 0xA3 MRCP version: 2.0 Control Protocol: TCP Server IP Address: 172.18.110.76 Port: 51000 Data Protocol: RTP Server IP Address: 172.18.110.76 Port: 10000 Signalling URL: sip:tts@172.18.110.76:5060 Packets Transmitted: 0 (0 bytes) Packets Received: 2265 (361968 bytes) ReceiveDelay: 65 LostPackets: 0 -------------------------------------------- -------------------------------------------- Resource Type: Recognizer URL: sip:asr@172.18.110.76 Method In Progress: RECOGNIZE State: S_RECOG_RECOGNIZING Associated CallID: 0xA4 MRCP version: 2.0 Control Protocol: TCP Server IP Address: 172.18.110.76 Port: 51001 Data Protocol: RTP Server IP Address: 172.18.110.76 Port: 10002 Packets Transmitted: 1791 (313792 bytes) Packets Received: 0 (0 bytes) ReceiveDelay: 60 LostPackets: 0
Show voip rtp connections
VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP 1 163 160 18964 10000 14.1.16.25 172.18.110.76 2 164 160 23072 10002 14.1.16.25 172.18.110.76 Found 2 active RTP connections
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 86400 48 1505 0 url: http://172.18.110.75/Welcome-1.wav
本節提供的資訊可用於對組態進行疑難排解。
配置IOS網關以在其日誌緩衝區中記錄調試並禁用「日誌控制檯」。
附註:使用 debug 指令之前,請先參閱有關 Debug 指令的重要資訊。
注意:以下命令用於配置網關,以便將調試儲存在網關的日誌緩衝區中:
service timestamps debug datetime msec
服務序列
無日誌控制檯
logging buffered 5000000 debug
清除日誌
以下是用於對配置進行故障排除的debug命令:
debug isdn q931
debug voip ccapi inout
debug voip application vxml default
debug voip application vxml dump
debug ccsip message
debug mrcp detail
debug http client all
debug voip rtp session nte named-event
本節提供此呼叫流程示例的調試輸出:
網關收到來自VXML伺服器的200 OK消息。此響應的消息正文包含VXML文檔(1)。 此VXML文檔告知位於媒體伺服器中的網關播放媒體檔案Welcome-1.wav。
網關向ASR伺服器傳送SIP INVITE。SDP包含音訊流、DTMF中繼和MRCPv2應用(語音錄製通道)的媒體資訊。
網關收到來自ASR伺服器的200 OK響應(針對SIP INVITE)。SIP INVITE消息的SDP指定了以下內容:
音訊流的G711ulaw編解碼器、IP地址和RTP埠號
此RTP流的direction屬性:"recvonly"
基於RTP-NTE的DTMF中繼
網關用於與ASR伺服器建立MRCPv2會話的TCP埠號(51001)
網關收到來自TTS伺服器的200 OK響應(針對SIP INVITE)。SIP INVITE消息的SDP指定了以下內容:
音訊流的G711ulaw編解碼器、IP地址和RTP埠號
此RTP流的方向屬性:"sendonly"
基於RTP-NTE的DTMF中繼
網關用於與TTS伺服器建立MRCPv2會話的TCP埠號(51000)
網關向TTS伺服器傳送「SPEAK」 MRCP請求以播放「選單」提示(輸入1或說Refil/輸入2或說pharmacist)。(未顯示調試輸出。)
TTS伺服器傳送IN-PROGRESS, SPEAK-COMPLETE消息並完成提示播放。(未顯示調試輸出。)
在從ASR伺服器接收到成功的識別通知後,VXML網關傳送一個HTTP POST請求,如VXML文檔的SUBMIT標籤中所指定(3)。 此POST請求通知VXML伺服器PSTN呼叫方輸入了數字1。
然後VXML伺服器傳送另一個VXML文檔,要求呼叫者在此處輸入處方。(未顯示調試輸出。)
網關向TTS傳送MRCP消息以發出提示。(未顯示調試輸出,但它們類似於步驟28-30。)
網關向ASR傳送MRCP消息,以檢測使用者所說的4位處方編號。(未顯示調試輸出,但是它們類似於步驟25-26。)
網關通過傳送HTTP POST請求將處方編號通知給VXML伺服器。(未顯示調試輸出,但是它們類似於步驟35。)
VXML伺服器傳送VXML頁面以收集取貨時間並通知呼叫方處方已準備好取貨。網關通過與TTS和ASR伺服器的互動執行這些頁面。(未顯示調試輸出。)
*Jan 18 03:34:52.735: ISDN Se3/0:23 Q931: RX <- SETUP pd = 8 callref = 0x005A 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 *Jan 18 03:34:52.735: //-1/2AEE8C2A801C/ 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
*Jan 18 03:34:52.735: //-1/2AEE8C2A801C/ CCAPI/cc_api_call_setup_ind_common: Interface=0x664B4BA4, 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
*Jan 18 03:34:52.739: //127/2AEE8C2A801C/CCAPI /cc_process_call_setup_ind: >>>>CCAPI handed cid 127 with tag 1 to app "_ManagedAppProcess_Pharmacy" *Jan 18 03:34:52.739: //127/2AEE8C2A801C/CCAPI/ccCallSetupAck: Call Id=127
*Jan 18 03:34:52.739: ISDN Se3/0:23 Q931: TX -> CONNECT pd = 8 callref = 0x805A *Jan 18 03:34:52.739: //127/2AEE8C2A801C/CCAPI/ccCallHandoff: Silent=FALSE, Application=0x663106C4, Conference Id=0xFFFFFFFF *Jan 18 03:34:52.743: //127//VXML:/Open_CallHandoff:
*Jan 18 03:34:52.755: //127/2AEE8C2A801C/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>: *Jan 18 03:34:52.799: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: *Jan 18 03:34:52.863: //127/2AEE8C2A801C/VXML :/vxml_jse_global_switch: switch to scope(application) <var>: namep=handoffstring expr=session.handoff_string *Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var handoffstring=session. handoff_string) <var>: namep=application expr=getValue('APP') *Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var application=getValue('APP')) <var>: namep=port expr=getValue('PORT') *Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var port=getValue('PORT')) <var>: namep=callid expr=getValue('CALLID') *Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var callid=getValue('CALLID')) <var>: namep=servername expr=getValue('PRIMARY') *Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var servername=getValue('PRIMARY')) <var>: namep=var1 expr=getValue('var1') *Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var var1=getValue('var1')) <var>: namep=var2 expr=getValue('var2') *Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var var2=getValue('var2')) <var>: namep=var3 expr=getValue('var3') *Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var var3=getValue('var3')) <var>: namep=var4 expr=getValue('var4') *Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var var4=getValue('var4')) <var>: namep=var5 expr=getValue('var5') *Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var var5=getValue('var5')) <var>: namep=status expr=getValue('status') *Jan 18 03:34:52.867: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var status=getValue('status')) <var>: namep=prevapp expr=getValue('prevapp') *Jan 18 03:34:52.871: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var prevapp=getValue('prevapp')) <var>: namep=survive expr=getValue('survive') *Jan 18 03:34:52.871: //127/2AEE8C2A801C/VXML :/vxml_expr_eval: expr=(var survive=getValue('survive')) <var>: namep=handoffExit
*Jan 18 03:34:52.875: //127//HTTPC:/httpc_write_stream: Client write buffer fd(3): GET /CVP/Server?application= GoodPrescriptionRefillApp7&callid= 2AEE8C2A-0AFB11D6-801C0013- 803E8C8E&session.connection.remote.uri=555 5&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, tex t/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
此響應的消息正文包含VXML文檔(1)。 VXML文檔告知位於媒體伺服器中的網關播放媒體檔案Welcome-1.wav。
*Jan 18 03:34:52.883: processing server rsp msg: msg(67CA63A8) URL:http://172.18.110.75:7000/CVP/ Server?application=GoodPrescription RefillApp7&callid=2AEE8C2A-0AFB11D6-801C0013 -803E8C8E&session.connection. remote.uri=5555&session.connection.local. uri=5555, fd(3): *Jan 18 03:34:52.883: Request msg: GET /CVP/Server?application= GoodPrescriptionRefillApp7&callid= 2AEE8C2A-0AFB11D6-801C0013-803E8C8 E&session.connection.remote. uri=5555&session .connection.local.uri=5555 HTTP/1.1 *Jan 18 03:34:52.883: Message Response Code: 200 *Jan 18 03:34:52.883: Message Rsp Decoded Headers: *Jan 18 03:34:52.883: Date:Mon, 30 Apr 2007 16:58:39 GMT *Jan 18 03:34:52.883: Content-Type:text/xml; charset=ISO-8859-1 *Jan 18 03:34:52.883: Connection:close *Jan 18 03:34:52.883: Set-Cookie:JSESSIONID= BBCE0F948ADFDB720497F587A7997538; Path=/CVP *Jan 18 03:34:52.883: headers: *Jan 18 03:34:52.883: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=BBCE0F948ADF DB720497F587A7997538; Path=/CVP Content-Type: text/xml;charset=ISO-8859-1 Date: Mon, 30 Apr 2007 16:58:39 GMT Connection: close *Jan 18 03:34:52.883: body: *Jan 18 03:34:52.883: <?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.getEla psedTime(audium_element_start_time_millisecs)" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog" /> </block> </form> </vxml>
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, tex t/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
*Jan 18 03:34:55.647: //127//HTTPC:/httpc_socket_read: *Jan 18 03:34:55.647: read data from the socket 3 : first 400 bytes of data: HTTP/1.1 200 OK Content-Length: 26450 Content-Type: audio/wav Last-Modified: Mon, 30 Apr 2007 15:36:51 GMT Accept-Ranges: bytes ETag: "e0c1445f3d8bc71:2d6" Server: Microsoft-IIS/6.0 Date: Mon, 30 Apr 2007 16:58:42 GMT Connection: close RIFFJg(Unprintable char...) 0057415645666D7420120001010401 F00401F00108000666163744000176700 64617461176700FFFFFF807 FFFFFFF80FFFFFF80F (other hex information not shown).
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=BBCE0F948 ADFDB720497F587A7997538; $Path=/CVP Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, tex t/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
郵件正文包含VXML文檔(2)。 VXML文檔告知網關播放「感謝您致電海航藥店」。 請注意,此提示需要由Text to Speech Server合成。
*Jan 18 03:34:55.651: processing server rsp msg: msg(67CA6960)URL: http://172.18.110.75: 7000/CVP/Server, fd(4): *Jan 18 03:34:55.651: Request msg: POST /CVP/Server HTTP/1.1 *Jan 18 03:34:55.651: Message Response Code: 200 *Jan 18 03:34:55.651: Message Rsp Decoded Headers: *Jan 18 03:34:55.651: Date:Mon, 30 Apr 2007 16:58:42 GMT *Jan 18 03:34:55.651: Content-Type:text/xml; charset=ISO-8859-1 *Jan 18 03:34:55.651: Connection:close *Jan 18 03:34:55.651: headers: *Jan 18 03:34:55.651: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=ISO-8859-1 Date: Mon, 30 Apr 2007 16:58:42 GMT Connection: close *Jan 18 03:34:55.655: body: *Jan 18 03:34:55.655: <?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"> Thank you for calling Audium pharmacy. </prompt> <assign name="audium_vxmlLog" expr= "audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getEla psedTime(audium_element_start_time_millisecs)" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog" /> </block> </form> </vxml>
*Jan 18 03:34:55.667: //127//HTTPC:/httpc_write_stream: Client write buffer fd(4): 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= BBCE0F948ADFDB720497F587A7997538; $Path=/CVP Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, tex t/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
郵件正文包含VXML文檔(3)。 此VXML文檔定義了一個選單提示,告訴呼叫者輸入1或說重新填寫,或輸入2或說藥劑師。提示由文本到語音伺服器合成。輸入(語音/DTMF)通過自動語音識別器識別。
*Jan 18 03:34:57.499: processing server rsp msg: msg(67CA6B48)URL: http://172.18.110.75:7000/CVP/Server, fd(4): *Jan 18 03:34:57.499: Request msg: POST /CVP/Server HTTP/1.1 *Jan 18 03:34:57.499: Message Response Code: 200 *Jan 18 03:34:57.499: Message Rsp Decoded Headers: *Jan 18 03:34:57.499: Date:Mon, 30 Apr 2007 16:58:42 GMT *Jan 18 03:34:57.499: Content-Type:text/xml;charset=ISO-8859-1 *Jan 18 03:34:57.499: Connection:close *Jan 18 03:34:57.499: headers: *Jan 18 03:34:57.499: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=ISO-8859-1 Date: Mon, 30 Apr 2007 16:58:42 GMT Connection: close *Jan 18 03:34:57.499: body: *Jan 18 03:34:57.499: ... Buffer too large - truncated to (4096) len. *Jan 18 03:34:57.499: <?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.getElapsedTime (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.getElapsedTime (audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||inputmode$$$' + choice_fld$. inputmode + '^^^' + application.getElapsedTime (audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||interpretation$$$' + choice_fld + '^^^' + application.getElapsedTim (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>
一旦網關與ASR伺服器建立會話,這些語法就會傳送到ASR伺服器。
*Jan 18 03:34:57.523: //127//AFW_:/vapp_asr_change_server: asr_server=sip:asr@172.18.110.76 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar_id=session:option485@field.grammar *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> prescription</rule></grammar> *Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=339, Event=0x63ACCCF0 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar_id=session:option486@field.grammar *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="http://www.w3.org/2001/06/grammar" mode="dtmf" root= "root"><rule id="root" scope= "public">1</rule></grammar> *Jan 18 03:34:57.523: //-1//MRCP: /mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=340, Event=0x63ACCAE8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar_id=session:option487@field.grammar *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> refills</rule></grammar> *Jan 18 03:34:57.523: //-1//MRCP :/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=341, Event=0x63ACBC88 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar_id=session:option488@field.grammar *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> prescription refills</rule></grammar> *Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=342, Event=0x63ACBCB0 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar_id=session:option489@field.grammar *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="http://www.w3.org/2001/06/grammar" xml: lang="en-us" root="root"> <rule id="root" scope="public"> refill my prescription</rule>< /grammar> *Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=343, Event=0x63ACBCD8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar_id=session:option490@field.grammar *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="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> *Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=344, Event=0x63ACBD00 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar_id=session:option491@field.grammar *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> refills please</rule></grammar > *Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=345, Event=0x63ACBD28 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar_id=session:option492@field.grammar *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> Pharmacist </rule></grammar> *Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=346, Event=0x63ACBB20 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar_id=session:option493@field.grammar *Jan 18 03:34:57.523: //127//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.523: //127//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.523: //127//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="http://www.w3.org/2001/06/grammar" mode="dtmf" root="root"> <rule id="root" scope= "public">2</rule></grammar> *Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=347, Event=0x63ACBD50 *Jan 18 03:34:57.523: //127//AFW_:/vapp_asr_define_grammar: *Jan 18 03:34:57.523: //127//AFW_:/vapp_asr_define_grammar: grammar_id=session: option494@field.grammar *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="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> *Jan 18 03:34:57.523: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=348, Event=0x63ACBFF8 *Jan 18 03:34:57.523: //127//AFW_ :/vapp_asr_define_grammar: *Jan 18 03:34:57.527: //127//AFW_ :/vapp_asr_define_grammar: grammar_id=session:option495@field.grammar *Jan 18 03:34:57.527: //127//AFW_ :/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.527: //127//AFW_ :/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.527: //127//AFW_ :/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.527: //127//AFW_ :/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> pharmacist please </rule></grammar> *Jan 18 03:34:57.527: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=349, Event=0x63ACC048 *Jan 18 03:34:57.527: //127//AFW_ :/vapp_asr_define_grammar: *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: grammar_id=session:link496@document.grammar *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar xmlns="http://ww w.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> *Jan 18 03:34:57.527: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=350, Event=0x63ACC098 *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: grammar_id=session:link497@document.grammar *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar xmlns="http://ww w.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> *Jan 18 03:34:57.527: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=351, Event=0x63ACC0C0 *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: grammar_id=session:help@grammar *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: remoteupdate=1 *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" xm lns="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> help</rule></grammar> *Jan 18 03:34:57.527: //-1//MRCP:/mrcp_get_ev: ****>Caller PC=0x61BE1F94, Count=352, Event=0x63ACBEE0 *Jan 18 03:34:57.527: //127//AFW_:/vapp_asr: grammar_id=session:option485@field.grammar grammar_id=session:option486@field.grammar grammar_id=session:option487@field.grammar grammar_id=session:option488@field.grammar grammar_id=session:option489@field.grammar grammar_id=session:option490@field.grammar grammar_id=session:option491@field.grammar grammar_id=session:option492@field.grammar grammar_id=session:option493@field.grammar grammar_id=session:option494@field.grammar grammar_id=session:option495@field.grammar grammar_id=session:link496@document.grammar grammar_id=session:link497@document.grammar grammar_id=session:help@grammar
出站撥號對等體6匹配。
*Jan 18 03:34:57.527: //-1/xxxxxxxxxxxx/CCAPI/ccCallSetupRequest: Destination Pattern=, Called Number=sip:tts@172.18.110.76, Digit Strip=FALSE *Jan 18 03:34:57.527: //-1/xxxxxxxxxxxx/CCAPI/ccCallSetupRequest: Calling Number=5555(TON=Unknown, NPI=Unknown, Screening=Not Screened, Presentation=Allowed), Called Number=sip:tts@172.18.110.76(TON=Unknown, NPI=ISDN), Redirect Number=, Display Info= Account Number=, Final Destination Flag=TRUE, Guid=2AEE8C2A-0AFB-11D6-801C-0013803E8C8E, Outgoing Dial-peer=6 *Jan 18 03:34:57.531: //-1/xxxxxxxxxxxx/CCAPI/cc _api_display_ie_subfields: ccCallSetupRequest: cisco-username= ----- ccCallInfo IE subfields ----- cisco-ani=5555 cisco-anitype=0 cisco-aniplan=0 cisco-anipi=0 cisco-anisi=0 dest=sip:tts@172.18.110.76 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 *Jan 18 03:34:57.531: //-1/xxxxxxxxxxxx/CCAPI/ ccIFCallSetupRequestPrivate: Interface=0x662CE538, Interface Type=3, Destination=, Mode=0x0, Call Params(Calling Number=5555, (Calling Name=)(TON=Unknown, NPI=Unknown, Screening=Not Screened, Presentation=Allowed), Called Number=sip:tts@172.18.110.76 (TON=Unknown, NPI=ISDN), Calling Translated=FALSE, Subscriber Type Str=RegularLine, FinalDestinationFlag=TRUE, Outgoing Dial-peer=6, Call Count On=FALSE, Source Trkgrp Route Label=, Target Trkgrp Route Label=, tg_label_flag=0, Application Call Id=)
INVITE消息的SDP包含音訊流和MRCPv2應用(語音合成通道)的媒體資訊。
*Jan 18 03:34:57.531: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: INVITE sip:tts@172.18.110.76:5060 SIP/2.0 Via: SIP/2.0/UDP 14.1.16.25: 5060;branch=z9hG4bK931F1D Remote-Party-ID: <sip:5555@14.1.16.25>; party=calling;screen=no;privacy=off From: <sip:5555@14.1.16.25> ;tag=E54D43C-1EC4 To: sip:tts@172.18.110.76 Date: Fri, 18 Jan 2002 03:34:57 GMT Call-ID: 2DCA5BEF-AFB11D6-80D3DC30 -3585E95A@14.1.16.25 Supported: 100rel,timer, resource-priority,replaces Min-SE: 1800 Cisco-Guid: 720276522-184226262 -2149318675-2151582862 User-Agent: Cisco-SIPGateway/IOS-12.x Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER CSeq: 101 INVITE Max-Forwards: 70 Timestamp: 1011324897 Contact: <sip:5555@14.1.16.25:5060> Expires: 180 Allow-Events: telephone-event Content-Type: application/sdp Content-Disposition: session;handling=required Content-Length: 358 v=0 o=CiscoSystemsSIP-GW-UserAgent 6021 4611 IN IP4 14.1.16.25 s=SIP Call c=IN IP4 14.1.16.25 t=0 0 m=audio 16984 RTP/AVP 0 101 c=IN IP4 14.1.16.25 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=ptime:20 a=recvonly a=mid:1 m=application 9 TCP/MRCPv2 a=setup:active a=connection:new a=resource:speechsynth a=cmid:1
出站撥號對等體5已匹配。
*Jan 18 03:34:57.531: //-1/xxxxxxxxxxxx/CCAPI/ccCallSetupRequest: Destination Pattern=, Called Number=sip:asr@172.18.110.76, Digit Strip=FALSE *Jan 18 03:34:57.531: //-1/xxxxxxxxxxxx/CCAPI/ccCallSetupRequest: Calling Number=5555(TON=Unknown, NPI=Unknown, Screening=Not Screened, Presentation=Allowed), Called Number=sip:asr@172.18.110.76 (TON=Unknown, NPI=ISDN), Redirect Number=, Display Info= Account Number=, Final Destination Flag=TRUE, Guid=2AEE8C2A-0AFB-11D6-801C-0013803E8C8E, Outgoing Dial-peer=5 *Jan 18 03:34:57.531: //-1/xxxxxxxxxxxx/CCAPI/cc_api _display_ie_subfields: ccCallSetupRequest: cisco-username= ----- ccCallInfo IE subfields ----- cisco-ani=5555 cisco-anitype=0 cisco-aniplan=0 cisco-anipi=0 cisco-anisi=0 dest=sip:asr@172.18.110.76 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 *Jan 18 03:34:57.535: //-1/xxxxxxxxxxxx/CCAPI /ccIFCallSetupRequestPrivate: Interface=0x662CE538, Interface Type=3, Destination=, Mode=0x0, Call Params(Calling Number=5555, (Calling Name=)(TON=Unknown, NPI=Unknown, Screening=Not Screened, Presentation=Allowed), Called Number=sip:asr@172.18.110.76 (TON=Unknown, NPI=ISDN), Calling Translated=FALSE, Subscriber Type Str=RegularLine, FinalDestinationFlag=TRUE, Outgoing Dial-peer=5, Call Count On=FALSE, Source Trkgrp Route Label=, Target Trkgrp Route Label=, tg_label_flag=0, Application Call Id=)
SDP包含音訊流DTMF中繼的媒體資訊。和MRCPv2應用程式(speechrecog通道)。
*Jan 18 03:34:57.535: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: INVITE sip:asr@172.18.110.76:5060 SIP/2.0 Via: SIP/2.0/UDP 14.1.16.25:5060;branch=z9hG4bK94C0B Remote-Party-ID: <sip:5555@14.1.16.25>; party=calling;screen=no;privacy=off From: <sip:5555@14.1.16.25>;tag=E54D440-1CDB To: sip:asr@172.18.110.76 Date: Fri, 18 Jan 2002 03:34:57 GMT Call-ID: 2DCAF817-AFB11D6 -80D5DC30-3585E95A@14.1.16.25 Supported: 100rel,timer, resource-priority,replaces Min-SE: 1800 Cisco-Guid: 720276522-184226262- 2149318675-2151582862 User-Agent: Cisco-SIPGateway/IOS-12.x Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER CSeq: 101 INVITE Max-Forwards: 70 Timestamp: 1011324897 Contact: <sip:5555@14.1.16.25:5060> Expires: 180 Allow-Events: telephone-event Content-Type: application/sdp Content-Disposition: session;handling=required Content-Length: 358 v=0 o=CiscoSystemsSIP-GW-UserAgent 6805 2057 IN IP4 14.1.16.25 s=SIP Call c=IN IP4 14.1.16.25 t=0 0 m=audio 19994 RTP/AVP 0 101 c=IN IP4 14.1.16.25 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=ptime:20 a=sendonly a=mid:1 m=application 9 TCP/MRCPv2 a=setup:active a=connection:new a=resource:speechrecog a=cmid:1
音訊流的G711ulaw編解碼器、IP地址和RTP埠號。
此RTP流的方向屬性為「recvonly」。
基於RTP-NTE的DTMF中繼。
網關用於與ASR伺服器建立MRCPv2會話的TCP埠號(51001)。
*Jan 18 03:34:57.559: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 200 OK Via: SIP/2.0/UDP 14.1.16.25:5060; branch=z9hG4bK94C0B To: <sip:asr@172.18.110.76>;tag=a99d0500 From: <sip:5555@14.1.16.25>;tag=E54D440-1CDB Call-ID: 2DCAF817-AFB11D6-80D5DC30- 3585E95A@14.1.16.25 CSeq: 101 INVITE Contact: <sip:172.18.110.76:5060> Content-Type: application/sdp Content-Length: 342 v=0 o=MRCPv2Server 3386937590 3386937590 IN IP4 172.18.110.76 s=SIP Call c=IN IP4 172.18.110.76 t=3386937590 0 m=audio 10002 RTP/AVP 0 101 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=recvonly m=application 51001 TCP/MRCPv2 a=connection:new a=setup:passive a=model:besteffort a=channel:000023B846361276@speechrecog
ASR的SIP會話在網關和ASR伺服器之間建立。
*Jan 18 03:34:57.563: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: ACK sip:172.18.110.76:5060 SIP/2.0 Via: SIP/2.0/UDP 14.1.16.25:5060;branch=z9hG4bK9520FA From: <sip:5555@14.1.16.25>;tag=E54D440-1CDB To: <sip:asr@172.18.110.76>;tag=a99d0500 Date: Fri, 18 Jan 2002 03:34:57 GMT Call-ID: 2DCAF817-AFB11D6-80D5DC30-3585E95A@14.1.16.25 Max-Forwards: 70 CSeq: 101 ACK Allow-Events: telephone-event Content-Length: 0
此處只顯示一個請求。
MRCP/2.0 446 DEFINE-GRAMMAR 1 Channel-Identifier: 000023B846361276@speechrecog : Speech-Language: en-us Content-Base: http://172.18.110.75:7000/CVP/ : Content-Type: application/srgs+xml Content-Id: option485@field.grammar Content-Length: 193 : <?xml version="1.0" encoding="UTF-8"?> <grammar version="1.0" mlns="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root" ><rule id="root" scope="public"> prescription</rule></grammar>
*Jan 18 03:34:57.587: //-1//MRCP:/hash_get: Table=mrcpv2_socket_connect_table, Key=0: MRCP/2.0 80 1 200 COMPLETE Channel-Identifier: 000023B846361276@speechrecog
SIP INVITE消息的SDP指定了以下內容:
音訊流的G711ulaw編解碼器、IP地址和RTP埠號。
此RTP流的direction屬性為「sendonly」。
基於RTP-NTE的DTMF中繼
網關用於與TTS伺服器建立MRCPv2會話的TCP埠號(51000)。
*Jan 18 03:34:57.591: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 200 OK Via: SIP/2.0/UDP 14.1.16.25:5060; branch=z9hG4bK931F1D To: <sip:tts@172.18.110.76>;tag=c1160600 From: <sip:5555@14.1.16.25>;tag=E54D43C-1EC4 Call-ID: 2DCA5BEF-AFB11D6-80D3DC30- 3585E95A@14.1.16.25 CSeq: 101 INVITE Contact: <sip:172.18.110.76:5060> Content-Type: application/sdp Content-Length: 342 v=0 o=MRCPv2Server 3386937590 3386937590 IN IP4 172.18.110.76 s=SIP Call c=IN IP4 172.18.110.76 t=3386937590 0 m=audio 10000 RTP/AVP 0 101 a=rtpmap:0 PCMU/8000 a=rtpmap:101 telephone-event/8000 a=sendonly m=application 51000 TCP/MRCPv2 a=connection:new a=setup:passive a=model:besteffort a=channel:000023EC46361276@speechsynth
文本到語音的SIP會話在網關和TTS伺服器之間建立。
*Jan 18 03:34:57.595: //-1/xxxxxxxxxxxx/SIP/ Msg/ccsipDisplayMsg: Sent: ACK sip:172.18.110.76:5060 SIP/2.0 Via: SIP/2.0/UDP 14.1.16.25:5060; branch=z9hG4bK9626BC From: <sip:5555@14.1.16.25>;tag=E54D43C-1EC4 To: <sip:tts@172.18.110.76>;tag=c1160600 Date: Fri, 18 Jan 2002 03:34:57 GMT Call-ID: 2DCA5BEF-AFB11D6-80D3DC30 -3585E95A@14.1.16.25 Max-Forwards: 70 CSeq: 101 ACK Allow-Events: telephone-event Content-Length: 0
MRCP/2.0 987 RECOGNIZE 15 Channel-Identifier: 000023B846361276@speechrecog : Speech-Language: en-us Confidence-Threshold: 0.40 Sensitivity-Level: 0.50 Speed-Vs-Accuracy: 0.50 Cancel-If-Queue: false Dtmf-Interdigit-Timeout: 10000 Dtmf-Term-Timeout: 0 Dtmf-Term-Char: # No-Input-Timeout: 60000 N-Best-List-Length: 1 Logging-Tag: 127:127 Accept-Charset: charset: utf-8 Content-Base: http://172.18.110.75:7000/CVP/ Media-Type: audio/basic Start-Input-Timers: false : Content-Type: text/uri-list Content-Length: 453 : session:option485@field.grammar session:option486@field.grammar session:option487@field.grammar session:option488@field.grammar session:option489@field.grammar session:option490@field.grammar session:option491@field.grammar session:option492@field.grammar session:option493@field.grammar session:option494@field.grammar session:option495@field.grammar session:link496@document.grammar session:link497@document.grammar session:help@grammar
MRCP/2.0 84 15 200 IN-PROGRESS Channel-Identifier: 000023B846361276@speechrecog
將其儲存在快取中,並向呼叫方播放提示。
*Jan 18 03:35:04.335: //127//HTTPC:/httpc_is_cached: HTTPC_FILE_IS_CACHED *Jan 18 03:35:04.335: //-1//HTTPC: /httpc_set_cache_revoke_cb: Registering revoke_callback(0x61CDD948) +pcontext(0x63A7AAA8) for cach ep(0x68734930) *Jan 18 03:35:04.335: //127//AFW_:/vapp_driver: evtID: 146 vapp record state: 0 *Jan 18 03:35:04.335: //127//AFW_:/vapp_play_done: evID=146 reason=17, protocol=5, status_code=0, dur=3291, rate=0 *Jan 18 03:35:04.335: //127/2AEE8C2A801C/VXML: /vxml_media_done:
MRCP/2.0 376 SPEAK 1 Channel-Identifier: 000023EC46361276@speechsynth : Kill-On-Barge-In: true Speech-Language: en-us Logging-Tag: 127:127 Content-Base: http://172.18.110.75:7000/CVP/ : Content-Type: application/ssml+xml Content-Length: 123 : <?xml version="1.0" encoding="UTF-8"?> <speak version="1.0" xml:lang="en-us"> Thank you for calling Audium pharmacy.</speak>
MRCP/2.0 83 1 200 IN-PROGRESS Channel-Identifier: 000023EC46361276@speechsynth
MRCP/2.0 141 SPEAK-COMPLETE 1 COMPLETE Channel-Identifier: 000023EC46361276@speechsynth Completion-Cause: 000 normal Speech-Marker: ""
網關將此數字作為RTP-NTE事件傳送到ASR伺服器。
*Jan 18 03:35:12.583: s=DSP d=VoIP payload 0x65 ssrc 0x15 sequence 0x1E9B timestamp 0x2FADCC60 *Jan 18 03:35:12.583: Pt:101 Evt:1 Pkt:03 00 00 <Snd>>> *Jan 18 03:35:12.587: s=DSP d=VoIP payload 0x65 ssrc 0x15 sequence 0x1E9C timestamp 0x2FADCC60 *Jan 18 03:35:12.587: Pt:101 Evt:1 Pkt:03 00 00 <Snd>>> *Jan 18 03:35:12.631: s=DSP d=VoIP payload 0x65 ssrc 0x15 sequence 0x1E9E timestamp 0x2FADCC60 *Jan 18 03:35:12.631: Pt:101 Evt:1 Pkt:03 01 90 <Snd>>> *Jan 18 03:35:12.683: s=DSP d=VoIP payload 0x65 ssrc 0x15 sequence 0x1E9F timestamp 0x2FADCC60 *Jan 18 03:35:12.683: Pt:101 Evt:1 Pkt:03 03 20 <Snd>>> *Jan 18 03:35:12.703: s=DSP d=VoIP payload 0x65 ssrc 0x15 sequence 0x1EA0 timestamp 0x2FADCC60 *Jan 18 03:35:12.703: Pt:101 Evt:1 Pkt:83 03 38 <Snd>>> *Jan 18 03:35:12.707: s=DSP d=VoIP payload 0x65 ssrc 0x15 sequence 0x1EA1 timestamp 0x2FADCC60 *Jan 18 03:35:12.707: Pt:101 Evt:1 Pkt:83 03 38 <Snd>>> *Jan 18 03:35:12.711: s=DSP d=VoIP payload 0x65 ssrc 0x15 sequence 0x1EA2 timestamp 0x2FADCC60 *Jan 18 03:35:12.711: Pt:101 Evt:1 Pkt:83 03 38 <Snd>>>
這將通知網關它已識別其中一個請求的事件(在本例中為數字1)。
MRCP/2.0 513 RECOGNITION-COMPLETE 15 COMPLETE Channel-Identifier: 000023B846361276@speechrecog Proxy-Sync-Id: 0B82553000000027 Completion-Cause: 000 success Content-Type: application/nlsml+xml Content-Length: 292 <?xml version="1.0" encoding="UTF-8"?> <result grammar="session:option486@field.grammar"> <interpretation grammar= "session:option486@field.grammar" confidence="0.000000"> <instance> 1 </instance> <input mode="dtmf" confidence="1.000000"> 1 </input> </interpretation> </result>
收到此通知後,VXML網關將傳送HTTP POST請求,如VXML文檔的SUBMIT標籤中所指定(3)。 此POST請求通知VXML伺服器PSTN呼叫方輸入了數字1。
*Jan 18 03:35:12.863: //127/2AEE8C2A801C/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% 5E%5E4%7C%7C%7Cutterance$$$1%5E%5E%5E153 40%7C%7C%7Cinputmode $$$dtmf%5E%5E%5E15344%7C%7C%7C interpretation$$$refills%5E%5E%5E15344%7C %7C%7Cconfidence$$$0%5E%5E%5E15344&confidence= 0&choice_fld=refills len 258maxage -1 maxstale -1 *Jan 18 03:35:12.863: //127//AFW_:/vapp_bgpost: url=http://172.18.110.75:7000/CVP/Server; mime_type=application/x-www-form-urlencod ed; len=258; iov_base=audium_vxmlLog=%7C%7C%7Caudio_ group$$$initial_audio_group %5E%5E%5E4%7C%7C%7Cutterance $$$1%5E%5E%5E15340%7C%7C %7Cinputmode$$$dtmf%5E%5E%5E15344% 7C%7C%7Cinterpretation$$$refills %5E%5E%5E15344%7C%7C%7Cconfidence$$$0 %5E%5E%5E15344&confidence=0& choice_fld=refills *Jan 18 03:35:12.931: about to send data to the socket 3 : first 400 bytes of data: POST /CVP/Server HTTP/1.1 Host: 172.18.110.75:7000 Content-Length: 258 Content-Type: application/x-www-form-urlencoded Cookie: $Version=0; JSESSIONID= BBCE0F948ADFDB720497F587A7997538; $Path=/CVP Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, tex t/html, audio/basic, audio/wav, multipart/form-dat
ASR向IOS VXML網關傳送識別完成MRCP消息。
MRCP/2.0 533 RECOGNITION-COMPLETE 21 COMPLETE Channel-Identifier: 000023B846361276@speechrecog Proxy-Sync-Id: 0B82553000000028 Completion-Cause: 000 success Content-Type: application/nlsml+xml Content-Length: 312 <?xml version="1.0" encoding="UTF-8"?> <result grammar= "session:field498@field.grammar"> <interpretation grammar= "session:field498@field.grammar" confidence="0.738968"> <instance> 1234 </instance> <input mode="speech" confidence="0.752155"> one two three four </input> </interpretation> </result> The final VXML document sent by the VXML server contains just the <exit\> tag in the <form> This tells the Gateway to terminate the VXML session
這將通知網關終止VXML會話
*Jan 18 03:36:07.159: processing server rsp msg: msg(67CA85F8)URL: http://172.18.110.75:7000/CVP/Server, fd(3): *Jan 18 03:36:07.159: Request msg: POST /CVP/Server HTTP/1.1 *Jan 18 03:36:07.159: Message Response Code: 200 *Jan 18 03:36:07.159: Message Rsp Decoded Headers: *Jan 18 03:36:07.159: D ate:Mon, 30 Apr 2007 16:59:53 GMT *Jan 18 03:36:07.159: Content-Type:text/xml;charset=ISO-8859-1 *Jan 18 03:36:07.159: Connection:close *Jan 18 03:36:07.159: Set-Cookie: JSESSIONID=NULL; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/CVP *Jan 18 03:36:07.159: headers: *Jan 18 03:36:07.159: 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: Mon, 30 Apr 2007 16:59:53 GMT Connection: close *Jan 18 03:36:07.159: body: *Jan 18 03:36:07.159: <?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>
*Jan 18 03:36:14.155: //127/2AEE8C2A801C/VXML:/vxml_vapp_terminate: vapp_status=0 ref_count 0 *Jan 18 03:36:14.155: //127//AFW_:/vapp_terminate: *Jan 18 03:36:14.155: //127//AFW_ :/vapp_session_exit_event_name: Exit Event vxml.session.complete *Jan 18 03:36:14.155: //127//AFW_:/AFW_M_VxmlModule_Terminate: *Jan 18 03:36:14.155: //131/2AEE8C2A801C/CCAPI/ccCallDisconnect: Cause Value=16, Tag=0x0, Call Entry (Previous Disconnect Cause=0, Disconnect Cause=0) *Jan 18 03:36:14.155: //131/2AEE8C2A801C/CCAPI/ccCallDisconnect: Cause Value=16, Call Entry(Responsed=TRUE, Cause Value=16)
*Jan 18 03:36:14.159: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: BYE sip:172.18.110.76:5060 SIP/2.0 Via: SIP/2.0/UDP 14.1.16.25: 5060;branch=z9hG4bK971131 From: <sip:5555@14.1.16.25>;tag=E54D440-1CDB To: <sip:asr@172.18.110.76>;tag=a99d0500 Date: Fri, 18 Jan 2002 03:34:57 GMT Call-ID: 2DCAF817-AFB11D6-80D5DC30- 3585E95A@14.1.16.25 User-Agent: Cisco-SIPGateway/IOS-12.x Max-Forwards: 70 Timestamp: 1011324974 CSeq: 102 BYE Reason: Q.850;cause=16 Content-Length: 0 *Jan 18 03:36:14.607: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 200 OK Via: SIP/2.0/UDP 14.1.16.25: 5060;branch=z9hG4bK971131 To: <sip:asr@172.18.110.76>;tag=a99d0500 From: <sip:5555@14.1.16.25>;tag=E54D440-1CDB Call-ID: 2DCAF817-AFB11D6-80D5DC30- 3585E95A@14.1.16.25 CSeq: 102 BYE Contact: <sip:172.18.110.76:5060> Content-Length: 0
*Jan 18 03:36:14.159: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Sent: BYE sip:172.18.110.76:5060 SIP/2.0 Via: SIP/2.0/UDP 14.1.16.25:5060;branch=z9hG4bK981487 From: <sip:5555@14.1.16.25>;tag=E54D43C-1EC4 To: <sip:tts@172.18.110.76>;tag=c1160600 Date: Fri, 18 Jan 2002 03:34:57 GMT Call-ID: 2DCA5BEF-AFB11D6- 80D3DC30-3585E95A@14.1.16.25 User-Agent: Cisco-SIPGateway/IOS-12.x Max-Forwards: 70 Timestamp: 1011324974 CSeq: 102 BYE Reason: Q.850;cause=16 Content-Length: 0 *Jan 18 03:36:14.215: //-1/xxxxxxxxxxxx/SIP/Msg/ccsipDisplayMsg: Received: SIP/2.0 200 OK Via: SIP/2.0/UDP 14.1.16.25:5060;branch=z9hG4bK981487 To: <sip:tts@172.18.110.76>;tag=c1160600 From: <sip:5555@14.1.16.25>;tag=E54D43C-1EC4 Call-ID: 2DCA5BEF-AFB11D6-80D3DC30-3585E95A@14.1.16.25 CSeq: 102 BYE Contact: <sip:172.18.110.76:5060> Content-Length: 0
*Jan 18 03:36:14.611: ISDN Se3/0:23 Q931: TX -> DISCONNECT pd = 8 callref = 0x805A Cause i = 0x8090 - Normal call clearing *Jan 18 03:36:14.623: ISDN Se3/0:23 Q931: RX <- RELEASE pd = 8 callref = 0x005A *Jan 18 03:36:14.623: ISDN Se3/0:23 Q931: TX -> RELEASE_COMP pd = 8 callref = 0x805A