Voice Proxy is the communication channel between Visual IVR and the Voice IVR. The following sections explain how to use the Voice Proxy APIs to integrate the voice experience with Jacada's Visual IVR. 

IVR Integration Workflow

In the typical IVR integration workflow, IVR users indicate that they would like to initiate a Visual IVR session. An SMS with a link to the visual Interaction is then sent to the user's mobile device.

Once the user has initiated the visual Interaction by clicking the link, the Voice IVR polls the Visual IVR for actions performed (e.g., entering an input, or clicking the Next button). When these actions are received by the Voice IVR, the appropriate audio prompt is played. The Transfer action provides the user with the option of switching back to the Voice IVR and connecting with a call center agent.

The main flows that are supported by Voice Proxy are illustrated in the following diagram:

Transfer vs. Call Integration

When a Voice IVR caller opens a link to a visual Interaction, the call to the Voice IVR can be maintained during navigation through the Interaction (open call), or the call can be disconnected (in which case the customer continues with the Visual IVR only). The Voice Proxy utilizes an onCall flag (sent by the Voice IVR) to determine whether or not the call is still open. 

When a customer clicks the Contact Us button, the Visual IVR checks the value of the onCall flag before displaying the Contact Us page. 

  • If the value is false, the call to the IVR has been disconnected, and the Call button is displayed. If the customer clicks this button, the dialer opens.
  • If the value is true, the call is still open, and the Transfer button is displayed. (There is no need for a call, as the customer is already on a call with the Voice IVR.)

 The complete Transfer vs. Call flow is shown in the diagram below. The phases of the flow are explained in the sections below the figure.

  • Phase 1: In the first part of the flow,  the Init method is called to establish a session. An SMS with a link to the visual Interaction is then sent to the user's mobile device. The external session ID for the IVR call is added to the link as a URL parameter.
  • Phase 2: In this portion of the flow, the Voice IVR sets the value of the onCall flag on the external session ID, using the putMapping API. Whenever the customer clicks Next or Back in the Interaction, the Visual IVR gets the value of the onCall flag on the external session ID, using the getMapping API.
  • Phase 3: In this phase, the caller clicks the Contact Us button. The Visual IVR checks the the value of the onCall flag and renders either the Call button or the Transfer button on the Contact Us page. If the customer clicks Transfer, the Visual IVR calls the Add Action API, with the variables of the Routing Data API variable set included as parameters.

Voice Proxy APIs

The Voice Proxy APIs operate using either the REST or SOAP protocol. The following mandatory parameters are received by each call:

tenantId An identifier for the account in the system. Your tenant Id is the value at the end of the URL used to log into the Visual IVR Admin Console
(e.g., https://gointeract.io/admin/login/monitor). 
externalId A string identifying the session uniquely within this tenant (e.g., UCID, ANI, etc.).

The Voice Proxy APIs are made up of the following categories:

  • Management: Calls involving availability and general instructions to the service.
  • Action: Allow a Visual IVR Interaction to send requests to a Voice IVR.
  • Mapping: Allow synchronizing of data between the Visual IVR and Voice IVR.