cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1254
Views
2
Helpful
8
Replies

UCCX 14, how to obtain the state of the calling party

goranpilat
Level 3
Level 3

Hi!

Basically, I am trying to achieve a paying call center on UCCX. E.g. Customer calls into Call center, he is PIN-authenticated against the DB, and it is checked if he has enough prepaid minutes available in order to be connected to agents. If so, he goes into CSQ, and those minutes (seconds) start to countdown as soon as he is connected to the living agent. As soon as he is put on hold (or transferred, or out to another queue), those seconds should stop with countdown, until the next agent starts conversaion.

And that is the tricky part, I put a loop decrementing the seconds in "connected"  branch of select resources step, I see it counting down, but it doesnt stop when the caller is put on hold (logically-script itself doesn't differentiate talking and being on hold). I need another logic step in the loop to check if the calling party (customer) is in HELD state, and if so, not to do the decrement of the seconds.

So question is:

Is there a way to check if the agent put the calling party on hold?

 

Thanks a lot

8 Replies 8

Once the call is connected to an agent, the CCX script is effectively out of the mix. You should be able to do this after the fact by looking at the CDR information in CUCM. You might also be able to do it from the ContactCallDetail table in CCX.

Like @Elliot Dierksen said you should NOT do this in the scripting, but after the fact, maybe nightly? Look at the DB and calculate how much time has been consumed by the caller and update your system.

david

Hi, thanks both for the answers. Unfortunatelly, this countdown has to be in real time, as they want to be able to warn the customer that they have only one minute left on their account, or not admitting customer in the call center if he just spent all the minutes etc.

 

I don't think you're getting what all is possible here. First, you'll need a 3rd party system (CRM) that tracks how many minutes a caller has available. You can call this system via the IVR when the call first arrives and let them know how much time they have, to pay for more minutes, or that they can't be serviced because of lack of funds. Next, when the call arrives to an agent you can reach out to the CRM when the call started talking (I would do this via a gadget). So now you have the start time. When a call starts talking I would then run a query every 5 minutes to find out the stop time by hitting the DB directly. No, this is not real time, but pretty darn close.

david

You can announce that while the caller is in queue, or check before admitting them to the queue. The script ends when the call is connected to the agent, so the actual debiting of minutes will have to come via some other mechanism after the call has ended.

AFAIK the latest release of CCX is 12.5 SU3. Not sure where you got version 14 from?



Response Signature


yeah, my bad...12.5

I think i would make a custom gadget that does the following.

  • Whenagent answer the call, finesse makes a request to the backend system and gets the time left.
  • Show this as a counter in you custom gadget.
  • If/When the call is on hold, stop the counter.
  • When the call is transfer (or dropped), update the backend system with time left.

  

Please rate helpful posts and if applicable mark "Accept as a Solution".
Thanks, Thomas G. J.