Introduction
This document describes how to configure an Outbound Campaign for Agent-Based Predictive for Unified Contact Center Express (UCCX).
Prerequisites
Requirements
Cisco recommends knowledge of these topics:
- Cisco Unified Border Element (CUBE) configuration
- Unified Contact Center Express (UCCX) configuration
Components Used
The information in this document is based on these hardware and software versions:
- UCCX version 12.5.1.11002-481
- CUCM version 12.5.1.11900-146
- ISR4451 version 17.03.04a
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, ensure that you understand the potential impact of any command.
Background Information
Specific requirements for this document include:
- Finesse Agent on Ready mode.
- ISR4451 with CUBE basic configuration and PVDM for Call Progress Analysis (CPA) functionality.
- Internet Telephony Service Provider (ITSP) integrated with CUBE.
- Unified CCX Outbound license
On UCCX Outbound Dialer feature, there are five types of campaigns:
Agent-Based:
- Agent Direct Preview
- Agent Progressive
- Agent Predictive
IVR Based:
Note: In this document, you focus on the configuration for Agent-Based Predictive
There are some services on UCCX that must be in service:
Note: Navigate to Cisco Unified CCX Serviceability Menu > Tools > Control Center Network Services
Configure
Network Diagram
This topology diagram shows the interaction of UCCX, Finesse, CUCM, and CUBE for outbound campaigns:
Configurations
UCCX configuration
1. Log into the CCX Administration:
2. Then click on Subsystem Menu > CM Telephony > Call Control Group:
Then Click on Add New:
3. Fill out the mandatory fields marked with asterisks such as the Description, number of CTI ports, Group Type, Device Name Prefix, and Directory Number, and click Add:
Note:
- On Group Type select Outbound.
- Once you click Add the Status changes to In Progress, UCCX begins to create the CTI Ports.
This is the expected output you receive after you click Add:
4. Navigate to Subsystems Menu> RMCM > Contact Service Queues to create the Predictive CSQ:
Then click Add New:
5. Fill out the mandatory fields marked with an asterisk such as Contact Service Queue Name, and select the most appropriate options for your specific environment, then click Next:
This is the expected output:
6. Then click Next, select the required skills, and add them, and finally click Add:
7. Now configure the Outbound section, so navigate to Subsystem Menu > Outbound > General:
Note: Here you need to add the Predictive CSQ created in the previous step to the Available CSQs section and click update.
8. Navigate to Subsystem Menu > Outbound > Campaigns to create the Agent-Based Predictive campaign:
Click on Add New
9. Then select the Agent-Based Campaign Type, and also select the Dialer Type of Predictive, and then click Next:
10. Then fill out the mandatory values marked with an asterisk like Campaign Name, Start and End Time, Campaign Calling Number, and other desired values according to your specific needs.
Configuration Continues:
Note: It is important that you click on Enable "yes" in this section.
This is the expected result:
11. Add the proper Predictive CSQ on Assigned CSQs and click Add.
12. Finally, navigate to Subsystem Menu > Outbound > SIP Gateway Configuration, and type the specific IP Address of the CUBE that handles the outbound calls:
CUBE Configuration
Add global configuration on CUBE under voice service Voip and add the CPA global parameters:
voice service voip
ip address trusted list
ipv4 0.0.0.0 0.0.0.0
mode border-element
no supplementary-service sip refer ---->This command avoids to send Refer SIP message to ITSP
allow-connections sip to sip
cpa timing live-person 2501
cpa timing term-tone 15500
cpa threshold active-signal 18db
Note: Make sure you do not need to configure allow trusted list, otherwise you need to configure each ip address of the UCCX and CUCM here.
Configure dspfarm services on the voice card:
voice-card 0/1
dsp services dspfarm
Configure the dspfarm profile and enable Call Progress Analysis (CPA):
dsp services dspfarm
dspfarm profile 1 transcode
description dialer-lab
codec g729abr8
codec g729ar8
codec g711alaw
codec g711ulaw
call-progress-analysis <-- This line enables CPA on the dspfarm
maximum sessions 10
associate application CUBE <--Remeber to use CUBE application here
Note: On the cube router for this lab the PVDM is installed on the slot 0/1:
#sh inventory
---Output omitted
NAME: "subslot 0/1 db module 0", DESCR: "PVDM4-64 Voice DSP Module" PID: PVDM4-64
---Output omitted
Configure the inbound dial peer:
dial-peer voice 10 voip
description dialer IncomingDP
session protocol sipv2
incoming called-number . <--This dot means that the dial peer receives any digit
dtmf-relay rtp-nte
codec g711ulaw
no vad
Note: Remember there are so many ways to receive a call on a dial peer, this is only an example for this lab using incoming called-number command.
Configure the outbound dial peer pointing to the ITSP:
dial-peer voice 400 voip
description ** DIALER ITSP SIDE **
destination-pattern 9001$
session protocol sipv2
session target ipv4:10.4.14.4 <--ITSP IP Address
dtmf-relay rtp-nte
codec g711ulaw
no vad
Note: Remember that you need to point to the ITSP IP and create the proper destination pattern for your specific dial plan.
Configure the dial peer that points to the CUCM agent:
dial-peer voice 500 voip
description ** DIALER AGENT SIDE **
destination-pattern 1026 <--Agent Extension, this can be a range of extensions.
session protocol sipv2
session target ipv4:10.2.10.30 <--IP Address of the Call Manager
dtmf-relay rtp-nte
codec g711ulaw
no vad
Note: This dial peer is only an example for this lab and it is being sent to a specific agent extension registered on the CUCM.
Note: Unified CCX does not support the translation or modification of the phone number that it uses to dial out outbound calls. Any "voice translation rules" configured in the gateway that modifies the phone number are not supported.
Verify
Verify the dspfarm is up, active and associated and also the CPA is enabled:
#show dspfarm profile 1
Dspfarm Profile Configuration
Profile ID = 1, Service = TRANSCODING, Resource ID = 1
Profile Description : dialer-lab
Profile Service Mode : Non Secure
Profile Admin State : UP
Profile Operation State : ACTIVE
Application : CUBE Status : ASSOCIATED
Resource Provider : FLEX_DSPRM Status : UP
Total Number of Resources Configured : 10
Total Number of Resources Available : 10
Total Number of Resources Out of Service : 0
Total Number of Resources Active : 0
Codec Configuration: num_of_codecs:4
Codec : g711ulaw, Maximum Packetization Period : 30
Codec : g711alaw, Maximum Packetization Period : 30
Codec : g729ar8, Maximum Packetization Period : 60
Codec : g729abr8, Maximum Packetization Period : 60
Call Progress Analysis : ENABLED
Verify the agent goes to Talking State on Finesse and the BA Campaign is the AgentBasedPredictive:
Troubleshoot
The easiest way to troubleshoot is to collect debugs on CUBE with this configuration:
conf t
service timestamps debug datetime localtime msec
service timestamps log datetime msec
service sequence-numbers
logging buffered 10000000 debug
no logging console
no logging monitor
default logging rate-limit
default logging queue-limit
voice iec syslog
exit
Debug voice ccapi inout <-- CCAPI debug allows to verify the dial peers matched.
Debug ccsip messages <--Enables SIP messages logs
Debug ccsip error <--Enables SIP Errors logs
Note: Another way to collect logs is by enabling traces on the UCCX side, for this refer to the Tech Note on UCCX Tracing Levels on the Outbound voice calls section for more information.
Once you collect the CUBE logs you need to validate you are matching the correct dial peers for three legs:
Incoming Dial-peer=10 <--First Leg
Outgoing Dial-peer=400 <--Second Leg
Outgoing Dial-peer=500 <--Third Leg
There are three legs:
- the first leg comes from UCCX,
- the second leg goes to ITSP,
- and the third leg goes to the CUCM
Note: The Analysis described in this section describes only specific segments of the SIP messages that you need to troubleshoot.
On the first leg, it is important to check that CPA is sent with the correct CPA parameters configured on UCCX on the SIP Invite message:
---Output omitted
--unique_boundary
Content-Type: application/x-cisco-cpa
Content-Disposition: signal;handling=optional
Events=FT,Asm,AsmT,Sit
CPAMinSilencePeriod=375
CPAAnalysisPeriod=2500
CPAMaxTimeAnalysis=3000
CPAMinValidSpeechTime=112
CPAMaxTermToneAnalysis=15000
--unique_boundary--
---Output omitted
The 200 ok SIP message on the first leg also needs to say that the CPA is enabled:
---Output omitted
--uniqueBoundary
Content-Type: application/x-cisco-cpa
Content-Disposition: signal;handling=optional
event=enabled <--This must be enabled for CPA
--uniqueBoundary--
The first Update SIP message on the first leg indicates that the CPA event has been detected:
---Output omitted
Content-Type: application/x-cisco-cpa
Content-Disposition: signal;handling=optional
Content-Length: 26
event=detected
status=CpaS
The second Update SIP message also on the first leg indicates that the CPA event is Live Human Speech:
---Output omitted
Content-Type: application/x-cisco-cpa
Content-Disposition: signal;handling=optional
Content-Length: 154
event=detected
status=LS <-- This indicates it is Human speech
pickupT=2510
maxActGlitchT=0
numActGlitch=0
valSpeechT=190
maxPSSGlitchT=0
numPSSGlitch=0
silenceP=380
termToneDetT=0
noiseTH=35
actTh=2097164
The Refer SIP message on first leg indicates where to send the call to on the Refer-To header:
Refer-To: <sip:2000@10.2.10.70>
Note: Just in case the issue persists, open a Cisco TAC Case, and attach the CUBE logs collected for further troubleshooting along with sh tech of your CUBE. For the UCCX side, you need to collect UCCX Engine traces and Finesse agent side logs.
Related Information
Understand Inbound/Outbound Dial Peers that Match on Cisco IOSĀ® Platforms
Call Progress Analysis Overview
Tech Note on UCCX Tracing Levels
Cisco Unified Contact Center Express Design Guide