07-02-2009 03:43 AM - edited 08-29-2017 08:45 AM
This document will cover the design and deployment of CVP Self Service Model by using CVP Standalone VXML Server and Cisco Unified Call Studio Applications. The document will also discuss the steps required in configuring these components from a high level.
This document provides information to help engineers and customers (who already have some knowledge about the Self Service IVR applications, Cisco Unified Contact Center Enterprise (CUCCE) and Cisco Unified Customer Voice Portal (CUCVP) solutions) looking to grow the business and to maximize the return of their investment by having very advanced and quickly deployed SelfService applications.
Cisco recommends that you should have at least basic knowledge of these topics:
This document also assumes that you have following components already installed and basic configuration is already done
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.
The information in this document is based on these software and hardware versions used:
The following list shows the hardware components of the CVP laboratory (LAB) system:
The following major software versions were used
This configuration can also be used in conjunction with the following solutions.
Refer to Technical Tips Conventions for more information on document conventions.
Unified CVP VoiceXML Server executes complex IVR applications by exchanging VoiceXML pages with the VoiceXML gateway's built-in voice browser. Like almost all other Unified CVP product components, it runs within a Java 2 Enterprise Edition (J2EE) application server environment such as Tomcat or WebSphere, and many customers add their own custom-built or off-the-shelf J2EE components to interact with back-end hosts and services. VoiceXML Server applications are written using VoiceXML Studio and are deployed to the VoiceXML Server for execution. There are two very common ways in which these applications can be used.
The applications could be invoked on an as-needed basis by a special microapplication which must be executed from within the Unified ICME routing script. VoiceXML Server can also be deployed in a Standalone configuration that does not include any Unified ICME components. In this model, applications are invoked as a direct result of calls arriving in the VoiceXML gateway This document only shows the deployment steps for the second option mentioned above.
This component is the service creation environment (script editor) for VoiceXML Server applications. It is based on the open source Eclipse framework, and it provides advanced drag-and-drop graphical editing as well as the ability to insert vendor-supplied and custom-developed plug-ins that enable applications to interact with other services in the network. VoiceXML Call Studio is essentially an offline tool whose only interaction with the VoiceXMLServer is to deliver compiled applications and plugged-in components for execution.
For this document the Unified CVP VoiceXML Server, Unified CVP VoiceXML Call Studio, CVP Call Server and the Media Server are residing on the same server. This type of scheme is only supported for Laboratory (LAB) or POC (Proof of Concept) type of environments.
A customer would dial a Contact Center pilot # and will reach to a self service application that is configured using Call Studio. The VXML Gateway will receive the request and will contact VXML Server. VXML Server will return some VXML pages and the VXML Browser inside the Cisco IOS will render the web pages and will present it to the customer. These SelfService Applications could be very basic or they could be very complex applications that could connect to backend Database servers for record retrival and query purporses.
For this document a very basic HelloWorld application was created and the cocepts are demonstrated.
Complete these steps:
A co-located CVP VXML Server, Operations Console Server and CVP Call Studio (Audium).
Note that this is not a supported configuration in a live environment. Unified Call Studio is only supported on Windows XP or Windows Vista operating systems. Check the CVP Hardware and Software Specification for latest details
Component Name IP Address CVP VXML Server 192.168.93.3 CVP Operations Console 192.168.93.3 CVP-VXML-GW 192.168.93.1
Before moving on, there are few things to notice regarding CVP VXML Server and the terminologies used
In CVP Operation Console browser, under the Device Management section, select the VXML Standalone Server option
Enter the values in the CVP VXML Server (standalone) fields as mentioned in the following diagram
Once the configuration is done, it will show as “configured” in the listing, as mentioned in the following diagram.
Notice that since it is a standalone vxml server deployment, there is no need to activate ICM, IVR, SIP or H.323 services under the CVP Call Server Configuration options.
Make sure that VXML services are running, as mentioned in the services pages.
If all the configurations are done correctly, you will notice that in the Control Center – Network Map, VXML Server is in UP state.
If you added the Call Server as part of CVP installation, it will show as not reachable which is normal because so far only standalone VXML Server is configured.
The goal of this Application is to allow you to make a phone call into the HelloWorld CVP VXML Call Studio Application. The dynamic VXML application will paly a basic prompt and call will be cleared.
Launch the CVP VXML Call Studio application and create a VXML Call Studio Application by selecting
File --> New --> Call Studio Project
Specify a project name which in our case is HelloWorld. Notice that it is case sensitive. After clicking next, you will see General Settings option like mentioned in the following diagram.
Session timeout default setting was changed to 5 min. In the VoiceXML Gateway option, Cisco Unified CVP4.1/7.0 is selected. There is no significance of selecting Nuance here because we are not using and TTS/ASR server.
By default under the Loggers section there are five logs but for this setup CVPDatafeedLog and CVPSNMPLog were removed from the project. Customer would need to make adjustments based on their requirements in the live contact center or IVR deployments.
The next option is for the audio settings. For this section, default options were selected.
Endpoint Settings is the next option and default settings were selected.
After End point setting, for the Root Doc. select the default options and click next.
Next click finish to complete the properties. In the navigator panel on the left, you will see the HelloWorld project for you. You can see it in the Navigator panel as shown in the below diagram
Now you can create an application as shown in the following diagram.
Now we will discuss each element in order.
This element is automatically populated when you first create a brand new application. There is no configuration required for this part.
This element doesn’t require any settings to be modified.
Is basically an audio element that is renamed to “PlaySomething”. This is the important element that needs to be modified. Under the Audio setting, in the element configuration tab, navigate to Audio Groups à Initial à Audio Item 1 and select the options as mentioned in the following diagram.
Since we are using Microsoft IIS for hosting .wav files, we have specified the complete URI or the path for the .wav file. This path can be verified by putting it into any web browser and the browser should launch the appropriate application (like Windows Media Player) to play the .wav file.
No configuration is required for this element
Now the next step is to deploy the HelloWorld application. Right lick to the HelloWorld in navigator pannel and it will show you a list of options.
Select the Deploy option from the list.
When you click deploy, the CVP Call Studio will ask for the folder name. Since both CVP Call Studio and VXML server are co-located on the same box, the local folder name will be specified. The location of it is important and the project should be saved into C:\Cisco\CVP\VXMLServer
Once the HelloWorld project is saved, it will be saved automatically under the “applications” directory by the name of “HelloWorld”. And there will be more sub-folders created.
As already mentioned that you need to make sure that your audio HTTP medial server is already configured to play .wav files. For more information on setting up one, please check the following URL
The best way to test whether your media server is appropriately serving the media files is to use a regular web browser such as Internet Explorer and specify the URL of a prompt on the media server, such as http://192.168.93.3/en-us/sys/1.wav. Your web browser should be able to download and play the .wav file without any authentication required.
In this setup, one router/gateway is used as an ingress as well as VXML gateway. Notice that due to VXML compatibility issues, all Cisco IOS versions are not approved. In this lab setup c3725-adventerprisek9-mz.124-15.T1.bin is used. For latest and complete CVP Hardware Software compatibilty list (also known as BOM) please check the web page titled “Hardware and System Software Specification for Cisco Unified Customer Voice Portal (Unified CVP)”
Now using the Unified CVP Operation Console, copy following files to VXML Gateway flash memory
The next step is to configure the ingress/VXML Gateway to support the incoming calls to the contact center. Following are the steps that happen when a customer dials the contact center main number.
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname cvp-vxml-gw
!
boot-start-marker
boot system flash flash:c3725-adventerprisek9-mz.124-15.T1.bin
boot-end-marker
!
! card type command needed for slot/vwic-slot 0/0
card type t1 1 0
! card type command needed for slot/vwic-slot 1/1
enable password lab
!
no aaa new-model
no network-clock-participate slot 1
ip cef
!
isdn switch-type primary-ni
voice-card 1
no dspfarm
!
voice service voip
allow-connections h323 to h323
allow-connections h323 to sip
allow-connections sip to h323
allow-connections sip to sip
signaling forward unconditional
h323
emptycapability
h225 id-passthru
h245 passthru tcsnonstd-passthru
sip
bind control source-interface FastEthernet0/0.93
bind media source-interface FastEthernet0/0.93
header-passing
!
!
voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g711alaw
codec preference 3 g729r8
!
voice class h323 1
h225 timeout setup 3
!
voice translation-rule 1
rule 1 /987654/ //
!
voice translation-profile block
translate called 1
!
http client cache memory pool 15000
!
application
!
! Following serivce should be placed on the incoming POTS dial-peer that is destined for CVPSelfService
! It defines the application name, primary and backup VXML Server Address
! It is important to configure this service. This service also calls another vxml
! service called CVPSelfServiceBootstrap.vxml
!
service HelloWorld flash:CVPSelfService.tcl
param CVPBackupVXMLServer 192.168.93.3
param CVPSelfService-app HelloWorld
param CVPSelfService-port 7000
param CVPPrimaryVXMLServer 192.168.93.3
!
! Following serivce defines the application name and VXML Server Address
! CVPSelfService.tcl calls CVPSelfService application
!
service CVPSelfService flash:CVPSelfServiceBootstrap.vxml
paramspace english index 0
paramspace english language en
paramspace english location flash:
paramspace english prefix en
!
! Following services are mentioned here although not playing any role for the HelloWorld
! Application but they are mentioned here as a best practice to have them configured
!
service ringtone flash:ringtone.tcl
paramspace english index 0
paramspace english language en
paramspace english location flash
paramspace english prefix en
!
service recovery flash:/recovery.vxml
paramspace english language en
paramspace english index 0
paramspace english location flash:
paramspace english prefix en
!
service cvperror flash:cvperror.tcl
paramspace english language en
paramspace english index 0
paramspace english location flash
paramspace english prefix en
!
service bootstrap flash:/bootstrap.tcl
paramspace english index 0
param gtd-attribute0 rgn
paramspace english language en
param gtd-field0 noa
param gtd_format1 ascii
param gtd-attribute1 fdc
param gtp-instance0 1
paramspace english location flash
param gtd-field1 dat
paramspace english prefix en
!
!
mrcp client rtpsetup enable
vxml version 2.0
!
controller T1 1/2
framing esf
linecode b8zs
pri-group timeslots 1-24
!
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
!
interface FastEthernet0/0.1
description Management VLAN
encapsulation dot1Q 1 native
ip address 36.36.36.1 255.255.255.0
!
interface FastEthernet0/0.93
description CC Server VLAN
encapsulation dot1Q 93
ip address 192.168.93.1 255.255.255.0
h323-gateway voip interface
h323-gateway voip bind srcaddr 192.168.93.1
!
interface Serial1/2:23
no ip address
encapsulation hdlc
isdn switch-type primary-ni
isdn incoming-voice voice
no cdp enable
!
router ospf 7
log-adjacency-changes
network 36.36.36.0 0.0.0.255 area 0
network 192.168.93.0 0.0.0.255 area 0
!
ip http server
no ip http secure-server
!
dial-peer voice 3 pots
service HelloWorld
incoming called-number 541764....
direct-inward-dial
!
end
</code>
Hi Syali,
Thank you very much for this simple doc, help me a lot
Only need to complete my understanding,,
From where you got this tcl file: CVPSelfService.tcl
or how to write this tcl file so you said after that it'll call CVPSelfService application
then why you use with this application: the CVPSelfServiceBootstrap.vxml file ?
So If you please help me to know how to write this tcl and vxml and if there is some of them are templates to easy the project deployment for us
Best Regards
You don't need to write those scripts. These scripts are part of CVP installation media.
thank you very much for your fast reply
So I won't need to write any new tcl or vxml in my projects
And If I'll go and learn tcl and vxml,, will this add to me in CVP projects
I think the most needs to me is to talk with web service or to SQL DB or with java classes as what I see with UCCX IVR
Best Regards
only I can't rate your posts,, don't find it ,, thanks again
Hi Syed,
I am new to CVP. Just have a question. We already have CVP application deployed on our servers. Can we take those files (like config, jar, xml, whatever) and open the script in Call studio. Basically reverse engineering. I need to see the call flow. If possible then whats the process
Regards,
Chirag
Hi Chirag,
The files to which Call Studio saves the project and the files that are finally deployed to CVP are different. So, the short answer is no, you cannot open the deployed files in Call Studio to see the call flow. Having said that, the files that Call Studio generates are quite readable and they're not difficult to reverse engineer. So, if the script is not excessively complex, I bet you can go ahead and try to decipher the files and build the call flow manually.
Regards,
Rafael
Thanks Rafael
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: