First question, I have DigitWithConfirm element, the element suppose ask the user to enter (exactly) 4 digit number and followed by pound key. In my original thought, if user enter pound key, it should treat as terminated character by default, which means if I specify the min digits and max digits into 4 & 4, when user enter 4 digits and enter the pound key, the system should know that is a 4 digits value, but actually, the pound key carry out to confirm prompt, that cause confirm nomatch prompt invoked. If I specify the min digits is 4, and max digits is 5, the positive behavior is what I want. But if user enter 5 digits without pound, the confirm prompt will still bring it up. (It suppose invoke Digit Nomatch prompt). My question is, based what I experienced, the pound key that enter by user also count as digit, right? If yes, the only way I want to make the expected behavior is break down the whole DigitWithConfirm element into DigitElement, Counter, for total no match Validation Modifier, Confirm Menu?
Yes, with DTMF Gateway - MaxDigits indicates when to stop listening for
What you 'could' do - is set MaxDigits to 4. Then disable bargein on the
Confirm_Initial audio group. That clears the dtmf buffer.
But, it forces the caller to wait until the entire initial audio group
is finished playing before entering a 1 or 2.
You mean user need to wait Confirm initial finish playing, then he can confirm or disconfirm right?
If you need to clear the DTMF buffer before confirming, but if you don't want the caller to have to listen to the entire confirmation prompt before pressing 1 or 2, then don't use DigitsWithConfirm.
Use a Digits element, followed by an Audio element (with barge-in disabled and a short audio prompt) followed by the YesNoMenu.
The truth is that the DigitsWithConfirm element sends a separate Digits collection to the gateway. Then returns to vxml server with the result, followed by a separate YesNo menu page being sent to the gateway. So doing it as separate Studio elements is not less efficient at runtime. Just a few more elements to manage in the app.