How Do I Resolve the Problem of Infinite Loop During Interaction Between the IVR and ODFS?

Description

When the voice fails to be played in the IVR dialing test due to reasons such as the TTS connection exception or the file non-existence, the flow ends abnormally. The check of the IVR and ODFS logs shows that the infinite loop may occur. The main symptom is that the TTS keeps reporting the system error.

Analysis

When the IVR fails to play the voice returned by the system, the IVR sends a sys_err request to the OIAP system. The system cannot process the sys_err request again and triggers an exception. However, the system does not find the exception subflow in the dialog flow, and therefore the default abnormal TTS content of the IVR is returned.

The IVR fails to play the default TTS content and continues to send the sys_err request to the OIAP. The OIAP continues to trigger an exception. Even if the customer hangs up, the IVR business fails to capture the hang-up event. The IVR simply continues sending the sys_err request. As a result, an infinite loop occurs.

Based on the preceding analysis, the possible causes are as follows:

  • The sys_err intention is not configured or identified.
  • No abnormal condition branch is configured in the dialog flow.

Solution

Check the intention templates and dialog flows as follows:

  • Check whether the branch judgment is comprehensive.
  1. When defining condition branches for diagram elements, ensure that the set of all conditions contains all normal and abnormal scenarios. If some scenarios are omitted, some actual result may fail to match any of the configured branches. If no condition is selected for the subsequent connection line of a diagram element, the connection line is the default branch. The connection line of this branch must be processed.

  2. An exception subflow needs to be created in the dialog flow. In the subflow, a system exception voice can be simply played. The system only needs to support voice playback and does not need to support key pressing and identification. After the voice is played, the flow ends directly.

  • Check whether unknown intentions are configured in the intention template.

    In 8.9.0 and 8.10.0, several common intention templates have been preset in the new domain. Ensure that these templates are not deleted. If no unknown intention exists, configure one and ensure that Command on the Response tab page of the unknown intention is set to UNKNOWN_INTENT, as shown in Figure 1.

    Figure 1 Unknown intention configuration page