Audio Pauses - Bug?

Discussion in 'Call Flow Designer' started by DL_, Feb 13, 2018.

  1. DL_


    Mar 31, 2015
    Likes Received:
    Hi. I've had an issue with a Voiceapp that has been driving me crazy as I couldn't work out what the problem was.

    I was using the TTS and the system was working fine but then I decided to convert to static WAVs and use the demo looping digit component to play out numbers.

    However there was approx 1 second pauses between each digit when I was using the component. I tried recreating it from scratch and hours trying to debug but couldn't find the problem. Eventually I found that I had put "AllowDTMFInput" to false on my version as I don't want digits to interrupt it. However the demo version had it set to true. This turned out to be the cause of the long pauses. I confirmed by turning DTMFInput off in the demo version and it started to pause.

    I thought there might be pauses while waiting to get a DTMF press but not if it is turned off?

    Attached are the logs for the relevant part when true and false.

    Attached Files:

    #1 DL_, Feb 13, 2018
    Last edited: Feb 13, 2018
  2. edossantos

    edossantos Support Team
    Staff Member 3CX Support

    Jun 27, 2007
    Likes Received:
    Hello @DL_,

    That is a known issue. You should only set AllowDtmfInput to false to the last component playing a file in a sequence. That way playback is smooth and the final pause is not noticeable.

    When you set AllowDtmfInput=false, the CFD app sends the audio for playback to the queue manager, and waits for a confirmation that the playback has finished before moving to the next component and play the next file. This causes a small delay between audio files playback. On the other hand, when you set AllowDtmfInput=true, audio files are queued internally in the CFD app, and sent all at once when a Menu or User Input component is reached, when DTMF input is required. This way there is no noticeable pause between audios. But, if you do need to avoid DTMF input, what you can do is setting AllowDtmfInput=false only to the last Prompt Playback. This way all audios are queued internally and sent to the queue manager at once when they're all ready. If you're in a loop playing files, something you can do is setting AllowDtmfInput=true when you play the digits in the loop, and just after the loop add a Prompt Playback component with AllowDtmfInput=false and set it to play the "empty.wav" file from the 3CX installation, which has zero length.

    Kind regards.
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...