Hi, We are trying to develop a custom app, where a caller in Q is asked if he needs to get a callback as all agents are busy. If yes, the caller is prompted in the IVR to input his call back number and time. This is captured and stored in a custom database. Now the question is:
1) We want to track in which skill the caller was queued.
2) Allow the caller to select a time during the business hours of that skill.
3) Generate a callback through the UCCE at the specific time requested.
4) Call strategies for Successful and unsuccessful calls.
Can GED 188 APIs help us here, any and how can we send event to UCCE to generate a makecall and patch it to an available agent?
Help is most appreciated. Thanks.
GED-188 doesn’t help with this, you need to do this in IVR and ICM scripts. A CTI GED-188 app does not have access to the skill that was queued and you cannot schedule a callback using GED-188 when the call has never been delivered to an agent.
What you are needing is ICM and IVR scripting support. This is not provided by DevNet Developer Services.
There is a fee-based service for ICM and IVR scripting from Cisco Customer Collaboration Service Line (CCSL)
yeah, you cannot use GED-188 for this. How are you planning to make a call through UCCE? CVP/ICM does not make a call. Ok. Anyway, here are some ideas.
- Use the Dialer (Outbound Option) - throw the records into the personal callback table.
- Custom CTI Desktop - Keep the callback data in a table. Customize Finesse/CTIOS desktop app to poll the table every few seconds when the agent is not busy. Before the time of the call, automate the process of making the agent go not ready and dialing. Though you can achieve what u want to do, u will have issues where some agents will make more calls than others. Will not evenly balance.
- Custom develop app using web dialer. At the time of the callback, use web dialer to dial UCCE RP, reserve the agent and then transfer the call to the customer. That is a possibility.
Thank you dlender and Sanjeev for your valuable insights.
The message ref guide has the Client Control Service msg MAKE_CALL_REQ and other messages.
The CALL_ESTABLISHED_EVENT we can detect whether the call is answered by the human or an answering machine and then route the call to that particular skill queue.
The intent is to develop and integrate a Solution that registers as a CTI applicaton with CTI server and at the time when the callback was requested in the IVR, a callback is generted on behaf of the Q skill group and Q'ed back for the next available agent to answer.
1. Customer calls into the call center. (inbound call for call enter)
2. Waits in the Support Q, with high EWT.
3. Q plays back "if you want to receive a call back at a certain time Press1, To remain in the Q Press 2.
4. Customer presses 1.
5. IVR plays" Please enter yout callback number".
6. Customer enters his callback number.(DTMF inputs)
7. IVR Plays "please enter a time when you want a callback in HHHH format. i.e 1030 for 10:30 AM or 1600 for 4 PM"
8. Customer enters "1530" for 3:30 PM (DTMF inputs)
9. System needs to call th customer at his requested time and put him back in the same Q he was earlier for the next available agent to answer.
The above is not a personal callback, neither Coutesy Callback. it is a normal call back at a customer's preffered time captured in the IVR.
All the above call details, Q, skill group, callback number and callback time is captured and saved in the custom database table. In ICM I can use all the above as call variable to Q the call in the same skill group and also to pass these information to Finesse agent desktop as screen pop.
My application will have a spooler running and check for callback time. A call back time is found and wants to make a call to that customer. How can I interface with UCCE to initiate a callback to customer at his requested time, if GED-188 is not the solution? Any ideas very helpful.
Thank you again in advance. Rgds.
Look at this. I have not used it personally but always wanted to look into this. This is a great option for callback. That should serve your purpose.
At the time of callback, leverage the API to make the call to the customer. Based on the response, if the customer answers the call, transfer the call to the Queue RP/CVP DN to get handled through an ICM routing script.
One more option is to use the CTIOS Code (code is available as part of the CTI toolkit) and customize it to automatically login to a phone, make the call, and once the call is answered (established event), transfer the call to the queue and the phone is released for the next call.
And the other option that I had mentioned before the personal callback (not personal but VDN based) using the dialer.
Thank you Sanjeev for the inputs.
Just a thought :-
1) How will the makecall soap detect whether the call answered is a positive human voice or answering machine or number not reachable tones. In short will it capture the CPD (Call Progress Detection)? which message is that?
2) If the call is answered by a Human, How will I transfer that call to Queue RP / CVP DN for handling it in ICM routing script.? I did not see any other call control event like transfer, hold, conf.
Like I said before, I haven't used it. You will have to research it. I am not sure about how much detail it will provide. Just threw in some ideas.
One thing that concerns me is that putting the customer back into the queue. If I was a customer and want a callback, I would like a live agent and not the queue. Just saying. That will make your life easier also. Then, you can just customize your CTI Client to make the call from the agent desktop and the agent can do manual CPA. Automated CPA is still not going to be perfect.
The Cisco Outbound option (Dialer) will give the exact CPA responses. Not sure if the web dialer will give CPA responses, you will need to do your due diligence on it.
Do you have outbound option installed? That is the one app that I can say will definitely you the CPA response.