I know this has been asked before, but I would like to enable a caller to enter an extension at anytime when they're in a UCCX script without needing a "Menu" or "Get digit string" step.
I had an idea that I could use an "On Exception" step to make this happen - basically if I can make the script generate an exception when digits are received outside of a step that would normally accept digits ("Menu" step, for example) then I could handle that exception and evaluate the digits for a valid extension and connect the caller or loop back to another part of the script if the digits aren't valid, etc.
I reviewed the documentation and it appears that the following child Exception of the parent exception "com.cisco.app.ApplicationException" could do what I want:
AppInterruptedException is caused due to an interruptible action or step
I created a test script with logging but I can't seem to get the exception to trip.
Have you made any progress in your research? I don't think receiving DTMF will throw an exception for you to catch, so I'm fairly certain this is not possible. However, there is something which could help you, which is the DTMF Input Buffer, wherein, a caller can press a key at anytime, and it's stored in the buffer, for you to process later. It's not as clean of a solution as what you were chasing down, but it might just be the only answer.