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.

Note:

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 versionVXML Interaction Server (VIS) versionInteractive Voice Gateway (IVG) version
8.11.0 or later6.7.0 or later3.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_TransferDestinationSIP address where IVG transfers callers that choose to hold, or callers who received their callback and selected to speak to an agent
VHT_VIS_SegmentSegment 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.

subroutine diagram

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
  • 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.

subroutine diagram

Use the following table to learn more about the blocks of the Second Chance callback subroutine.

BlockTypeDescriptionConfiguration
1TargetThe Target block targets the call against agents, and controls the timeout for the Second Chance Callback offer frequency.

Target Selection tab :

  • Deselect the Clear Target checkbox
  • Set Timeout to the number of seconds seconds the between Second Chance Callback offers
2Segmentation

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:

  • VHT_SecondChance_Err=true
  • VHT_VIS_DISPOSITION=callback or cbdc

Build the expression:

  • Name - StrLen
  • Operator - =
  • Parameter - String
  • Value - UData['VHT_SecondChance_Err'

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

3Multi-Assign

Assigns the following variables to the call:

  • PTK URL
  • GetOfferDecision URL
  • Tenant

Build the following expressions:

VH_PTK_URL

  • VH_PTK_URL= ' http:// PTKIPAddress /VHTPlatformWS-v5/VHTPlatformWS.asmx?WSDL'

VHT_GetOfferDecision_URL

  • VHT_GetOfferDecision_URL='http:// PTKIPAddress /VHTPlatformWS-v5/VHTPlatformLiteWS.asmx?WSDL'

VHT_Tenant

  • VHT_Tenant=' TenantName '
4Attach

An update function attaches the following KVPs:

  • VHT_VIS_Segment
  • VH_TransferDestination
  • Enable Update radio button
  • Enter Key VHT_VIS_Segment
  • Enter Value VHT_Segment
  • 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.

Expression:

Cat[Cat['sip:',Dest[]],'@sip server IP/port,'']

5FunctionSets the SOAP timeout for requests to the Platform ToolKit.
  • Select Option parameter
  • Set request-timeout value
  • Select Value parameter
  • Set 3000 value
6FunctionThis function logs the CallID length and VHT_Call_ID.

Build the expression as:

  • Name - Print
  • Parameter - String
  • Value - ***** CallID Length =
  • Parameter - String
  • Value - StrLen[UData['VHT_CALL_ID']]

Expression:

Print['***** CallID Length = ',StrLen[UData['VHT_CALL_ID']]]

7Segmentation

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:

  • Name - StrLen
  • Operator - !=
  • Parameter - String
  • Value - UData['VH_CALL_ID']

Expression:

StrLen[UData['VH_CALL_ID']] != 0

8VH_CallIDIf present, the VH_CallID (VH_InteractionID) is assigned to the call, and the call moves to Block 10.

VH_UUID

  • Expression - VH_UUID
  • Name - CallUUID

VH_CALLID

  • Expression - VH_CALLID
  • Name - "
9Genesys 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

  • Expression - VH_UUID
  • Name - "

VH_CALLID

  • Expression - VH_CALLID
  • Name - UData
  • Parameter - Key
  • Value - VH_CALL_ID
10Web Service requestSends a SOAP request for GetShouldOfferSecondChance to the Platform ToolKit (PTK) with the Tenant and the InteractionID OR the ExternalTrackingID.

General tab:

  • Enable SOAP radio button enabled
  • Enter Web Service URL as VH_GetOfferDecisionURL. This URL is defined in Block 3.
  • Enter Method name ns:GetShouldOfferSecondChance
  • Enter Method namespace ns=http://virtualhold.com/Toolkit/Platform-v5
  • Enter SOAP action http://www.virtualhold.com/Toolkit/Platform-v5/GetShouldOfferSecondChance
  • Enter the following Key Value Pairs:
    • ns:tenant=VH_Tenant
    • ns:interactionId=VH_CallID
    • ns:externalTrackingID=VH_UUID

Result tab:

  • Enable Assign output value(s) to variables by mapping SOAP response value(s) to variable name(s) radio button.
  • Variable - VH_Offer
  • Key from output - GetShouldOfferSecondChanceResponse.GetShouldOfferSecondChanceResult
11Segmentation

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'
12Play 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

  • Enable the Wait for Treatment end checkbox.
  • Enter the parameters and values for collecting the caller's phone number

PROMPT tab

  • Upload the prompt .wav file to be used for collecting the caller's phone number.
13FunctionThis function logs the CallID length and VHT_Call_ID.

Build the expression as:

  • Name - Print
  • Parameter - String
  • Value - ***** CallID Length =
  • Parameter - String
  • Value - StrLen[UData['VHT_CALL_ID']]

Expression:

Print['***** CallID Length = ',StrLen[UData['VHT_CALL_ID']]]

14Collected 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:

  • Name - CED
  • Operator - =

Expression:

CED[] = '1'

15Web Service requestSends a SOAP request for InteractionDequeued to the Platform ToolKit (PTK) with the InteractionID or ExternalTrackingID, and the reason ChoseSecondChance.

General tab:

  • Enable SOAP radio button enabled
  • Enter Web Service URL as VH_PTK_URL
  • Enter Method name ns:InteractionDequeued
  • Enter Method namespace ns=http://virtualhold.com/Toolkit/Platform-v5
  • Enter SOAP action http://www.virtualhold.com/Toolkit/Platform-v5/InteractionDequeued
  • Enter the following Key Value Pairs:
    • ns:tenant=VH_Tenant
    • ns:interactionId=VH_CallID
    • ns:externalTrackingID=VH_UUID
    • ns:Reason=ChoseSecondChance

Result tab:

  • Enable Assign output value(s) to variables by mapping SOAP response value(s) to variable name(s) radio button.
  • Variable - VH_DequeuedResult
  • Key from output - InteractionDequeuedResponse.InteractionDequeuedResult.Result
16Function

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:

  • Name - ClearTargets
  • Parameter - Virtual Queue Name
  • Value - VH_VirtualQueue

Expression:

ClearTargets[VH_VirtualQueue]

17Function

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:

  • 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.

Expression:

TRoute['IVG48150','',RouteTypeUnknown,'']

18Set VariableSets the variable for VH_ROUTED=True, and the call exits the subroutine.Configure the expression as VH_ROUTED='TRUE'
19Function

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:

  • Name - Update
  • Parameter - VHT_SecondChance_Err
  • Name - Value
  • Parameter - TRUE

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.