cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements
278
Views
35
Helpful
8
Replies
Highlighted
Beginner

Call Menus in Scripts

Hi,

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?

Thanks

Dale Shew

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

Whoops!  Copy paste error!  Thanks!

View solution in original post

8 REPLIES 8
Highlighted
Advocate

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”.

Please rate all useful posts
Highlighted

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.

 

david

Highlighted

Hi Roger,
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.

 

Dale

Highlighted

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!

Highlighted

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
Please rate all useful posts
Highlighted

Whoops!  Copy paste error!  Thanks!

View solution in original post

Highlighted

Thanks Anthony,

I set mine up like this, minus the "If" option but when I debug it, it fails on the call re-direct step and goes to the end.  I attached a screen shot of how it looks.  Could you look at it and let me know what I'm missing?

 

Thanks for your help.

Dale Shew

Highlighted

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.

 

david