El Lenguaje de marcado extensible de la voz (VXML) es una norma establecida por el World Wide Web Consortium (W3C). El VXML se ha diseñado para crear diálogos audio que proporcionen habla sintetizada, reconocimiento de las palabras habladas, reconocimiento de dígitos DTMF y grabaciones del audio hablado. El servidor y los clientes VXML utilizan el conocido protocolo HTTP para intercambiar documentos y páginas VXML.
Cisco Voice Portal (CVP) ofrece aplicaciones de respuesta de voz (IVR) inteligentes e interactivas a las que se puede acceder a través del teléfono. Hay tres tipos de implementaciones de CVP:
Servicio independiente
Control de llamadas CVP
Cola de llamadas y transferencia
Los servidores de texto a voz (TTS) y reconocimiento automático de voz (ASR) proporcionan voz sintetizada, reconocimiento de palabras habladas o funciones de dígitos DTMF. La puerta de enlace VXML de Cisco IOS® se comunica con los servidores TTS y ASR mediante el protocolo de control de recursos multimedia (MRCP). Hay dos versiones de MRCP (RFC 4463), a saber, MRCPv1 (MRCP sobre RTSP) y MRCPv2 (MRCP sobre SIP).
Este documento describe el flujo de llamadas de una puerta de enlace XML de voz de Cisco IOS a una llamada CVP en una implementación de Servicio autónomo que utiliza servidores MRCPv1 TTS o ASR. Se implementó una aplicación de farmacia de ejemplo en el servidor CVP VXML.
No hay requisitos específicos para este documento.
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
Gateway VXML de IOS: Cisco AS5400XM, IOS 12.4(11)T2
Servidor VXML: CVP 4.0
Servidor ASR/TTS: Nuance ASR v8.5 y TTS v4.0.6
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
En esta sección encontrará la información para configurar las funciones descritas en este documento.
Nota: Use la Command Lookup Tool (sólo clientes registrados) para obtener más información sobre los comandos utilizados en este documento.
En este documento, se utiliza esta configuración de red:
Este documento usa esta configuración:
Configuración de gateway 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 |
En esta sección se describe el flujo de llamada que resulta de este ejemplo de configuración.
Una llamada ISDN llega a la puerta de enlace PSTN/VXML a través de T1 PRI 3/0.
La puerta de enlace del IOS coincide con el par de marcado POTS 1 como el par de marcado entrante para esta llamada.
La puerta de enlace del IOS deja el control de llamada en el servicio de farmacia asociado al par de marcado 1.
El script VXML / TCL de CVP asociado al servicio Farmacia envía una solicitud GET HTTP al servidor VXML.
El servidor VXML devuelve una respuesta de 200 OK. Esta respuesta contiene un documento o una página VXML.
La puerta de enlace del IOS ejecuta el documento VXML.
Si el documento VXML especifica una dirección URL para un mensaje de audio, la puerta de enlace del IOS descarga el archivo de audio y reproduce el mensaje.
Si el documento VXML especifica un texto para un mensaje de audio, la puerta de enlace del IOS establece una sesión RTSP con rtsp://10.86.177.39/synthesizer (servidor TTS). Después de establecer la sesión RTSP, la puerta de enlace y el servidor TTS intercambian mensajes MRCP como SPEAK, SPEAK-COMPLETE mediante la solicitud de ANUNCIA RTSP.
El servidor TTS envía el flujo de audio RTP G.711ulaw a la dirección IP y al número de puerto UDP proporcionado por la puerta de enlace en el encabezado "Transport" de la solicitud RTSP SETUP.
Si el documento VXML especifica la puerta de enlace para reconocer dígitos DTMF y palabras habladas, la puerta de enlace del IOS establece una sesión RTSP con rtsp://10.86.177.39/recognizer (servidor ASR). Después de establecer la sesión RTSP, la puerta de enlace y el servidor ASR intercambian mensajes MRCP tales como DEFINE GRAMMAR, COMPLETE, RECONOZCA, RECONOCIENDO COMPLETE usando la solicitud de ANUNCIA RTSP.
La gateway VXML del IOS envía el flujo de audio RTP G.711ulaw a la dirección IP y al número de puerto UDP proporcionado por el ASR en el SDP de la respuesta RTSP 200 OK. La gateway VXML del IOS envía los dígitos introducidos por el usuario PSTN como eventos RTP-NTE al servidor ASR.
Después de la ejecución del documento VXML, la puerta de enlace envía una solicitud HTTP POST (con un conjunto de parámetros) como se especifica en la etiqueta <Submit> del documento o página VXML.
Los pasos 6 - 10 se producen para cada documento VXML enviado por el servidor.
Cuando la aplicación VXML finaliza el servicio proporcionado a la persona que llama, envía un documento VXML con sólo una etiqueta <exit/> dentro del elemento <form>.
La puerta de enlace del IOS desconecta las sesiones MRCPv1 establecidas con los servidores TTS y ASR.
La puerta de enlace del IOS desconecta la llamada en el lado ISDN.
Use esta sección para confirmar que su configuración funciona correctamente.
La herramienta Output Interpreter Tool (clientes registrados solamente) (OIT) soporta ciertos comandos show. Utilice la OIT para ver un análisis del resultado del comando show.
show call active voice brief
11E7 : 63 4728960ms.1 +0 pid:1 Answer 5555 active dur 00:00:31 tx:920/179920 rx:880/211200 Tele 3/0:D (63) [3/0.1] tx:4600/4600/0ms None noise:-80 acom:51 i/0:-79/-27 dBm Telephony call-legs: 1 SIP call-legs: 0 H323 call-legs: 0 Call agent controlled call-legs: 0 SCCP call-legs: 0 Multicast call-legs: 0 Total call-legs: 1
show mrcp client session active detail
No Of Active MRCP Sessions: 1 Call-ID: 0x3F same: 1 Resource Type: Synthesizer URL: rtsp://10.86.177.39/synthesizer Method In Progress: SPEAK State: SPEAKING Resource Type: Recognizer URL: rtsp://10.86.177.39/recognizer Method In Progress: RECOGNIZE State: RECOGNIZING ############################################################
show voip rtp connections
VoIP RTP active connections : No. CallId dstCallId LocalRTP RmtRTP LocalIP RemoteIP 1 66 63 17704 1224 172.18.110.77 10.86.177.39
show http client cache
HTTP Client cached information ============================== Maximum memory pool allowed for HTTP Client caching = 15000 K-bytes Maximum file size allowed for caching = 500 K-bytes Total memory used up for Cache = 410 Bytes Message response timeout = 10 secs Total cached entries = 1 Total non-cached entries = 0 Cached entries ============== entry 114, 1 entries Ref FreshTime Age Size context --- --------- --- ---- ------- 1 119524 31 1271 0 url: http://172.18.110.75/Welcome-1.wav
Use esta sección para resolver problemas de configuración.
Configure la puerta de enlace del IOS para registrar las depuraciones en su búfer de registro y desactivar la consola de registro.
Nota: Consulte Información Importante sobre Comandos Debug antes de utilizar los comandos debug.
Estos son los comandos que se utilizan para configurar la puerta de enlace para almacenar las depuraciones en el búfer de registro de la puerta de enlace:
service timestamps debug datetime msec
secuencia de servicio
no logging console
logging buffered 5000000 debug
clear log
debug isdn q931
debug voip ccapi inout
debug voip application vxml default
debug voip application vxml dump
debug rtsp all
debug mrcp all
debug http client all
debug voip rtp session nte named-event
Esta sección proporciona resultados de depuración para este flujo de llamada de ejemplo:
La puerta de enlace coincide con el par de marcado 1 entrante
La puerta de enlace inicia la ejecución del script CVPSelfServiceBootstrap.vxml VoiceXML
La puerta de enlace envía una solicitud GET HTTP al servidor VXML
La puerta de enlace recibe un mensaje de 200 OK del servidor VXML
La puerta de enlace recibe 200 OK por su solicitud HTTP POST
La puerta de enlace recibe una respuesta de 200 OK para la solicitud HTTP POST
Gateway crea los Grammars que se utilizarán para el reconocimiento de voz/DTMF
La puerta de enlace envía una solicitud RTSP SETUP al servidor ASR
La puerta de enlace recibe una respuesta de 200 OK del servidor ASR
La puerta de enlace recibe 200 respuestas COMPLETAS para su solicitud DEFINE-GRAMMAR
La puerta de enlace envía una solicitud de "RECONOCIMIENTO" MRCP al servidor ASR
El servidor ASR envía una respuesta IN-PROGRESS a la solicitud RECOGNIZE
La puerta de enlace envía una solicitud RTSP SETUP al servidor TTS
El servidor TTS envía una respuesta "EN CURSO" para la solicitud SPEAK
La puerta de enlace envía una respuesta de 200 OK a la solicitud de anuncio de MRCP
El servidor VXML envía páginas VXML para recopilar el número de prescripción, el tiempo de recogida e informar a la persona que llama de que la prescripción estará lista para la recogida. La puerta de enlace ejecuta estas páginas interactuando con el servidor TTS y ASR (no se muestran los resultados de depuración).
La puerta de enlace desconecta la sesión RTSP establecida con el servidor ASR
La puerta de enlace desconecta la sesión RTSP establecida con el servidor TTS
*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
El cuerpo del mensaje de esta respuesta contiene un documento VXML (1). El documento VXML indica a la puerta de enlace que reproduzca el archivo de medios denominado Welcome-1.wav ubicado en un servidor de medios
*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
El cuerpo del mensaje contiene un documento VXML (2). El documento VXML indica a la puerta de enlace que reproduzca "Buenos días y gracias por llamar a la farmacia Audium.
Nota: Un servidor de texto a voz debe sintetizar este mensaje.
*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
El cuerpo del mensaje contiene el documento VXML (3). Este documento VXML define un mensaje de Menú que indica al autor de la llamada que introduzca 1 o diga Refills, introduzca 2 o diga farmacéutico. Un servidor TTS sintetiza los mensajes. Las entradas (voz / dtmf) se reconocen mediante un 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>
Estos gramáticas se envían luego al servidor ASR una vez que la puerta de enlace establece una sesión RTSP con el servidor 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
El SDP de la respuesta 200 OK contiene la dirección IP del servidor ASR y el número de puerto UDP al que el gateway necesita enviar paquetes RTP.
*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
Aquí sólo se muestra una solicitud:
*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
Esta solicitud POST informa al servidor VXML que el usuario ha seleccionado la opción "Relleno".
*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
Esto indica a la puerta de enlace que finalice la sesión 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