VXML(Voice Extensible Markup Language)은 W3C(World Wide Web 컨소시엄)에서 정의한 표준입니다.VXML은 합성된 음성, 구어 인식, DTMF 숫자 인식 및 음성 녹음 기능을 제공하는 오디오 대화 상자를 만들도록 설계되었습니다.VXML 서버 및 클라이언트는 잘 알려진 HTTP 프로토콜을 사용하여 VXML 문서와 페이지를 교환합니다.
Cisco CVP(Voice Portal)는 전화를 통해 액세스할 수 있는 지능적이고 대화형 음성 응답(IVR) 애플리케이션을 제공합니다.CVP 구축에는 세 가지 유형이 있습니다.
독립형 서비스
CVP 통화 제어
통화 대기열 및 호전환
합성된 음성, 음성 인식 또는 DTMF 숫자 기능은 TTS(Text-to-Speech) 및 ASR(Automatic Speech Recognition) 서버에서 제공합니다.Cisco IOS® VXML 게이트웨이는 MRCP(Media Resource Control Protocol)를 사용하여 TTS 및 ASR 서버와 통신합니다. MRCP의 두 가지 버전(RFC 4463)은 MRCPv1(RTSP를 통한 MRCP) 및 MRCPv2(MRCP over SIP)입니다.
이 문서에서는 MRCPv1 TTS 또는 ASR 서버를 사용하는 독립형 서비스 구축에서 CVP에 대한 Cisco IOS Voice XML Gateway의 통화 흐름에 대해 설명합니다.샘플 약국 애플리케이션이 CVP VXML 서버에 구축되었습니다.
이 문서에 대한 특정 요건이 없습니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
IOS VXML 게이트웨이:Cisco AS5400XM, IOS 12.4(11)T2
VXML 서버:CVP 4.0
ASR/TTS 서버:Nuance ASR v8.5 및 TTS v4.0.6
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
이 섹션에는 이 문서에서 설명하는 기능을 구성하기 위한 정보가 표시됩니다.
참고: 명령 조회 도구(등록된 고객만 해당)를 사용하여 이 문서에 사용된 명령에 대한 자세한 내용을 확인하십시오.
이 문서에서는 다음 네트워크 설정을 사용합니다.
이 문서에서는 다음 구성을 사용합니다.
VXML 게이트웨이 구성 |
---|
!--- Define Hostname to IP address mapping for ASR and TTS servers. ip host asr-en-us 10.86.177.39 ip host tts-en-us 10.86.177.39 !--- Define the amount of maximum memory to use for downloaded prompts. ivr prompt memory 15000 !--- Define the RTSP URI of ASR and TTS Server. ivr asr-server rtsp://10.86.177.39/recognizer ivr tts-server rtsp://10.86.177.39/synthesizer !--- Configure an application service for CVP VXML CVPSelfServiceBootstrap.vxml. application service CVPSelfService flash:CVPSelfServiceBootstrap.vxml paramspace english language en paramspace english index 0 paramspace english location flash: paramspace english prefix en !--- Configure an application service for CVP VXML CVPSelfService.tcl Script. !--- CVPSelfService-app parameter specifies the name of the VXML Application. !--- CVPPrimary parameter specifies the IP address of the VXML server. service Pharmacy flash:CVPSelfService.tcl paramspace english index 0 paramspace english language en paramspace english location flash: param CVPSelfService-port 7000 param CVPSelfService-app GoodPrescriptionRefillApp7 paramspace english prefix en param CVPPrimaryVXMLServer 172.18.110.75 !--- Specifies the Gateway’s RTP stream to the ASR or TTS to go around the !--- Content Service Switch instead of through the CSS. mrcp client rtpsetup enable !--- Specify the maximum memory size for the HTTP Client Cache. http client cache memory pool 15000 !--- Specify the maximum number of file that can be stored in the HTTP Client Cache. http client cache memory file 500 !--- Disable Persistent HTTP Connections. no http client connection persistent !--- Configure the T1 PRI. controller T1 3/0 framing esf linecode b8zs pri-group timeslots 1-24 !--- Configure the ISDN switch type and incoming-voice under the D-channel interface. interface Serial3/0:23 no ip address encapsulation hdlc isdn switch-type primary-net5 isdn incoming-voice modem no cdp enable !--- Configure a POTS dial-peer that will be used as the inbound dial-peer for calls coming !--- in across the T1 PRI line. The “pharmacy” service is applied under this dial-peer. dial-peer voice 1 pots service pharmacy destination-pattern 5555 direct-inward-dial port 3/0:D forward-digits all |
이 섹션에서는 이 컨피그레이션 예제의 결과로 나타나는 통화 흐름에 대해 설명합니다.
ISDN 통화가 T1 PRI 3/0을 통해 PSTN/VXML 게이트웨이에 도착합니다.
IOS 게이트웨이는 이 통화의 인바운드 다이얼 피어로 POTS 다이얼 피어 1을 매칭합니다.
IOS Gateway는 통화 제어를 다이얼 피어 1과 연결된 약국 서비스로 전달합니다.
약국 서비스와 연결된 CVP VXML/TCL 스크립트는 VXML 서버에 HTTP GET 요청을 전송합니다.
VXML 서버는 200 OK 응답을 반환합니다.이 응답에는 VXML 문서 또는 페이지가 포함되어 있습니다.
IOS 게이트웨이가 VXML 문서를 실행합니다.
VXML 문서에서 오디오 프롬프트의 URL을 지정하면 IOS 게이트웨이가 오디오 파일을 다운로드하고 프롬프트를 재생합니다.
VXML 문서에서 오디오 프롬프트에 대한 텍스트를 지정하면 IOS 게이트웨이는 rtsp://10.86.177.39/synthesizer(TTS 서버)으로 RTSP 세션을 설정합니다. RTSP 세션이 설정되면 RTSP ANNOUNCE 요청을 사용하여 게이트웨이 및 TTS Server가 SPEAK, SPEAK-COMPLETE 등의 MRCP 메시지를 교환합니다.
TTS 서버는 RTSP 설정 요청의 "Transport" 헤더에 있는 게이트웨이가 제공한 IP 주소 및 UDP 포트 번호로 G.711ulaw RTP 오디오 스트림을 전송합니다.
VXML 문서가 DTMF 숫자 및 음성 단어를 인식하도록 게이트웨이를 지정하는 경우 IOS 게이트웨이는 rtsp://10.86.177.39/recognizer(ASR 서버)으로 RTSP 세션을 설정합니다. RTSP 세션이 설정되면 게이트웨이 및 ASR 서버는 RTSP ANNOUNCE 요청을 사용하여 DEFINE GRAMMAR, COMPLETE, RECOGNITION, RECOGNITION-COMPLETE 등의 MRCP 메시지를 교환합니다.
IOS VXML 게이트웨이는 RTSP 200 OK 응답의 SDP에서 ASR이 제공하는 IP 주소 및 UDP 포트 번호로 G.711ulaw RTP 오디오 스트림을 전송합니다.IOS VXML 게이트웨이는 PSTN 사용자가 RTP-NTE 이벤트로 입력한 숫자를 ASR 서버로 전송합니다.
VXML 문서를 실행한 후 게이트웨이는 VXML 문서 또는 페이지의 <submit> 태그에 지정된 대로 HTTP POST 요청(매개 변수 집합 포함)을 보냅니다.
6 - 10단계는 서버에서 전송하는 각 VXML 문서에 대해 발생합니다.
VXML 응용 프로그램은 호출자에게 제공된 서비스를 마치면 <form> 요소 내에 <exit/> 태그가 있는 VXML 문서를 보냅니다.
IOS 게이트웨이는 TTS 및 ASR 서버로 설정된 MRCPv1 세션의 연결을 해제합니다.
IOS 게이트웨이는 ISDN 측에서 통화를 연결 해제합니다.
이 섹션을 사용하여 컨피그레이션이 제대로 작동하는지 확인합니다.
Output Interpreter 도구(등록된 고객만 해당)(OIT)는 특정 show 명령을 지원합니다.OIT를 사용하여 show 명령 출력의 분석을 봅니다.
통화 활성 음성 개요 표시
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 클라이언트 세션 활성 세부 정보
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 ############################################################
voip rtp 연결 표시
VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP 1 66 63 17704 1224 172.18.110.77 10.86.177.39
http 클라이언트 캐시 표시
HTTP Client cached information ============================== Maximum memory pool allowed for HTTP Client caching = 15000 K-bytes Maximum file size allowed for caching = 500 K-bytes Total memory used up for Cache = 410 Bytes Message response timeout = 10 secs Total cached entries = 1 Total non-cached entries = 0 Cached entries ============== entry 114, 1 entries Ref FreshTime Age Size context --- --------- --- ---- ------- 1 119524 31 1271 0 url: http://172.18.110.75/Welcome-1.wav
이 섹션에서는 컨피그레이션 문제를 해결할 수 있습니다.
IOS 게이트웨이가 로깅 버퍼에 디버그를 로깅하고 로깅 콘솔을 비활성화하도록 구성합니다.
참고: debug 명령을 사용하기 전에 디버그 명령에 대한 중요 정보를 참조하십시오.
게이트웨이의 로깅 버퍼에 디버그를 저장하기 위해 게이트웨이를 구성하는 데 사용되는 명령입니다.
서비스 타임스탬프 디버그 datetime msec
서비스 시퀀스
로깅 콘솔 없음
버퍼된 로깅 5000000 디버그
로그 지우기
디버그 isdn q931
디버그 voip ccapi inout
디버그 voip 응용 프로그램 vxml 기본값
디버그 voip 응용 프로그램 vxml 덤프
디버그 rtsp all
디버그 mrcp 모두
디버그 http 클라이언트 모두
디버그 voip rtp 세션 nat named-event
이 섹션에서는 이 샘플 통화 흐름에 대한 디버그 출력을 제공합니다.
게이트웨이가 CVPSelfServiceBootstrap.vxml VoiceXML 스크립트 실행을 시작합니다.
게이트웨이는 Welcome-1.wav 파일을 다운로드하기 위해 미디어 서버에 HTTP GET 요청을 보냅니다.
게이트웨이는 미디어 서버에서 200 OK를 수신하고 HTTP 메시지 본문에서 Welcome-1.wav의 내용을 수신합니다.
게이트웨이는 VXML 문서의 Submit(제출) 옵션에 정의된 대로 HTTP POST 요청을 보냅니다(2).
게이트웨이가 RTSP ANNOUNCE 요청에 포함된 ASR 서버에 MRCP "DEFINE-GRAMMAR" 요청을 보냅니다(여기에 하나의 요청만 표시됨).
게이트웨이는 Welcome-1.wav 미디어 파일 다운로드를 완료하고 호출자에게 프롬프트를 재생하여 캐시에 저장합니다.
게이트웨이가 TTS 서버에 MRCP "SPEAK" 요청을 보내 "안녕하세요, Audium 약국에 전화주셔서 감사합니다" 프롬프트를 재생합니다.
ASR Server는 음성 시작을 탐지하고 MRCP "START-OF-SPEECH" 응답을 사용하여 게이트웨이에 알림
ASR Server는 "Refill(리필)"이라는 단어를 인식하고 게이트웨이로 MRCP "RECOGNITION-COMPLETE" 메시지를 보냅니다.
ASR 서버로부터 성공적인 인식 알림을 받은 후 VXML 게이트웨이는 VXML 문서의 SUBMIT 태그에 지정된 대로 HTTP POST 요청을 보냅니다(2).
VXML 서버는 처방전 번호, 수거 시간을 수집하고 처방전을 회수할 준비가 되었음을 발신자에게 알리기 위해 VXML 페이지를 보냅니다.게이트웨이는 TTS 및 ASR 서버와 상호 작용하여 이러한 페이지를 실행합니다(디버그 출력은 표시되지 않음).
*Feb 4 03:24:54.111: ISDN Se3/0:23 Q931: RX <- SETUP pd = 8 callref = 0x0099 Bearer Capability i = 0x8090A2 Standard = CCITT Transfer Capability = Speech Transfer Mode = Circuit Transfer Rate = 64 kbit/s Channel ID i = 0xA98381 Exclusive, Channel 1 Called Party Number i = 0x81, '5555' Plan:ISDN, Type:Unknown *Feb 4 03:24:54.115: //-1/972590A48011/CCAPI/cc_api_display_ie_subfields: cc_api_call_setup_ind_common: cisco-username= ----- ccCallInfo IE subfields ----- cisco-ani= cisco-anitype=0 cisco-aniplan=0 cisco-anipi=0 cisco-anisi=0 dest=5555 cisco-desttype=0 cisco-destplan=1 cisco-rdie=FFFFFFFF cisco-rdn= cisco-rdntype=-1 cisco-rdnplan=-1 cisco-rdnpi=-1 cisco-rdnsi=-1 cisco-redirectreason=-1 fwd_final_type =0 final_redirectNumber = hunt_group_timeout =0
*Feb 4 03:24:54.115: //-1/972590A48011/CCAPI/cc_api_call_setup_ind_common: Interface=0x66C30F98, Call Info( Calling Number=,(Calling Name=)(TON=Unknown, NPI=Unknown, Screening=Not Screened, Presentation=Allowed), Called Number=5555(TON=Unknown, NPI=ISDN), Calling Translated=FALSE, Subscriber Type Str=RegularLine, FinalDestinationFlag=TRUE, Incoming Dial-peer=1, Progress Indication=NULL(0), Calling IE Present=FALSE, Source Trkgrp Route Label=, Target Trkgrp Route Label=, CLID Transparent=FALSE), Call Id=-1
*Feb 4 03:24:54.115: //63/972590A48011/CCAPI/cc_process_call_setup_ind: >>>>CCAPI handed cid 63 with tag 1 to app "_ManagedAppProcess_Pharmacy" *Feb 4 03:24:54.115: //63/972590A48011/CCAPI/ccCallSetupAck: Call Id=63
*Feb 4 03:24:54.119: ISDN Se3/0:23 Q931: TX -> CONNECT pd = 8 callref = 0x8099 *Feb 4 03:24:54.119: //63/972590A48011/CCAPI/ccCallHandoff: Silent=FALSE, Application=0x67569410, Conference Id=0xFFFFFFFF *Feb 4 03:24:54.119: //63//VXML:/Open_CallHandoff:
*Feb 4 03:24:54.131: //63/972590A48011/VXML:/vxml_vxml_proc: <vxml> URI(abs):flash:CVPSelfServiceBootstrap.vxml scheme=flash path=CVPSelfServiceBootstrap.vxml base= URI(abs):flash:CVPSelfServiceBootstrap.vxml scheme=flash path=CVPSelfServiceBootstrap.vxml lang=none version=2.0 <script>: *Feb 4 03:24:54.175: //63/972590A48011/VXML:/vxml_expr_eval: <var>: namep=handoffstring expr=session.handoff_string *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var handoffstring=session.handoff_string) <var>: namep=application expr=getValue('APP') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var application=getValue('APP')) <var>: namep=port expr=getValue('PORT') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var port=getValue('PORT')) <var>: namep=callid expr=getValue('CALLID') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var callid=getValue('CALLID')) <var>: namep=servername expr=getValue('PRIMARY') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var servername=getValue('PRIMARY')) <var>: namep=var1 expr=getValue('var1') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var var1=getValue('var1')) <var>: namep=var2 expr=getValue('var2') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var var2=getValue('var2')) <var>: namep=var3 expr=getValue('var3') *Feb 4 03:24:54.243: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var var3=getValue('var3')) <var>: namep=var4 expr=getValue('var4') *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var var4=getValue('var4')) <var>: namep=var5 expr=getValue('var5') *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var var5=getValue('var5')) <var>: namep=status expr=getValue('status') *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var status=getValue('status')) <var>: namep=prevapp expr=getValue('prevapp') *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var prevapp=getValue('prevapp')) <var>: namep=survive expr=getValue('survive') *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var survive=getValue('survive')) <var>: namep=handoffExit *Feb 4 03:24:54.247: //63/972590A48011/VXML:/vxml_expr_eval: expr=(var handoffExit)
*Feb 4 03:24:54.255: //63//HTTPC:/httpc_write_stream: Client write buffer fd(0): GET /CVP/Server?application=GoodPrescriptionRefillApp7&callid=972590A4-185511D6-80110013- 803E8C8E&session.connection.remote.uri=5555 &session.connection.local.uri=5555 HTTP/1.1 Host: 172.18.110.75:7000 Content-Type: application/x-www-form-urlencoded Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, text/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
이 응답의 메시지 본문에 VXML 문서(1)가 있습니다. VXML 문서는 게이트웨이에 미디어 서버에 있는 Welcome-1.wav라는 미디어 파일을 재생하도록 지시합니다
*Feb 4 03:24:54.263: processing server rsp msg: msg(63AC8784) URL:http://172.18.110.75:7000/CVP/Server?application=GoodPrescriptionRefillApp7& callid=972590A4-185511D6-80110013-803E8C8E&session.connection.remote.uri= 5555&session.connection.local.uri=5555, fd(0): *Feb 4 03:24:54.263: Request msg: GET /CVP/Server?application=GoodPrescriptionRefillApp7& callid=972590A4-185511D6-80110013-803E8C8E &session.connection.remote.uri=5555&session.connection.local.uri=5555 HTTP/1.1 *Feb 4 03:24:54.263: Message Response Code: 200 *Feb 4 03:24:54.263: Message Rsp Decoded Headers: *Feb 4 03:24:54.263: Date:Thu, 17 May 2007 15:48:31 GMT *Feb 4 03:24:54.263: Content-Type:text/xml;charset=ISO-8859-1 *Feb 4 03:24:54.263: Connection:close *Feb 4 03:24:54.263: Set-Cookie:JSESSIONID=6FE82FC3B0E02909CA5A9307D57F00E1; Path=/CVP *Feb 4 03:24:54.263: headers: *Feb 4 03:24:54.263: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=6FE82FC3B0E02909CA5A9307D57F00E1; Path=/CVP Content-Type: text/xml;charset=ISO-8859-1 Date: Thu, 17 May 2007 15:48:31 GMT Connection: close *Feb 4 03:24:54.263: body: *Feb 4 03:24:54.263: <?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" application="/CVP/Server?audium_root=true& calling_into=GoodPrescriptionRefillApp7" xml:lang="en-us"> <form id="audium_start_form"> <block> <assign name="audium_vxmlLog" expr="''" /> <assign name="audium_element_start_time_millisecs" expr="new Date().getTime()" /> <goto next="#start" /> </block> </form> <form id="start"> <block> <prompt bargein="true"> <audio src="http://172.18.110.75/Welcome-1.wav" /> </prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog" /> </block> </form> </vxml>
*Feb 4 03:24:54.371: //63//HTTPC:/httpc_write_stream: Client write buffer fd(0): GET /Welcome-1.wav HTTP/1.1 Host: 172.18.110.75 Content-Type: application/x-www-form-urlencoded Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, text/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
*Feb 4 03:24:54.391: read data from the socket 0 : first 400 bytes of data: HTTP/1.1 200 OK Content-Length: 76152 Content-Type: audio/wav Last-Modified: Thu, 03 May 2007 19:47:43 GMT Accept-Ranges: bytes ETag: "b27d69eabb8dc71:2eb" Server: Microsoft-IIS/6.0 Date: Thu, 17 May 2007 15:48:31 GMT Connection: close RIFFo)(Unprintable char...)1057415645666D7420120007010401F00401F00108000666163744 000529106461746152910FFFFFFFFFFFFFFFF7AFFFFFFFD7E7E
*Feb 4 03:24:54.371: //63//HTTPC:/httpc_write_stream: Client write buffer fd(1): POST /CVP/Server HTTP/1.1 Host: 172.18.110.75:7000 Content-Length: 67 Content-Type: application/x-www-form-urlencoded Cookie: $Version=0; JSESSIONID=6FE82FC3B0E02909CA5A9307D57F00E1; $Path=/CVP Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, text/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
메시지 본문에 VXML 문서(2)가 있습니다. VXML 문서는 게이트웨이에 "안녕하세요. 오디오 약국에 연락해 주셔서 감사합니다.
참고: 이 프롬프트는 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>Good morning and thank you for calling Audium pharmacy. <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog" /> </block> </form> </vxml>
*Feb 4 03:24:54.399: //63//HTTPC:/httpc_write_stream: Client write buffer fd(1): POST /CVP/Server HTTP/1.1 Host: 172.18.110.75:7000 Content-Length: 67 Content-Type: application/x-www-form-urlencoded Cookie: $Version=0; JSESSIONID=6FE82FC3B0E02909CA5A9307D57F00E1; $Path=/CVP Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, text/html, audio/basic, audio/wav, multipart/form-data, application/octet-stream User-Agent: Cisco-IOS-C5400/12.4
메시지 본문에 VXML 문서(3)가 포함되어 있습니다. 이 VXML 문서는 발신자에게 1을 입력하거나, 2를 입력하거나, 약사라고 말하도록 지시하는 메뉴 프롬프트를 정의합니다.프롬프트는 TTS 서버에 의해 합성됩니다.입력(음성/dtmf)은 ASR을 사용하여 인식됩니다.
*Feb 4 03:24:54.415: processing server rsp msg: msg(63AC8F24) URL:http://172.18.110.75:7000/CVP/Server, fd(1): *Feb 4 03:24:54.415: Request msg: POST /CVP/Server HTTP/1.1 *Feb 4 03:24:54.415: Message Response Code: 200 *Feb 4 03:24:54.415: Message Rsp Decoded Headers: *Feb 4 03:24:54.415: Date:Thu, 17 May 2007 15:48:31 GMT *Feb 4 03:24:54.415: Content-Type:text/xml;charset=ISO-8859-1 *Feb 4 03:24:54.415: Connection:close *Feb 4 03:24:54.415: headers: *Feb 4 03:24:54.415: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=ISO-8859-1 Date: Thu, 17 May 2007 15:48:31 GMT Connection: close *Feb 4 03:24:54.415: body: *Feb 4 03:24:54.415: ... Buffer too large - truncated to (4096) len. *Feb 4 03:24:54.415: <?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" application="/CVP/Server?audium_root=true& calling_into=GoodPrescriptionRefillApp7" xml:lang="en-us"> <property name="timeout" value="60s" /> <property name="confidencelevel" value="0.40" /> <form id="audium_start_form"> <block> <assign name="audium_vxmlLog" expr="''" /> <assign name="audium_element_start_time_millisecs" expr="new Date().getTime()" /> <goto next="#start" /> </block> </form> <form id="start"> <block> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <goto nextitem="choice_fld" /> </block> <field name="choice_fld" modal="false"> <property name="inputmodes" value="dtmf voice" />Say refills or press 1. Or. Say pharmacist or press 2.Sorry. I did not understand that. Say refills or press 1. Say pharmacist or press 2. <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '1' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="nomatch" count="2"> <prompt bargein="true">Sorry, I still did not get that. If you are using a speaker phone. Please use the phone keypad to make your selection. Press 1 for refills. Press 2 to speak to a pharmacist.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '2' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="nomatch" count="3"> <prompt bargein="true">Gee. Looks like we are having some trouble.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '3' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <var name="maxNoMatch" expr="'yes'" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog maxNoMatch" /> </catch> <catch event="noinput"> <prompt bargein="true">Sorry. I did not hear that. Say refills or press 1. Say pharmacist or press 2.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||noinput$$$' + '1' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'noinput_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="noinput" count="2"> <prompt bargein="true">I am sorry. I still did not hear that. If you are using a speaker phone. Please use the phone keypad to make your selection. Press 1 for refills. Press 2 to speak to a pharmacist.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||noinput$$$' + '2' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'noinput_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="noinput" count="3"> <prompt bargein="true">Gee. Looks like we are having some trouble.</prompt> <assign name="audium_vxmlLog" expr=" *Feb 4 03:24:54.435: *Feb 4 03:24:54.435: //63//AFW_:/vapp_bgpost_done: status=http OK *Feb 4 03:24:54.435: //63//HTTPC:/httpc_socket_cleanup: fd=-1, bytes_sent=531 *Feb 4 03:24:54.435: //63//AFW_:/vapp_driver: evtID: 194 vapp record state: 0 *Feb 4 03:24:54.435: //63//AFW_:/vapp_bgpost_done_event: *Feb 4 03:24:54.435: //63/972590A48011/VXML:/vxml_bgload_post_done: vxmlhandle=6767ECFC status=0 async_status=400000000 *Feb 4 03:24:54.435: //63/972590A48011/VXML:/vxml_bgload_post_done: Loading file with url (http://172.18.110.75:7000/CVP/Server) *Feb 4 03:24:54.435: //63/972590A48011/VXML:/vxml_bgload_post_done: Script Content <?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" application="/CVP/Server?audium_root=true& calling_into=GoodPrescriptionRefillApp7" xml:lang="en-us"> <property name="timeout" value="60s" /> <property name="confidencelevel" value="0.40" /> <form id="audium_start_form"> <block> <assign name="audium_vxmlLog" expr="''" /> <assign name="audium_element_start_time_millisecs" expr="new Date().getTime()" /> <goto next="#start" /> </block> </form> <form id="start"> <block> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <goto nextitem="choice_fld" /> </block> <field name="choice_fld" modal="false"> <property name="inputmodes" value="dtmf voice" />Say refills or press 1. Or. Say pharmacist or press 2.Sorry. I did not understand that. Say refills or press 1. Say pharmacist or press 2.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '1' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="nomatch" count="2"> <prompt bargein="true">Sorry, I still did not get that. If you are using a speaker phone. Please use the phone keypad to make your selection. Press 1 for refills. Press 2 to speak to a pharmacist.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '2' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="nomatch" count="3"> <prompt bargein="true">Gee. Looks like we are having some trouble.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||nomatch$$$' + '3' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'nomatch_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <var name="maxNoMatch" expr="'yes'" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog maxNoMatch" /> </catch> <catch event="noinput"> <prompt bargein="true">Sorry. I did not hear that. Say refills or press 1. Say pharmacist or press 2.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||noinput$$$' + '1' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'noinput_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="noinput" count="2"> <prompt bargein="true">I am sorry. I still did not hear that. If you are using a speaker phone. Please use the phone keypad to make your selection. Press 1 for refills. Press 2 to speak to a pharmacist.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||noinput$$$' + '2' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'noinput_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> </catch> <catch event="noinput" count="3"> <prompt bargein="true">Gee. Looks like we are having some trouble.</prompt> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||noinput$$$' + '3' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'noinput_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <var name="maxNoInput" expr="'yes'" /> <submit next="/CVP/Server" method="post" namelist=" audium_vxmlLog maxNoInput" /> </catch> <filled> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||utterance$$$' + choice_fld$.utterance + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||inputmode$$$' + choice_fld$.inputmode + '^^^' + application.getElap sedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||interpretation$$$' + choice_fld + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||confidence$$$' + choice_fld$.confidence + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" /> <var name="confidence" expr="choice_fld$.confidence" /></filled> </field> </form> </vxml>
그런 다음 게이트웨이가 ASR 서버와의 RTSP 세션을 설정하면 ASR 서버로 이 그래마들을 보냅니다.
*Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_change_server: asr_server=rtsp://10.86.177.39/recognizer *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_change_url: sess-id: 17, url=rtsp://10.86.177.39/recognizer *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: Input-Url: rtsp://10.86.177.39/recognizer *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: Hostname: 10.86.177.39Port : 554Path : recognizer *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: Input-Url: rtsp://10.86.177.39/recognizer *Feb 4 03:24:54.447: //-1//RTSP:/rtsplib_pmh_parse_url: Hostname: 10.86.177.39Port : 554Path : recognizer *Feb 4 03:24:54.447: //63//MRCP:/mrcp_change_url: fsm (674DA1E4) already defined *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option322@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> prescription</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option323@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" mode="dtmf" root="root"><rule id="root" scope="public">1</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option324@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> refills</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option325@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> prescription refills</rule></gram mar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option326@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> refill my prescription</rule></gr ammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option327@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> I want to refill my prescription</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option328@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> refills please</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option329@field.grammar *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.447: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> Pharmacist</rule></grammar> *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.447: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option330@field.grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" mode="dtmf" root="root"><rule id="root" scope="public">2</rule></grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option331@field.grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> I want to speak to a pharmacist</rule></grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:option332@field.grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public"> pharmacist please</rule></grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:link333@document.grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar xmlns="http://www.w3.org/2001/06/grammar" mode="voice" version="1.0" root="Hotlink_02_VOICE" xml:lang="en-us"> <rule id="Hotlink_02_VOICE" scope="public"> <one-of> <item>operator> <item>agent> <item>pharmacist> </one-of> </rule> </grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:link334@document.grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=0 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar xmlns="http://www.w3.org/2001/06/grammar" mode="voice" version="1.0" root="Hotlink_01_VOICE" xml:lang="en-us"> <rule id="Hotlink_01_VOICE" scope="public"> <one-of> <item>operator> <item>agent> <item>pharmacist> </one-of> </rule> </grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar_id=session:help@grammar *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: xml_lang=en-us *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: encoding_name=UTF-8 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: remoteupdate=1 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr_define_grammar: grammar=<?xml version="1.0" encoding="UTF-8"?><grammar version="1.0" xmln s="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"><rule id="root" scope="public">help</rule></grammar> *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Speech-Language: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_add_param: param: Content-Base: *Feb 4 03:24:54.451: //-1//MRCP:/mrcp_recognizer_define_grammar: sess-id: 17 *Feb 4 03:24:54.451: //63//AFW_:/vapp_asr: grammar_id=session:option322@field.grammar grammar_id=session:option323@field.grammar grammar_id=session:option324@field.grammar grammar_id=session:option325@field.grammar grammar_id=session:option326@field.grammar grammar_id=session:option327@field.grammar grammar_id=session:option328@field.grammar grammar_id=session:option329@field.grammar grammar_id=session:option330@field.grammar grammar_id=session:option331@field.grammar grammar_id=session:option332@field.grammar grammar_id=session:link333@document.grammar grammar_id=session:link334@document.grammar grammar_id=session:help@grammar
*Feb 4 03:24:54.475: ######################################## *Feb 4 03:24:54.475: Request *Feb 4 03:24:54.475: SETUP rtsp://10.86.177.39/recognizer RTSP/1.0 CSeq: 0 Transport: rtp/avp;unicast;client_port=17704;mode=record
200 OK 응답의 SDP에는 게이트웨이가 RTP 패킷을 전송해야 하는 ASR 서버의 IP 주소와 UDP 포트 번호가 포함됩니다.
*Feb 4 03:24:54.531: //-1//RTSP:/rtsp_process_single_svr_resp: *Feb 4 03:24:54.531: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 0 Session: 27b1560a_00000748_464c95e8_000b_0000 Transport: RTP/AVP;unicast;client_port=17704;server_port=1224-1225;mode=record Content-Length: 233 Content-Type: application/sdp v=0 o=- 3388413032 3388413032 IN IP4 10.86.177.39 s=Nuance Media Server/1.0.0 SP10 (Windows 2000) c=IN IP4 10.86.177.39 t=0 0 m=audio 1224 RTP/AVP 0 101 a=rtpmap:0 pcmu/8000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-15
여기에 하나의 요청만 표시됩니다.
*Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: rtsp_partial_socket_send: (fd:0 len:163) 400 bytes of data: ANNOUNCE rtsp://10.86.177.39/recognizer RTSP/1.0 CSeq: 1 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Type: application/mrcp Content-Length: 390 *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: (socket:0) (bytes-sent:163) *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: rtsp_partial_socket_send: (fd:0 len:28) 400 bytes of data: DEFINE-GRAMMAR 3 MRCP/1.0 *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: (socket:0) (bytes-sent:28) *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: rtsp_partial_socket_send: (fd:0 len:70) 400 bytes of data: Speech-Language: en-us Content-Base: http://172.18.110.75:7000/CVP/ *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: (socket:0) (bytes-sent:70) *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: rtsp_partial_socket_send: (fd:0 len:99) 400 bytes of data: Content-Type: application/grammar+xml Content-Id: option322@field.grammar Content-Length: 193 *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: (socket:0) (bytes-sent:99) *Feb 4 03:24:54.535: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.535: rtsp_partial_socket_send: (fd:0 len:193) 400 bytes of data:xmlns="http://www.w3.org/2001/06/grammar" xml:lang="en-us" root="root"> prescription
*Feb 4 03:24:54.555: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 1 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Length: 27 Content-Type: application/mrcp MRCP/1.0 3 200 COMPLETE
*Feb 4 03:24:54.619: rtsp_partial_socket_send: (fd:0 len:24) 400 bytes of data: RECOGNIZE 17 MRCP/1.0 *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: (socket:0) (bytes-sent:24) *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: rtsp_partial_socket_send: (fd:0 len:347) 400 bytes of data: Speech-Language: en-us Confidence-Threshold: 40 Sensitivity-Level: 50 Speed-Vs-Accuracy: 50 Dtmf-Interdigit-Timeout: 10000 Dtmf-Term-Timeout: 0 Dtmf-Term-Char: # No-Input-Timeout: 60000 N-Best-List-Length: 1 Logging-Tag: 63:63 Accept-Charset: charset: utf-8 Content-Base: http://172.18.110.75:7000/CVP/ Recognizer-Start-Timers: false *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: (socket:0) (bytes-sent:347) *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: rtsp_partial_socket_send: (fd:0 len:52) 400 bytes of data: Content-Type: text/uri-list Content-Length: 453 *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: (socket:0) (bytes-sent:52) *Feb 4 03:24:54.619: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.619: rtsp_partial_socket_send: (fd:0 len:256) 400 bytes of data: session:option322@field.grammar session:option323@field.grammar session:option324@field.grammar session:option325@field.grammar session:option326@field.grammar session:option327@field.grammar session:option328@field.grammar session:option329@field.grammar *Feb 4 03:24:54.623: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.623: (socket:0) (bytes-sent:256) *Feb 4 03:24:54.623: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:24:54.623: rtsp_partial_socket_send: (fd:0 len:197) 400 bytes of data: session:option330@field.grammar session:option331@field.grammar session:option332@field.grammar session:link333@document.grammar session:link334@document.grammar session:help@grammar
*Feb 4 03:24:54.875: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 15 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Length: 31 Content-Type: application/mrcp MRCP/1.0 17 200 IN-PROGRESS
*Feb 4 03:25:07.811: //63//HTTPC:/httpc_is_cached: HTTPC_FILE_IS_CACHED *Feb 4 03:25:07.811: //-1//HTTPC:/httpc_set_cache_revoke_cb: Registering revoke_callback(0x61D9672C)+pcontext(0x6767A9FC) for cache p(0x672DA9C8) *Feb 4 03:25:07.811: //63//AFW_:/vapp_driver: evtID: 145 vapp record state: 0 *Feb 4 03:25:07.811: //63//AFW_:/vapp_play_done: evID=145 reason=13, protocol=2, status_code=0, dur=9504, rate=0 *Feb 4 03:25:07.811: //63/972590A48011/VXML:/vxml_media_done:
*Feb 4 03:25:07.811: //-1//RTSP:/rtsplib_send_setup: *Feb 4 03:25:07.811: ######################################## *Feb 4 03:25:07.811: Request *Feb 4 03:25:07.811: SETUP rtsp://10.86.177.39/synthesizer RTSP/1.0 CSeq: 16 Session: 27b1560a_00000748_464c95e8_000b_0000 Transport: rtp/avp;unicast;source=172.18.110.77;destination=172.18.110.77; client_port=17704-17705
*Feb 4 03:25:07.831: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 16 Session: 27b1560a_00000748_464c95e8_000b_0000 Transport: RTP/AVP;unicast;client_port=17704;server_port=1224-1225
*Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: rtsp_partial_socket_send: (fd:0 len:165) 400 bytes of data: ANNOUNCE rtsp://10.86.177.39/synthesizer RTSP/1.0 CSeq: 17 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Type: application/mrcp Content-Length: 307 *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: (socket:0) (bytes-sent:165) *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: rtsp_partial_socket_send: (fd:0 len:19) 400 bytes of data: SPEAK 2 MRCP/1.0 *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: (socket:0) (bytes-sent:19) *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: rtsp_partial_socket_send: (fd:0 len:114) 400 bytes of data: Kill-On-Barge-In: true Speech-Language: en-us Logging-Tag: 63:63 Content-Base: http://172.18.110.75:7000/CVP/ *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: (socket:0) (bytes-sent:114) *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: rtsp_partial_socket_send: (fd:0 len:65) 400 bytes of data: Content-Type: application/synthesis+ssml Content-Length: 109 *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: (socket:0) (bytes-sent:65) *Feb 4 03:25:07.835: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:07.835: rtsp_partial_socket_send: (fd:0 len:109) 400 bytes of data:Good morning and thank you for calling Audium pharmacy.
*Feb 4 03:25:08.031: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 17 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Length: 30 Content-Type: application/mrcp MRCP/1.0 2 200 IN-PROGRESS
*Feb 4 03:25:11.911: rtsp_process_single_svr_resp: 400 bytes of data: ANNOUNCE rtsp://10.86.177.39/synthesizer RTSP/1.0 CSeq: 1 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Length: 68 Content-Type: application/mrcp SPEAK-COMPLETE 2 COMPLETE MRCP/1.0 Completion-Cause: 000 normal
*Feb 4 03:25:19.711: //-1//RTSP:/rtsp_process_single_svr_resp: *Feb 4 03:25:19.711: rtsp_process_single_svr_resp: 400 bytes of data: ANNOUNCE rtsp://10.86.177.39/recognizer RTSP/1.0 CSeq: 3 Session: 27b1560a_00000748_464c95e8_000b_0000 Content-Length: 61 Content-Type: application/mrcp START-OF-SPEECH 17 IN-PROGRESS MRCP/1.0 Proxy-Sync-Id: 1
*Feb 4 03:25:19.711: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:25:19.711: rtsp_partial_socket_send: (fd:0 len:76) 400 bytes of data: RTSP/1.0 200 OK CSeq: 3 Session: 27b1560a_00000748_464c95e8_000b_0000
*Feb 6 00:58:17.960: rtsp_process_single_svr_resp: 400 bytes of data: ANNOUNCE rtsp://10.86.177.39/recognizer RTSP/1.0 CSeq: 4 Session: 27b1560a_00000748_464f166e_000f_0000 Content-Length: 848 Content-Type: application/mrcp RECOGNITION-COMPLETE 17 COMPLETE MRCP/1.0 Completion-Cause: 000 success Content-Type: application/x-nlsml Content-Length: 716 <?xml version="1.0" encoding="UTF-8"?> <result grammar="session:option420@field.grammar"> <interpreta *Feb 4 03:25:20.867: //-1//RTSP:/rtsp_pmh_parse_svr_response: *Feb 4 03:25:20.867: //-1//RTSP:/rtsp_pmh_parse_svr_response: just one response(may be partial): 849
이 POST 요청은 VXML 서버에 사용자가 "리필" 옵션을 선택했음을 알립니다.
*Feb 4 03:25:20.963: //63/972590A48011/VXML:/vxml_vapp_bgpost: url http://172.18.110.75:7000/CVP/Server cachable 1 timeout 0 body audium_vxmlLog=%7C%7C% 7Caudio_group$$$initial_audio_group%5E%5 E%5E4%7C%7C%7Cutterance$$$refills%5E%5E%5E26516%7C%7C%7Cinputmode$$$voice%5E%5E%5E26516% 7C%7C%7Cinterpretation$$$refills%5E%5E%5E265 16%7C%7C%7Cconfidence$$$0.55%5E%5E%5E26516&confidence=0.55&choice_fld=refills len 271maxage -1 maxstale -1 *Feb 4 03:25:20.963: //63//AFW_:/vapp_bgpost: url=http://172.18.110.75:7000/CVP/Server; mime_type=application/x-www-form-urlencoded; len=271; iov_base=audium_vxmlLog=%7C%7C% 7Caudio_group$$$initial_audio_group%5E%5E%5E4%7C%7C%7Cutterance$$$refills%5E%5E%5E26516%7C %7C%7Cinputmode$$$voice%5E%5E%5E26516%7C%7C%7Cinterpretation$$$refills%5E%5E%5E26516%7C%7C% 7Cconfidence$$$0.55%5E%5E%5E26516&confide nce=0.55&choice_fld=refills *Feb 4 03:25:21.039: //63//HTTPC:/httpc_socket_send: *Feb 4 03:25:21.039: about to send data to the socket 0 : first 400 bytes of data: POST /CVP/Server HTTP/1.1 Host: 172.18.110.75:7000 Content-Length: 271 Content-Type: application/x-www-form-urlencoded Cookie: $Version=0; JSESSIONID=6FE82FC3B0E02909CA5A9307D57F00E1; $Path=/CVP Connection: close Accept: text/vxml, text/x-vxml, application/vxml, application/x-vxml, application/voicexml, application/x-voicexml, text/plain, text/html, audio/basic, audio/wav, multipart/form-dat
이렇게 하면 게이트웨이가 VXML 세션을 종료하게 됩니다.
*Feb 4 03:26:20.623: processing server rsp msg: msg(63ABB204) URL:http://172.18.110.75:7000/CVP/Server, fd(0): *Feb 4 03:26:20.623: Request msg: POST /CVP/Server HTTP/1.1 *Feb 4 03:26:20.623: Message Response Code: 200 *Feb 4 03:26:20.623: Message Rsp Decoded Headers: *Feb 4 03:26:20.623: Date:Thu, 17 May 2007 15:49:57 GMT *Feb 4 03:26:20.623: Content-Type:text/xml;charset=ISO-8859-1 *Feb 4 03:26:20.623: Connection:close *Feb 4 03:26:20.623: Set-Cookie:JSESSIONID=NULL; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/CVP *Feb 4 03:26:20.623: headers: *Feb 4 03:26:20.623: HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Set-Cookie: JSESSIONID=NULL; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/CVP Content-Type: text/xml;charset=ISO-8859-1 Date: Thu, 17 May 2007 15:49:57 GMT Connection: close *Feb 4 03:26:20.627: body: *Feb 4 03:26:20.627: <?xml version="1.0" encoding="UTF-8"?> <vxml version="2.0" xml:lang="en-us"> <catch event="vxml.session.error"> <exit /> </catch> <catch event="telephone.disconnect.hangup"> <exit /> </catch> <catch event="telephone.disconnect"> <exit /> </catch> <catch event="error.unsupported.object"> <exit /> </catch> <catch event="error.unsupported.language"> <exit /> </catch> <catch event="error.unsupported.format"> <exit /> </catch> <catch event="error.unsupported.element"> <exit /> </catch> <catch event="error.unsupported.builtin"> <exit /> </catch> <catch event="error.unsupported"> <exit /> </catch> <catch event="error.semantic"> <exit /> </catch> <catch event="error.noresource"> <exit /> </catch> <catch event="error.noauthorization"> <exit /> </catch> <catch event="error.eventhandler.notfound"> <exit /> </catch> <catch event="error.connection.noroute"> <exit /> </catch> <catch event="error.connection.noresource"> <exit /> </catch> <catch event="error.connection.nolicense"> <exit /> </catch> <catch event="error.connection.noauthorization"> <exit /> </catch> <catch event="error.connection.baddestination"> <exit /> </catch> <catch event="error.condition.baddestination"> <exit /> </catch> <catch event="error.com.cisco.media.resource.unavailable"> <exit /> </catch> <catch event="error.com.cisco.handoff.failure"> <exit /> </catch> <catch event="error.com.cisco.callhandoff.failure"> <exit /> </catch> <catch event="error.com.cisco.aaa.authorize.failure"> <exit /> </catch> <catch event="error.com.cisco.aaa.authenticate.failure"> <exit /> </catch> <catch event="error.badfetch.https"> <exit /> </catch> <catch event="error.badfetch.http"> <exit /> </catch> <catch event="error.badfetch"> <exit /> </catch> <catch event="error"> <exit /> </catch> <catch event="disconnect.com.cisco.handoff"> <exit /> </catch> <catch event="connection.disconnect.hangup"> <exit /> </catch> <catch event="connection.disconnect"> <exit /> </catch> <form> <block> <exit /> </block> </form> </vxml>
*Feb 4 03:26:28.803: //63/972590A48011/VXML:/vxml_vapp_terminate: vapp_status=0 ref_count 0 *Feb 4 03:26:28.803: //63//AFW_:/vapp_terminate: *Feb 4 03:26:28.803: //63//AFW_:/vapp_session_exit_event_name: Exit Event vxml.session.complete *Feb 4 03:26:28.803: //63//AFW_:/AFW_M_VxmlModule_Terminate: *Feb 4 03:26:28.803: //63//AFW_:/vapp_checksessionstate: *Feb 4 03:26:28.803: //63//AFW_:/vapp_checkifdone: Object: 1, Leg: 1 *Feb 4 03:26:28.803: //63/972590A48011/VXML:/pop_exec_stack: *Feb 4 03:26:28.803: pop_exec_stack: sidp->vxmlp->urip=http://172.18.110.75:7000/CVP/Server *Feb 4 03:26:28.803: //63/972590A48011/VXML:/vxml_leave_scope: scope=application *Feb 4 03:26:28.803: vxml_tree_delete:mem_mgr_mempool_free: mem_refcnt(6848EE98)= 0 - mempool cleanup *Feb 4 03:26:28.803: vxml_tree_delete:mem_mgr_mempool_free: mem_refcnt(6848CD00)= 0 - mempool cleanupnls_mem_free *Feb 4 03:26:28.803: nls_mem_free:mem_mgr_mempool_free: mem_refcnt(67651498)= 0 - mempool cleanup *Feb 4 03:26:28.803: //63/972590A48011/VXML:/vxml_session_delete: *Feb 4 03:26:28.803: vxml_session_delete:mem_mgr_mempool_free: mem_refcnt(6848CD54)= 0 - mempool cleanup *Feb 4 03:26:28.803: //63//AFW_:/vapp_checksessionstate: *Feb 4 03:26:28.803: //63//AFW_:/vapp_checkifdone: Object: 0, Leg: 0 *Feb 4 03:26:28.807: //63/972590A48011/CCAPI/ccCallDisconnect: Cause Value=16, Tag=0x0, Call Entry(Previous Disconnect Cause=0, Disconnect Cause=0) *Feb 4 03:26:28.807: //63/972590A48011/CCAPI/ccCallDisconnect: Cause Value=16, Call Entry(Responsed=TRUE, Cause Value=16)
*Feb 4 03:26:28.807: ISDN Se3/0:23 Q931: TX -> DISCONNECT pd = 8 callref = 0x8099 Cause i = 0x8090 - Normal call clearing *Feb 4 03:26:28.819: ISDN Se3/0:23 Q931: RX <- RELEASE pd = 8 callref = 0x0099 *Feb 4 03:26:28.819: ISDN Se3/0:23 Q931: TX -> RELEASE_COMP pd = 8 callref = 0x8099
*Feb 4 03:26:28.823: //-1//RTSP:/rtsplib_send_teardown: *Feb 4 03:26:28.823: ######################################## *Feb 4 03:26:28.823: Request *Feb 4 03:26:28.823: TEARDOWN rtsp://10.86.177.39/recognizer RTSP/1.0 CSeq: 62 Session: 27b1560a_00000748_464c95e8_000b_0000 *Feb 4 03:26:28.975: //-1//RTSP:/rtsp_process_single_svr_resp: *Feb 4 03:26:28.975: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 62 Session: 27b1560a_00000748_464c95e8_000b_0000
*Feb 4 03:26:28.823: //-1//RTSP:/rtsp_partial_socket_send: *Feb 4 03:26:28.823: rtsp_partial_socket_send: (fd:0 len:111) 400 bytes of data: TEARDOWN rtsp://10.86.177.39/synthesizer RTSP/1.0 CSeq: 63 Session: 27b1560a_00000748_464c95e8_000b_0000 *Feb 4 03:26:28.979: rtsp_process_single_svr_resp: 400 bytes of data: RTSP/1.0 200 OK CSeq: 63 Session: 27b1560a_00000748_464c95e8_000b_0000