08-29-2017 06:43 PM
Hi there,
I'm working on an IVR application in CVP that as part of a identification validation process ask the caller for a phone number at which the caller can be reached at. Once the CVP IVR app captures the telephone number, the application should end the call and then right after should dial out the telephone number gathered previously. Has anyone done this before? The CVP model we have is Comprehensive.
Thanks in advance,
Carlos A Trivino
08-29-2017 08:43 PM
Hi Carlos,
You can use form element to collect the input and transfer element to place an outbound call.
Example:
More Info on Transfer element:
The
Transfer
voice element performs a call transfer to a phone number specified by a configuration setting. Depending on how the voice browser is configured, the call transfer can be a bridge transfer or a blind transfer. For a bridge transfer, the voice browser makes an outbound call while maintaining the original call and acts as a bridge between the two calls. The advantage of this is that once the secondary call ends, the original call can still continue with the IVR. The disadvantage is that two separate phone lines are used. For a blind transfer, the voice browser makes an outbound call and when connected, links the original call to the new caller through the use of a telephony switch. At this point, the voice browser (and as a result VXML Server) is no longer in control of the call. Blind transfers involve only one line.
For your setup you should use blind transfer.
08-30-2017 05:54 AM
I think that if the VXML Server app hangs up on the caller, then the ICM
script will also end, and so the call flow will end.
To me, it sounds like you'd want to use the Personal Callback
functionality of the Outbound Dialer.
I don't know much about the dialer, but you should google that
functionality - I bet it's what you'd need to use.
08-30-2017 06:14 AM
Quite a few possibilities but it really depends on what you want to do with the call once it's been returned.
08-30-2017 06:57 AM
Thanks Paul, what I want to do with the call is once the IVR dials back and the caller answers the call the IVR will continue serving the caller offering a two options: 1. Activate a card (more data will be asked to the caller to complete the activation process) or 2. Talk to an agent (in which the call will be transferred to skill).
I've been looking at the Courtesy Call back logic ( the different CVP scripts) and there is a check to determine whether a particular call is a candidate for a call back. So to your point of configure call back to be made immediately, how can this particular step be skipped? Also, I understand that CCB works under the premise that the call is in queue so that real EWT time is tracked, so, how to skip all those steps to make a call back if the call is not in a queue but rather is on CVP being self-served?
Thanks again Paul.
Carlos.
08-30-2017 04:51 PM
Carlos,
To use the standard CCB script as the starting point, to invoke an immediate callback, the following should do it:
You are the one that specifies what EWT value is passed from the ICM script so you can set it to anything you want. Although the call must be in queue for the call to pass the checks, just queue it and make sure your initial VRU script is non-interruptible (which should be the case anyway in the sample). Alternatively, you can queue the call but set a Consider-If expression to block it from ever going to the target.
I think that should achieve what you're asking.
Paul
08-30-2017 06:17 AM
Carlos,
So you can do this by using the Cisco Courtesy Callback nodes. You can use the Intercept Caller Hangup node to allow the caller to hang up or you can hang up on the caller and keep the VRU leg alive. Then you can use the Reconnect Caller node to get the caller back on the phone. This will not only allow you to verify the caller, it will also allow you to keep the same trunk and maintain a continuous call data and logging.
08-30-2017 07:03 AM
Thanks Martell, so you mean that in my CVP app I can use the Courtesy Callback nodes to disconnect the caller, then dial out to reconnect the caller back and then continue offer the caller with self-served options? Is this supported by Cisco? If this is the case it seems a very good option.
Thanks.
Carlos.
08-30-2017 04:55 PM
Correct, this would be using the CCB nodes but without invoking any CCB logic. So you wouldn't really be going into the CCB call flow. As Paul mentions below you can use the CCB scripts as a reference to how the nodes I am describing work. I will try and mock up what I am describing and post it here in a few.
I would recommend putting some qualifiers in the retry loop so you don't kill your resources on failed attempts, but something like this should do what you are looking to do.
08-30-2017 05:18 PM
08-30-2017 05:18 PM
You may have to play with the outbound dial string to match your particular needs.
08-30-2017 05:54 PM
okay, so it looks like I have to do a bit more testing. Like Paul did state, we will have to get the CCB engine involved to some extent. I am trying to get this working in my lab now. I will post more as I test.
08-30-2017 06:28 PM
Thanks Paul and Martell. Yes, as you said Martell it looks like we have to use the actual CCB engine to make it work. The lab I have access to currently doesn't have CCB configured yet (I think there is some tcl scripts related stuff that has to happen at the VXML gateway level so that CCB works) so it is going to take some time to get that done.
In the mean time, I want to be sure I understand Paul's steps. Currently in my IVR (CVP app) we determine that the verification process needs to call back the caller. Therefore, we ask the caller for the phone number he wants to be called back.
So as per Paul:
1. My IVR terminates the call once the phone number is entered by the caller. My IVR returns the control back to ICM.
2. Once in ICM, the code has to invoke the ICM CCB script as it were a normal CCB process.
3. In there I have to queue the call to a dummy skill, making sure that the initial VRU script is non-interruptible. Also, I have to set EWT that is passed from the ICM script to something small (e.g.: zero).
4. In the CVP CCB scripts the config has to be set like:
5. I think that at this point the call will be added to the CCB database table as it were eligible for CCB.
As soon as CCB is properly configured in the lab I have access to, I'll give it a try.
If there is something I misunderstood or is incorrect, please feel free to correct me.
Thanks again Paul and Martell.
Regards,
Carlos.
08-31-2017 02:56 AM
It's slightly different but you're on the right lines:
09-01-2017 08:31 AM
Thanks Paul, this makes things clearer.
This is truly appreciated.
Regards,
Carlos.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide