cancel
Showing results for 
Search instead for 
Did you mean: 

Leave CB request before entering queue

aldets
Participant
0 Kudos

Greetings wise wizards,

Scenario:

Customer calls, IVR plays prompts, that queueing time is long, to receive a callback, press 1, call is forwarded to Callback IVR to create a callback.

I've tryed modifying the custom CB IVR but always end up with the same result:

ERR> <class 'KeyError'> : 'PrevMovingNumber'

What I'm trying to achieve is that a customer is able to leave a callback request before the call enters any queue. I know that the default behaviour is that a call is going to a queue and there at a given time the customer is able to activate the callback creation.

I also know that I can achieve it by using dummy queues, but I'd rather not do that.

Has anyone managed to fool the system to give a PrevMovingNumber inside the IVR? As I understand then even though the call goes to the first IVR, from there the customer want's a callback, the call goes to the callback IVR, then the PrevMovingNumber won't be the first IVRs number. It always wants to be a queue number.

Kind regards,

Alder Tsvetkov

Application administrator

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hi Alder,

This queue number information is used for allocating calls to correct queue and is therefore mandatory. Means that you need to give the information in a way or other.

One solution could be to use restful interface for creating the callback, but then there is the problem that rest language is not supported within IVR and customizers would be needed to enable it. (the callback feature is in FP16 under CMI interface).

BR,
Jukka

aldets
Participant
0 Kudos

Hi Jukka and thanks for your answer.

Using CMI to create callbacks actually sounds like a pretty good idea, thanks. I´ll definitly try it out.

Regarding the PrevMovingNumber then I don't belive that it is actually used anywhere since I can reassign these variables in the "CallBackToDatabase" block except the data that comes from "self.CALL":

"QCBRequest.Create(self.CALL, QueueNumber, CallbackQueueNumber, CustomerNumber )".

Using reaasigned QueueNumber, CallbackNumber and CustomerNumber I can initiate the callback. When the "self.CALL" returns the PrevMovingNumber I don't need it. Even if it had a dummy value like 999, then in the callback process the number 999 isn't used at all.

Kind regards,

Alder

0 Kudos

Yeap. Might be that I remember wrongly... If you want us to check what is the role of prevmovingnumber please create a incident.

Also a tip about the callback resource in CMI. To use it an user needs following right that can be given to role or user directly. The needed is found from user rights, from type dropdown select Callback and then select modify & create. That will give user enough power to create and modify callback objects in the system.

For testing purpose then just download a app that can do rest queries, set the tool to basic auth mode and copy example post command from help pages.

//Jukka

aldets
Participant
0 Kudos

Thank you for the additional tips.

I managed to get the CB creation with customizer and CMI up and running. Also added active Callback checks for incoming call. Works perfectly.

I must say, that this solution is much better, more compact and way easier to read. So thanks again for suggesting to use the CMI. I don't know why I didn't think of it myself. We use it with website already.

Alder

0 Kudos

Hi Alder!

I have the exact same problem now. Could you please describe in more detail, how you solved it?

Answers (1)

Answers (1)

rohearv
Discoverer
0 Kudos

Hi Alder,

the callback IVR is just inserting an entry to the callback database.

So you just need to replace the two ASSIGN actions with your own data (instead of using data from the call).

QueueNumber: this needs to be a number that is assigned to a queue!
This number will be shown to the customer when the call is placed. So in general this is your inbound number or any toll-free number so that the called customer can identify your company. I believe this queue name with that number is also referenced for historical reporting later on.

This part is also a little bit tricky if you have internal and external numbers assigned to the same queue. In this case you should set the external number manually in the IVR.

CallBackQueueNumber: this needs to be the internal queue number of your callback queue.

That's all 😄

BR

aldets
Participant
0 Kudos

Hi,

Thanks for your answer, but it's not that simple with internal Callback IVR. It is not just simly inserting a callback request to the database. It makes many checks for different numbers.

The parameter "PrevMovingNumber" must be provided, so the call must go through a queue. I have tested it many many times. The parameter's value can't even be mimiced or set as a dummy variable. I've analyzed the CEM python files and it must be a queue number.

Since the launch of Restful Interface and the CMI endpoint with Callbacks, you can generate Callback's directly in the IVR without the call entering the queue first.

Overall I'm currently using the solution where the Callback is generated in the first IVR via REST API. I must say, it is actually alot easier and alot more flexible. With the the various REST API endpoints I can very easily check if a customer already has an active Callback or not.

Kind regards,

Alder