×
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Contact US

Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Scripting Help

Scripting Help

Scripting Help

(OP)
Hello. I'm looking to clarify whether some of my scripts would cause a closed message to play during business hours when all agents are busy on active calls. I had someone report that this happened recently and what we need to happen is for the caller to get queued and hear music until an agent becomes available. See script below:

IF TIME OF DAY <> 7:00..16:30 THEN
EXECUTE Closed

END IF

IF OUT OF SERVICE ABC_Billing THEN
EXECUTE Closed
END IF

IF NOT OUT OF SERVICE ABC_Billing THEN
QUEUE TO SKILLSET ABC_Billing WITH PRIORITY 1
WAIT 2
ELSE
EXECUTE Closed

END IF

GIVE IVR 7035 WITH TREATMENT 12345

GIVE MUSIC 1

IF NOT OUT OF SERVICE ABC_Billing THEN

ELSE
EXECUTE Closed
END IF

WAIT 90

GIVE IVR 7035 WITH TREATMENT 123456

SECTION First_Loop

IF NOT QUEUED THEN
IF NOT OUT OF SERVICE ABC_Billing THEN
QUEUE TO SKILLSET ABC_Billing WITH PRIORITY priority_cv
WAIT 2
ELSE
EXECUTE Closed
END IF
END IF

WAIT 6

EXECUTE First_Loop

SECTION Closed

ROUTE CALL 7247

Any feedback is appreciated
Thanks

RE: Scripting Help

You could remove

IF OUT OF SERVICE ABC_Billing THEN
EXECUTE Closed
END IF


as its taken care of in the bit that follows.

This bits not right

GIVE MUSIC 1

IF NOT OUT OF SERVICE ABC_Billing THEN
<--then what?

ELSE
EXECUTE Closed
END IF


and queue bit is not right if the call is queued then it will play closed

SECTION First_Loop

IF NOT QUEUED THEN
IF NOT OUT OF SERVICE ABC_Billing THEN
QUEUE TO SKILLSET ABC_Billing WITH PRIORITY priority_cv
WAIT 2
ELSE
EXECUTE Closed
END IF
END IF


Would alter to:

IF NOT QUEUED THEN QUEUE TO SKILLSET ABC_Billing WITH PRIORITY priority_cv
END IF

IF OUT OF SERVICE SKILLSET ABC_Billing EXECUTE Closed
END IF



RE: Scripting Help

also ABC_Billing is a Skillset so always

IF NOT OUT OF SERVICE SKILLSET ABC_Billing

RE: Scripting Help

(OP)
How's this bignose21:
IF TIME OF DAY <> 7:00..16:30 THEN
EXECUTE Closed

END IF

IF NOT OUT OF SERVICE SKILLSET ABC_Billing THEN
QUEUE TO SKILLSET ABC_Billing WITH PRIORITY 1
WAIT 2
ELSE
EXECUTE Closed

END IF

GIVE IVR 7035 WITH TREATMENT 12345

GIVE MUSIC 1

IF NOT OUT OF SERVICE SKILLSET ABC_Billing THEN
QUEUE TO SKILLSET ABC_Billing

ELSE
EXECUTE Closed
END IF

WAIT 90

GIVE IVR 7035 WITH TREATMENT 123456

SECTION First_Loop

IF NOT QUEUED THEN QUEUE TO SKILLSET ABC_Billing WITH PRIORITY priority_cv
END IF

IF OUT OF SERVICE SKILLSET ABC_Billing EXECUTE Closed
END IF

WAIT 6

EXECUTE First_Loop

SECTION Closed

ROUTE CALL 7247

RE: Scripting Help

Are the IVR messages just "all agents are busy blah"? if so you might want to make them interruptible and no need to queue again after the IVR so could be something like:

IF TIME OF DAY <> 7:00..16:30 THEN
EXECUTE Closed

END IF

IF NOT OUT OF SERVICE SKILLSET ABC_Billing THEN
QUEUE TO SKILLSET ABC_Billing WITH PRIORITY 1
WAIT 2
ELSE
EXECUTE Closed
END IF

GIVE IVR interruptible 7035 WITH TREATMENT 12345

GIVE MUSIC 1
WAIT 90

GIVE IVR interruptible 7035 WITH TREATMENT 123456

SECTION First_Loop

IF NOT QUEUED THEN QUEUE TO SKILLSET ABC_Billing WITH PRIORITY priority_cv <-- also why are you using variable here when earlier you set this to priority 1?
END IF

IF OUT OF SERVICE SKILLSET ABC_Billing EXECUTE Closed
END IF

WAIT 6

EXECUTE First_Loop

SECTION Closed

ROUTE CALL 7247

RE: Scripting Help

when you activate it you will probably get complaint as there is no escape from the Loop but its only an info should still go into service

RE: Scripting Help

If you wanted to not have a never ending loop you could do something like, also you give a message after 90 secs then queue forever with no messages, think I need to stop answering questions late at night as you were correct with the wording earlier with respect to OUT OF SERVICE:

IF TIME OF DAY <> 7:00..16:30 THEN
EXECUTE Closed
END IF

IF NOT OUT OF SERVICE ABC_Billing THEN
QUEUE TO SKILLSET ABC_Billing WITH PRIORITY 1
WAIT 2
ELSE
EXECUTE Closed
END IF

GIVE IVR interruptible 7035 WITH TREATMENT 12345

SECTION First_Loop
IF AGE OF CALL > 120 THEN EXECUTE Closed <--Escape after 2 mins

IF NOT OUT OF SERVICE ABC_Billing THEN
IF NOT QUEUED THEN
QUEUE TO SKILLSET ABC_Billing WITH PRIORITY 1
WAIT 2
END IF
ELSE
EXECUTE Closed
END IF

GIVE MUSIC 1
WAIT 30 <--Shortened this so get message every 30 secs

GIVE IVR interruptible 7035 WITH TREATMENT 123456

EXECUTE First_Loop

SECTION Closed
ROUTE CALL 7247

RE: Scripting Help

(OP)
Thanks for all your feedback on this bignose21. To answer your questions, yes the hold messages are just generic " all agents are busy etc...".

Does this mean after 2 minutes they get sent to the closed route?
SECTION First_Loop
IF AGE OF CALL > 120 THEN EXECUTE Closed <--Escape after 2 mins.
Ideally they will hear the hold treatments like 3 times with music in between and then just music until answered.

I was going to ask about that priority variable. It's used in other scripts and when I looked at how it was configured it's set to 2. I don't understand how that works exactly. Is PRIORITY 1 in the script looking for only agents set to priority 1? If that variable is set to 2, is that only looking for agents with priority 2? I'm not sure I like that because some call centers don't have multiple priorities and some change more often and have more than just priority 1 and 2. Do those statements need to be left out? I'd like the settings in the agents CCM profile to determine priority not the script, if that makes sense.

Looking at your examples above, which would be most suited for my scenario.

Thanks in advance

RE: Scripting Help

(OP)
I tried to activate the following script based on your example and it won't save. See below. There was also an information error but I forget where. Does the spacing and indents matter in the script? Any other issues you see?
GIVE RINGBACK

IF (DAY OF WEEK <> Bus_Days_gv) OR
(TIME OF DAY <> 7:00..16:30) THEN
EXECUTE Closed

END IF

IF NOT OUT OF SERVICE Membership_sks THEN
QUEUE TO SKILLSET Membership_sks
WAIT 2
ELSE
EXECUTE Closed

END IF

GIVE IVR interruptible 7035 WITH TREATMENT 8102

GIVE MUSIC 1
WAIT 90

GIVE IVR interruptible 7035 WITH TREATMENT 8107

SECTION First_Loop

IF NOT QUEUED THEN QUEUE TO SKILLSET Membership_sks <------------This line gives me an error and won't let me save
END IF

IF OUT OF SERVICE SKILLSET Membership_sks EXECUTE Closed
END IF

WAIT 6

EXECUTE First_Loop

SECTION Closed

ROUTE CALL 8106

RE: Scripting Help

You could drop the line as it is already queued or just alter the loop section to:

SECTION First_Loop

IF NOT OUT OF SERVICE Membership_sks THEN
IF NOT QUEUED THEN
QUEUE TO SKILLSET Membership_sks WITH PRIORITY 1
WAIT 2
END IF
ELSE
EXECUTE Closed
END IF

WAIT 6
EXECUTE First_Loop

RE: Scripting Help

(OP)
That worked, thanks again for all your help! I activated the script above and altered the loop section like you suggested. In the new script there's a mention of PRIORITY 1, only one time in that loop section at the end. What exactly does that mean? Previously PRIORITY was listed multiple times and at one point it had a variable "priority_cv", which I found to be set at 2. Does this override priorities set in CCM profiles? Also my last annoying question...what's with the indents and spacing in scripts? Do they have any relevance?

RE: Scripting Help

Indents and Spacing also using rem statements are mainly for easy reading. An example might be at the start of your script something like:

/*
Title : Membership_script
Author : Me
Created : 24-07-2018
CDN : 1234
DDI : 1-123-1234
Toll Free : 1-800-1234
Modified :
Modified By :
Comments :
*/

or to put titles on sections:
/**********************QUEUE LOOP******************/

You could write a script in one big line but it would not make easy reading, should write scripts bearing in mind that some else will follow you and have to work out whats going on.

For the Priority its a bit irrelevant as you are applying same priority to all calls, you could have a Skillset that handled calls and a different group of VIP customers were treated to a higher priority based on their CLID, DNIS, CDN they dialed in on, etc.

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login


Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close