Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chris Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Scripting Help 1

Status
Not open for further replies.

TelecomTech34

Vendor
Jan 20, 2012
126
US
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
 
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



 
also ABC_Billing is a Skillset so always

IF NOT OUT OF SERVICE SKILLSET ABC_Billing
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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?
 
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.

 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top