I have a situation where I need to be able to set up a call menu using three digit options instead of one for a direct intercom dial in group. For example, during or after the main prompt, the user needs to be able to dial extension "701" and have the call transfer to "2051110701". I have it working now using three menus, one for each digit in the "701" number with the last menu performing the actual transfer. Does anyone know of a better way by using one of the Get Digit String or Send Digit String options?
Solved! Go to Solution.
I would recommend you to use Get Digit and save the entered digits in a variable. I assume that you use a Place call step after your menu construct? If so you would be able to keep this and use the variable from Get Digit with a concatenation to prefix the needed digits, “2051110“, to form the actual number format you use “2051110701”.
Roger is correct. The VRU script params you want to use at a minimum us GD. From there you can add limits on minimum and max number of allowed digits. You should also try to do an additional validation to ensure the entry is valid. For example, if you don't have an extension 000.
Thanks for your reply. Could you attach a screen shot example of the setup you are describing. I tried some tests with the get digit function but I'm not that familiar with how it is designed to work. Thanks again for your help.
Here's one way to do it:
caller_input = Get Digit String(--Triggering Contact--, p[choices]) Successful Label Handle Input: Switch (caller_input) Case "1" Label Default Option: /* Do Option 1 Stuff Here */ Case "2" /* Do Option 2 Stuff Here */ Case N /* Do Option N Stuff Here */ Case Default /* Attempt transfer if digit length is correct for extensions */ If (caller_input.length() == 3) True Set transfer_to = "2051110" + caller_input Goto Transfer the Call False Goto Default Option Timeout Goto Handle Input Unsuccessful Goto Default Option
EDIT: Fixed the extension prefix. Thanks Roger!
Apart from one tiny part that should be this you outline would work @Anthony Holloway
Set transfer_to = "2051110701" + caller_input change to Set transfer_to = "2051110" + caller_input
Try "2051110" + caller_input. Right now you're passing a string "2051110 + caller_input". As a debug tool set dynamic data into a variable so you can see it be set to what you expect.