uccx menue script

Answered Question
Mar 24th, 2009

we running uccx 5.0.2SR2 enhnaced and in one of our scripts we present the customer with a menu option (ie, to reach sales, press 1, to reach service press 2)

Is there any way that if you state in your greeting 'if you know your party's extension you may dial it at any time' to collect those digits with out them having to input some filter key within the menu first in order to collect the digits and transfer the call.

Thanks in advance.

I have this problem too.
0 votes
Correct Answer by Anthony Holloway about 7 years 8 months ago

Don't think "Menu", and think "Get Digit String"

Pseudo Script:

:QueueLoop

callerInput = Get Digit String (P[if_you_know] + P[sales1_service2])

-- Successful

---- :CheckCallerInput

---- if (callerInput.length() == 1)

------ true

-------- switch (callerInput)

---------- Sales (Option 1)

------------ Call Redirect x12345

---------- Service (Option 2)

------------ Call Redirect x23456

------ false

-------- if (callerInput.length() == 5)

---------- true

------------ Call Redirect callerInput

---------- false

-- Timeout

---- Goto CheckCallerInput

-- Unsuccessful

Goto QueueLoop

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
Correct Answer
Anthony Holloway Tue, 03/24/2009 - 12:39

Don't think "Menu", and think "Get Digit String"

Pseudo Script:

:QueueLoop

callerInput = Get Digit String (P[if_you_know] + P[sales1_service2])

-- Successful

---- :CheckCallerInput

---- if (callerInput.length() == 1)

------ true

-------- switch (callerInput)

---------- Sales (Option 1)

------------ Call Redirect x12345

---------- Service (Option 2)

------------ Call Redirect x23456

------ false

-------- if (callerInput.length() == 5)

---------- true

------------ Call Redirect callerInput

---------- false

-- Timeout

---- Goto CheckCallerInput

-- Unsuccessful

Goto QueueLoop

Jeff Thompson Tue, 03/24/2009 - 15:25

Thanks for your response. I tested the script you suggested and it works though I am still faced with having the customer enter a 'filter' key for this funtion.

In this case if the customer knows the party's ext, they would be entering a 4 digit number, if they want to reach a department they would be entering only 1 digit: 1, 2, ect... for the options. So I assuming within my 'Get Digit String' I need to have my 'input length' set to 4 in order to collect all possible digits, but by doing so I need to specify a 'Terminating Digit' in order to only collect 1 digit to route them to the option they choose in which case I am forced to let the customer know about a filter key they must press to route their call occordingly.

Is there still any way around this?

Thanks

Anthony Holloway Tue, 03/24/2009 - 17:26

So don't let them have a terminating key, and set the input length to 50. This forces them to the Timeout branch. Even if a Timeout occurs, you still get the digits they entered.

Jeff Thompson Wed, 03/25/2009 - 09:35

Yes that works. I also needed to adjust the "Maximum Retries" to '0' other wise if I didn't reach my Input Length it would ask me "are you still there" and want me to re-enter my options.

Thanks for all your help

villarrealed Wed, 03/25/2009 - 12:28

You can also move the if & switch nodes after the entire get string step (leaving the success and failure nodes blank). This keep callers from having to wait for the timout.

Anthony Holloway Wed, 03/25/2009 - 12:49

I will challenge that and say the Timeout still plays regardless of where you place the if and switch steps. Yes you can move them out of the Successful branch, however I do not see a logical reason for moving it.

villarrealed Wed, 03/25/2009 - 12:56

Set the input length back to 4 from 50 and as soon as a caller enters the 4th digit, they will go to the transfer step. You will still encounter a timeout on the menu options because it is waiting for the 4 digits. You can lower the timout and interdigit timeouts to reduce the wait time though.

Anthony Holloway Wed, 03/25/2009 - 13:06

So you agree then. Moving the if and switch steps do not eliminate the timeout?

Additionally, I would suggest not lowering the timeouts lower than 3 seconds, or you run the risk of frustrating callers who want to dial by extension.

The reason for setting the input length to 50 is so you don't have to care what the dialplan length is.

villarrealed Wed, 03/25/2009 - 13:11

I agree, you will not completely eliminat the timout. But this is one instance where you could take the interdigit timout down to 1 or 2 seconds because people typically know the 4 digit extension that they are dialing. If this was an account number I would say put the interdigit to 5 seconds, but 1 should be fine here.

Actions

This Discussion