Configuring IVG Genesys for Second-Chance Callback
Second Chance Callback allows calls in queue, that declined the On-Premise Callback option prior to entering the queue, to be re-offered a callback at recurring time intervals. If a Second Chance Callback is accepted by the caller, they exit the queue and receive a callback.
The Second Chance routing strategy for IVG Genesys is available in the Mindful Download Center.
Second Chance Callback for IVG Genesys is available with:
Callback version | VXML Interaction Server (VIS) version | Interactive Voice Gateway (IVG) version |
8.11.0 or later | 6.7.0 or later | 3.6.0 or later |
For additional compatibility details, reference the compatibility and integration matrix.
Before you begin
- Verify your solution is licensed for Second Chance Callback. For questions about your current licensing terms, please contact your Mindful representative.
- Gather the following information for your VHT Callbacksolution:
- IP address of Platform Toolkit (PTK)
- Tenant name
- Prompt .wav file used to re-offer callbacks (if not using the default .wav file provided by the VHT Callback application)
- IP address of the SIP server where the call is transferred from IVG
- Trunk prefix to send the call to IVG and the number that will be sent as a DNIS when the call arrives to IVG. This is used to launch the Second Chance application
- Target SIP switch name where the IVG Trunk DN exists
Second Chance subroutine
The caller re-enters the inbound IVG queuing strategy when the caller chose to hold.
The Target block continues to target agents, but also has a timeout used to trigger the Second Chance Callback where a callback is re-offered
The Second Chance Callback subroutine routes the call to the Interactive Voice Gateway (IVG), and attaches the necessary call and user data KVPs to the call if the Second Chance offer is accepted. The VXML Interaction Server (VIS) is re-executed to register the callback.
Once a caller chooses Second Chance Callback, the current interaction is removed from its original queuing position, and the newly registered interaction is placed at the end of the queue.
Key Value Pairs
The Second Chance Callback subroutine uses the following key value pairs (KVPs):
KVP | Description |
VH_TransferDestination | SIP address where IVG transfers callers that choose to hold, or callers who received their callback and selected to speak to an agent |
VHT_VIS_Segment | Segment configured in VHT Callback used to create new interactions in VIS and IVG. |
Configuring the Second Chance callback subroutine
The Second Chance callback subroutine can be downloaded from the Virtual Hold download center, and placed in your inbound queuing strategy.
To configure the Second Chance callback subroutine:
- Download the Second Chance callback subroutine from the Virtual Hold Download Center.
- Add the subroutine after the agent Target block.
- Modify the Targetblock to offer the caller Second Chance Callback.
- Deselect the Clear Target checkbox.
- Set Timeout to the number of seconds the between Second Chance Callback offers.
- Within the subroutine, modify the Multi Assign Variablesblock to collect and attach the following variables to the call:
VH_PTK_URL='http://PTKIPAddress/VHTPlatformWS-v5/VHTPlatformWS.asmx?WSDL'
Where PTKIPAddressis the IP address of the server or virtual machine (VM) installed with PTK.- VHT_GetOfferDecision_URL='http://PTKIPAddress/VHTPlatformWS-v5/VHTPlatformLiteWS.asmx?WSDL'Where PTKIPAddressis the IP address of the server or virtual machine (VM) installed with PTK.
- VHT_Tenant='TenantName'Where TenantName is the name of the tenant.
- VH_VXML_App='VIS'
- Modify the Attach block to build the following expression:Cat[Cat['sip:',Dest[]],'@sip server IP/port,'']Where:
- Enter Key VH_TransferDestination
- Enter Value Dest[]
- A routing point number may be used in place of Dest[]
- Append the expression with the IP address of the SIP server where the call is transferred from IVG.
- Modify the Play Announcement and Collect Digitsblock
- On the Parameterstab:
- Enable the Wait for Treatment end checkbox.
- Set the digit used to confirm the caller wants a Second Chance offer
- ON the PROMPTtab:
- Upload the re-offer prompt .wav file
- On the Parameterstab:
- The default .wav file provided by the VHT Callback application is located at C:\Program Files\GCTI\gvp\VP Media Control Platform 8.5\MCP_850\announcement.
- The Second Chance Callback subroutine plays one reoffer .wav file. The language of the .wav file will be the language the Second Chace Callback reoffer prompt plays.
- Modify the Collected Digits Ifexpression block to verify the digit entered by the caller matches the digit pressed to receive a callback.
- CED[] = 'EnteredDigit'Where EnteredDigit is the digit entered to receive a callback.
Verify the value for Entered Digit matches the re-offer prompt.
- Modify the Function block where the call is sent to IVG to build the following expression:TRoute['IVG48150','',RouteTypeUnknown,'']Where:
- Name - TRoute
- Parameter - Destination
- Value - Trunk prefix to send the call to IVG and the number that will be sent as a DNIS when the call arrives to IVG. This is used to launch the Second Chance application.
- Parameter - Location
- Value - Target SIP switch name where the IVG Trunk DN exists, OR leave value blank.
- Parameter - Route Type
- Value - RouteTypeUnknown
- Parameter - DNIS
- Value - Leave value blank.
- Save the subroutine.
- Republish the inbound queuing strategy for the changes to take effect.
Use the following table to learn more about the blocks of the Second Chance callback subroutine.
Block | Type | Description | Configuration |
1 | Target | The Target block targets the call against agents, and controls the timeout for the Second Chance Callback offer frequency. |
Target Selection tab :
|
2 | Segmentation |
The call passes to the Second Chance subroutine when they accept the Second Chance Callback offer. If either condition of the following conditions are met, the call exits the subroutine:
|
Build the expression:
Expression: StrLen[UData['VHT_SecondChance_Err']] = 0 | UData['VHT_VIS_DISPOSITION'] = 'hold' Note: The expression UData['VHT_VIS_DISPOSITION'] = 'hold' comes from the VXML Interaciton Server (VIS).Panel content |
3 | Multi-Assign |
Assigns the following variables to the call:
|
Build the following expressions: VH_PTK_URL
VHT_GetOfferDecision_URL
VHT_Tenant
|
4 | Attach |
An update function attaches the following KVPs:
|
Expression: Cat[Cat['sip:',Dest[]],'@sip server IP/port,''] |
5 | Function | Sets the SOAP timeout for requests to the Platform ToolKit. |
|
6 | Function | This function logs the CallID length and VHT_Call_ID. |
Build the expression as:
Expression: Print['***** CallID Length = ',StrLen[UData['VHT_CALL_ID']]] |
7 | Segmentation |
The segmentation block checks to see whether the call is using the External Tracking ID (Genesys UUID) or Interaction ID (VH_CallID). This check is performed so the call is correctly tracked. |
Build the expression as:
Expression: StrLen[UData['VH_CALL_ID']] != 0 |
8 | VH_CallID | If present, the VH_CallID (VH_InteractionID) is assigned to the call, and the call moves to Block 10. |
VH_UUID
VH_CALLID
|
9 | Genesys UUID |
OPTIONAL In addition to attaching the call's VH_InteractionID, the the Genesys UUID (VH_ExternalTrackingID) can also be assigned to the call. |
VH_UUID
VH_CALLID
|
10 | Web Service request | Sends a SOAP request for GetShouldOfferSecondChance to the Platform ToolKit (PTK) with the Tenant and the InteractionID OR the ExternalTrackingID. |
General tab:
Result tab:
|
11 | Segmentation |
If the response from GetShouldOfferSecondChance=N, the call exits the subroutine. If the response from GetShouldOfferSecondChance=Y, the call moves to Block 12. | Add a Segment with the expression VH_Offer !='1:Y' |
12 | Play Announcement & Collect Digits |
Plays configured announcement prompt and collects DTMF input for the callback. For example, the caller presses 1 to receive a callback. The DTMF input is stored as AttributeCollectedDigits |
Parameters tab
PROMPT tab
|
13 | Function | This function logs the CallID length and VHT_Call_ID. |
Build the expression as:
Expression: Print['***** CallID Length = ',StrLen[UData['VHT_CALL_ID']]] |
14 | Collected digits |
Verifies the collected digits match the valid input. If the input does not match, or if no input was given, the call exits the subroutine. |
Build the expression:
Expression: CED[] = '1' |
15 | Web Service request | Sends a SOAP request for InteractionDequeued to the Platform ToolKit (PTK) with the InteractionID or ExternalTrackingID, and the reason ChoseSecondChance. |
General tab:
Result tab:
|
16 | Function |
Clears the target, and the call is removed from queue. Note: The function waits for the InteractionDequeued to finish prior to clearing the target to prevent the call from being answered in queue while the call is sent to IVG. |
Build the function:
Expression: ClearTargets[VH_VirtualQueue] |
17 | Function |
Sends the call to IVG where the caller inputs or confirms their phone number and records their name. If there is an error with routing, the call proceeds to Block 19. |
Build the expression:
Expression: TRoute['IVG48150','',RouteTypeUnknown,''] |
18 | Set Variable | Sets the variable for VH_ROUTED=True, and the call exits the subroutine. | Configure the expression as VH_ROUTED='TRUE' |
19 | Function |
Checks for errors in GVP, IVG, VIS, or if the interaction is not created. This function also ensures the Second Chance reoffer is not invoked if an error condition exists. If an error exists, the KVP VHT_SecondChance_Err=True is attached and the call exits the subroutine. |
Build the expression:
|
What's next?
After configuring the Second Chance Callback subroutine:
- Determine how On-Premise Callback offers callers the option to receive a callback in the Second Chance section of Configuration.
- Enable queue groups to draw from the Second Chance Callback license pool in Feature enablement section of Licensing.