IPCC Transfer to operator while queued

Answered Question
Oct 27th, 2008

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

I have this problem too.
0 votes
Correct Answer by Jonathan Schulenberg about 8 years 1 month ago

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.

Correct Answer by Md. Mijanur Rahman about 8 years 1 month ago

Hi, is it for IPCC Enterprise or Express?

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (3 ratings)
Loading.
Correct Answer
Jonathan Schulenberg Tue, 10/28/2008 - 05:18

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.

redesfusionet Tue, 10/28/2008 - 10:04

Thanks so much for your reply. I believe that is what I was looking for. I wil try this today.

Actions

This Discussion