Contenido

Introducción

prerrequisitos

Componentes Utilizados

Información de Backgroud

Mensajes VVB

Paso 1. El SORBO de los recevies VVB INVITA del CVP y de los mensajes del SORBO del intercambio de los finales.

Paso 2. VVB trae bootstrap.vxml localmente.

Paso 3. VVB envía CALL_NEW al CVP.

Paso 4. Un nuevo TCP conecta VVB con el servidor del CVP VXML y llama en el CVP la aplicación.

Paso 5. VVB llama en la aplicación y consigue el documento VXML.

Paso 6. VVB envía la interrogación del POSTE para el archivo de audio.

Paso 7. VVB trae el archivo de audio y marca si se modifica el archivo de audio.

Paso 8. VVB juega el archivo de audio.

Paso 9. VVB envía interrogación del POSTE después con éxito del GET el archivo de audio y cierra a esta sesión TCP.

Paso 10. VVB recibe el ADIÓS del CVP y acaba esta llamada.

Introducción

Este documento describe el flujo de mensajes en Cisco virtualizó al buscador de voz (VVB) con el flujo de llamada comphrensive.

Prerrequisitos

No hay requisitos específicos para este documento.

Componentes Utilizados

- Versión 11.6 VVB

- Versión 11.6 del Cisco Unified Customer Voice Portal (CVP)

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si su red está viva, asegúrese de que usted entienda el impacto potencial del comando any

Información de Backgroud

Flujo de llamada:

Gateway de ingreso > CVP > Intelligent Contact Management (ICM) > escritura de la etiqueta > CVP > VVB de la vuelta VRU

Tal y como se muestra en de la imagen, es el flujo de llamada completo.

Tal y como se muestra en de la imagen, este documento se centra más en los mensajes de parte de VVB.

Mensajes VVB

Paso 1. El SORBO de los recevies VVB INVITA del CVP y de los mensajes del SORBO del intercambio de los finales.

256317: Oct 23 10:10:36.668 AEST %MIVR-JASMIN-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] NEW_CALL, GUCID=B42C468000010000000000650851430A; GUID=3022800512-0000065536-0000000101-0139543306; CallId=B42C468000010000000000650851430A-150871535521622@10.66.75.49; URI=sip:888811111139@10.66.75.62;transport=tls

256334: Oct 23 10:10:36.719 AEST %MIVR-JASMIN-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] SIP-ltp92-88881111*, State=ALERTED: Sending 200 OK response.

256335: Oct 23 10:10:36.785 AEST %MIVR-JASMIN-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] SIP-ltp92-88881111*, State=ALERTED: Processing ACK

Paso 2. VVB trae bootstrap.vxml localmente.

256398: Oct 23 10:10:36.794 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Fetch:    file:/opt/cisco/uccx/Documents/System/bootstrap.vxml

256401: Oct 23 10:10:36.795 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Successfully fetched bytes: 0, duration(s): 0.001, URI: file:/opt/cisco/uccx/Documents/System/bootstrap.vxml

Paso 3. VVB envía CALL_NEW al CVP.

Entonces el CVP envía al ICM: REQUEST_INSTRUCTION, ICM entonces pasa la Información de la aplicación al CVP.

256469: Oct 23 10:10:36.809 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Browser.makeRequest(): got encoded uri=http://10.66.75.49:7000/CVP/Server?MSG_TYPE=CALL_NEW&CALL_DNIS=888811111139&CALL_ANI=sip%3A60006099%4010.66.75.49%3A5061%3Btransport%3Dtls&ERROR_CODE=0&RECOVERY_VXML=crtp%3A%2FSDocuments%2FRecovery.vxml&CLIENT_TYPE=IOS&CALL_ID=B42C468000010000000000650851430A&CALL_LEGID=B42C468000010000000000650851430A-150871535521622%4010.66.75.49&CALL_UUI=&VERSION=Voice_Browser_11_6&PRIMARY=10.66.75.49

Captura de paquetes:  [PSH, ACK] VVB al CVP (puerto 7000)

GET /CVP/Server?MSG_TYPE=CALL_NEW&CALL_DNIS=888811111139&CALL_ANI=sip%3A60006099%4010.66.75.49%3A5061%3Btransport%3Dtls&ERROR_CODE=0&RECOVERY_VXML=crtp%3A%2FSDocuments%2FRecovery.vxml&CLIENT_TYPE=IOS&CALL_ID=B42C468000010000000000650851430A&CALL_LEGID=B42C468000010000000000650851430A-150871535521622%4010.66.75.49&CALL_UUI=&VERSION=Voice_Browser_11_6&PRIMARY=10.66.75.49 HTTP/1.1

User-Agent: Cisco Voice Browser/1.0 (Cache activated)

Accept: text/vxml, application/vxml, application/vxml+xml, *; q=.2, */*; q=.2

Host: 10.66.75.49:7000

Connection: keep-alive

VVB recibe la AUTORIZACIÓN 200 para la BÚSQUEDA:   CVP del [PSH, ACK] (puerto 7000) a VVB

256475: Oct 23 10:10:36.853 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Fetch: HTTP 200 OK

Captura de paquetes:

HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Transfer-Encoding: chunked

Date: Sun, 22 Oct 2017 23:35:55 GMT

VVB traen con éxito, y consiguen la Información de la aplicación del CVP

src="http://10.66.75.48:7000/CVP/en-us/../Server" namelist="application callid _dnis _ani "

<var name="application" expr="'HelloWorld'"

256479: Oct 23 10:10:36.853 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Successfully fetched bytes: 0, duration(s): 0.044, URI: http://10.66.75.49:7000/CVP/Server?MSG_TYPE=CALL_NEW&CALL_DNIS=888811111139&CALL_ANI=sip%3A60006099%4010.66.75.49%3A5061%3Btransport%3Dtls&ERROR_CODE=0&RECOVERY_VXML=crtp%3A%2FSDocuments%2FRecovery.vxml&CLIENT_TYPE=IOS&CALL_ID=B42C468000010000000000650851430A&CALL_LEGID=B42C468000010000000000650851430A-150871535521622%4010.66.75.49&CALL_UUI=&VERSION=Voice_Browser_11_6&PRIMARY=10.66.75.49

El CVP envía el documento VXML:  CVP del [ACK] (puerto 7000) a VVB

256480: Oct 23 10:10:36.856 AEST %MIVR-SS_VB-7-UNK:Content of VXML Document:

<?xml version="1.0" encoding="iso-8859-1"?>

<vxml version="2.0">

<var name="MSG_TYPE" expr="'CALL_RESULT'" />

<var name="CALL_ID" expr="'B42C468000010000000000650851430A'" />

<var name="CALL_SEQ_NUM" expr="1" />

<var name="ERROR_CODE" expr="0" />

<var name="CALLCED" />

<var name="FROM_EXTVXML0" />

<var name="FROM_EXTVXML1" />

<var name="FROM_EXTVXML2" />

<var name="FROM_EXTVXML3" />

<var name="PODID" />

<var name="DEBUG" expr="1" />

<property name="com.cisco.media-logging-id" value="'B42C468000010000000000650851430A'" />

<property name="fetchaudiodelay" value="2s" />

<property name="fetchaudiominimum" value="5s" />

<form id="GS" scope="dialog">

<property name="com.cisco.tts-server" value="rtsp://tts-en-us/synthesizer"/>

<property name="com.cisco.asr-server" value="rtsp://asr-en-us/recognizer"/>

<var name="application" expr="'HelloWorld'"/>

<var name="callid" expr="'B42C46800001000000000065085143'"/>

<var name="_dnis" expr="'7001'"/>

<var name="_ani" expr="'60006099'"/>

<subdialog name="Server"  src="http://10.66.75.48:7000/CVP/en-us/../Server" namelist="application callid _dnis _ani ">

<filled>

<assign name="document.FROM_EXTVXML0" expr="Server.FromExtVXML0"/>

<assign name="document.FROM_EXTVXML1" expr="Server.FromExtVXML1"/>

<assign name="document.FROM_EXTVXML2" expr="Server.FromExtVXML2"/>

<assign name="document.FROM_EXTVXML3" expr="Server.FromExtVXML3"/>

<assign name="document.PODID" expr="Server.PodId"/>

<assign name="document.CALLCED" expr="Server.caller_input"/>

<if cond="Server.caller_input == 'system_unavailable'">

<assign name="ERROR_CODE" expr="40"/>

<elseif cond="Server.caller_input == 'app_error'"/>

<assign name="ERROR_CODE" expr="41"/>

<elseif cond="Server.caller_input == 'app_hangup'"/>

<assign name="ERROR_CODE" expr="42"/>

<elseif cond="Server.caller_input == 'suspended'"/>

<assign name="ERROR_CODE" expr="43"/>

<elseif cond="Server.caller_input == 'no_session_error'"/>

<assign name="ERROR_CODE" expr="44"/>

</if>

<goto next="#TrySubmit"/>

</filled>

</subdialog>

<!-- Event Handling -->

<catch event="telephone.disconnect.hangup">

<assign name="ERROR_CODE" expr="1"/>

<goto next="#TrySubmit"/>

</catch>

<catch event="connection.disconnect.hangup">

<assign name="ERROR_CODE" expr="1"/>

<goto next="#TrySubmit"/>

</catch>

<catch event="telephone.disconnect">

<assign name="ERROR_CODE" expr="1"/>

<goto next="#TrySubmit"/>

</catch>

<catch event="connection.disconnect">

<assign name="ERROR_CODE" expr="1"/>

<goto next="#TrySubmit"/>

</catch>

<catch event="error.badfetch">

<assign name="ERROR_CODE" expr="9"/>

<if cond="DEBUG == '1'">

<log> Media Fetch Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

<catch event="com.audium.error.badfetch">

<assign name="ERROR_CODE" expr="45"/>

<if cond="DEBUG == '1'">

<log> Media Fetch Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

<catch event="error.semantic">

<assign name="ERROR_CODE" expr="10"/>

<if cond="DEBUG == '1'">

<log> Semantic Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

<catch event = "error.unsupported.format">

<assign name="ERROR_CODE" expr="11"/>

<if cond="DEBUG == '1'">

<log> Unsupported Format Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

<catch event = "error.unsupported.element">

<assign name="ERROR_CODE" expr="12"/>

<if cond="DEBUG == '1'">

<log> Unsupported Element Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

<catch event="nomatch">

<assign name="ERROR_CODE" expr="16" />

<goto next="#TrySubmit"/>

</catch>

<noinput>

<assign name="ERROR_CODE" expr="17" />

<goto next="#TrySubmit"/>

</noinput>

<catch event="com.cisco.isn.session.disconnect.abnormal">

<assign name="ERROR_CODE" expr="27"/>

<goto next="#TrySubmit"/>

</catch>

<catch event="telephone.disconnect.hangup.forced">

<assign name="ERROR_CODE" expr="27"/>

<goto next="#TrySubmit"/>

</catch>

<catch event = "com.cisco.isn.session.disconnect.error">

<assign name="ERROR_CODE" expr="28"/>

<goto next="#TrySubmit"/>

</catch>

<catch event="error.unsupported.language">

<assign name="ERROR_CODE" expr="30"/>

<if cond="DEBUG == '1'">

<log> Unsupported Language Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

<catch event = "error.com.cisco.media.resource.unavailable.asr">

<assign name="ERROR_CODE" expr="31"/>

<if cond="DEBUG == '1'">

<log> ASR Media Resource Unavailable Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

<catch event = "error.com.cisco.media.resource.unavailable.tts">

<assign name="ERROR_CODE" expr="32"/>

<if cond="DEBUG == '1'">

<log> TTS Media Resource Unavailable Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

<catch event = "error.com.cisco.media.resource.failure.asr">

<assign name="ERROR_CODE" expr="31"/>

<if cond="DEBUG == '1'">

<log> ASR Media Resource Failure Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

<catch event = "error.com.cisco.media.resource.failure.tts">

<assign name="ERROR_CODE" expr="32"/>

<if cond="DEBUG == '1'">

<log> TTS Media Resource Failure Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

<catch event = "error.com.cisco.media.resource">

<assign name="ERROR_CODE" expr="33"/>

<if cond="DEBUG == '1'">

<log> General Media Resource Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

<catch event = "error">

<assign name="ERROR_CODE" expr="34"/>

<if cond="DEBUG == '1'">

<log> General Error: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="#TrySubmit"/>

</catch>

</form>

<form id="TrySubmit">

<var name="TryNum" expr="1" />

<var name="MaxTries" expr="1" />

<!--Event Handling -->

<catch event="error.badfetch">

<if cond="TryNum == MaxTries">

<if cond="DEBUG == '1'">

<log> Error: Exceeded Retries to Application Server.  Going to Recovery VXML: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="crtp:/SDocuments/Recovery.vxml"/>

</if>

<assign name="TryNum" expr="TryNum + 1"/>

<if cond="DEBUG == '1'">

<log> Retrying Application Server: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<submit next= "/CVP/Server"

namelist="MSG_TYPE CALL_ID CALL_SEQ_NUM ERROR_CODE CALLCED FROM_EXTVXML0 FROM_EXTVXML1 FROM_EXTVXML2 FROM_EXTVXML3 PODID" fetchtimeout="7s"/>

</catch>

<catch event = "error">

<if cond="DEBUG == '1'">

<log> General Error encountered when trying to contact Application Server.  Going to Recovery VXML: CallID: <value expr="CALL_ID"/>

: CallSeqNum: <value expr="CALL_SEQ_NUM"/>

</log>

</if>

<goto next="crtp:/SDocuments/Recovery.vxml"/>

</catch>

<catch event="telephone.disconnect.hangup">

<assign name="ERROR_CODE" expr="1"/>

<submit next= "/CVP/Server"

namelist="MSG_TYPE CALL_ID CALL_SEQ_NUM ERROR_CODE CALLCED FROM_EXTVXML0 FROM_EXTVXML1 FROM_EXTVXML2 FROM_EXTVXML3 PODID" fetchtimeout="7s"/>

</catch>

<catch event="connection.disconnect.hangup">

<assign name="ERROR_CODE" expr="1"/>

<submit next= "/CVP/Server"

namelist="MSG_TYPE CALL_ID CALL_SEQ_NUM ERROR_CODE CALLCED FROM_EXTVXML0 FROM_EXTVXML1 FROM_EXTVXML2 FROM_EXTVXML3 PODID" fetchtimeout="7s"/>

</catch>

<!--submit next block -->

<block>

<submit next= "/CVP/Server"

namelist="MSG_TYPE CALL_ID CALL_SEQ_NUM ERROR_CODE CALLCED FROM_EXTVXML0 FROM_EXTVXML1 FROM_EXTVXML2 FROM_EXTVXML3 PODID" fetchtimeout="7s"/>

</block>

</form>

</vxml>

Paso 4. Un nuevo TCP conecta VVB con el servidor del CVP VXML y llama en el CVP la aplicación.

256573: Oct 23 10:10:36.871 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Fetch:    http://10.66.75.48:7000/CVP/en-us/../Server?application=HelloWorld&callid=B42C46800001000000000065085143&_dnis=7001&_ani=60006099

Captura de paquetes:    [PSH, ACK] VVB al puerto del CVP [7000]:

GET /CVP/en-us/../Server?application=HelloWorld&callid=B42C46800001000000000065085143&_dnis=7001&_ani=60006099 HTTP/1.1

User-Agent: Cisco Voice Browser/1.0 (Cache activated)

Accept: text/vxml, application/vxml, application/vxml+xml, *; q=.2, */*; q=.2

Host: 10.66.75.48:7000

Connection: keep-alive

El CVP envía la AUTORIZACIÓN 200 a VVB:   CVP del [PSH, ACK] (PUERTO 7000) a VVB

256576: Oct 23 10:10:36.881 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Fetch: HTTP 200 OK

Captura de paquetes:

HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Set-Cookie: JSESSIONID=32868A579F1F48F50A6CC362EBF3F256; Path=/CVP/; HttpOnly

Content-Type: text/xml;charset=UTF-8

Transfer-Encoding: chunked

Date: Sun, 22 Oct 2017 23:35:55 GMT

El CVP envía el documento VXML: calling_into=HelloWorld

256581: Oct 23 10:10:36.881 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Successfully fetched bytes: 0, duration(s): 0.01, URI: http://10.66.75.48:7000/CVP/en-us/../Server?application=HelloWorld&callid=B42C46800001000000000065085143&_dnis=7001&_ani=60006099

http://10.66.75.48:7000/CVP/en-us/../Server?application=HelloWorld&callid=B42C46800001000000000065085143&_dnis=7001&_ani=60006099

256582: Oct 23 10:10:36.881 AEST %MIVR-SS_VB-7-UNK:Content of VXML Document:

<?xml version="1.0" encoding="UTF-8"?>

<vxml version="2.0" application="/CVP/Server?audium_root=true&amp;calling_into=HelloWorld">

<catch event="error">

<var name="audium_action" expr="'custom_disconnect'" />

<var name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action" />

</catch>

<form>

<block>

<assign name="audium_vxmlLog" expr="''" />

<submit next="/CVP/Server" method="post" namelist="audium_vxmlLog" />

</block>

</form>

</vxml>

Paso 5. VVB llama en la aplicación y consigue el documento VXML.

256606: Oct 23 10:10:36.884 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Browser.makeRequest(): got encoded uri=http://10.66.75.48:7000/CVP/Server?audium_root=true&calling_into=HelloWorld

Captura de paquetes:  [PSH, ACK] VVB al CVP (PUERTO 7000)

GET /CVP/Server?audium_root=true&calling_into=HelloWorld HTTP/1.1

Cookie: JSESSIONID=32868A579F1F48F50A6CC362EBF3F256; HttpOnly=

User-Agent: Cisco Voice Browser/1.0 (Cache activated)

Accept: text/vxml, application/vxml, application/vxml+xml, *; q=.2, */*; q=.2

Host: 10.66.75.48:7000

Connection: keep-alive

El CVP envía la AUTORIZACIÓN 200

256613: Oct 23 10:10:36.896 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Fetch: HTTP 200 OK

Captura de paquetes:   CVP del [PSH, ACK] a VVB

HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Content-Type: text/xml;charset=UTF-8

Transfer-Encoding: chunked

Date: Sun, 22 Oct 2017 23:35:55 GMT

El CVP envía el documento VXML:    CVP del [ACK] (puerto 7000) a VVB

256617: Oct 23 10:10:36.896 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Successfully fetched bytes: 0, duration(s): 0.012, URI: http://10.66.75.48:7000/CVP/Server?audium_root=true&calling_into=HelloWorld

256618: Oct 23 10:10:36.901 AEST %MIVR-SS_VB-7-UNK:Content of VXML Document:

<?xml version="1.0" encoding="UTF-8"?>

<vxml version="2.0">

<script><![CDATA[function getElapsedTime(startTime)

{

var numMilliseconds = new Date().getTime();

return numMilliseconds - startTime;

}]]></script>

<property name="universals" value="help" />

<var name="audium_vxmlLog" expr="''" />

<var name="audium_element_start_time_millisecs" expr="0" />

<var name="cisco_vxml_error_count" expr="0" />

<var name="audium_type" />

<catch event="vxml.session.error">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="telephone.disconnect.transfer">

<var name="audium_action" expr="'call_transfer'" />

<assign name="audium_type" expr="'telephone.disconnect.transfer'" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_action audium_vxmlLog" />

</catch>

<catch event="telephone.disconnect.hangup">

<var name="audium_action" expr="'hangup'" />

<assign name="audium_type" expr="'telephone.disconnect'" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_action audium_vxmlLog" />

</catch>

<catch event="telephone.disconnect">

<var name="audium_action" expr="'hangup'" />

<assign name="audium_type" expr="'telephone.disconnect'" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_action audium_vxmlLog" />

</catch>

<catch event="help">

<throw event="nomatch" />

</catch>

<catch event="error.unsupported.object">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.unsupported.language">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.unsupported.format">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.unsupported.element">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.unsupported.builtin">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.unsupported">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.semantic">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.noauthorization">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.eventhandler.notfound">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.connection.noroute">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.connection.noresource">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.connection.nolicense">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.connection.noauthorization">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.connection.baddestination">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.condition.baddestination">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.com.cisco.resource.failure.tts">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.com.cisco.resource.failure.asr">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.com.cisco.media.resource.unavailable">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.com.cisco.handoff.failure">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.com.cisco.callhandoff.failure">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.com.cisco.aaa.authorize.failure">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.com.cisco.aaa.authenticate.failure">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.badfetch.https">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.badfetch.http">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error.badfetch">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="error">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="disconnect.com.cisco.handoff">

<if cond=" ( cisco_vxml_error_count &gt;= 3 ) ">

<var name="caller_input" expr="'system_unavailable'" />

<return namelist="caller_input" />

</if>

<var name="audium_action" expr="'error'" />

<assign name="audium_type" expr="_event" />

<var name="audium_message" expr="_message" />

<assign name="cisco_vxml_error_count" expr="cisco_vxml_error_count + 1" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_message audium_action audium_vxmlLog" />

</catch>

<catch event="connection.disconnect.transfer">

<var name="audium_action" expr="'call_transfer'" />

<assign name="audium_type" expr="'connection.disconnect.transfer'" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_action audium_vxmlLog" />

</catch>

<catch event="connection.disconnect.hangup">

<var name="audium_action" expr="'hangup'" />

<assign name="audium_type" expr="'connection.disconnect'" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_action audium_vxmlLog" />

</catch>

<catch event="connection.disconnect">

<var name="audium_action" expr="'hangup'" />

<assign name="audium_type" expr="'connection.disconnect'" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_action audium_vxmlLog" />

</catch>

<catch event="com.audium.vxml.event">

<var name="audium_action" expr="'vxml_event'" />

<var name="audium_error" expr="_message" />

<assign name="audium_type" expr="_message" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_error audium_action" />

</catch>

<catch event="com.audium.error">

<var name="audium_action" expr="'custom_disconnect'" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_action" />

</catch>

<catch event="com.audium.disconnect">

<var name="audium_action" expr="'custom_disconnect'" />

<assign name="audium_type" expr="'disconnect.audium'" />

<submit next="/CVP/Server" method="post" namelist="audium_type audium_action" />

</catch>

</vxml

Paso 6. VVB envía la interrogación del POSTE para el archivo de audio.

256695: Oct 23 10:10:36.914 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Fetch:    http://10.66.75.48:7000/CVP/Server

256696: Oct 23 10:10:36.914 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Setting cookie : JSESSIONID=32868A579F1F48F50A6CC362EBF3F256; HttpOnly=

Captura de paquetes:   [PSH, ACK] VVB al CVP (puerto 7000)

POST /CVP/Server HTTP/1.1

User-Agent: Cisco Voice Browser/1.0

Accept: text/vxml, application/vxml, application/vxml+xml, *; q=.2, */*; q=.2

Content-Type: application/x-www-form-urlencoded

Cookie: JSESSIONID=32868A579F1F48F50A6CC362EBF3F256; HttpOnly=

Host: 10.66.75.48:7000

Connection: keep-alive

Content-Length: 15

El CVP envía la AUTORIZACIÓN VVB 200

Captura de paquetes:  CVP del [PSH, ACK] a VVB

audium_vxmlLog=HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Content-Type: text/xml;charset=UTF-8

Transfer-Encoding: chunked

Date: Sun, 22 Oct 2017 23:35:55 GM

El CVP envía al resultado de la consulta del POSTE del contenido VVB con la trayectoria audio del nombre del archivo y de la fuente.

<audio src="https://www.cisco.com/CVP/audio/helloworld_audio.wav">You have successfully installed the Cisco Unified V X M L server.</audio>

Registros VVB:

256714: Oct 23 10:10:36.919 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Successfully fetched bytes: 0, duration(s): 0.005, URI: http://10.66.75.48:7000/CVP/Server

256716: Oct 23 10:10:36.919 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Content of POST query:

audium_vxmlLog=

256717: Oct 23 10:10:36.920 AEST %MIVR-SS_VB-7-UNK:Content of VXML Document:

<?xml version="1.0" encoding="UTF-8"?>

<vxml version="2.0" application="/CVP/Server?audium_root=true&amp;calling_into=HelloWorld">

<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="https://www.cisco.com/CVP/audio/helloworld_audio.wav">You have successfully installed the Cisco Unified V X M L server.</audio>

</prompt>

<assign name="audium_vxmlLog" expr="audium_vxmlLog + '|||audio_group$$$' + 'initial_audio_group' + '^^^' + application.getElapsedTime(audium_element_start_time_millisecs)" />

<submit next="/CVP/Server" method="post" namelist="audium_vxmlLog" />

</block>

</form>

</vxml>

Paso 7. VVB trae el archivo de audio y marca si se modifica el archivo de audio.

Si-Ninguno-coincidencia: El W/"68192-1468638242000" (de la captura de paquetes)

Registros VVB:

256798: Oct 23 10:10:36.923 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Fetch:    http://10.66.75.48:7000/CVP/audio/helloworld_audio.wav

Captura de paquetes:  [PSH, ACK] VVB al CVP (puerto 7000)

GET /CVP/audio/helloworld_audio.wav HTTP/1.1

Cookie: JSESSIONID=32868A579F1F48F50A6CC362EBF3F256; HttpOnly=

User-Agent: Cisco Voice Browser/1.0 (Cache activated)

Accept: *, */*

If-None-Match: W/"68192-1468638242000"

Cache-Control: max-age=0

Host: 10.66.75.48:7000

Connection: keep-alive

If-Modified-Since: Sat, 16 Jul 2016 03:04:02 GMT

Paquete del paquete:  El CVP a VVB confirma el archivo de audio no fue modificado

HTTP/1.1 304 Not Modified (from packet capture)

HTTP Response is from Cache (VVB log )

Registros VVB:

256800: Oct 23 10:10:36.931 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Fetch: HTTP 200 OK

256801: Oct 23 10:10:36.931 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Browser.processHttpResponse() hc is CachedHttpURLConnection

256802: Oct 23 10:10:36.931 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Fetch: HTTP Response is from Cache

Captura de paquetes:   CVP del [PSH, ACK] a VVB

HTTP/1.1 304 Not Modified

Server: Apache-Coyote/1.1

ETag: W/"68192-1468638242000"

Date: Sun, 22 Oct 2017 23:35:55 GMT

Paso 8. VVB juega el archivo de audio.

256805: Oct 23 10:10:36.931 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Play:     http://10.66.75.48:7000/CVP/audio/helloworld_audio.wav

Paso 9. VVB envía interrogación del POSTE después con éxito del GET el archivo de audio y cierra a esta sesión TCP.

256828: Oct 23 10:10:36.933 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Browser.makeRequest(): else branch

256829: Oct 23 10:10:36.934 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Fetch:    http://10.66.75.48:7000/CVP/Server

Captura de paquetes:   [PSH, ACK] VVB al CVP (puerto 7000)

POST /CVP/Server HTTP/1.1

User-Agent: Cisco Voice Browser/1.0

Accept: text/vxml, application/vxml, application/vxml+xml, *; q=.2, */*; q=.2

Content-Type: application/x-www-form-urlencoded

Cookie: JSESSIONID=32868A579F1F48F50A6CC362EBF3F256; HttpOnly=

Host: 10.66.75.48:7000

Connection: keep-alive

Content-Length: 74

audium_vxmlLog=%7C%7C%7Caudio_group%24%24%24initial_audio_group%5E%5E%5E11

El CVP envía a la AUTORIZACIÓN VVB 200

Captura de paquetes: CVP del [PSH, ACK] (puerto 7000) a VVB

200 OK

Server: Apache-Coyote/1.1

Content-Type: text/xml;charset=UTF-8

Transfer-Encoding: chunked

Date: Sun, 22 Oct 2017 23:35:55 GMT

256846: Oct 23 10:10:36.937 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Fetch: HTTP 200 OK

256848: Oct 23 10:10:36.937 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Successfully fetched bytes: 0, duration(s): 0.004, URI: http://10.66.75.48:7000/CVP/Server

256849: Oct 23 10:10:36.938 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] fetchVxmlDoc :: Closing output stream

El CVP envía a VVB:  Contenido de la interrogación del POSTE de las devoluciones del CVP:

256850: Oct 23 10:10:36.938 AEST %MIVR-SS_VB-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] Content of POST query:

audium_vxmlLog=%7C%7C%7Caudio_group%24%24%24initial_audio_group%5E%5E%5E11

256851: Oct 23 10:10:36.938 AEST %MIVR-SS_VB-7-UNK:Content of VXML Document:

<?xml version="1.0" encoding="UTF-8"?>

<vxml version="2.0" application="/CVP/Server?audium_root=true&amp;calling_into=HelloWorld">

<catch event="error.com.cisco.callhandoff.failure">

<cisco-typeaheadflush />

<submit next="/CVP/Server" method="post" namelist="audium_vxmlLog" />

</catch>

<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">

<object name="dummyobj" classid="builtin://com.cisco.callhandoff">

<param name="return" expr="true" valuetype="data" />

<param name="app-uri" expr="'builtin://dummyobj'" valuetype="data" />

<filled>

<submit next="/CVP/Server" method="post" namelist="audium_vxmlLog" />

</filled>

</object>

</form>

</vxml>

Paso 10. VVB recibe el ADIÓS del CVP y acaba esta llamada.

256921: Oct 23 10:10:43.139 AEST %MIVR-JASMIN-7-UNK:[CALLID=B42C468000010000000000650851430A-150871535521622] SIP-ltp92-88881111*, State=CONNECTED: Processing BYE from remote party.