cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2443
Views
45
Helpful
11
Replies

Outbound campaign does not start (working with APIs)

floatingpurr
Level 1
Level 1

I am experiencing a trouble when I set a campaign up and I try to enable it. Indeed, it simply does not start any call.


tl;dr: after the campaign definition, I enable it. Pending contacts number goes immediately to 0 but any call is performed.

Context details, I'm working with the APIs, but it think those are not part of the problem. Probably, the issue lies in how I try to start the things up.

Let me explain my steps:

  1. I create the campaign and I associate it to an existing csq. Initially, I need to set the campaign status to disabled, otherwise the problem I'm describing arises immediately after the add contacts phase (see point 2). Here below an excerpt of some campaign creation values.
    <campaignType>AGENT</campaignType>
    <dialerType>PROGRESSIVE</dialerType>
    <enabled>false</enabled>
  2. I add two contacts to the campaign (and those are correctly considered pending contacts)
  3. I login to Finesse w/ an agent account
  4. I modify the campaign state to start it 
    https://uccx-server/adminapi/campaign/200/state/enable

Now I'm expecting some calls, conversely pending contacts number goes to 0 but calls don't start.


What is wrong with this approach and how can I fix this up? 

 

1 Accepted Solution

Accepted Solutions

Yes for agent and IVR campaigns you require not only a SIP Gateway but also DSP resources for Call Progress Analysis (voicemail detection).

The campaign in Direct Preview mode works in a different way as the above-mentioned campaigns. In this case, you can assume that the call is made from the physical device - phone - and that's why the CUCM is only needed.

In agent and IVR campaigns Predictive and Progressive modes, calls are initiated by UCCX SIP DIaler which directly connects to VG.

The good news is that you can work with campain in Direct Preview mode to test the features that you are working on.

 

Marek
Web: https://gaman-gt.com

View solution in original post

11 Replies 11

Hi,

Troubleshooting outbound it is not a big deal but may sometimes cause problems. Let's start from the beginning.  Based on the input that you provided I see that you wan to run an agent-based campaign in progressive mode. This means that before the dialer will physically make an outbound call it will need to reserve the agent in Finesse for this campaign.Once you log agent to Finesse and change state to Ready, UCCX should auto-change the state to Reserved until the call is connected.

Here is how I would do the troubleshooting:

  1. Before the campaign is started I would double-check if the contacts have been successfully imported to the campaign. If you are using APII to import contacts (Add Contacts to Campaign) this doesn't mean that all contacts have been successfully imported. This has to be confirmed. How to do it - you have multiple options:
    1. If you are using API, the Add Contacts to Campaign Response, in Response header Location, should have link that can be used to pull the status of the import. Link should look like this: http://<UCCX FQDN>/adminapi/campaign/<campId>/contacts/status. In general, it's a link to the Get Campaign Contacts Import Status API. As an output, you get the detailed info about imported contacts. You can also have a look at the Get List of Pending Contacts for Campaign which will return the list of all pending contact for the campaign - because the campaign is disabled, the number of returned records should match the input from the import. What is also important, when you reusing the contacts (use the same account numbers) you need to pass
      <allowDuplicateContacts>true</allowDuplicateContacts>
      as an additional parameter Add Contacts to Campaign to the API.
    2. You can use UCCX and use the existing import feature. You will need to prepare the input file and upload it to UI. After import, the UI informs how many contacts were imported and how many where removed. Please also loo a the Doubles option (sam that I have mentioned in the above point)
    3. You can check the CUIC report that shows campaign Totals. If the number of new contacts matches the number of imported the process works as expected if not, this indicates the error in the import process.
  2. Once the import process is confirmed, I would change the status of the campaign and enable it and I would also log an agent to Finesse and would change the agent state to Ready.
  3. As mentioned at the beginning, the agent should be auto moved to Reserved state. If this is not happening that this indicates some mismatch in campaign configuration. In this situation, I would go back to UCCX UI and verify the campaign parameters. Maybe the campaign start date and end date is invalid. Here are multiple parameters that you will need to check.
  4. Because we confirmed that the contacts were imported successfully, a good option is to look a the call result status. This can be done at least in two ways:
    1. You can review the campaign contacts directly from the UCCX database - you will need to write some SQL queries to pull the data.
    2. You can use one of CUIC reports - Agent Outbound CCDR Report (https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/crs/express_11_5/user/guide/UCCX_BK_U6A2CAD2_00_uccx-report-description-guide-115/UCCX_BK_U6A2CAD2_00_uccx-report-description-guide-115_chapter_011.html#reference_3F681B6...). It should show the reason code for all dialer attempts for the contacts assigned to the campaign.
  5. The last option is to review UCCX and voice gateway SIP logs. This stage should be used only if you see the Reserved state in Finesse.
Marek
Web: https://gaman-gt.com

Hello Marek, first of all thank you very much for your kind reply.

 

I've tried your troubleshooting process but I'm still stuck. The problem is the same I described in the first post. To provide more context, the Agent on Finesse never gets in the "Reserved" state and contacts number goes to 0.

 

The contacts import seems fine. I cannot use the endpoint to check import status (probably it is not available in version 10.x), but the number of contacts in the campaign is equal to the imported list and I can retrieve'em all with the API

 

Moreover the report you suggested to check in point 4.2 seems empty.


Don't know if those are crucial factors but:

  1. The database subsystem in the Cisco Unified CCX Engine is not configured
  2. Contacts have EU area codes. (not explicitly listed in the area code collection)

Here is an example of how I create a campaign

 

<?xml version="1.0" encoding="UTF-8"?>
<campaign>
  <campaignName>foo</campaignName>
  <enabled>false</enabled>
  <description>foo</description>
  <startTime>08:00</startTime>
  <endTime>21:00</endTime>
  <timeZone>Central European Time</timeZone>
  <campaignType>AGENT</campaignType>
  <dialerType>PROGRESSIVE</dialerType>
  <pendingContacts>0</pendingContacts>
  <typeSpecificInfo>
    <obAgentProgressive>
      <campaignCallingNum>xxxxxxxx</campaignCallingNum>
      <maxDialAttempts>3</maxDialAttempts>
      <callbackTimeLimit>15</callbackTimeLimit>
      <treatLowVolAsVoice>true</treatLowVolAsVoice>
      <noAnswerRingLimit>15</noAnswerRingLimit>
      <abandonedCallWaitTime>2</abandonedCallWaitTime>
      <retryNoAnswerDelay>60</retryNoAnswerDelay>
      <retryBusySignalDelay>60</retryBusySignalDelay>
      <retryCustAbandonedDelay>0</retryCustAbandonedDelay>
      <retryDialerAbandonedDelay>0</retryDialerAbandonedDelay>
      <linesPerAgent>1.0</linesPerAgent>
      <assignedCSQs>
        <csq name="2">
          <refURL>https://foobar/adminapi/csq/2</refURL>
        </csq>
      </assignedCSQs>
      <answerMachineTreatment>END_CALL</answerMachineTreatment>
      <abandonedCallTreatment>ABANDON_CALL</abandonedCallTreatment>
      <missedCallbackAction>NEXT_DAY</missedCallbackAction>
    </obAgentProgressive>
  </typeSpecificInfo>
</campaign>

 

Thanks in advance

The object that describes the campaign looks good and I don't see any mistakes.

 

Data in the report (point 4.2) will be only available if the dialer starts the dialing process. If you receive an empty report, this means that the dialing process didn't start.

 

I think that the database subsystem is not needed as it defines only access to external data sources, that are not needed in outbound.

 

I think that we have to check the timeframe configured in the outbound campaign general settings. Please look at the picture below. 

OB.png

Marek
Web: https://gaman-gt.com

floatingpurr,

 

I had trouble with this sort of thing as well, but where I had the issue in getting the campaign to start was the amount/percentage of agents for the queue. The default is 10%. what was happening is I did not have enough agents logged in to meet this threshold. When I changed this to 100%, I was able to get it to test one agent. Not sure if that is your issue or you checked this already and/or Marek discussed, but you may want to look at it. Just throwing it out there. The duplicate contacts would have been an issue as well, but Marek covered that from what I read.

Hello guys, thank you both for the time you are spending to help me troubleshoot this problem. I tried your hints but I'm not done yet, but I'm so close! Let me reply to your hints.

 

@jason-mcgee whoo! Setting the % of Logged in Agents for Outbound to 100, I've made some progress. This setting is pretty weird. Indeed, the % of Logged in Agents for Outbound set to 100 seems suggesting that you need to have all the agents logged in order to start the campaign. Instead it indicates the percentage of logged-in agents in each of the selected CSQs that are allocated for handling Outboundcalls. Crazy! :D

 

Now, agents get correctly "Reserved" even if no actual call starts. However, if I check the CUIC reports - Agent Outbound CCDR Report I finally see data about the call attempts! They fail due to call result 17, but now seems that finally something has happened and that the problem is on the gateway. 

 

@Marek (gaman-gt.com) the start / end time is set to 8 a.m. and 9 p.m. respectively. As mentioned, now I finally see data in the CUIC report.

Strangely enough, this API https://developer.cisco.com/docs/contact-center-express/#get-campaign-contacts-import-status still doesn't work. Probably it's not available in the UCCX version (10.6).

 

 

 

Good to hear that you made some progress. Here is the reason code list.

ReasonCodes.png

Code 17 indicates that there is a problem with the telco layer.

Now you will need to gather the logs on the voice gateway. As a reference, you can use this article: https://www.cisco.com/c/en/us/support/docs/contact-center/unified-contact-center-express/213901-troubleshoot-common-scenarios-in-outboun.html. SIP layer is pretty well described.

Marek
Web: https://gaman-gt.com

Thank you @Marek (gaman-gt.com),

 

I'm afraid that there's a structural issue in my problem. Reading the docs, it looks like you need a dedicated SIP Gateway for agent-based Outbound campaigns. In my case, I'm trying to use the call manager as SIP Gateway and probably this is the reason why things are not working.

 

Just for context, setting the dialerType to DIRECT_PREVIEW starts campaigns correctly. 

Yes for agent and IVR campaigns you require not only a SIP Gateway but also DSP resources for Call Progress Analysis (voicemail detection).

The campaign in Direct Preview mode works in a different way as the above-mentioned campaigns. In this case, you can assume that the call is made from the physical device - phone - and that's why the CUCM is only needed.

In agent and IVR campaigns Predictive and Progressive modes, calls are initiated by UCCX SIP DIaler which directly connects to VG.

The good news is that you can work with campain in Direct Preview mode to test the features that you are working on.

 

Marek
Web: https://gaman-gt.com

Yes, I can definitely work in Direct Preview mode. Working this way, are any data about calls available. I mean something similar to the Agent Outbound CCDR Report w/ detailed info on a per-call basis?

floatingpurr,

 

The call reports for direct preview are pretty limited. Agent detail and maybe one or two of the outbound reports will give you some information. Otherwise you would be looking at some customization and creating some of your own reports. This is not an easy task with UCCX, because it wasn't set up for it, but it can be done. Hopefully the information you need will be in those reports and will give you what you needs for the testing before moving to the predictive campaign.

Ok guys, thank you all.
Getting Started

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: