How to handle delay from bot for SAVG voice channel and avoid call closure and meanwhile have a filler music for the user

Summary of the use case:

1, Bot flow collects all details ( ID etc) to invoke an API to do transaction update such as Payments, Address update etc,
2, when the API is called, want the BOT to play a filler sound till API returns value or times out. This is to provide an user experience with some action music (such as key strokes) while API is executed… Ideal scenario, the filler music is short and API return value… in case of API time out, caller will hear filler music vs silent on the call.
3, Upon API timeout or value return, the flow should continue the path based on the API response and filler music should be played dynamically based on the duration of API call and not the full audio

Please advise how this can be achieved in 10.x platform.

Hi Subramanian

Thanks for reaching out to Kore.ai Community.

Please find the below solutions to add the filler music during the API call execution. There might be two cases where you can have the service node which calls an API.

  1. Service node is added after the Entity, Confirmation node (where the bot expects the input from the user).
  2. Service node is added after the Message node.

Case 1: Service node is added after the Entity, Confirmation node:

  1. In the entity node, please add the below call control parameters at Entity node → Configuration → IVR Properties → Advanced Controls → Call Control Parameters.

botNoInputGiveUpTimeoutMS : 30000
botNoInputTimeoutMS : 3000
botNoInputRetries : 1
botNoInputUrl :

Attaching the screenshot for reference:

Here, the time you have at botNoInputGiveUpTimeoutMS , botNoInputTimeoutMS is in milliseconds (ms).

The time you have configured at botNoInputTimeoutMS makes that the bot to play the Audio File that you have configured at botNoInputUrl.

  1. After the service node (Bot Action node), have a message node and use the below script to abort the audio file.
print(voiceUtils.play("<Sample_Message_prompt>",false));

This script will abort the Audio which is being played by the bot once the service node executed successfully.

Attaching the screenshot for your reference:

Attaching the complete flow for your reference:

Case 2: Service node is added after the Message node:

  1. Have a message node before the Service node to play the Audio. Please configure the below channel override script for SAVG channel in the Advanced mode.
var message = {    "type": "command",    "command": "redirect",    "queueCommand": true,    "data": [        {            "verb": "play",            "url": "<Audio_File_URL>"        }    ]}print(JSON.stringify(message));

Attaching screenshot for your reference:

  1. After the Service node, please have a message node and use the below script to abort the audio file.
print(voiceUtils.play("<Sample_Message_prompt>",false));

This script will abort the Audio which is being played by the bot once the service node executed successfully.

Attaching the complete flow for your reference:

My bot use Japanese as ASR languge.
I am using case 2 to implement the waiting music.
But the ASR seem broken after that.
The bot received input as english after that.
Do you have any idea, does the Voice Until breaks the ASR setting