VVB 11.6 Messge Flow With Comprehensive Call Flow PDF
VVB 11.6 Messge Flow With Comprehensive Call Flow PDF
VVB 11.6 Messge Flow With Comprehensive Call Flow PDF
Introduction
This document describes the message flow on Cisco Virtualized Voice Browser (VVB) with
comphrensive call flow.
Prerequisites
There are no specific requirements for this document.
Components Used
Backgroud Information
Call flow :
Ingress gateway > CVP > Intelligent Contact Management (ICM) > Return VRU label > CVP
> VVB
As shown in the image, this document focuses more on VVB part of messages.
VVB Messages
Step 1. VVB recevies SIP INVITE from CVP and Finishes Exchange SIP
Messages.
Then CVP sends to ICM: REQUEST_INSTRUCTION, ICM then passes Application information to
CVP.
GET
/CVP/Server?MSG_TYPE=CALL_NEW&CALL_DNIS=888811111139&CALL_ANI=sip%3A60006099%4010.66.75.49%3A506
1%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 receives 200 OK for the FETCH: [PSH,ACK] CVP (7000 port) to VVB
Packet capture:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Transfer-Encoding: chunked
Date: Sun, 22 Oct 2017 23:35:55 GMT
<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"/>
<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="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="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>
</form>
<form id="TrySubmit">
<var name="TryNum" expr="1" />
<var name="MaxTries" expr="1" />
</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>
</form>
</vxml>
Step 4. A New TCP Connects VVB to CVP VXML Server and Calls into CVP
Application.
GET /CVP/en-
us/../Server?application=HelloWorld&callid=B42C46800001000000000065085143&_dnis=7001&_ani=600060
99 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
Packet capture:
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
http://10.66.75.48:7000/CVP/en-
us/../Server?application=HelloWorld&callid=B42C46800001000000000065085143&_dnis=7001&_ani=600060
99
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&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>
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
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
CVP sends to VVB contents POST query result with Audio file name and source path .
Step 7. VVB Fetches Audio File and Checks if the Audio File is modified.
VVB logs :
Packet packet: CVP to VVB confirms the audio file did not be modified
Step 9. VVB sends POST Query after Successfuly GET the Audio File and
closes this TCP Session.
audium_vxmlLog=%7C%7C%7Caudio_group%24%24%24initial_audio_group%5E%5E%5E11
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
Step 10. VVB receives BYE from CVP and finishes this Call.