When a Voice IVR sends a link to a caller, who then opens the 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. The Voice Proxy utilizes an onCall flag (set by the Voice IVR) to determine whether or not the call is still open.
Note: Voice Proxy is the communication channel between Visual IVR and the Voice IVR. For more information about Voice Proxy behavior and the Voice Proxy APIs, refer to IVR Integration.
When a customer navigating through a visual Interaction in an open call scenario hangs up (or the call otherwise becomes disconnected), the value of the onCallHangup setting (in the ProjectConfiguration.xml file) determines whether or not the visual Interaction will continue:
- If the value is Continue, the Visual IVR Interaction continues.
- If the value is Finish, the Visual IVR Interaction ends.
The diagram below shows the complete flow when the onCallHangup setting is set to Finish. The phases of the flow are explained in the sections below the figure. For details about the methods described, refer to IVR Integration.
- 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. The value of the flag can be true (call is still connected) or false (call has become disconnected).
- Phase 3: Whenever the customer clicks Next or Back in the Interaction, the Visual IVR gets the value of the onCall flag, using the getMapping API. If the value is false (indicating that the Voice IVR call has ended), the visual Interaction also ends, and a notification message is displayed on the Interaction page.