I believe you can collect multiple digits, then do a route-to if the digit =1 or =2. The collect step collects up to #### amount of digits. If you enter less than #### amount, it will record what you enters then pass that on at timeout to the next step of the vector.
We used to prompt callers to enter a 1 if they knew their parties extension, then if they pressed 1, give them the option to enter an extension and route to it. This made our vectors longer, and required more announcements. now we prompt for multiple digits upfront, and do our route-to step for single digits as well as for extension numbers from the same collected digits. We also put a step in to go back to the original collect digits after announcement step if the caller enters Zero (for those among us who like to hit zero when they get to any automated menu). It is important to put the route-to for 0 (or any other special dialable numbers) right after the collect step. The route-to will route the caller to any dialable extension in your phone switch if not intercepted in the vector.
Example:
01 wait-time 0 sec hearing silence
02 collect 4 digits after announcement ####
03 goto step 2 if digits = 0
04 route-to number #### with cov n if digit = 1
05 route-to number #### with cov n if digit = 2
06 route-to digits with coverage Y
07 route-to number #### with coverage n if unconditionally
08 busy
09 stop
If your caller enters in an extension (related to step 6) that is invalid, it will ding the event log, and fall through to the next vector step.
This works on r9.5, and not work in all releases.
Does anyone see any other gotchas related to doing routing this way?
JB