AMD / CPA on Outbound option 6 just doesn't work!!

Answered Question
Apr 19th, 2010

I've posted this question before but let me give it a shot again:

We're running IPCCE 6 (with IP IVR QMANAGER 3.5) with Outbound Option configured with 10 ports.  Our calls go out via PRIs.
We have several IVR outbound campaigns and it just doesn't detect answering machines!!

I've tested it by calling into an analog line I have in the office hooked up to an answering machine and success rate was 20%.

Below are my registry settings on the CPA keys (decimal values):

CPAJitterBufferDelay = 100
CPAActiveThreshold = 32
CPAAnalysisPeriod = 1592
CPAMinSilencePeriod = 608
CPAMaxNoiseFloor = 10000
CPAMinNoiseFloor = 1000
CPAMaxToneSTDEV = 0.600000

Any sugestions are appreciated.

I have this problem too.
0 votes

Unless the dialer doesn't use the 6037 (IVR Route Point in campaign's Skill Group Selection tab) for the reservation call then yes, it is how you say it is.


It doesn't.

Basically there are two types of dialed numbers - agent reservation dialed numbers and transfer to IVR dialed numbers. Look at the diagram on page 84 of the 7.5 Outbound Guide.

The agent reservation DN is created on the MR PG, and the two IVR DNs (abandon  to IVR, AMD to IVR) are created on the CUCM PG. You need CUCM route points to match these.

Look at the steps on page 87.

In your case, 6036 and 6037 should be RPs in CUCM - the scripts they run are not the same as the reservation script. See page 106. You need a trans route to the IVR if you want to play a message or queue the call.

The agent reservation DN (script selector) should be attached through a call type to the reservation script.

Your set up seems a bit wrong to me.

Regards,

Geoff

Correct Answer by Edward Umansky about 6 years 7 months ago

It's a bug in v6. The size of the AccountNumber field is different in the Import Rules, ECC variable, and the dialing list table. The max size is 30 in the latest versions. I guess you can try changing the size in the table, that table isn't synchronized anywhere.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (2 ratings)
Loading.
Edward Umansky Wed, 04/21/2010 - 19:10

Make sure your CPA registry settings match those recommended in the latest documentation, even if you are running 6.0. What do you mean by it just doesn't detect answering machines? Did you test with more than a single number? You cannot get an accurate percentage calling a single answering machine, no matter how many times you do it. You are still calling the same machine, with the same message. The dialer is tuned to maximize accuracy over the many millions of different answering machines / messages out in the "wild". You need to dial a large selection of different answering machines (representative of the type of people you are actually calling) before you even come close to statistical significance.

Voiceops SSC Thu, 04/22/2010 - 06:02

Ed,

     Thanks for the reply.  I'll make sure our registry seetings match the latest documentation.

The largest number of calls going to answering machines or voicemail that I've tested with it's been 10.  1 being a POT with an answering machine, 1 being a cisco IP phone (with unity voicemail) and the rest being cell phones.

My campaign was setup with 2 call types ( one for the IVR route point and the other for the abandon route point)  'Enable IP IMD' is checked and also 'Transfer to IVR Route Point' plus 'Terminate Tone Detect'.

I made 2 sets of 10 calls with 'Transfer to IVR' campaign and my success rate was 20%.

Is there any way to test its accuracy without dialing millions of calls?

Edward Umansky Thu, 04/22/2010 - 06:51

You definitely don't need millions, 10 is a whole lot better than 1, which wouldn't really tell you anything. Ironically, the dialer's AMD pretty much never works with Unity messages, so that one will pretty much always fail. Make sure your cell phones messages represent a variety of carriers, as some may consistently have issues. The steps towards the end of this doc may also help: http://www.cisco.com/en/US/partner/products/sw/custcosw/ps1844/products_tech_note09186a00805b6e23.shtml. Specifically the part about the greeting being cutoff, so check that out. Again you don't need millions, but the more you have and the more they represent actual customers the more accurate your test will be. If you can run some kind of pilot campaign that is usually ideal.

Voiceops SSC Fri, 04/23/2010 - 07:12

Ed,

     While I have your attention I'll throw another dialer related question if you don't mind:

The dialer DB has a table called Dialing_List which has a column named AccountNumber and ours is set to Type = varchar, Length = 25, and Allow Nulls = True.

I know the BAAccountNumber variable is limited to 30 characters; questions:

Shouldn't both be set to the same size?

Can I change the Dialing_List's AccountNumber column to Length 30?

thanks

Voiceops SSC Fri, 04/23/2010 - 07:47

How do I know about the BAAccountNumber having a limit? is in the Outbound

Option user guide.

"Identifies a customer account number and can be
used by the desktop application to perform a
database lookup to obtain additional customer data.
This ECC variable displays only if the data was
available in the customer import file.
Note The maximum character length of this ECC
variable is 30 characters. See detailed
information about this ECC variable
“Symptoms and Troubleshooting Actions”
in Appendix A, “Troubleshooting.”
"

I don't really know if it would work.  Maybe its size limit is associated with what can be shown in CTIOS??!!

I don't really know.

Correct Answer
Edward Umansky Fri, 04/23/2010 - 08:44

It's a bug in v6. The size of the AccountNumber field is different in the Import Rules, ECC variable, and the dialing list table. The max size is 30 in the latest versions. I guess you can try changing the size in the table, that table isn't synchronized anywhere.

Voiceops SSC Fri, 06/04/2010 - 14:04

Ed,

     I'm confused on where the call is sent once the dialer detects it as an answering machine on a "Transfer to Agent" campaign.

In my campiagn everything is working fine, the dialer makes the calls and it makes the agent reservation call etc.  But if the dialer senses the call as an answering machine where should it "send it" to? is not the Abandoned IVR Route, right?

I've setup an analog line with an answering machine and the dialer knows is an answering machine (Dialing List call status result C = record closed, 12 = answering machine detected).

This is the test I did:

I have the agent set to auto answer.
I have the campaign to only do 1 attempt.
I have the "Enabled IP AMD" checked.
In all the results below I can see that the dialer sees it as an answering machine (Dialing List table CallResult 12 = answering machine detected).

These are the results under the different modes:


With abandon Call checked:
    I see the reservation call on the agent's phone go on for ~29 seconds
    and the call never connects to the agent's phone.
    The Dialing List table shows status result M = record closed & 12 = answering machine detected.

With Transfer to agent checked:
    I see the reservation call on the agent's phone go on for ~29 seconds
    and the call then connects to the agent's phone and I can see the telelphone number.
    The Dialing List table shows status result C = record closed & 12 = answering machine detected.

With Transfer to IVR Route Point checked (and Terminate Tone Detect checked):
    I see the reservation call on the agent's phone go on for ~29 seconds
    and the call never connects to the agent's phone.
    The Dialing List table shows status result C = record closed & 12 = answering machine detected.

The call never makes it into the ICM routing script with the 6036 dialed number scheduled to it.

I read a post where you stated that starting in 7.1 one could monitor the BAResponse variable but I know that's not the case in ICM 6.

Do you have any ideas.

thanks

Voiceops SSC Sat, 06/05/2010 - 06:17

Geoff,

     Thanks, I didn't see that one.

I don't think it works that way, I think the call comes in through 6037 so unless there's a variable that gets sent at the same time I don't see how that could be.

I've been running different tests, monitoring different variables and I've seen NOTHING.

My script is scheduled against 6037 and I have 6036 scheduled against another script so that it only plays some greeting when hit.

In my campaign I have 6037 as the IVR Route Point and 6036 as the Abondoned Route Point

My campaign is a transfer to agent (Enable IP AMD / transfer IVR Route Point).

The way I understand it, in simplest terms, the dialer makes a reservation call to the agent's phone via Dialed number/calltype->routing script->skill group->agent's phone and reserves the agent, it then dials the external call and if is human then it merges the calls if is not human then it doesn't merge the calls but it disconnects the agent side and the other call goes somewhere.  It can't go to 6037 beacuse it would end at the skill group/agent again.

Unless the dialer doesn't use the 6037 (IVR Route Point in campaign's Skill Group Selection tab) for the reservation call then yes, it is how you say it is.

I haven't really tried that way because I've monitor the Termination_Call_Detail table and Isee it using 6037.

Ed (three posts up) talks about querying the Dialing_List call result filed for the codes i.e. 10, 12. But he says that he's done it with Transfer to IVR campaigns only in version 7.  He also says that starting with version 7.1 you can accomplish this by reading the BAResponse variable (I guess is real time in that version).

Thanks

Correct Answer

Unless the dialer doesn't use the 6037 (IVR Route Point in campaign's Skill Group Selection tab) for the reservation call then yes, it is how you say it is.


It doesn't.

Basically there are two types of dialed numbers - agent reservation dialed numbers and transfer to IVR dialed numbers. Look at the diagram on page 84 of the 7.5 Outbound Guide.

The agent reservation DN is created on the MR PG, and the two IVR DNs (abandon  to IVR, AMD to IVR) are created on the CUCM PG. You need CUCM route points to match these.

Look at the steps on page 87.

In your case, 6036 and 6037 should be RPs in CUCM - the scripts they run are not the same as the reservation script. See page 106. You need a trans route to the IVR if you want to play a message or queue the call.

The agent reservation DN (script selector) should be attached through a call type to the reservation script.

Your set up seems a bit wrong to me.

Regards,

Geoff

Voiceops SSC Sat, 06/05/2010 - 08:59

Remember I'm running ICM 6, in version 7.5 is different.  In 7.5 there are 3 fields under the campaign's Skill options: 1 for reservation, 1 for AMD and 1 for abandon; in version 6 there are only 2 fields.

So, in my case my CM routing client (CUCM PG) is called CCM1 and my Dialer routing client (MR PG) is called COO1 so I would have to have 1 dialed number CCM1.rc.6037 and 1 dialed number COO1.rc.6037 , correct?

And the call type attached to my COO1.rc.6037 should be scheduled to the reservation script

and the call type attached to my CCM1.rc.6037 should be scheduled to the message only script, right?

Currently I only have 1 Dialed number (COO1.rc.6037) with a call type scheduled to the reservation script.

thanks

Actions

This Discussion