Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

Efficient MOH Queue Logic

Hi -

I've attached a screen shot of my MOH queue logic and the specific script aef file.

I'm sure there is a more effective way of accomplishing the following MOH queue requirements:

1. Callers stay in MOH queue for 6 1/2 minutes before being dead-ended into voicemail.

2. While listening to MOH, callers should have the ability to interupt the MOH wav file and leave a voice mail.

With my current design, I've repeated the MENU object 3 times and increased the hold times to equal to 6 1/2 minutes. Is there a way I can use just 1 MENU object and keep reusing it for the 6 1/2 minute period ?

In my current design, the only time a caller can actually Press 1 To leave a voice mail is when the MENU object is playing the PROMPT file announcing to the caller that they may leave a voice mail by pressing 1. The problem with that is when the caller is listening to MOH and choose to select 1 to leave a voice mail - the MOH wav file just continues to play until the next MENU object PROMPT.



VIP Super Bronze

Re: Efficient MOH Queue Logic

Yes but you will need to use the Get Digit String if you want an "at any time concept". CCX has no feature allowing you to interrupt a Call Hold step.

To achieve this you will need to upload a WAV file to the Prompt Repository equal to the length of time you want the caller to hear music. As with all other prompts, this must be in the appropriate CODEC.

Next, you need to build a concatinated prompt that pieces together what you want them to hear and then repeated the appropriate number of times. You can do this with a Create Container Prompt; or, by manually configuring them within the Get Digit String Prompt parameter.

Example: P[speech.wav] + P[music.wav] + P[speech.wav] + P[music.wav

Other parameters to set on the Get Digit String step:

-Barge In = Yes.

-Initial Timeout, Interdigit timeout = Minimum

-Maximum retries = zero

-Flush Input Buffer = Yes

-Input length = 1 (most likely; you decide)

-Digits filter = you decide what you want to allow

-Terminating and cancel digit = None (or user can bypass all of this).

Within the Success branch you can either evaluate the resulting string variable to match a specific value; or, if you don't care what they pressed, just perform whatever logic you wish.

Below the Get Digit String step, you can keep your existing Call Redirect step to provide final treatment.

One thing to note: It is critical that you Dequeue the contact from the CSQ prior to transferring, redirecting, or otherwise leaving the Queued branch of the Select Resource step. Failing to do this will result in stuck calls within the database and other undesirable behavior. Add a Dequeue step prior to your Call Redirect.

Please remember to rate helpful responses and identify helpful or