10-27-2008 09:08 PM - edited 03-14-2019 03:07 AM
Hello Experts,
I have been trying to setup a requirement for a customer which is allow people to dial 0 while queued in order to get transfer to the operator. I was reading over the notes and I find a similar question and the solution was to create a menu step with options where you indicate the caller to dial 0 in order to get transferred. The trick should be to put an extra step so the caller can hear MOH. I am not sure how to make this happen.
Is there any way to capture the DTMF on the script itself to match a get caller input or even a menu with an if?
Thanks,
Juan
Solved! Go to Solution.
10-28-2008 12:08 AM
Hi, is it for IPCC Enterprise or Express?
10-28-2008 05:18 AM
This answer assumes you are using UCCX.
There are a few ways to go about this; however, please understand that UCCX does not have a "press a key at any time" concept. We can emulate this functionality but you will receive the best experience by asking the caller to "press 0 now for an operator" (aka. giving them a explicit request to perform the action instead of leaving it open-ended.)
Options:
1) Add a menu step with a DTMF 0 branch. Allow zero retries to prevent the system from asking "Are you still there?"
2) Add a Get Digit String followed by a If var == 0 statement
If you want to emulate the "at any time" concept, you have two ways of doing it:
1) Add one or more WAV files containing hold music in addition to your prompt. Do not place the call on hold and simply loop through this. This will make the Menu or Get Digit String step [almost] always active and listening for DTMF input.
2) Set all steps within the queued loop not to clear the DTMF input buffer. This should allow the DTMF 0 key press to be picked up by the Menu or Get Digit String step when it is next executed.
Here's how I would do it. For the sake of brevity and remaining on-topic, I've left all of the other script best-practices out of this example. You should still add them... this is just an example. :)
Start
Accept
...script logic...
Select Resource
--Selected
--Queued
----Label: QUEUE_LOOP
----If intLoopCount > 0
------True
--------Menu [Retries: 0, Prompt: P[prompt.wav]]
"All of our representatives are currently assisting other callers. Your call is important to us and will be answered in the order it was received. If you prefer to speak with our operator, press zero now; otherwise, please continue to hold."
----------0 - Operator
------------Dequeue from csqID1
------------Redirect call [Contact: Triggering, Destination: intOperatorDN]
------False
--------Annotate: *Debug placeholder*
----Hold
----Delay: X seconds
----Unhold
----Increment intLoopCount
----Goto: QUEUE_LOOP
...logic...
Terminate
End
If you wanted to do the "at any time" concept, you would need to modify it similar to this:
Start
Accept
...script logic...
Select Resource
--Selected
--Queued
----Label: QUEUE_LOOP
----If intLoopCount > 0
------True
--------Menu [Retries: 0, Prompt: (P[prompt.wav] + P[music1.wav]]
"All of our representatives are currently assisting other callers. Your call is important to us and will be answered in the order it was received. If you prefer to speak with our operator, press zero now; otherwise, please continue to hold."
The music1.wav file will be concatenated after your verbiage. This will keep the Menu step active most of the time.
----------0 - Operator
------------Dequeue from csqID1
------------Redirect call [Contact: Triggering, Destination: intOperatorDN]
------False
--------Annotate: *Debug placeholder*
----Increment intLoopCount
----Goto: QUEUE_LOOP
...logic...
Terminate
End
There are a lot of variations on this theme and most of them will work. Hopefully this will convey the general concepts.
10-28-2008 12:08 AM
Hi, is it for IPCC Enterprise or Express?
10-28-2008 05:18 AM
This answer assumes you are using UCCX.
There are a few ways to go about this; however, please understand that UCCX does not have a "press a key at any time" concept. We can emulate this functionality but you will receive the best experience by asking the caller to "press 0 now for an operator" (aka. giving them a explicit request to perform the action instead of leaving it open-ended.)
Options:
1) Add a menu step with a DTMF 0 branch. Allow zero retries to prevent the system from asking "Are you still there?"
2) Add a Get Digit String followed by a If var == 0 statement
If you want to emulate the "at any time" concept, you have two ways of doing it:
1) Add one or more WAV files containing hold music in addition to your prompt. Do not place the call on hold and simply loop through this. This will make the Menu or Get Digit String step [almost] always active and listening for DTMF input.
2) Set all steps within the queued loop not to clear the DTMF input buffer. This should allow the DTMF 0 key press to be picked up by the Menu or Get Digit String step when it is next executed.
Here's how I would do it. For the sake of brevity and remaining on-topic, I've left all of the other script best-practices out of this example. You should still add them... this is just an example. :)
Start
Accept
...script logic...
Select Resource
--Selected
--Queued
----Label: QUEUE_LOOP
----If intLoopCount > 0
------True
--------Menu [Retries: 0, Prompt: P[prompt.wav]]
"All of our representatives are currently assisting other callers. Your call is important to us and will be answered in the order it was received. If you prefer to speak with our operator, press zero now; otherwise, please continue to hold."
----------0 - Operator
------------Dequeue from csqID1
------------Redirect call [Contact: Triggering, Destination: intOperatorDN]
------False
--------Annotate: *Debug placeholder*
----Hold
----Delay: X seconds
----Unhold
----Increment intLoopCount
----Goto: QUEUE_LOOP
...logic...
Terminate
End
If you wanted to do the "at any time" concept, you would need to modify it similar to this:
Start
Accept
...script logic...
Select Resource
--Selected
--Queued
----Label: QUEUE_LOOP
----If intLoopCount > 0
------True
--------Menu [Retries: 0, Prompt: (P[prompt.wav] + P[music1.wav]]
"All of our representatives are currently assisting other callers. Your call is important to us and will be answered in the order it was received. If you prefer to speak with our operator, press zero now; otherwise, please continue to hold."
The music1.wav file will be concatenated after your verbiage. This will keep the Menu step active most of the time.
----------0 - Operator
------------Dequeue from csqID1
------------Redirect call [Contact: Triggering, Destination: intOperatorDN]
------False
--------Annotate: *Debug placeholder*
----Increment intLoopCount
----Goto: QUEUE_LOOP
...logic...
Terminate
End
There are a lot of variations on this theme and most of them will work. Hopefully this will convey the general concepts.
10-28-2008 10:04 AM
Thanks so much for your reply. I believe that is what I was looking for. I wil try this today.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide